Перейти к основному содержимому

createTimelineView

к сведению

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

Description

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

createTimelineView: (config: any) => void

Parameters

  • config - (required) object - объект конфигурации Timeline-вида

Example

// шкала времени с 8:00 до 20:00 с шагом 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 view

Details

примечание

Метод требует активации плагина timeline.

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

  • name - (string) идентификатор вида. Если вы укажете имя уже существующего Timeline-вида, он будет перезаписан
  • render - ('cell', 'bar', 'tree', 'days') режим отображения вида. По умолчанию - 'cell'
  • y_property - (string) имя свойства данных, которое будет использоваться для распределения событий по разделам
  • y_unit - (array of objects) определяет разделы вида. Каждый объект в массиве задает один раздел и имеет следующие свойства:
    • children - (array) массив вложенных объектов (только для режима 'Tree')
    • key - (string) идентификатор раздела. Это свойство сравнивается со свойством данных события для присвоения события разделу
    • label - (string) подпись раздела
    • open - (boolean) задает, будет ли раздел открыт по умолчанию (только для режима 'Tree')
  • days - (number) количество элементов (дней) на оси Y. Применимо только к режиму 'Days'
  • x_unit - (minute, hour, day, week, month, year) единица измерения оси X. По умолчанию - 'minute'
  • x_date - (string) формат даты оси X-Axis. Если не указано, используется формат 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_unit='minute' или x_unit='hour' и вы не указываете x_length, ось X будет отображать интервал времени (а не весь день, как обычно), указанной оставшимися параметрами масштаба (x_start, x_step, x_size). Это позволяет разделить день на равные временные интервалы и прокручивать их кнопкой "далее".
    • Если x_unit='minute' или x_unit='hour' и вы решите задать этот параметр, установите его на весь день (то есть x_length должно быть равно количеству x_steps, необходимых для заполнения всего дня), чтобы обеспечить корректную работу кнопки '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, высота ячеек будет равна dy, иначе высота ячеек будет увеличиваться, чтобы заполнить все свободное пространство). По умолчанию 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) следует установить в true, если нужно иметь возможность задавать события не только для отдельного держателя, но и для всей папки (любого уровня). Применимо к режиму 'Tree' только. По умолчанию false
  • folder_dy - (number) высота папок в пикселях (папки — разделы, имеющие дочерние разделы). Применимо к режиму 'Tree' только
  • second_scale - (object) добавляет второй X-Axis поверх базового и служит для группировки временных интервалов на исходной шкале. Опционально. Доступно с версии 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) минимальная ширина столбцов даты Timeline, по умолчанию 100
  • scroll_position - (Date) отображает Timeline прокрученным к конкретной позиции, принимает те же аргументы, что и timeline.scrollTo(), то есть дату, к которой нужно прокрутить Timeline после рендеринга
  • autoscroll - (object) позволяет настроить чувствительность и скорость автопрокрутки. Объект autoscroll имеет следующие свойства:
    • range_x - (number) горизонтальная дальность автопрокрутки от края области данных
    • range_y - (number) вертикальная дальность автопрокрутки от края области данных
    • speed_x - (number) скорость горизонтальной автопроскрутки
    • speed_y - (number) скорость вертикальной автопроскрутки
  • cell_template - (boolean) включает рендеринг шаблона, заданного для Timeline
  • smart_rendering - (boolean) включает умное рендеринг-функциональность в Timeline (позволяет рендерить только строки, столбцы и события, видимые на экране, остальные элементы рендерятся во время прокрутки Timeline). Обратите внимание, что в scrollable timeline этот параметр включён по умолчанию.
  • columns - (array) список столбцов для левой панели. Если не указаны, для содержания панели будет использоваться шаблон timeline_scale_label.

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

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

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

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

scheduler.createTimelineView({
name: "timeline",
...
});
Need help?
Got a question about the documentation? Reach out to our technical support team for help and guidance. For custom component solutions, visit the Services page.