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

beforeItemMove

Описание

Срабатывает перед перемещением элемента

Примечание

Событие не работает с объектом line.

Событие срабатывает только для целевого элемента, независимо от количества выбранных элементов. Идентификаторы перетаскиваемых элементов передаются в параметре batch колбека.

Использование

"beforeItemMove": ({
id: string | number,
batch: (string | number)[],
coords: object,
event: PointerEvent,
}) => boolean | void;

Параметры

Колбек события вызывается с объектом со следующими параметрами:

  • id - идентификатор элемента
  • batch - массив идентификаторов перемещённых элементов
  • coords - объект с координатами x и y положения элемента до перемещения, где:
    • x - горизонтальное положение элемента при перемещении слева направо
    • y - вертикальное положение элемента при перемещении сверху вниз
  • event - объект события

Возвращаемое значение

Колбек возвращает false, чтобы предотвратить перемещение элемента; в противном случае — true

К сведению

Для обработки внутренних событий Diagram Editor можно использовать метод on().

Пример

// инициализация Diagram Editor
const editor = new dhx.DiagramEditor("editor_container");
// загрузка данных
editor.parse(data);

// прикрепление обработчика к событию
editor.events.on("beforeItemMove", ({ id, coords }) => {
console.log(`
Item ${id} is at the position:
x: ${coords.x}
y: ${coords.y}
`);
return true;
});

Журнал изменений:

  • Параметр batch добавлен в v6.0
  • Начиная с v6.0, колбек принимает объект в качестве параметра

Похожее API:

Связанный пример: