refactor(wrapNode): cleanup

This commit is contained in:
moklick
2020-09-11 17:28:42 +02:00
parent 8a0a928e17
commit db813eac0b
+5 -17
View File
@@ -1,14 +1,4 @@
import React, { import React, { useEffect, useRef, memo, ComponentType, CSSProperties, useMemo, MouseEvent, useCallback } from 'react';
useEffect,
useRef,
useState,
memo,
ComponentType,
CSSProperties,
useMemo,
MouseEvent,
useCallback,
} from 'react';
import { DraggableCore } from 'react-draggable'; import { DraggableCore } from 'react-draggable';
import cc from 'classcat'; import cc from 'classcat';
import { ResizeObserver } from 'resize-observer'; import { ResizeObserver } from 'resize-observer';
@@ -45,6 +35,7 @@ export default (NodeComponent: ComponentType<NodeComponentProps>) => {
isInitialized, isInitialized,
snapToGrid, snapToGrid,
snapGrid, snapGrid,
isDragging,
}: WrapNodeProps) => { }: WrapNodeProps) => {
const updateNodeDimensions = useStoreActions((actions) => actions.updateNodeDimensions); const updateNodeDimensions = useStoreActions((actions) => actions.updateNodeDimensions);
const setSelectedElements = useStoreActions((actions) => actions.setSelectedElements); const setSelectedElements = useStoreActions((actions) => actions.setSelectedElements);
@@ -52,7 +43,6 @@ export default (NodeComponent: ComponentType<NodeComponentProps>) => {
const unsetNodesSelection = useStoreActions((actions) => actions.unsetNodesSelection); const unsetNodesSelection = useStoreActions((actions) => actions.unsetNodesSelection);
const nodeElement = useRef<HTMLDivElement>(null); const nodeElement = useRef<HTMLDivElement>(null);
const [isDragging, setDragging] = useState(false);
const node = useMemo(() => ({ id, type, position: { x: xPos, y: yPos }, data }), [id, type, xPos, yPos, data]); const node = useMemo(() => ({ id, type, position: { x: xPos, y: yPos }, data }), [id, type, xPos, yPos, data]);
const grid = useMemo(() => (snapToGrid ? snapGrid : [1, 1])! as [number, number], [snapToGrid, snapGrid]); const grid = useMemo(() => (snapToGrid ? snapGrid : [1, 1])! as [number, number], [snapToGrid, snapGrid]);
@@ -122,12 +112,11 @@ export default (NodeComponent: ComponentType<NodeComponentProps>) => {
setSelectedElements({ id: node.id, type: node.type } as Node); setSelectedElements({ id: node.id, type: node.type } as Node);
} }
}, },
[node, transform, selectNodesOnDrag, isSelectable, onNodeDragStart] [node, selectNodesOnDrag, isSelectable, onNodeDragStart]
); );
const onDrag = useCallback( const onDrag = useCallback(
(_, data) => { (_, data) => {
setDragging(true);
updateNodePosDiff({ updateNodePosDiff({
id, id,
diff: { diff: {
@@ -136,7 +125,7 @@ export default (NodeComponent: ComponentType<NodeComponentProps>) => {
}, },
}); });
}, },
[id, transform] [id]
); );
const onDragStop = useCallback( const onDragStop = useCallback(
@@ -153,7 +142,6 @@ export default (NodeComponent: ComponentType<NodeComponentProps>) => {
return; return;
} }
setDragging(false);
updateNodePosDiff({ updateNodePosDiff({
id, id,
isDragging: false, isDragging: false,
@@ -161,7 +149,7 @@ export default (NodeComponent: ComponentType<NodeComponentProps>) => {
onNodeDragStop?.(event as MouseEvent, node); onNodeDragStop?.(event as MouseEvent, node);
}, },
[node, isDragging, isSelectable, selectNodesOnDrag, onClick, onNodeDragStop] [node, isSelectable, selectNodesOnDrag, onClick, onNodeDragStop]
); );
useEffect(() => { useEffect(() => {