pivotick / InterractionCallbacks / InterractionCallbacks
Interface: InterractionCallbacks<TElement>
Défini dans : interfaces/InterractionCallbacks.ts:12
Paramètres de type
TElement
TElement = unknown
Propriétés
isValidConnection()?
optionalisValidConnection: (source,target) =>boolean
Défini dans : interfaces/InterractionCallbacks.ts:251
Le prédicat de validité en direct a été évalué pendant le geste de connexion lorsque le curseur survole les cibles candidates (à la isValidConnection de React Flow). Retournez false pour marquer la cible survolée comme invalide : le bord de l'ombre s'affiche dans un style invalide, et relâcher/cliquer dessus ne crée rien (dans ce cas onBeforeEdgeCreate n'est pas consulté). S'exécute à chaque mouvement du pointeur, il doit donc être synchrone et bon marché.
Paramètres
source
target
Renvoie
boolean
onBadgeClick()?
optionalonBadgeClick: (event,node,badge,element) =>void
Défini dans : interfaces/InterractionCallbacks.ts:69
Appelé lorsque l'on clique sur l'un des badges de bordure d'un nœud, après le onClick de ce badge. Utilisez-le pour le comportement que chaque badge partage ; utilisez NodeBadge.onClick pour la propre action d'un badge.
En le déclarant, chaque badge prend le curseur du pointeur et consomme son clic, de sorte que le nœud en dessous n'est pas également sélectionné.
Paramètres
event
PointerEvent
node
badge
element
TElement
Renvoie
void
onBeforeDelete()?
optionalonBeforeDelete: (context) =>DeleteDecision|Promise<DeleteDecision>
Défini dans : interfaces/InterractionCallbacks.ts:277
Appelé lorsque l'utilisateur demande de supprimer des éléments du graphique, avant tout est supprimé. La bibliothèque résout d'abord l'ensemble de la cible - y compris les bords que la suppression d'un nœud entraînerait (DeleteContext.cascadingEdges) - afin qu'un consommateur puisse conserver toutes les conséquences du geste sans rediriger la cascade.
- Renvoyez
false/{ accept: false }au veto : rien n'est supprimé, aucunnodeRemove/edgeRemove/noteRemovene se déclenche et la sélection reste intacte. - Renvoyez
truepour supprimer exactement ce qui a été demandé. - Renvoyez
{ accept: true, nodes?, edges?, notes? }à narrow la suppression dans un sous-ensemble - par ex. ne conservez que ce que le backend a réellement supprimé. Une clé omise signifie « comme demandé », donc{ accept: true }est équivalent àtrue; passez un tableau vide pour épargner entièrement ce type. Les éléments qui ne faisaient pas partie de la requête sont ignorés.
Peut être asynchrone (conserver la suppression, puis décider) : un deuxième geste de suppression est ignoré pendant qu'une décision est en attente. DeleteContext.confirm ouvre un modal de confirmation afin que les consommateurs n'en reconstruisent pas.
Seules les suppressions initiées par l'utilisateur sont bloquées : les programmes graph.removeNode() / graph.removeEdge() / noteManager.removeNote() n'invoquent jamais ce hook, de sorte que le code du consommateur pilotant le modèle n'est pas bloqué par la propre porte du consommateur.
Paramètres
context
Renvoie
DeleteDecision | Promise<DeleteDecision>
onBeforeEdgeCreate()?
optionalonBeforeEdgeCreate: (context) =>EdgeCreateDecision|Promise<EdgeCreateDecision>
Défini dans : interfaces/InterractionCallbacks.ts:241
Appelé lors d'un geste de connexion, une fois le nœud cible résolu mais avant le bord (ou le lien de note) est créé. Agit comme l'équivalent de pointe de onBeforeNodeEditCommit : un crochet de validation/enrichissement/veto.
- Renvoyez
false/{ accept: false }au veto : l'aperçu est supprimé, rien n'est ajouté et le mode de connexion reste armé pour que l'utilisateur puisse réessayer. - Renvoyez
truepour accepter avec les valeurs par défaut. - Renvoyez
{ accept: true, data?, style?, id?, directed? }pour accepter et fournir la charge utile/le style/l'identifiant/la direction du nouveau Edge.
Peut être asynchrone (par exemple, persister sur un backend avant de décider) ; l'aperçu du bord de l'ombre persiste jusqu'à ce que la promesse soit satisfaite, et aucun nouveau geste de connexion n'est accepté tant qu'il est en attente. Se déclenche à la fois par clic et par glisser pour se connecter. Se déclenche également pour les liens note → nœud (EdgeCreateContext.kind 'note-link'), où les champs spécifiques aux bords de la décision sont ignorés.
Paramètres
context
Renvoie
EdgeCreateDecision | Promise<EdgeCreateDecision>
si la connexion doit être créée, éventuellement avec ses données.
onBeforeEdgeEditCommit()?
optionalonBeforeEdgeEditCommit: (context) =>boolean|Promise<boolean>
Défini dans : interfaces/InterractionCallbacks.ts:320
Appelé lorsqu'une session de modification Edge est sur le point d'être validée. Agit comme un crochet de validation / persistance / veto, reflétant onBeforeNodeEditCommit : retournez false (ou une promesse de celui-ci) pour refuser, en laissant les données du bord intactes et le modal ouvert. En cas de succès, les données du Edge sont remplacées et edgeChange se déclenche sur le bus de données.
Paramètres
context
Renvoie
boolean | Promise<boolean>
si la validation doit avoir lieu
onBeforeIngest()?
optionalonBeforeIngest: (context) =>IngestDecision|Promise<IngestDecision>
Défini dans : interfaces/InterractionCallbacks.ts:300
Appelé une fois, avec l'ensemble du candidat défini, juste avant qu'un pivot ne l'ingère - la seule porte du pipeline d'ingestion.
- Renvoyez
false/{ accept: false }au veto : rien n'atteint et l'exécution rapporte'vetoed'. - Renvoyez
truepour ingérer exactement ce qui a été choisi. - Renvoyez
{ accept: true, nodes?, edges? }à narrow l'ingest à un sous-ensemble - par ex. seulement ce que le backend a confirmé. Une clé omise signifie « comme demandé », donc{ accept: true }est équivalent àtrue; passez un tableau vide pour n'en atterrir aucun.
Appelé une fois par ingestion avec l'ensemble du lot, jamais par candidat : un pivot qui a trouvé 1 800 corrélations ne doit pas se transformer en 1 800 appels de hook, et les hooks de chemin d'écriture par geste (onBeforeEdgeCreate, onBeforeDelete) concernent délibérément les gestes de l'utilisateur plutôt que une fusion programmatique. Il ouvre également autoIngest pivots, ce qui les maintient gouvernés.
Peut être asynchrone (persister, puis décider). IngestContext.confirm ouvre le modal de confirmation partagé.
Paramètres
context
Renvoie
IngestDecision | Promise<IngestDecision>
onBeforeNodeCreate()?
optionalonBeforeNodeCreate: (context) =>NodeCreateDecision|Promise<NodeCreateDecision>
Défini dans : interfaces/InterractionCallbacks.ts:342
Appelé lorsque l'utilisateur crée un nœud de manière interactive (Créer ▸ Ajouter un nœud ou "Ajouter un nœud ici" dans le menu contextuel du canevas), une fois que la position dans l'espace graphique est connue et avant que le nœud ne soit ajouté. Miroirs onBeforeEdgeCreate :
- Renvoyez
false/{ accept: false }au veto — rien n'est ajouté. - Renvoyez
truepour accepter le nœud par défaut de la bibliothèque. - Renvoyez
{ accept: true, id?, data?, style? }pour accepter et fournir l'identifiant/la charge utile/le style du nouveau nœud.
Peut être asynchrone, et NodeCreateContext.promptData ouvre le même formulaire déclaratif ou le même modal HTML personnalisé que le hook de bord utilise. En l'absence de ce hook, l'outil fonctionne toujours - il crée simplement un nœud par défaut sans nom. Le programmatique graph.addNode() n'est jamais bloqué.
Paramètres
context
Renvoie
NodeCreateDecision | Promise<NodeCreateDecision>
onBeforeNodeEditCommit()?
optionalonBeforeNodeEditCommit: (context) =>boolean|Promise<boolean>
Défini dans : interfaces/InterractionCallbacks.ts:216
Appelé lorsqu'une session de modification de nœud est sur le point d'être validée. Agit comme un crochet de validation/persistance/veto : retournez false (ou une promesse de celui-ci) pour refuser, en laissant les données du nœud intactes et le modal ouvert. En cas de succès, les données du nœud sont remplacées et nodeChange se déclenche sur le bus de données.
Paramètres
context
Renvoie
boolean | Promise<boolean>
booléen indiquant si la validation doit avoir lieu ou non
onCanvasBeforeZoom()?
optionalonCanvasBeforeZoom: (event) =>void
Défini dans : interfaces/InterractionCallbacks.ts:176
Appelé lorsque le canevas est sur le point d’être zoomé.
Paramètres
event
unknown
Renvoie
void
onCanvasClick()?
optionalonCanvasClick: (event) =>void
Défini dans : interfaces/InterractionCallbacks.ts:162
Appelé lorsque l’on clique sur le canevas.
Paramètres
event
PointerEvent
Renvoie
void
onCanvasContextmenu()?
optionalonCanvasContextmenu: (event) =>void
Défini dans : interfaces/InterractionCallbacks.ts:186
Appelé lorsque le canevas est cliqué avec le bouton droit.
Paramètres
event
PointerEvent
Renvoie
void
onCanvasMousemove()?
optionalonCanvasMousemove: (event) =>void
Défini dans : interfaces/InterractionCallbacks.ts:191
Appelé lorsque la souris se déplace sur le canevas.
Paramètres
event
MouseEvent
Renvoie
void
onCanvasPointerDown()?
optionalonCanvasPointerDown: (event) =>void
Défini dans : interfaces/InterractionCallbacks.ts:167
Appelé lorsqu'un utilisateur pointe vers le bas du canevas.
Paramètres
event
PointerEvent
Renvoie
void
onCanvasPointerUp()?
optionalonCanvasPointerUp: (event) =>void
Défini dans : interfaces/InterractionCallbacks.ts:171
Appelé lorsqu'un utilisateur pointe vers le haut du canevas.
Paramètres
event
PointerEvent
Renvoie
void
onCanvasZoom()?
optionalonCanvasZoom: (event) =>void
Défini dans : interfaces/InterractionCallbacks.ts:181
Appelé lorsque le canevas est zoomé.
Paramètres
event
unknown
Renvoie
void
onEdgeBlur()?
optionalonEdgeBlur: (edge,element) =>void
Défini dans : interfaces/InterractionCallbacks.ts:102
Appelé lorsqu'un bord n'est pas sélectionné par l'utilisateur.
Paramètres
edge
element
TElement
Renvoie
void
onEdgeClick()?
optionalonEdgeClick: (event,edge,element) =>void
Défini dans : interfaces/InterractionCallbacks.ts:84
Appelé lorsqu'un bord est sélectionné par l'utilisateur.
Paramètres
event
PointerEvent
edge
element
TElement
Renvoie
void
onEdgeContextmenu()?
optionalonEdgeContextmenu: (event,edge,element) =>void
Défini dans : interfaces/InterractionCallbacks.ts:92
Appelé lorsqu'un clic droit sur une arête est effectué.
Paramètres
event
PointerEvent
edge
element
TElement
Renvoie
void
onEdgeDbclick()?
optionalonEdgeDbclick: (event,edge,element) =>void
Défini dans : interfaces/InterractionCallbacks.ts:88
Appelé lorsqu'un bord est sélectionné par l'utilisateur.
Paramètres
event
PointerEvent
edge
element
TElement
Renvoie
void
onEdgeEdit()?
optionalonEdgeEdit: (session) =>HTMLDivElement
Défini dans : interfaces/InterractionCallbacks.ts:310
Appelé lorsqu’une session de modification Edge démarre. Agit comme un hook d'interface utilisateur, reflétant onNodeEdit : renvoie le corps à injecter dans le modal d'édition. Un corps personnalisé est propriétaire du brouillon - modifiez session.draft (ou appelez session.setDraft) au fur et à mesure que l'utilisateur tape, car la bibliothèque n'a aucun formulaire à lire lors de la soumission.
Paramètres
session
EdgeEditSession
La session d'édition en périphérie
Renvoie
HTMLDivElement
Un HTML Div qui sera injecté dans le corps du modal
onEdgeEditCancel()?
optionalonEdgeEditCancel: (edge) =>void
Défini dans : interfaces/InterractionCallbacks.ts:325
Appelé lorsqu’une session de modification Edge est annulée.
Paramètres
edge
Renvoie
void
onEdgeHoverIn()?
optionalonEdgeHoverIn: (event,edge,element) =>void
Défini dans : interfaces/InterractionCallbacks.ts:107
Appelé lorsqu'un utilisateur survole un bord.
Paramètres
event
PointerEvent
edge
element
TElement
Renvoie
void
onEdgeHoverOut()?
optionalonEdgeHoverOut: (event,edge,element) =>void
Défini dans : interfaces/InterractionCallbacks.ts:111
Appelé lorsqu'un utilisateur survole un bord.
Paramètres
event
PointerEvent
edge
element
TElement
Renvoie
void
onEdgeSelect()?
optionalonEdgeSelect: (edge,element) =>void
Défini dans : interfaces/InterractionCallbacks.ts:97
Appelé lorsqu'un bord est sélectionné par l'utilisateur.
Paramètres
edge
element
TElement
Renvoie
void
onNodeBlur()?
optionalonNodeBlur: (node,element) =>void
Défini dans : interfaces/InterractionCallbacks.ts:59
Appelé lorsqu'un nœud est désélectionné par l'utilisateur.
Paramètres
node
element
TElement
Renvoie
void
onNodeClick()?
optionalonNodeClick: (event,node,element) =>void
Défini dans : interfaces/InterractionCallbacks.ts:16
Appelé lorsqu'un nœud est cliqué.
Paramètres
event
PointerEvent
node
element
TElement
Renvoie
void
onNodeContextmenu()?
optionalonNodeContextmenu: (event,node,element) =>void
Défini dans : interfaces/InterractionCallbacks.ts:26
Appelé lorsqu'un clic droit est effectué sur un nœud.
Paramètres
event
PointerEvent
node
element
TElement
Renvoie
void
onNodeDbclick()?
optionalonNodeDbclick: (event,node,element) =>void
Défini dans : interfaces/InterractionCallbacks.ts:21
Appelé lorsqu'un nœud est double-cliqué.
Paramètres
event
PointerEvent
node
element
TElement
Renvoie
void
onNodeDragended()?
optionalonNodeDragended: (event,node) =>void
Défini dans : interfaces/InterractionCallbacks.ts:79
Appelé lorsqu'un déplacement de nœud se termine.
Paramètres
event
MouseEvent
node
Renvoie
void
onNodeDragging()?
optionalonNodeDragging: (event,node) =>void
Défini dans : interfaces/InterractionCallbacks.ts:74
Appelé lorsqu'un nœud est déplacé.
Paramètres
event
MouseEvent
node
Renvoie
void
onNodeEdit()?
optionalonNodeEdit: (session) =>HTMLDivElement
Défini dans : interfaces/InterractionCallbacks.ts:208
Appelé lorsqu'une session de modification de nœud démarre. Agir comme un hook d’interface utilisateur.
Paramètres
session
NodeEditSession
La session d'édition de nœud
Renvoie
HTMLDivElement
Un HTML Div qui sera injecté dans le corps du modal
onNodeEditCancel()?
optionalonNodeEditCancel: (node) =>void
Défini dans : interfaces/InterractionCallbacks.ts:220
Appelé lorsqu'une session de modification de nœud est annulée
Paramètres
node
Renvoie
void
onNodeHoverIn()?
optionalonNodeHoverIn: (event,node,element) =>void
Défini dans : interfaces/InterractionCallbacks.ts:31
Appelé lorsqu'un utilisateur survole un nœud.
Paramètres
event
PointerEvent
node
element
TElement
Renvoie
void
onNodeHoverOut()?
optionalonNodeHoverOut: (event,node,element) =>void
Défini dans : interfaces/InterractionCallbacks.ts:35
Appelé lorsqu'un utilisateur survole un nœud.
Paramètres
event
PointerEvent
node
element
TElement
Renvoie
void
onNodePointerDown()?
optionalonNodePointerDown: (event,node,element) =>void
Défini dans : interfaces/InterractionCallbacks.ts:40
Appelé lorsqu'un utilisateur pointe vers un nœud.
Paramètres
event
PointerEvent
node
element
TElement
Renvoie
void
onNodePointerUp()?
optionalonNodePointerUp: (event,node,element) =>void
Défini dans : interfaces/InterractionCallbacks.ts:44
Appelé lorsqu'un utilisateur pointe vers un nœud.
Paramètres
event
PointerEvent
node
element
TElement
Renvoie
void
onNodeSelect()?
optionalonNodeSelect: (node,element) =>void
Défini dans : interfaces/InterractionCallbacks.ts:49
Appelé lorsqu'un nœud est sélectionné par l'utilisateur.
Paramètres
node
element
TElement
Renvoie
void
onNodesSelect()?
optionalonNodesSelect: (selection) =>void
Défini dans : interfaces/InterractionCallbacks.ts:54
Appelé lorsque les nœuds sont sélectionnés par l'utilisateur.
Paramètres
selection
NodeSelection<TElement>[]
Renvoie
void
onNoteClick()?
optionalonNoteClick: (event,note,element) =>void
Défini dans : interfaces/InterractionCallbacks.ts:116
Appelé lorsqu'un clic sur une note est effectué.
Paramètres
event
PointerEvent
note
element
TElement
Renvoie
void
onNoteContextmenu()?
optionalonNoteContextmenu: (event,note,element) =>void
Défini dans : interfaces/InterractionCallbacks.ts:126
Appelé lorsqu'un clic droit sur une note est effectué.
Paramètres
event
PointerEvent
note
element
TElement
Renvoie
void
onNoteDbclick()?
optionalonNoteDbclick: (event,note,element) =>void
Défini dans : interfaces/InterractionCallbacks.ts:121
Appelé lorsqu'un double-clic sur une note.
Paramètres
event
PointerEvent
note
element
TElement
Renvoie
void
onNoteDragging()?
optionalonNoteDragging: (event,note) =>void
Défini dans : interfaces/InterractionCallbacks.ts:157
Appelé lorsqu'un utilisateur pointe vers un nœud.
Paramètres
event
PointerEvent
note
Renvoie
void
onNoteHandleClick()?
optionalonNoteHandleClick: (event,note,handle) =>void
Défini dans : interfaces/InterractionCallbacks.ts:149
Appelé lorsqu'un utilisateur pointe vers un nœud.
Paramètres
event
PointerEvent
note
handle
HTMLElement
Renvoie
void
onNoteHandlePointerDown()?
optionalonNoteHandlePointerDown: (event,note,handle) =>void
Défini dans : interfaces/InterractionCallbacks.ts:153
Appelé lorsqu'un utilisateur pointe vers un nœud.
Paramètres
event
PointerEvent
note
handle
HTMLElement
Renvoie
void
onNoteHoverIn()?
optionalonNoteHoverIn: (event,note,element) =>void
Défini dans : interfaces/InterractionCallbacks.ts:131
Appelé lorsqu'un utilisateur survole une note.
Paramètres
event
PointerEvent
note
element
TElement
Renvoie
void
onNoteHoverOut()?
optionalonNoteHoverOut: (event,note,element) =>void
Défini dans : interfaces/InterractionCallbacks.ts:135
Appelé lorsqu'un utilisateur survole une note.
Paramètres
event
PointerEvent
note
element
TElement
Renvoie
void
onNotePointerDown()?
optionalonNotePointerDown: (event,note,element) =>void
Défini dans : interfaces/InterractionCallbacks.ts:140
Appelé lorsqu'un utilisateur pointe vers un nœud.
Paramètres
event
PointerEvent
note
element
TElement
Renvoie
void
onNotePointerUp()?
optionalonNotePointerUp: (event,note,element) =>void
Défini dans : interfaces/InterractionCallbacks.ts:144
Appelé lorsqu'un utilisateur pointe vers un nœud.
Paramètres
event
PointerEvent
note
element
TElement
Renvoie
void
onSimulationSlowTick()?
optionalonSimulationSlowTick: () =>void
Défini dans : interfaces/InterractionCallbacks.ts:201
Appelé lorsque chaque dixième de simulation se déroule.
Renvoie
void
onSimulationTick()?
optionalonSimulationTick: () =>void
Défini dans : interfaces/InterractionCallbacks.ts:196
Appelé lorsque la simulation démarre.
Renvoie
void