Będziesz je musiał gdzieś przechowywać, więc zapisujesz je np w bazie i wczytujesz do takiego kalendarza. Możesz zrobić osobny widok do ich dodawania i napisać obsługę w PHP np.
Możesz ew pobawić się ajaxem i spróbować zrobić to tak jak w google calendar.
Kiedy tworzyłem kalendarz do swojej aplikacji, to też przyglądałem się temu, który przedstawiłeś, ale nie odpowiadał mi on w 100%, więc napisałem skrypt do generowania JSONa z kalendarzem:
http://blog.webmtk.pl/2017/05/15/angular2-terminarz-cz-1/
Mój skrypt jest prosty w działaniu, możesz śmiało korzystać.