d3-graph-controller
Version:
A TypeScript library for visualizing and simulating directed, interactive graphs.
16 lines (15 loc) • 912 B
text/typescript
import { Selection } from 'd3-selection';
import { D3ZoomEvent } from 'd3-zoom';
import { GraphConfig } from '../config/config.mjs';
import { Zoom } from './types.mjs';
import { NodeTypeToken } from '../model/graph.mjs';
import { GraphLink } from '../model/link.mjs';
import { GraphNode } from '../model/node.mjs';
export interface DefineZoomParams<T extends NodeTypeToken, Node extends GraphNode<T>, Link extends GraphLink<T, Node>> {
readonly canvasContainer: () => Selection<SVGSVGElement, unknown, null, undefined>;
readonly config: GraphConfig<T, Node, Link>;
readonly min: number;
readonly max: number;
readonly onZoom: (event: D3ZoomEvent<SVGSVGElement, undefined>) => void;
}
export declare function defineZoom<T extends NodeTypeToken, Node extends GraphNode<T>, Link extends GraphLink<T, Node>>({ canvasContainer, config, min, max, onZoom, }: DefineZoomParams<T, Node, Link>): Zoom;