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

Утилиты

Description

Различные вспомогательные модули

utils: { dom: DomHelpers }

Example

var tooltips = gantt.ext.tooltips;
tooltips.tooltipFor({
selector: ".gantt_scale_cell",
html: function (event, node) {
const domHelper = gantt.utils.dom;
const pos = domHelper.getRelativeEventPosition(event, gantt.$task_scale);
return gantt.templates.task_date(gantt.dateFromPos(pos.x));
}
});

Details

В данный момент модуль содержит только помощник для операций с DOM, доступный как gantt.utils.dom

var domHelpers = gantt.utils.dom;

Который имеет следующие методы:

  • getNodePosition (node): object - возвращает положение элемента на экране в формате объекта {x:number, y:number, width:number, height:number}

    • node - (HTMLElement) - DOM-элемент, который будет проверяться
  • getRelativeEventPosition (e, node): object - возвращает координаты мыши относительно DOM-элемента в формате объекта {x:number, y:number}

    • e - (Event) - событие, которое произошло
    • node - (HTMLElement) - DOM-элемент, который будет проверяться
gantt.message({
expire: -1,
text: ""
});

const formatDate = gantt.date.date_to_str("%Y-%m-%d %H:%i");
gantt.attachEvent("onMouseMove", function (id, e){
const helper = gantt.utils.dom;
if(helper.isChildOf(e.target, gantt.$task_data)){
const textContainer = document.querySelector("#pointer-date");
const pos = helper.getRelativeEventPosition(e, gantt.$task_data);
const pointerDate = gantt.dateFromPos(pos.x);
textContainer.innerText = formatDate(pointerDate);
}
});
  • isChildOf (child, parent): boolean - возвращает true, если узел, переданный в качестве первого аргумента, является DOM-элементом-потомком узла, переданного как второй аргумент

    • child - (HTMLElement) - дочерний узел, который будет проверяться
    • parent - (HTMLElement) - родительский узел, который будет проверяться
  • hasClass (node, className): boolean - возвращает true, если список классов переданного node содержит указанный CSS-класс

    • node - (HTMLElement) - DOM-элемент, который будет проверяться
    • className - (string) - имя CSS-класса, которое будет проверяться
  • closest (node, cssSelector): HTMLElement> - возвращает первый узел, который соответствует заданному CSS-селектору, начиная с указанного узла и поднимаясь вверх по дереву DOM к родительским узлам

    • node - (HTMLElement) - DOM-элемент, который будет проверяться
    • cssSelector - (string) - CSS-селектор для целевого узла
gantt.attachEvent("onEmptyClick", function (e) {
const domHelpers = gantt.utils.dom;
if(!domHelpers.closest(e.target, `[${gantt.config.link_attribute}]`)){
gantt.message("not a link");
}else{
gantt.message("link!");
}
});
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.