@refinedev/antd 5.37.4 → 5.37.5

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.
Files changed (162) hide show
  1. package/CHANGELOG.md +1760 -1778
  2. package/dist/components/autoSaveIndicator/index.d.ts.map +1 -1
  3. package/dist/components/breadcrumb/index.d.ts.map +1 -1
  4. package/dist/components/buttons/create/index.d.ts.map +1 -1
  5. package/dist/components/buttons/delete/index.d.ts.map +1 -1
  6. package/dist/components/buttons/import/index.d.ts.map +1 -1
  7. package/dist/components/buttons/types.d.ts.map +1 -1
  8. package/dist/components/crud/edit/index.d.ts.map +1 -1
  9. package/dist/components/crud/list/index.d.ts.map +1 -1
  10. package/dist/components/crud/show/index.d.ts.map +1 -1
  11. package/dist/components/crud/types.d.ts.map +1 -1
  12. package/dist/components/fields/types.d.ts.map +1 -1
  13. package/dist/components/layout/sider/index.d.ts.map +1 -1
  14. package/dist/components/layout/title/index.d.ts.map +1 -1
  15. package/dist/components/layout/types.d.ts.map +1 -1
  16. package/dist/components/pageHeader/index.d.ts.map +1 -1
  17. package/dist/components/pages/auth/components/forgotPassword/index.d.ts.map +1 -1
  18. package/dist/components/pages/auth/components/login/index.d.ts.map +1 -1
  19. package/dist/components/pages/auth/components/register/index.d.ts.map +1 -1
  20. package/dist/components/pages/auth/components/updatePassword/index.d.ts.map +1 -1
  21. package/dist/components/pages/auth/index.d.ts.map +1 -1
  22. package/dist/components/pages/login/index.d.ts.map +1 -1
  23. package/dist/components/pages/ready/index.d.ts.map +1 -1
  24. package/dist/components/table/components/filterDropdown/index.d.ts.map +1 -1
  25. package/dist/components/themedLayout/header/index.d.ts.map +1 -1
  26. package/dist/components/themedLayout/types.d.ts.map +1 -1
  27. package/dist/components/themedLayoutV2/header/index.d.ts.map +1 -1
  28. package/dist/components/themedLayoutV2/index.d.ts.map +1 -1
  29. package/dist/components/themedLayoutV2/sider/index.d.ts.map +1 -1
  30. package/dist/components/themedLayoutV2/types.d.ts.map +1 -1
  31. package/dist/components/undoableNotification/index.d.ts.map +1 -1
  32. package/dist/contexts/index.d.ts.map +1 -1
  33. package/dist/contexts/themedLayoutContext/IThemedLayoutContext.d.ts.map +1 -1
  34. package/dist/contexts/themedLayoutContext/index.d.ts.map +1 -1
  35. package/dist/definitions/table/index.d.ts.map +1 -1
  36. package/dist/definitions/themes/index.d.ts.map +1 -1
  37. package/dist/esm/index.js +1 -1
  38. package/dist/esm/index.js.map +1 -1
  39. package/dist/hooks/fields/useCheckboxGroup/index.d.ts.map +1 -1
  40. package/dist/hooks/fields/useRadioGroup/index.d.ts.map +1 -1
  41. package/dist/hooks/fields/useSelect/index.d.ts.map +1 -1
  42. package/dist/hooks/form/index.d.ts.map +1 -1
  43. package/dist/hooks/form/useDrawerForm/index.d.ts.map +1 -1
  44. package/dist/hooks/form/useDrawerForm/useDrawerForm.d.ts.map +1 -1
  45. package/dist/hooks/form/useForm.d.ts.map +1 -1
  46. package/dist/hooks/form/useModalForm/index.d.ts.map +1 -1
  47. package/dist/hooks/form/useModalForm/useModalForm.d.ts.map +1 -1
  48. package/dist/hooks/form/useStepsForm/index.d.ts.map +1 -1
  49. package/dist/hooks/form/useStepsForm/useStepsForm.d.ts.map +1 -1
  50. package/dist/hooks/import/index.d.ts.map +1 -1
  51. package/dist/hooks/list/useSimpleList/useSimpleList.d.ts.map +1 -1
  52. package/dist/hooks/modal/useModal/index.d.ts.map +1 -1
  53. package/dist/hooks/table/useEditableTable/useEditableTable.d.ts.map +1 -1
  54. package/dist/hooks/table/useTable/paginationLink.d.ts.map +1 -1
  55. package/dist/hooks/table/useTable/useTable.d.ts.map +1 -1
  56. package/dist/hooks/useFileUploadState/index.d.ts.map +1 -1
  57. package/dist/hooks/useSiderVisible/index.d.ts.map +1 -1
  58. package/dist/iife/index.js +10 -10
  59. package/dist/iife/index.js.map +1 -1
  60. package/dist/index.d.ts.map +1 -1
  61. package/dist/index.js +1 -1
  62. package/dist/index.js.map +1 -1
  63. package/dist/interfaces/field.d.ts.map +1 -1
  64. package/dist/interfaces/index.d.ts.map +1 -1
  65. package/dist/interfaces/upload.d.ts.map +1 -1
  66. package/package.json +32 -32
  67. package/refine.config.js +497 -524
  68. package/src/components/autoSaveIndicator/index.tsx +69 -69
  69. package/src/components/breadcrumb/index.tsx +63 -65
  70. package/src/components/buttons/clone/index.tsx +86 -86
  71. package/src/components/buttons/create/index.tsx +85 -86
  72. package/src/components/buttons/delete/index.tsx +114 -119
  73. package/src/components/buttons/edit/index.tsx +86 -86
  74. package/src/components/buttons/export/index.tsx +17 -17
  75. package/src/components/buttons/import/index.tsx +19 -20
  76. package/src/components/buttons/list/index.tsx +105 -105
  77. package/src/components/buttons/refresh/index.tsx +50 -50
  78. package/src/components/buttons/save/index.tsx +17 -17
  79. package/src/components/buttons/show/index.tsx +86 -86
  80. package/src/components/buttons/types.ts +20 -20
  81. package/src/components/crud/create/index.tsx +120 -120
  82. package/src/components/crud/edit/index.tsx +205 -207
  83. package/src/components/crud/list/index.tsx +88 -90
  84. package/src/components/crud/show/index.tsx +175 -185
  85. package/src/components/crud/types.ts +41 -56
  86. package/src/components/fields/boolean/index.tsx +11 -11
  87. package/src/components/fields/date/index.tsx +13 -13
  88. package/src/components/fields/email/index.tsx +5 -5
  89. package/src/components/fields/file/index.tsx +8 -8
  90. package/src/components/fields/image/index.tsx +4 -4
  91. package/src/components/fields/markdown/index.tsx +9 -9
  92. package/src/components/fields/number/index.tsx +17 -17
  93. package/src/components/fields/tag/index.tsx +1 -1
  94. package/src/components/fields/text/index.tsx +1 -1
  95. package/src/components/fields/types.ts +18 -18
  96. package/src/components/fields/url/index.tsx +8 -8
  97. package/src/components/layout/header/index.tsx +25 -25
  98. package/src/components/layout/index.tsx +30 -30
  99. package/src/components/layout/sider/index.tsx +238 -246
  100. package/src/components/layout/sider/styles.ts +5 -5
  101. package/src/components/layout/title/index.tsx +40 -40
  102. package/src/components/layout/types.ts +6 -6
  103. package/src/components/pageHeader/index.tsx +44 -44
  104. package/src/components/pages/auth/components/forgotPassword/index.tsx +177 -180
  105. package/src/components/pages/auth/components/login/index.tsx +258 -271
  106. package/src/components/pages/auth/components/register/index.tsx +247 -263
  107. package/src/components/pages/auth/components/styles.ts +16 -16
  108. package/src/components/pages/auth/components/updatePassword/index.tsx +160 -174
  109. package/src/components/pages/auth/index.tsx +23 -23
  110. package/src/components/pages/error/index.tsx +57 -57
  111. package/src/components/pages/login/index.tsx +120 -146
  112. package/src/components/pages/login/styles.ts +12 -12
  113. package/src/components/pages/ready/index.tsx +72 -80
  114. package/src/components/pages/welcome/index.tsx +1 -1
  115. package/src/components/table/components/filterDropdown/index.tsx +89 -92
  116. package/src/components/themedLayout/header/index.tsx +28 -32
  117. package/src/components/themedLayout/index.tsx +30 -30
  118. package/src/components/themedLayout/sider/index.tsx +279 -279
  119. package/src/components/themedLayout/sider/styles.ts +5 -5
  120. package/src/components/themedLayout/title/index.tsx +66 -66
  121. package/src/components/themedLayout/types.ts +8 -8
  122. package/src/components/themedLayoutV2/header/index.tsx +37 -41
  123. package/src/components/themedLayoutV2/index.tsx +34 -36
  124. package/src/components/themedLayoutV2/sider/index.tsx +309 -313
  125. package/src/components/themedLayoutV2/sider/styles.ts +5 -5
  126. package/src/components/themedLayoutV2/title/index.tsx +66 -66
  127. package/src/components/themedLayoutV2/types.ts +9 -9
  128. package/src/components/undoableNotification/index.tsx +31 -31
  129. package/src/contexts/index.ts +2 -2
  130. package/src/contexts/themedLayoutContext/IThemedLayoutContext.ts +4 -4
  131. package/src/contexts/themedLayoutContext/index.tsx +22 -22
  132. package/src/definitions/table/index.ts +81 -82
  133. package/src/definitions/themes/index.ts +35 -35
  134. package/src/definitions/upload/index.ts +17 -17
  135. package/src/hooks/fields/useCheckboxGroup/index.ts +64 -64
  136. package/src/hooks/fields/useRadioGroup/index.ts +60 -63
  137. package/src/hooks/fields/useSelect/index.ts +30 -30
  138. package/src/hooks/form/index.ts +10 -10
  139. package/src/hooks/form/useDrawerForm/index.ts +4 -4
  140. package/src/hooks/form/useDrawerForm/useDrawerForm.ts +257 -261
  141. package/src/hooks/form/useForm.ts +256 -259
  142. package/src/hooks/form/useModalForm/index.ts +3 -3
  143. package/src/hooks/form/useModalForm/useModalForm.ts +289 -295
  144. package/src/hooks/form/useStepsForm/index.ts +3 -3
  145. package/src/hooks/form/useStepsForm/useStepsForm.ts +96 -96
  146. package/src/hooks/import/index.tsx +104 -106
  147. package/src/hooks/list/useSimpleList/useSimpleList.ts +179 -185
  148. package/src/hooks/modal/useModal/index.tsx +24 -24
  149. package/src/hooks/table/useEditableTable/useEditableTable.ts +85 -85
  150. package/src/hooks/table/useTable/paginationLink.tsx +17 -17
  151. package/src/hooks/table/useTable/useTable.ts +199 -205
  152. package/src/hooks/useFileUploadState/index.ts +20 -20
  153. package/src/hooks/useSiderVisible/index.ts +16 -16
  154. package/src/hooks/useThemedLayoutContext/index.ts +12 -12
  155. package/src/index.tsx +4 -4
  156. package/src/interfaces/field.ts +1 -1
  157. package/src/interfaces/index.ts +7 -8
  158. package/src/interfaces/upload.ts +7 -7
  159. package/src/providers/notificationProvider/index.tsx +78 -78
  160. package/src/types/index.d.ts +2 -2
  161. package/src/types/sunflower.d.ts +68 -68
  162. package/tsconfig.json +26 -26
