From 5422017592b4f568548a186d7f320ccd7eb52659 Mon Sep 17 00:00:00 2001 From: moklick Date: Sat, 17 Apr 2021 20:50:26 +0200 Subject: [PATCH] refactor(nodes): enable mouse handles even when selectable=false closes #1094 --- src/components/Nodes/wrapNode.tsx | 29 +++++++++++++++++++++++------ 1 file changed, 23 insertions(+), 6 deletions(-) diff --git a/src/components/Nodes/wrapNode.tsx b/src/components/Nodes/wrapNode.tsx index b8f103ab..7f08487b 100644 --- a/src/components/Nodes/wrapNode.tsx +++ b/src/components/Nodes/wrapNode.tsx @@ -53,11 +53,25 @@ export default (NodeComponent: ComponentType) => { () => ({ zIndex: selected ? 10 : 3, transform: `translate(${xPos}px,${yPos}px)`, - pointerEvents: isSelectable || isDraggable || onClick ? 'all' : 'none', - opacity: isInitialized ? 1 : 0, // prevents jumping of nodes on start + pointerEvents: + isSelectable || isDraggable || onClick || onMouseEnter || onMouseMove || onMouseLeave ? 'all' : 'none', + // prevents jumping of nodes on start + opacity: isInitialized ? 1 : 0, ...style, }), - [selected, xPos, yPos, isSelectable, isDraggable, onClick, isInitialized, style] + [ + selected, + xPos, + yPos, + isSelectable, + isDraggable, + onClick, + isInitialized, + style, + onMouseEnter, + onMouseMove, + onMouseLeave, + ] ); const onMouseEnterHandler = useMemo(() => { if (!onMouseEnter || isDragging) { @@ -170,9 +184,12 @@ export default (NodeComponent: ComponentType) => { [node, isSelectable, selectNodesOnDrag, onClick, onNodeDragStop, isDragging, selected] ); - const onNodeDoubleClickHandler = useCallback((event: MouseEvent) => { - onNodeDoubleClick?.(event, node) - }, [node, onNodeDoubleClick]) + const onNodeDoubleClickHandler = useCallback( + (event: MouseEvent) => { + onNodeDoubleClick?.(event, node); + }, + [node, onNodeDoubleClick] + ); useEffect(() => { if (nodeElement.current && !isHidden) {