From e366e12be0a83c6af1a1c086fd5f6e0d3e805df4 Mon Sep 17 00:00:00 2001 From: StyleZhang Date: Thu, 21 Mar 2024 16:12:38 +0800 Subject: [PATCH] fix: running line --- .../workflow/hooks/use-workflow-run.ts | 11 +++++++--- .../components/workflow/nodes/answer/node.tsx | 2 +- web/app/components/workflow/panel/record.tsx | 21 +++++++++++-------- 3 files changed, 21 insertions(+), 13 deletions(-) diff --git a/web/app/components/workflow/hooks/use-workflow-run.ts b/web/app/components/workflow/hooks/use-workflow-run.ts index 057e20fe94..0462ef3e7d 100644 --- a/web/app/components/workflow/hooks/use-workflow-run.ts +++ b/web/app/components/workflow/hooks/use-workflow-run.ts @@ -130,7 +130,6 @@ export const useWorkflowRun = () => { params: any, callback?: IOtherOptions, ) => { - handleLoadBackupDraft() const { onWorkflowStarted, onWorkflowFinished, @@ -154,6 +153,8 @@ export const useWorkflowRun = () => { if (appDetail?.mode === 'workflow') url = `/apps/${appDetail.id}/workflows/draft/run` + let prevNodeId = '' + ssePost( url, { @@ -203,6 +204,8 @@ export const useWorkflowRun = () => { } })) + prevNodeId = '' + if (onWorkflowFinished) onWorkflowFinished(params) }, @@ -244,7 +247,7 @@ export const useWorkflowRun = () => { }) setNodes(newNodes) const newEdges = produce(edges, (draft) => { - const edge = draft.find(edge => edge.target === data.node_id) + const edge = draft.find(edge => edge.target === data.node_id && edge.source === prevNodeId) if (edge) edge.data = { ...edge.data, _runned: true } as any @@ -279,13 +282,15 @@ export const useWorkflowRun = () => { }) setNodes(newNodes) + prevNodeId = data.node_id + if (onNodeFinished) onNodeFinished(params) }, ...restCallback, }, ) - }, [store, reactflow, workflowStore, handleLoadBackupDraft]) + }, [store, reactflow, workflowStore]) const handleStopRun = useCallback((taskId: string) => { const appId = useAppStore.getState().appDetail?.id diff --git a/web/app/components/workflow/nodes/answer/node.tsx b/web/app/components/workflow/nodes/answer/node.tsx index 348eac5eb6..4f1e3e1219 100644 --- a/web/app/components/workflow/nodes/answer/node.tsx +++ b/web/app/components/workflow/nodes/answer/node.tsx @@ -11,7 +11,7 @@ const Node: FC> = ({ const { t } = useTranslation() return ( -
+
) diff --git a/web/app/components/workflow/panel/record.tsx b/web/app/components/workflow/panel/record.tsx index efe691df5f..b372cccc60 100644 --- a/web/app/components/workflow/panel/record.tsx +++ b/web/app/components/workflow/panel/record.tsx @@ -1,23 +1,26 @@ -import { memo, useCallback } from 'react' +import { + memo, + // useCallback, +} from 'react' import { useIsChatMode, - useWorkflow, + // useWorkflow, } from '../hooks' import Run from '../run' import { useStore } from '../store' import ChatRecord from './chat-record' -import type { WorkflowRunDetailResponse } from '@/models/log' +// import type { WorkflowRunDetailResponse } from '@/models/log' const Record = () => { const isChatMode = useIsChatMode() - const { renderTreeFromRecord } = useWorkflow() + // const { renderTreeFromRecord } = useWorkflow() const historyWorkflowData = useStore(s => s.historyWorkflowData) - const getResultCallback = useCallback((res: WorkflowRunDetailResponse) => { - const { graph } = res + // const getResultCallback = useCallback((res: WorkflowRunDetailResponse) => { + // const { graph } = res - renderTreeFromRecord(graph.nodes, graph.edges, graph.viewport) - }, [renderTreeFromRecord]) + // renderTreeFromRecord(graph.nodes, graph.edges, graph.viewport) + // }, [renderTreeFromRecord]) return (
{ : ( ) }