From e9d196261bdb6f6defe09df7319d76254c1ebd66 Mon Sep 17 00:00:00 2001 From: JzoNg Date: Mon, 9 Jun 2025 21:35:29 +0800 Subject: [PATCH] boolean --- .../components/tools/utils/to-form-schema.ts | 7 ++-- .../_base/components/form-input-boolean.tsx | 35 +++++++++++++++++++ .../_base/components/form-input-item.tsx | 7 ++++ 3 files changed, 47 insertions(+), 2 deletions(-) create mode 100644 web/app/components/workflow/nodes/_base/components/form-input-boolean.tsx diff --git a/web/app/components/tools/utils/to-form-schema.ts b/web/app/components/tools/utils/to-form-schema.ts index 7841b660b5..0ea451759d 100644 --- a/web/app/components/tools/utils/to-form-schema.ts +++ b/web/app/components/tools/utils/to-form-schema.ts @@ -105,12 +105,15 @@ export const getConfiguredValue = (value: Record, formSchemas: { va type: 'constant', value: formSchema.default, } + if (formSchema.type === 'text-input' || formSchema.type === 'secret-input') + newValues[formSchema.variable].type = 'mixed' + if (formSchema.type === 'boolean') { if (typeof value === 'string') - newValues[formSchema.variable].value = value === 'true' ? 1 : 0 + newValues[formSchema.variable].value = value === 'true' if (typeof value === 'boolean') - newValues[formSchema.variable].value = value ? 1 : 0 + newValues[formSchema.variable].value = value } if (formSchema.type === 'number-input') { diff --git a/web/app/components/workflow/nodes/_base/components/form-input-boolean.tsx b/web/app/components/workflow/nodes/_base/components/form-input-boolean.tsx new file mode 100644 index 0000000000..07c3a087b9 --- /dev/null +++ b/web/app/components/workflow/nodes/_base/components/form-input-boolean.tsx @@ -0,0 +1,35 @@ +'use client' +import type { FC } from 'react' +import cn from '@/utils/classnames' + +type Props = { + value: boolean + onChange: (value: boolean) => void +} + +const FormInputBoolean: FC = ({ + value, + onChange, +}) => { + return ( +
+
onChange(true)} + >True
+
onChange(false)} + >False
+
+ ) +} +export default FormInputBoolean diff --git a/web/app/components/workflow/nodes/_base/components/form-input-item.tsx b/web/app/components/workflow/nodes/_base/components/form-input-item.tsx index 62716d7915..c7d5def988 100644 --- a/web/app/components/workflow/nodes/_base/components/form-input-item.tsx +++ b/web/app/components/workflow/nodes/_base/components/form-input-item.tsx @@ -11,6 +11,7 @@ import type { ValueSelector } from '@/app/components/workflow/types' import FormInputTypeSwitch from './form-input-type-switch' import Input from '@/app/components/base/input' import { SimpleSelect } from '@/app/components/base/select' +import FormInputBoolean from './form-input-boolean' import AppSelector from '@/app/components/plugins/plugin-detail-panel/app-selector' import ModelParameterModal from '@/app/components/plugins/plugin-detail-panel/model-selector' import VarReferencePicker from '@/app/components/workflow/nodes/_base/components/variable/var-reference-picker' @@ -157,6 +158,12 @@ const FormInputItem: FC = ({ placeholder={placeholder?.[language] || placeholder?.en_US} /> )} + {isBoolean && ( + + )} {isSelect && (