Если вы предоставите функцию для eventOrder
, то, как eventOrder docs , который вы связали с состоянием, она принимает два входных параметра (два события, которые необходимо сравнить иотсортировано), и вам также говорят, что он должен вернуть либо -1
, 0
, либо 1
в результате сравнения - как указание того, какой из двух входных элементов должен быть помещен первым.
Если первое событие должно быть первым в списке, вернуть -1.Если обратное, то верните 1, если они равны, тогда верните 0. Логика в нем должна быть очень похожа на пример кода, предоставленный в документации для встроенной функции сортировки массива JS - см. Здесь: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort#Description
Ваша логика в настоящий момент будет просто возвращать значение "sort" для любого события, которое произойдет первым в несортированном списке.Это не делает никакого вида сравнения вообще, и также не предоставляет полный диапазон возможных значений, ожидаемых вызывающим кодом (т.е. вы только когда-либо возвращаете 0 или 1, никогда -1 - но даже если вы сделали это,не обязательно имеет смысл).
Функцией рабочего сравнения будет:
eventOrder: function(a, b) {
var result = 0;
if (a.miscProps.sort < b.miscProps.sort) result = -1; //event a should be listed first
else if (a.miscProps.sort > b.miscProps.sort) result = 1; //event b should be listed first
return result;
},
Демонстрация: http://jsfiddle.net/c9upo8w2/1/
Но ... на самом деле вам не нужнонасколько я вижу, напишите пользовательскую функцию для этого, потому что вы упорядочиваете по прямой возрастающей последовательности чисел только в поле «сортировка».Там нет сложных расчетов, которые будут сделаны.Указание поля, в котором будет производиться сортировка, будет отлично работать - остальное сделает fullCalendar.Опять же, в документации, которую вы связали, вы заявляете, что если вы укажете имя поля в качестве опции «eventOrder», то оно будет сортировать (в противном случае равно) события в порядке возрастания по этому полю.Итак:
eventOrder: "sort"
- это единственное, что вам нужно написать.
Демонстрация: http://jsfiddle.net/c9upo8w2/
PS.Приведенное выше не очень полезно, потому что они все равно в разные дни, поэтому пользовательская сортировка не будет применяться.Очевидно, что в этом случае я легко смог изменить его, чтобы создать демки, но было бы более разумно привести пример, который на самом деле воспроизводит проблему: -)