mobx-react-hook-form 4.0.0 → 4.0.2
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.
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mobx-form.d.ts","sourceRoot":"","sources":["../../src/mobx-form/mobx-form.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"mobx-form.d.ts","sourceRoot":"","sources":["../../src/mobx-form/mobx-form.ts"],"names":[],"mappings":"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"}
|
package/mobx-form/mobx-form.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/* eslint-disable @typescript-eslint/ban-ts-comment */
|
|
2
2
|
import { LinkedAbortController } from 'linked-abort-controller';
|
|
3
|
-
import { action, comparer, makeObservable, observable } from 'mobx';
|
|
4
|
-
import { createFormControl, } from 'react-hook-form';
|
|
3
|
+
import { action, comparer, isObservableObject, makeObservable, observable, toJS, } from 'mobx';
|
|
4
|
+
import { createFormControl, get, set, } from 'react-hook-form';
|
|
5
5
|
export class Form {
|
|
6
6
|
config;
|
|
7
7
|
values;
|
|
@@ -264,21 +264,39 @@ export class Form {
|
|
|
264
264
|
...config.defaultValues,
|
|
265
265
|
},
|
|
266
266
|
});
|
|
267
|
+
const defaultValues = config.defaultValues
|
|
268
|
+
? { ...config.defaultValues }
|
|
269
|
+
: {};
|
|
267
270
|
this.setError = this.originalForm.setError;
|
|
268
271
|
this.clearErrors = this.originalForm.clearErrors;
|
|
269
272
|
this.trigger = this.originalForm.trigger;
|
|
270
|
-
this.resetField =
|
|
273
|
+
this.resetField = action((...args) => {
|
|
274
|
+
set(this.values, args[0], get(this.defaultValues, args[0]));
|
|
275
|
+
return this.originalForm.resetField(...args);
|
|
276
|
+
});
|
|
271
277
|
this.unregister = this.originalForm.unregister;
|
|
272
278
|
this.control = this.originalForm.control;
|
|
273
279
|
this.register = this.originalForm.register;
|
|
274
280
|
this.setFocus = this.originalForm.setFocus;
|
|
275
|
-
this.setValue =
|
|
276
|
-
|
|
281
|
+
this.setValue = action((...args) => {
|
|
282
|
+
set(this.values, args[0], args[1]);
|
|
283
|
+
return this.originalForm.setValue(...args);
|
|
284
|
+
});
|
|
285
|
+
this.resetForm = action((...args) => {
|
|
286
|
+
let defaultValues = args[0] ?? this.defaultValues;
|
|
287
|
+
if (isObservableObject(defaultValues)) {
|
|
288
|
+
defaultValues = toJS(defaultValues);
|
|
289
|
+
}
|
|
290
|
+
else {
|
|
291
|
+
defaultValues = structuredClone(defaultValues);
|
|
292
|
+
}
|
|
293
|
+
// @ts-ignore
|
|
294
|
+
this.values = defaultValues;
|
|
295
|
+
return this.originalForm.reset(...args);
|
|
296
|
+
});
|
|
277
297
|
Object.assign(this, {
|
|
278
298
|
values: this.originalForm.getValues(),
|
|
279
|
-
defaultValues
|
|
280
|
-
? { ...config.defaultValues }
|
|
281
|
-
: {},
|
|
299
|
+
defaultValues,
|
|
282
300
|
});
|
|
283
301
|
const subscription = this.originalForm.subscribe({
|
|
284
302
|
formState: {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "mobx-react-hook-form",
|
|
3
|
-
"version": "4.0.
|
|
3
|
+
"version": "4.0.2",
|
|
4
4
|
"description": "",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"keywords": [],
|
|
@@ -24,11 +24,9 @@
|
|
|
24
24
|
"@types/react": "^18.0.0 || ^19.0.0",
|
|
25
25
|
"disposer-util": "^2.0.0",
|
|
26
26
|
"linked-abort-controller": "^1.1.0",
|
|
27
|
-
"lodash-es": "^4.17.21",
|
|
28
27
|
"yummies": "^4.0.0"
|
|
29
28
|
},
|
|
30
29
|
"devDependencies": {
|
|
31
|
-
"@types/lodash-es": "^4.17.12",
|
|
32
30
|
"commitfmt": "^1.0.0",
|
|
33
31
|
"eslint": "^8.57.1",
|
|
34
32
|
"js2me-eslint-config": "^1.0.7",
|