addLinkLayer
отображает дополнительный слой с пользовательскими элементами для ссылки в области временной шкалы
string addLinkLayer(LinkLayerRender | LinkLayerConfig func);
func | LinkLayerRender | LinkLayerConfig | функция рендеринга или объект конфигурации |
string | элемент DOM, который будет отображаться в слое |
Available only in PRO Edition
Example
gantt.attachEvent("onGanttReady", function () {
const link_types = ["FS", "SS", "FF", "SF"]
gantt.addLinkLayer(function (link) {
const node = gantt.getLinkNode(link.id);
if (node){
const el = document.createElement('div');
el.className = 'link_layer';
el.style.left = (node.childNodes[2].offsetLeft + 20) + 'px'
el.style.top = (node.childNodes[2].offsetTop - 6) + 'px'
el.innerHTML = link_types[link.type];
return el;
}
return false;
});
});
Details
Эта функциональность доступна только в редакции PRO.
Аргумент может иметь следующие типы:
linkLayerRender (link, timeline, config, viewport): HTMLElement|boolean|void - функция, принимающая объект ссылки в качестве параметра и должна возвращать элемент DOM, который будет отображаться в слое.
- link - (Link) - объект ссылки
- timeline? - (any) - необязательный, представление временной шкалы
- config? - (GanttConfigOptions) - необязательный, объект конфигурации Gantt
- viewport? - (LayerViewport) - необязательный, объект области просмотра
linkLayerConfig - (object) - объект конфигурации для дополнительного слоя ссылок. Имеет следующие свойства:
- id? - (string | number) - необязательный, ID слоя
- renderer - (object) - обязательный, функция, отвечающая за рендеринг элементов слоя
- render - (LinkLayerRender) - функция, возвращающая HTML-элемент, который должен быть отрендерен
- update? - (Function): void - необязательный, функция, в которой можно обновить отрендеренные HTML-элементы
- link - (Link) - объект ссылки
- node - (HTMLElement) - контейнер отрендеренного узла
- timeline? - (any) - необязательный, представление временной шкалы
- config? - (GanttConfigOptions) - необязательный, объект конфигурации Gantt
- viewport? - (LayerViewport) - необязательный, объект области просмотра
- onrender? - (Function): void - необязательный, эта функция вызывается после завершения рендеринга. Вы можете использовать ее для рендеринга нативных компонентов (например, с использованием метода
ReactDOM.render
)
- link - (Link) - объект ссылки
- node - (HTMLElement) - контейнер отрендеренного узла
- view? - (any) - необязательный, ячейка макета, в которую добавляется слой (временная шкала по умолчанию)
- getRectangle? - (Function): { left: number, top: number, height: number, width: number } | void - необязательный, функция, возвращающая координаты прямоугольника области просмотра
- link - (Link) - объект ссылки
- view? - (any) - необязательный, ячейка макета, в которую добавляется слой (временная шкала по умолчанию)
- config? - (GanttConfigOptions) - необязательный, объект конфигурации Gantt
- gantt? - (GanttStatic) - необязательный, объект Gantt
- getVisibleRange - (Function): {start: number, end: number} | undefined | void - функция, возвращающая объект с видимым диапазоном
- gantt? - (GanttStatic) - необязательный, объект Gantt
- view? - (any) - необязательный, ячейка макета, в которую добавляется слой (временная шкала по умолчанию)
- config? - (GanttConfigOptions) - необязательный, объект конфигурации Gantt
- datastore? - (any) - необязательный, объект хранилища ссылок
- viewport? - (LayerViewport) - необязательный, объект области просмотра
- container? - (HTMLElement) - необязательный, контейнер слоя
- topmost? - (boolean) - необязательный, если true, элемент будет отображаться поверх ссылки
- filter? - (Function): boolean - необязательный, функция, принимающая объект ссылки в качестве параметра. Если возвращает 'false', функция 'renderer' не будет вызвана для ссылки
- link - (Link) - объект ссылки
Будьте осторожны, пользовательские слои будут сброшены после следующего вызова gantt.init
- Вызов метода gantt.resetLayout() также сбросит пользовательские слои. Чтобы пользовательские слои отображались на странице, необходимо переопределить метод gantt.addLinkLayer после вызова resetLayout.
Related sample: Gantt. Дополнительный слой с типами ссылок
See also
К началу