События страницы планировщика KendoUI по времени

Мы используем Kendo Scheduler для отображения заказов в залах заседаний. Существует большое количество исторических данных, которые не требуются при загрузке планировщика, но пользователь может легко просматривать. Из-за этого эти исторические события не нужно загружать, пока планировщик не перейдет к их временному интервалу.

Есть ли способ реализовать пейджинг / фильтрацию по выбранному временному интервалу? Моим первым предположением было бы реализовать собственный транспорт и запросить у сервера правильное подмножество бронирований, но метод "read" вызывается только один раз, а свойства представления не предоставляются. Каков будет рекомендуемый способ сделать это?

У меня есть две проблемы:

  1. Когда я загружаю новые данные (событие, переопределение метода и т. Д.)
  2. Как получить видимый диапазон времени (параметр, свойство планировщика и т. Д.)

2 ответа

Решение

Вот как мы это реализовали:

  1. Мы подключились к событию "навигация" планировщика, где мы устанавливаем временные рамки для загрузки (например, текущее время, длительность просмотра)
  2. Мы реализовали пользовательский транспорт, который запрашивает только события в настройке таймфрейма в 1)
  3. Мы вызываем dataSource.read, когда происходит событие навигации

Поскольку мы используем AngularJS, все это делается через объект конфигурации, и настройка таймфрейма является глобальной для области действия контроллера, содержащего планировщик.

Создайте свой собственный источник данных для виджета, затем установите его

var dataSource = new kendo.data.SchedulerDataSource();
for (var i = 0; i < 7; i++) {
    dataSource.add({
        id: i,  // Sunday = 0
        start: date_start,
        end: date_end,
        title: title,
        isAllDay: isAllDay,
     });
}
var scheduler = $("#schedule").data("kendoScheduler");
scheduler.setDataSource(dataSource);
Другие вопросы по тегам