From 8703515153e92887f4137603ccdea7fa816b5929 Mon Sep 17 00:00:00 2001 From: JzoNg Date: Sat, 6 Sep 2025 12:34:25 +0800 Subject: [PATCH] human input step run when no variables --- .../nodes/_base/components/before-run-form/index.tsx | 5 +++-- .../components/workflow-panel/last-run/use-last-run.ts | 6 ++++++ .../nodes/human-input/components/single-run-form.tsx | 4 +++- .../nodes/human-input/use-single-run-form-params.ts | 2 ++ 4 files changed, 14 insertions(+), 3 deletions(-) diff --git a/web/app/components/workflow/nodes/_base/components/before-run-form/index.tsx b/web/app/components/workflow/nodes/_base/components/before-run-form/index.tsx index 4e769c2e69..c54b900442 100644 --- a/web/app/components/workflow/nodes/_base/components/before-run-form/index.tsx +++ b/web/app/components/workflow/nodes/_base/components/before-run-form/index.tsx @@ -158,11 +158,11 @@ const BeforeRunForm: FC = ({ if(hasRun.current) return hasRun.current = true - if(filteredExistVarForms.length === 0) + if(filteredExistVarForms.length === 0 && !isHumanInput) onRun({}) }, [filteredExistVarForms, onRun]) - if(filteredExistVarForms.length === 0) + if(filteredExistVarForms.length === 0 && !isHumanInput) return null return ( @@ -189,6 +189,7 @@ const BeforeRunForm: FC = ({ ({ if(!isValid) return const vars = singleRunParams?.getDependentVars?.() + // TODO human input + if (singleRunParams?.generatedFormContentData) { + singleRunParams?.handleShowGeneratedForm() + showSingleRun() + return + } // no need to input params if (isAggregatorNode ? checkAggregatorVarsSet(vars) : isAllVarsHasValue(vars)) { callRunApi({}, async () => { diff --git a/web/app/components/workflow/nodes/human-input/components/single-run-form.tsx b/web/app/components/workflow/nodes/human-input/components/single-run-form.tsx index d51015a59d..28227662c8 100644 --- a/web/app/components/workflow/nodes/human-input/components/single-run-form.tsx +++ b/web/app/components/workflow/nodes/human-input/components/single-run-form.tsx @@ -14,6 +14,7 @@ type Props = { formContent: string inputFields: GeneratedFormInputItem[] userActions: UserAction[] + showBackButton?: boolean handleBack?: () => void } @@ -22,6 +23,7 @@ const FormContent = ({ formContent, inputFields, userActions, + showBackButton, handleBack, }: Props) => { const { t } = useTranslation() @@ -72,7 +74,7 @@ const FormContent = ({ return ( <> - {inputFields.length > 0 && ( + {showBackButton && (
diff --git a/web/app/components/workflow/nodes/human-input/use-single-run-form-params.ts b/web/app/components/workflow/nodes/human-input/use-single-run-form-params.ts index 9d65e77926..712c9cff7b 100644 --- a/web/app/components/workflow/nodes/human-input/use-single-run-form-params.ts +++ b/web/app/components/workflow/nodes/human-input/use-single-run-form-params.ts @@ -75,6 +75,7 @@ const useSingleRunFormParams = ({ formContent: inputs.form_content, inputFields: formContentOutputFields, userActions: inputs.user_actions, + showBackButton: false, } } else { @@ -89,6 +90,7 @@ const useSingleRunFormParams = ({ formContent: newContent, inputFields: formContentOutputFields, userActions: inputs.user_actions, + showBackButton: true, } } }, [inputs.form_content, inputs.user_actions, submittedData, formContentOutputFields])