Pular para o conteúdo

pivotick v3.0.0


pivotick / InterractionCallbacks / InterractionCallbacks

Interface: InterractionCallbacks<TElement> ​

Definido em: interfaces/InterractionCallbacks.ts:12

Parâmetros de tipo ​

TElement ​

TElement = unknown

Propriedades ​

isValidConnection()? ​

optional isValidConnection: (source, target) => boolean

Definido em: interfaces/InterractionCallbacks.ts:251

Predicado de validade ao vivo avaliado durante o gesto de conexão enquanto o cursor passa pelos alvos candidatos (à la React Flow's isValidConnection). Retorne false para marcar o alvo pairado como inválido: a borda da sombra é renderizada em um estilo inválido e soltar/clicar nela não cria nada (nesse caso onBeforeEdgeCreate não é consultado). É executado a cada movimento do ponteiro, portanto deve ser síncrono e barato.

Parâmetros ​

source ​

Node | Note

target ​

Node

Retorno ​

boolean


onBadgeClick()? ​

optional onBadgeClick: (event, node, badge, element) => void

Definido em: interfaces/InterractionCallbacks.ts:69

Chamado quando qualquer um dos emblemas de aro de um nó é clicado, após o próprio onClick desse emblema. Use-o para o comportamento que cada crachá compartilha; use NodeBadge.onClick para a própria ação de um emblema.

Declará-lo faz com que cada crachá pegue o cursor do ponteiro e consuma seu clique, de forma que o nó abaixo também não seja selecionado.

Parâmetros ​

event ​

PointerEvent

node ​

Node

badge ​

NodeBadge

element ​

TElement

Retorno ​

void


onBeforeDelete()? ​

optional onBeforeDelete: (context) => DeleteDecision | Promise<DeleteDecision>

Definido em: interfaces/InterractionCallbacks.ts:277

Chamado quando o usuário pede para excluir elementos do gráfico, before qualquer coisa é removida. A biblioteca resolve primeiro todo o conjunto de destino - incluindo as arestas que a remoção de um nó levaria consigo (DeleteContext.cascadingEdges) - para que um consumidor possa persistir todas as consequências do gesto sem derivar novamente a cascata.

  • Retorne false / { accept: false } para vetar: nada é removido, nenhum nodeRemove/edgeRemove/noteRemove dispara e a seleção é deixada intacta.
  • Retorne true para excluir exatamente o que foi solicitado.
  • Retorne { accept: true, nodes?, edges?, notes? } para narrow a exclusão de um subconjunto - por exemplo. mantenha apenas o que o back-end realmente excluiu. Uma chave omitida significa "conforme solicitado", então { accept: true } é equivalente a true; passe um array vazio para poupar totalmente esse tipo. Os elementos que não faziam parte da solicitação são ignorados.

Pode ser assíncrono (persistir na exclusão e depois decidir) — um segundo gesto de exclusão é ignorado enquanto uma decisão está pendente. DeleteContext.confirm abre um modal de confirmação para que os consumidores não reconstruam um.

Somente exclusões iniciadas pelo usuário são bloqueadas: programático graph.removeNode() / graph.removeEdge() / noteManager.removeNote() nunca invoca esse gancho, portanto, o código do consumidor que conduz o modelo não é bloqueado pelo próprio portão do consumidor.

Parâmetros ​

context ​

DeleteContext

Retorno ​

DeleteDecision | Promise<DeleteDecision>


onBeforeEdgeCreate()? ​

optional onBeforeEdgeCreate: (context) => EdgeCreateDecision | Promise<EdgeCreateDecision>

Definido em: interfaces/InterractionCallbacks.ts:241

Chamado durante um gesto de conexão, depois que o nó de destino é resolvido, mas before a borda (ou link de nota) é criada. Atua como o equivalente de borda de onBeforeNodeEditCommit: um gancho de validação/enriquecimento/veto.

  • Retorne false / { accept: false } para vetar: a visualização é descartada, nada é adicionado e o modo de conexão permanece armado para que o usuário possa tentar novamente.
  • Retorne true para aceitar os padrões.
  • Retorne { accept: true, data?, style?, id?, directed? } para aceitar e fornecer a carga útil/estilo/id/direção da nova borda.

Pode ser assíncrono (por exemplo, persistir em um back-end antes de decidir); a visualização da borda da sombra persiste até que a promessa seja cumprida e nenhum novo gesto de conexão é aceito enquanto estiver pendente. Dispara tanto para clicar quanto para arrastar para conectar. Também é acionado para links de nota → nó (EdgeCreateContext.kind 'note-link'), onde os campos específicos da borda da decisão são ignorados.

Parâmetros ​

context ​

EdgeCreateContext

Retorno ​

EdgeCreateDecision | Promise<EdgeCreateDecision>

se a conexão deve ser criada, opcionalmente com seus dados.


onBeforeEdgeEditCommit()? ​

optional onBeforeEdgeEditCommit: (context) => boolean | Promise<boolean>

Definido em: interfaces/InterractionCallbacks.ts:320

Chamado quando uma sessão de edição de borda está prestes a ser confirmada. Atua como um gancho de validação/persistência/veto, espelhando onBeforeNodeEditCommit: retorno false (ou uma promessa dele) para recusar, deixando os dados da borda intocados e o modal aberto. Em caso de sucesso, os dados da borda são substituídos e edgeChange é acionado no barramento de dados.

Parâmetros ​

context ​

EdgeEditCommitContext

Retorno ​

boolean | Promise<boolean>

se o commit deve prosseguir


onBeforeIngest()? ​

optional onBeforeIngest: (context) => IngestDecision | Promise<IngestDecision>

Definido em: interfaces/InterractionCallbacks.ts:300

Chamado uma vez, com todo o conjunto de candidatos, pouco antes de um pivô ingere-o — a única porta no pipeline de ingestão.

  • Retorne false / { accept: false } para vetar: nada pousa e a corrida reporta 'vetoed'.
  • Retorne true para ingerir exatamente o que foi escolhido.
  • Retorne { accept: true, nodes?, edges? } para narrow a ingestão para um subconjunto - por exemplo. apenas o que o back-end confirmou. Uma chave omitida significa "conforme solicitado", então { accept: true } é equivalente a true; passe um array vazio para não encontrar nada desse tipo.

Chamado uma vez por ingestão com o lote inteiro, nunca por candidato: um pivô que encontrou 1.800 correlações não deve se transformar em 1.800 chamadas de gancho, e os ganchos de caminho de gravação por gesto (onBeforeEdgeCreate, onBeforeDelete) são deliberadamente sobre gestos do usuário, em vez de uma mesclagem programática. Ele também bloqueia os pivôs autoIngest, que é o que os mantém governados.

Pode ser assíncrono (persista e depois decida). IngestContext.confirm abre o modal de confirmação compartilhada.

Parâmetros ​

context ​

IngestContext

Retorno ​

IngestDecision | Promise<IngestDecision>


onBeforeNodeCreate()? ​

optional onBeforeNodeCreate: (context) => NodeCreateDecision | Promise<NodeCreateDecision>

Definido em: interfaces/InterractionCallbacks.ts:342

Chamado quando o usuário cria um nó interativamente (Criar ▸ Adicionar nó ou "Adicionar nó aqui" do menu de contexto da tela), uma vez que a posição do espaço gráfico é conhecida e antes do nó ser adicionado. Espelhos onBeforeEdgeCreate:

  • Retorne false / { accept: false } para vetar — nada é adicionado.
  • Retorne true para aceitar o nó padrão da biblioteca.
  • Retorne { accept: true, id?, data?, style? } para aceitar e fornecer o id/carga útil/estilo do novo nó.

Pode ser assíncrono e NodeCreateContext.promptData abre o mesmo formato declarativo ou modal HTML personalizado que o gancho de borda usa. Sem esse gancho, a ferramenta ainda funciona — ela apenas cria um nó padrão sem nome. Programático graph.addNode() nunca é bloqueado.

Parâmetros ​

context ​

NodeCreateContext

Retorno ​

NodeCreateDecision | Promise<NodeCreateDecision>


onBeforeNodeEditCommit()? ​

optional onBeforeNodeEditCommit: (context) => boolean | Promise<boolean>

Definido em: interfaces/InterractionCallbacks.ts:216

Chamado quando uma sessão de edição de nó está prestes a ser confirmada. Atua como um gancho de validação/persistência/veto: retorne false (ou uma promessa dele) para recusar, deixando os dados do nó intocados e o modal aberto. Em caso de sucesso, os dados do nó são substituídos e nodeChange é acionado no barramento de dados.

Parâmetros ​

context ​

NodeEditCommitContext

Retorno ​

boolean | Promise<boolean>

booleano indicando se o commit deve prosseguir ou não


onCanvasBeforeZoom()? ​

optional onCanvasBeforeZoom: (event) => void

Definido em: interfaces/InterractionCallbacks.ts:176

Chamado quando a tela está prestes a ser ampliada.

Parâmetros ​

event ​

unknown

Retorno ​

void


onCanvasClick()? ​

optional onCanvasClick: (event) => void

Definido em: interfaces/InterractionCallbacks.ts:162

Chamado quando a tela é clicada.

Parâmetros ​

event ​

PointerEvent

Retorno ​

void


onCanvasContextmenu()? ​

optional onCanvasContextmenu: (event) => void

Definido em: interfaces/InterractionCallbacks.ts:186

Chamado quando a tela é clicada com o botão direito.

Parâmetros ​

event ​

PointerEvent

Retorno ​

void


onCanvasMousemove()? ​

optional onCanvasMousemove: (event) => void

Definido em: interfaces/InterractionCallbacks.ts:191

Chamado quando o mouse passa sobre a tela.

Parâmetros ​

event ​

MouseEvent

Retorno ​

void


onCanvasPointerDown()? ​

optional onCanvasPointerDown: (event) => void

Definido em: interfaces/InterractionCallbacks.ts:167

Chamado quando um usuário aponta para baixo na tela.

Parâmetros ​

event ​

PointerEvent

Retorno ​

void


onCanvasPointerUp()? ​

optional onCanvasPointerUp: (event) => void

Definido em: interfaces/InterractionCallbacks.ts:171

Chamado quando um usuário aponta para cima na tela.

Parâmetros ​

event ​

PointerEvent

Retorno ​

void


onCanvasZoom()? ​

optional onCanvasZoom: (event) => void

Definido em: interfaces/InterractionCallbacks.ts:181

Chamado quando a tela é ampliada.

Parâmetros ​

event ​

unknown

Retorno ​

void


onEdgeBlur()? ​

optional onEdgeBlur: (edge, element) => void

Definido em: interfaces/InterractionCallbacks.ts:102

Chamado quando uma borda não é selecionada pelo usuário.

Parâmetros ​

edge ​

Edge

element ​

TElement

Retorno ​

void


onEdgeClick()? ​

optional onEdgeClick: (event, edge, element) => void

Definido em: interfaces/InterractionCallbacks.ts:84

Chamado quando uma borda é selecionada pelo usuário.

Parâmetros ​

event ​

PointerEvent

edge ​

Edge

element ​

TElement

Retorno ​

void


onEdgeContextmenu()? ​

optional onEdgeContextmenu: (event, edge, element) => void

Definido em: interfaces/InterractionCallbacks.ts:92

Chamado quando uma borda é clicada com o botão direito.

Parâmetros ​

event ​

PointerEvent

edge ​

Edge

element ​

TElement

Retorno ​

void


onEdgeDbclick()? ​

optional onEdgeDbclick: (event, edge, element) => void

Definido em: interfaces/InterractionCallbacks.ts:88

Chamado quando uma borda é selecionada pelo usuário.

Parâmetros ​

event ​

PointerEvent

edge ​

Edge

element ​

TElement

Retorno ​

void


onEdgeEdit()? ​

optional onEdgeEdit: (session) => HTMLDivElement

Definido em: interfaces/InterractionCallbacks.ts:310

Chamado quando uma sessão de edição de borda é iniciada. Atua como um gancho de UI, espelhando onNodeEdit: retorne o corpo para injetar no modal de edição. Um corpo personalizado possui o rascunho - altere session.draft (ou chame session.setDraft) conforme o usuário digita, porque a biblioteca não possui formulário para ler no envio.

Parâmetros ​

session ​

EdgeEditSession

A sessão de edição de borda

Retorno ​

HTMLDivElement

Um HTML Div que será injetado no corpo do modal


onEdgeEditCancel()? ​

optional onEdgeEditCancel: (edge) => void

Definido em: interfaces/InterractionCallbacks.ts:325

Chamado quando uma sessão de edição de borda é cancelada.

Parâmetros ​

edge ​

Edge

Retorno ​

void


onEdgeHoverIn()? ​

optional onEdgeHoverIn: (event, edge, element) => void

Definido em: interfaces/InterractionCallbacks.ts:107

Chamado quando um usuário passa o mouse sobre uma borda.

Parâmetros ​

event ​

PointerEvent

edge ​

Edge

element ​

TElement

Retorno ​

void


onEdgeHoverOut()? ​

optional onEdgeHoverOut: (event, edge, element) => void

Definido em: interfaces/InterractionCallbacks.ts:111

Chamado quando um usuário passa o mouse sobre uma borda.

Parâmetros ​

event ​

PointerEvent

edge ​

Edge

element ​

TElement

Retorno ​

void


onEdgeSelect()? ​

optional onEdgeSelect: (edge, element) => void

Definido em: interfaces/InterractionCallbacks.ts:97

Chamado quando uma borda é selecionada pelo usuário.

Parâmetros ​

edge ​

Edge

element ​

TElement

Retorno ​

void


onNodeBlur()? ​

optional onNodeBlur: (node, element) => void

Definido em: interfaces/InterractionCallbacks.ts:59

Chamado quando um nó não é selecionado pelo usuário.

Parâmetros ​

node ​

Node

element ​

TElement

Retorno ​

void


onNodeClick()? ​

optional onNodeClick: (event, node, element) => void

Definido em: interfaces/InterractionCallbacks.ts:16

Chamado quando um nó é clicado.

Parâmetros ​

event ​

PointerEvent

node ​

Node

element ​

TElement

Retorno ​

void


onNodeContextmenu()? ​

optional onNodeContextmenu: (event, node, element) => void

Definido em: interfaces/InterractionCallbacks.ts:26

Chamado quando um nó é clicado com o botão direito.

Parâmetros ​

event ​

PointerEvent

node ​

Node

element ​

TElement

Retorno ​

void


onNodeDbclick()? ​

optional onNodeDbclick: (event, node, element) => void

Definido em: interfaces/InterractionCallbacks.ts:21

Chamado quando um nó é clicado duas vezes.

Parâmetros ​

event ​

PointerEvent

node ​

Node

element ​

TElement

Retorno ​

void


onNodeDragended()? ​

optional onNodeDragended: (event, node) => void

Definido em: interfaces/InterractionCallbacks.ts:79

Chamado quando um arrasto de nó termina.

Parâmetros ​

event ​

MouseEvent

node ​

Node

Retorno ​

void


onNodeDragging()? ​

optional onNodeDragging: (event, node) => void

Definido em: interfaces/InterractionCallbacks.ts:74

Chamado quando um nó é arrastado.

Parâmetros ​

event ​

MouseEvent

node ​

Node

Retorno ​

void


onNodeEdit()? ​

optional onNodeEdit: (session) => HTMLDivElement

Definido em: interfaces/InterractionCallbacks.ts:208

Chamado quando uma sessão de edição de nó é iniciada. Atue como um gancho de UI.

Parâmetros ​

session ​

NodeEditSession

A sessão de edição do nó

Retorno ​

HTMLDivElement

Um HTML Div que será injetado no corpo do modal


onNodeEditCancel()? ​

optional onNodeEditCancel: (node) => void

Definido em: interfaces/InterractionCallbacks.ts:220

Chamado quando uma sessão de edição de nó é cancelada

Parâmetros ​

node ​

Node

Retorno ​

void


onNodeHoverIn()? ​

optional onNodeHoverIn: (event, node, element) => void

Definido em: interfaces/InterractionCallbacks.ts:31

Chamado quando um usuário passa o mouse sobre um nó.

Parâmetros ​

event ​

PointerEvent

node ​

Node

element ​

TElement

Retorno ​

void


onNodeHoverOut()? ​

optional onNodeHoverOut: (event, node, element) => void

Definido em: interfaces/InterractionCallbacks.ts:35

Chamado quando um usuário sai de um nó.

Parâmetros ​

event ​

PointerEvent

node ​

Node

element ​

TElement

Retorno ​

void


onNodePointerDown()? ​

optional onNodePointerDown: (event, node, element) => void

Definido em: interfaces/InterractionCallbacks.ts:40

Chamado quando um usuário aponta para um nó.

Parâmetros ​

event ​

PointerEvent

node ​

Node

element ​

TElement

Retorno ​

void


onNodePointerUp()? ​

optional onNodePointerUp: (event, node, element) => void

Definido em: interfaces/InterractionCallbacks.ts:44

Chamado quando um usuário aponta para um nó.

Parâmetros ​

event ​

PointerEvent

node ​

Node

element ​

TElement

Retorno ​

void


onNodeSelect()? ​

optional onNodeSelect: (node, element) => void

Definido em: interfaces/InterractionCallbacks.ts:49

Chamado quando um nó é selecionado pelo usuário.

Parâmetros ​

node ​

Node

element ​

TElement

Retorno ​

void


onNodesSelect()? ​

optional onNodesSelect: (selection) => void

Definido em: interfaces/InterractionCallbacks.ts:54

Chamado quando os nós são selecionados pelo usuário.

Parâmetros ​

selection ​

NodeSelection<TElement>[]

Retorno ​

void


onNoteClick()? ​

optional onNoteClick: (event, note, element) => void

Definido em: interfaces/InterractionCallbacks.ts:116

Chamado quando uma nota é clicada.

Parâmetros ​

event ​

PointerEvent

note ​

Note

element ​

TElement

Retorno ​

void


onNoteContextmenu()? ​

optional onNoteContextmenu: (event, note, element) => void

Definido em: interfaces/InterractionCallbacks.ts:126

Chamado quando uma nota é clicada com o botão direito.

Parâmetros ​

event ​

PointerEvent

note ​

Note

element ​

TElement

Retorno ​

void


onNoteDbclick()? ​

optional onNoteDbclick: (event, note, element) => void

Definido em: interfaces/InterractionCallbacks.ts:121

Chamado quando uma nota é clicada duas vezes.

Parâmetros ​

event ​

PointerEvent

note ​

Note

element ​

TElement

Retorno ​

void


onNoteDragging()? ​

optional onNoteDragging: (event, note) => void

Definido em: interfaces/InterractionCallbacks.ts:157

Chamado quando um usuário aponta para um nó.

Parâmetros ​

event ​

PointerEvent

note ​

Note

Retorno ​

void


onNoteHandleClick()? ​

optional onNoteHandleClick: (event, note, handle) => void

Definido em: interfaces/InterractionCallbacks.ts:149

Chamado quando um usuário aponta para um nó.

Parâmetros ​

event ​

PointerEvent

note ​

Note

handle ​

HTMLElement

Retorno ​

void


onNoteHandlePointerDown()? ​

optional onNoteHandlePointerDown: (event, note, handle) => void

Definido em: interfaces/InterractionCallbacks.ts:153

Chamado quando um usuário aponta para um nó.

Parâmetros ​

event ​

PointerEvent

note ​

Note

handle ​

HTMLElement

Retorno ​

void


onNoteHoverIn()? ​

optional onNoteHoverIn: (event, note, element) => void

Definido em: interfaces/InterractionCallbacks.ts:131

Chamado quando um usuário passa o mouse sobre uma nota.

Parâmetros ​

event ​

PointerEvent

note ​

Note

element ​

TElement

Retorno ​

void


onNoteHoverOut()? ​

optional onNoteHoverOut: (event, note, element) => void

Definido em: interfaces/InterractionCallbacks.ts:135

Chamado quando um usuário sai de uma nota.

Parâmetros ​

event ​

PointerEvent

note ​

Note

element ​

TElement

Retorno ​

void


onNotePointerDown()? ​

optional onNotePointerDown: (event, note, element) => void

Definido em: interfaces/InterractionCallbacks.ts:140

Chamado quando um usuário aponta para um nó.

Parâmetros ​

event ​

PointerEvent

note ​

Note

element ​

TElement

Retorno ​

void


onNotePointerUp()? ​

optional onNotePointerUp: (event, note, element) => void

Definido em: interfaces/InterractionCallbacks.ts:144

Chamado quando um usuário aponta para um nó.

Parâmetros ​

event ​

PointerEvent

note ​

Note

element ​

TElement

Retorno ​

void


onSimulationSlowTick()? ​

optional onSimulationSlowTick: () => void

Definido em: interfaces/InterractionCallbacks.ts:201

Chamado quando cada décimo da simulação é executado.

Retorno ​

void


onSimulationTick()? ​

optional onSimulationTick: () => void

Definido em: interfaces/InterractionCallbacks.ts:196

Chamado quando a simulação funciona.

Retorno ​

void