File size: 2,017 Bytes
bc20498
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
import type { NodeBase, NodeDragItem, EdgeBase, CoordinateExtent, NodeOrigin, OnError, SnapGrid, Transform, PanBy, OnSelectionDrag, UpdateNodePositions, InternalNodeBase } from '../types';
export type OnDrag = (event: MouseEvent, dragItems: Map<string, NodeDragItem>, node: NodeBase, nodes: NodeBase[]) => void;
type StoreItems<OnNodeDrag> = {
    nodes: NodeBase[];
    nodeLookup: Map<string, InternalNodeBase>;
    edges: EdgeBase[];
    nodeExtent: CoordinateExtent;
    snapGrid: SnapGrid;
    snapToGrid: boolean;
    nodeOrigin: NodeOrigin;
    multiSelectionActive: boolean;
    domNode?: Element | null;
    transform: Transform;
    autoPanOnNodeDrag: boolean;
    nodesDraggable: boolean;
    selectNodesOnDrag: boolean;
    nodeDragThreshold: number;
    panBy: PanBy;
    unselectNodesAndEdges: (params?: {
        nodes?: NodeBase[];
        edges?: EdgeBase[];
    }) => void;
    onError?: OnError;
    onNodeDragStart?: OnNodeDrag;
    onNodeDrag?: OnNodeDrag;
    onNodeDragStop?: OnNodeDrag;
    onSelectionDragStart?: OnSelectionDrag;
    onSelectionDrag?: OnSelectionDrag;
    onSelectionDragStop?: OnSelectionDrag;
    updateNodePositions: UpdateNodePositions;
    autoPanSpeed?: number;
};
export type XYDragParams<OnNodeDrag> = {
    getStoreItems: () => StoreItems<OnNodeDrag>;
    onDragStart?: OnDrag;
    onDrag?: OnDrag;
    onDragStop?: OnDrag;
    onNodeMouseDown?: (id: string) => void;
    autoPanSpeed?: number;
};
export type XYDragInstance = {
    update: (params: DragUpdateParams) => void;
    destroy: () => void;
};
export type DragUpdateParams = {
    noDragClassName?: string;
    handleSelector?: string;
    isSelectable?: boolean;
    nodeId?: string;
    domNode: Element;
    nodeClickDistance?: number;
};
export declare function XYDrag<OnNodeDrag extends (e: any, nodes: any, node: any) => void | undefined>({ onNodeMouseDown, getStoreItems, onDragStart, onDrag, onDragStop, }: XYDragParams<OnNodeDrag>): XYDragInstance;
export {};
//# sourceMappingURL=XYDrag.d.ts.map