Как изменить ресурс (ы) событий - PullRequest
2 голосов
/ 23 марта 2019

Обработка ресурса изменилась в FullCalender 4.0.

В FullCalendar 3.x я изменил ресурс события с помощью:

event.resourceId = newResourceId;

В FullCalendar 4.0 я не могу найти правильный путь... Мой текущий код:

var calendar_event = calendar.getEventById(data.event.id)
if (calendar_event) {
  calendar_event.setProp('title', data.event.title)
  calendar_event.setProp('resourceIds', [data.event.resourceId])
}

setProp, кажется, не правильный метод, так как впоследствии событие не отражает изменения в сетке, только название было изменено на новое.

Установщик на getResources(), например, setResources() не существует.

Официальная документация на https://fullcalendar.io/docs/resource-data включает только выборку ресурсов, а не программную установку нового.к существующему событию.

В руководстве по миграции https://fullcalendar.io/docs/upgrading-from-v3 упоминаются только методы setProp, setExtendedProp, setStart, setEnd, setDates, setAllDay, moveStart, moveEnd, moveDates для замены updateEvent - ресурсы отсутствуют.

Мой текущий обходной путь - снова удалить и добавить событие:

calendar.getEventById(data.event.id).remove()
calendar.addEvent(data.event)

Как переместитьсобытие на другой ресурс без загрузки и инициализации всего события во второй раз?

1 Ответ

1 голос
/ 03 апреля 2019

Редактирование ресурсов события было добавлено в версии 4.0.2 .

Документация описывает использование следующим образом:

По ID:

var event = calendar.getEventById('1');
event.setResources([ 'a' ]); // set a single resource
event.setResources([ 'a', 'b' ]); // set multiple

По ресурсам:

var resourceA = calendar.getResourceById('a');
var resourceB = calendar.getResourceById('b');

var event = calendar.getEventById('1');
event.setResources([ resourceA, resourceB ]);
...