diff --git a/web/src/pages/agent/form-sheet/next.tsx b/web/src/pages/agent/form-sheet/next.tsx index 7998f1068..2bd9ca122 100644 --- a/web/src/pages/agent/form-sheet/next.tsx +++ b/web/src/pages/agent/form-sheet/next.tsx @@ -22,6 +22,7 @@ import { useHandleFormValuesChange } from '../hooks/use-watch-form-change'; import OperatorIcon from '../operator-icon'; import { buildCategorizeListFromObject, + convertToObjectArray, needsSingleStepDebugging, } from '../utils'; import SingleDebugDrawer from './single-debug-drawer'; @@ -79,16 +80,23 @@ const FormSheet = ({ form.clearErrors(); } + const formData = node?.data?.form; + if (operatorName === Operator.Categorize) { const items = buildCategorizeListFromObject( get(node, 'data.form.category_description', {}), ); - const formData = node?.data?.form; if (isPlainObject(formData)) { // form.setFieldsValue({ ...formData, items }); console.info('xxx'); form.reset({ ...formData, items }); } + } + if (operatorName === Operator.Message) { + form.reset({ + ...formData, + content: convertToObjectArray(formData.content), + }); } else { // form.setFieldsValue(node?.data?.form); form.reset(node?.data?.form); @@ -134,7 +142,7 @@ const FormSheet = ({ {t(`${lowerFirst(operatorName)}Description`)} -
+
{visible && ( { return (
{ e.preventDefault(); @@ -43,7 +43,7 @@ const MessageForm = ({ form }: INextOperatorForm) => { render={({ field }) => ( - {/* */} + {/* */} ) => { return pre; }, {}); }; + +export function convertToStringArray( + list: Array<{ value: string | number | boolean }>, +) { + if (!Array.isArray(list)) { + return []; + } + return list.map((x) => x.value); +} + +export function convertToObjectArray(list: Array) { + if (!Array.isArray(list)) { + return []; + } + return list.map((x) => ({ value: x })); +}