mobx-react-hook-form 1.0.8 → 1.0.10

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.
@@ -8,7 +8,7 @@ export declare class MobxForm<TFieldValues extends AnyObject, TContext = any> im
8
8
  * Readl react-hook-form params
9
9
  * Needed to connect real react-hook-form to this mobx wrapper
10
10
  */
11
- protected params: UseFormProps<TFieldValues, TContext>;
11
+ params: UseFormProps<TFieldValues, TContext>;
12
12
  protected submitHandler?: MobxFormParams<TFieldValues, TContext>['onSubmit'];
13
13
  protected submitErrorHandler?: MobxFormParams<TFieldValues, TContext>['onSubmitFailed'];
14
14
  protected resetHandler?: MobxFormParams<TFieldValues, TContext>['onReset'];
@@ -25,11 +25,15 @@ export declare class MobxForm<TFieldValues extends AnyObject, TContext = any> im
25
25
  */
26
26
  data: Maybe<TFieldValues>;
27
27
  protected isConnected: boolean;
28
- constructor({ disposer, onSubmit, onSubmitFailed, onReset, ...params }: MobxFormParams<TFieldValues, TContext>);
28
+ constructor({ disposer, onSubmit, onSubmitFailed, onReset, getParams, ...params }: MobxFormParams<TFieldValues, TContext>);
29
29
  /**
30
30
  * Allows to modify real react-hook-form useForm() payload
31
31
  */
32
32
  setParams(params: UseFormProps<TFieldValues, TContext>): void;
