createTimelineView

настраивает Timeline view в планировщике

void createTimelineView(object config);
configobjectобъект конфигурации для Timeline view

Available only in PRO Edition

Example

// шкала времени с 8 утра до 8 вечера с интервалом в 30 минут
scheduler.createTimelineView({
    name: "timeline",
    x_unit: "minute",
    x_date: "%H:%i",
    x_step: 30,
    x_size: 24,
    x_start: 16,
    x_length: 48,
    fit_events_offset: 15,
    y_unit:[    
        {key:1, label:"Section A"},
        {key:2, label:"Section B"},
        {key:3, label:"Section C"},
        {key:4, label:"Section D"}  
    ],
    y_property: "section_id",
    render: "bar"
});

Applicable views:Вид "Timeline"

Related samples

Details

Эта функция доступна только в PRO-версии.

Для работы метода необходимо включить плагин timeline.

Объект конфигурации Timeline view поддерживает следующие свойства:

  • name - (string) идентификатор view. Если указать имя, совпадающее с существующим Timeline view, оно будет перезаписано
  • render - ('cell', 'bar', 'tree', 'days') режим отображения. По умолчанию 'cell'
  • y_property - (string) свойство данных, используемое для связывания событий с конкретными секциями
  • y_unit - (массив объектов) описывает секции в представлении.
    Каждый объект представляет секцию со следующими свойствами:
    • children - (массив) вложенные элементы, только для режима 'Tree'
    • key - (string) id секции, сопоставляется со свойством события для назначения событий
    • label - (string) отображаемая метка секции
    • open - (boolean) раскрыта ли секция изначально (для режима 'Tree')
  • days - (number) количество элементов (дней) по оси Y, актуально только для режима 'Days'
  • x_unit - (minute, hour, day, week, month, year) единица измерения по оси X. По умолчанию 'minute'
  • x_date - (string) формат даты по оси X (см. Спецификация формата даты). Если не задан, используется формат из hour_date
  • x_step - (number) шаг по оси X в единицах 'x_unit'. По умолчанию 1
  • x_start - (number) смещение по оси X в единицах 'x_unit'. По умолчанию 0
  • x_size - (number) общая длина оси X в количестве 'x_step'. По умолчанию 24
  • x_length - (number) количество 'x_step', на которое прокручивается таймлайн при нажатии кнопки 'next' в шапке планировщика. Опционально, по умолчанию 1. Этот параметр требует внимания:
    • Применяется только если x_unit='minute' или x_unit='hour'. Для других единиц можно опустить.
    • Без x_length для этих единиц таймлайн показывает часть дневного интервала, основанного на других параметрах шкалы (x_start, x_step, x_size), позволяя прокручивать сегменты дня.
    • Если x_length задан, он должен покрывать целый день (число x_step, составляющих день), чтобы кнопка 'next' работала корректно.
  • first_hour - (number) начальный час временного интервала в ячейке, используется только если x_unit="day"
  • last_hour - (number) конечный час временного интервала в ячейке, используется только если x_unit="day"
  • show_unassigned (boolean) если false, события без назначения на секцию не отображаются; если true, такие события показываются в первой секции. По умолчанию false. Опционально
  • section_autoheight - (boolean) включает автоматическую подгонку высоты ячеек. По умолчанию true
  • dy - (number) минимальная высота ячейки (если section_autoheight false, ячейки имеют фиксированную высоту; иначе высота расширяется под содержимое). По умолчанию 50
  • dx - (number) ширина колонки с названиями секций. По умолчанию 200
  • event_dy - (number/string) высота событий; может быть 'full' для заполнения всей ячейки. По умолчанию scheduler.xy.bar_height-5
  • event_min_dy - (number) минимальная высота события. По умолчанию scheduler.xy.bar_height-5
  • resize_events - (boolean) разрешает уменьшать высоту отдельных событий, чтобы уместить их в одну высоту события (не ниже event_min_dy). По умолчанию true
  • fit_events - (boolean) расширять ли высоту секции под все события или держать фиксированной (dy). Доступно с версии 3.0. По умолчанию true
  • fit_events_offset - (number) дополнительное пространство (в пикселях) под последним событием, применяется при fit_events true
  • round_position - (boolean) растягивает события на всю ширину ячейки вне зависимости от длительности. По умолчанию false. Применяется только в режимах 'Bar' и 'Tree'
  • folder_events_available - (boolean) разрешает назначать события целым папкам (на любом уровне), а не только отдельным холдерам. Только для режима 'Tree'. По умолчанию false
  • folder_dy - (number) высота в пикселях для папок (секций, содержащих дочерние секции). Только для режима 'Tree'
  • second_scale - (object) добавляет вторую ось X над основной для группировки временных интервалов. Опционально. Доступно с версии 3.0.
    Объект содержит:
    • x_unit - (minute, hour, day, week, month, year) единица измерения. По умолчанию 'minute'
    • x_date - (string) формат даты (см. Спецификация формата даты). Если не задан, используется формат из hour_date
  • scrollable - (boolean) включает горизонтальный скроллинг в Timeline view; по умолчанию false. Если false или не задано, колонки дат сжимаются по ширине под размер окна. Если true, колонки не сжимаются меньше column_width, и появляется горизонтальный скроллбар при необходимости.
  • column_width - (number) минимальная ширина колонок с датами таймлайна; по умолчанию 100
  • scroll_position - (Date) прокручивает таймлайн к определённой дате после рендера; принимает те же аргументы, что и timeline.scrollTo()
  • autoscroll - (object) настраивает чувствительность и скорость автоскроллинга, со свойствами:
    • range_x - (number) горизонтальное расстояние автоскролла от краёв области данных
    • range_y - (number) вертикальное расстояние автоскролла от краёв области данных
    • speed_x - (number) скорость горизонтального автоскролла
    • speed_y - (number) скорость вертикального автоскролла
  • cell_template - (boolean) включает рендеринг кастомного шаблона для ячеек таймлайна
  • smart_rendering - (boolean) включает умный рендеринг, при котором рендерятся только видимые строки, колонки и события, остальные загружаются при скроллинге. По умолчанию включено для scrollable таймлайнов.
  • columns - (массив) задаёт колонки для левой панели. Если не указан, используется шаблон timeline_scale_label.

Динамическое изменение свойств

Все Timeline view хранятся в scheduler.matrix. Вы можете получить и изменить конфигурацию любого Timeline view по его имени. Изменения вступают в силу после перерисовки планировщика:

scheduler.getView('timeline').x_size = 12;
scheduler.setCurrentView(); // перерисовывает планировщик

Здесь "timeline" — это имя, заданное Timeline view в методе createTimelineView:

scheduler.createTimelineView({
    name:"timeline",
    ...
});
Наверх