diff --git a/ui/src/components/access/AccessEditDrawer.tsx b/ui/src/components/access/AccessEditDrawer.tsx index 75a9e0500..29bed2dbb 100644 --- a/ui/src/components/access/AccessEditDrawer.tsx +++ b/ui/src/components/access/AccessEditDrawer.tsx @@ -53,9 +53,12 @@ const AccessEditDrawer = ({ afterClose, afterSubmit, mode, data, loading, trigge }; const handleOkClick = async () => { + let formValues: AccessModel; + setFormPending(true); try { - await formInst.validateFields(); + formValues = await formInst.validateFields(); + formValues.reserve = usage === "ca" ? "ca" : usage === "notification" ? "notif" : void 0; } catch (err) { message.warning(t("common.errmsg.form_invalid")); @@ -64,26 +67,23 @@ const AccessEditDrawer = ({ afterClose, afterSubmit, mode, data, loading, trigge } try { - let values: AccessModel = formInst.getFieldsValue(true); - values.reserve = usage === "ca" ? "ca" : usage === "notification" ? "notif" : void 0; - if (mode === "create") { if (data?.id) { throw "Invalid props: `data`"; } - values = await createAccess(values); + formValues = await createAccess(formValues); } else if (mode === "edit") { if (!data?.id) { throw "Invalid props: `data`"; } - values = await updateAccess({ ...data, ...values }); + formValues = await updateAccess({ ...data, ...formValues }); } else { throw "Invalid props: `action`"; } - afterSubmit?.(values); + afterSubmit?.(formValues); setOpen(false); } catch (err) { notification.error({ message: t("common.text.request_error"), description: getErrMsg(err) }); diff --git a/ui/src/components/workflow/designer/forms/BranchBlockNodeConfigExprInputBox.tsx b/ui/src/components/workflow/designer/forms/BranchBlockNodeConfigExprInputBox.tsx index ee55e3f52..870678404 100644 --- a/ui/src/components/workflow/designer/forms/BranchBlockNodeConfigExprInputBox.tsx +++ b/ui/src/components/workflow/designer/forms/BranchBlockNodeConfigExprInputBox.tsx @@ -256,8 +256,8 @@ const BranchBlockNodeConfigExprInputBox = forwardRef { return { validate: async () => { - await formInst.validateFields(); - return formValuesToExpr(formInst.getFieldsValue()); + const formValues = await formInst.validateFields(); + return formValuesToExpr(formValues); }, }; }); diff --git a/ui/src/components/workflow/designer/forms/_shared.tsx b/ui/src/components/workflow/designer/forms/_shared.tsx index e99cf638a..9dc4f75e8 100644 --- a/ui/src/components/workflow/designer/forms/_shared.tsx +++ b/ui/src/components/workflow/designer/forms/_shared.tsx @@ -80,9 +80,11 @@ export const NodeConfigDrawer = ({ children, afterClose, anchor, footer = true, return; } + let formValues: Record; + setFormPending(true); try { - await formInst.validateFields(); + formValues = await formInst.validateFields(); } catch (err) { message.warning(t("common.errmsg.form_invalid")); @@ -91,7 +93,7 @@ export const NodeConfigDrawer = ({ children, afterClose, anchor, footer = true, } try { - getNodeForm(node)!.setValueIn("config", formInst.getFieldsValue(true)); + getNodeForm(node)!.setValueIn("config", formValues); getNodeForm(node)!.validate(); setOpen(false); diff --git a/ui/src/pages/accesses/AccessNew.tsx b/ui/src/pages/accesses/AccessNew.tsx index 53ad0ffe4..0e91f93bd 100644 --- a/ui/src/pages/accesses/AccessNew.tsx +++ b/ui/src/pages/accesses/AccessNew.tsx @@ -35,18 +35,19 @@ const AccessNew = () => { }; const handleSubmitClick = async () => { + let formValues: AccessModel; + setFormPending(true); try { - await formInst.validateFields(); + formValues = await formInst.validateFields(); + formValues.reserve = providerUsage === "ca" ? "ca" : providerUsage === "notification" ? "notif" : void 0; } catch (err) { setFormPending(false); throw err; } try { - const values: AccessModel = formInst.getFieldsValue(true); - values.reserve = providerUsage === "ca" ? "ca" : providerUsage === "notification" ? "notif" : void 0; - await createAccess(values); + await createAccess(formValues); navigate(`/accesses?usage=${providerUsage}`, { replace: true }); } catch (err) {