trassel
Version:
Graph computing in JavaScript
100 lines (99 loc) • 3.56 kB
TypeScript
export class Renderer {
constructor(element: any, nodes?: any[], edges?: any[], options?: {});
WebGLRenderer: WebGLRenderer;
/**
* Registers an event listener
* @param {string} name - Event name to listen for
* @param {() => any} fn - Callback on event
*/
on(name: string, fn: () => any): void;
/**
* Toggles the lasso selector on and off
* @param {boolean} newStatus - If provided the lasso status will be set, otherwise toggled
*/
toggleLasso(newStatus: boolean): void;
/**
* Selects or deselects a node.
* @param {{id: string, renderer: { _private: { selected: boolean } }}} node
* @param {boolean} value - Optional value to set. If ommitted current value will be toggled.
*/
toggleSelectNode(node: {
id: string;
renderer: {
_private: {
selected: boolean;
};
};
}, value?: boolean): void;
/**
* Updates the nodes and edges in the renderer.
* @param {import("../model/rendereroptions").INodeWithRendererOptions[]} nodes
* @param {import("../model/rendereroptions").IEdgeWithRendererOptions[]} edges
*/
updateNodesAndEdges(nodes: import("../model/rendereroptions").INodeWithRendererOptions[], edges: import("../model/rendereroptions").IEdgeWithRendererOptions[]): void;
/**
* Returns if the node is selected or not
* @param {import("../model/ibasicnode").IBasicNode} - Node to check
* @returns {boolean} - selected status
*/
isNodeSelected(node: any): boolean;
/**
* Clears all node selections
*/
clearAllNodeSelections(): void;
/**
* Sets the line type for edges
* @param {"line" | "taxi" | "orthogonal" | "cubicbezier"} newType
*/
setLineType(newType: "line" | "taxi" | "orthogonal" | "cubicbezier"): void;
/**
* scales and moves the view so that all nodes are included in the view
* @param {number} duration - Time in milliseconds for the transition
*/
zoomToFit(duration?: number): void;
/**
* Sets new coordinates and scale for the renderer's stage
* @param {number} x
* @param {number} y
* @param {number} scale
*/
setTransform(x: number, y: number, scale: number): void;
/**
* Takes coordinates from the viewport as input and returns the local (relative) coordinates
* @param {number} x - Viewport X coordinate
* @param {number} y - Viewport Y coordinate
*/
viewportToLocalCoordinates(x: number, y: number): {
x: any;
y: any;
};
/**
* Takes coordinates from the graph as input and returns the corresponding viewport coordinates
* @param {number} x - Local X coordinate
* @param {number} y - Local Y coordinate
*/
localToViewportCoordinates(x: number, y: number): {
x: any;
y: any;
};
/**
* disables and grays out nodes that match a given filter function.
* Connected edges will also be disabled.
* @param {import("../model/rendereroptions").INodeWithRendererOptions => boolean} fn - filter function for nodes
*/
disableNodes(fn: any): void;
/**
* Clears all disabled statuses on nodes and edges
*/
clearAllDisabledStatuses(): void;
/**
* Cleanup function when dismounting.
*/
dismount(): void;
/**
* Main render function that updates the canvas.
* This can be used to trigger manual updates.
*/
render(): void;
}
import { WebGLRenderer } from "./renderer";