Skip to content

Callbacks

Pivotick allows you to hook into user interactions and simulation events through the callbacks option. You can provide functions for various events on the canvas, nodes, and edges.

Canvas Callbacks

CallbackParametersDescription
onCanvasClick(event: PointerEvent)Fired when the canvas is clicked.
onCanvasContextmenu(event: PointerEvent)Fired on canvas right-click.
onCanvasMousemove(event: MouseEvent)Fired when the mouse moves over the canvas.
onCanvasZoom(event: unknown)Fired when the canvas zoom level changes.

Node Callbacks

CallbackParametersDescription
onNodeClick(event: PointerEvent, node: Node, element: TElement)Fired when a node is clicked.
onNodeDbclick(event: PointerEvent, node: Node, element: TElement)Fired when a node is double-clicked.
onNodeContextmenu(event: PointerEvent, node: Node, element: TElement)Fired on node right-click.
onNodeHoverIn(event: PointerEvent, node: Node, element: TElement)Fired when the mouse enters a node.
onNodeHoverOut(event: PointerEvent, node: Node, element: TElement)Fired when the mouse leaves a node.
onNodeSelect(node: Node, element: TElement)Fired when a node becomes selected.
onNodeBlur(node: Node, element: TElement)Fired when a node loses focus/selection.
onNodeDragging(event: MouseEvent, node: Node)Fired continuously while a node is being dragged.
onNodeExpansion(event: PointerEvent, edge: Edge, element: TElement)Fired when a node is expanded or collapsed.

Edge Callbacks

CallbackParametersDescription
onEdgeClick(event: PointerEvent, edge: Edge, element: TElement)Fired when an edge is clicked.
onEdgeDbclick(event: PointerEvent, edge: Edge, element: TElement)Fired when an edge is double-clicked.
onEdgeContextmenu(event: PointerEvent, edge: Edge, element: TElement)Fired on edge right-click.
onEdgeHoverIn(event: PointerEvent, edge: Edge, element: TElement)Fired when the mouse enters an edge.
onEdgeHoverOut(event: PointerEvent, edge: Edge, element: TElement)Fired when the mouse leaves an edge.
onEdgeSelect(edge: Edge, element: TElement)Fired when an edge becomes selected.
onEdgeBlur(edge: Edge, element: TElement)Fired when an edge loses focus/selection.

Simulation Callbacks

CallbackParametersDescription
onSimulationTick()Fired every simulation tick.
onSimulationSlowTick()Fired occasionally during simulation (every tenth of simulationTick).

INFO

The element type is svg only if the option render.type == "svg".

Example

js
import Pivotick from './pivotick.es.js'

options = {
    callbacks: { 
        onNodeClick: (event, node) => {
            console.log('Node clicked:', node.id)
        },
        onNodeHoverIn: (event, node) => {
            console.log('Mouse entered node:', node.id)
        },
        onSimulationTick: () => {
            console.log('Simulation tick')
        }
    }
}
const graph = new Pivotick(container, data, options)