diff --git a/src/components/StoreUpdater/index.tsx b/src/components/StoreUpdater/index.tsx index 57b12c7a..afefe1b0 100644 --- a/src/components/StoreUpdater/index.tsx +++ b/src/components/StoreUpdater/index.tsx @@ -18,6 +18,8 @@ import { SnapGrid, DefaultEdgeOptions, FitViewOptions, + OnNodesDelete, + OnEdgesDelete } from '../../types'; interface StoreUpdaterProps { @@ -45,8 +47,8 @@ interface StoreUpdaterProps { defaultEdgeOptions?: DefaultEdgeOptions; fitView?: boolean; fitViewOptions?: FitViewOptions; - onNodesDelete?: (nodes: Node[]) => void; - onEdgesDelete?: (edges: Edge[]) => void; + onNodesDelete?: OnNodesDelete; + onEdgesDelete?: OnEdgesDelete; } const selector = (s: ReactFlowState) => ({ diff --git a/src/types/component-props.ts b/src/types/component-props.ts index e8ebf580..2f3f9c4d 100644 --- a/src/types/component-props.ts +++ b/src/types/component-props.ts @@ -18,14 +18,16 @@ import { KeyCode, PanOnScrollMode, OnEdgeUpdateFunc, - NodeChange, - EdgeChange, OnInit, ProOptions, AttributionPosition, DefaultEdgeOptions, FitViewOptions, BackgroundVariant, + OnNodesDelete, + OnEdgesDelete, + OnNodesChange, + OnEdgesChange } from '.'; export interface ReactFlowProps extends HTMLAttributes { @@ -34,8 +36,8 @@ export interface ReactFlowProps extends HTMLAttributes { defaultNodes?: Node[]; defaultEdges?: Edge[]; defaultEdgeOptions?: DefaultEdgeOptions; - onNodesChange?: (nodeChanges: NodeChange[]) => void; - onEdgesChange?: (edgeChanges: EdgeChange[]) => void; + onNodesChange?: OnNodesChange; + onEdgesChange?: OnEdgesChange; onNodeClick?: (event: React.MouseEvent, node: Node) => void; onEdgeClick?: (event: React.MouseEvent, node: Edge) => void; onNodeDoubleClick?: (event: ReactMouseEvent, node: Node) => void; @@ -46,8 +48,8 @@ export interface ReactFlowProps extends HTMLAttributes { onNodeDragStart?: (event: ReactMouseEvent, node: Node) => void; onNodeDrag?: (event: ReactMouseEvent, node: Node) => void; onNodeDragStop?: (event: ReactMouseEvent, node: Node) => void; - onNodesDelete?: (nodes: Node[]) => void; - onEdgesDelete?: (edges: Edge[]) => void; + onNodesDelete?: OnNodesDelete; + onEdgesDelete?: OnEdgesDelete; onConnect?: OnConnect; onConnectStart?: OnConnectStart; onConnectStop?: OnConnectStop; diff --git a/src/types/general.ts b/src/types/general.ts index ee8bd7fe..230b4604 100644 --- a/src/types/general.ts +++ b/src/types/general.ts @@ -20,6 +20,10 @@ export type OnNodesChange = (nodes: NodeChange[]) => void; export type OnEdgesChange = (nodes: EdgeChange[]) => void; +export type OnNodesDelete = (nodes: Node[]) => void; + +export type OnEdgesDelete = (nodes: Node[]) => void; + export type ZoomInOut = (options?: ViewportHelperFunctionOptions) => void; export type ZoomTo = (zoomLevel: number, options?: ViewportHelperFunctionOptions) => void; export type GetZoom = () => number;