fix(fitView): don't let defaultPosition overwrite fitView on load #533

This commit is contained in:
moklick
2020-09-30 16:44:50 +02:00
parent 109b008c5c
commit 7ef6d0adb2
5 changed files with 34 additions and 18 deletions
+3 -10
View File
@@ -188,6 +188,9 @@ const GraphView = ({
zoomOnScroll,
zoomOnDoubleClick,
paneMoveable,
defaultPosition,
defaultZoom,
translateExtent,
});
useEffect(() => {
@@ -205,16 +208,6 @@ const GraphView = ({
});
}
const initialTransform = {
x: defaultPosition[0],
y: defaultPosition[1],
k: defaultZoom,
};
if (initialTransform.x !== 0 || initialTransform.y !== 0 || initialTransform.k !== 1) {
setInitTransform(initialTransform);
}
isInitialised.current = true;
}
}, [d3Initialised, onLoad]);
+1
View File
@@ -83,6 +83,7 @@ const NodeRenderer = ({ onlyRenderVisibleNodes = true, ...props }: NodeRendererP
const nodesDraggable = useStoreState((s) => s.nodesDraggable);
const nodesConnectable = useStoreState((s) => s.nodesConnectable);
const elementsSelectable = useStoreState((s) => s.elementsSelectable);
const transformStyle = {
transform: `translate(${transform[0]}px,${transform[1]}px) scale(${transform[2]})`,
};
+2 -2
View File
@@ -142,8 +142,8 @@ const ReactFlow = ({
onPaneScroll,
onPaneContextMenu,
}: ReactFlowProps) => {
const nodeTypesParsed = useMemo(() => createNodeTypes(nodeTypes), []);
const edgeTypesParsed = useMemo(() => createEdgeTypes(edgeTypes), []);
const nodeTypesParsed = useMemo(() => createNodeTypes(nodeTypes), [nodeTypes]);
const edgeTypesParsed = useMemo(() => createEdgeTypes(edgeTypes), [edgeTypes]);
const reactFlowClasses = cc(['react-flow', className]);
return (