Narrow NodeProps type properties selected, selectable, draggable and deletable required

This commit is contained in:
peterkogo
2025-01-20 11:20:33 +01:00
parent 1d29ae5f75
commit 98b212f0d5
3 changed files with 10 additions and 19 deletions
@@ -202,7 +202,7 @@ export function NodeWrapper<NodeType extends Node>({
type={nodeType} type={nodeType}
positionAbsoluteX={internals.positionAbsolute.x} positionAbsoluteX={internals.positionAbsolute.x}
positionAbsoluteY={internals.positionAbsolute.y} positionAbsoluteY={internals.positionAbsolute.y}
selected={node.selected} selected={node.selected ?? false}
selectable={isSelectable} selectable={isSelectable}
draggable={isDraggable} draggable={isDraggable}
deletable={node.deletable ?? true} deletable={node.deletable ?? true}
@@ -54,7 +54,9 @@
nodeDragThreshold, nodeDragThreshold,
selectNodesOnDrag, selectNodesOnDrag,
handleNodeSelection, handleNodeSelection,
updateNodeInternals updateNodeInternals,
elementsSelectable,
nodesDraggable
} = store; } = store;
let nodeRef: HTMLDivElement; let nodeRef: HTMLDivElement;
@@ -194,14 +196,14 @@
this={nodeComponent} this={nodeComponent}
{data} {data}
{id} {id}
{selected} selected={selected ?? false}
{selectable} selectable={selectable ?? $elementsSelectable ?? true}
{deletable} deletable={deletable ?? true}
{sourcePosition} {sourcePosition}
{targetPosition} {targetPosition}
{zIndex} {zIndex}
{dragging} {dragging}
{draggable} draggable={draggable ?? $nodesDraggable ?? true}
{dragHandle} {dragHandle}
{parentId} {parentId}
type={nodeType} type={nodeType}
+2 -13
View File
@@ -88,20 +88,9 @@ export type InternalNodeBase<NodeType extends NodeBase = NodeBase> = NodeType &
*/ */
export type NodeProps<NodeType extends NodeBase> = Pick< export type NodeProps<NodeType extends NodeBase> = Pick<
NodeType, NodeType,
| 'id' 'id' | 'data' | 'width' | 'height' | 'sourcePosition' | 'targetPosition' | 'dragHandle' | 'parentId'
| 'data'
| 'width'
| 'height'
| 'sourcePosition'
| 'targetPosition'
| 'selected'
| 'dragHandle'
| 'selectable'
| 'deletable'
| 'draggable'
| 'parentId'
> & > &
Required<Pick<NodeType, 'type' | 'dragging' | 'zIndex'>> & { Required<Pick<NodeType, 'type' | 'dragging' | 'zIndex' | 'selectable' | 'deletable' | 'selected' | 'draggable'>> & {
/** whether a node is connectable or not */ /** whether a node is connectable or not */
isConnectable: boolean; isConnectable: boolean;
/** position absolute x value */ /** position absolute x value */