File size: 798 Bytes
cd46bb2
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
e55650e
cd46bb2
e55650e
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
import { useOneNamespaceEffectsLoading } from '@/hooks/storeHooks';
import { Form } from 'antd';
import { useEffect, useState } from 'react';

export const useValidateSubmittable = () => {
  const [form] = Form.useForm();
  const [submittable, setSubmittable] = useState<boolean>(false);

  // Watch all values
  const values = Form.useWatch([], form);

  useEffect(() => {
    form
      .validateFields({ validateOnly: true })
      .then(() => setSubmittable(true))
      .catch(() => setSubmittable(false));
  }, [form, values]);

  return { submittable, form };
};

export const useSelectSubmitUserInfoLoading = () =>
  useOneNamespaceEffectsLoading('settingModel', ['setting']);

export const useSelectUserInfoLoading = () =>
  useOneNamespaceEffectsLoading('settingModel', ['getUserInfo']);