diff --git a/packages/core/src/components/Edges/wrapEdge.tsx b/packages/core/src/components/Edges/wrapEdge.tsx index 8424d10e..e14af22a 100644 --- a/packages/core/src/components/Edges/wrapEdge.tsx +++ b/packages/core/src/components/Edges/wrapEdge.tsx @@ -37,7 +37,7 @@ export default (EdgeComponent: ComponentType) => { targetY, sourcePosition, targetPosition, - elementsSelectable, + isSelectable, hidden, sourceHandleId, targetHandleId, @@ -73,7 +73,7 @@ export default (EdgeComponent: ComponentType) => { const onEdgeClick = (event: React.MouseEvent): void => { const { edges, addSelectedEdges } = store.getState(); - if (elementsSelectable) { + if (isSelectable) { store.setState({ nodesSelectionActive: false }); addSelectedEdges([id]); } @@ -137,10 +137,10 @@ export default (EdgeComponent: ComponentType) => { const onEdgeUpdaterMouseEnter = () => setUpdateHover(true); const onEdgeUpdaterMouseOut = () => setUpdateHover(false); - const inactive = !elementsSelectable && !onClick; + const inactive = !isSelectable && !onClick; const onKeyDown = (event: KeyboardEvent) => { - if (elementSelectionKeys.includes(event.key) && elementsSelectable) { + if (elementSelectionKeys.includes(event.key) && isSelectable) { const { unselectNodesAndEdges, addSelectedEdges, edges } = store.getState(); const unselect = event.key === 'Escape'; diff --git a/packages/core/src/container/EdgeRenderer/index.tsx b/packages/core/src/container/EdgeRenderer/index.tsx index 7febb5da..37aba2d0 100644 --- a/packages/core/src/container/EdgeRenderer/index.tsx +++ b/packages/core/src/container/EdgeRenderer/index.tsx @@ -115,6 +115,10 @@ const EdgeRenderer = ({ const isUpdatable = typeof onEdgeUpdate !== 'undefined' && (edge.updatable || (edgesUpdatable && typeof edge.updatable === 'undefined')); + const isSelectable = !!( + edge.selectable || + (elementsSelectable && typeof edge.selectable === 'undefined') + ); if (!sourceHandle || !targetHandle) { onError?.('008', errorMessages['error008'](sourceHandle, edge)); @@ -160,7 +164,7 @@ const EdgeRenderer = ({ targetY={targetY} sourcePosition={sourcePosition} targetPosition={targetPosition} - elementsSelectable={elementsSelectable} + isSelectable={isSelectable} onEdgeUpdate={onEdgeUpdate} onContextMenu={onEdgeContextMenu} onMouseEnter={onEdgeMouseEnter} diff --git a/packages/core/src/types/edges.ts b/packages/core/src/types/edges.ts index e9bc25f5..4e524f4e 100644 --- a/packages/core/src/types/edges.ts +++ b/packages/core/src/types/edges.ts @@ -60,7 +60,6 @@ export type WrapEdgeProps = Omit, 'sourceHandle' | 'targetHandl targetY: number; sourcePosition: Position; targetPosition: Position; - elementsSelectable?: boolean; onEdgeUpdate?: OnEdgeUpdateFunc; onContextMenu?: EdgeMouseHandler; onMouseEnter?: EdgeMouseHandler; @@ -72,6 +71,7 @@ export type WrapEdgeProps = Omit, 'sourceHandle' | 'targetHandl rfId?: string; isFocusable: boolean; isUpdatable: EdgeUpdatable; + isSelectable: boolean; pathOptions?: BezierPathOptions | SmoothStepPathOptions; };