fix: workflow sync (#3756)

This commit is contained in:
zxhlyh 2024-04-24 15:19:19 +08:00 committed by GitHub
parent 1ad70f8721
commit 731464f5b8
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -17,6 +17,7 @@ import ReactFlow, {
useEdgesState, useEdgesState,
useNodesState, useNodesState,
useOnViewportChange, useOnViewportChange,
useReactFlow,
} from 'reactflow' } from 'reactflow'
import type { Viewport } from 'reactflow' import type { Viewport } from 'reactflow'
import 'reactflow/dist/style.css' import 'reactflow/dist/style.css'
@ -71,6 +72,7 @@ const Workflow: FC<WorkflowProps> = memo(({
edges: originalEdges, edges: originalEdges,
viewport, viewport,
}) => { }) => {
const reactflow = useReactFlow()
const [nodes, setNodes] = useNodesState(originalNodes) const [nodes, setNodes] = useNodesState(originalNodes)
const [edges, setEdges] = useEdgesState(originalEdges) const [edges, setEdges] = useEdgesState(originalEdges)
const showFeaturesPanel = useStore(state => state.showFeaturesPanel) const showFeaturesPanel = useStore(state => state.showFeaturesPanel)
@ -91,6 +93,17 @@ const Workflow: FC<WorkflowProps> = memo(({
} }
}) })
useEffect(() => {
setNodes(originalNodes)
}, [originalNodes, setNodes])
useEffect(() => {
setEdges(originalEdges)
}, [originalEdges, setEdges])
useEffect(() => {
if (viewport)
reactflow.setViewport(viewport)
}, [reactflow, viewport])
useEffect(() => { useEffect(() => {
setAutoFreeze(false) setAutoFreeze(false)