33
+ /**
34
+ * Allows to modify real react-hook-form useForm() payload
35
+ */
36
+ updateParams(params: Partial<UseFormProps<TFieldValues, TContext>>): void;
33
37
  /**
34
38
  * Needed to connect real react-hook-form to this mobx wrapper
35
39
  *
@@ -1 +1 @@
1
- {"version":3,"file":"mobx-form.d.ts","sourceRoot":"","sources":["../../src/mobx-form/mobx-form.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAY,SAAS,EAAE,MAAM,eAAe,CAAC;AAGhE,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AACzE,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AAEvD,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAEtE,qBAAa,QAAQ,CAAC,YAAY,SAAS,SAAS,EAAE,QAAQ,GAAG,GAAG,CAClE,YAAW,UAAU;IAErB,SAAS,CAAC,QAAQ,EAAE,SAAS,CAAC;IAE9B;;;OAGG;IACH,SAAS,CAAC,MAAM,EAAE,YAAY,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;IAEvD,SAAS,CAAC,aAAa,CAAC,EAAE,cAAc,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC,UAAU,CAAC,CAAC;IAC7E,SAAS,CAAC,kBAAkB,CAAC,EAAE,cAAc,CAC3C,YAAY,EACZ,QAAQ,CACT,CAAC,gBAAgB,CAAC,CAAC;IACpB,SAAS,CAAC,YAAY,CAAC,EAAE,cAAc,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC,SAAS,CAAC,CAAC;IAE3E;;OAEG;IACH,IAAI,EAAE,KAAK,CAAC,aAAa,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC,CAAC;IAEnD;;OAEG;IACH,KAAK,EAAE,SAAS,CAAC,YAAY,CAAC,CAAC;IAE/B;;OAEG;IACH,IAAI,EAAE,KAAK,CAAC,YAAY,CAAC,CAAC;IAE1B,SAAS,CAAC,WAAW,UAAS;gBAElB,EACV,QAAQ,EACR,QAAQ,EACR,cAAc,EACd,OAAO,EACP,GAAG,MAAM,EACV,EAAE,cAAc,CAAC,YAAY,EAAE,QAAQ,CAAC;IAgCzC;;OAEG;IACH,SAAS,CAAC,MAAM,EAAE,YAAY,CAAC,YAAY,EAAE,QAAQ,CAAC;IAItD;;;;OAIG;IACH,SAAS,CAAC,OAAO,CACf,UAAU,EAAE,aAAa,CAAC,YAAY,EAAE,QAAQ,CAAC,GAChD,iBAAiB,CAAC,YAAY,EAAE,QAAQ,CAAC;IA+B5C,OAAO,IAAI,IAAI;CAMhB"}
1
+ {"version":3,"file":"mobx-form.d.ts","sourceRoot":"","sources":["../../src/mobx-form/mobx-form.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAY,SAAS,EAAE,MAAM,eAAe,CAAC;AAShE,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AACzE,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AAEvD,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAEtE,qBAAa,QAAQ,CAAC,YAAY,SAAS,SAAS,EAAE,QAAQ,GAAG,GAAG,CAClE,YAAW,UAAU;IAErB,SAAS,CAAC,QAAQ,EAAE,SAAS,CAAC;IAE9B;;;OAGG;IACH,MAAM,EAAE,YAAY,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;IAE7C,SAAS,CAAC,aAAa,CAAC,EAAE,cAAc,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC,UAAU,CAAC,CAAC;IAC7E,SAAS,CAAC,kBAAkB,CAAC,EAAE,cAAc,CAC3C,YAAY,EACZ,QAAQ,CACT,CAAC,gBAAgB,CAAC,CAAC;IACpB,SAAS,CAAC,YAAY,CAAC,EAAE,cAAc,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC,SAAS,CAAC,CAAC;IAE3E;;OAEG;IACH,IAAI,EAAE,KAAK,CAAC,aAAa,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC,CAAC;IAEnD;;OAEG;IACH,KAAK,EAAE,SAAS,CAAC,YAAY,CAAC,CAAC;IAE/B;;OAEG;IACH,IAAI,EAAE,KAAK,CAAC,YAAY,CAAC,CAAC;IAE1B,SAAS,CAAC,WAAW,UAAS;gBAElB,EACV,QAAQ,EACR,QAAQ,EACR,cAAc,EACd,OAAO,EACP,SAAS,EACT,GAAG,MAAM,EACV,EAAE,cAAc,CAAC,YAAY,EAAE,QAAQ,CAAC;IAuCzC;;OAEG;IACH,SAAS,CAAC,MAAM,EAAE,YAAY,CAAC,YAAY,EAAE,QAAQ,CAAC;IAItD;;OAEG;IACH,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC,YAAY,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;IAIlE;;;;OAIG;IACH,SAAS,CAAC,OAAO,CACf,UAAU,EAAE,aAAa,CAAC,YAAY,EAAE,QAAQ,CAAC,GAChD,iBAAiB,CAAC,YAAY,EAAE,QAAQ,CAAC;IA+B5C,OAAO,IAAI,IAAI;CAMhB"}
@@ -1,6 +1,6 @@
1
1
  import { Disposer } from 'disposer-util';
2
2
  import noop from 'lodash-es/noop';
3
- import { action, makeObservable, observable, runInAction } from 'mobx';
3
+ import { action, makeObservable, observable, reaction, runInAction, } from 'mobx';
4
4
  export class MobxForm {
5
5
  disposer;
6
6
  /**
@@ -24,7 +24,7 @@ export class MobxForm {
24
24
  */
25
25
  data;
26
26
  isConnected = false;
27
- constructor({ disposer, onSubmit, onSubmitFailed, onReset, ...params }) {
27
+ constructor({ disposer, onSubmit, onSubmitFailed, onReset, getParams, ...params }) {
28
28
  this.disposer = disposer ?? new Disposer();
29
29
  this.state = {
30
30
  disabled: false,
@@ -51,7 +51,11 @@ export class MobxForm {
51
51
  data: observable.deep,
52
52
  params: observable.ref,
53
53
  setParams: action.bound,
54
+ updateParams: action.bound,
54
55
  });
56
+ if (getParams) {
57
+ this.disposer.add(reaction(getParams, (params) => this.updateParams(params)));
58
+ }
55
59
  }
56
60
  /**
57
61
  * Allows to modify real react-hook-form useForm() payload
@@ -59,6 +63,12 @@ export class MobxForm {
59
63
  setParams(params) {
60
64
  this.params = params;
61
65
  }
66
+ /**
67
+ * Allows to modify real react-hook-form useForm() payload
68
+ */
69
+ updateParams(params) {
70
+ this.setParams({ ...this.params, ...params });
71
+ }
62
72
  /**
63
73
  * Needed to connect real react-hook-form to this mobx wrapper
64
74
  *
@@ -21,6 +21,10 @@ export interface MobxFormParams<TFieldValues extends AnyObject, TContext = any>
21
21
  * Form reset handler
22
22
  */
23
23
  onReset?: VoidFunction;
24
+ /**
25
+ * Dynamic change react-hook-form params, works as reaction
26
+ */
27
+ getParams?: () => Partial<UseFormProps<TFieldValues, TContext>>;
24
28
  }
