소스 검색

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)