diff --git a/src/components/Nodes/wrapNode.tsx b/src/components/Nodes/wrapNode.tsx index 8161eb10..a6902416 100644 --- a/src/components/Nodes/wrapNode.tsx +++ b/src/components/Nodes/wrapNode.tsx @@ -48,6 +48,7 @@ export default (NodeComponent: ComponentType) => { snapGrid, isDragging, resizeObserver, + dragHandle, }: WrapNodeProps) => { const updateNodeDimensions = useStoreActions((actions) => actions.updateNodeDimensions); const addSelectedElements = useStoreActions((actions) => actions.addSelectedElements); @@ -241,6 +242,7 @@ export default (NodeComponent: ComponentType) => { nodeRef={nodeElement} grid={grid} enableUserSelectHack={false} + handle={dragHandle} >
) => { sourcePosition={sourcePosition} targetPosition={targetPosition} isDragging={isDragging} + dragHandle={dragHandle} />
diff --git a/src/container/NodeRenderer/index.tsx b/src/container/NodeRenderer/index.tsx index 99cda713..8b10d69a 100644 --- a/src/container/NodeRenderer/index.tsx +++ b/src/container/NodeRenderer/index.tsx @@ -104,6 +104,7 @@ const NodeRenderer = (props: NodeRendererProps) => { isSelectable={isSelectable} isConnectable={isConnectable} resizeObserver={resizeObserver} + dragHandle={node.dragHandle} /> ); })} diff --git a/src/types/index.ts b/src/types/index.ts index 8006aa1a..8bb678ea 100644 --- a/src/types/index.ts +++ b/src/types/index.ts @@ -49,6 +49,7 @@ export interface Node { draggable?: boolean; selectable?: boolean; connectable?: boolean; + dragHandle?: string; } export enum ArrowHeadType { @@ -186,6 +187,7 @@ export interface NodeProps { targetPosition?: Position; sourcePosition?: Position; isDragging?: boolean; + dragHandle?: string; } export interface NodeComponentProps { @@ -210,6 +212,7 @@ export interface NodeComponentProps { onNodeDragStop?: (node: Node) => void; style?: CSSProperties; isDragging?: boolean; + dragHandle?: string; } export interface WrapNodeProps { @@ -243,6 +246,7 @@ export interface WrapNodeProps { snapGrid?: SnapGrid; isDragging?: boolean; resizeObserver: ResizeObserver | null; + dragHandle?: string; } export type FitViewParams = {