Pivotick / InterractionCallbacks / InterractionCallbacks
Interface: InterractionCallbacks<TElement>
Definiert in: interfaces/InterractionCallbacks.ts:12
Typparameter
TElement
TElement = unknown
Eigenschaften
isValidConnection()?
optionalisValidConnection: (source,target) =>boolean
Definiert in: interfaces/InterractionCallbacks.ts:251
Live-Gültigkeitsprädikat wird während der Verbindungsgeste ausgewertet, während der Cursor über Kandidatenzielen schwebt (à la React Flows isValidConnection). Geben Sie false zurück, um das schwebende Ziel als ungültig zu markieren: Der Schattenrand wird in einem ungültigen Stil gerendert, und wenn Sie ihn loslassen bzw. darauf klicken, wird nichts erstellt (in diesem Fall wird onBeforeEdgeCreate nicht verwendet). Läuft bei jeder Zeigerbewegung, daher muss es synchron und kostengünstig sein.
Parameter
source
target
Rückgabewert
boolean
onBadgeClick()?
optionalonBadgeClick: (event,node,badge,element) =>void
Definiert in: interfaces/InterractionCallbacks.ts:69
Wird aufgerufen, wenn auf eines der Randabzeichen eines Knotens geklickt wird, nach dem eigenen onClick dieses Abzeichens. Verwenden Sie es für das Verhalten, das jedes Abzeichen teilt. Verwenden Sie NodeBadge.onClick für die eigene Aktion eines Abzeichens.
Durch die Deklaration nimmt jedes Abzeichen den Zeigercursor und verbraucht seinen Klick, sodass der darunter liegende Knoten nicht ebenfalls ausgewählt wird.
Parameter
event
PointerEvent
node
badge
element
TElement
Rückgabewert
void
onBeforeDelete()?
optionalonBeforeDelete: (context) =>DeleteDecision|Promise<DeleteDecision>
Definiert in: interfaces/InterractionCallbacks.ts:277
Wird aufgerufen, wenn der Benutzer Diagrammelemente löschen möchte, bevor etwas entfernt wird. Die Bibliothek löst zuerst den gesamten Zielsatz auf – einschließlich der Kanten, die das Entfernen eines Knotens mit sich bringen würde (DeleteContext.cascadingEdges), sodass ein Verbraucher die volle Konsequenz der Geste beibehalten kann, ohne die Kaskade erneut abzuleiten.
- Mit
false/{ accept: false }ein Veto einlegen: Es wird nichts entfernt, es werden keinenodeRemove/edgeRemove/noteRemoveausgelöst und die Auswahl bleibt erhalten. - Geben Sie
truezurück, um genau das zu löschen, was angefordert wurde. - Geben Sie
{ accept: true, nodes?, edges?, notes? }auf einen zurück, um das Löschen auf eine Teilmenge zu beschränken – z. B. Behalten Sie nur das, was das Backend tatsächlich gelöscht hat. Ein weggelassener Schlüssel bedeutet „wie angefordert“, daher ist{ accept: true }äquivalent zutrue; Übergeben Sie ein leeres Array, um diese Art vollständig zu verschonen. Elemente, die nicht Teil der Anfrage waren, werden ignoriert.
Kann asynchron sein (Löschen beibehalten, dann entscheiden) – eine zweite Löschgeste wird ignoriert, während eine Entscheidung aussteht. DeleteContext.confirm öffnet ein Bestätigungsmodal, damit Verbraucher keines neu erstellen.
Nur vom Benutzer initiierte Löschvorgänge werden mit einem Gatter versehen: Programmgesteuert graph.removeNode() / graph.removeEdge() / noteManager.removeNote() ruft diesen Hook niemals auf, sodass der Verbrauchercode, der das Modell steuert, nicht durch das eigene Gate des Verbrauchers blockiert wird.
Parameter
context
Rückgabewert
DeleteDecision | Promise<DeleteDecision>
onBeforeEdgeCreate()?
optionalonBeforeEdgeCreate: (context) =>EdgeCreateDecision|Promise<EdgeCreateDecision>
Definiert in: interfaces/InterractionCallbacks.ts:241
Wird während einer Verbindungsgeste aufgerufen, nachdem der Zielknoten aufgelöst wurde, aber bevor die Kante (oder der Notizlink) erstellt wird. Fungiert als Kantenäquivalent von onBeforeNodeEditCommit: ein Validierungs-/Anreicherungs-/Veto-Hook.
- Zurück
false/{ accept: false }zum Veto: Die Vorschau wird gelöscht, nichts wird hinzugefügt und der Verbindungsmodus bleibt aktiviert, sodass der Benutzer es erneut versuchen kann. - Geben Sie
truezurück, um die Standardeinstellungen zu übernehmen. - Geben Sie
{ accept: true, data?, style?, id?, directed? }zurück, um die Nutzlast/den Stil/die ID/die Richtung der neuen Kante zu akzeptieren und bereitzustellen.
Kann asynchron sein (z. B. vor der Entscheidung in einem Backend verbleiben); Die Shadow-Edge-Vorschau bleibt bestehen, bis das Versprechen erfüllt ist, und es wird keine neue Verbindungsgeste akzeptiert, während sie aussteht. Wird sowohl beim Klicken als auch beim Ziehen zum Verbinden ausgelöst. Wird auch für Notiz→Knoten-Links (EdgeCreateContext.kind 'note-link') ausgelöst, bei denen die kantenspezifischen Felder der Entscheidung ignoriert werden.
Parameter
context
Rückgabewert
EdgeCreateDecision | Promise<EdgeCreateDecision>
ob die Verbindung erstellt werden soll, optional mit ihren Daten.
onBeforeEdgeEditCommit()?
optionalonBeforeEdgeEditCommit: (context) =>boolean|Promise<boolean>
Definiert in: interfaces/InterractionCallbacks.ts:320
Wird aufgerufen, wenn eine Edge-Edit-Sitzung festgeschrieben werden soll. Fungiert als Validierungs-/Persistenz-/Veto-Hook und spiegelt onBeforeNodeEditCommit: Gibt false (oder ein Versprechen davon) zurück, um es abzulehnen, wobei die Daten der Kante unberührt bleiben und das Modal offen bleibt. Bei Erfolg werden die Daten der Kante ersetzt und edgeChange wird auf dem Datenbus ausgelöst.
Parameter
context
Rückgabewert
boolean | Promise<boolean>
ob der Commit fortgesetzt werden soll
onBeforeIngest()?
optionalonBeforeIngest: (context) =>IngestDecision|Promise<IngestDecision>
Definiert in: interfaces/InterractionCallbacks.ts:300
Wird einmal mit dem gesamten Kandidatensatz aufgerufen, kurz bevor ein Pivot ihn aufnimmt – das eine Gate in der Aufnahmepipeline.
- Zurück
false/{ accept: false }zum Veto: Nichts landet und der Lauf meldet'vetoed'. - Geben Sie
truezurück, um genau das aufzunehmen, was ausgewählt wurde. - Geben Sie
{ accept: true, nodes?, edges? }auf einen zurück, um die Aufnahme auf eine Teilmenge zu beschränken – z. B. nur das, was das Backend bestätigt hat. Ein weggelassener Schlüssel bedeutet „wie angefordert“, daher ist{ accept: true }äquivalent zutrue; Übergeben Sie ein leeres Array, um nichts dergleichen zu landen.
Wird einmal pro Aufnahme mit dem gesamten Batch aufgerufen, niemals pro Kandidat: Ein Pivot, der 1.800 Korrelationen gefunden hat, darf nicht in 1.800 Hook-Aufrufe umgewandelt werden, und bei den Schreibpfad-Hooks pro Geste (onBeforeEdgeCreate, onBeforeDelete) geht es bewusst um Benutzergesten und nicht um eine programmatische Zusammenführung. Es steuert auch autoIngest Pivots, wodurch sie unter Kontrolle bleiben.
Kann asynchron sein (beibehalten, dann entscheiden). IngestContext.confirm öffnet das gemeinsame Bestätigungsmodal.
Parameter
context
Rückgabewert
IngestDecision | Promise<IngestDecision>
onBeforeNodeCreate()?
optionalonBeforeNodeCreate: (context) =>NodeCreateDecision|Promise<NodeCreateDecision>
Definiert in: interfaces/InterractionCallbacks.ts:342
Wird aufgerufen, wenn der Benutzer interaktiv einen Knoten erstellt (Erstellen ▸ Knoten hinzufügen oder „Knoten hier hinzufügen“ im Canvas-Kontextmenü), sobald die Position im Diagrammraum bekannt ist und bevor der Knoten hinzugefügt wird. Spiegel onBeforeEdgeCreate:
- Geben Sie
false/{ accept: false }zurück, um Ihr Veto einzulegen – es wird nichts hinzugefügt. - Geben Sie
truezurück, um den Standardknoten der Bibliothek zu akzeptieren. - Geben Sie
{ accept: true, id?, data?, style? }zurück, um die ID/Nutzlast/den Stil des neuen Knotens zu akzeptieren und bereitzustellen.
Kann asynchron sein und NodeCreateContext.promptData öffnet das gleiche deklarative Formular oder benutzerdefinierte HTML-Modal, das der Edge-Hook verwendet. Ohne diesen Hook funktioniert das Tool immer noch – es erstellt lediglich einen standardmäßigen, unbenannten Knoten. Programmatic graph.addNode() ist niemals begrenzt.
Parameter
context
Rückgabewert
NodeCreateDecision | Promise<NodeCreateDecision>
onBeforeNodeEditCommit()?
optionalonBeforeNodeEditCommit: (context) =>boolean|Promise<boolean>
Definiert in: interfaces/InterractionCallbacks.ts:216
Wird aufgerufen, wenn eine Knotenbearbeitungssitzung festgeschrieben werden soll. Fungiert als Validierungs-/Persistenz-/Veto-Hook: Gibt false (oder ein Versprechen davon) zurück, um es abzulehnen, wobei die Daten des Knotens unberührt bleiben und das Modal offen bleibt. Bei Erfolg werden die Daten des Knotens ersetzt und nodeChange wird auf dem Datenbus ausgelöst.
Parameter
context
Rückgabewert
boolean | Promise<boolean>
Boolescher Wert, der angibt, ob der Commit fortgesetzt werden soll oder nicht
onCanvasBeforeZoom()?
optionalonCanvasBeforeZoom: (event) =>void
Definiert in: interfaces/InterractionCallbacks.ts:176
Wird aufgerufen, wenn die Arbeitsfläche gezoomt werden soll.
Parameter
event
unknown
Rückgabewert
void
onCanvasClick()?
optionalonCanvasClick: (event) =>void
Definiert in: interfaces/InterractionCallbacks.ts:162
Wird aufgerufen, wenn auf die Arbeitsfläche geklickt wird.
Parameter
event
PointerEvent
Rückgabewert
void
onCanvasContextmenu()?
optionalonCanvasContextmenu: (event) =>void
Definiert in: interfaces/InterractionCallbacks.ts:186
Wird aufgerufen, wenn mit der rechten Maustaste auf die Arbeitsfläche geklickt wird.
Parameter
event
PointerEvent
Rückgabewert
void
onCanvasMousemove()?
optionalonCanvasMousemove: (event) =>void
Definiert in: interfaces/InterractionCallbacks.ts:191
Wird aufgerufen, wenn die Maus über die Arbeitsfläche bewegt wird.
Parameter
event
MouseEvent
Rückgabewert
void
onCanvasPointerDown()?
optionalonCanvasPointerDown: (event) =>void
Definiert in: interfaces/InterractionCallbacks.ts:167
Wird aufgerufen, wenn ein Benutzer mit der Maus über die Arbeitsfläche zeigt.
Parameter
event
PointerEvent
Rückgabewert
void
onCanvasPointerUp()?
optionalonCanvasPointerUp: (event) =>void
Definiert in: interfaces/InterractionCallbacks.ts:171
Wird aufgerufen, wenn ein Benutzer mit der Maus auf die Arbeitsfläche zeigt.
Parameter
event
PointerEvent
Rückgabewert
void
onCanvasZoom()?
optionalonCanvasZoom: (event) =>void
Definiert in: interfaces/InterractionCallbacks.ts:181
Wird aufgerufen, wenn die Arbeitsfläche gezoomt wird.
Parameter
event
unknown
Rückgabewert
void
onEdgeBlur()?
optionalonEdgeBlur: (edge,element) =>void
Definiert in: interfaces/InterractionCallbacks.ts:102
Wird aufgerufen, wenn eine Kante vom Benutzer nicht ausgewählt wird.
Parameter
edge
element
TElement
Rückgabewert
void
onEdgeClick()?
optionalonEdgeClick: (event,edge,element) =>void
Definiert in: interfaces/InterractionCallbacks.ts:84
Wird aufgerufen, wenn eine Kante vom Benutzer ausgewählt wird.
Parameter
event
PointerEvent
edge
element
TElement
Rückgabewert
void
onEdgeContextmenu()?
optionalonEdgeContextmenu: (event,edge,element) =>void
Definiert in: interfaces/InterractionCallbacks.ts:92
Wird aufgerufen, wenn mit der rechten Maustaste auf eine Kante geklickt wird.
Parameter
event
PointerEvent
edge
element
TElement
Rückgabewert
void
onEdgeDbclick()?
optionalonEdgeDbclick: (event,edge,element) =>void
Definiert in: interfaces/InterractionCallbacks.ts:88
Wird aufgerufen, wenn eine Kante vom Benutzer ausgewählt wird.
Parameter
event
PointerEvent
edge
element
TElement
Rückgabewert
void
onEdgeEdit()?
optionalonEdgeEdit: (session) =>HTMLDivElement
Definiert in: interfaces/InterractionCallbacks.ts:310
Wird aufgerufen, wenn eine Kantenbearbeitungssitzung beginnt. Fungiert als UI-Hook und spiegelt onNodeEdit: Gibt den Körper zurück, um ihn in das Bearbeitungsmodal einzufügen. Ein benutzerdefinierter Körper besitzt den Entwurf – mutieren Sie session.draft (oder rufen Sie session.setDraft auf), während der Benutzer eingibt, da die Bibliothek kein Formular zum Lesen beim Senden hat.
Parameter
session
EdgeEditSession
Die Kantenbearbeitungssitzung
Rückgabewert
HTMLDivElement
Ein HTML Div, das in den Körper des Modals injiziert wird
onEdgeEditCancel()?
optionalonEdgeEditCancel: (edge) =>void
Definiert in: interfaces/InterractionCallbacks.ts:325
Wird aufgerufen, wenn eine Edge-Edit-Sitzung abgebrochen wird.
Parameter
edge
Rückgabewert
void
onEdgeHoverIn()?
optionalonEdgeHoverIn: (event,edge,element) =>void
Definiert in: interfaces/InterractionCallbacks.ts:107
Wird aufgerufen, wenn ein Benutzer mit der Maus über eine Kante fährt.
Parameter
event
PointerEvent
edge
element
TElement
Rückgabewert
void
onEdgeHoverOut()?
optionalonEdgeHoverOut: (event,edge,element) =>void
Definiert in: interfaces/InterractionCallbacks.ts:111
Wird aufgerufen, wenn ein Benutzer mit der Maus über eine Kante fährt.
Parameter
event
PointerEvent
edge
element
TElement
Rückgabewert
void
onEdgeSelect()?
optionalonEdgeSelect: (edge,element) =>void
Definiert in: interfaces/InterractionCallbacks.ts:97
Wird aufgerufen, wenn eine Kante vom Benutzer ausgewählt wird.
Parameter
edge
element
TElement
Rückgabewert
void
onNodeBlur()?
optionalonNodeBlur: (node,element) =>void
Definiert in: interfaces/InterractionCallbacks.ts:59
Wird aufgerufen, wenn ein Knoten vom Benutzer nicht ausgewählt wird.
Parameter
node
element
TElement
Rückgabewert
void
onNodeClick()?
optionalonNodeClick: (event,node,element) =>void
Definiert in: interfaces/InterractionCallbacks.ts:16
Wird aufgerufen, wenn auf einen Knoten geklickt wird.
Parameter
event
PointerEvent
node
element
TElement
Rückgabewert
void
onNodeContextmenu()?
optionalonNodeContextmenu: (event,node,element) =>void
Definiert in: interfaces/InterractionCallbacks.ts:26
Wird aufgerufen, wenn mit der rechten Maustaste auf einen Knoten geklickt wird.
Parameter
event
PointerEvent
node
element
TElement
Rückgabewert
void
onNodeDbclick()?
optionalonNodeDbclick: (event,node,element) =>void
Definiert in: interfaces/InterractionCallbacks.ts:21
Wird aufgerufen, wenn auf einen Knoten doppelgeklickt wird.
Parameter
event
PointerEvent
node
element
TElement
Rückgabewert
void
onNodeDragended()?
optionalonNodeDragended: (event,node) =>void
Definiert in: interfaces/InterractionCallbacks.ts:79
Wird aufgerufen, wenn das Ziehen eines Knotens endet.
Parameter
event
MouseEvent
node
Rückgabewert
void
onNodeDragging()?
optionalonNodeDragging: (event,node) =>void
Definiert in: interfaces/InterractionCallbacks.ts:74
Wird aufgerufen, wenn ein Knoten gezogen wird.
Parameter
event
MouseEvent
node
Rückgabewert
void
onNodeEdit()?
optionalonNodeEdit: (session) =>HTMLDivElement
Definiert in: interfaces/InterractionCallbacks.ts:208
Wird aufgerufen, wenn eine Knotenbearbeitungssitzung beginnt. Fungiert als UI-Hook.
Parameter
session
NodeEditSession
Die Knotenbearbeitungssitzung
Rückgabewert
HTMLDivElement
Ein HTML Div, das in den Körper des Modals injiziert wird
onNodeEditCancel()?
optionalonNodeEditCancel: (node) =>void
Definiert in: interfaces/InterractionCallbacks.ts:220
Wird aufgerufen, wenn eine Knotenbearbeitungssitzung abgebrochen wird
Parameter
node
Rückgabewert
void
onNodeHoverIn()?
optionalonNodeHoverIn: (event,node,element) =>void
Definiert in: interfaces/InterractionCallbacks.ts:31
Wird aufgerufen, wenn ein Benutzer mit der Maus über einen Knoten fährt.
Parameter
event
PointerEvent
node
element
TElement
Rückgabewert
void
onNodeHoverOut()?
optionalonNodeHoverOut: (event,node,element) =>void
Definiert in: interfaces/InterractionCallbacks.ts:35
Wird aufgerufen, wenn ein Benutzer mit der Maus aus einem Knoten herausfährt.
Parameter
event
PointerEvent
node
element
TElement
Rückgabewert
void
onNodePointerDown()?
optionalonNodePointerDown: (event,node,element) =>void
Definiert in: interfaces/InterractionCallbacks.ts:40
Wird aufgerufen, wenn ein Benutzerzeiger auf einen Knoten zeigt.
Parameter
event
PointerEvent
node
element
TElement
Rückgabewert
void
onNodePointerUp()?
optionalonNodePointerUp: (event,node,element) =>void
Definiert in: interfaces/InterractionCallbacks.ts:44
Wird aufgerufen, wenn ein Benutzer mit dem Zeiger auf einen Knoten zeigt.
Parameter
event
PointerEvent
node
element
TElement
Rückgabewert
void
onNodeSelect()?
optionalonNodeSelect: (node,element) =>void
Definiert in: interfaces/InterractionCallbacks.ts:49
Wird aufgerufen, wenn ein Knoten vom Benutzer ausgewählt wird.
Parameter
node
element
TElement
Rückgabewert
void
onNodesSelect()?
optionalonNodesSelect: (selection) =>void
Definiert in: interfaces/InterractionCallbacks.ts:54
Wird aufgerufen, wenn Knoten vom Benutzer ausgewählt werden.
Parameter
selection
NodeSelection<TElement>[]
Rückgabewert
void
onNoteClick()?
optionalonNoteClick: (event,note,element) =>void
Definiert in: interfaces/InterractionCallbacks.ts:116
Wird aufgerufen, wenn auf eine Notiz geklickt wird.
Parameter
event
PointerEvent
note
element
TElement
Rückgabewert
void
onNoteContextmenu()?
optionalonNoteContextmenu: (event,note,element) =>void
Definiert in: interfaces/InterractionCallbacks.ts:126
Wird aufgerufen, wenn mit der rechten Maustaste auf eine Notiz geklickt wird.
Parameter
event
PointerEvent
note
element
TElement
Rückgabewert
void
onNoteDbclick()?
optionalonNoteDbclick: (event,note,element) =>void
Definiert in: interfaces/InterractionCallbacks.ts:121
Wird aufgerufen, wenn auf eine Notiz doppelgeklickt wird.
Parameter
event
PointerEvent
note
element
TElement
Rückgabewert
void
onNoteDragging()?
optionalonNoteDragging: (event,note) =>void
Definiert in: interfaces/InterractionCallbacks.ts:157
Wird aufgerufen, wenn ein Benutzer mit dem Zeiger auf einen Knoten zeigt.
Parameter
event
PointerEvent
note
Rückgabewert
void
onNoteHandleClick()?
optionalonNoteHandleClick: (event,note,handle) =>void
Definiert in: interfaces/InterractionCallbacks.ts:149
Wird aufgerufen, wenn ein Benutzerzeiger auf einen Knoten zeigt.
Parameter
event
PointerEvent
note
handle
HTMLElement
Rückgabewert
void
onNoteHandlePointerDown()?
optionalonNoteHandlePointerDown: (event,note,handle) =>void
Definiert in: interfaces/InterractionCallbacks.ts:153
Wird aufgerufen, wenn ein Benutzer mit dem Zeiger auf einen Knoten zeigt.
Parameter
event
PointerEvent
note
handle
HTMLElement
Rückgabewert
void
onNoteHoverIn()?
optionalonNoteHoverIn: (event,note,element) =>void
Definiert in: interfaces/InterractionCallbacks.ts:131
Wird aufgerufen, wenn ein Benutzer mit der Maus über eine Notiz fährt.
Parameter
event
PointerEvent
note
element
TElement
Rückgabewert
void
onNoteHoverOut()?
optionalonNoteHoverOut: (event,note,element) =>void
Definiert in: interfaces/InterractionCallbacks.ts:135
Wird aufgerufen, wenn ein Benutzer mit der Maus aus einer Notiz herausfährt.
Parameter
event
PointerEvent
note
element
TElement
Rückgabewert
void
onNotePointerDown()?
optionalonNotePointerDown: (event,note,element) =>void
Definiert in: interfaces/InterractionCallbacks.ts:140
Wird aufgerufen, wenn ein Benutzerzeiger auf einen Knoten zeigt.
Parameter
event
PointerEvent
note
element
TElement
Rückgabewert
void
onNotePointerUp()?
optionalonNotePointerUp: (event,note,element) =>void
Definiert in: interfaces/InterractionCallbacks.ts:144
Wird aufgerufen, wenn ein Benutzer mit dem Zeiger auf einen Knoten zeigt.
Parameter
event
PointerEvent
note
element
TElement
Rückgabewert
void
onSimulationSlowTick()?
optionalonSimulationSlowTick: () =>void
Definiert in: interfaces/InterractionCallbacks.ts:201
Wird aufgerufen, wenn jedes Zehntel der Simulation tickt.
Rückgabewert
void
onSimulationTick()?
optionalonSimulationTick: () =>void
Definiert in: interfaces/InterractionCallbacks.ts:196
Wird aufgerufen, wenn die Simulation tickt.
Rückgabewert
void