From 4008c2bfd5985620137f10da14fff48f1ca0d396 Mon Sep 17 00:00:00 2001 From: Fu Diwei Date: Wed, 25 Dec 2024 23:28:42 +0800 Subject: [PATCH] refactor(ui): clean code --- ui/src/components/access/AccessEditForm.tsx | 30 ++++++---------- ui/src/components/access/AccessEditModal.tsx | 4 +-- .../notification/NotifyChannelEditForm.tsx | 34 +++++++------------ .../notification/NotifyChannels.tsx | 2 +- 4 files changed, 26 insertions(+), 44 deletions(-) diff --git a/ui/src/components/access/AccessEditForm.tsx b/ui/src/components/access/AccessEditForm.tsx index b94558cd..6cfc34b9 100644 --- a/ui/src/components/access/AccessEditForm.tsx +++ b/ui/src/components/access/AccessEditForm.tsx @@ -40,7 +40,11 @@ export type AccessEditFormProps = { onValuesChange?: (values: AccessEditFormFieldValues) => void; }; -export type AccessEditFormInstance = FormInstance; +export type AccessEditFormInstance = { + getFieldsValue: () => ReturnType["getFieldsValue"]>; + resetFields: FormInstance["resetFields"]; + validateFields: FormInstance["validateFields"]; +}; const AccessEditForm = forwardRef(({ className, style, disabled, initialValues, preset, onValuesChange }, ref) => { const { t } = useTranslation(); @@ -131,26 +135,12 @@ const AccessEditForm = forwardRef(( useImperativeHandle(ref, () => { return { - getFieldValue: (name) => formInst.getFieldValue(name), - getFieldsValue: (...args) => { - if (Array.from(args).length === 0) { - return formInst.getFieldsValue(true); - } - - return formInst.getFieldsValue(args[0] as any, args[1] as any); + getFieldsValue: () => { + return formInst.getFieldsValue(true); + }, + resetFields: (fields) => { + return formInst.resetFields(fields); }, - getFieldError: (name) => formInst.getFieldError(name), - getFieldsError: (nameList) => formInst.getFieldsError(nameList), - getFieldWarning: (name) => formInst.getFieldWarning(name), - isFieldsTouched: (nameList, allFieldsTouched) => formInst.isFieldsTouched(nameList, allFieldsTouched), - isFieldTouched: (name) => formInst.isFieldTouched(name), - isFieldValidating: (name) => formInst.isFieldValidating(name), - isFieldsValidating: (nameList) => formInst.isFieldsValidating(nameList), - resetFields: (fields) => formInst.resetFields(fields), - setFields: (fields) => formInst.setFields(fields), - setFieldValue: (name, value) => formInst.setFieldValue(name, value), - setFieldsValue: (values) => formInst.setFieldsValue(values), - submit: () => formInst.submit(), validateFields: (nameList, config) => { const t1 = formInst.validateFields(nameList, config); const t2 = configFormInst.validateFields(undefined, config); diff --git a/ui/src/components/access/AccessEditModal.tsx b/ui/src/components/access/AccessEditModal.tsx index a33f425b..8c1ff16c 100644 --- a/ui/src/components/access/AccessEditModal.tsx +++ b/ui/src/components/access/AccessEditModal.tsx @@ -62,13 +62,13 @@ const AccessEditModal = ({ data, loading, trigger, preset, ...props }: AccessEdi throw "Invalid props: `data`"; } - await createAccess(formRef.current!.getFieldsValue(true) as AccessModel); + await createAccess(formRef.current!.getFieldsValue() as AccessModel); } else if (preset === "edit") { if (!data?.id) { throw "Invalid props: `data`"; } - await updateAccess({ ...data, ...formRef.current!.getFieldsValue(true) } as AccessModel); + await updateAccess({ ...data, ...formRef.current!.getFieldsValue() } as AccessModel); } setOpen(false); diff --git a/ui/src/components/notification/NotifyChannelEditForm.tsx b/ui/src/components/notification/NotifyChannelEditForm.tsx index 21de2ba3..ef9c7d0f 100644 --- a/ui/src/components/notification/NotifyChannelEditForm.tsx +++ b/ui/src/components/notification/NotifyChannelEditForm.tsx @@ -24,7 +24,11 @@ export type NotifyChannelEditFormProps = { onValuesChange?: (values: NotifyChannelEditFormFieldValues) => void; }; -export type NotifyChannelEditFormInstance = FormInstance; +export type NotifyChannelEditFormInstance = { + getFieldsValue: () => ReturnType["getFieldsValue"]>; + resetFields: FormInstance["resetFields"]; + validateFields: FormInstance["validateFields"]; +}; const NotifyChannelEditForm = forwardRef( ({ className, style, channel, disabled, initialValues, onValuesChange }, ref) => { @@ -63,27 +67,15 @@ const NotifyChannelEditForm = forwardRef { return { - getFieldValue: (name) => formInst.getFieldValue(name), - getFieldsValue: (...args) => { - if (Array.from(args).length === 0) { - return formInst.getFieldsValue(true); - } - - return formInst.getFieldsValue(args[0] as any, args[1] as any); + getFieldsValue: () => { + return formInst.getFieldsValue(true); + }, + resetFields: (fields) => { + return formInst.resetFields(fields); + }, + validateFields: (nameList, config) => { + return formInst.validateFields(nameList, config); }, - getFieldError: (name) => formInst.getFieldError(name), - getFieldsError: (nameList) => formInst.getFieldsError(nameList), - getFieldWarning: (name) => formInst.getFieldWarning(name), - isFieldsTouched: (nameList, allFieldsTouched) => formInst.isFieldsTouched(nameList, allFieldsTouched), - isFieldTouched: (name) => formInst.isFieldTouched(name), - isFieldValidating: (name) => formInst.isFieldValidating(name), - isFieldsValidating: (nameList) => formInst.isFieldsValidating(nameList), - resetFields: (fields) => formInst.resetFields(fields), - setFields: (fields) => formInst.setFields(fields), - setFieldValue: (name, value) => formInst.setFieldValue(name, value), - setFieldsValue: (values) => formInst.setFieldsValue(values), - validateFields: (nameList, config) => formInst.validateFields(nameList, config), - submit: () => formInst.submit(), } as NotifyChannelEditFormInstance; }); diff --git a/ui/src/components/notification/NotifyChannels.tsx b/ui/src/components/notification/NotifyChannels.tsx index 85886c62..0ee4d8e2 100644 --- a/ui/src/components/notification/NotifyChannels.tsx +++ b/ui/src/components/notification/NotifyChannels.tsx @@ -32,7 +32,7 @@ const NotifyChannel = ({ className, style, channel }: NotifyChannelProps) => { await channelFormRef.current!.validateFields(); try { - setChannel(channel, channelFormRef.current!.getFieldsValue(true)); + setChannel(channel, channelFormRef.current!.getFieldsValue()); setChannelFormChanged(false); messageApi.success(t("common.text.operation_succeeded"));