Я использую метод updateEvent
для обновления события "на лету" в режиме недели.
$('#calendar').fullCalendar( 'updateEvent', event);
Он отлично работает. Если я обновляю дату события (он отлично перемещается по всем слотам allDay). Но если я изменяю время начала и окончания существующего события, я не вижу это событие после updateEvent
(что означает, что обновленное событие исчезло)
Я вижу объект события в консоли
start: Object, end: null, // For the old event. Object is moment, converted by fullcalendar
start: '2017-02-14T07:00:00', end: '2017-02-14T08:00:00' // Updated date and time
Итак, я четко определяю дату и время. Я понятия не имею, почему он не работает. Любое предложение?
Я решил проблему.
Я попытался удалить старое событие с помощью removeEvents
и создал новое событие, вызвав renderEvents
. Еще одна проблема.
Затем я попытался удалить все свойства, начинающиеся с _
из объекта события, и он работал, когда я удалил source
объект из fullcalendar's
.
source
документа автоматически заполняется, и это ссылка на источник события, из которого это событие исходило.
Так что, когда мы обновляем событие, мы должны удалить source
свойство события, иначе оно все равно может относиться к старому.
Вот мой код.
$('.calendar').fullCalendar('removeEvents', oldEvent._id);
delete oldEvent._id;
delete oldEvent._allDay;
delete oldEvent._start;
delete oldEvent._end;
delete oldEvent.source;
$('.calendar').fullCalendar('renderEvent', oldEvent, true);