@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,76 +2,76 @@ import React from "react";
2
2
  import { FormInstance, FormProps, Form, ButtonProps } from "antd";
3
3
  import { useForm as useFormSF } from "sunflower-antd";
4
4
  import {
5
- AutoSaveProps,
6
- flattenObjectKeys,
7
- propertyPathToArray,
5
+ AutoSaveProps,
6
+ flattenObjectKeys,
7
+ propertyPathToArray,
8
8
  } from "@refinedev/core";
9
9
 
10
10
  import {
11
- HttpError,
12
- BaseRecord,
13
- useForm as useFormCore,
14
- UseFormReturnType as UseFormReturnTypeCore,
15
- useWarnAboutChange,
16
- UseFormProps as UseFormPropsCore,
17
- CreateResponse,
18
- UpdateResponse,
19
- pickNotDeprecated,
20
- useTranslate,
21
- useRefineContext,
11
+ HttpError,
12
+ BaseRecord,
13
+ useForm as useFormCore,
14
+ UseFormReturnType as UseFormReturnTypeCore,
15
+ useWarnAboutChange,
16
+ UseFormProps as UseFormPropsCore,
17
+ CreateResponse,
18
+ UpdateResponse,
19
+ pickNotDeprecated,
20
+ useTranslate,
21
+ useRefineContext,
22
22
  } from "@refinedev/core";
23
23
 
24
24
  export type UseFormProps<
25
- TQueryFnData extends BaseRecord = BaseRecord,
26
- TError extends HttpError = HttpError,
27
- TVariables = {},
28
- TData extends BaseRecord = TQueryFnData,
29
- TResponse extends BaseRecord = TData,
30
- TResponseError extends HttpError = TError,
25
+ TQueryFnData extends BaseRecord = BaseRecord,
26
+ TError extends HttpError = HttpError,
27
+ TVariables = {},
28
+ TData extends BaseRecord = TQueryFnData,
29
+ TResponse extends BaseRecord = TData,
30
+ TResponseError extends HttpError = TError,
31
31
  > = UseFormPropsCore<
32
- TQueryFnData,
33
- TError,
34
- TVariables,
35
- TData,
36
- TResponse,
37
- TResponseError
32
+ TQueryFnData,
33
+ TError,
34
+ TVariables,
35
+ TData,
36
+ TResponse,
37
+ TResponseError
38
38
  > & {
39
- submitOnEnter?: boolean;
40
- /**
41
- * Shows notification when unsaved changes exist
42
- */
43
- warnWhenUnsavedChanges?: boolean;
44
- /**
45
- * Disables server-side validation
46
- * @default false
47
- * @see {@link https://refine.dev/docs/advanced-tutorials/forms/server-side-form-validation/}
48
- */
49
- disableServerSideValidation?: boolean;
39
+ submitOnEnter?: boolean;
40
+ /**
41
+ * Shows notification when unsaved changes exist
42
+ */
43
+ warnWhenUnsavedChanges?: boolean;
44
+ /**
45
+ * Disables server-side validation
46
+ * @default false
47
+ * @see {@link https://refine.dev/docs/advanced-tutorials/forms/server-side-form-validation/}
48
+ */
49
+ disableServerSideValidation?: boolean;
50
50
  } & AutoSaveProps<TVariables>;
51
51
 
52
52
  export type UseFormReturnType<
53
- TQueryFnData extends BaseRecord = BaseRecord,
54
- TError extends HttpError = HttpError,
55
- TVariables = {},
56
- TData extends BaseRecord = TQueryFnData,
57
- TResponse extends BaseRecord = TData,
58
- TResponseError extends HttpError = TError,
53
+ TQueryFnData extends BaseRecord = BaseRecord,
54
+ TError extends HttpError = HttpError,
55
+ TVariables = {},
56
+ TData extends BaseRecord = TQueryFnData,
57
+ TResponse extends BaseRecord = TData,
58
+ TResponseError extends HttpError = TError,
59
59
  > = UseFormReturnTypeCore<
60
- TQueryFnData,
61
- TError,
62
- TVariables,
63
- TData,
64
- TResponse,
65
- TResponseError
60
+ TQueryFnData,
61
+ TError,
62
+ TVariables,
63
+ TData,
64
+ TResponse,
65
+ TResponseError
66
66
  > & {
67
- form: FormInstance<TVariables>;
68
- formProps: FormProps<TVariables>;
69
- saveButtonProps: ButtonProps & {
70
- onClick: () => void;
71
- };
72
- onFinish: (
73
- values?: TVariables,
74
- ) => Promise<CreateResponse<TResponse> | UpdateResponse<TResponse> | void>;
67
+ form: FormInstance<TVariables>;
68
+ formProps: FormProps<TVariables>;
69
+ saveButtonProps: ButtonProps & {
70
+ onClick: () => void;
71
+ };
72
+ onFinish: (
73
+ values?: TVariables,
74
+ ) => Promise<CreateResponse<TResponse> | UpdateResponse<TResponse> | void>;
75
75
  };
