Ваш запрос должен будет напрямую исправить полный календарный код.Это обязательно, потому что fullcalendar не предоставляет эту функцию для внешнего мира.
Я проверил свой ответ с версией 1.4.11, но, глядя на ветку 1.5 на github, видно, что она должна быть такой же.
Патчируемая функция: segCmp
, (находится в src/util.js
для исходной версии или просто в конце файла в fullcalendar.js)
Исходная версия:
function segCmp(a, b) {
return (b.msLength - a.msLength) * 100 + (a.event.start - b.event.start);
}
Исправленная версия должна выглядеть следующим образом:
function segCmp(a, b) {
var activeDiff = ((b.event.IsActive || false) - (a.event.IsActive || false));
if (activeDiff != 0) return activeDiff;
return (b.msLength - a.msLength) * 100 + (a.event.start - b.event.start);
}
Я просто проверяю, имеют ли события другое состояние IsActive, и возвращаю diff, если не сохраняется diff, предыдущий алгоритм не сохраняется,(Обратите внимание, что b - diff, потому что вы хотите, чтобы IsActive: true ПЕРЕД IsActive: false)
Обратите внимание, что segCmp
вызывается при разделении / упорядочении событий и, следовательно, будет применяться во всех представлениях.С уважением,
Паскаль