Динамическое добавление событий в полный календарь в компоненте Ember

#ember.js #fullcalendar

#ember.js #полный календарь

Вопрос:

Я успешно включил плагин полного календаря в компонент ember, и я могу отображать данные о событиях, которые изначально предоставляются контроллером. Мне интересно, можно ли добавлять события в календарь на основе действий пользователя. До сих пор мои попытки были безуспешными.

Вот ячейка, которая повторяет мою текущую ситуацию -> JS Bin

Вы можете видеть в корзине, что когда пользователь нажимает кнопку, новый объект события успешно помещается в массив событий, который заполняет календарь. Теперь, как я могу обновить календарь, чтобы отразить это новое событие? Я пытался addEventSource и refetchEvents безрезультатно.

РЕДАКТИРОВАТЬ для ясности: функциональная реализация в предоставленном jsbin добавляет событие, но оно не отображается в календаре, пока пользователь не перейдет к другому месяцу, а затем вернется к месяцу, в котором было добавлено событие. Я пытаюсь отобразить событие в календаре сразу после его добавления.

Ответ №1:

Пожалуйста, ознакомьтесь с документацией для FullCalendar: http://arshaw.com/fullcalendar/docs/event_rendering/renderEvent /

Вам нужно сделать .fullCalendar('renderEvent', this.get('events'), true); , чтобы фактически отображать дополнения.

Вы также можете рассмотреть возможность использования Ember.События компонента, чтобы четко обрабатывать то, что происходит, когда ваш плагин jQuery принимает элемент.

Вы также должны использовать this.$, чтобы ограничить элементы, из которых вы можете выбирать, чтобы ограничить то, что вы получаете внутри вашего компонента.

Ответ №2:

@kakigoori предоставил правильную команду для использования, однако необходимо передать добавляемое событие, а не полный набор событий, которые вызывали нежелательные побочные эффекты.

Я обновил JSBin, чтобы показать рабочий пример желаемой функциональности, который можно найти ниже.

Решение —> JS Bin