25
29
  /**
26
30
  * Interface for a connected Mobx form.
@@ -1 +1 @@
1
- {"version":3,"file":"mobx-form.types.d.ts","sourceRoot":"","sources":["../../src/mobx-form/mobx-form.types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC1C,OAAO,EACL,kBAAkB,EAClB,aAAa,EACb,YAAY,EACZ,aAAa,EACd,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAEhD;;GAEG;AACH,MAAM,WAAW,cAAc,CAAC,YAAY,SAAS,SAAS,EAAE,QAAQ,GAAG,GAAG,CAC5E,SAAQ,YAAY,CAAC,YAAY,EAAE,QAAQ,CAAC;IAC5C;;OAEG;IACH,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB;;OAEG;IACH,QAAQ,CAAC,EAAE,aAAa,CAAC,YAAY,CAAC,CAAC;IACvC;;OAEG;IACH,cAAc,CAAC,EAAE,kBAAkB,CAAC,YAAY,CAAC,CAAC;IAClD;;OAEG;IACH,OAAO,CAAC,EAAE,YAAY,CAAC;CACxB;AAED;;;;GAIG;AACH,MAAM,WAAW,iBAAiB,CAChC,YAAY,SAAS,SAAS,EAC9B,QAAQ,GAAG,GAAG,CACd,SAAQ,IAAI,CAAC,aAAa,CAAC,YAAY,EAAE,QAAQ,CAAC,EAAE,cAAc,CAAC;IACnE;;OAEG;IACH,OAAO,EAAE,YAAY,CAAC;IACtB;;OAEG;IACH,QAAQ,EAAE,YAAY,CAAC;CACxB"}
1
+ {"version":3,"file":"mobx-form.types.d.ts","sourceRoot":"","sources":["../../src/mobx-form/mobx-form.types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC1C,OAAO,EACL,kBAAkB,EAClB,aAAa,EACb,YAAY,EACZ,aAAa,EACd,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAEhD;;GAEG;AACH,MAAM,WAAW,cAAc,CAAC,YAAY,SAAS,SAAS,EAAE,QAAQ,GAAG,GAAG,CAC5E,SAAQ,YAAY,CAAC,YAAY,EAAE,QAAQ,CAAC;IAC5C;;OAEG;IACH,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB;;OAEG;IACH,QAAQ,CAAC,EAAE,aAAa,CAAC,YAAY,CAAC,CAAC;IACvC;;OAEG;IACH,cAAc,CAAC,EAAE,kBAAkB,CAAC,YAAY,CAAC,CAAC;IAClD;;OAEG;IACH,OAAO,CAAC,EAAE,YAAY,CAAC;IACvB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,OAAO,CAAC,YAAY,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC,CAAC;CACjE;AAED;;;;GAIG;AACH,MAAM,WAAW,iBAAiB,CAChC,YAAY,SAAS,SAAS,EAC9B,QAAQ,GAAG,GAAG,CACd,SAAQ,IAAI,CAAC,aAAa,CAAC,YAAY,EAAE,QAAQ,CAAC,EAAE,cAAc,CAAC;IACnE;;OAEG;IACH,OAAO,EAAE,YAAY,CAAC;IACtB;;OAEG;IACH,QAAQ,EAAE,YAAY,CAAC;CACxB"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "mobx-react-hook-form",
3
- "version": "1.0.8",
3
+ "version": "1.0.10",
4
4
  "description": "",
5
5
  "keywords": [],
6
6
  "author": "js2me",