createTimelineView
настраивает Timeline view в планировщике
void createTimelineView(object config);
config | object | объект конфигурации для 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"
});
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",
...
});
Наверх