feat(props): add onDrag handler

This commit is contained in:
moklick
2021-01-26 18:17:29 +01:00
parent 16b393c95b
commit 3dedd615af
5 changed files with 23 additions and 8 deletions
+4 -2
View File
@@ -1,9 +1,9 @@
import React, { memo, useMemo, ComponentType, MouseEvent } from 'react';
import { DraggableData } from 'react-draggable';
import { getNodesInside } from '../../utils/graph';
import { useStoreState, useStoreActions } from '../../store/hooks';
import { Node, NodeTypesType, WrapNodeProps, Edge } from '../../types';
import { Node, NodeTypesType, WrapNodeProps, Edge, ElementId } from '../../types';
interface NodeRendererProps {
nodeTypes: NodeTypesType;
selectNodesOnDrag: boolean;
@@ -13,6 +13,7 @@ interface NodeRendererProps {
onNodeMouseLeave?: (event: MouseEvent, node: Node) => void;
onNodeContextMenu?: (event: MouseEvent, node: Node) => void;
onNodeDragStart?: (event: MouseEvent, node: Node) => void;
onNodeDrag?: (event: MouseEvent, nodeId: ElementId, data: DraggableData) => void;
onNodeDragStop?: (event: MouseEvent, node: Node) => void;
snapToGrid: boolean;
snapGrid: [number, number];
@@ -91,6 +92,7 @@ const NodeRenderer = (props: NodeRendererProps) => {
onMouseLeave={props.onNodeMouseLeave}
onContextMenu={props.onNodeContextMenu}
onNodeDragStart={props.onNodeDragStart}
onNodeDrag={props.onNodeDrag}
onNodeDragStop={props.onNodeDragStop}
scale={transform[2]}
selected={selectedElements?.some(({ id }) => id === node.id) || false}