refactor(nodes): enable mouse handles even when selectable=false closes #1094

This commit is contained in:
moklick
2021-04-17 20:50:26 +02:00
parent d8bf0d5cec
commit 5422017592
+23 -6
View File
@@ -53,11 +53,25 @@ export default (NodeComponent: ComponentType<NodeComponentProps>) => {
() => ({ () => ({
zIndex: selected ? 10 : 3, zIndex: selected ? 10 : 3,
transform: `translate(${xPos}px,${yPos}px)`, transform: `translate(${xPos}px,${yPos}px)`,
pointerEvents: isSelectable || isDraggable || onClick ? 'all' : 'none', pointerEvents:
opacity: isInitialized ? 1 : 0, // prevents jumping of nodes on start isSelectable || isDraggable || onClick || onMouseEnter || onMouseMove || onMouseLeave ? 'all' : 'none',
// prevents jumping of nodes on start
opacity: isInitialized ? 1 : 0,
...style, ...style,
}), }),
[selected, xPos, yPos, isSelectable, isDraggable, onClick, isInitialized, style] [
selected,
xPos,
yPos,
isSelectable,
isDraggable,
onClick,
isInitialized,
style,
onMouseEnter,
onMouseMove,
onMouseLeave,
]
); );
const onMouseEnterHandler = useMemo(() => { const onMouseEnterHandler = useMemo(() => {
if (!onMouseEnter || isDragging) { if (!onMouseEnter || isDragging) {
@@ -170,9 +184,12 @@ export default (NodeComponent: ComponentType<NodeComponentProps>) => {
[node, isSelectable, selectNodesOnDrag, onClick, onNodeDragStop, isDragging, selected] [node, isSelectable, selectNodesOnDrag, onClick, onNodeDragStop, isDragging, selected]
); );
const onNodeDoubleClickHandler = useCallback((event: MouseEvent) => { const onNodeDoubleClickHandler = useCallback(
onNodeDoubleClick?.(event, node) (event: MouseEvent) => {
}, [node, onNodeDoubleClick]) onNodeDoubleClick?.(event, node);
},
[node, onNodeDoubleClick]
);
useEffect(() => { useEffect(() => {
if (nodeElement.current && !isHidden) { if (nodeElement.current && !isHidden) {