Я использую FullCalendar (v3.9) для управления различными встречами. Когда я пытаюсь создать новые встречи, я должен проверить, не перекрываются ли какие-то с текущими, и удалить перекрывающиеся.
Все работает отлично, но производительность удаления перекрывающихся событий является проблемой и удаление массива событий не работает .
На данный момент я делаю это так (закомментированный код - это то, как я пытался удалить массив):
//var dupliElements = [];
var cEventsOnSameDay =
calendarElement.fullCalendar("clientEvents", function (cEvents) {
return events[i].end >= cEvents.start && events[i].start <= cEvents.end;
});
if (cEventsOnSameDay.length > 0) {
$.each(cEventsOnSameDay, function (key, cEventOnSameDay) {
var oEvent = cEventOnSameDay; //overlappingEvent
if (oEvent.editable) {
if (!oEvent.allDay) {
//events[i] is the current element i'm trying to add
if (oEvent.start <= events[i].start) events[i].start = oEvent.start;
if (oEvent.end >= events[i].end) events[i].end = oEvent.end;
} else {
events[i] = oEvent;
}
//dupliElements.push(oEvent);
calendarElement.fullCalendar("removeEvents", oEvent.id);
} else overlapError = true;
});
}
//calendarElement.fullCalendar('removeEventSources', dupliElements);
Это нормально работает, но очень медленно при удалении нескольких событий (например, 5 секунд для 30 событий ...). Как удалить массив событий?
Я везде искал решение, но ничего не нашел. Любая помощь будет очень признательна!