@@ -2,33 +2,31 @@ import { Children, createElement, Fragment } from "react";
2
2
  import { ListProps, FormProps, Form, Grid } from "antd";
3
3
 
4
4
  import {
5
- BaseRecord,
6
- CrudFilters,
7
- HttpError,
8
- useTable as useTableCore,
9
- useTableProps as useTablePropsCore,
10
- useTableReturnType,
11
- pickNotDeprecated,
5
+ BaseRecord,
6
+ CrudFilters,
7
+ HttpError,
8
+ useTable as useTableCore,
9
+ useTableProps as useTablePropsCore,
10
+ useTableReturnType,
11
+ pickNotDeprecated,
12
12
  } from "@refinedev/core";
13
13
  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
17
  export type useSimpleListProps<TQueryFnData, TError, TSearchVariables, TData> =
18
- useTablePropsCore<TQueryFnData, TError, TData> & {
19
- onSearch?: (
20
- data: TSearchVariables,
21
- ) => CrudFilters | Promise<CrudFilters>;
22
- };
18
+ useTablePropsCore<TQueryFnData, TError, TData> & {
19
+ onSearch?: (data: TSearchVariables) => CrudFilters | Promise<CrudFilters>;
20
+ };
23
21
 
24
22
  export type useSimpleListReturnType<
