Расширение тултипов

Для получения более подробной информации о расширении тултипов, ознакомьтесь со статьей, расположенной по адресу Тултипы для элементов Gantt.

Объект Tooltip

Объект тултипа доступен через gantt.ext.tooltips.tooltip. Он предоставляет методы для управления положением, содержимым и видимостью тултипа:

  • getNode (): HTMLElement - получает HTML-элемент, представляющий тултип.
  • setViewport (node): object - ограничивает положение тултипа в пределах указанного HTML-элемента.
    • node - (HTMLElement) - целевой HTML-элемент.
  • show (config, top): object - делает тултип видимым в определенных координатах относительно document.body. Вы можете указать координаты x, y или объект события для позиционирования в месте события мыши. Применяются смещение тултипа и настройки области просмотра.
    • config? - (number | Event) - либо координата X, либо объект события мыши.
    • top? - (number) - координата Y.
  • hide (): object - скрывает тултип.
  • setContent (html): object - обновляет содержимое тултипа предоставленной HTML-строкой:
    • html - (string) - HTML-содержимое для отображения в тултипе.

Методы

Существует несколько методов для управления поведением тултипа при наведении на элементы DOM.

gantt.ext.tooltips.attach()

  • attach (config): void - добавляет тултип с расширенными параметрами конфигурации. Принимает один параметр:
    • config - (object) - объект, содержащий настройки тултипа:
      • selector - (string) - CSS-селектор для элементов, которые должны вызывать события мыши.
      • onmouseenter - (Function): void - функция, вызываемая при наведении мыши на элемент. Параметры:
        • event - (MouseEvent) - нативное событие мыши.
        • node - (HTMLElement) - целевой HTML-узел.
      • onmousemove? - (Function): void - опционально, функция, вызываемая при движении мыши внутри элемента. Параметры:
        • event - (MouseEvent) - нативное событие мыши.
        • node - (HTMLElement) - целевой HTML-узел.
      • onmouseleave - (Function): void - функция, вызываемая при уходе мыши с элемента. Параметры:
        • event - (MouseEvent) - нативное событие мыши.
        • node - (HTMLElement) - целевой HTML-узел.
      • global? - (boolean) - опционально, указывает, должен ли модуль отслеживать события мыши на всей странице (true) или только внутри элемента Gantt (false). По умолчанию false.
gantt.ext.tooltips.attach({
    selector: ".gantt_task_cell",
    onmouseenter: function (e, node) {
        const id = node.parentNode.attributes['task_id'].nodeValue;
        const task = gantt.getTask(id);
 
        if (typeof task.text == "string") {
            gantt.ext.tooltips.tooltip.setContent(task.text);
            gantt.ext.tooltips.tooltip.show(e.clientX + 20, e.clientY + 20)
        }
    },
    onmousemove: function (e, node) {
        gantt.ext.tooltips.tooltip.show(e.clientX + 20, e.clientY + 20)
    },
    onmouseleave: function (e, node) {
        gantt.ext.tooltips.tooltip.hide()
    },
})

gantt.ext.tooltips.tooltipFor()

  • tooltipFor (config): void - добавляет тултип к конкретному элементу Gantt. Это более простая альтернатива методу attach(). Принимает один параметр:
    • config - (object) - объект с конфигурацией тултипа:
      • selector - (string) - CSS-селектор для элемента Gantt, к которому нужно прикрепить тултип.
      • html - (Function): HTMLElement | string | number | void - функция-шаблон для содержимого тултипа. Функция принимает два параметра:
        • event - (Event) - нативное событие мыши.
        • node - (HTMLElement) - целевой HTML-узел. Функция должна возвращать строку, содержащую содержимое тултипа.
      • global? - (boolean) - опционально, указывает, должен ли модуль отслеживать события мыши на всей странице (true) или только внутри элемента Gantt (false). По умолчанию false.
gantt.ext.tooltips.tooltipFor({
    selector: ".gantt_task_cell",
    html: function (e, domElement) {
        const id = domElement.parentNode.attributes['task_id'].nodeValue;
        const task = gantt.getTask(id);
        return task.text;
    }
});

gantt.ext.tooltips.detach()

  • detach (selector): void - удаляет тултип. Метод требует один параметр:
    • selector - (string) - CSS-селектор элемента Gantt, с которого нужно удалить тултип.
К началу