瀏覽代碼

fix: workflow sync (#3756)

zxhlyh 1 年之前
父節點
當前提交
731464f5b8
共有 1 個文件被更改,包括 13 次插入0 次删除
  1. 13 0
      web/app/components/workflow/index.tsx

+ 13 - 0
web/app/components/workflow/index.tsx

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