Я использую fullcalendar версии 4 и добавил пользовательскую кнопку для «обновления» календаря текущей информацией/событиями.
Вот моя кнопка:
customButtons: {
myReloadButton: {
text: 'refresh',
click: function() {
calendar.refetchEvents();
calendar_mini.refetchEvents();
}
}
У меня есть два календаря, которые я хочу обновить, как видите. Он работает нормально, но я заметил проблему. Когда я создаю новое событие, оно добавляется в календарь, как и должно быть. Однако, если пользователь нажимает кнопку «Обновить» сразу после этого, только что добавленное событие отображается дважды после повторной загрузки событий. Кажется, что недавно добавленное событие никогда не удалялось во время обновления.
У меня есть модальная форма, которая открывается для сбора информации о событии. Как только событие сохранено, вот как я его сохраняю (через вызов ajax). В случае успеха ajax я добавляю событие в свой календарь с помощью .addEvent().
var location_id = $('#formEventModal #location_id').val();
var saw_by_id= $('#formEventModal #saw_by_id').val();
$.ajax({
url: "ajax_insert.php?table=appointments",
dataType: 'json',
type: "POST",
data: $('#appointmentForm').find(':input').not('.dont_serialize').serialize(),
success: function(response) {
if (response.success) {
//get the inserted id of the appt just added so it can be updated on the stop if needed.
var lastInsertID = response.lastInsertID;
var event_object = {
id: lastInsertID,
location_id: location_id,
resourceId: saw_by_id,
};
calendar.addEvent(event_object);
calendar_mini.addEvent(event_object);
Почему кнопка обновления не удаляет недавно добавленные события?