d3-graph-controller
Version:
A TypeScript library for visualizing and simulating directed, interactive graphs.
18 lines (17 loc) • 1.28 kB
text/typescript
import { GraphConfig } from '../config/config.mjs';
import { Canvas, Drag, NodeSelection } from './types.mjs';
import { Graph, NodeTypeToken } from '../model/graph.mjs';
import { GraphLink } from '../model/link.mjs';
import { GraphNode } from '../model/node.mjs';
export declare function defineNodeSelection<T extends NodeTypeToken, Node extends GraphNode<T>>(canvas: Canvas): NodeSelection<T, Node>;
export interface CreateNodesParams<T extends NodeTypeToken, Node extends GraphNode<T>, Link extends GraphLink<T, Node>> {
readonly config: GraphConfig<T, Node, Link>;
readonly drag?: Drag<T, Node> | undefined;
readonly graph: Graph<T, Node, Link>;
readonly onNodeSelected: ((node: Node) => void) | undefined;
readonly onNodeContext: (node: Node) => void;
readonly selection?: NodeSelection<T, Node> | undefined;
readonly showLabels: boolean;
}
export declare function createNodes<T extends NodeTypeToken, Node extends GraphNode<T>, Link extends GraphLink<T, Node>>({ config, drag, graph, onNodeContext, onNodeSelected, selection, showLabels, }: CreateNodesParams<T, Node, Link>): NodeSelection<T, Node> | undefined;
export declare function updateNodes<T extends NodeTypeToken, Node extends GraphNode<T>>(selection?: NodeSelection<T, Node>): void;