utils

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

object utils;

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: "<span id='pointer-date'></span>"
});
 
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, если узел, переданный в первом аргументе, является дочерним элементом узла, переданного во втором аргументе

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

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

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