76
76
 
77
77
  /**
@@ -89,25 +89,150 @@ export type UseFormReturnType<
89
89
  *
90
90
  */
91
91
  export const useForm = <
92
- TQueryFnData extends BaseRecord = BaseRecord,
93
- TError extends HttpError = HttpError,
94
- TVariables = {},
95
- TData extends BaseRecord = TQueryFnData,
96
- TResponse extends BaseRecord = TData,
97
- TResponseError extends HttpError = TError,
92
+ TQueryFnData extends BaseRecord = BaseRecord,
93
+ TError extends HttpError = HttpError,
94
+ TVariables = {},
95
+ TData extends BaseRecord = TQueryFnData,
96
+ TResponse extends BaseRecord = TData,
97
+ TResponseError extends HttpError = TError,
98
98
  >({
99
+ action,
100
+ resource,
101
+ onMutationSuccess: onMutationSuccessProp,
102
+ onMutationError: onMutationErrorProp,
103
+ autoSave,
104
+ submitOnEnter = false,
105
+ warnWhenUnsavedChanges: warnWhenUnsavedChangesProp,
106
+ redirect,
107
+ successNotification,
108
+ errorNotification,
109
+ meta,
110
+ metaData,
111
+ queryMeta,
112
+ mutationMeta,
113
+ liveMode,
114
+ liveParams,
115
+ mutationMode,
116
+ dataProviderName,
117
+ onLiveEvent,
118
+ invalidates,
119
+ undoableTimeout,
120
+ queryOptions,
121
+ createMutationOptions,
122
+ updateMutationOptions,
123
+ id: idFromProps,
124
+ overtimeOptions,
125
+ optimisticUpdateMap,
126
+ disableServerSideValidation: disableServerSideValidationProp = false,
127
+ }: UseFormProps<
128
+ TQueryFnData,
129
+ TError,
130
+ TVariables,
131
+ TData,
132
+ TResponse,
133
+ TResponseError
134
+ > = {}): UseFormReturnType<
135
+ TQueryFnData,
136
+ TError,
137
+ TVariables,
138
+ TData,
139
+ TResponse,
140
+ TResponseError
141
+ > => {
142
+ const { options } = useRefineContext();
143
+ const disableServerSideValidation =
144
+ options?.disableServerSideValidation || disableServerSideValidationProp;
145
+
146
+ const translate = useTranslate();
147
+
148
+ const [formAnt] = Form.useForm();
149
+ const formSF = useFormSF<TResponse, TVariables>({
150
+ form: formAnt,
151
+ });
152
+ const { form } = formSF;
153
+
154
+ const useFormCoreResult = useFormCore<
155
+ TQueryFnData,
156
+ TError,
157
+ TVariables,
158
+ TData,
159
+ TResponse,
160
+ TResponseError
161
+ >({
162
+ onMutationSuccess: onMutationSuccessProp
163
+ ? onMutationSuccessProp
164
+ : undefined,
165
+ onMutationError: async (error, _variables, _context) => {
166
+ if (disableServerSideValidation) {
167
+ onMutationErrorProp?.(error, _variables, _context);
168
+ return;
169
+ }
170
+
171
+ // antd form expects error object to be in a specific format.
172
+ let parsedErrors: {
173
+ name: string | number | (string | number)[];
174
+ errors?: string[] | undefined;
175
+ }[] = [];
176
+
177
+ // reset antd errors before setting new errors
178
+ const fieldsValue = form.getFieldsValue() as unknown as object;
179
+
180
+ const fields = Object.keys(flattenObjectKeys(fieldsValue));
181
+
182
+ parsedErrors = fields.map((field) => {
183
+ return {
184
+ name: propertyPathToArray(field),
185
+ errors: undefined,
186
+ };
187
+ });
188
+
189
+ form.setFields(parsedErrors);
190
+
191
+ const errors = error?.errors;
192
+ // parse errors to antd form errors
193
+ for (const key in errors) {
194
+ const fieldError = errors[key];
195
+
196
+ let newError: string[] = [];
197
+
198
+ if (Array.isArray(fieldError)) {
199
+ newError = fieldError;
200
+ }
201
+
202
+ if (typeof fieldError === "string") {
203
+ newError = [fieldError];
204
+ }
205
+
206
+ if (typeof fieldError === "boolean" && fieldError) {
207
+ newError = ["Field is not valid."];
208
+ }
209
+
210
+ if (typeof fieldError === "object" && "key" in fieldError) {
211
+ const translatedMessage = translate(
212
+ fieldError.key,
213
+ fieldError.message,
214
+ );
215
+
216
+ newError = [translatedMessage];
217
+ }
218
+
219
+ parsedErrors.push({
220
+ name: propertyPathToArray(key),
221
+ errors: newError,
222
+ });
223
+ }
224
+
225
+ form.setFields([...parsedErrors]);
226
+
227
+ onMutationErrorProp?.(error, _variables, _context);
228
+ },
229
+ redirect,
99
230
  action,
100
231
  resource,
101
- onMutationSuccess: onMutationSuccessProp,
102
- onMutationError: onMutationErrorProp,
103
- autoSave,
104
- submitOnEnter = false,
105
- warnWhenUnsavedChanges: warnWhenUnsavedChangesProp,
106
- redirect,
107
232
  successNotification,
108
233
  errorNotification,
109
- meta,
110
- metaData,
234
+ meta: pickNotDeprecated(meta, metaData),
235
+ metaData: pickNotDeprecated(meta, metaData),
111
236
  queryMeta,
112
237
  mutationMeta,
113
238
  liveMode,
@@ -123,192 +248,64 @@ export const useForm = <
123
248
  id: idFromProps,
124
249
  overtimeOptions,
125
250
  optimisticUpdateMap,
126
- disableServerSideValidation: disableServerSideValidationProp = false,
127
- }: UseFormProps<
128
- TQueryFnData,
129
- TError,
130
- TVariables,
131
- TData,
132
- TResponse,
133
- TResponseError
134
- > = {}): UseFormReturnType<
135
- TQueryFnData,
136
- TError,
137
- TVariables,
138
- TData,
139
- TResponse,
140
- TResponseError
141
- > => {
142
- const { options } = useRefineContext();
143
- const disableServerSideValidation =
144
- options?.disableServerSideValidation || disableServerSideValidationProp;
145
-
146
- const translate = useTranslate();
147
-
148
- const [formAnt] = Form.useForm();
149
- const formSF = useFormSF<TResponse, TVariables>({
150
- form: formAnt,
151
- });
152
- const { form } = formSF;
153
-
154
- const useFormCoreResult = useFormCore<
155
- TQueryFnData,
156
- TError,
157
- TVariables,
158
- TData,
159
- TResponse,
160
- TResponseError
161
- >({
162
- onMutationSuccess: onMutationSuccessProp
163
- ? onMutationSuccessProp
164
- : undefined,
165
- onMutationError: async (error, _variables, _context) => {
166
- if (disableServerSideValidation) {
167
- onMutationErrorProp?.(error, _variables, _context);
168
- return;
169
- }
170
-
171
- // antd form expects error object to be in a specific format.
172
- let parsedErrors: {
173
- name: string | number | (string | number)[];
174
- errors?: string[] | undefined;
175
- }[] = [];
176
-
177
- // reset antd errors before setting new errors
178
- const fieldsValue = form.getFieldsValue() as unknown as object;
179
-
180
- const fields = Object.keys(flattenObjectKeys(fieldsValue));
181
-
182
- parsedErrors = fields.map((field) => {
183
- return {
184
- name: propertyPathToArray(field),
185
- errors: undefined,
186
- };
187
- });
188
-
189
- form.setFields(parsedErrors);
190
-
191
- const errors = error?.errors;
192
- // parse errors to antd form errors
193
- for (const key in errors) {
194
- const fieldError = errors[key];
195
-
196
- let newError: string[] = [];
197
-
198
- if (Array.isArray(fieldError)) {
199
- newError = fieldError;
200
- }
201
-
202
- if (typeof fieldError === "string") {
203
- newError = [fieldError];
204
- }
205
-
206
- if (typeof fieldError === "boolean" && fieldError) {
207
- newError = ["Field is not valid."];
208
- }
209
-
210
- if (typeof fieldError === "object" && "key" in fieldError) {
211
- const translatedMessage = translate(
212
- fieldError.key,
213
- fieldError.message,
214
- );
215
-
216
- newError = [translatedMessage];
217
- }
218
-
219
- parsedErrors.push({
220
- name: propertyPathToArray(key),
221
- errors: newError,
222
- });
223
- }
224
-
225
- form.setFields([...parsedErrors]);
226
-
227
- onMutationErrorProp?.(error, _variables, _context);
228
- },
229
- redirect,
230
- action,
231
- resource,
232
- successNotification,
233
- errorNotification,
234
- meta: pickNotDeprecated(meta, metaData),
235
- metaData: pickNotDeprecated(meta, metaData),
236
- queryMeta,
237
- mutationMeta,
238
- liveMode,
239
- liveParams,
240
- mutationMode,
241
- dataProviderName,
242
- onLiveEvent,
243
- invalidates,
244
- undoableTimeout,
245
- queryOptions,
246
- createMutationOptions,
247
- updateMutationOptions,
248
- id: idFromProps,
249
- overtimeOptions,
250
- optimisticUpdateMap,
251
- autoSave,
252
- });
253
-
254
- const { formLoading, onFinish, queryResult, id, onFinishAutoSave } =
255
- useFormCoreResult;
256
-
257
- const {
258
- warnWhenUnsavedChanges: warnWhenUnsavedChangesRefine,
259
- setWarnWhen,
260
- } = useWarnAboutChange();
261
- const warnWhenUnsavedChanges =
262
- warnWhenUnsavedChangesProp ?? warnWhenUnsavedChangesRefine;
263
-
264
- React.useEffect(() => {
265
- form.resetFields();
266
- }, [queryResult?.data?.data, id]);
267
-
268
- const onKeyUp = (event: React.KeyboardEvent<HTMLFormElement>) => {
269
- if (submitOnEnter && event.key === "Enter") {
270
- form.submit();
271
- }
272
- };
273
-
274
- const onValuesChange = (changeValues: object, allValues: any) => {
275
- if (changeValues && warnWhenUnsavedChanges) {
276
- setWarnWhen(true);
277
- }
278
-
279
- if (autoSave?.enabled) {
280
- setWarnWhen(false);
281
-
282
- const onFinishFromProps =
283
- autoSave?.onFinish ?? ((values) => values);
284
-
285
- return onFinishAutoSave(onFinishFromProps(allValues));
286
- }
287
-
288
- return changeValues;
289
- };
290
-
291
- const saveButtonProps = {
292
- disabled: formLoading,
293
- onClick: () => {
294
- form.submit();
295
- },
296
- };
297
-
298
- return {
299
- form: formSF.form,
300
- formProps: {
301
- ...formSF.formProps,
302
- onFinish: (values: TVariables) =>
303
- onFinish(values).catch((error) => error),
304
- onKeyUp,
305
- onValuesChange,
306
- initialValues: queryResult?.data?.data,
307
- },
308
- saveButtonProps,
309
- ...useFormCoreResult,
310
- onFinish: async (values?: TVariables) => {
311
- return await onFinish(values ?? formSF.form.getFieldsValue(true));
312
- },
313
- };
251
+ autoSave,
252
+ });
253
+
254
+ const { formLoading, onFinish, queryResult, id, onFinishAutoSave } =
255
+ useFormCoreResult;
256
+
257
+ const { warnWhenUnsavedChanges: warnWhenUnsavedChangesRefine, setWarnWhen } =
258
+ useWarnAboutChange();
259
+ const warnWhenUnsavedChanges =
260
+ warnWhenUnsavedChangesProp ?? warnWhenUnsavedChangesRefine;
261
+
262
+ React.useEffect(() => {
263
+ form.resetFields();
264
+ }, [queryResult?.data?.data, id]);
265
+
266
+ const onKeyUp = (event: React.KeyboardEvent<HTMLFormElement>) => {
267
+ if (submitOnEnter && event.key === "Enter") {
268
+ form.submit();
269
+ }
270
+ };
271
+
272
+ const onValuesChange = (changeValues: object, allValues: any) => {
273
+ if (changeValues && warnWhenUnsavedChanges) {
274
+ setWarnWhen(true);
275
+ }
276
+
277
+ if (autoSave?.enabled) {
278
+ setWarnWhen(false);
279
+
280
+ const onFinishFromProps = autoSave?.onFinish ?? ((values) => values);
281
+
282
+ return onFinishAutoSave(onFinishFromProps(allValues));
283
+ }
284
+
285
+ return changeValues;
286
+ };
287
+
288
+ const saveButtonProps = {
289
+ disabled: formLoading,
290
+ onClick: () => {
291
+ form.submit();
292
+ },
293
+ };
294
+
295
+ return {
296
+ form: formSF.form,
297
+ formProps: {
298
+ ...formSF.formProps,
299
+ onFinish: (values: TVariables) =>
300
+ onFinish(values).catch((error) => error),
301
+ onKeyUp,
302
+ onValuesChange,
303
+ initialValues: queryResult?.data?.data,
304
+ },
305
+ saveButtonProps,
306
+ ...useFormCoreResult,
307
+ onFinish: async (values?: TVariables) => {
308
+ return await onFinish(values ?? formSF.form.getFieldsValue(true));
309
+ },
310
+ };
314
311
  };
@@ -1,5 +1,5 @@
1
1
  export {
2
- useModalForm,
3
- UseModalFormProps,
4
- UseModalFormReturnType,
2
+ useModalForm,
3
+ UseModalFormProps,
4
+ UseModalFormReturnType,
5
5
  } from "./useModalForm";