@ngxs/form-plugin 3.7.6-dev.master-daef739 → 3.7.6-dev.master-6835a28

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.
@@ -235,11 +235,21 @@
235
235
  this._formGroupDirective = _formGroupDirective;
236
236
  this._cd = _cd;
237
237
  this.path = null;
238
- this.debounce = 100;
238
+ this._debounce = 100;
239
239
  this._clearDestroy = false;
240
- this._destroy$ = new rxjs.Subject();
241
240
  this._updating = false;
241
+ this._destroy$ = new rxjs.Subject();
242
242
  }
243
+ Object.defineProperty(FormDirective.prototype, "debounce", {
244
+ get: function () {
245
+ return this._debounce;
246
+ },
247
+ set: function (debounce) {
248
+ this._debounce = Number(debounce);
249
+ },
250
+ enumerable: false,
251
+ configurable: true
252
+ });
243
253
  Object.defineProperty(FormDirective.prototype, "clearDestroy", {
244
254
  get: function () {
245
255
  return this._clearDestroy;
@@ -357,7 +367,6 @@
357
367
  };
358
368
  FormDirective.prototype.ngOnDestroy = function () {
359
369
  this._destroy$.next();
360
- this._destroy$.complete();
361
370
  if (this.clearDestroy) {
362
371
  this._store.dispatch(new UpdateForm({
363
372
  path: this.path,
@@ -370,10 +379,10 @@
370
379
  };
371
380
  FormDirective.prototype.debounceChange = function () {
372
381
  var _this = this;
373
- var skipDebounceTime = this._formGroupDirective.control.updateOn !== 'change' || this.debounce < 0;
382
+ var skipDebounceTime = this._formGroupDirective.control.updateOn !== 'change' || this._debounce < 0;
374
383
  return skipDebounceTime
375
384
  ? function (change) { return change.pipe(operators.takeUntil(_this._destroy$)); }
376
- : function (change) { return change.pipe(operators.debounceTime(_this.debounce), operators.takeUntil(_this._destroy$)); };
385
+ : function (change) { return change.pipe(operators.debounceTime(_this._debounce), operators.takeUntil(_this._destroy$)); };
377
386
  };
378
387
  Object.defineProperty(FormDirective.prototype, "form", {
379
388
  get: function () {
@@ -1 +1 @@
1
- {"version":3,"file":"ngxs-form-plugin.umd.js","sources":["../../../packages/form-plugin/src/actions.ts","../../../packages/form-plugin/src/form.plugin.ts","../../../packages/form-plugin/src/directive.ts","../../../packages/form-plugin/src/form.module.ts","../../../packages/form-plugin/index.ts","../../../packages/form-plugin/ngxs-form-plugin.ts"],"sourcesContent":["export class UpdateFormStatus {\n static get type() {\n // NOTE: Not necessary to declare the type in this way in your code. See https://github.com/ngxs/store/pull/644#issuecomment-436003138\n return '[Forms] Update Form Status';\n }\n constructor(\n public payload: {\n status: string | null;\n path: string;\n }\n ) {}\n}\n\nexport class UpdateFormValue {\n static get type() {\n // NOTE: Not necessary to declare the type in this way in your code. See https://github.com/ngxs/store/pull/644#issuecomment-436003138\n return '[Forms] Update Form Value';\n }\n constructor(public payload: { value: any; path: string; propertyPath?: string }) {}\n}\n\nexport class UpdateForm {\n static get type() {\n // NOTE: Not necessary to declare the type in this way in your code. See https://github.com/ngxs/store/pull/644#issuecomment-436003138\n return '[Forms] Update Form';\n }\n constructor(\n public payload: {\n value: any;\n errors: { [k: string]: string } | null;\n dirty: boolean | null;\n status: string | null;\n path: string;\n }\n ) {}\n}\n\nexport class UpdateFormDirty {\n static get type() {\n // NOTE: Not necessary to declare the type in this way in your code. See https://github.com/ngxs/store/pull/644#issuecomment-436003138\n return '[Forms] Update Form Dirty';\n }\n constructor(public payload: { dirty: boolean | null; path: string }) {}\n}\n\nexport class SetFormDirty {\n static get type() {\n // NOTE: Not necessary to declare the type in this way in your code. See https://github.com/ngxs/store/pull/644#issuecomment-436003138\n return '[Forms] Set Form Dirty';\n }\n constructor(public payload: string) {}\n}\n\nexport class SetFormPristine {\n static get type() {\n // NOTE: Not necessary to declare the type in this way in your code. See https://github.com/ngxs/store/pull/644#issuecomment-436003138\n return '[Forms] Set Form Pristine';\n }\n constructor(public payload: string) {}\n}\n\nexport class UpdateFormErrors {\n static get type() {\n // NOTE: Not necessary to declare the type in this way in your code. See https://github.com/ngxs/store/pull/644#issuecomment-436003138\n return '[Forms] Update Form Errors';\n }\n constructor(public payload: { errors: { [k: string]: string } | null; path: string }) {}\n}\n\nexport class SetFormDisabled {\n static get type() {\n // NOTE: Not necessary to declare the type in this way in your code. See https://github.com/ngxs/store/pull/644#issuecomment-436003138\n return '[Forms] Set Form Disabled';\n }\n constructor(public payload: string) {}\n}\n\nexport class SetFormEnabled {\n static get type() {\n // NOTE: Not necessary to declare the type in this way in your code. See https://github.com/ngxs/store/pull/644#issuecomment-436003138\n return '[Forms] Set Form Enabled';\n }\n constructor(public payload: string) {}\n}\n\nexport class ResetForm {\n static get type() {\n // NOTE: Not necessary to declare the type in this way in your code. See https://github.com/ngxs/store/pull/644#issuecomment-436003138\n return '[Forms] Reset Form';\n }\n constructor(public payload: { path: string; value?: any }) {}\n}\n","import { Injectable } from '@angular/core';\nimport {\n getActionTypeFromInstance,\n getValue,\n NgxsNextPluginFn,\n NgxsPlugin,\n setValue\n} from '@ngxs/store';\nimport {\n ResetForm,\n SetFormDirty,\n SetFormDisabled,\n SetFormEnabled,\n SetFormPristine,\n UpdateForm,\n UpdateFormDirty,\n UpdateFormErrors,\n UpdateFormStatus,\n UpdateFormValue\n} from './actions';\n\n@Injectable()\nexport class NgxsFormPlugin implements NgxsPlugin {\n handle(state: any, event: any, next: NgxsNextPluginFn) {\n const type = getActionTypeFromInstance(event);\n\n let nextState = state;\n\n if (type === UpdateFormValue.type || type === UpdateForm.type || type === ResetForm.type) {\n const { value } = event.payload;\n const payloadValue = Array.isArray(value)\n ? value.slice()\n : isObjectLike(value)\n ? { ...value }\n : value;\n const path = this.joinPathWithPropertyPath(event);\n nextState = setValue(nextState, path, payloadValue);\n }\n\n if (type === ResetForm.type) {\n const model = getValue(nextState, `${event.payload.path}.model`);\n nextState = setValue(nextState, `${event.payload.path}`, { model: model });\n }\n\n if (type === UpdateFormStatus.type || type === UpdateForm.type) {\n nextState = setValue(nextState, `${event.payload.path}.status`, event.payload.status);\n }\n\n if (type === UpdateFormErrors.type || type === UpdateForm.type) {\n nextState = setValue(nextState, `${event.payload.path}.errors`, {\n ...event.payload.errors\n });\n }\n\n if (type === UpdateFormDirty.type || type === UpdateForm.type) {\n nextState = setValue(nextState, `${event.payload.path}.dirty`, event.payload.dirty);\n }\n\n if (type === SetFormDirty.type) {\n nextState = setValue(nextState, `${event.payload}.dirty`, true);\n }\n\n if (type === SetFormPristine.type) {\n nextState = setValue(nextState, `${event.payload}.dirty`, false);\n }\n\n if (type === SetFormDisabled.type) {\n nextState = setValue(nextState, `${event.payload}.disabled`, true);\n }\n\n if (type === SetFormEnabled.type) {\n nextState = setValue(nextState, `${event.payload}.disabled`, false);\n }\n\n return next(nextState, event);\n }\n\n private joinPathWithPropertyPath({ payload }: UpdateFormValue): string {\n let path = `${payload.path}.model`;\n\n if (payload.propertyPath) {\n path += `.${payload.propertyPath}`;\n }\n\n return path;\n }\n}\n\nfunction isObjectLike(target: unknown): target is object {\n return target !== null && typeof target === 'object';\n}\n","import { ChangeDetectorRef, Directive, Input, OnDestroy, OnInit } from '@angular/core';\nimport { FormGroup, FormGroupDirective } from '@angular/forms';\nimport { Actions, getValue, ofActionDispatched, Store } from '@ngxs/store';\nimport { Observable, Subject } from 'rxjs';\nimport { debounceTime, distinctUntilChanged, filter, takeUntil } from 'rxjs/operators';\nimport {\n ResetForm,\n UpdateForm,\n UpdateFormDirty,\n UpdateFormErrors,\n UpdateFormStatus,\n UpdateFormValue\n} from './actions';\n\n@Directive({ selector: '[ngxsForm]' })\nexport class FormDirective implements OnInit, OnDestroy {\n @Input('ngxsForm')\n path: string = null!;\n\n @Input('ngxsFormDebounce')\n debounce = 100;\n\n @Input('ngxsFormClearOnDestroy')\n set clearDestroy(val: boolean) {\n this._clearDestroy = val != null && `${val}` !== 'false';\n }\n\n get clearDestroy(): boolean {\n return this._clearDestroy;\n }\n\n _clearDestroy = false;\n\n private readonly _destroy$ = new Subject<void>();\n private _updating = false;\n\n constructor(\n private _actions$: Actions,\n private _store: Store,\n private _formGroupDirective: FormGroupDirective,\n private _cd: ChangeDetectorRef\n ) {}\n\n ngOnInit() {\n this._actions$\n .pipe(\n ofActionDispatched(ResetForm),\n filter((action: ResetForm) => action.payload.path === this.path),\n takeUntil(this._destroy$)\n )\n .subscribe(({ payload: { value } }: ResetForm) => {\n this.form.reset(value);\n this.updateFormStateWithRawValue(true);\n this._cd.markForCheck();\n });\n\n this.getStateStream(`${this.path}.model`).subscribe(model => {\n if (this._updating || !model) {\n return;\n }\n\n this.form.patchValue(model);\n this._cd.markForCheck();\n });\n\n this.getStateStream(`${this.path}.dirty`).subscribe(dirty => {\n if (this.form.dirty === dirty || typeof dirty !== 'boolean') {\n return;\n }\n\n if (dirty) {\n this.form.markAsDirty();\n } else {\n this.form.markAsPristine();\n }\n\n this._cd.markForCheck();\n });\n\n // On first state change, sync form model, status and dirty with state\n this._store\n .selectOnce(state => getValue(state, this.path))\n .subscribe(() => {\n this._store.dispatch([\n new UpdateFormValue({\n path: this.path,\n value: this.form.getRawValue()\n }),\n new UpdateFormStatus({\n path: this.path,\n status: this.form.status\n }),\n new UpdateFormDirty({\n path: this.path,\n dirty: this.form.dirty\n })\n ]);\n });\n\n this.getStateStream(`${this.path}.disabled`).subscribe(disabled => {\n if (this.form.disabled === disabled || typeof disabled !== 'boolean') {\n return;\n }\n\n if (disabled) {\n this.form.disable();\n } else {\n this.form.enable();\n }\n\n this._cd.markForCheck();\n });\n\n this._formGroupDirective\n .valueChanges!.pipe(\n distinctUntilChanged((a, b) => JSON.stringify(a) === JSON.stringify(b)),\n this.debounceChange()\n )\n .subscribe(() => {\n this.updateFormStateWithRawValue();\n });\n\n this._formGroupDirective\n .statusChanges!.pipe(distinctUntilChanged(), this.debounceChange())\n .subscribe((status: string) => {\n this._store.dispatch(\n new UpdateFormStatus({\n status,\n path: this.path\n })\n );\n });\n }\n\n updateFormStateWithRawValue(withFormStatus?: boolean) {\n if (this._updating) return;\n\n const value = this._formGroupDirective.control.getRawValue();\n\n const actions: any[] = [\n new UpdateFormValue({\n path: this.path,\n value\n }),\n new UpdateFormDirty({\n path: this.path,\n dirty: this._formGroupDirective.dirty\n }),\n new UpdateFormErrors({\n path: this.path,\n errors: this._formGroupDirective.errors\n })\n ];\n\n if (withFormStatus) {\n actions.push(\n new UpdateFormStatus({\n path: this.path,\n status: this._formGroupDirective.status\n })\n );\n }\n\n this._updating = true;\n this._store.dispatch(actions).subscribe({\n error: () => (this._updating = false),\n complete: () => (this._updating = false)\n });\n }\n ngOnDestroy() {\n this._destroy$.next();\n this._destroy$.complete();\n\n if (this.clearDestroy) {\n this._store.dispatch(\n new UpdateForm({\n path: this.path,\n value: null,\n dirty: null,\n status: null,\n errors: null\n })\n );\n }\n }\n\n private debounceChange() {\n const skipDebounceTime =\n this._formGroupDirective.control.updateOn !== 'change' || this.debounce < 0;\n\n return skipDebounceTime\n ? (change: Observable<any>) => change.pipe(takeUntil(this._destroy$))\n : (change: Observable<any>) =>\n change.pipe(debounceTime(this.debounce), takeUntil(this._destroy$));\n }\n\n private get form(): FormGroup {\n return this._formGroupDirective.form;\n }\n\n private getStateStream(path: string) {\n return this._store.select(state => getValue(state, path)).pipe(takeUntil(this._destroy$));\n }\n}\n","import { NgModule, ModuleWithProviders } from '@angular/core';\nimport { NGXS_PLUGINS } from '@ngxs/store';\nimport { NgxsFormPlugin } from './form.plugin';\nimport { ReactiveFormsModule } from '@angular/forms';\nimport { FormDirective } from './directive';\n\n@NgModule({\n imports: [ReactiveFormsModule],\n declarations: [FormDirective],\n exports: [FormDirective]\n})\nexport class NgxsFormPluginModule {\n static forRoot(): ModuleWithProviders<NgxsFormPluginModule> {\n return {\n ngModule: NgxsFormPluginModule,\n providers: [\n {\n provide: NGXS_PLUGINS,\n useClass: NgxsFormPlugin,\n multi: true\n }\n ]\n };\n }\n}\n","/**\n * The public api for consumers of @ngxs/form-plugin\n */\nexport * from './src/public_api';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["getActionTypeFromInstance","setValue","getValue","i0","Injectable","Subject","ofActionDispatched","filter","takeUntil","distinctUntilChanged","debounceTime","i1","i2","Directive","Input","NGXS_PLUGINS","ReactiveFormsModule","NgModule"],"mappings":"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"}
1
+ {"version":3,"file":"ngxs-form-plugin.umd.js","sources":["../../../packages/form-plugin/src/actions.ts","../../../packages/form-plugin/src/form.plugin.ts","../../../packages/form-plugin/src/directive.ts","../../../packages/form-plugin/src/form.module.ts","../../../packages/form-plugin/index.ts","../../../packages/form-plugin/ngxs-form-plugin.ts"],"sourcesContent":["export class UpdateFormStatus {\n static get type() {\n // NOTE: Not necessary to declare the type in this way in your code. See https://github.com/ngxs/store/pull/644#issuecomment-436003138\n return '[Forms] Update Form Status';\n }\n constructor(\n public payload: {\n status: string | null;\n path: string;\n }\n ) {}\n}\n\nexport class UpdateFormValue {\n static get type() {\n // NOTE: Not necessary to declare the type in this way in your code. See https://github.com/ngxs/store/pull/644#issuecomment-436003138\n return '[Forms] Update Form Value';\n }\n constructor(public payload: { value: any; path: string; propertyPath?: string }) {}\n}\n\nexport class UpdateForm {\n static get type() {\n // NOTE: Not necessary to declare the type in this way in your code. See https://github.com/ngxs/store/pull/644#issuecomment-436003138\n return '[Forms] Update Form';\n }\n constructor(\n public payload: {\n value: any;\n errors: { [k: string]: string } | null;\n dirty: boolean | null;\n status: string | null;\n path: string;\n }\n ) {}\n}\n\nexport class UpdateFormDirty {\n static get type() {\n // NOTE: Not necessary to declare the type in this way in your code. See https://github.com/ngxs/store/pull/644#issuecomment-436003138\n return '[Forms] Update Form Dirty';\n }\n constructor(public payload: { dirty: boolean | null; path: string }) {}\n}\n\nexport class SetFormDirty {\n static get type() {\n // NOTE: Not necessary to declare the type in this way in your code. See https://github.com/ngxs/store/pull/644#issuecomment-436003138\n return '[Forms] Set Form Dirty';\n }\n constructor(public payload: string) {}\n}\n\nexport class SetFormPristine {\n static get type() {\n // NOTE: Not necessary to declare the type in this way in your code. See https://github.com/ngxs/store/pull/644#issuecomment-436003138\n return '[Forms] Set Form Pristine';\n }\n constructor(public payload: string) {}\n}\n\nexport class UpdateFormErrors {\n static get type() {\n // NOTE: Not necessary to declare the type in this way in your code. See https://github.com/ngxs/store/pull/644#issuecomment-436003138\n return '[Forms] Update Form Errors';\n }\n constructor(public payload: { errors: { [k: string]: string } | null; path: string }) {}\n}\n\nexport class SetFormDisabled {\n static get type() {\n // NOTE: Not necessary to declare the type in this way in your code. See https://github.com/ngxs/store/pull/644#issuecomment-436003138\n return '[Forms] Set Form Disabled';\n }\n constructor(public payload: string) {}\n}\n\nexport class SetFormEnabled {\n static get type() {\n // NOTE: Not necessary to declare the type in this way in your code. See https://github.com/ngxs/store/pull/644#issuecomment-436003138\n return '[Forms] Set Form Enabled';\n }\n constructor(public payload: string) {}\n}\n\nexport class ResetForm {\n static get type() {\n // NOTE: Not necessary to declare the type in this way in your code. See https://github.com/ngxs/store/pull/644#issuecomment-436003138\n return '[Forms] Reset Form';\n }\n constructor(public payload: { path: string; value?: any }) {}\n}\n","import { Injectable } from '@angular/core';\nimport {\n getActionTypeFromInstance,\n getValue,\n NgxsNextPluginFn,\n NgxsPlugin,\n setValue\n} from '@ngxs/store';\nimport {\n ResetForm,\n SetFormDirty,\n SetFormDisabled,\n SetFormEnabled,\n SetFormPristine,\n UpdateForm,\n UpdateFormDirty,\n UpdateFormErrors,\n UpdateFormStatus,\n UpdateFormValue\n} from './actions';\n\n@Injectable()\nexport class NgxsFormPlugin implements NgxsPlugin {\n handle(state: any, event: any, next: NgxsNextPluginFn) {\n const type = getActionTypeFromInstance(event);\n\n let nextState = state;\n\n if (type === UpdateFormValue.type || type === UpdateForm.type || type === ResetForm.type) {\n const { value } = event.payload;\n const payloadValue = Array.isArray(value)\n ? value.slice()\n : isObjectLike(value)\n ? { ...value }\n : value;\n const path = this.joinPathWithPropertyPath(event);\n nextState = setValue(nextState, path, payloadValue);\n }\n\n if (type === ResetForm.type) {\n const model = getValue(nextState, `${event.payload.path}.model`);\n nextState = setValue(nextState, `${event.payload.path}`, { model: model });\n }\n\n if (type === UpdateFormStatus.type || type === UpdateForm.type) {\n nextState = setValue(nextState, `${event.payload.path}.status`, event.payload.status);\n }\n\n if (type === UpdateFormErrors.type || type === UpdateForm.type) {\n nextState = setValue(nextState, `${event.payload.path}.errors`, {\n ...event.payload.errors\n });\n }\n\n if (type === UpdateFormDirty.type || type === UpdateForm.type) {\n nextState = setValue(nextState, `${event.payload.path}.dirty`, event.payload.dirty);\n }\n\n if (type === SetFormDirty.type) {\n nextState = setValue(nextState, `${event.payload}.dirty`, true);\n }\n\n if (type === SetFormPristine.type) {\n nextState = setValue(nextState, `${event.payload}.dirty`, false);\n }\n\n if (type === SetFormDisabled.type) {\n nextState = setValue(nextState, `${event.payload}.disabled`, true);\n }\n\n if (type === SetFormEnabled.type) {\n nextState = setValue(nextState, `${event.payload}.disabled`, false);\n }\n\n return next(nextState, event);\n }\n\n private joinPathWithPropertyPath({ payload }: UpdateFormValue): string {\n let path = `${payload.path}.model`;\n\n if (payload.propertyPath) {\n path += `.${payload.propertyPath}`;\n }\n\n return path;\n }\n}\n\nfunction isObjectLike(target: unknown): target is object {\n return target !== null && typeof target === 'object';\n}\n","import { ChangeDetectorRef, Directive, Input, OnDestroy, OnInit } from '@angular/core';\nimport { FormGroup, FormGroupDirective } from '@angular/forms';\nimport { Actions, getValue, ofActionDispatched, Store } from '@ngxs/store';\nimport { Observable, Subject } from 'rxjs';\nimport { debounceTime, distinctUntilChanged, filter, takeUntil } from 'rxjs/operators';\nimport {\n ResetForm,\n UpdateForm,\n UpdateFormDirty,\n UpdateFormErrors,\n UpdateFormStatus,\n UpdateFormValue\n} from './actions';\n\n@Directive({ selector: '[ngxsForm]' })\nexport class FormDirective implements OnInit, OnDestroy {\n @Input('ngxsForm')\n path: string = null!;\n\n @Input('ngxsFormDebounce')\n set debounce(debounce: string | number) {\n this._debounce = Number(debounce);\n }\n get debounce() {\n return this._debounce;\n }\n private _debounce = 100;\n\n @Input('ngxsFormClearOnDestroy')\n set clearDestroy(val: boolean) {\n this._clearDestroy = val != null && `${val}` !== 'false';\n }\n get clearDestroy(): boolean {\n return this._clearDestroy;\n }\n private _clearDestroy = false;\n\n private _updating = false;\n\n private readonly _destroy$ = new Subject<void>();\n\n constructor(\n private _actions$: Actions,\n private _store: Store,\n private _formGroupDirective: FormGroupDirective,\n private _cd: ChangeDetectorRef\n ) {}\n\n ngOnInit() {\n this._actions$\n .pipe(\n ofActionDispatched(ResetForm),\n filter((action: ResetForm) => action.payload.path === this.path),\n takeUntil(this._destroy$)\n )\n .subscribe(({ payload: { value } }: ResetForm) => {\n this.form.reset(value);\n this.updateFormStateWithRawValue(true);\n this._cd.markForCheck();\n });\n\n this.getStateStream(`${this.path}.model`).subscribe(model => {\n if (this._updating || !model) {\n return;\n }\n\n this.form.patchValue(model);\n this._cd.markForCheck();\n });\n\n this.getStateStream(`${this.path}.dirty`).subscribe(dirty => {\n if (this.form.dirty === dirty || typeof dirty !== 'boolean') {\n return;\n }\n\n if (dirty) {\n this.form.markAsDirty();\n } else {\n this.form.markAsPristine();\n }\n\n this._cd.markForCheck();\n });\n\n // On first state change, sync form model, status and dirty with state\n this._store\n .selectOnce(state => getValue(state, this.path))\n .subscribe(() => {\n this._store.dispatch([\n new UpdateFormValue({\n path: this.path,\n value: this.form.getRawValue()\n }),\n new UpdateFormStatus({\n path: this.path,\n status: this.form.status\n }),\n new UpdateFormDirty({\n path: this.path,\n dirty: this.form.dirty\n })\n ]);\n });\n\n this.getStateStream(`${this.path}.disabled`).subscribe(disabled => {\n if (this.form.disabled === disabled || typeof disabled !== 'boolean') {\n return;\n }\n\n if (disabled) {\n this.form.disable();\n } else {\n this.form.enable();\n }\n\n this._cd.markForCheck();\n });\n\n this._formGroupDirective\n .valueChanges!.pipe(\n distinctUntilChanged((a, b) => JSON.stringify(a) === JSON.stringify(b)),\n this.debounceChange()\n )\n .subscribe(() => {\n this.updateFormStateWithRawValue();\n });\n\n this._formGroupDirective\n .statusChanges!.pipe(distinctUntilChanged(), this.debounceChange())\n .subscribe((status: string) => {\n this._store.dispatch(\n new UpdateFormStatus({\n status,\n path: this.path\n })\n );\n });\n }\n\n updateFormStateWithRawValue(withFormStatus?: boolean) {\n if (this._updating) return;\n\n const value = this._formGroupDirective.control.getRawValue();\n\n const actions: any[] = [\n new UpdateFormValue({\n path: this.path,\n value\n }),\n new UpdateFormDirty({\n path: this.path,\n dirty: this._formGroupDirective.dirty\n }),\n new UpdateFormErrors({\n path: this.path,\n errors: this._formGroupDirective.errors\n })\n ];\n\n if (withFormStatus) {\n actions.push(\n new UpdateFormStatus({\n path: this.path,\n status: this._formGroupDirective.status\n })\n );\n }\n\n this._updating = true;\n this._store.dispatch(actions).subscribe({\n error: () => (this._updating = false),\n complete: () => (this._updating = false)\n });\n }\n\n ngOnDestroy() {\n this._destroy$.next();\n\n if (this.clearDestroy) {\n this._store.dispatch(\n new UpdateForm({\n path: this.path,\n value: null,\n dirty: null,\n status: null,\n errors: null\n })\n );\n }\n }\n\n private debounceChange() {\n const skipDebounceTime =\n this._formGroupDirective.control.updateOn !== 'change' || this._debounce < 0;\n\n return skipDebounceTime\n ? (change: Observable<any>) => change.pipe(takeUntil(this._destroy$))\n : (change: Observable<any>) =>\n change.pipe(debounceTime(this._debounce), takeUntil(this._destroy$));\n }\n\n private get form(): FormGroup {\n return this._formGroupDirective.form;\n }\n\n private getStateStream(path: string) {\n return this._store.select(state => getValue(state, path)).pipe(takeUntil(this._destroy$));\n }\n}\n","import { NgModule, ModuleWithProviders } from '@angular/core';\nimport { NGXS_PLUGINS } from '@ngxs/store';\nimport { NgxsFormPlugin } from './form.plugin';\nimport { ReactiveFormsModule } from '@angular/forms';\nimport { FormDirective } from './directive';\n\n@NgModule({\n imports: [ReactiveFormsModule],\n declarations: [FormDirective],\n exports: [FormDirective]\n})\nexport class NgxsFormPluginModule {\n static forRoot(): ModuleWithProviders<NgxsFormPluginModule> {\n return {\n ngModule: NgxsFormPluginModule,\n providers: [\n {\n provide: NGXS_PLUGINS,\n useClass: NgxsFormPlugin,\n multi: true\n }\n ]\n };\n }\n}\n","/**\n * The public api for consumers of @ngxs/form-plugin\n */\nexport * from './src/public_api';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["getActionTypeFromInstance","setValue","getValue","i0","Injectable","Subject","ofActionDispatched","filter","takeUntil","distinctUntilChanged","debounceTime","i1","i2","Directive","Input","NGXS_PLUGINS","ReactiveFormsModule","NgModule"],"mappings":"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"}
@@ -14,10 +14,16 @@ export class FormDirective {
14
14
  this._formGroupDirective = _formGroupDirective;
15
15
  this._cd = _cd;
16
16
  this.path = null;
17
- this.debounce = 100;
17
+ this._debounce = 100;
18
18
  this._clearDestroy = false;
19
- this._destroy$ = new Subject();
20
19
  this._updating = false;
20
+ this._destroy$ = new Subject();
21
+ }
22
+ set debounce(debounce) {
23
+ this._debounce = Number(debounce);
24
+ }
25
+ get debounce() {
26
+ return this._debounce;
21
27
  }
22
28
  set clearDestroy(val) {
23
29
  this._clearDestroy = val != null && `${val}` !== 'false';
@@ -129,7 +135,6 @@ export class FormDirective {
129
135
  }
130
136
  ngOnDestroy() {
131
137
  this._destroy$.next();
132
- this._destroy$.complete();
133
138
  if (this.clearDestroy) {
134
139
  this._store.dispatch(new UpdateForm({
135
140
  path: this.path,
@@ -141,10 +146,10 @@ export class FormDirective {
141
146
  }
142
147
  }
143
148
  debounceChange() {
144
- const skipDebounceTime = this._formGroupDirective.control.updateOn !== 'change' || this.debounce < 0;
149
+ const skipDebounceTime = this._formGroupDirective.control.updateOn !== 'change' || this._debounce < 0;
145
150
  return skipDebounceTime
146
151
  ? (change) => change.pipe(takeUntil(this._destroy$))
147
- : (change) => change.pipe(debounceTime(this.debounce), takeUntil(this._destroy$));
152
+ : (change) => change.pipe(debounceTime(this._debounce), takeUntil(this._destroy$));
148
153
  }
149
154
  get form() {
150
155
  return this._formGroupDirective.form;
@@ -168,4 +173,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
168
173
  type: Input,
169
174
  args: ['ngxsFormClearOnDestroy']
170
175
  }] } });
171
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvZm9ybS1wbHVnaW4vc3JjL2RpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBcUIsTUFBTSxlQUFlLENBQUM7QUFDdkYsT0FBTyxFQUFhLGtCQUFrQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDL0QsT0FBTyxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsa0JBQWtCLEVBQUUsS0FBSyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzNFLE9BQU8sRUFBYyxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDM0MsT0FBTyxFQUFFLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDdkYsT0FBTyxFQUNMLFNBQVMsRUFDVCxVQUFVLEVBQ1YsZUFBZSxFQUNmLGdCQUFnQixFQUNoQixnQkFBZ0IsRUFDaEIsZUFBZSxFQUNoQixNQUFNLFdBQVcsQ0FBQzs7OztBQUduQixNQUFNLE9BQU8sYUFBYTtJQXFCeEIsWUFDVSxTQUFrQixFQUNsQixNQUFhLEVBQ2IsbUJBQXVDLEVBQ3ZDLEdBQXNCO1FBSHRCLGNBQVMsR0FBVCxTQUFTLENBQVM7UUFDbEIsV0FBTSxHQUFOLE1BQU0sQ0FBTztRQUNiLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBb0I7UUFDdkMsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUF2QmhDLFNBQUksR0FBVyxJQUFLLENBQUM7UUFHckIsYUFBUSxHQUFHLEdBQUcsQ0FBQztRQVdmLGtCQUFhLEdBQUcsS0FBSyxDQUFDO1FBRUwsY0FBUyxHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7UUFDekMsY0FBUyxHQUFHLEtBQUssQ0FBQztJQU92QixDQUFDO0lBbkJKLElBQ0ksWUFBWSxDQUFDLEdBQVk7UUFD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LFFBQVEsRUFBRSxZQUFZLEVBQUU7bUxBR25DLElBQUk7c0JBREgsS0FBSzt1QkFBQyxVQUFVO2dCQUlqQixRQUFRO3NCQURQLEtBQUs7dUJBQUMsa0JBQWtCO2dCQUlyQixZQUFZO3NCQURmLEtBQUs7dUJBQUMsd0JBQXdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0b3JSZWYsIERpcmVjdGl2ZSwgSW5wdXQsIE9uRGVzdHJveSwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtR3JvdXAsIEZvcm1Hcm91cERpcmVjdGl2ZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IEFjdGlvbnMsIGdldFZhbHVlLCBvZkFjdGlvbkRpc3BhdGNoZWQsIFN0b3JlIH0gZnJvbSAnQG5neHMvc3RvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZGVib3VuY2VUaW1lLCBkaXN0aW5jdFVudGlsQ2hhbmdlZCwgZmlsdGVyLCB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQge1xuICBSZXNldEZvcm0sXG4gIFVwZGF0ZUZvcm0sXG4gIFVwZGF0ZUZvcm1EaXJ0eSxcbiAgVXBkYXRlRm9ybUVycm9ycyxcbiAgVXBkYXRlRm9ybVN0YXR1cyxcbiAgVXBkYXRlRm9ybVZhbHVlXG59IGZyb20gJy4vYWN0aW9ucyc7XG5cbkBEaXJlY3RpdmUoeyBzZWxlY3RvcjogJ1tuZ3hzRm9ybV0nIH0pXG5leHBvcnQgY2xhc3MgRm9ybURpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgQElucHV0KCduZ3hzRm9ybScpXG4gIHBhdGg6IHN0cmluZyA9IG51bGwhO1xuXG4gIEBJbnB1dCgnbmd4c0Zvcm1EZWJvdW5jZScpXG4gIGRlYm91bmNlID0gMTAwO1xuXG4gIEBJbnB1dCgnbmd4c0Zvcm1DbGVhck9uRGVzdHJveScpXG4gIHNldCBjbGVhckRlc3Ryb3kodmFsOiBib29sZWFuKSB7XG4gICAgdGhpcy5fY2xlYXJEZXN0cm95ID0gdmFsICE9IG51bGwgJiYgYCR7dmFsfWAgIT09ICdmYWxzZSc7XG4gIH1cblxuICBnZXQgY2xlYXJEZXN0cm95KCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9jbGVhckRlc3Ryb3k7XG4gIH1cblxuICBfY2xlYXJEZXN0cm95ID0gZmFsc2U7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfZGVzdHJveSQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuICBwcml2YXRlIF91cGRhdGluZyA9IGZhbHNlO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgX2FjdGlvbnMkOiBBY3Rpb25zLFxuICAgIHByaXZhdGUgX3N0b3JlOiBTdG9yZSxcbiAgICBwcml2YXRlIF9mb3JtR3JvdXBEaXJlY3RpdmU6IEZvcm1Hcm91cERpcmVjdGl2ZSxcbiAgICBwcml2YXRlIF9jZDogQ2hhbmdlRGV0ZWN0b3JSZWZcbiAgKSB7fVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMuX2FjdGlvbnMkXG4gICAgICAucGlwZShcbiAgICAgICAgb2ZBY3Rpb25EaXNwYXRjaGVkKFJlc2V0Rm9ybSksXG4gICAgICAgIGZpbHRlcigoYWN0aW9uOiBSZXNldEZvcm0pID0+IGFjdGlvbi5wYXlsb2FkLnBhdGggPT09IHRoaXMucGF0aCksXG4gICAgICAgIHRha2VVbnRpbCh0aGlzLl9kZXN0cm95JClcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKHsgcGF5bG9hZDogeyB2YWx1ZSB9IH06IFJlc2V0Rm9ybSkgPT4ge1xuICAgICAgICB0aGlzLmZvcm0ucmVzZXQodmFsdWUpO1xuICAgICAgICB0aGlzLnVwZGF0ZUZvcm1TdGF0ZVdpdGhSYXdWYWx1ZSh0cnVlKTtcbiAgICAgICAgdGhpcy5fY2QubWFya0ZvckNoZWNrKCk7XG4gICAgICB9KTtcblxuICAgIHRoaXMuZ2V0U3RhdGVTdHJlYW0oYCR7dGhpcy5wYXRofS5tb2RlbGApLnN1YnNjcmliZShtb2RlbCA9PiB7XG4gICAgICBpZiAodGhpcy5fdXBkYXRpbmcgfHwgIW1vZGVsKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgdGhpcy5mb3JtLnBhdGNoVmFsdWUobW9kZWwpO1xuICAgICAgdGhpcy5fY2QubWFya0ZvckNoZWNrKCk7XG4gICAgfSk7XG5cbiAgICB0aGlzLmdldFN0YXRlU3RyZWFtKGAke3RoaXMucGF0aH0uZGlydHlgKS5zdWJzY3JpYmUoZGlydHkgPT4ge1xuICAgICAgaWYgKHRoaXMuZm9ybS5kaXJ0eSA9PT0gZGlydHkgfHwgdHlwZW9mIGRpcnR5ICE9PSAnYm9vbGVhbicpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBpZiAoZGlydHkpIHtcbiAgICAgICAgdGhpcy5mb3JtLm1hcmtBc0RpcnR5KCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLmZvcm0ubWFya0FzUHJpc3RpbmUoKTtcbiAgICAgIH1cblxuICAgICAgdGhpcy5fY2QubWFya0ZvckNoZWNrKCk7XG4gICAgfSk7XG5cbiAgICAvLyBPbiBmaXJzdCBzdGF0ZSBjaGFuZ2UsIHN5bmMgZm9ybSBtb2RlbCwgc3RhdHVzIGFuZCBkaXJ0eSB3aXRoIHN0YXRlXG4gICAgdGhpcy5fc3RvcmVcbiAgICAgIC5zZWxlY3RPbmNlKHN0YXRlID0+IGdldFZhbHVlKHN0YXRlLCB0aGlzLnBhdGgpKVxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIHRoaXMuX3N0b3JlLmRpc3BhdGNoKFtcbiAgICAgICAgICBuZXcgVXBkYXRlRm9ybVZhbHVlKHtcbiAgICAgICAgICAgIHBhdGg6IHRoaXMucGF0aCxcbiAgICAgICAgICAgIHZhbHVlOiB0aGlzLmZvcm0uZ2V0UmF3VmFsdWUoKVxuICAgICAgICAgIH0pLFxuICAgICAgICAgIG5ldyBVcGRhdGVGb3JtU3RhdHVzKHtcbiAgICAgICAgICAgIHBhdGg6IHRoaXMucGF0aCxcbiAgICAgICAgICAgIHN0YXR1czogdGhpcy5mb3JtLnN0YXR1c1xuICAgICAgICAgIH0pLFxuICAgICAgICAgIG5ldyBVcGRhdGVGb3JtRGlydHkoe1xuICAgICAgICAgICAgcGF0aDogdGhpcy5wYXRoLFxuICAgICAgICAgICAgZGlydHk6IHRoaXMuZm9ybS5kaXJ0eVxuICAgICAgICAgIH0pXG4gICAgICAgIF0pO1xuICAgICAgfSk7XG5cbiAgICB0aGlzLmdldFN0YXRlU3RyZWFtKGAke3RoaXMucGF0aH0uZGlzYWJsZWRgKS5zdWJzY3JpYmUoZGlzYWJsZWQgPT4ge1xuICAgICAgaWYgKHRoaXMuZm9ybS5kaXNhYmxlZCA9PT0gZGlzYWJsZWQgfHwgdHlwZW9mIGRpc2FibGVkICE9PSAnYm9vbGVhbicpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBpZiAoZGlzYWJsZWQpIHtcbiAgICAgICAgdGhpcy5mb3JtLmRpc2FibGUoKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuZm9ybS5lbmFibGUoKTtcbiAgICAgIH1cblxuICAgICAgdGhpcy5fY2QubWFya0ZvckNoZWNrKCk7XG4gICAgfSk7XG5cbiAgICB0aGlzLl9mb3JtR3JvdXBEaXJlY3RpdmVcbiAgICAgIC52YWx1ZUNoYW5nZXMhLnBpcGUoXG4gICAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKChhLCBiKSA9PiBKU09OLnN0cmluZ2lmeShhKSA9PT0gSlNPTi5zdHJpbmdpZnkoYikpLFxuICAgICAgICB0aGlzLmRlYm91bmNlQ2hhbmdlKClcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICB0aGlzLnVwZGF0ZUZvcm1TdGF0ZVdpdGhSYXdWYWx1ZSgpO1xuICAgICAgfSk7XG5cbiAgICB0aGlzLl9mb3JtR3JvdXBEaXJlY3RpdmVcbiAgICAgIC5zdGF0dXNDaGFuZ2VzIS5waXBlKGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksIHRoaXMuZGVib3VuY2VDaGFuZ2UoKSlcbiAgICAgIC5zdWJzY3JpYmUoKHN0YXR1czogc3RyaW5nKSA9PiB7XG4gICAgICAgIHRoaXMuX3N0b3JlLmRpc3BhdGNoKFxuICAgICAgICAgIG5ldyBVcGRhdGVGb3JtU3RhdHVzKHtcbiAgICAgICAgICAgIHN0YXR1cyxcbiAgICAgICAgICAgIHBhdGg6IHRoaXMucGF0aFxuICAgICAgICAgIH0pXG4gICAgICAgICk7XG4gICAgICB9KTtcbiAgfVxuXG4gIHVwZGF0ZUZvcm1TdGF0ZVdpdGhSYXdWYWx1ZSh3aXRoRm9ybVN0YXR1cz86IGJvb2xlYW4pIHtcbiAgICBpZiAodGhpcy5fdXBkYXRpbmcpIHJldHVybjtcblxuICAgIGNvbnN0IHZhbHVlID0gdGhpcy5fZm9ybUdyb3VwRGlyZWN0aXZlLmNvbnRyb2wuZ2V0UmF3VmFsdWUoKTtcblxuICAgIGNvbnN0IGFjdGlvbnM6IGFueVtdID0gW1xuICAgICAgbmV3IFVwZGF0ZUZvcm1WYWx1ZSh7XG4gICAgICAgIHBhdGg6IHRoaXMucGF0aCxcbiAgICAgICAgdmFsdWVcbiAgICAgIH0pLFxuICAgICAgbmV3IFVwZGF0ZUZvcm1EaXJ0eSh7XG4gICAgICAgIHBhdGg6IHRoaXMucGF0aCxcbiAgICAgICAgZGlydHk6IHRoaXMuX2Zvcm1Hcm91cERpcmVjdGl2ZS5kaXJ0eVxuICAgICAgfSksXG4gICAgICBuZXcgVXBkYXRlRm9ybUVycm9ycyh7XG4gICAgICAgIHBhdGg6IHRoaXMucGF0aCxcbiAgICAgICAgZXJyb3JzOiB0aGlzLl9mb3JtR3JvdXBEaXJlY3RpdmUuZXJyb3JzXG4gICAgICB9KVxuICAgIF07XG5cbiAgICBpZiAod2l0aEZvcm1TdGF0dXMpIHtcbiAgICAgIGFjdGlvbnMucHVzaChcbiAgICAgICAgbmV3IFVwZGF0ZUZvcm1TdGF0dXMoe1xuICAgICAgICAgIHBhdGg6IHRoaXMucGF0aCxcbiAgICAgICAgICBzdGF0dXM6IHRoaXMuX2Zvcm1Hcm91cERpcmVjdGl2ZS5zdGF0dXNcbiAgICAgICAgfSlcbiAgICAgICk7XG4gICAgfVxuXG4gICAgdGhpcy5fdXBkYXRpbmcgPSB0cnVlO1xuICAgIHRoaXMuX3N0b3JlLmRpc3BhdGNoKGFjdGlvbnMpLnN1YnNjcmliZSh7XG4gICAgICBlcnJvcjogKCkgPT4gKHRoaXMuX3VwZGF0aW5nID0gZmFsc2UpLFxuICAgICAgY29tcGxldGU6ICgpID0+ICh0aGlzLl91cGRhdGluZyA9IGZhbHNlKVxuICAgIH0pO1xuICB9XG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMuX2Rlc3Ryb3kkLm5leHQoKTtcbiAgICB0aGlzLl9kZXN0cm95JC5jb21wbGV0ZSgpO1xuXG4gICAgaWYgKHRoaXMuY2xlYXJEZXN0cm95KSB7XG4gICAgICB0aGlzLl9zdG9yZS5kaXNwYXRjaChcbiAgICAgICAgbmV3IFVwZGF0ZUZvcm0oe1xuICAgICAgICAgIHBhdGg6IHRoaXMucGF0aCxcbiAgICAgICAgICB2YWx1ZTogbnVsbCxcbiAgICAgICAgICBkaXJ0eTogbnVsbCxcbiAgICAgICAgICBzdGF0dXM6IG51bGwsXG4gICAgICAgICAgZXJyb3JzOiBudWxsXG4gICAgICAgIH0pXG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgZGVib3VuY2VDaGFuZ2UoKSB7XG4gICAgY29uc3Qgc2tpcERlYm91bmNlVGltZSA9XG4gICAgICB0aGlzLl9mb3JtR3JvdXBEaXJlY3RpdmUuY29udHJvbC51cGRhdGVPbiAhPT0gJ2NoYW5nZScgfHwgdGhpcy5kZWJvdW5jZSA8IDA7XG5cbiAgICByZXR1cm4gc2tpcERlYm91bmNlVGltZVxuICAgICAgPyAoY2hhbmdlOiBPYnNlcnZhYmxlPGFueT4pID0+IGNoYW5nZS5waXBlKHRha2VVbnRpbCh0aGlzLl9kZXN0cm95JCkpXG4gICAgICA6IChjaGFuZ2U6IE9ic2VydmFibGU8YW55PikgPT5cbiAgICAgICAgICBjaGFuZ2UucGlwZShkZWJvdW5jZVRpbWUodGhpcy5kZWJvdW5jZSksIHRha2VVbnRpbCh0aGlzLl9kZXN0cm95JCkpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXQgZm9ybSgpOiBGb3JtR3JvdXAge1xuICAgIHJldHVybiB0aGlzLl9mb3JtR3JvdXBEaXJlY3RpdmUuZm9ybTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0U3RhdGVTdHJlYW0ocGF0aDogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHRoaXMuX3N0b3JlLnNlbGVjdChzdGF0ZSA9PiBnZXRWYWx1ZShzdGF0ZSwgcGF0aCkpLnBpcGUodGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3kkKSk7XG4gIH1cbn1cbiJdfQ==
176
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvZm9ybS1wbHVnaW4vc3JjL2RpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBcUIsTUFBTSxlQUFlLENBQUM7QUFDdkYsT0FBTyxFQUFhLGtCQUFrQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDL0QsT0FBTyxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsa0JBQWtCLEVBQUUsS0FBSyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzNFLE9BQU8sRUFBYyxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDM0MsT0FBTyxFQUFFLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDdkYsT0FBTyxFQUNMLFNBQVMsRUFDVCxVQUFVLEVBQ1YsZUFBZSxFQUNmLGdCQUFnQixFQUNoQixnQkFBZ0IsRUFDaEIsZUFBZSxFQUNoQixNQUFNLFdBQVcsQ0FBQzs7OztBQUduQixNQUFNLE9BQU8sYUFBYTtJQTBCeEIsWUFDVSxTQUFrQixFQUNsQixNQUFhLEVBQ2IsbUJBQXVDLEVBQ3ZDLEdBQXNCO1FBSHRCLGNBQVMsR0FBVCxTQUFTLENBQVM7UUFDbEIsV0FBTSxHQUFOLE1BQU0sQ0FBTztRQUNiLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBb0I7UUFDdkMsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUE1QmhDLFNBQUksR0FBVyxJQUFLLENBQUM7UUFTYixjQUFTLEdBQUcsR0FBRyxDQUFDO1FBU2hCLGtCQUFhLEdBQUcsS0FBSyxDQUFDO1FBRXRCLGNBQVMsR0FBRyxLQUFLLENBQUM7UUFFVCxjQUFTLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztJQU85QyxDQUFDO0lBM0JKLElBQ0ksUUFBUSxDQUFDLFFBQXlCO1FB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Q0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQztJQUM1RixDQUFDOzs4SEFoTVUsYUFBYTtrSEFBYixhQUFhOzRGQUFiLGFBQWE7a0JBRHpCLFNBQVM7bUJBQUMsRUFBRSxRQUFRLEVBQUUsWUFBWSxFQUFFO21MQUduQyxJQUFJO3NCQURILEtBQUs7dUJBQUMsVUFBVTtnQkFJYixRQUFRO3NCQURYLEtBQUs7dUJBQUMsa0JBQWtCO2dCQVVyQixZQUFZO3NCQURmLEtBQUs7dUJBQUMsd0JBQXdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0b3JSZWYsIERpcmVjdGl2ZSwgSW5wdXQsIE9uRGVzdHJveSwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtR3JvdXAsIEZvcm1Hcm91cERpcmVjdGl2ZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IEFjdGlvbnMsIGdldFZhbHVlLCBvZkFjdGlvbkRpc3BhdGNoZWQsIFN0b3JlIH0gZnJvbSAnQG5neHMvc3RvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZGVib3VuY2VUaW1lLCBkaXN0aW5jdFVudGlsQ2hhbmdlZCwgZmlsdGVyLCB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQge1xuICBSZXNldEZvcm0sXG4gIFVwZGF0ZUZvcm0sXG4gIFVwZGF0ZUZvcm1EaXJ0eSxcbiAgVXBkYXRlRm9ybUVycm9ycyxcbiAgVXBkYXRlRm9ybVN0YXR1cyxcbiAgVXBkYXRlRm9ybVZhbHVlXG59IGZyb20gJy4vYWN0aW9ucyc7XG5cbkBEaXJlY3RpdmUoeyBzZWxlY3RvcjogJ1tuZ3hzRm9ybV0nIH0pXG5leHBvcnQgY2xhc3MgRm9ybURpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgQElucHV0KCduZ3hzRm9ybScpXG4gIHBhdGg6IHN0cmluZyA9IG51bGwhO1xuXG4gIEBJbnB1dCgnbmd4c0Zvcm1EZWJvdW5jZScpXG4gIHNldCBkZWJvdW5jZShkZWJvdW5jZTogc3RyaW5nIHwgbnVtYmVyKSB7XG4gICAgdGhpcy5fZGVib3VuY2UgPSBOdW1iZXIoZGVib3VuY2UpO1xuICB9XG4gIGdldCBkZWJvdW5jZSgpIHtcbiAgICByZXR1cm4gdGhpcy5fZGVib3VuY2U7XG4gIH1cbiAgcHJpdmF0ZSBfZGVib3VuY2UgPSAxMDA7XG5cbiAgQElucHV0KCduZ3hzRm9ybUNsZWFyT25EZXN0cm95JylcbiAgc2V0IGNsZWFyRGVzdHJveSh2YWw6IGJvb2xlYW4pIHtcbiAgICB0aGlzLl9jbGVhckRlc3Ryb3kgPSB2YWwgIT0gbnVsbCAmJiBgJHt2YWx9YCAhPT0gJ2ZhbHNlJztcbiAgfVxuICBnZXQgY2xlYXJEZXN0cm95KCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9jbGVhckRlc3Ryb3k7XG4gIH1cbiAgcHJpdmF0ZSBfY2xlYXJEZXN0cm95ID0gZmFsc2U7XG5cbiAgcHJpdmF0ZSBfdXBkYXRpbmcgPSBmYWxzZTtcblxuICBwcml2YXRlIHJlYWRvbmx5IF9kZXN0cm95JCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBfYWN0aW9ucyQ6IEFjdGlvbnMsXG4gICAgcHJpdmF0ZSBfc3RvcmU6IFN0b3JlLFxuICAgIHByaXZhdGUgX2Zvcm1Hcm91cERpcmVjdGl2ZTogRm9ybUdyb3VwRGlyZWN0aXZlLFxuICAgIHByaXZhdGUgX2NkOiBDaGFuZ2VEZXRlY3RvclJlZlxuICApIHt9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5fYWN0aW9ucyRcbiAgICAgIC5waXBlKFxuICAgICAgICBvZkFjdGlvbkRpc3BhdGNoZWQoUmVzZXRGb3JtKSxcbiAgICAgICAgZmlsdGVyKChhY3Rpb246IFJlc2V0Rm9ybSkgPT4gYWN0aW9uLnBheWxvYWQucGF0aCA9PT0gdGhpcy5wYXRoKSxcbiAgICAgICAgdGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3kkKVxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgoeyBwYXlsb2FkOiB7IHZhbHVlIH0gfTogUmVzZXRGb3JtKSA9PiB7XG4gICAgICAgIHRoaXMuZm9ybS5yZXNldCh2YWx1ZSk7XG4gICAgICAgIHRoaXMudXBkYXRlRm9ybVN0YXRlV2l0aFJhd1ZhbHVlKHRydWUpO1xuICAgICAgICB0aGlzLl9jZC5tYXJrRm9yQ2hlY2soKTtcbiAgICAgIH0pO1xuXG4gICAgdGhpcy5nZXRTdGF0ZVN0cmVhbShgJHt0aGlzLnBhdGh9Lm1vZGVsYCkuc3Vic2NyaWJlKG1vZGVsID0+IHtcbiAgICAgIGlmICh0aGlzLl91cGRhdGluZyB8fCAhbW9kZWwpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICB0aGlzLmZvcm0ucGF0Y2hWYWx1ZShtb2RlbCk7XG4gICAgICB0aGlzLl9jZC5tYXJrRm9yQ2hlY2soKTtcbiAgICB9KTtcblxuICAgIHRoaXMuZ2V0U3RhdGVTdHJlYW0oYCR7dGhpcy5wYXRofS5kaXJ0eWApLnN1YnNjcmliZShkaXJ0eSA9PiB7XG4gICAgICBpZiAodGhpcy5mb3JtLmRpcnR5ID09PSBkaXJ0eSB8fCB0eXBlb2YgZGlydHkgIT09ICdib29sZWFuJykge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIGlmIChkaXJ0eSkge1xuICAgICAgICB0aGlzLmZvcm0ubWFya0FzRGlydHkoKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuZm9ybS5tYXJrQXNQcmlzdGluZSgpO1xuICAgICAgfVxuXG4gICAgICB0aGlzLl9jZC5tYXJrRm9yQ2hlY2soKTtcbiAgICB9KTtcblxuICAgIC8vIE9uIGZpcnN0IHN0YXRlIGNoYW5nZSwgc3luYyBmb3JtIG1vZGVsLCBzdGF0dXMgYW5kIGRpcnR5IHdpdGggc3RhdGVcbiAgICB0aGlzLl9zdG9yZVxuICAgICAgLnNlbGVjdE9uY2Uoc3RhdGUgPT4gZ2V0VmFsdWUoc3RhdGUsIHRoaXMucGF0aCkpXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgdGhpcy5fc3RvcmUuZGlzcGF0Y2goW1xuICAgICAgICAgIG5ldyBVcGRhdGVGb3JtVmFsdWUoe1xuICAgICAgICAgICAgcGF0aDogdGhpcy5wYXRoLFxuICAgICAgICAgICAgdmFsdWU6IHRoaXMuZm9ybS5nZXRSYXdWYWx1ZSgpXG4gICAgICAgICAgfSksXG4gICAgICAgICAgbmV3IFVwZGF0ZUZvcm1TdGF0dXMoe1xuICAgICAgICAgICAgcGF0aDogdGhpcy5wYXRoLFxuICAgICAgICAgICAgc3RhdHVzOiB0aGlzLmZvcm0uc3RhdHVzXG4gICAgICAgICAgfSksXG4gICAgICAgICAgbmV3IFVwZGF0ZUZvcm1EaXJ0eSh7XG4gICAgICAgICAgICBwYXRoOiB0aGlzLnBhdGgsXG4gICAgICAgICAgICBkaXJ0eTogdGhpcy5mb3JtLmRpcnR5XG4gICAgICAgICAgfSlcbiAgICAgICAgXSk7XG4gICAgICB9KTtcblxuICAgIHRoaXMuZ2V0U3RhdGVTdHJlYW0oYCR7dGhpcy5wYXRofS5kaXNhYmxlZGApLnN1YnNjcmliZShkaXNhYmxlZCA9PiB7XG4gICAgICBpZiAodGhpcy5mb3JtLmRpc2FibGVkID09PSBkaXNhYmxlZCB8fCB0eXBlb2YgZGlzYWJsZWQgIT09ICdib29sZWFuJykge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIGlmIChkaXNhYmxlZCkge1xuICAgICAgICB0aGlzLmZvcm0uZGlzYWJsZSgpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5mb3JtLmVuYWJsZSgpO1xuICAgICAgfVxuXG4gICAgICB0aGlzLl9jZC5tYXJrRm9yQ2hlY2soKTtcbiAgICB9KTtcblxuICAgIHRoaXMuX2Zvcm1Hcm91cERpcmVjdGl2ZVxuICAgICAgLnZhbHVlQ2hhbmdlcyEucGlwZShcbiAgICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKGEsIGIpID0+IEpTT04uc3RyaW5naWZ5KGEpID09PSBKU09OLnN0cmluZ2lmeShiKSksXG4gICAgICAgIHRoaXMuZGVib3VuY2VDaGFuZ2UoKVxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIHRoaXMudXBkYXRlRm9ybVN0YXRlV2l0aFJhd1ZhbHVlKCk7XG4gICAgICB9KTtcblxuICAgIHRoaXMuX2Zvcm1Hcm91cERpcmVjdGl2ZVxuICAgICAgLnN0YXR1c0NoYW5nZXMhLnBpcGUoZGlzdGluY3RVbnRpbENoYW5nZWQoKSwgdGhpcy5kZWJvdW5jZUNoYW5nZSgpKVxuICAgICAgLnN1YnNjcmliZSgoc3RhdHVzOiBzdHJpbmcpID0+IHtcbiAgICAgICAgdGhpcy5fc3RvcmUuZGlzcGF0Y2goXG4gICAgICAgICAgbmV3IFVwZGF0ZUZvcm1TdGF0dXMoe1xuICAgICAgICAgICAgc3RhdHVzLFxuICAgICAgICAgICAgcGF0aDogdGhpcy5wYXRoXG4gICAgICAgICAgfSlcbiAgICAgICAgKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgdXBkYXRlRm9ybVN0YXRlV2l0aFJhd1ZhbHVlKHdpdGhGb3JtU3RhdHVzPzogYm9vbGVhbikge1xuICAgIGlmICh0aGlzLl91cGRhdGluZykgcmV0dXJuO1xuXG4gICAgY29uc3QgdmFsdWUgPSB0aGlzLl9mb3JtR3JvdXBEaXJlY3RpdmUuY29udHJvbC5nZXRSYXdWYWx1ZSgpO1xuXG4gICAgY29uc3QgYWN0aW9uczogYW55W10gPSBbXG4gICAgICBuZXcgVXBkYXRlRm9ybVZhbHVlKHtcbiAgICAgICAgcGF0aDogdGhpcy5wYXRoLFxuICAgICAgICB2YWx1ZVxuICAgICAgfSksXG4gICAgICBuZXcgVXBkYXRlRm9ybURpcnR5KHtcbiAgICAgICAgcGF0aDogdGhpcy5wYXRoLFxuICAgICAgICBkaXJ0eTogdGhpcy5fZm9ybUdyb3VwRGlyZWN0aXZlLmRpcnR5XG4gICAgICB9KSxcbiAgICAgIG5ldyBVcGRhdGVGb3JtRXJyb3JzKHtcbiAgICAgICAgcGF0aDogdGhpcy5wYXRoLFxuICAgICAgICBlcnJvcnM6IHRoaXMuX2Zvcm1Hcm91cERpcmVjdGl2ZS5lcnJvcnNcbiAgICAgIH0pXG4gICAgXTtcblxuICAgIGlmICh3aXRoRm9ybVN0YXR1cykge1xuICAgICAgYWN0aW9ucy5wdXNoKFxuICAgICAgICBuZXcgVXBkYXRlRm9ybVN0YXR1cyh7XG4gICAgICAgICAgcGF0aDogdGhpcy5wYXRoLFxuICAgICAgICAgIHN0YXR1czogdGhpcy5fZm9ybUdyb3VwRGlyZWN0aXZlLnN0YXR1c1xuICAgICAgICB9KVxuICAgICAgKTtcbiAgICB9XG5cbiAgICB0aGlzLl91cGRhdGluZyA9IHRydWU7XG4gICAgdGhpcy5fc3RvcmUuZGlzcGF0Y2goYWN0aW9ucykuc3Vic2NyaWJlKHtcbiAgICAgIGVycm9yOiAoKSA9PiAodGhpcy5fdXBkYXRpbmcgPSBmYWxzZSksXG4gICAgICBjb21wbGV0ZTogKCkgPT4gKHRoaXMuX3VwZGF0aW5nID0gZmFsc2UpXG4gICAgfSk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLl9kZXN0cm95JC5uZXh0KCk7XG5cbiAgICBpZiAodGhpcy5jbGVhckRlc3Ryb3kpIHtcbiAgICAgIHRoaXMuX3N0b3JlLmRpc3BhdGNoKFxuICAgICAgICBuZXcgVXBkYXRlRm9ybSh7XG4gICAgICAgICAgcGF0aDogdGhpcy5wYXRoLFxuICAgICAgICAgIHZhbHVlOiBudWxsLFxuICAgICAgICAgIGRpcnR5OiBudWxsLFxuICAgICAgICAgIHN0YXR1czogbnVsbCxcbiAgICAgICAgICBlcnJvcnM6IG51bGxcbiAgICAgICAgfSlcbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBkZWJvdW5jZUNoYW5nZSgpIHtcbiAgICBjb25zdCBza2lwRGVib3VuY2VUaW1lID1cbiAgICAgIHRoaXMuX2Zvcm1Hcm91cERpcmVjdGl2ZS5jb250cm9sLnVwZGF0ZU9uICE9PSAnY2hhbmdlJyB8fCB0aGlzLl9kZWJvdW5jZSA8IDA7XG5cbiAgICByZXR1cm4gc2tpcERlYm91bmNlVGltZVxuICAgICAgPyAoY2hhbmdlOiBPYnNlcnZhYmxlPGFueT4pID0+IGNoYW5nZS5waXBlKHRha2VVbnRpbCh0aGlzLl9kZXN0cm95JCkpXG4gICAgICA6IChjaGFuZ2U6IE9ic2VydmFibGU8YW55PikgPT5cbiAgICAgICAgICBjaGFuZ2UucGlwZShkZWJvdW5jZVRpbWUodGhpcy5fZGVib3VuY2UpLCB0YWtlVW50aWwodGhpcy5fZGVzdHJveSQpKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0IGZvcm0oKTogRm9ybUdyb3VwIHtcbiAgICByZXR1cm4gdGhpcy5fZm9ybUdyb3VwRGlyZWN0aXZlLmZvcm07XG4gIH1cblxuICBwcml2YXRlIGdldFN0YXRlU3RyZWFtKHBhdGg6IHN0cmluZykge1xuICAgIHJldHVybiB0aGlzLl9zdG9yZS5zZWxlY3Qoc3RhdGUgPT4gZ2V0VmFsdWUoc3RhdGUsIHBhdGgpKS5waXBlKHRha2VVbnRpbCh0aGlzLl9kZXN0cm95JCkpO1xuICB9XG59XG4iXX0=
@@ -162,10 +162,16 @@ class FormDirective {
162
162
  this._formGroupDirective = _formGroupDirective;
163
163
  this._cd = _cd;
164
164
  this.path = null;
165
- this.debounce = 100;
165
+ this._debounce = 100;
166
166
  this._clearDestroy = false;
167
- this._destroy$ = new Subject();
168
167
  this._updating = false;
168
+ this._destroy$ = new Subject();
169
+ }
170
+ set debounce(debounce) {
171
+ this._debounce = Number(debounce);
172
+ }
173
+ get debounce() {
174
+ return this._debounce;
169
175
  }
170
176
  set clearDestroy(val) {
171
177
  this._clearDestroy = val != null && `${val}` !== 'false';
@@ -277,7 +283,6 @@ class FormDirective {
277
283
  }
278
284
  ngOnDestroy() {
279
285
  this._destroy$.next();
280
- this._destroy$.complete();
281
286
  if (this.clearDestroy) {
282
287
  this._store.dispatch(new UpdateForm({
283
288
  path: this.path,
@@ -289,10 +294,10 @@ class FormDirective {
289
294
  }
290
295
  }
291
296
  debounceChange() {
292
- const skipDebounceTime = this._formGroupDirective.control.updateOn !== 'change' || this.debounce < 0;
297
+ const skipDebounceTime = this._formGroupDirective.control.updateOn !== 'change' || this._debounce < 0;
293
298
  return skipDebounceTime
294
299
  ? (change) => change.pipe(takeUntil(this._destroy$))
295
- : (change) => change.pipe(debounceTime(this.debounce), takeUntil(this._destroy$));
300
+ : (change) => change.pipe(debounceTime(this._debounce), takeUntil(this._destroy$));
296
301
  }
297
302
  get form() {
298
303
  return this._formGroupDirective.form;
@@ -1 +1 @@
1
- {"version":3,"file":"ngxs-form-plugin.js","sources":["../../../packages/form-plugin/src/actions.ts","../../../packages/form-plugin/src/form.plugin.ts","../../../packages/form-plugin/src/directive.ts","../../../packages/form-plugin/src/form.module.ts","../../../packages/form-plugin/index.ts","../../../packages/form-plugin/ngxs-form-plugin.ts"],"sourcesContent":["export class UpdateFormStatus {\n static get type() {\n // NOTE: Not necessary to declare the type in this way in your code. See https://github.com/ngxs/store/pull/644#issuecomment-436003138\n return '[Forms] Update Form Status';\n }\n constructor(\n public payload: {\n status: string | null;\n path: string;\n }\n ) {}\n}\n\nexport class UpdateFormValue {\n static get type() {\n // NOTE: Not necessary to declare the type in this way in your code. See https://github.com/ngxs/store/pull/644#issuecomment-436003138\n return '[Forms] Update Form Value';\n }\n constructor(public payload: { value: any; path: string; propertyPath?: string }) {}\n}\n\nexport class UpdateForm {\n static get type() {\n // NOTE: Not necessary to declare the type in this way in your code. See https://github.com/ngxs/store/pull/644#issuecomment-436003138\n return '[Forms] Update Form';\n }\n constructor(\n public payload: {\n value: any;\n errors: { [k: string]: string } | null;\n dirty: boolean | null;\n status: string | null;\n path: string;\n }\n ) {}\n}\n\nexport class UpdateFormDirty {\n static get type() {\n // NOTE: Not necessary to declare the type in this way in your code. See https://github.com/ngxs/store/pull/644#issuecomment-436003138\n return '[Forms] Update Form Dirty';\n }\n constructor(public payload: { dirty: boolean | null; path: string }) {}\n}\n\nexport class SetFormDirty {\n static get type() {\n // NOTE: Not necessary to declare the type in this way in your code. See https://github.com/ngxs/store/pull/644#issuecomment-436003138\n return '[Forms] Set Form Dirty';\n }\n constructor(public payload: string) {}\n}\n\nexport class SetFormPristine {\n static get type() {\n // NOTE: Not necessary to declare the type in this way in your code. See https://github.com/ngxs/store/pull/644#issuecomment-436003138\n return '[Forms] Set Form Pristine';\n }\n constructor(public payload: string) {}\n}\n\nexport class UpdateFormErrors {\n static get type() {\n // NOTE: Not necessary to declare the type in this way in your code. See https://github.com/ngxs/store/pull/644#issuecomment-436003138\n return '[Forms] Update Form Errors';\n }\n constructor(public payload: { errors: { [k: string]: string } | null; path: string }) {}\n}\n\nexport class SetFormDisabled {\n static get type() {\n // NOTE: Not necessary to declare the type in this way in your code. See https://github.com/ngxs/store/pull/644#issuecomment-436003138\n return '[Forms] Set Form Disabled';\n }\n constructor(public payload: string) {}\n}\n\nexport class SetFormEnabled {\n static get type() {\n // NOTE: Not necessary to declare the type in this way in your code. See https://github.com/ngxs/store/pull/644#issuecomment-436003138\n return '[Forms] Set Form Enabled';\n }\n constructor(public payload: string) {}\n}\n\nexport class ResetForm {\n static get type() {\n // NOTE: Not necessary to declare the type in this way in your code. See https://github.com/ngxs/store/pull/644#issuecomment-436003138\n return '[Forms] Reset Form';\n }\n constructor(public payload: { path: string; value?: any }) {}\n}\n","import { Injectable } from '@angular/core';\nimport {\n getActionTypeFromInstance,\n getValue,\n NgxsNextPluginFn,\n NgxsPlugin,\n setValue\n} from '@ngxs/store';\nimport {\n ResetForm,\n SetFormDirty,\n SetFormDisabled,\n SetFormEnabled,\n SetFormPristine,\n UpdateForm,\n UpdateFormDirty,\n UpdateFormErrors,\n UpdateFormStatus,\n UpdateFormValue\n} from './actions';\n\n@Injectable()\nexport class NgxsFormPlugin implements NgxsPlugin {\n handle(state: any, event: any, next: NgxsNextPluginFn) {\n const type = getActionTypeFromInstance(event);\n\n let nextState = state;\n\n if (type === UpdateFormValue.type || type === UpdateForm.type || type === ResetForm.type) {\n const { value } = event.payload;\n const payloadValue = Array.isArray(value)\n ? value.slice()\n : isObjectLike(value)\n ? { ...value }\n : value;\n const path = this.joinPathWithPropertyPath(event);\n nextState = setValue(nextState, path, payloadValue);\n }\n\n if (type === ResetForm.type) {\n const model = getValue(nextState, `${event.payload.path}.model`);\n nextState = setValue(nextState, `${event.payload.path}`, { model: model });\n }\n\n if (type === UpdateFormStatus.type || type === UpdateForm.type) {\n nextState = setValue(nextState, `${event.payload.path}.status`, event.payload.status);\n }\n\n if (type === UpdateFormErrors.type || type === UpdateForm.type) {\n nextState = setValue(nextState, `${event.payload.path}.errors`, {\n ...event.payload.errors\n });\n }\n\n if (type === UpdateFormDirty.type || type === UpdateForm.type) {\n nextState = setValue(nextState, `${event.payload.path}.dirty`, event.payload.dirty);\n }\n\n if (type === SetFormDirty.type) {\n nextState = setValue(nextState, `${event.payload}.dirty`, true);\n }\n\n if (type === SetFormPristine.type) {\n nextState = setValue(nextState, `${event.payload}.dirty`, false);\n }\n\n if (type === SetFormDisabled.type) {\n nextState = setValue(nextState, `${event.payload}.disabled`, true);\n }\n\n if (type === SetFormEnabled.type) {\n nextState = setValue(nextState, `${event.payload}.disabled`, false);\n }\n\n return next(nextState, event);\n }\n\n private joinPathWithPropertyPath({ payload }: UpdateFormValue): string {\n let path = `${payload.path}.model`;\n\n if (payload.propertyPath) {\n path += `.${payload.propertyPath}`;\n }\n\n return path;\n }\n}\n\nfunction isObjectLike(target: unknown): target is object {\n return target !== null && typeof target === 'object';\n}\n","import { ChangeDetectorRef, Directive, Input, OnDestroy, OnInit } from '@angular/core';\nimport { FormGroup, FormGroupDirective } from '@angular/forms';\nimport { Actions, getValue, ofActionDispatched, Store } from '@ngxs/store';\nimport { Observable, Subject } from 'rxjs';\nimport { debounceTime, distinctUntilChanged, filter, takeUntil } from 'rxjs/operators';\nimport {\n ResetForm,\n UpdateForm,\n UpdateFormDirty,\n UpdateFormErrors,\n UpdateFormStatus,\n UpdateFormValue\n} from './actions';\n\n@Directive({ selector: '[ngxsForm]' })\nexport class FormDirective implements OnInit, OnDestroy {\n @Input('ngxsForm')\n path: string = null!;\n\n @Input('ngxsFormDebounce')\n debounce = 100;\n\n @Input('ngxsFormClearOnDestroy')\n set clearDestroy(val: boolean) {\n this._clearDestroy = val != null && `${val}` !== 'false';\n }\n\n get clearDestroy(): boolean {\n return this._clearDestroy;\n }\n\n _clearDestroy = false;\n\n private readonly _destroy$ = new Subject<void>();\n private _updating = false;\n\n constructor(\n private _actions$: Actions,\n private _store: Store,\n private _formGroupDirective: FormGroupDirective,\n private _cd: ChangeDetectorRef\n ) {}\n\n ngOnInit() {\n this._actions$\n .pipe(\n ofActionDispatched(ResetForm),\n filter((action: ResetForm) => action.payload.path === this.path),\n takeUntil(this._destroy$)\n )\n .subscribe(({ payload: { value } }: ResetForm) => {\n this.form.reset(value);\n this.updateFormStateWithRawValue(true);\n this._cd.markForCheck();\n });\n\n this.getStateStream(`${this.path}.model`).subscribe(model => {\n if (this._updating || !model) {\n return;\n }\n\n this.form.patchValue(model);\n this._cd.markForCheck();\n });\n\n this.getStateStream(`${this.path}.dirty`).subscribe(dirty => {\n if (this.form.dirty === dirty || typeof dirty !== 'boolean') {\n return;\n }\n\n if (dirty) {\n this.form.markAsDirty();\n } else {\n this.form.markAsPristine();\n }\n\n this._cd.markForCheck();\n });\n\n // On first state change, sync form model, status and dirty with state\n this._store\n .selectOnce(state => getValue(state, this.path))\n .subscribe(() => {\n this._store.dispatch([\n new UpdateFormValue({\n path: this.path,\n value: this.form.getRawValue()\n }),\n new UpdateFormStatus({\n path: this.path,\n status: this.form.status\n }),\n new UpdateFormDirty({\n path: this.path,\n dirty: this.form.dirty\n })\n ]);\n });\n\n this.getStateStream(`${this.path}.disabled`).subscribe(disabled => {\n if (this.form.disabled === disabled || typeof disabled !== 'boolean') {\n return;\n }\n\n if (disabled) {\n this.form.disable();\n } else {\n this.form.enable();\n }\n\n this._cd.markForCheck();\n });\n\n this._formGroupDirective\n .valueChanges!.pipe(\n distinctUntilChanged((a, b) => JSON.stringify(a) === JSON.stringify(b)),\n this.debounceChange()\n )\n .subscribe(() => {\n this.updateFormStateWithRawValue();\n });\n\n this._formGroupDirective\n .statusChanges!.pipe(distinctUntilChanged(), this.debounceChange())\n .subscribe((status: string) => {\n this._store.dispatch(\n new UpdateFormStatus({\n status,\n path: this.path\n })\n );\n });\n }\n\n updateFormStateWithRawValue(withFormStatus?: boolean) {\n if (this._updating) return;\n\n const value = this._formGroupDirective.control.getRawValue();\n\n const actions: any[] = [\n new UpdateFormValue({\n path: this.path,\n value\n }),\n new UpdateFormDirty({\n path: this.path,\n dirty: this._formGroupDirective.dirty\n }),\n new UpdateFormErrors({\n path: this.path,\n errors: this._formGroupDirective.errors\n })\n ];\n\n if (withFormStatus) {\n actions.push(\n new UpdateFormStatus({\n path: this.path,\n status: this._formGroupDirective.status\n })\n );\n }\n\n this._updating = true;\n this._store.dispatch(actions).subscribe({\n error: () => (this._updating = false),\n complete: () => (this._updating = false)\n });\n }\n ngOnDestroy() {\n this._destroy$.next();\n this._destroy$.complete();\n\n if (this.clearDestroy) {\n this._store.dispatch(\n new UpdateForm({\n path: this.path,\n value: null,\n dirty: null,\n status: null,\n errors: null\n })\n );\n }\n }\n\n private debounceChange() {\n const skipDebounceTime =\n this._formGroupDirective.control.updateOn !== 'change' || this.debounce < 0;\n\n return skipDebounceTime\n ? (change: Observable<any>) => change.pipe(takeUntil(this._destroy$))\n : (change: Observable<any>) =>\n change.pipe(debounceTime(this.debounce), takeUntil(this._destroy$));\n }\n\n private get form(): FormGroup {\n return this._formGroupDirective.form;\n }\n\n private getStateStream(path: string) {\n return this._store.select(state => getValue(state, path)).pipe(takeUntil(this._destroy$));\n }\n}\n","import { NgModule, ModuleWithProviders } from '@angular/core';\nimport { NGXS_PLUGINS } from '@ngxs/store';\nimport { NgxsFormPlugin } from './form.plugin';\nimport { ReactiveFormsModule } from '@angular/forms';\nimport { FormDirective } from './directive';\n\n@NgModule({\n imports: [ReactiveFormsModule],\n declarations: [FormDirective],\n exports: [FormDirective]\n})\nexport class NgxsFormPluginModule {\n static forRoot(): ModuleWithProviders<NgxsFormPluginModule> {\n return {\n ngModule: NgxsFormPluginModule,\n providers: [\n {\n provide: NGXS_PLUGINS,\n useClass: NgxsFormPlugin,\n multi: true\n }\n ]\n };\n }\n}\n","/**\n * The public api for consumers of @ngxs/form-plugin\n */\nexport * from './src/public_api';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ngxs-form-plugin.js","sources":["../../../packages/form-plugin/src/actions.ts","../../../packages/form-plugin/src/form.plugin.ts","../../../packages/form-plugin/src/directive.ts","../../../packages/form-plugin/src/form.module.ts","../../../packages/form-plugin/index.ts","../../../packages/form-plugin/ngxs-form-plugin.ts"],"sourcesContent":["export class UpdateFormStatus {\n static get type() {\n // NOTE: Not necessary to declare the type in this way in your code. See https://github.com/ngxs/store/pull/644#issuecomment-436003138\n return '[Forms] Update Form Status';\n }\n constructor(\n public payload: {\n status: string | null;\n path: string;\n }\n ) {}\n}\n\nexport class UpdateFormValue {\n static get type() {\n // NOTE: Not necessary to declare the type in this way in your code. See https://github.com/ngxs/store/pull/644#issuecomment-436003138\n return '[Forms] Update Form Value';\n }\n constructor(public payload: { value: any; path: string; propertyPath?: string }) {}\n}\n\nexport class UpdateForm {\n static get type() {\n // NOTE: Not necessary to declare the type in this way in your code. See https://github.com/ngxs/store/pull/644#issuecomment-436003138\n return '[Forms] Update Form';\n }\n constructor(\n public payload: {\n value: any;\n errors: { [k: string]: string } | null;\n dirty: boolean | null;\n status: string | null;\n path: string;\n }\n ) {}\n}\n\nexport class UpdateFormDirty {\n static get type() {\n // NOTE: Not necessary to declare the type in this way in your code. See https://github.com/ngxs/store/pull/644#issuecomment-436003138\n return '[Forms] Update Form Dirty';\n }\n constructor(public payload: { dirty: boolean | null; path: string }) {}\n}\n\nexport class SetFormDirty {\n static get type() {\n // NOTE: Not necessary to declare the type in this way in your code. See https://github.com/ngxs/store/pull/644#issuecomment-436003138\n return '[Forms] Set Form Dirty';\n }\n constructor(public payload: string) {}\n}\n\nexport class SetFormPristine {\n static get type() {\n // NOTE: Not necessary to declare the type in this way in your code. See https://github.com/ngxs/store/pull/644#issuecomment-436003138\n return '[Forms] Set Form Pristine';\n }\n constructor(public payload: string) {}\n}\n\nexport class UpdateFormErrors {\n static get type() {\n // NOTE: Not necessary to declare the type in this way in your code. See https://github.com/ngxs/store/pull/644#issuecomment-436003138\n return '[Forms] Update Form Errors';\n }\n constructor(public payload: { errors: { [k: string]: string } | null; path: string }) {}\n}\n\nexport class SetFormDisabled {\n static get type() {\n // NOTE: Not necessary to declare the type in this way in your code. See https://github.com/ngxs/store/pull/644#issuecomment-436003138\n return '[Forms] Set Form Disabled';\n }\n constructor(public payload: string) {}\n}\n\nexport class SetFormEnabled {\n static get type() {\n // NOTE: Not necessary to declare the type in this way in your code. See https://github.com/ngxs/store/pull/644#issuecomment-436003138\n return '[Forms] Set Form Enabled';\n }\n constructor(public payload: string) {}\n}\n\nexport class ResetForm {\n static get type() {\n // NOTE: Not necessary to declare the type in this way in your code. See https://github.com/ngxs/store/pull/644#issuecomment-436003138\n return '[Forms] Reset Form';\n }\n constructor(public payload: { path: string; value?: any }) {}\n}\n","import { Injectable } from '@angular/core';\nimport {\n getActionTypeFromInstance,\n getValue,\n NgxsNextPluginFn,\n NgxsPlugin,\n setValue\n} from '@ngxs/store';\nimport {\n ResetForm,\n SetFormDirty,\n SetFormDisabled,\n SetFormEnabled,\n SetFormPristine,\n UpdateForm,\n UpdateFormDirty,\n UpdateFormErrors,\n UpdateFormStatus,\n UpdateFormValue\n} from './actions';\n\n@Injectable()\nexport class NgxsFormPlugin implements NgxsPlugin {\n handle(state: any, event: any, next: NgxsNextPluginFn) {\n const type = getActionTypeFromInstance(event);\n\n let nextState = state;\n\n if (type === UpdateFormValue.type || type === UpdateForm.type || type === ResetForm.type) {\n const { value } = event.payload;\n const payloadValue = Array.isArray(value)\n ? value.slice()\n : isObjectLike(value)\n ? { ...value }\n : value;\n const path = this.joinPathWithPropertyPath(event);\n nextState = setValue(nextState, path, payloadValue);\n }\n\n if (type === ResetForm.type) {\n const model = getValue(nextState, `${event.payload.path}.model`);\n nextState = setValue(nextState, `${event.payload.path}`, { model: model });\n }\n\n if (type === UpdateFormStatus.type || type === UpdateForm.type) {\n nextState = setValue(nextState, `${event.payload.path}.status`, event.payload.status);\n }\n\n if (type === UpdateFormErrors.type || type === UpdateForm.type) {\n nextState = setValue(nextState, `${event.payload.path}.errors`, {\n ...event.payload.errors\n });\n }\n\n if (type === UpdateFormDirty.type || type === UpdateForm.type) {\n nextState = setValue(nextState, `${event.payload.path}.dirty`, event.payload.dirty);\n }\n\n if (type === SetFormDirty.type) {\n nextState = setValue(nextState, `${event.payload}.dirty`, true);\n }\n\n if (type === SetFormPristine.type) {\n nextState = setValue(nextState, `${event.payload}.dirty`, false);\n }\n\n if (type === SetFormDisabled.type) {\n nextState = setValue(nextState, `${event.payload}.disabled`, true);\n }\n\n if (type === SetFormEnabled.type) {\n nextState = setValue(nextState, `${event.payload}.disabled`, false);\n }\n\n return next(nextState, event);\n }\n\n private joinPathWithPropertyPath({ payload }: UpdateFormValue): string {\n let path = `${payload.path}.model`;\n\n if (payload.propertyPath) {\n path += `.${payload.propertyPath}`;\n }\n\n return path;\n }\n}\n\nfunction isObjectLike(target: unknown): target is object {\n return target !== null && typeof target === 'object';\n}\n","import { ChangeDetectorRef, Directive, Input, OnDestroy, OnInit } from '@angular/core';\nimport { FormGroup, FormGroupDirective } from '@angular/forms';\nimport { Actions, getValue, ofActionDispatched, Store } from '@ngxs/store';\nimport { Observable, Subject } from 'rxjs';\nimport { debounceTime, distinctUntilChanged, filter, takeUntil } from 'rxjs/operators';\nimport {\n ResetForm,\n UpdateForm,\n UpdateFormDirty,\n UpdateFormErrors,\n UpdateFormStatus,\n UpdateFormValue\n} from './actions';\n\n@Directive({ selector: '[ngxsForm]' })\nexport class FormDirective implements OnInit, OnDestroy {\n @Input('ngxsForm')\n path: string = null!;\n\n @Input('ngxsFormDebounce')\n set debounce(debounce: string | number) {\n this._debounce = Number(debounce);\n }\n get debounce() {\n return this._debounce;\n }\n private _debounce = 100;\n\n @Input('ngxsFormClearOnDestroy')\n set clearDestroy(val: boolean) {\n this._clearDestroy = val != null && `${val}` !== 'false';\n }\n get clearDestroy(): boolean {\n return this._clearDestroy;\n }\n private _clearDestroy = false;\n\n private _updating = false;\n\n private readonly _destroy$ = new Subject<void>();\n\n constructor(\n private _actions$: Actions,\n private _store: Store,\n private _formGroupDirective: FormGroupDirective,\n private _cd: ChangeDetectorRef\n ) {}\n\n ngOnInit() {\n this._actions$\n .pipe(\n ofActionDispatched(ResetForm),\n filter((action: ResetForm) => action.payload.path === this.path),\n takeUntil(this._destroy$)\n )\n .subscribe(({ payload: { value } }: ResetForm) => {\n this.form.reset(value);\n this.updateFormStateWithRawValue(true);\n this._cd.markForCheck();\n });\n\n this.getStateStream(`${this.path}.model`).subscribe(model => {\n if (this._updating || !model) {\n return;\n }\n\n this.form.patchValue(model);\n this._cd.markForCheck();\n });\n\n this.getStateStream(`${this.path}.dirty`).subscribe(dirty => {\n if (this.form.dirty === dirty || typeof dirty !== 'boolean') {\n return;\n }\n\n if (dirty) {\n this.form.markAsDirty();\n } else {\n this.form.markAsPristine();\n }\n\n this._cd.markForCheck();\n });\n\n // On first state change, sync form model, status and dirty with state\n this._store\n .selectOnce(state => getValue(state, this.path))\n .subscribe(() => {\n this._store.dispatch([\n new UpdateFormValue({\n path: this.path,\n value: this.form.getRawValue()\n }),\n new UpdateFormStatus({\n path: this.path,\n status: this.form.status\n }),\n new UpdateFormDirty({\n path: this.path,\n dirty: this.form.dirty\n })\n ]);\n });\n\n this.getStateStream(`${this.path}.disabled`).subscribe(disabled => {\n if (this.form.disabled === disabled || typeof disabled !== 'boolean') {\n return;\n }\n\n if (disabled) {\n this.form.disable();\n } else {\n this.form.enable();\n }\n\n this._cd.markForCheck();\n });\n\n this._formGroupDirective\n .valueChanges!.pipe(\n distinctUntilChanged((a, b) => JSON.stringify(a) === JSON.stringify(b)),\n this.debounceChange()\n )\n .subscribe(() => {\n this.updateFormStateWithRawValue();\n });\n\n this._formGroupDirective\n .statusChanges!.pipe(distinctUntilChanged(), this.debounceChange())\n .subscribe((status: string) => {\n this._store.dispatch(\n new UpdateFormStatus({\n status,\n path: this.path\n })\n );\n });\n }\n\n updateFormStateWithRawValue(withFormStatus?: boolean) {\n if (this._updating) return;\n\n const value = this._formGroupDirective.control.getRawValue();\n\n const actions: any[] = [\n new UpdateFormValue({\n path: this.path,\n value\n }),\n new UpdateFormDirty({\n path: this.path,\n dirty: this._formGroupDirective.dirty\n }),\n new UpdateFormErrors({\n path: this.path,\n errors: this._formGroupDirective.errors\n })\n ];\n\n if (withFormStatus) {\n actions.push(\n new UpdateFormStatus({\n path: this.path,\n status: this._formGroupDirective.status\n })\n );\n }\n\n this._updating = true;\n this._store.dispatch(actions).subscribe({\n error: () => (this._updating = false),\n complete: () => (this._updating = false)\n });\n }\n\n ngOnDestroy() {\n this._destroy$.next();\n\n if (this.clearDestroy) {\n this._store.dispatch(\n new UpdateForm({\n path: this.path,\n value: null,\n dirty: null,\n status: null,\n errors: null\n })\n );\n }\n }\n\n private debounceChange() {\n const skipDebounceTime =\n this._formGroupDirective.control.updateOn !== 'change' || this._debounce < 0;\n\n return skipDebounceTime\n ? (change: Observable<any>) => change.pipe(takeUntil(this._destroy$))\n : (change: Observable<any>) =>\n change.pipe(debounceTime(this._debounce), takeUntil(this._destroy$));\n }\n\n private get form(): FormGroup {\n return this._formGroupDirective.form;\n }\n\n private getStateStream(path: string) {\n return this._store.select(state => getValue(state, path)).pipe(takeUntil(this._destroy$));\n }\n}\n","import { NgModule, ModuleWithProviders } from '@angular/core';\nimport { NGXS_PLUGINS } from '@ngxs/store';\nimport { NgxsFormPlugin } from './form.plugin';\nimport { ReactiveFormsModule } from '@angular/forms';\nimport { FormDirective } from './directive';\n\n@NgModule({\n imports: [ReactiveFormsModule],\n declarations: [FormDirective],\n exports: [FormDirective]\n})\nexport class NgxsFormPluginModule {\n static forRoot(): ModuleWithProviders<NgxsFormPluginModule> {\n return {\n ngModule: NgxsFormPluginModule,\n providers: [\n {\n provide: NGXS_PLUGINS,\n useClass: NgxsFormPlugin,\n multi: true\n }\n ]\n };\n }\n}\n","/**\n * The public api for consumers of @ngxs/form-plugin\n */\nexport * from './src/public_api';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "$schema": "../../node_modules/ng-packagr/package.schema.json",
3
3
  "name": "@ngxs/form-plugin",
4
4
  "description": "form plugin for @ngxs/store",
5
- "version": "3.7.6-dev.master-daef739",
5
+ "version": "3.7.6-dev.master-6835a28",
6
6
  "sideEffects": true,
7
7
  "peerDependencies": {
8
8
  "@angular/core": ">=6.1.0 <16.0.0",
@@ -8,12 +8,14 @@ export declare class FormDirective implements OnInit, OnDestroy {
8
8
  private _formGroupDirective;
9
9
  private _cd;
10
10
  path: string;
11
- debounce: number;
11
+ set debounce(debounce: string | number);
12
+ get debounce(): string | number;
13
+ private _debounce;
12
14
  set clearDestroy(val: boolean);
13
15
  get clearDestroy(): boolean;
14
- _clearDestroy: boolean;
15
- private readonly _destroy$;
16
+ private _clearDestroy;
16
17
  private _updating;
18
+ private readonly _destroy$;
17
19
  constructor(_actions$: Actions, _store: Store, _formGroupDirective: FormGroupDirective, _cd: ChangeDetectorRef);
18
20
  ngOnInit(): void;
19
21
  updateFormStateWithRawValue(withFormStatus?: boolean): void;