fix: last run tab data not sync and pause

pull/21369/head
Joel 11 months ago
parent 87bbc3c9f8
commit 920ac9c442

@ -65,8 +65,6 @@ const NodeControl: FC<NodeControlProps> = ({
data: nextData,
})
handleNodeSelect(id)
if (!data._isSingleRun)
handleSyncWorkflowDraft(true)
}}
>
{

@ -8,6 +8,7 @@ import {
useCallback,
useEffect,
useMemo,
useRef,
useState,
} from 'react'
import {
@ -147,19 +148,24 @@ const BasePanel: FC<BasePanelProps> = ({
const isSupportSingleRun = canRunBySingle(data.type, isChildNode)
const appDetail = useAppStore(state => state.appDetail)
const [hasClickRunning, setHasClickRunning] = useState(false)
const hasClickRunning = useRef(false)
const [isPaused, setIsPaused] = useState(false)
useEffect(() => {
if(data._singleRunningStatus === NodeRunningStatus.Running) {
setHasClickRunning(true)
hasClickRunning.current = true
setIsPaused(false)
}
else if(data._singleRunningStatus === undefined) {
else if(data._singleRunningStatus === undefined && hasClickRunning) {
setIsPaused(true)
setHasClickRunning(false)
hasClickRunning.current = false
}
}, [data._singleRunningStatus])
useEffect(() => {
// console.log(`id changed: ${id}, hasClickRunning: ${hasClickRunning.current}`)
hasClickRunning.current = false
}, [id])
const {
isShowSingleRun,
hideSingleRun,

@ -59,7 +59,7 @@ const LastRun: FC<Props> = ({
if (isRunning)
return <ResultPanel status='running' showSteps={false} />
if (noLastRun || !runResult) {
if (!isPaused && (noLastRun || !runResult)) {
return (
<NoData canSingleRun={canSingleRun} onSingleRun={onSingleRunClicked} />
)

@ -30,6 +30,7 @@ import {
useNodesSyncDraft,
} from '@/app/components/workflow/hooks'
import useInspectVarsCrud from '@/app/components/workflow/hooks/use-inspect-vars-crud'
import { useInvalidLastRun } from '@/service/use-workflow'
const singleRunFormParamsHooks: Record<BlockEnum, any> = {
[BlockEnum.LLM]: useLLMSingleRunFormParams,
@ -126,6 +127,7 @@ const useLastRun = <T>({
})
const {
appId,
hideSingleRun,
handleRun: doCallRunApi,
getInputVars,
@ -185,10 +187,14 @@ const useLastRun = <T>({
}
const [tabType, setTabType] = useState<TabType>(TabType.settings)
const invalidLastRun = useInvalidLastRun(appId!, id)
const handleRunWithParams = async (data: Record<string, any>) => {
setIsRunAfterSingleRun(true)
setTabType(TabType.lastRun)
callRunApi(data)
callRunApi(data, () => {
invalidLastRun()
})
hideSingleRun()
}
@ -259,6 +265,7 @@ const useLastRun = <T>({
callRunApi({}, async () => {
setIsRunAfterSingleRun(true)
setNodeRunning()
invalidLastRun()
setTabType(TabType.lastRun)
})
}

@ -627,6 +627,7 @@ const useOneStepRun = <T>({
}
return {
appId,
isShowSingleRun,
hideSingleRun,
showSingleRun,

Loading…
Cancel
Save