LINUX.ORG.RU

Отключить сортировку событий в FullCalendar

 , ,


0

1

Всем привет.

Хочу отсортировать события в fullcalendar (v1.6.4) по некоторому параметру (весу). Провожу сртировку - все ок, однако при рендеринге, сам календарь отсортировывает события в алфавитом порядке по ключу «title»(!

Как переопределить или отключить дефолтную сортировку в fullcalendar, чтобы иметь возможность сортировать события по своим правилам?

var Organizer = (function() {

    var date = new Date();
    var d = date.getDate();
    var m = date.getMonth();
    var y = date.getFullYear();

    var events = [];

    return {

        init: function() {
            this.createEvents();
            this.setCalendarSettings(false);
        },

        setCalendarSettings: function(editable) {

            $("#calendar").fullCalendar({
                editable: editable,
                header: {
                    left:   "prevYear, nextYear",
                    center: "title",
                    right:  "today, prev,next, "
                },
                monthNames: ['Январь','Февраль','Март','Апрель','Май','Июнь','Июль','Август','Сентябрь','Октябрь','Ноябрь','Декабрь'],
                monthNamesShort: ['Янв.','Фев.','Март','Апр.','Май','Июнь','Июль','Авг.','Сент.','Окт.','Ноя.','Дек.'],
                dayNames: ["Воскресенье","Понедельник","Вторник","Среда","Четверг","Пятница","Суббота"],
                dayNamesShort: ["ВС","ПН","ВТ","СР","ЧТ","ПТ","СБ"],
                buttonText: {
                    today: "Сегодня",
                    month: "Месяц",
                    week: "Неделя",
                    day: "День"
                },
                events: this.renderEvents()
            });

        },

        renderEvents: function() {
            var tmp_events = events.sort(function(a, b) {
                return a.weight == b.weight ? a > b : a.weight > b.weight;
            });
            return tmp_events;
        },

        createEvents: function() {
            ...
            events.push({ title: title_n, start: new Date(2014, 04, 10), color: "#aa0000", weight: 1 });
            ...
        },

    }
})();

Разобрался.

За сортировку в fullcalendar (1.6.4) отвечает функция compareDaySegments(a, b). После коментирования всего тела функции, можно сортировать по произвольному пользовательскому ключу. ЧТД).

djnoob
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.