25
- TQueryFnData extends BaseRecord = BaseRecord,
26
- TSearchVariables = unknown,
27
- TData extends BaseRecord = TQueryFnData,
23
+ TQueryFnData extends BaseRecord = BaseRecord,
24
+ TSearchVariables = unknown,
25
+ TData extends BaseRecord = TQueryFnData,
28
26
  > = Omit<useTableReturnType<TData>, "tableQueryResult"> & {
29
- listProps: ListProps<TData>;
30
- queryResult: useTableReturnType["tableQueryResult"];
31
- searchFormProps: FormProps<TSearchVariables>;
27
+ listProps: ListProps<TData>;
28
+ queryResult: useTableReturnType["tableQueryResult"];
29
+ searchFormProps: FormProps<TSearchVariables>;
32
30
  };
33
31
 
34
32
  /**
@@ -45,188 +43,184 @@ export type useSimpleListReturnType<
45
43
  */
46
44
 
47
45
  export const useSimpleList = <
48
- TQueryFnData extends BaseRecord = BaseRecord,
49
- TError extends HttpError = HttpError,
50
- TSearchVariables = unknown,
51
- TData extends BaseRecord = TQueryFnData,
46
+ TQueryFnData extends BaseRecord = BaseRecord,
47
+ TError extends HttpError = HttpError,
48
+ TSearchVariables = unknown,
49
+ TData extends BaseRecord = TQueryFnData,
52
50
  >({
51
+ resource,
52
+ initialCurrent,
53
+ initialPageSize,
54
+ pagination,
55
+ hasPagination = true,
56
+ initialSorter,
57
+ permanentSorter,
58
+ initialFilter,
59
+ permanentFilter,
60
+ defaultSetFilterBehavior,
61
+ filters: filtersFromProp,
62
+ sorters: sortersFromProp,
63
+ onSearch,
64
+ queryOptions,
65
+ syncWithLocation,
66
+ successNotification,
67
+ errorNotification,
68
+ liveMode: liveModeFromProp,
69
+ onLiveEvent,
70
+ liveParams,
71
+ meta,
72
+ metaData,
73
+ dataProviderName,
74
+ }: useSimpleListProps<
75
+ TQueryFnData,
76
+ TError,
77
+ TSearchVariables,
78
+ TData
79
+ > = {}): useSimpleListReturnType<TData, TSearchVariables> => {
80
+ const {
81
+ sorters,
82
+ sorter,
83
+ filters,
84
+ current,
85
+ pageSize,
86
+ pageCount,
87
+ setFilters,
88
+ setCurrent,
89
+ setPageSize,
90
+ setSorter,
91
+ setSorters,
92
+ createLinkForSyncWithLocation,
93
+ tableQueryResult: queryResult,
94
+ overtime,
95
+ } = useTableCore({
53
96
  resource,
54
- initialCurrent,
55
- initialPageSize,
56
- pagination,
57
- hasPagination = true,
58
97
  initialSorter,
59
98
  permanentSorter,
60
99
  initialFilter,
61
100
  permanentFilter,
62
- defaultSetFilterBehavior,
63
101
  filters: filtersFromProp,
64
102
  sorters: sortersFromProp,
65
- onSearch,
103
+ defaultSetFilterBehavior,
104
+ initialCurrent,
105
+ initialPageSize,
66
106
  queryOptions,
67
- syncWithLocation,
68
107
  successNotification,
69
108
  errorNotification,
70
109
  liveMode: liveModeFromProp,
71
110
  onLiveEvent,
72
111
  liveParams,
73
- meta,
74
- metaData,
112
+ meta: pickNotDeprecated(meta, metaData),
113
+ metaData: pickNotDeprecated(meta, metaData),
114
+ syncWithLocation,
75
115
  dataProviderName,
76
- }: useSimpleListProps<
77
- TQueryFnData,
78
- TError,
79
- TSearchVariables,
80
- TData
81
- > = {}): useSimpleListReturnType<TData, TSearchVariables> => {
82
- const {
83
- sorters,
84
- sorter,
85
- filters,
86
- current,
87
- pageSize,
88
- pageCount,
89
- setFilters,
90
- setCurrent,
91
- setPageSize,
92
- setSorter,
93
- setSorters,
94
- createLinkForSyncWithLocation,
95
- tableQueryResult: queryResult,
96
- overtime,
97
- } = useTableCore({
98
- resource,
99
- initialSorter,
100
- permanentSorter,
101
- initialFilter,
102
- permanentFilter,
103
- filters: filtersFromProp,
104
- sorters: sortersFromProp,
105
- defaultSetFilterBehavior,
106
- initialCurrent,
107
- initialPageSize,
108
- queryOptions,
109
- successNotification,
110
- errorNotification,
111
- liveMode: liveModeFromProp,
112
- onLiveEvent,
113
- liveParams,
114
- meta: pickNotDeprecated(meta, metaData),
115
- metaData: pickNotDeprecated(meta, metaData),
116
- syncWithLocation,
117
- dataProviderName,
118
- pagination,
119
- hasPagination,
120
- });
121
-
122
- const hasPaginationString = hasPagination === false ? "off" : "server";
123
- const isPaginationEnabled =
124
- (pagination?.mode ?? hasPaginationString) !== "off";
125
-
126
- const breakpoint = Grid.useBreakpoint();
127
-
128
- const liveMode = useLiveMode(liveModeFromProp);
129
-
130
- const [form] = Form.useForm<TSearchVariables>();
131
-
132
- const { data, isFetched, isLoading } = queryResult;
133
-
134
- const onChange = (page: number, pageSize?: number): void => {
135
- if (isPaginationEnabled) {
136
- setCurrent(page);
137
- setPageSize(pageSize || 10);
138
- }
139
- };
140
-
141
- const onFinish = async (values: TSearchVariables) => {
142
- if (onSearch) {
143
- const searchFilters = await onSearch(values);
144
- if (isPaginationEnabled) {
145
- setCurrent?.(1);
146
- }
147
- return setFilters(searchFilters);
148
- }
149
- };
150
-
151
- const antdPagination = (): false | PaginationConfig => {
152
- if (isPaginationEnabled) {
153
- return {
154
- itemRender: (page, type, element) => {
155
- const link = createLinkForSyncWithLocation({
156
- pagination: {
157
- pageSize,
158
- current: page,
159
- },
160
- sorters,
161
- filters,
162
- });
163
-
164
- if (type === "page") {
165
- return createElement(PaginationLink, {
166
- to: link,
167
- element: `${page}`,
168
- });
169
- }
170
- if (type === "next" || type === "prev") {
171
- return createElement(PaginationLink, {
172
- to: link,
173
- element: element,
174
- });
175
- }
176
-
177
- if (type === "jump-next" || type === "jump-prev") {
178
- const elementChildren = (element as React.ReactElement)
179
- ?.props?.children;
180
-
181
- return createElement(PaginationLink, {
182
- to: link,
183
- element:
184
- Children.count(elementChildren) > 1
185
- ? createElement(
186
- Fragment,
187
- {},
188
- elementChildren,
189
- )
190
- : elementChildren,
191
- });
192
- }
193
-
194
- return element;
195
- },
196
- pageSize,
197
- current,
198
- simple: !breakpoint.sm,
199
- total: data?.total,
200
- onChange,
201
- };
202
- }
203
-
204
- return false;
205
- };
206
-
207
- return {
208
- searchFormProps: {
209
- form,
210
- onFinish,
211
- },
212
- listProps: {
213
- dataSource: data?.data,
214
- loading: liveMode === "auto" ? isLoading : !isFetched,
215
- pagination: antdPagination(),
116
+ pagination,
117
+ hasPagination,
118
+ });
119
+
120
+ const hasPaginationString = hasPagination === false ? "off" : "server";
121
+ const isPaginationEnabled =
122
+ (pagination?.mode ?? hasPaginationString) !== "off";
123
+
124
+ const breakpoint = Grid.useBreakpoint();
125
+
126
+ const liveMode = useLiveMode(liveModeFromProp);
127
+
128
+ const [form] = Form.useForm<TSearchVariables>();
129
+
130
+ const { data, isFetched, isLoading } = queryResult;
131
+
132
+ const onChange = (page: number, pageSize?: number): void => {
133
+ if (isPaginationEnabled) {
134
+ setCurrent(page);
135
+ setPageSize(pageSize || 10);
136
+ }
137
+ };
138
+
139
+ const onFinish = async (values: TSearchVariables) => {
140
+ if (onSearch) {
141
+ const searchFilters = await onSearch(values);
142
+ if (isPaginationEnabled) {
143
+ setCurrent?.(1);
144
+ }
145
+ return setFilters(searchFilters);
146
+ }
147
+ };
148
+
149
+ const antdPagination = (): false | PaginationConfig => {
150
+ if (isPaginationEnabled) {
151
+ return {
152
+ itemRender: (page, type, element) => {
153
+ const link = createLinkForSyncWithLocation({
154
+ pagination: {
155
+ pageSize,
156
+ current: page,
157
+ },
158
+ sorters,
159
+ filters,
160
+ });
161
+
162
+ if (type === "page") {
163
+ return createElement(PaginationLink, {
164
+ to: link,
165
+ element: `${page}`,
166
+ });
167
+ }
168
+ if (type === "next" || type === "prev") {
169
+ return createElement(PaginationLink, {
170
+ to: link,
171
+ element: element,
172
+ });
173
+ }
174
+
175
+ if (type === "jump-next" || type === "jump-prev") {
176
+ const elementChildren = (element as React.ReactElement)?.props
177
+ ?.children;
178
+
179
+ return createElement(PaginationLink, {
180
+ to: link,
181
+ element:
182
+ Children.count(elementChildren) > 1
183
+ ? createElement(Fragment, {}, elementChildren)
184
+ : elementChildren,
185
+ });
186
+ }
187
+
188
+ return element;
216
189
  },
217
- queryResult,
218
- filters,
219
- setFilters,
220
- sorter,
221
- setSorter,
222
- sorters,
223
- setSorters,
224
- current,
225
- setCurrent,
226
190
  pageSize,
227
- setPageSize,
228
- pageCount,
229
- createLinkForSyncWithLocation,
230
- overtime,
231
- };
191
+ current,
192
+ simple: !breakpoint.sm,
193
+ total: data?.total,
194
+ onChange,
195
+ };
196
+ }
197
+
198
+ return false;
199
+ };
200
+
201
+ return {
202
+ searchFormProps: {
203
+ form,
204
+ onFinish,
205
+ },
206
+ listProps: {
207
+ dataSource: data?.data,
208
+ loading: liveMode === "auto" ? isLoading : !isFetched,
209
+ pagination: antdPagination(),
210
+ },
211
+ queryResult,
212
+ filters,
213
+ setFilters,
214
+ sorter,
215
+ setSorter,
216
+ sorters,
217
+ setSorters,
218
+ current,
219
+ setCurrent,
220
+ pageSize,
221
+ setPageSize,
222
+ pageCount,
223
+ createLinkForSyncWithLocation,
224
+ overtime,
225
+ };
232
226
  };
