UNPKG

d3-graph-controller

Version:

A TypeScript library for visualizing and simulating directed, interactive graphs.

17 lines (16 loc) 1.29 kB
import { D3DragEvent, DragBehavior } from 'd3-drag'; import { Simulation } from 'd3-force'; import { Selection } from 'd3-selection'; import { ZoomBehavior } from 'd3-zoom'; import { NodeTypeToken } from '../model/graph.mjs'; import { GraphLink } from '../model/link.mjs'; import { GraphNode } from '../model/node.mjs'; export type Canvas = Selection<SVGGElement, undefined, null, undefined>; export type Drag<T extends NodeTypeToken, Node extends GraphNode<T>> = DragBehavior<SVGGElement, Node, Node>; export type NodeDragEvent<T extends NodeTypeToken, Node extends GraphNode<T>> = D3DragEvent<SVGCircleElement, Node, Node>; export type GraphHost = Selection<HTMLDivElement, undefined, null, undefined>; export type GraphSimulation<T extends NodeTypeToken, Node extends GraphNode<T>, Link extends GraphLink<T, Node>> = Simulation<Node, Link>; export type LinkSelection<T extends NodeTypeToken, Node extends GraphNode<T>, Link extends GraphLink<T, Node>> = Selection<SVGGElement, Link, SVGGElement, undefined>; export type MarkerSelection = Selection<SVGMarkerElement, string, SVGGElement, undefined>; export type NodeSelection<T extends NodeTypeToken, Node extends GraphNode<T>> = Selection<SVGGElement, Node, SVGGElement, undefined>; export type Zoom = ZoomBehavior<SVGSVGElement, undefined>;