UNPKG

@logicflow/extension

Version:
43 lines (42 loc) 1.65 kB
import LogicFlow, { Model, BaseNodeModel, BaseEdgeModel } from '@logicflow/core'; import AnchorConfig = Model.AnchorConfig; import Point = LogicFlow.Point; export type ProximityConnectProps = { enable: boolean; distance: number; reverseDirection: boolean; virtualEdgeStyle: Record<string, unknown>; }; export declare class ProximityConnect { static pluginName: string; enable: boolean; lf: LogicFlow; closestNode?: BaseNodeModel; currentDistance: number; thresholdDistance: number; currentNode?: BaseNodeModel; reverseDirection: boolean; currentAnchor?: AnchorConfig; closestAnchor?: AnchorConfig; virtualEdge?: BaseEdgeModel; virtualEdgeStyle: Record<string, unknown>; constructor({ lf, options, }: LogicFlow.IExtensionProps & { options: ProximityConnectProps; }); render(): void; addEventListeners(): void; handleNodeDrag(): void; handleDrop(): void; handleAnchorDrag(clientX: number, clientY: number): void; findClosestAnchorOfNode(draggingNode: BaseNodeModel, allNodes: BaseNodeModel[]): void; findClosestAnchorOfAnchor(draggingPoint: Point, allNodes: BaseNodeModel[]): void; anchorAllowConnect(node: BaseNodeModel, anchor: AnchorConfig, draggingAnchor: AnchorConfig | undefined): boolean | undefined; sameEdgeIsExist(edge: BaseEdgeModel): boolean; addVirtualEdge(): void; addActualEdge(): void; setVirtualEdgeStyle(value: Record<string, unknown>): void; setThresholdDistance(distance: number): void; setReverseDirection(value: boolean): void; setEnable(enable: boolean): void; resetData(): void; }