beforeItemCatch
Описание
Срабатывает перед захватом элемента
К сведению
Событие работает только в режимах организационной диаграммы и mindmap компонента Diagram, при этом свойство itemsDraggable должно быть установлено в значение true.
Использование
"beforeItemCatch": ({
id: string | number,
targetId: string | number,
batch: (string | number)[],
event: PointerEvent
}) => boolean | void;
Параметры
Колбек события вызывается с объектом со следующими параметрами:
id- идентификатор перемещаемого элементаtargetId- идентификатор целевого элементаbatch- массив идентификаторов перемещённых элементовevent- объект события
Возвращаемое значение
Колбек возвращает false, чтобы предотвратить захват элемента; в противном случае — true
К сведению
Для обработки внутренних событий Diagram Editor можно использовать метод on().
Пример
// инициализация Diagram Editor
const editor = new dhx.DiagramEditor("editor_container");
// загрузка данных
editor.parse(data);
// прикрепление обработчика к событию
editor.events.on("beforeItemCatch", ({ id, targetId }) => {
if (targetId === "2.1"){
console.log(`
Item ${id} won't be be caught by the item "2.1"
`);
return false;
}
else{
console.log(`
Item ${id} will be caught by the item ${targetId}
`);
return true;
}
});
Журнал изменений:
- Параметр
batchдобавлен в v6.0 - Начиная с v6.0, колбек принимает объект в качестве параметра