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,
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<NodeComponentProps>) => {
[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) {