@@ -1,18 +1,18 @@
1
1
  import { ModalProps } from "antd";
2
2
  import {
3
- useModal as useCoreModal,
4
- useModalReturnType as useCoreModelReturnType,
3
+ useModal as useCoreModal,
4
+ useModalReturnType as useCoreModelReturnType,
5
5
  } from "@refinedev/core";
6
6
 
7
7
  export type useModalReturnType = {
8
- modalProps: ModalProps;
8
+ modalProps: ModalProps;
9
9
  } & Omit<useCoreModelReturnType, "visible">;
10
10
 
11
11
  export type useModalProps = {
12
- /**
13
- * Default props for Ant Design {@link https://ant.design/components/modal/ `<Modal>`} component.
14
- */
15
- modalProps?: ModalProps;
12
+ /**
13
+ * Default props for Ant Design {@link https://ant.design/components/modal/ `<Modal>`} component.
14
+ */
15
+ modalProps?: ModalProps;
16
16
  };
17
17
 
18
18
  /**
@@ -21,23 +21,23 @@ export type useModalProps = {
21
21
  * @see {@link https://refine.dev/docs/api-reference/antd/hooks/ui/useModal} for more details.
22
22
  */
23
23
  export const useModal = ({
24
- modalProps = {},
24
+ modalProps = {},
25
25
  }: useModalProps = {}): useModalReturnType => {
26
- const { show, close, visible } = useCoreModal({
27
- defaultVisible: modalProps.open,
28
- });
26
+ const { show, close, visible } = useCoreModal({
27
+ defaultVisible: modalProps.open,
28
+ });
29
29
 
30
- return {
31
- modalProps: {
32
- ...modalProps,
33
- onCancel: (e: React.MouseEvent<HTMLButtonElement, MouseEvent>) => {
34
- modalProps.onCancel?.(e);
35
- close();
36
- },
37
- open: visible,
38
- visible,
39
- },
40
- show,
41
- close,
42
- };
30
+ return {
31
+ modalProps: {
32
+ ...modalProps,
33
+ onCancel: (e: React.MouseEvent<HTMLButtonElement, MouseEvent>) => {
34
+ modalProps.onCancel?.(e);
35
+ close();
36
+ },
37
+ open: visible,
38
+ visible,
39
+ },
40
+ show,
41
+ close,
42
+ };
43
43
  };
