@refinedev/antd 5.5.2 → 5.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +46 -0
- package/dist/components/index.d.ts +5 -0
- package/dist/components/index.d.ts.map +1 -1
- package/dist/components/themedLayout/header/index.d.ts +3 -0
- package/dist/components/themedLayout/header/index.d.ts.map +1 -1
- package/dist/components/themedLayout/index.d.ts +3 -0
- package/dist/components/themedLayout/index.d.ts.map +1 -1
- package/dist/components/themedLayout/sider/index.d.ts +3 -0
- package/dist/components/themedLayout/sider/index.d.ts.map +1 -1
- package/dist/components/themedLayout/title/index.d.ts +3 -0
- package/dist/components/themedLayout/title/index.d.ts.map +1 -1
- package/dist/components/themedLayoutV2/header/index.d.ts +4 -0
- package/dist/components/themedLayoutV2/header/index.d.ts.map +1 -0
- package/dist/components/themedLayoutV2/index.d.ts +4 -0
- package/dist/components/themedLayoutV2/index.d.ts.map +1 -0
- package/dist/components/themedLayoutV2/sider/index.d.ts +4 -0
- package/dist/components/themedLayoutV2/sider/index.d.ts.map +1 -0
- package/dist/components/themedLayoutV2/sider/styles.d.ts +3 -0
- package/dist/components/themedLayoutV2/sider/styles.d.ts.map +1 -0
- package/dist/components/themedLayoutV2/title/index.d.ts +4 -0
- package/dist/components/themedLayoutV2/title/index.d.ts.map +1 -0
- package/dist/components/themedLayoutV2/types.d.ts +3 -0
- package/dist/components/themedLayoutV2/types.d.ts.map +1 -0
- package/dist/contexts/index.d.ts +2 -0
- package/dist/contexts/index.d.ts.map +1 -0
- package/dist/contexts/themedLayoutContext/IThemedLayoutContext.d.ts +7 -0
- package/dist/contexts/themedLayoutContext/IThemedLayoutContext.d.ts.map +1 -0
- package/dist/contexts/themedLayoutContext/index.d.ts +7 -0
- package/dist/contexts/themedLayoutContext/index.d.ts.map +1 -0
- package/dist/esm/index.js +1 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/hooks/fields/useCheckboxGroup/index.d.ts +11 -9
- package/dist/hooks/fields/useCheckboxGroup/index.d.ts.map +1 -1
- package/dist/hooks/fields/useRadioGroup/index.d.ts +11 -9
- package/dist/hooks/fields/useRadioGroup/index.d.ts.map +1 -1
- package/dist/hooks/fields/useSelect/index.d.ts +5 -3
- package/dist/hooks/fields/useSelect/index.d.ts.map +1 -1
- package/dist/hooks/form/useDrawerForm/useDrawerForm.d.ts +3 -3
- package/dist/hooks/form/useDrawerForm/useDrawerForm.d.ts.map +1 -1
- package/dist/hooks/form/useForm.d.ts +3 -3
- package/dist/hooks/form/useForm.d.ts.map +1 -1
- package/dist/hooks/form/useModalForm/useModalForm.d.ts +3 -3
- package/dist/hooks/form/useModalForm/useModalForm.d.ts.map +1 -1
- package/dist/hooks/form/useStepsForm/useStepsForm.d.ts +3 -3
- package/dist/hooks/form/useStepsForm/useStepsForm.d.ts.map +1 -1
- package/dist/hooks/index.d.ts +1 -0
- package/dist/hooks/index.d.ts.map +1 -1
- package/dist/hooks/list/useSimpleList/useSimpleList.d.ts +6 -5
- package/dist/hooks/list/useSimpleList/useSimpleList.d.ts.map +1 -1
- package/dist/hooks/table/useEditableTable/useEditableTable.d.ts +12 -5
- package/dist/hooks/table/useEditableTable/useEditableTable.d.ts.map +1 -1
- package/dist/hooks/table/useTable/useTable.d.ts +9 -3
- package/dist/hooks/table/useTable/useTable.d.ts.map +1 -1
- package/dist/hooks/useSiderVisible/index.d.ts +4 -0
- package/dist/hooks/useSiderVisible/index.d.ts.map +1 -0
- package/dist/iife/index.js +12 -6
- package/dist/iife/index.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/package.json +4 -4
- package/refine.config.js +122 -1
- package/src/components/index.ts +6 -0
- package/src/components/themedLayout/header/index.tsx +3 -0
- package/src/components/themedLayout/index.tsx +3 -0
- package/src/components/themedLayout/sider/index.tsx +3 -0
- package/src/components/themedLayout/title/index.tsx +3 -0
- package/src/components/themedLayoutV2/header/index.tsx +44 -0
- package/src/components/themedLayoutV2/index.tsx +44 -0
- package/src/components/themedLayoutV2/sider/index.tsx +324 -0
- package/src/components/themedLayoutV2/sider/styles.ts +9 -0
- package/src/components/themedLayoutV2/title/index.tsx +85 -0
- package/src/components/themedLayoutV2/types.ts +13 -0
- package/src/contexts/index.ts +4 -0
- package/src/contexts/themedLayoutContext/IThemedLayoutContext.ts +6 -0
- package/src/contexts/themedLayoutContext/index.tsx +28 -0
- package/src/hooks/fields/useCheckboxGroup/index.ts +20 -13
- package/src/hooks/fields/useRadioGroup/index.ts +20 -13
- package/src/hooks/fields/useSelect/index.ts +8 -4
- package/src/hooks/form/useDrawerForm/useDrawerForm.ts +11 -7
- package/src/hooks/form/useForm.ts +15 -6
- package/src/hooks/form/useModalForm/useModalForm.ts +13 -9
- package/src/hooks/form/useStepsForm/useStepsForm.ts +13 -8
- package/src/hooks/index.ts +1 -0
- package/src/hooks/list/useSimpleList/useSimpleList.ts +12 -8
- package/src/hooks/table/useEditableTable/useEditableTable.ts +30 -13
- package/src/hooks/table/useTable/useTable.ts +21 -14
- package/src/hooks/useSiderVisible/index.ts +22 -0
- package/src/index.tsx +1 -0
@@ -0,0 +1,85 @@
|
|
1
|
+
import React from "react";
|
2
|
+
import { useRouterContext, useRouterType, useLink } from "@refinedev/core";
|
3
|
+
import { Typography, theme, Space } from "antd";
|
4
|
+
import { RefineLayoutThemedTitleProps } from "../types";
|
5
|
+
|
6
|
+
const { useToken } = theme;
|
7
|
+
|
8
|
+
const defaultText = "refine Project";
|
9
|
+
|
10
|
+
const defaultIcon = (
|
11
|
+
<svg
|
12
|
+
width="24"
|
13
|
+
height="24"
|
14
|
+
viewBox="0 0 24 24"
|
15
|
+
fill="none"
|
16
|
+
xmlns="http://www.w3.org/2000/svg"
|
17
|
+
data-testid="refine-logo"
|
18
|
+
>
|
19
|
+
<path
|
20
|
+
d="M12 9C13.6569 9 15 7.65685 15 6C15 4.34315 13.6569 3 12 3C10.3431 3 9 4.34315 9 6C9 7.65685 10.3431 9 12 9Z"
|
21
|
+
fill="currentColor"
|
22
|
+
/>
|
23
|
+
<path
|
24
|
+
fillRule="evenodd"
|
25
|
+
clipRule="evenodd"
|
26
|
+
d="M24 12C24 18.6274 18.6274 24 12 24C5.37258 24 0 18.6274 0 12C0 5.37258 5.37258 0 12 0C18.6274 0 24 5.37258 24 12ZM8 6C8 3.79086 9.79086 2 12 2C14.2091 2 16 3.79086 16 6V18C16 20.2091 14.2091 22 12 22C9.79086 22 8 20.2091 8 18V6Z"
|
27
|
+
fill="currentColor"
|
28
|
+
/>
|
29
|
+
</svg>
|
30
|
+
);
|
31
|
+
|
32
|
+
export const ThemedTitleV2: React.FC<RefineLayoutThemedTitleProps> = ({
|
33
|
+
collapsed,
|
34
|
+
icon = defaultIcon,
|
35
|
+
text = defaultText,
|
36
|
+
wrapperStyles,
|
37
|
+
}) => {
|
38
|
+
const { token } = useToken();
|
39
|
+
const routerType = useRouterType();
|
40
|
+
const Link = useLink();
|
41
|
+
const { Link: LegacyLink } = useRouterContext();
|
42
|
+
|
43
|
+
const ActiveLink = routerType === "legacy" ? LegacyLink : Link;
|
44
|
+
|
45
|
+
return (
|
46
|
+
<ActiveLink
|
47
|
+
to="/"
|
48
|
+
style={{
|
49
|
+
display: "inline-block",
|
50
|
+
textDecoration: "none",
|
51
|
+
}}
|
52
|
+
>
|
53
|
+
<Space
|
54
|
+
style={{
|
55
|
+
display: "flex",
|
56
|
+
alignItems: "center",
|
57
|
+
fontSize: "inherit",
|
58
|
+
...wrapperStyles,
|
59
|
+
}}
|
60
|
+
>
|
61
|
+
<div
|
62
|
+
style={{
|
63
|
+
height: "24px",
|
64
|
+
width: "24px",
|
65
|
+
color: token.colorPrimary,
|
66
|
+
}}
|
67
|
+
>
|
68
|
+
{icon}
|
69
|
+
</div>
|
70
|
+
|
71
|
+
{!collapsed && (
|
72
|
+
<Typography.Title
|
73
|
+
style={{
|
74
|
+
fontSize: "inherit",
|
75
|
+
marginBottom: 0,
|
76
|
+
fontWeight: 700,
|
77
|
+
}}
|
78
|
+
>
|
79
|
+
{text}
|
80
|
+
</Typography.Title>
|
81
|
+
)}
|
82
|
+
</Space>
|
83
|
+
</ActiveLink>
|
84
|
+
);
|
85
|
+
};
|
@@ -0,0 +1,13 @@
|
|
1
|
+
import type {
|
2
|
+
RefineThemedLayoutV2SiderProps,
|
3
|
+
RefineThemedLayoutV2HeaderProps,
|
4
|
+
RefineThemedLayoutV2Props,
|
5
|
+
RefineLayoutThemedTitleProps,
|
6
|
+
} from "@refinedev/ui-types";
|
7
|
+
|
8
|
+
export type {
|
9
|
+
RefineLayoutThemedTitleProps,
|
10
|
+
RefineThemedLayoutV2SiderProps,
|
11
|
+
RefineThemedLayoutV2HeaderProps,
|
12
|
+
RefineThemedLayoutV2Props,
|
13
|
+
};
|
@@ -0,0 +1,28 @@
|
|
1
|
+
import React, { ReactNode, useState } from "react";
|
2
|
+
|
3
|
+
import { IThemedLayoutContext } from "./IThemedLayoutContext";
|
4
|
+
|
5
|
+
export const ThemedLayoutContext = React.createContext<IThemedLayoutContext>({
|
6
|
+
siderVisible: false,
|
7
|
+
drawerSiderVisible: true,
|
8
|
+
});
|
9
|
+
|
10
|
+
export const ThemedLayoutContextProvider: React.FC<{ children: ReactNode }> = ({
|
11
|
+
children,
|
12
|
+
}) => {
|
13
|
+
const [siderVisible, setSiderVisible] = useState(false);
|
14
|
+
const [drawerSiderVisible, setDrawerSiderVisible] = useState(true);
|
15
|
+
|
16
|
+
return (
|
17
|
+
<ThemedLayoutContext.Provider
|
18
|
+
value={{
|
19
|
+
siderVisible,
|
20
|
+
drawerSiderVisible,
|
21
|
+
setSiderVisible,
|
22
|
+
setDrawerSiderVisible,
|
23
|
+
}}
|
24
|
+
>
|
25
|
+
{children}
|
26
|
+
</ThemedLayoutContext.Provider>
|
27
|
+
);
|
28
|
+
};
|
@@ -17,17 +17,8 @@ export type UseCheckboxGroupReturnType<TData extends BaseRecord = BaseRecord> =
|
|
17
17
|
queryResult: QueryObserverResult<GetListResponse<TData>>;
|
18
18
|
};
|
19
19
|
|
20
|
-
|
21
|
-
|
22
|
-
*
|
23
|
-
* @see {@link https://refine.dev/docs/ui-framewors/antd/hooks/field/useCheckboxGroup} for more details.
|
24
|
-
*
|
25
|
-
* @typeParam TData - Result data of the query extends {@link https://refine.dev/docs/api-references/interfaceReferences#baserecord `BaseRecord`}
|
26
|
-
*
|
27
|
-
*/
|
28
|
-
|
29
|
-
type UseCheckboxGroupProps<TData, TError> = Omit<
|
30
|
-
UseSelectProps<TData, TError>,
|
20
|
+
type UseCheckboxGroupProps<TQueryFnData, TError, TData> = Omit<
|
21
|
+
UseSelectProps<TQueryFnData, TError, TData>,
|
31
22
|
"defaultValue"
|
32
23
|
> & {
|
33
24
|
/**
|
@@ -36,9 +27,21 @@ type UseCheckboxGroupProps<TData, TError> = Omit<
|
|
36
27
|
defaultValue?: BaseKey[];
|
37
28
|
};
|
38
29
|
|
30
|
+
/**
|
31
|
+
* `useCheckboxGroup` hook allows you to manage an Ant Design {@link https://ant.design/components/checkbox/#components-checkbox-demo-group Checkbox.Group} component when records in a resource needs to be used as checkbox options.
|
32
|
+
*
|
33
|
+
* @see {@link https://refine.dev/docs/api-reference/antd/hooks/field/useCheckboxGroup/} for more details
|
34
|
+
*
|
35
|
+
* @typeParam TQueryFnData - Result data returned by the query function. Extends {@link https://refine.dev/docs/api-reference/core/interfaceReferences#baserecord `BaseRecord`}
|
36
|
+
* @typeParam TError - Custom error object that extends {@link https://refine.dev/docs/api-reference/core/interfaceReferences#httperror `HttpError`}
|
37
|
+
* @typeParam TData - Result data returned by the `select` function. Extends {@link https://refine.dev/docs/api-reference/core/interfaceReferences#baserecord `BaseRecord`}. Defaults to `TQueryFnData`
|
38
|
+
*
|
39
|
+
*/
|
40
|
+
|
39
41
|
export const useCheckboxGroup = <
|
40
|
-
|
42
|
+
TQueryFnData extends BaseRecord = BaseRecord,
|
41
43
|
TError extends HttpError = HttpError,
|
44
|
+
TData extends BaseRecord = TQueryFnData,
|
42
45
|
>({
|
43
46
|
resource,
|
44
47
|
sort,
|
@@ -56,7 +59,11 @@ export const useCheckboxGroup = <
|
|
56
59
|
meta,
|
57
60
|
metaData,
|
58
61
|
dataProviderName,
|
59
|
-
}: UseCheckboxGroupProps<
|
62
|
+
}: UseCheckboxGroupProps<
|
63
|
+
TQueryFnData,
|
64
|
+
TError,
|
65
|
+
TData
|
66
|
+
>): UseCheckboxGroupReturnType<TData> => {
|
60
67
|
const { queryResult, options } = useSelect({
|
61
68
|
resource,
|
62
69
|
sort,
|
@@ -16,17 +16,8 @@ export type UseRadioGroupReturnType<TData extends BaseRecord = BaseRecord> = {
|
|
16
16
|
queryResult: QueryObserverResult<GetListResponse<TData>>;
|
17
17
|
};
|
18
18
|
|
19
|
-
|
20
|
-
|
21
|
-
*
|
22
|
-
* @see {@link https://refine.dev/docs/ui-frameworks/antd/hooks/field/useRadioGroup} for more details.
|
23
|
-
*
|
24
|
-
* @typeParam TData - Result data of the query extends {@link https://refine.dev/docs/core/interfaceReferences#baserecord `BaseRecord`}
|
25
|
-
*
|
26
|
-
*/
|
27
|
-
|
28
|
-
type UseRadioGroupProps<TData, TError> = Omit<
|
29
|
-
UseSelectProps<TData, TError>,
|
19
|
+
type UseRadioGroupProps<TQueryFnData, TError, TData> = Omit<
|
20
|
+
UseSelectProps<TQueryFnData, TError, TData>,
|
30
21
|
"defaultValue"
|
31
22
|
> & {
|
32
23
|
/**
|
@@ -35,9 +26,21 @@ type UseRadioGroupProps<TData, TError> = Omit<
|
|
35
26
|
defaultValue?: BaseKey;
|
36
27
|
};
|
37
28
|
|
29
|
+
/**
|
30
|
+
* `useRadioGroup` hook allows you to manage an Ant Design {@link https://ant.design/components/radio/#components-radio-demo-radiogroup-with-name Radio.Group} component when records in a resource needs to be used as radio options.
|
31
|
+
*
|
32
|
+
* @see {@link https://refine.dev/docs/api-reference/antd/hooks/field/useRadioGroup/} for more details.
|
33
|
+
*
|
34
|
+
* @typeParam TQueryFnData - Result data returned by the query function. Extends {@link https://refine.dev/docs/api-reference/core/interfaceReferences#baserecord `BaseRecord`}
|
35
|
+
* @typeParam TError - Custom error object that extends {@link https://refine.dev/docs/api-reference/core/interfaceReferences#httperror `HttpError`}
|
36
|
+
* @typeParam TData - Result data returned by the `select` function. Extends {@link https://refine.dev/docs/api-reference/core/interfaceReferences#baserecord `BaseRecord`}. Defaults to `TQueryFnData`
|
37
|
+
*
|
38
|
+
*/
|
39
|
+
|
38
40
|
export const useRadioGroup = <
|
39
|
-
|
41
|
+
TQueryFnData extends BaseRecord = BaseRecord,
|
40
42
|
TError extends HttpError = HttpError,
|
43
|
+
TData extends BaseRecord = TQueryFnData,
|
41
44
|
>({
|
42
45
|
resource,
|
43
46
|
sort,
|
@@ -55,7 +58,11 @@ export const useRadioGroup = <
|
|
55
58
|
meta,
|
56
59
|
metaData,
|
57
60
|
dataProviderName,
|
58
|
-
}: UseRadioGroupProps<
|
61
|
+
}: UseRadioGroupProps<
|
62
|
+
TQueryFnData,
|
63
|
+
TError,
|
64
|
+
TData
|
65
|
+
>): UseRadioGroupReturnType<TData> => {
|
59
66
|
const { queryResult, options } = useSelect({
|
60
67
|
resource,
|
61
68
|
sort,
|
@@ -19,16 +19,20 @@ export type UseSelectReturnType<TData extends BaseRecord = BaseRecord> = {
|
|
19
19
|
/**
|
20
20
|
* `useSelect` hook allows you to manage an Ant Design {@link https://ant.design/components/select/ Select} component when records in a resource needs to be used as select options.
|
21
21
|
*
|
22
|
-
* @see {@link https://refine.dev/docs/api-
|
22
|
+
* @see {@link https://refine.dev/docs/api-reference/antd/hooks/field/useSelect/} for more details.
|
23
23
|
*
|
24
|
-
* @typeParam
|
24
|
+
* @typeParam TQueryFnData - Result data returned by the query function. Extends {@link https://refine.dev/docs/api-reference/core/interfaceReferences#baserecord `BaseRecord`}
|
25
|
+
* @typeParam TError - Custom error object that extends {@link https://refine.dev/docs/api-reference/core/interfaceReferences#httperror `HttpError`}
|
26
|
+
* @typeParam TData - Result data returned by the `select` function. Extends {@link https://refine.dev/docs/api-reference/core/interfaceReferences#baserecord `BaseRecord`}. Defaults to `TQueryFnData`
|
25
27
|
*
|
26
28
|
*/
|
29
|
+
|
27
30
|
export const useSelect = <
|
28
|
-
|
31
|
+
TQueryFnData extends BaseRecord = BaseRecord,
|
29
32
|
TError extends HttpError = HttpError,
|
33
|
+
TData extends BaseRecord = TQueryFnData,
|
30
34
|
>(
|
31
|
-
props: UseSelectProps<
|
35
|
+
props: UseSelectProps<TQueryFnData, TError, TData>,
|
32
36
|
): UseSelectReturnType<TData> => {
|
33
37
|
const { queryResult, defaultValueQueryResult, onSearch, options } =
|
34
38
|
useSelectCore(props);
|
@@ -27,8 +27,9 @@ export type UseDrawerFormProps<
|
|
27
27
|
TData extends BaseRecord = BaseRecord,
|
28
28
|
TError extends HttpError = HttpError,
|
29
29
|
TVariables = {},
|
30
|
-
|
31
|
-
|
30
|
+
TSelectData extends BaseRecord = TData,
|
31
|
+
> = UseFormPropsCore<TData, TError, TVariables, TSelectData> &
|
32
|
+
UseFormProps<TData, TError, TVariables, TSelectData> &
|
32
33
|
UseDrawerFormConfig &
|
33
34
|
LiveModeProps &
|
34
35
|
FormWithSyncWithLocationParams & {
|
@@ -41,7 +42,8 @@ export type UseDrawerFormReturnType<
|
|
41
42
|
TData extends BaseRecord = BaseRecord,
|
42
43
|
TError extends HttpError = HttpError,
|
43
44
|
TVariables = {},
|
44
|
-
|
45
|
+
TSelectData extends BaseRecord = TData,
|
46
|
+
> = UseFormReturnType<TData, TError, TVariables, TSelectData> & {
|
45
47
|
formProps: FormProps<TVariables> & {
|
46
48
|
form: FormInstance<TVariables>;
|
47
49
|
};
|
@@ -69,24 +71,26 @@ export const useDrawerForm = <
|
|
69
71
|
TData extends BaseRecord = BaseRecord,
|
70
72
|
TError extends HttpError = HttpError,
|
71
73
|
TVariables = {},
|
74
|
+
TSelectData extends BaseRecord = TData,
|
72
75
|
>({
|
73
76
|
syncWithLocation,
|
74
77
|
defaultVisible = false,
|
75
78
|
autoSubmitClose = true,
|
76
79
|
autoResetForm = true,
|
77
80
|
...rest
|
78
|
-
}: UseDrawerFormProps<
|
81
|
+
}: UseDrawerFormProps<
|
79
82
|
TData,
|
80
83
|
TError,
|
81
|
-
TVariables
|
82
|
-
|
84
|
+
TVariables,
|
85
|
+
TSelectData
|
86
|
+
>): UseDrawerFormReturnType<TData, TError, TVariables, TSelectData> => {
|
83
87
|
const initiallySynced = React.useRef(false);
|
84
88
|
|
85
89
|
const { visible, show, close } = useModal({
|
86
90
|
defaultVisible,
|
87
91
|
});
|
88
92
|
|
89
|
-
const useFormProps = useForm<TData, TError, TVariables>({
|
93
|
+
const useFormProps = useForm<TData, TError, TVariables, TSelectData>({
|
90
94
|
...rest,
|
91
95
|
});
|
92
96
|
|
@@ -19,7 +19,8 @@ export type UseFormProps<
|
|
19
19
|
TData extends BaseRecord = BaseRecord,
|
20
20
|
TError extends HttpError = HttpError,
|
21
21
|
TVariables = {},
|
22
|
-
|
22
|
+
TSelectData extends BaseRecord = TData,
|
23
|
+
> = UseFormPropsCore<TData, TError, TVariables, TSelectData> & {
|
23
24
|
submitOnEnter?: boolean;
|
24
25
|
/**
|
25
26
|
* Shows notification when unsaved changes exist
|
@@ -31,7 +32,8 @@ export type UseFormReturnType<
|
|
31
32
|
TData extends BaseRecord = BaseRecord,
|
32
33
|
TError extends HttpError = HttpError,
|
33
34
|
TVariables = {},
|
34
|
-
|
35
|
+
TSelectData extends BaseRecord = TData,
|
36
|
+
> = UseFormReturnTypeCore<TData, TError, TVariables, TSelectData> & {
|
35
37
|
form: FormInstance<TVariables>;
|
36
38
|
formProps: FormProps<TVariables>;
|
37
39
|
saveButtonProps: ButtonProps & {
|
@@ -57,6 +59,7 @@ export const useForm = <
|
|
57
59
|
TData extends BaseRecord = BaseRecord,
|
58
60
|
TError extends HttpError = HttpError,
|
59
61
|
TVariables = {},
|
62
|
+
TSelectData extends BaseRecord = TData,
|
60
63
|
>({
|
61
64
|
action,
|
62
65
|
resource,
|
@@ -80,18 +83,24 @@ export const useForm = <
|
|
80
83
|
createMutationOptions,
|
81
84
|
updateMutationOptions,
|
82
85
|
id: idFromProps,
|
83
|
-
}: UseFormProps<
|
86
|
+
}: UseFormProps<
|
84
87
|
TData,
|
85
88
|
TError,
|
86
|
-
TVariables
|
87
|
-
|
89
|
+
TVariables,
|
90
|
+
TSelectData
|
91
|
+
> = {}): UseFormReturnType<TData, TError, TVariables, TSelectData> => {
|
88
92
|
const [formAnt] = Form.useForm();
|
89
93
|
const formSF = useFormSF<TData, TVariables>({
|
90
94
|
form: formAnt,
|
91
95
|
});
|
92
96
|
const { form } = formSF;
|
93
97
|
|
94
|
-
const useFormCoreResult = useFormCore<
|
98
|
+
const useFormCoreResult = useFormCore<
|
99
|
+
TData,
|
100
|
+
TError,
|
101
|
+
TVariables,
|
102
|
+
TSelectData
|
103
|
+
>({
|
95
104
|
onMutationSuccess: onMutationSuccessProp
|
96
105
|
? onMutationSuccessProp
|
97
106
|
: undefined,
|
@@ -46,18 +46,20 @@ export type UseModalFormReturnType<
|
|
46
46
|
TData extends BaseRecord = BaseRecord,
|
47
47
|
TError extends HttpError = HttpError,
|
48
48
|
TVariables = {},
|
49
|
+
TSelectData extends BaseRecord = TData,
|
49
50
|
> = Omit<
|
50
|
-
UseFormReturnType<TData, TError, TVariables>,
|
51
|
+
UseFormReturnType<TData, TError, TVariables, TSelectData>,
|
51
52
|
"saveButtonProps" | "deleteButtonProps"
|
52
53
|
> &
|
53
|
-
useModalFormFromSFReturnType<
|
54
|
+
useModalFormFromSFReturnType<TSelectData, TVariables>;
|
54
55
|
|
55
56
|
export type UseModalFormProps<
|
56
57
|
TData extends BaseRecord = BaseRecord,
|
57
58
|
TError extends HttpError = HttpError,
|
58
59
|
TVariables = {},
|
59
|
-
|
60
|
-
|
60
|
+
TSelectData extends BaseRecord = TData,
|
61
|
+
> = UseFormPropsCore<TData, TError, TVariables, TSelectData> &
|
62
|
+
UseFormProps<TData, TError, TVariables, TSelectData> &
|
61
63
|
UseModalFormConfigSF &
|
62
64
|
useModalFormConfig &
|
63
65
|
LiveModeProps &
|
@@ -77,17 +79,19 @@ export const useModalForm = <
|
|
77
79
|
TData extends BaseRecord = BaseRecord,
|
78
80
|
TError extends HttpError = HttpError,
|
79
81
|
TVariables = {},
|
82
|
+
TSelectData extends BaseRecord = TData,
|
80
83
|
>({
|
81
84
|
syncWithLocation,
|
82
85
|
...rest
|
83
|
-
}: UseModalFormProps<
|
86
|
+
}: UseModalFormProps<
|
84
87
|
TData,
|
85
88
|
TError,
|
86
|
-
TVariables
|
87
|
-
|
89
|
+
TVariables,
|
90
|
+
TSelectData
|
91
|
+
>): UseModalFormReturnType<TData, TError, TVariables, TSelectData> => {
|
88
92
|
const initiallySynced = React.useRef(false);
|
89
93
|
|
90
|
-
const useFormProps = useForm<TData, TError, TVariables>({
|
94
|
+
const useFormProps = useForm<TData, TError, TVariables, TSelectData>({
|
91
95
|
...rest,
|
92
96
|
});
|
93
97
|
|
@@ -114,7 +118,7 @@ export const useModalForm = <
|
|
114
118
|
|
115
119
|
const { warnWhen, setWarnWhen } = useWarnAboutChange();
|
116
120
|
|
117
|
-
const sunflowerUseModal = useModalFormSF<
|
121
|
+
const sunflowerUseModal = useModalFormSF<TSelectData, TVariables>({
|
118
122
|
...rest,
|
119
123
|
form: form,
|
120
124
|
submit: onFinish as any,
|
@@ -33,15 +33,17 @@ export type UseStepsFormReturnType<
|
|
33
33
|
TData extends BaseRecord = BaseRecord,
|
34
34
|
TError extends HttpError = HttpError,
|
35
35
|
TVariables = {},
|
36
|
-
|
37
|
-
|
36
|
+
TSelectData extends BaseRecord = TData,
|
37
|
+
> = UseFormReturnType<TData, TError, TVariables, TSelectData> &
|
38
|
+
UseStepsFormFromSFReturnType<TSelectData, TVariables>;
|
38
39
|
|
39
40
|
export type UseStepsFormProps<
|
40
41
|
TData extends BaseRecord = BaseRecord,
|
41
42
|
TError extends HttpError = HttpError,
|
42
43
|
TVariables = {},
|
43
|
-
|
44
|
-
|
44
|
+
TSelectData extends BaseRecord = TData,
|
45
|
+
> = UseFormPropsCore<TData, TError, TVariables, TSelectData> &
|
46
|
+
UseFormProps<TData, TError, TVariables, TSelectData> &
|
45
47
|
UseStepsFormConfig;
|
46
48
|
|
47
49
|
/**
|
@@ -59,13 +61,16 @@ export const useStepsForm = <
|
|
59
61
|
TData extends BaseRecord = BaseRecord,
|
60
62
|
TError extends HttpError = HttpError,
|
61
63
|
TVariables = {},
|
64
|
+
TSelectData extends BaseRecord = TData,
|
62
65
|
>(
|
63
|
-
props: UseStepsFormProps<TData, TError, TVariables> = {},
|
64
|
-
): UseStepsFormReturnType<TData, TError, TVariables> => {
|
65
|
-
const useFormProps = useForm<TData, TError, TVariables>({
|
66
|
+
props: UseStepsFormProps<TData, TError, TVariables, TSelectData> = {},
|
67
|
+
): UseStepsFormReturnType<TData, TError, TVariables, TSelectData> => {
|
68
|
+
const useFormProps = useForm<TData, TError, TVariables, TSelectData>({
|
69
|
+
...props,
|
70
|
+
});
|
66
71
|
const { form, formProps } = useFormProps;
|
67
72
|
|
68
|
-
const stepsPropsSunflower = useStepsFormSF<
|
73
|
+
const stepsPropsSunflower = useStepsFormSF<TSelectData, TVariables>({
|
69
74
|
isBackValidate: false,
|
70
75
|
form: form,
|
71
76
|
submit: (values: any) => {
|
package/src/hooks/index.ts
CHANGED
@@ -14,16 +14,17 @@ import { useLiveMode } from "@refinedev/core";
|
|
14
14
|
import { PaginationLink } from "@hooks/table/useTable/paginationLink";
|
15
15
|
import { PaginationConfig } from "antd/lib/pagination";
|
16
16
|
|
17
|
-
export type useSimpleListProps<
|
18
|
-
useTablePropsCore<
|
17
|
+
export type useSimpleListProps<TQueryFnData, TError, TSearchVariables, TData> =
|
18
|
+
useTablePropsCore<TQueryFnData, TError, TData> & {
|
19
19
|
onSearch?: (
|
20
20
|
data: TSearchVariables,
|
21
21
|
) => CrudFilters | Promise<CrudFilters>;
|
22
22
|
};
|
23
23
|
|
24
24
|
export type useSimpleListReturnType<
|
25
|
-
|
25
|
+
TQueryFnData extends BaseRecord = BaseRecord,
|
26
26
|
TSearchVariables = unknown,
|
27
|
+
TData extends BaseRecord = TQueryFnData,
|
27
28
|
> = Omit<useTableReturnType<TData>, "tableQueryResult"> & {
|
28
29
|
listProps: ListProps<TData>;
|
29
30
|
queryResult: useTableReturnType["tableQueryResult"];
|
@@ -36,16 +37,18 @@ export type useSimpleListReturnType<
|
|
36
37
|
*
|
37
38
|
* @see {@link https://refine.dev/docs/ui-frameworks/antd/hooks/list/useSimpleList} for more details.
|
38
39
|
*
|
39
|
-
* @typeParam
|
40
|
-
* @typeParam TError - Custom error object that extends {@link https://refine.dev/docs/api-
|
40
|
+
* @typeParam TQueryFnData - Result data returned by the query function. Extends {@link https://refine.dev/docs/api-reference/core/interfaceReferences#baserecord `BaseRecord`}
|
41
|
+
* @typeParam TError - Custom error object that extends {@link https://refine.dev/docs/api-reference/core/interfaceReferences#httperror `HttpError`}
|
41
42
|
* @typeParam TSearchVariables - Antd form values
|
43
|
+
* @typeParam TData - Result data returned by the `select` function. Extends {@link https://refine.dev/docs/api-reference/core/interfaceReferences#baserecord `BaseRecord`}. Defaults to `TQueryFnData`
|
42
44
|
*
|
43
45
|
*/
|
44
46
|
|
45
47
|
export const useSimpleList = <
|
46
|
-
|
48
|
+
TQueryFnData extends BaseRecord = BaseRecord,
|
47
49
|
TError extends HttpError = HttpError,
|
48
50
|
TSearchVariables = unknown,
|
51
|
+
TData extends BaseRecord = TQueryFnData,
|
49
52
|
>({
|
50
53
|
resource,
|
51
54
|
initialCurrent,
|
@@ -71,9 +74,10 @@ export const useSimpleList = <
|
|
71
74
|
metaData,
|
72
75
|
dataProviderName,
|
73
76
|
}: useSimpleListProps<
|
74
|
-
|
77
|
+
TQueryFnData,
|
75
78
|
TError,
|
76
|
-
TSearchVariables
|
79
|
+
TSearchVariables,
|
80
|
+
TData
|
77
81
|
> = {}): useSimpleListReturnType<TData, TSearchVariables> => {
|
78
82
|
const {
|
79
83
|
sorters,
|
@@ -6,12 +6,13 @@ import { useTableProps, useTableReturnType } from "../useTable";
|
|
6
6
|
import { UseFormReturnType, useForm } from "../../form/useForm";
|
7
7
|
|
8
8
|
export type useEditableTableReturnType<
|
9
|
-
|
9
|
+
TQueryFnData extends BaseRecord = BaseRecord,
|
10
10
|
TError extends HttpError = HttpError,
|
11
11
|
TVariables = {},
|
12
12
|
TSearchVariables = unknown,
|
13
|
+
TData extends BaseRecord = TQueryFnData,
|
13
14
|
> = useTableReturnType<TData, TError, TSearchVariables> &
|
14
|
-
UseFormReturnType<
|
15
|
+
UseFormReturnType<TQueryFnData, TError, TVariables> & {
|
15
16
|
saveButtonProps: ButtonProps & {
|
16
17
|
onClick: () => void;
|
17
18
|
};
|
@@ -25,43 +26,59 @@ export type useEditableTableReturnType<
|
|
25
26
|
};
|
26
27
|
|
27
28
|
type useEditableTableProps<
|
28
|
-
|
29
|
+
TQueryFnData extends BaseRecord = BaseRecord,
|
29
30
|
TError extends HttpError = HttpError,
|
30
31
|
TVariables = {},
|
31
32
|
TSearchVariables = unknown,
|
33
|
+
TData extends BaseRecord = TQueryFnData,
|
32
34
|
> = Omit<
|
33
|
-
useTableProps<
|
35
|
+
useTableProps<TQueryFnData, TError, TSearchVariables, TData>,
|
34
36
|
"successNotification" | "errorNotification"
|
35
37
|
> &
|
36
|
-
UseFormProps<
|
38
|
+
UseFormProps<TQueryFnData, TError, TVariables>;
|
37
39
|
|
38
40
|
/**
|
39
41
|
* `useEditeableTable` allows you to implement edit feature on the table with ease,
|
40
|
-
* on top of all the features that {@link https://refine.dev/docs/api-
|
42
|
+
* on top of all the features that {@link https://refine.dev/docs/api-reference/core/hooks/useTable/ `useTable`} provides.
|
41
43
|
* `useEditableTable` return properties that can be used on Ant Design's {@link https://ant.design/components/table/ `<Table>`}
|
42
44
|
* and {@link https://ant.design/components/form/ `<Form>`} components.
|
43
45
|
*
|
44
|
-
* @see {@link https://refine.dev/docs/
|
46
|
+
* @see {@link https://refine.dev/docs/api-reference/antd/hooks/table/useTable/} for more details.
|
47
|
+
*
|
48
|
+
* @typeParam TQueryFnData - Result data returned by the query function. Extends {@link https://refine.dev/docs/api-reference/core/interfaceReferences#baserecord `BaseRecord`}
|
49
|
+
* @typeParam TError - Custom error object that extends {@link https://refine.dev/docs/api-reference/core/interfaceReferences#httperror `HttpError`}
|
50
|
+
* @typeParam TVariables - Values for params
|
51
|
+
* @typeParam TSearchVariables - Values for search params
|
52
|
+
* @typeParam TData - Result data returned by the `select` function. Extends {@link https://refine.dev/docs/api-reference/core/interfaceReferences#baserecord `BaseRecord`}. Defaults to `TQueryFnData`
|
53
|
+
*
|
45
54
|
*/
|
46
55
|
export const useEditableTable = <
|
47
|
-
|
56
|
+
TQueryFnData extends BaseRecord = BaseRecord,
|
48
57
|
TError extends HttpError = HttpError,
|
49
58
|
TVariables = {},
|
50
59
|
TSearchVariables = unknown,
|
60
|
+
TData extends BaseRecord = TQueryFnData,
|
51
61
|
>(
|
52
62
|
props: useEditableTableProps<
|
53
|
-
|
63
|
+
TQueryFnData,
|
54
64
|
TError,
|
55
65
|
TVariables,
|
56
|
-
TSearchVariables
|
66
|
+
TSearchVariables,
|
67
|
+
TData
|
57
68
|
> = {},
|
58
|
-
): useEditableTableReturnType<
|
59
|
-
|
69
|
+
): useEditableTableReturnType<
|
70
|
+
TQueryFnData,
|
71
|
+
TError,
|
72
|
+
TVariables,
|
73
|
+
TSearchVariables,
|
74
|
+
TData
|
75
|
+
> => {
|
76
|
+
const table = useTable<TQueryFnData, TError, TSearchVariables, TData>({
|
60
77
|
...props,
|
61
78
|
successNotification: undefined,
|
62
79
|
errorNotification: undefined,
|
63
80
|
});
|
64
|
-
const edit = useForm<
|
81
|
+
const edit = useForm<TQueryFnData, TError, TVariables>({
|
65
82
|
...props,
|
66
83
|
action: "edit",
|
67
84
|
redirect: false,
|