@refinedev/antd 5.37.3 → 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 (172) hide show
  1. package/CHANGELOG.md +1766 -1776
  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/date/index.d.ts.map +1 -1
  13. package/dist/components/fields/email/index.d.ts.map +1 -1
  14. package/dist/components/fields/number/index.d.ts.map +1 -1
  15. package/dist/components/fields/text/index.d.ts.map +1 -1
  16. package/dist/components/fields/types.d.ts.map +1 -1
  17. package/dist/components/fields/url/index.d.ts.map +1 -1
  18. package/dist/components/layout/header/index.d.ts.map +1 -1
  19. package/dist/components/layout/sider/index.d.ts.map +1 -1
  20. package/dist/components/layout/title/index.d.ts.map +1 -1
  21. package/dist/components/layout/types.d.ts.map +1 -1
  22. package/dist/components/pageHeader/index.d.ts.map +1 -1
  23. package/dist/components/pages/auth/components/forgotPassword/index.d.ts.map +1 -1
  24. package/dist/components/pages/auth/components/login/index.d.ts.map +1 -1
  25. package/dist/components/pages/auth/components/register/index.d.ts.map +1 -1
  26. package/dist/components/pages/auth/components/updatePassword/index.d.ts.map +1 -1
  27. package/dist/components/pages/auth/index.d.ts.map +1 -1
  28. package/dist/components/pages/error/index.d.ts.map +1 -1
  29. package/dist/components/pages/login/index.d.ts.map +1 -1
  30. package/dist/components/pages/ready/index.d.ts.map +1 -1
  31. package/dist/components/table/components/filterDropdown/index.d.ts.map +1 -1
  32. package/dist/components/themedLayout/header/index.d.ts.map +1 -1
  33. package/dist/components/themedLayout/sider/index.d.ts.map +1 -1
  34. package/dist/components/themedLayout/title/index.d.ts.map +1 -1
  35. package/dist/components/themedLayout/types.d.ts.map +1 -1
  36. package/dist/components/themedLayoutV2/header/index.d.ts.map +1 -1
  37. package/dist/components/themedLayoutV2/index.d.ts.map +1 -1
  38. package/dist/components/themedLayoutV2/sider/index.d.ts.map +1 -1
  39. package/dist/components/themedLayoutV2/title/index.d.ts.map +1 -1
  40. package/dist/components/themedLayoutV2/types.d.ts.map +1 -1
  41. package/dist/components/undoableNotification/index.d.ts.map +1 -1
  42. package/dist/contexts/index.d.ts.map +1 -1
  43. package/dist/contexts/themedLayoutContext/IThemedLayoutContext.d.ts.map +1 -1
  44. package/dist/contexts/themedLayoutContext/index.d.ts.map +1 -1
  45. package/dist/definitions/table/index.d.ts.map +1 -1
  46. package/dist/definitions/themes/index.d.ts.map +1 -1
  47. package/dist/esm/index.js +2 -1
  48. package/dist/esm/index.js.map +1 -1
  49. package/dist/hooks/fields/useCheckboxGroup/index.d.ts.map +1 -1
  50. package/dist/hooks/fields/useRadioGroup/index.d.ts.map +1 -1
  51. package/dist/hooks/fields/useSelect/index.d.ts.map +1 -1
  52. package/dist/hooks/form/index.d.ts.map +1 -1
  53. package/dist/hooks/form/useDrawerForm/index.d.ts.map +1 -1
  54. package/dist/hooks/form/useDrawerForm/useDrawerForm.d.ts.map +1 -1
  55. package/dist/hooks/form/useForm.d.ts.map +1 -1
  56. package/dist/hooks/form/useModalForm/index.d.ts.map +1 -1
  57. package/dist/hooks/form/useModalForm/useModalForm.d.ts.map +1 -1
  58. package/dist/hooks/form/useStepsForm/index.d.ts.map +1 -1
  59. package/dist/hooks/form/useStepsForm/useStepsForm.d.ts.map +1 -1
  60. package/dist/hooks/import/index.d.ts.map +1 -1
  61. package/dist/hooks/list/useSimpleList/useSimpleList.d.ts.map +1 -1
  62. package/dist/hooks/modal/useModal/index.d.ts.map +1 -1
  63. package/dist/hooks/table/useEditableTable/useEditableTable.d.ts.map +1 -1
  64. package/dist/hooks/table/useTable/paginationLink.d.ts.map +1 -1
  65. package/dist/hooks/table/useTable/useTable.d.ts.map +1 -1
  66. package/dist/hooks/useFileUploadState/index.d.ts.map +1 -1
  67. package/dist/hooks/useSiderVisible/index.d.ts.map +1 -1
  68. package/dist/iife/index.js +11 -10
  69. package/dist/iife/index.js.map +1 -1
  70. package/dist/index.d.ts.map +1 -1
  71. package/dist/index.js +2 -1
  72. package/dist/index.js.map +1 -1
  73. package/dist/interfaces/field.d.ts.map +1 -1
  74. package/dist/interfaces/index.d.ts.map +1 -1
  75. package/dist/interfaces/upload.d.ts.map +1 -1
  76. package/package.json +32 -32
  77. package/refine.config.js +497 -524
  78. package/src/components/autoSaveIndicator/index.tsx +69 -70
  79. package/src/components/breadcrumb/index.tsx +63 -65
  80. package/src/components/buttons/clone/index.tsx +86 -86
  81. package/src/components/buttons/create/index.tsx +85 -86
  82. package/src/components/buttons/delete/index.tsx +114 -119
  83. package/src/components/buttons/edit/index.tsx +86 -86
  84. package/src/components/buttons/export/index.tsx +17 -17
  85. package/src/components/buttons/import/index.tsx +19 -20
  86. package/src/components/buttons/list/index.tsx +105 -105
  87. package/src/components/buttons/refresh/index.tsx +50 -50
  88. package/src/components/buttons/save/index.tsx +17 -17
  89. package/src/components/buttons/show/index.tsx +86 -86
  90. package/src/components/buttons/types.ts +20 -20
  91. package/src/components/crud/create/index.tsx +120 -120
  92. package/src/components/crud/edit/index.tsx +205 -207
  93. package/src/components/crud/list/index.tsx +88 -90
  94. package/src/components/crud/show/index.tsx +175 -185
  95. package/src/components/crud/types.ts +41 -56
  96. package/src/components/fields/boolean/index.tsx +11 -11
  97. package/src/components/fields/date/index.tsx +13 -15
  98. package/src/components/fields/email/index.tsx +5 -7
  99. package/src/components/fields/file/index.tsx +8 -8
  100. package/src/components/fields/image/index.tsx +4 -4
  101. package/src/components/fields/markdown/index.tsx +9 -9
  102. package/src/components/fields/number/index.tsx +17 -19
  103. package/src/components/fields/tag/index.tsx +1 -1
  104. package/src/components/fields/text/index.tsx +1 -3
  105. package/src/components/fields/types.ts +18 -18
  106. package/src/components/fields/url/index.tsx +8 -10
  107. package/src/components/layout/header/index.tsx +25 -26
  108. package/src/components/layout/index.tsx +30 -30
  109. package/src/components/layout/sider/index.tsx +238 -248
  110. package/src/components/layout/sider/styles.ts +5 -5
  111. package/src/components/layout/title/index.tsx +40 -40
  112. package/src/components/layout/types.ts +6 -6
  113. package/src/components/pageHeader/index.tsx +44 -44
  114. package/src/components/pages/auth/components/forgotPassword/index.tsx +177 -183
  115. package/src/components/pages/auth/components/login/index.tsx +258 -274
  116. package/src/components/pages/auth/components/register/index.tsx +247 -266
  117. package/src/components/pages/auth/components/styles.ts +16 -16
  118. package/src/components/pages/auth/components/updatePassword/index.tsx +160 -177
  119. package/src/components/pages/auth/index.tsx +23 -23
  120. package/src/components/pages/error/index.tsx +57 -59
  121. package/src/components/pages/login/index.tsx +120 -147
  122. package/src/components/pages/login/styles.ts +12 -12
  123. package/src/components/pages/ready/index.tsx +72 -80
  124. package/src/components/pages/welcome/index.tsx +1 -1
  125. package/src/components/table/components/filterDropdown/index.tsx +89 -92
  126. package/src/components/themedLayout/header/index.tsx +28 -33
  127. package/src/components/themedLayout/index.tsx +30 -30
  128. package/src/components/themedLayout/sider/index.tsx +279 -282
  129. package/src/components/themedLayout/sider/styles.ts +5 -5
  130. package/src/components/themedLayout/title/index.tsx +66 -68
  131. package/src/components/themedLayout/types.ts +8 -8
  132. package/src/components/themedLayoutV2/header/index.tsx +43 -48
  133. package/src/components/themedLayoutV2/index.tsx +34 -36
  134. package/src/components/themedLayoutV2/sider/index.tsx +309 -316
  135. package/src/components/themedLayoutV2/sider/styles.ts +5 -5
  136. package/src/components/themedLayoutV2/title/index.tsx +66 -68
  137. package/src/components/themedLayoutV2/types.ts +9 -9
  138. package/src/components/undoableNotification/index.tsx +31 -31
  139. package/src/contexts/index.ts +2 -2
  140. package/src/contexts/themedLayoutContext/IThemedLayoutContext.ts +4 -4
  141. package/src/contexts/themedLayoutContext/index.tsx +22 -22
  142. package/src/definitions/table/index.ts +81 -82
  143. package/src/definitions/themes/index.ts +35 -35
  144. package/src/definitions/upload/index.ts +17 -17
  145. package/src/hooks/fields/useCheckboxGroup/index.ts +64 -64
  146. package/src/hooks/fields/useRadioGroup/index.ts +60 -63
  147. package/src/hooks/fields/useSelect/index.ts +30 -30
  148. package/src/hooks/form/index.ts +10 -10
  149. package/src/hooks/form/useDrawerForm/index.ts +4 -4
  150. package/src/hooks/form/useDrawerForm/useDrawerForm.ts +257 -261
  151. package/src/hooks/form/useForm.ts +256 -259
  152. package/src/hooks/form/useModalForm/index.ts +3 -3
  153. package/src/hooks/form/useModalForm/useModalForm.ts +289 -295
  154. package/src/hooks/form/useStepsForm/index.ts +3 -3
  155. package/src/hooks/form/useStepsForm/useStepsForm.ts +96 -96
  156. package/src/hooks/import/index.tsx +104 -106
  157. package/src/hooks/list/useSimpleList/useSimpleList.ts +179 -185
  158. package/src/hooks/modal/useModal/index.tsx +24 -24
  159. package/src/hooks/table/useEditableTable/useEditableTable.ts +85 -85
  160. package/src/hooks/table/useTable/paginationLink.tsx +17 -17
  161. package/src/hooks/table/useTable/useTable.ts +199 -205
  162. package/src/hooks/useFileUploadState/index.ts +20 -20
  163. package/src/hooks/useSiderVisible/index.ts +16 -16
  164. package/src/hooks/useThemedLayoutContext/index.ts +12 -12
  165. package/src/index.tsx +4 -4
  166. package/src/interfaces/field.ts +1 -1
  167. package/src/interfaces/index.ts +7 -8
  168. package/src/interfaces/upload.ts +7 -7
  169. package/src/providers/notificationProvider/index.tsx +78 -78
  170. package/src/types/index.d.ts +2 -2
  171. package/src/types/sunflower.d.ts +68 -68
  172. 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
  };