@@ -6,41 +6,41 @@ import { useTableProps, useTableReturnType } from "../useTable";
6
6
  import { UseFormReturnType, useForm } from "../../form/useForm";
7
7
 
8
8
  export type useEditableTableReturnType<
9
- TQueryFnData extends BaseRecord = BaseRecord,
10
- TError extends HttpError = HttpError,
11
- TVariables = {},
12
- TSearchVariables = unknown,
13
- TData extends BaseRecord = TQueryFnData,
9
+ TQueryFnData extends BaseRecord = BaseRecord,
10
+ TError extends HttpError = HttpError,
11
+ TVariables = {},
12
+ TSearchVariables = unknown,
13
+ TData extends BaseRecord = TQueryFnData,
14
14
  > = useTableReturnType<TData, TError, TSearchVariables> &
15
- UseFormReturnType<TQueryFnData, TError, TVariables> & {
16
- saveButtonProps: ButtonProps & {
17
- onClick: () => void;
18
- };
19
- cancelButtonProps: ButtonProps & {
20
- onClick: () => void;
21
- };
22
- editButtonProps: (id: BaseKey) => ButtonProps & {
23
- onClick: () => void;
24
- };
25
- isEditing: (id: BaseKey) => boolean;
15
+ UseFormReturnType<TQueryFnData, TError, TVariables> & {
16
+ saveButtonProps: ButtonProps & {
17
+ onClick: () => void;
26
18
  };
19
+ cancelButtonProps: ButtonProps & {
20
+ onClick: () => void;
21
+ };
22
+ editButtonProps: (id: BaseKey) => ButtonProps & {
23
+ onClick: () => void;
24
+ };
25
+ isEditing: (id: BaseKey) => boolean;
26
+ };
27
27
 
28
28
  type useEditableTableProps<
29
- TQueryFnData extends BaseRecord = BaseRecord,
30
- TError extends HttpError = HttpError,
31
- TVariables = {},
32
- TSearchVariables = unknown,
33
- TData extends BaseRecord = TQueryFnData,
29
+ TQueryFnData extends BaseRecord = BaseRecord,
30
+ TError extends HttpError = HttpError,
31
+ TVariables = {},
32
+ TSearchVariables = unknown,
33
+ TData extends BaseRecord = TQueryFnData,
34
34
  > = Omit<
35
- useTableProps<TQueryFnData, TError, TSearchVariables, TData>,
36
- "successNotification" | "errorNotification"
35
+ useTableProps<TQueryFnData, TError, TSearchVariables, TData>,
36
+ "successNotification" | "errorNotification"
37
37
  > &
38
- UseFormProps<TQueryFnData, TError, TVariables> & {
39
- /**
40
- * When true, row will be closed after successful submit.
41
- */
42
- autoSubmitClose?: boolean;
43
- };
38
+ UseFormProps<TQueryFnData, TError, TVariables> & {
39
+ /**
40
+ * When true, row will be closed after successful submit.
41
+ */
42
+ autoSubmitClose?: boolean;
43
+ };
44
44
 
45
45
  /**
46
46
  * `useEditeableTable` allows you to implement edit feature on the table with ease,
@@ -58,70 +58,70 @@ type useEditableTableProps<
58
58
  *
59
59
  */
60
60
  export const useEditableTable = <
61
- TQueryFnData extends BaseRecord = BaseRecord,
62
- TError extends HttpError = HttpError,
63
- TVariables = {},
64
- TSearchVariables = unknown,
65
- TData extends BaseRecord = TQueryFnData,
61
+ TQueryFnData extends BaseRecord = BaseRecord,
62
+ TError extends HttpError = HttpError,
63
+ TVariables = {},
64
+ TSearchVariables = unknown,
65
+ TData extends BaseRecord = TQueryFnData,
66
66
  >({
67
- autoSubmitClose = true,
68
- ...props
67
+ autoSubmitClose = true,
68
+ ...props
69
69
  }: useEditableTableProps<
70
- TQueryFnData,
71
- TError,
72
- TVariables,
73
- TSearchVariables,
74
- TData
70
+ TQueryFnData,
71
+ TError,
72
+ TVariables,
73
+ TSearchVariables,
74
+ TData
75
75
  > = {}): useEditableTableReturnType<
76
- TQueryFnData,
77
- TError,
78
- TVariables,
79
- TSearchVariables,
80
- TData
76
+ TQueryFnData,
77
+ TError,
78
+ TVariables,
79
+ TSearchVariables,
80
+ TData
81
81
  > => {
82
- const table = useTable<TQueryFnData, TError, TSearchVariables, TData>({
83
- ...props,
84
- successNotification: undefined,
85
- errorNotification: undefined,
86
- });
87
- const edit = useForm<TQueryFnData, TError, TVariables>({
88
- ...props,
89
- action: "edit",
90
- redirect: false,
91
- });
82
+ const table = useTable<TQueryFnData, TError, TSearchVariables, TData>({
83
+ ...props,
84
+ successNotification: undefined,
85
+ errorNotification: undefined,
86
+ });
87
+ const edit = useForm<TQueryFnData, TError, TVariables>({
88
+ ...props,
89
+ action: "edit",
90
+ redirect: false,
91
+ });
92
92
 
93
- const { id: editId, setId, saveButtonProps } = edit;
93
+ const { id: editId, setId, saveButtonProps } = edit;
94
94
 
95
- const cancelButtonProps = {
96
- onClick: () => {
97
- setId(undefined);
98
- },
99
- };
95
+ const cancelButtonProps = {
96
+ onClick: () => {
97
+ setId(undefined);
98
+ },
99
+ };
100
100
 
101
- const editButtonProps = (id: BaseKey) => {
102
- return {
103
- onClick: () => setId(id),
104
- };
101
+ const editButtonProps = (id: BaseKey) => {
102
+ return {
103
+ onClick: () => setId(id),
105
104
  };
105
+ };
106
106
 
107
- const isEditing = (id: BaseKey) => id === editId;
107
+ const isEditing = (id: BaseKey) => id === editId;
108
108
 
109
- return {
110
- ...table,
111
- ...edit,
112
- formProps: {
113
- ...edit.formProps,
114
- onFinish: async (values) => {
115
- const result = await edit.onFinish(values);
116
- if (autoSubmitClose) {
117
- setId(undefined);
118
- }
119
- return result;
120
- },
121
- },
122
- saveButtonProps,
123
- cancelButtonProps,
124
- editButtonProps,
125
- isEditing,
126
- };
109
+ return {
110
+ ...table,
111
+ ...edit,
112
+ formProps: {
113
+ ...edit.formProps,
114
+ onFinish: async (values) => {
115
+ const result = await edit.onFinish(values);
116
+ if (autoSubmitClose) {
117
+ setId(undefined);
118
+ }
119
+ return result;
120
+ },
121
+ },
122
+ saveButtonProps,
123
+ cancelButtonProps,
124
+ editButtonProps,
125
+ isEditing,
126
+ };
127
127
  };