Zum Hauptinhalt springen

beforeItemCatch

Beschreibung​

Wird ausgelöst, bevor ein Element erfasst wird

Info

Das Event funktioniert nur in den Modi Organigramm und mindmap von Diagram, wobei die Eigenschaft itemsDraggable auf true gesetzt sein muss.

Verwendung​

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

Parameter​

Die Callback-Funktion des Events wird mit einem Objekt aufgerufen, das die folgenden Parameter enthält:

  • id - die ID des verschobenen Elements
  • targetId - die ID des Zielelements
  • batch - ein Array mit den IDs der verschobenen Elemente
  • event - ein Event-Objekt

Rückgabewert​

Die Callback-Funktion gibt false zurück, um zu verhindern, dass das Element erfasst wird; andernfalls true

Info

Für die Verarbeitung interner Diagram-Editor-Events können Sie die Methode on() verwenden.

Beispiel​

// Diagram Editor initialisieren
const editor = new dhx.DiagramEditor("editor_container");
// Daten laden
editor.parse(data);

// Handler an das Event anhängen
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;
}
});

Changelog:

  • Der Parameter batch wurde in v6.0 hinzugefügt
  • Die Callback-Funktion akzeptiert seit v6.0 ein Objekt als Parameter