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

Обработка событий

Подключение обработчиков событий

Вы можете добавить любой пользовательский обработчик к любому из доступных событий. Для этого используйте метод diagram.events.on() со следующими параметрами:

  • name - (string) имя события
  • handler - (function) функция-обработчик
diagram.events.on("ShapeClick", (id) => {
alert("You've just clicked an item with id="+id);
});

Вы можете прикрепить к одному событию несколько обработчиков, и все они будут выполнены. Если какой-либо из обработчиков возвращает false, связанная операция будет заблокирована. Обработчики событий выполняются в том же порядке, в котором они были прикреплены.

Отключение обработчиков событий

Чтобы отключить события, используйте метод diagram.events.detach():

diagram.events.on("CustomEvent", args);

diagram.events.detach("CustomEvent");

Вызов событий

Чтобы вызвать событие, используйте метод diagram.events.fire().

diagram.events.fire("CustomEvent", args);
// где args — это массив аргументов

Обычно события вызываются автоматически, и использовать этот метод не требуется.

Список поддерживаемых событий

События Diagram

Полный список событий API Diagram см. в справочнике API.

События Editor

Список событий API редактора Diagram приведён в разделе API.

Примечание

Помимо событий редактора Diagram, вы также можете применять события объекта диаграммы при работе в режиме редактора. Например:

const editor = new dhx.DiagramEditor("editor_container", {
controls: { autoLayout: false }
});
editor.parse(data);

editor.diagram.events.on("ShapeClick", (id) => {
alert("You've just clicked an item with id=" + id);
});

Такой способ также можно использовать, если нужно применить события, перечисленные ниже.

События CellManager

Полный список событий API CellManager см. в справочнике API.

События DataCollection

Полный список событий API DataCollection см. в справочнике API.

События InlineEditor

Полный список событий API InlineEditor см. в справочнике API.

События Selection

Полный список событий API Selection см. в справочнике API.