Я играю с полным календарем и получаю события из базы данных. Когда он первоначально отображает их, он проверяет, были ли они сохранены как событие на весь день или нет, и устанавливает allDay в значение true или false в зависимости от результата.
Это работает отлично, но когда новое событие добавляется в календарь, предполагается, что все события будут повторно извлечены, а затем повторно отображены, чтобы они не отображались по умолчанию на все дневные события. Однако, хотя повторная выборка вызывается, повторная визуализация в строке после нее - нет. Однако, если я вызываю строку rerender в своей консоли браузера, она полностью меняет их все так, как они должны быть.
Итак, я предполагаю, что мой вопрос в том, почему fullcalendar повторно загружает события, но игнорирует повторный рендеринг? и есть ли обходной путь для этого?
Спасибо заранее. Мой код:
Первоначальный рендеринг событий:
editable: true,
events: "json-events-log.php",
eventRender: function(event, element) {
if (event.event_type_id==2) {
element.addClass("red-event");
} else if (event.event_type_id==3) {
element.addClass("blue-event");
} else {
element.addClass("green-event");
}
if(event.all_day == 0){
event.allDay = false;
} else {
event.allDay = true;
}
}
И функция успеха, которая вызывается после успешной публикации события через AJAX:
$.ajax({
type: 'POST',
url: "new_event.php",
data: ajaxData,
success: function(data) {
if (data.moved==true) {
alert('success');
$("#calendar").fullCalendar("refetchEvents");
$("#calendar").fullCalendar("rerenderEvents");
$("#updatingCal").addClass("hiddenUpdate");
if ($('#drop-remove').is(':checked')) {
$(this).remove();
}
} else {
$("#updatingCal").addClass("hiddenUpdate");
console.log('fail');
}
},
dataType: "json"
});