瀏覽代碼

issue/3398 replace custom on validation focus with hook-form api

Nail Badiullin 2 年之前
父節點
當前提交
9b95852855
共有 1 個文件被更改,包括 2 次插入36 次删除
  1. 2 36
      kafka-ui-react-app/src/widgets/ClusterConfigForm/index.tsx

+ 2 - 36
kafka-ui-react-app/src/widgets/ClusterConfigForm/index.tsx

@@ -46,9 +46,8 @@ const ClusterConfigForm: React.FC<ClusterConfigFormProps> = ({
     },
     },
   });
   });
   const {
   const {
-    formState: { isSubmitting, isDirty, errors },
+    formState: { isSubmitting, isDirty },
     trigger,
     trigger,
-    setFocus,
   } = methods;
   } = methods;
 
 
   const validate = useValidateAppConfig();
   const validate = useValidateAppConfig();
@@ -75,42 +74,9 @@ const ClusterConfigForm: React.FC<ClusterConfigFormProps> = ({
 
 
   const onReset = () => methods.reset();
   const onReset = () => methods.reset();
 
 
-  const focusOnValidation = () => {
-    if (!errors) {
-      return;
-    }
-
-    const firstError = Object.keys(errors)[0] as keyof ClusterConfigFormValues;
-    const entry = {
-      key: firstError,
-      value: errors[firstError],
-    };
-
-    if (entry.value) {
-      const { key, value } = entry;
-      if (Array.isArray(value)) {
-        const indexKey = Number(Object.keys(value));
-        const [entryValueErrorKey] = Object.keys(value[indexKey]);
-        const keyToFocus =
-          `${key}.${indexKey}.${entryValueErrorKey}` as keyof ClusterConfigFormValues;
-        setFocus(keyToFocus);
-      } else {
-        const entryValueErrorKey = Object.keys(value)[0];
-        if (entryValueErrorKey === 'message') {
-          setFocus(key);
-        } else {
-          const keyToFocus =
-            `${key}.${entryValueErrorKey}` as keyof ClusterConfigFormValues;
-          setFocus(keyToFocus);
-        }
-      }
-    }
-  };
-
   const onValidate = async () => {
   const onValidate = async () => {
-    await trigger();
+    await trigger(undefined, { shouldFocus: true });
     if (!methods.formState.isValid) {
     if (!methods.formState.isValid) {
-      focusOnValidation();
       return;
       return;
     }
     }
     disableForm();
     disableForm();