@ngxs/form-plugin 3.8.1 → 3.8.2-dev.master-a75608e
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.
- package/README.md +1 -1
- package/esm2020/src/actions.mjs +61 -0
- package/esm2020/src/directive.mjs +176 -0
- package/esm2020/src/form.module.mjs +33 -0
- package/esm2020/src/form.plugin.mjs +64 -0
- package/esm2020/src/public_api.mjs +5 -0
- package/fesm2015/{ngxs-form-plugin.js → ngxs-form-plugin.mjs} +34 -63
- package/fesm2015/ngxs-form-plugin.mjs.map +1 -0
- package/fesm2020/ngxs-form-plugin.mjs +334 -0
- package/fesm2020/ngxs-form-plugin.mjs.map +1 -0
- package/package.json +26 -14
- package/src/actions.d.ts +10 -10
- package/src/directive.d.ts +3 -3
- package/src/form.module.d.ts +3 -3
- package/src/public_api.d.ts +2 -2
- package/bundles/ngxs-form-plugin.umd.js +0 -469
- package/bundles/ngxs-form-plugin.umd.js.map +0 -1
- package/esm2015/src/actions.js +0 -91
- package/esm2015/src/directive.js +0 -176
- package/esm2015/src/form.module.js +0 -32
- package/esm2015/src/form.plugin.js +0 -61
- package/esm2015/src/public_api.js +0 -5
- package/fesm2015/ngxs-form-plugin.js.map +0 -1
- package/ngxs-form-plugin.d.ts +0 -5
- /package/{esm2015/index.js → esm2020/index.mjs} +0 -0
- /package/{esm2015/ngxs-form-plugin.js → esm2020/ngxs-form-plugin.mjs} +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ngxs-form-plugin.mjs","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 readonly type = '[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 readonly type = '[Forms] Update Form Value';\n\n constructor(public payload: { value: any; path: string; propertyPath?: string }) {}\n}\n\nexport class UpdateForm {\n static readonly type = '[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 readonly type = '[Forms] Update Form Dirty';\n\n constructor(public payload: { dirty: boolean | null; path: string }) {}\n}\n\nexport class SetFormDirty {\n static readonly type = '[Forms] Set Form Dirty';\n\n constructor(public payload: string) {}\n}\n\nexport class SetFormPristine {\n static readonly type = '[Forms] Set Form Pristine';\n\n constructor(public payload: string) {}\n}\n\nexport class UpdateFormErrors {\n static readonly type = '[Forms] Update Form Errors';\n\n constructor(public payload: { errors: { [k: string]: string } | null; path: string }) {}\n}\n\nexport class SetFormDisabled {\n static readonly type = '[Forms] Set Form Disabled';\n\n constructor(public payload: string) {}\n}\n\nexport class SetFormEnabled {\n static readonly type = '[Forms] Set Form Enabled';\n\n constructor(public payload: string) {}\n}\n\nexport class ResetForm {\n static readonly type = '[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, ReplaySubject } 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]', standalone: true })\nexport class NgxsFormDirective 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 ReplaySubject<void>(1);\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 {\n NgModule,\n ModuleWithProviders,\n EnvironmentProviders,\n makeEnvironmentProviders\n} from '@angular/core';\nimport { NGXS_PLUGINS, withNgxsPlugin } from '@ngxs/store';\n\nimport { NgxsFormPlugin } from './form.plugin';\nimport { NgxsFormDirective } from './directive';\n\n@NgModule({\n imports: [NgxsFormDirective],\n exports: [NgxsFormDirective]\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\nexport function withNgxsFormPlugin(): EnvironmentProviders {\n return makeEnvironmentProviders([withNgxsPlugin(NgxsFormPlugin)]);\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":";;;;;;;;MAAa,gBAAgB,CAAA;AAG3B,IAAA,WAAA,CACS,OAGN,EAAA;AAHM,QAAA,IAAO,CAAA,OAAA,GAAP,OAAO,CAGb;KACC;;AAPY,gBAAI,CAAA,IAAA,GAAG,4BAA4B,CAAC;MAUzC,eAAe,CAAA;AAG1B,IAAA,WAAA,CAAmB,OAA4D,EAAA;AAA5D,QAAA,IAAO,CAAA,OAAA,GAAP,OAAO,CAAqD;KAAI;;AAFnE,eAAI,CAAA,IAAA,GAAG,2BAA2B,CAAC;MAKxC,UAAU,CAAA;AAGrB,IAAA,WAAA,CACS,OAMN,EAAA;AANM,QAAA,IAAO,CAAA,OAAA,GAAP,OAAO,CAMb;KACC;;AAVY,UAAI,CAAA,IAAA,GAAG,qBAAqB,CAAC;MAalC,eAAe,CAAA;AAG1B,IAAA,WAAA,CAAmB,OAAgD,EAAA;AAAhD,QAAA,IAAO,CAAA,OAAA,GAAP,OAAO,CAAyC;KAAI;;AAFvD,eAAI,CAAA,IAAA,GAAG,2BAA2B,CAAC;MAKxC,YAAY,CAAA;AAGvB,IAAA,WAAA,CAAmB,OAAe,EAAA;AAAf,QAAA,IAAO,CAAA,OAAA,GAAP,OAAO,CAAQ;KAAI;;AAFtB,YAAI,CAAA,IAAA,GAAG,wBAAwB,CAAC;MAKrC,eAAe,CAAA;AAG1B,IAAA,WAAA,CAAmB,OAAe,EAAA;AAAf,QAAA,IAAO,CAAA,OAAA,GAAP,OAAO,CAAQ;KAAI;;AAFtB,eAAI,CAAA,IAAA,GAAG,2BAA2B,CAAC;MAKxC,gBAAgB,CAAA;AAG3B,IAAA,WAAA,CAAmB,OAAiE,EAAA;AAAjE,QAAA,IAAO,CAAA,OAAA,GAAP,OAAO,CAA0D;KAAI;;AAFxE,gBAAI,CAAA,IAAA,GAAG,4BAA4B,CAAC;MAKzC,eAAe,CAAA;AAG1B,IAAA,WAAA,CAAmB,OAAe,EAAA;AAAf,QAAA,IAAO,CAAA,OAAA,GAAP,OAAO,CAAQ;KAAI;;AAFtB,eAAI,CAAA,IAAA,GAAG,2BAA2B,CAAC;MAKxC,cAAc,CAAA;AAGzB,IAAA,WAAA,CAAmB,OAAe,EAAA;AAAf,QAAA,IAAO,CAAA,OAAA,GAAP,OAAO,CAAQ;KAAI;;AAFtB,cAAI,CAAA,IAAA,GAAG,0BAA0B,CAAC;MAKvC,SAAS,CAAA;AAGpB,IAAA,WAAA,CAAmB,OAAsC,EAAA;AAAtC,QAAA,IAAO,CAAA,OAAA,GAAP,OAAO,CAA+B;KAAI;;AAF7C,SAAI,CAAA,IAAA,GAAG,oBAAoB;;MC9ChC,cAAc,CAAA;AACzB,IAAA,MAAM,CAAC,KAAU,EAAE,KAAU,EAAE,IAAsB,EAAA;AACnD,QAAA,MAAM,IAAI,GAAG,yBAAyB,CAAC,KAAK,CAAC,CAAC;QAE9C,IAAI,SAAS,GAAG,KAAK,CAAC;AAEtB,QAAA,IAAI,IAAI,KAAK,eAAe,CAAC,IAAI,IAAI,IAAI,KAAK,UAAU,CAAC,IAAI,IAAI,IAAI,KAAK,SAAS,CAAC,IAAI,EAAE;AACxF,YAAA,MAAM,EAAE,KAAK,EAAE,GAAG,KAAK,CAAC,OAAO,CAAC;AAChC,YAAA,MAAM,YAAY,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;AACvC,kBAAE,KAAK,CAAC,KAAK,EAAE;AACf,kBAAE,YAAY,CAAC,KAAK,CAAC;AACrB,wCAAO,KAAK,CAAA,GACV,KAAK,CAAC;YACV,MAAM,IAAI,GAAG,IAAI,CAAC,wBAAwB,CAAC,KAAK,CAAC,CAAC;YAClD,SAAS,GAAG,QAAQ,CAAC,SAAS,EAAE,IAAI,EAAE,YAAY,CAAC,CAAC;AACrD,SAAA;AAED,QAAA,IAAI,IAAI,KAAK,SAAS,CAAC,IAAI,EAAE;AAC3B,YAAA,MAAM,KAAK,GAAG,QAAQ,CAAC,SAAS,EAAE,CAAA,EAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAA,MAAA,CAAQ,CAAC,CAAC;AACjE,YAAA,SAAS,GAAG,QAAQ,CAAC,SAAS,EAAE,CAAA,EAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAA,CAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;AAC5E,SAAA;QAED,IAAI,IAAI,KAAK,gBAAgB,CAAC,IAAI,IAAI,IAAI,KAAK,UAAU,CAAC,IAAI,EAAE;AAC9D,YAAA,SAAS,GAAG,QAAQ,CAAC,SAAS,EAAE,CAAA,EAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAA,OAAA,CAAS,EAAE,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;AACvF,SAAA;QAED,IAAI,IAAI,KAAK,gBAAgB,CAAC,IAAI,IAAI,IAAI,KAAK,UAAU,CAAC,IAAI,EAAE;AAC9D,YAAA,SAAS,GAAG,QAAQ,CAAC,SAAS,EAAE,CAAA,EAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAA,OAAA,CAAS,oBACzD,KAAK,CAAC,OAAO,CAAC,MAAM,EACvB,CAAC;AACJ,SAAA;QAED,IAAI,IAAI,KAAK,eAAe,CAAC,IAAI,IAAI,IAAI,KAAK,UAAU,CAAC,IAAI,EAAE;AAC7D,YAAA,SAAS,GAAG,QAAQ,CAAC,SAAS,EAAE,CAAA,EAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAA,MAAA,CAAQ,EAAE,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AACrF,SAAA;AAED,QAAA,IAAI,IAAI,KAAK,YAAY,CAAC,IAAI,EAAE;AAC9B,YAAA,SAAS,GAAG,QAAQ,CAAC,SAAS,EAAE,CAAA,EAAG,KAAK,CAAC,OAAO,CAAA,MAAA,CAAQ,EAAE,IAAI,CAAC,CAAC;AACjE,SAAA;AAED,QAAA,IAAI,IAAI,KAAK,eAAe,CAAC,IAAI,EAAE;AACjC,YAAA,SAAS,GAAG,QAAQ,CAAC,SAAS,EAAE,CAAA,EAAG,KAAK,CAAC,OAAO,CAAA,MAAA,CAAQ,EAAE,KAAK,CAAC,CAAC;AAClE,SAAA;AAED,QAAA,IAAI,IAAI,KAAK,eAAe,CAAC,IAAI,EAAE;AACjC,YAAA,SAAS,GAAG,QAAQ,CAAC,SAAS,EAAE,CAAA,EAAG,KAAK,CAAC,OAAO,CAAA,SAAA,CAAW,EAAE,IAAI,CAAC,CAAC;AACpE,SAAA;AAED,QAAA,IAAI,IAAI,KAAK,cAAc,CAAC,IAAI,EAAE;AAChC,YAAA,SAAS,GAAG,QAAQ,CAAC,SAAS,EAAE,CAAA,EAAG,KAAK,CAAC,OAAO,CAAA,SAAA,CAAW,EAAE,KAAK,CAAC,CAAC;AACrE,SAAA;AAED,QAAA,OAAO,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;KAC/B;IAEO,wBAAwB,CAAC,EAAE,OAAO,EAAmB,EAAA;AAC3D,QAAA,IAAI,IAAI,GAAG,CAAA,EAAG,OAAO,CAAC,IAAI,QAAQ,CAAC;QAEnC,IAAI,OAAO,CAAC,YAAY,EAAE;AACxB,YAAA,IAAI,IAAI,CAAI,CAAA,EAAA,OAAO,CAAC,YAAY,EAAE,CAAC;AACpC,SAAA;AAED,QAAA,OAAO,IAAI,CAAC;KACb;;8HA/DU,cAAc,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;kIAAd,cAAc,EAAA,CAAA,CAAA;2FAAd,cAAc,EAAA,UAAA,EAAA,CAAA;kBAD1B,UAAU;;AAmEX,SAAS,YAAY,CAAC,MAAe,EAAA;IACnC,OAAO,MAAM,KAAK,IAAI,IAAI,OAAO,MAAM,KAAK,QAAQ,CAAC;AACvD;;MC3Ea,iBAAiB,CAAA;AA0B5B,IAAA,WAAA,CACU,SAAkB,EAClB,MAAa,EACb,mBAAuC,EACvC,GAAsB,EAAA;AAHtB,QAAA,IAAS,CAAA,SAAA,GAAT,SAAS,CAAS;AAClB,QAAA,IAAM,CAAA,MAAA,GAAN,MAAM,CAAO;AACb,QAAA,IAAmB,CAAA,mBAAA,GAAnB,mBAAmB,CAAoB;AACvC,QAAA,IAAG,CAAA,GAAA,GAAH,GAAG,CAAmB;AA5BhC,QAAA,IAAI,CAAA,IAAA,GAAW,IAAK,CAAC;AASb,QAAA,IAAS,CAAA,SAAA,GAAG,GAAG,CAAC;AAShB,QAAA,IAAa,CAAA,aAAA,GAAG,KAAK,CAAC;AAEtB,QAAA,IAAS,CAAA,SAAA,GAAG,KAAK,CAAC;QAET,IAAA,CAAA,SAAS,GAAG,IAAI,aAAa,CAAO,CAAC,CAAC,CAAC;KAOpD;IA3BJ,IACI,QAAQ,CAAC,QAAyB,EAAA;AACpC,QAAA,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;KACnC;AACD,IAAA,IAAI,QAAQ,GAAA;QACV,OAAO,IAAI,CAAC,SAAS,CAAC;KACvB;IAGD,IACI,YAAY,CAAC,GAAY,EAAA;AAC3B,QAAA,IAAI,CAAC,aAAa,GAAG,GAAG,IAAI,IAAI,IAAI,CAAA,EAAG,GAAG,CAAA,CAAE,KAAK,OAAO,CAAC;KAC1D;AACD,IAAA,IAAI,YAAY,GAAA;QACd,OAAO,IAAI,CAAC,aAAa,CAAC;KAC3B;IAcD,QAAQ,GAAA;AACN,QAAA,IAAI,CAAC,SAAS;AACX,aAAA,IAAI,CACH,kBAAkB,CAAC,SAAS,CAAC,EAC7B,MAAM,CAAC,CAAC,MAAiB,KAAK,MAAM,CAAC,OAAO,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,CAAC,EAChE,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAC1B;aACA,SAAS,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,KAAK,EAAE,EAAa,KAAI;AAC/C,YAAA,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;AACvB,YAAA,IAAI,CAAC,2BAA2B,CAAC,IAAI,CAAC,CAAC;AACvC,YAAA,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC;AAC1B,SAAC,CAAC,CAAC;AAEL,QAAA,IAAI,CAAC,cAAc,CAAC,CAAA,EAAG,IAAI,CAAC,IAAI,CAAQ,MAAA,CAAA,CAAC,CAAC,SAAS,CAAC,KAAK,IAAG;AAC1D,YAAA,IAAI,IAAI,CAAC,SAAS,IAAI,CAAC,KAAK,EAAE;gBAC5B,OAAO;AACR,aAAA;AAED,YAAA,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;AAC5B,YAAA,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC;AAC1B,SAAC,CAAC,CAAC;AAEH,QAAA,IAAI,CAAC,cAAc,CAAC,CAAA,EAAG,IAAI,CAAC,IAAI,CAAQ,MAAA,CAAA,CAAC,CAAC,SAAS,CAAC,KAAK,IAAG;AAC1D,YAAA,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,KAAK,KAAK,IAAI,OAAO,KAAK,KAAK,SAAS,EAAE;gBAC3D,OAAO;AACR,aAAA;AAED,YAAA,IAAI,KAAK,EAAE;AACT,gBAAA,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;AACzB,aAAA;AAAM,iBAAA;AACL,gBAAA,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;AAC5B,aAAA;AAED,YAAA,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC;AAC1B,SAAC,CAAC,CAAC;;AAGH,QAAA,IAAI,CAAC,MAAM;AACR,aAAA,UAAU,CAAC,KAAK,IAAI,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;aAC/C,SAAS,CAAC,MAAK;AACd,YAAA,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC;AACnB,gBAAA,IAAI,eAAe,CAAC;oBAClB,IAAI,EAAE,IAAI,CAAC,IAAI;AACf,oBAAA,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;iBAC/B,CAAC;AACF,gBAAA,IAAI,gBAAgB,CAAC;oBACnB,IAAI,EAAE,IAAI,CAAC,IAAI;AACf,oBAAA,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM;iBACzB,CAAC;AACF,gBAAA,IAAI,eAAe,CAAC;oBAClB,IAAI,EAAE,IAAI,CAAC,IAAI;AACf,oBAAA,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK;iBACvB,CAAC;AACH,aAAA,CAAC,CAAC;AACL,SAAC,CAAC,CAAC;AAEL,QAAA,IAAI,CAAC,cAAc,CAAC,CAAA,EAAG,IAAI,CAAC,IAAI,CAAW,SAAA,CAAA,CAAC,CAAC,SAAS,CAAC,QAAQ,IAAG;AAChE,YAAA,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,KAAK,QAAQ,IAAI,OAAO,QAAQ,KAAK,SAAS,EAAE;gBACpE,OAAO;AACR,aAAA;AAED,YAAA,IAAI,QAAQ,EAAE;AACZ,gBAAA,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;AACrB,aAAA;AAAM,iBAAA;AACL,gBAAA,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;AACpB,aAAA;AAED,YAAA,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC;AAC1B,SAAC,CAAC,CAAC;AAEH,QAAA,IAAI,CAAC,mBAAmB;AACrB,aAAA,YAAa,CAAC,IAAI,CACjB,oBAAoB,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EACvE,IAAI,CAAC,cAAc,EAAE,CACtB;aACA,SAAS,CAAC,MAAK;YACd,IAAI,CAAC,2BAA2B,EAAE,CAAC;AACrC,SAAC,CAAC,CAAC;AAEL,QAAA,IAAI,CAAC,mBAAmB;aACrB,aAAc,CAAC,IAAI,CAAC,oBAAoB,EAAE,EAAE,IAAI,CAAC,cAAc,EAAE,CAAC;AAClE,aAAA,SAAS,CAAC,CAAC,MAAc,KAAI;AAC5B,YAAA,IAAI,CAAC,MAAM,CAAC,QAAQ,CAClB,IAAI,gBAAgB,CAAC;gBACnB,MAAM;gBACN,IAAI,EAAE,IAAI,CAAC,IAAI;AAChB,aAAA,CAAC,CACH,CAAC;AACJ,SAAC,CAAC,CAAC;KACN;AAED,IAAA,2BAA2B,CAAC,cAAwB,EAAA;QAClD,IAAI,IAAI,CAAC,SAAS;YAAE,OAAO;QAE3B,MAAM,KAAK,GAAG,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;AAE7D,QAAA,MAAM,OAAO,GAAU;AACrB,YAAA,IAAI,eAAe,CAAC;gBAClB,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,KAAK;aACN,CAAC;AACF,YAAA,IAAI,eAAe,CAAC;gBAClB,IAAI,EAAE,IAAI,CAAC,IAAI;AACf,gBAAA,KAAK,EAAE,IAAI,CAAC,mBAAmB,CAAC,KAAK;aACtC,CAAC;AACF,YAAA,IAAI,gBAAgB,CAAC;gBACnB,IAAI,EAAE,IAAI,CAAC,IAAI;AACf,gBAAA,MAAM,EAAE,IAAI,CAAC,mBAAmB,CAAC,MAAM;aACxC,CAAC;SACH,CAAC;AAEF,QAAA,IAAI,cAAc,EAAE;AAClB,YAAA,OAAO,CAAC,IAAI,CACV,IAAI,gBAAgB,CAAC;gBACnB,IAAI,EAAE,IAAI,CAAC,IAAI;AACf,gBAAA,MAAM,EAAE,IAAI,CAAC,mBAAmB,CAAC,MAAM;AACxC,aAAA,CAAC,CACH,CAAC;AACH,SAAA;AAED,QAAA,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QACtB,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC;YACtC,KAAK,EAAE,OAAO,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;YACrC,QAAQ,EAAE,OAAO,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;AACzC,SAAA,CAAC,CAAC;KACJ;IAED,WAAW,GAAA;AACT,QAAA,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;QAEtB,IAAI,IAAI,CAAC,YAAY,EAAE;AACrB,YAAA,IAAI,CAAC,MAAM,CAAC,QAAQ,CAClB,IAAI,UAAU,CAAC;gBACb,IAAI,EAAE,IAAI,CAAC,IAAI;AACf,gBAAA,KAAK,EAAE,IAAI;AACX,gBAAA,KAAK,EAAE,IAAI;AACX,gBAAA,MAAM,EAAE,IAAI;AACZ,gBAAA,MAAM,EAAE,IAAI;AACb,aAAA,CAAC,CACH,CAAC;AACH,SAAA;KACF;IAEO,cAAc,GAAA;AACpB,QAAA,MAAM,gBAAgB,GACpB,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,QAAQ,KAAK,QAAQ,IAAI,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC;AAE/E,QAAA,OAAO,gBAAgB;AACrB,cAAE,CAAC,MAAuB,KAAK,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;cACnE,CAAC,MAAuB,KACtB,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;KAC5E;AAED,IAAA,IAAY,IAAI,GAAA;AACd,QAAA,OAAO,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC;KACtC;AAEO,IAAA,cAAc,CAAC,IAAY,EAAA;QACjC,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,IAAI,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;KAC3F;;iIAhMU,iBAAiB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,OAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,KAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,kBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;qHAAjB,iBAAiB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,EAAA,IAAA,EAAA,CAAA,UAAA,EAAA,MAAA,CAAA,EAAA,QAAA,EAAA,CAAA,kBAAA,EAAA,UAAA,CAAA,EAAA,YAAA,EAAA,CAAA,wBAAA,EAAA,cAAA,CAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;2FAAjB,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAD7B,SAAS;YAAC,IAAA,EAAA,CAAA,EAAE,QAAQ,EAAE,YAAY,EAAE,UAAU,EAAE,IAAI,EAAE,CAAA;mLAGrD,IAAI,EAAA,CAAA;sBADH,KAAK;uBAAC,UAAU,CAAA;gBAIb,QAAQ,EAAA,CAAA;sBADX,KAAK;uBAAC,kBAAkB,CAAA;gBAUrB,YAAY,EAAA,CAAA;sBADf,KAAK;uBAAC,wBAAwB,CAAA;;;MCbpB,oBAAoB,CAAA;AAC/B,IAAA,OAAO,OAAO,GAAA;QACZ,OAAO;AACL,YAAA,QAAQ,EAAE,oBAAoB;AAC9B,YAAA,SAAS,EAAE;AACT,gBAAA;AACE,oBAAA,OAAO,EAAE,YAAY;AACrB,oBAAA,QAAQ,EAAE,cAAc;AACxB,oBAAA,KAAK,EAAE,IAAI;AACZ,iBAAA;AACF,aAAA;SACF,CAAC;KACH;;oIAZU,oBAAoB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;qIAApB,oBAAoB,EAAA,OAAA,EAAA,CAHrB,iBAAiB,CAAA,EAAA,OAAA,EAAA,CACjB,iBAAiB,CAAA,EAAA,CAAA,CAAA;qIAEhB,oBAAoB,EAAA,CAAA,CAAA;2FAApB,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBAJhC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACR,OAAO,EAAE,CAAC,iBAAiB,CAAC;oBAC5B,OAAO,EAAE,CAAC,iBAAiB,CAAC;iBAC7B,CAAA;;SAgBe,kBAAkB,GAAA;IAChC,OAAO,wBAAwB,CAAC,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;AACpE;;AChCA;;AAEG;;ACFH;;AAEG;;;;"}
|
|
@@ -0,0 +1,334 @@
|
|
|
1
|
+
import * as i0 from '@angular/core';
|
|
2
|
+
import { Injectable, Directive, Input, NgModule, makeEnvironmentProviders } from '@angular/core';
|
|
3
|
+
import * as i1 from '@ngxs/store';
|
|
4
|
+
import { getActionTypeFromInstance, setValue, getValue, ofActionDispatched, NGXS_PLUGINS, withNgxsPlugin } from '@ngxs/store';
|
|
5
|
+
import * as i2 from '@angular/forms';
|
|
6
|
+
import { ReplaySubject } from 'rxjs';
|
|
7
|
+
import { filter, takeUntil, distinctUntilChanged, debounceTime } from 'rxjs/operators';
|
|
8
|
+
|
|
9
|
+
class UpdateFormStatus {
|
|
10
|
+
constructor(payload) {
|
|
11
|
+
this.payload = payload;
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
UpdateFormStatus.type = '[Forms] Update Form Status';
|
|
15
|
+
class UpdateFormValue {
|
|
16
|
+
constructor(payload) {
|
|
17
|
+
this.payload = payload;
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
UpdateFormValue.type = '[Forms] Update Form Value';
|
|
21
|
+
class UpdateForm {
|
|
22
|
+
constructor(payload) {
|
|
23
|
+
this.payload = payload;
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
UpdateForm.type = '[Forms] Update Form';
|
|
27
|
+
class UpdateFormDirty {
|
|
28
|
+
constructor(payload) {
|
|
29
|
+
this.payload = payload;
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
UpdateFormDirty.type = '[Forms] Update Form Dirty';
|
|
33
|
+
class SetFormDirty {
|
|
34
|
+
constructor(payload) {
|
|
35
|
+
this.payload = payload;
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
SetFormDirty.type = '[Forms] Set Form Dirty';
|
|
39
|
+
class SetFormPristine {
|
|
40
|
+
constructor(payload) {
|
|
41
|
+
this.payload = payload;
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
SetFormPristine.type = '[Forms] Set Form Pristine';
|
|
45
|
+
class UpdateFormErrors {
|
|
46
|
+
constructor(payload) {
|
|
47
|
+
this.payload = payload;
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
UpdateFormErrors.type = '[Forms] Update Form Errors';
|
|
51
|
+
class SetFormDisabled {
|
|
52
|
+
constructor(payload) {
|
|
53
|
+
this.payload = payload;
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
SetFormDisabled.type = '[Forms] Set Form Disabled';
|
|
57
|
+
class SetFormEnabled {
|
|
58
|
+
constructor(payload) {
|
|
59
|
+
this.payload = payload;
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
SetFormEnabled.type = '[Forms] Set Form Enabled';
|
|
63
|
+
class ResetForm {
|
|
64
|
+
constructor(payload) {
|
|
65
|
+
this.payload = payload;
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
ResetForm.type = '[Forms] Reset Form';
|
|
69
|
+
|
|
70
|
+
class NgxsFormPlugin {
|
|
71
|
+
handle(state, event, next) {
|
|
72
|
+
const type = getActionTypeFromInstance(event);
|
|
73
|
+
let nextState = state;
|
|
74
|
+
if (type === UpdateFormValue.type || type === UpdateForm.type || type === ResetForm.type) {
|
|
75
|
+
const { value } = event.payload;
|
|
76
|
+
const payloadValue = Array.isArray(value)
|
|
77
|
+
? value.slice()
|
|
78
|
+
: isObjectLike(value)
|
|
79
|
+
? { ...value }
|
|
80
|
+
: value;
|
|
81
|
+
const path = this.joinPathWithPropertyPath(event);
|
|
82
|
+
nextState = setValue(nextState, path, payloadValue);
|
|
83
|
+
}
|
|
84
|
+
if (type === ResetForm.type) {
|
|
85
|
+
const model = getValue(nextState, `${event.payload.path}.model`);
|
|
86
|
+
nextState = setValue(nextState, `${event.payload.path}`, { model: model });
|
|
87
|
+
}
|
|
88
|
+
if (type === UpdateFormStatus.type || type === UpdateForm.type) {
|
|
89
|
+
nextState = setValue(nextState, `${event.payload.path}.status`, event.payload.status);
|
|
90
|
+
}
|
|
91
|
+
if (type === UpdateFormErrors.type || type === UpdateForm.type) {
|
|
92
|
+
nextState = setValue(nextState, `${event.payload.path}.errors`, {
|
|
93
|
+
...event.payload.errors
|
|
94
|
+
});
|
|
95
|
+
}
|
|
96
|
+
if (type === UpdateFormDirty.type || type === UpdateForm.type) {
|
|
97
|
+
nextState = setValue(nextState, `${event.payload.path}.dirty`, event.payload.dirty);
|
|
98
|
+
}
|
|
99
|
+
if (type === SetFormDirty.type) {
|
|
100
|
+
nextState = setValue(nextState, `${event.payload}.dirty`, true);
|
|
101
|
+
}
|
|
102
|
+
if (type === SetFormPristine.type) {
|
|
103
|
+
nextState = setValue(nextState, `${event.payload}.dirty`, false);
|
|
104
|
+
}
|
|
105
|
+
if (type === SetFormDisabled.type) {
|
|
106
|
+
nextState = setValue(nextState, `${event.payload}.disabled`, true);
|
|
107
|
+
}
|
|
108
|
+
if (type === SetFormEnabled.type) {
|
|
109
|
+
nextState = setValue(nextState, `${event.payload}.disabled`, false);
|
|
110
|
+
}
|
|
111
|
+
return next(nextState, event);
|
|
112
|
+
}
|
|
113
|
+
joinPathWithPropertyPath({ payload }) {
|
|
114
|
+
let path = `${payload.path}.model`;
|
|
115
|
+
if (payload.propertyPath) {
|
|
116
|
+
path += `.${payload.propertyPath}`;
|
|
117
|
+
}
|
|
118
|
+
return path;
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
/** @nocollapse */ NgxsFormPlugin.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: NgxsFormPlugin, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
122
|
+
/** @nocollapse */ NgxsFormPlugin.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: NgxsFormPlugin });
|
|
123
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: NgxsFormPlugin, decorators: [{
|
|
124
|
+
type: Injectable
|
|
125
|
+
}] });
|
|
126
|
+
function isObjectLike(target) {
|
|
127
|
+
return target !== null && typeof target === 'object';
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
class NgxsFormDirective {
|
|
131
|
+
constructor(_actions$, _store, _formGroupDirective, _cd) {
|
|
132
|
+
this._actions$ = _actions$;
|
|
133
|
+
this._store = _store;
|
|
134
|
+
this._formGroupDirective = _formGroupDirective;
|
|
135
|
+
this._cd = _cd;
|
|
136
|
+
this.path = null;
|
|
137
|
+
this._debounce = 100;
|
|
138
|
+
this._clearDestroy = false;
|
|
139
|
+
this._updating = false;
|
|
140
|
+
this._destroy$ = new ReplaySubject(1);
|
|
141
|
+
}
|
|
142
|
+
set debounce(debounce) {
|
|
143
|
+
this._debounce = Number(debounce);
|
|
144
|
+
}
|
|
145
|
+
get debounce() {
|
|
146
|
+
return this._debounce;
|
|
147
|
+
}
|
|
148
|
+
set clearDestroy(val) {
|
|
149
|
+
this._clearDestroy = val != null && `${val}` !== 'false';
|
|
150
|
+
}
|
|
151
|
+
get clearDestroy() {
|
|
152
|
+
return this._clearDestroy;
|
|
153
|
+
}
|
|
154
|
+
ngOnInit() {
|
|
155
|
+
this._actions$
|
|
156
|
+
.pipe(ofActionDispatched(ResetForm), filter((action) => action.payload.path === this.path), takeUntil(this._destroy$))
|
|
157
|
+
.subscribe(({ payload: { value } }) => {
|
|
158
|
+
this.form.reset(value);
|
|
159
|
+
this.updateFormStateWithRawValue(true);
|
|
160
|
+
this._cd.markForCheck();
|
|
161
|
+
});
|
|
162
|
+
this.getStateStream(`${this.path}.model`).subscribe(model => {
|
|
163
|
+
if (this._updating || !model) {
|
|
164
|
+
return;
|
|
165
|
+
}
|
|
166
|
+
this.form.patchValue(model);
|
|
167
|
+
this._cd.markForCheck();
|
|
168
|
+
});
|
|
169
|
+
this.getStateStream(`${this.path}.dirty`).subscribe(dirty => {
|
|
170
|
+
if (this.form.dirty === dirty || typeof dirty !== 'boolean') {
|
|
171
|
+
return;
|
|
172
|
+
}
|
|
173
|
+
if (dirty) {
|
|
174
|
+
this.form.markAsDirty();
|
|
175
|
+
}
|
|
176
|
+
else {
|
|
177
|
+
this.form.markAsPristine();
|
|
178
|
+
}
|
|
179
|
+
this._cd.markForCheck();
|
|
180
|
+
});
|
|
181
|
+
// On first state change, sync form model, status and dirty with state
|
|
182
|
+
this._store
|
|
183
|
+
.selectOnce(state => getValue(state, this.path))
|
|
184
|
+
.subscribe(() => {
|
|
185
|
+
this._store.dispatch([
|
|
186
|
+
new UpdateFormValue({
|
|
187
|
+
path: this.path,
|
|
188
|
+
value: this.form.getRawValue()
|
|
189
|
+
}),
|
|
190
|
+
new UpdateFormStatus({
|
|
191
|
+
path: this.path,
|
|
192
|
+
status: this.form.status
|
|
193
|
+
}),
|
|
194
|
+
new UpdateFormDirty({
|
|
195
|
+
path: this.path,
|
|
196
|
+
dirty: this.form.dirty
|
|
197
|
+
})
|
|
198
|
+
]);
|
|
199
|
+
});
|
|
200
|
+
this.getStateStream(`${this.path}.disabled`).subscribe(disabled => {
|
|
201
|
+
if (this.form.disabled === disabled || typeof disabled !== 'boolean') {
|
|
202
|
+
return;
|
|
203
|
+
}
|
|
204
|
+
if (disabled) {
|
|
205
|
+
this.form.disable();
|
|
206
|
+
}
|
|
207
|
+
else {
|
|
208
|
+
this.form.enable();
|
|
209
|
+
}
|
|
210
|
+
this._cd.markForCheck();
|
|
211
|
+
});
|
|
212
|
+
this._formGroupDirective
|
|
213
|
+
.valueChanges.pipe(distinctUntilChanged((a, b) => JSON.stringify(a) === JSON.stringify(b)), this.debounceChange())
|
|
214
|
+
.subscribe(() => {
|
|
215
|
+
this.updateFormStateWithRawValue();
|
|
216
|
+
});
|
|
217
|
+
this._formGroupDirective
|
|
218
|
+
.statusChanges.pipe(distinctUntilChanged(), this.debounceChange())
|
|
219
|
+
.subscribe((status) => {
|
|
220
|
+
this._store.dispatch(new UpdateFormStatus({
|
|
221
|
+
status,
|
|
222
|
+
path: this.path
|
|
223
|
+
}));
|
|
224
|
+
});
|
|
225
|
+
}
|
|
226
|
+
updateFormStateWithRawValue(withFormStatus) {
|
|
227
|
+
if (this._updating)
|
|
228
|
+
return;
|
|
229
|
+
const value = this._formGroupDirective.control.getRawValue();
|
|
230
|
+
const actions = [
|
|
231
|
+
new UpdateFormValue({
|
|
232
|
+
path: this.path,
|
|
233
|
+
value
|
|
234
|
+
}),
|
|
235
|
+
new UpdateFormDirty({
|
|
236
|
+
path: this.path,
|
|
237
|
+
dirty: this._formGroupDirective.dirty
|
|
238
|
+
}),
|
|
239
|
+
new UpdateFormErrors({
|
|
240
|
+
path: this.path,
|
|
241
|
+
errors: this._formGroupDirective.errors
|
|
242
|
+
})
|
|
243
|
+
];
|
|
244
|
+
if (withFormStatus) {
|
|
245
|
+
actions.push(new UpdateFormStatus({
|
|
246
|
+
path: this.path,
|
|
247
|
+
status: this._formGroupDirective.status
|
|
248
|
+
}));
|
|
249
|
+
}
|
|
250
|
+
this._updating = true;
|
|
251
|
+
this._store.dispatch(actions).subscribe({
|
|
252
|
+
error: () => (this._updating = false),
|
|
253
|
+
complete: () => (this._updating = false)
|
|
254
|
+
});
|
|
255
|
+
}
|
|
256
|
+
ngOnDestroy() {
|
|
257
|
+
this._destroy$.next();
|
|
258
|
+
if (this.clearDestroy) {
|
|
259
|
+
this._store.dispatch(new UpdateForm({
|
|
260
|
+
path: this.path,
|
|
261
|
+
value: null,
|
|
262
|
+
dirty: null,
|
|
263
|
+
status: null,
|
|
264
|
+
errors: null
|
|
265
|
+
}));
|
|
266
|
+
}
|
|
267
|
+
}
|
|
268
|
+
debounceChange() {
|
|
269
|
+
const skipDebounceTime = this._formGroupDirective.control.updateOn !== 'change' || this._debounce < 0;
|
|
270
|
+
return skipDebounceTime
|
|
271
|
+
? (change) => change.pipe(takeUntil(this._destroy$))
|
|
272
|
+
: (change) => change.pipe(debounceTime(this._debounce), takeUntil(this._destroy$));
|
|
273
|
+
}
|
|
274
|
+
get form() {
|
|
275
|
+
return this._formGroupDirective.form;
|
|
276
|
+
}
|
|
277
|
+
getStateStream(path) {
|
|
278
|
+
return this._store.select(state => getValue(state, path)).pipe(takeUntil(this._destroy$));
|
|
279
|
+
}
|
|
280
|
+
}
|
|
281
|
+
/** @nocollapse */ NgxsFormDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: NgxsFormDirective, deps: [{ token: i1.Actions }, { token: i1.Store }, { token: i2.FormGroupDirective }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Directive });
|
|
282
|
+
/** @nocollapse */ NgxsFormDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.4", type: NgxsFormDirective, isStandalone: true, selector: "[ngxsForm]", inputs: { path: ["ngxsForm", "path"], debounce: ["ngxsFormDebounce", "debounce"], clearDestroy: ["ngxsFormClearOnDestroy", "clearDestroy"] }, ngImport: i0 });
|
|
283
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: NgxsFormDirective, decorators: [{
|
|
284
|
+
type: Directive,
|
|
285
|
+
args: [{ selector: '[ngxsForm]', standalone: true }]
|
|
286
|
+
}], ctorParameters: function () { return [{ type: i1.Actions }, { type: i1.Store }, { type: i2.FormGroupDirective }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { path: [{
|
|
287
|
+
type: Input,
|
|
288
|
+
args: ['ngxsForm']
|
|
289
|
+
}], debounce: [{
|
|
290
|
+
type: Input,
|
|
291
|
+
args: ['ngxsFormDebounce']
|
|
292
|
+
}], clearDestroy: [{
|
|
293
|
+
type: Input,
|
|
294
|
+
args: ['ngxsFormClearOnDestroy']
|
|
295
|
+
}] } });
|
|
296
|
+
|
|
297
|
+
class NgxsFormPluginModule {
|
|
298
|
+
static forRoot() {
|
|
299
|
+
return {
|
|
300
|
+
ngModule: NgxsFormPluginModule,
|
|
301
|
+
providers: [
|
|
302
|
+
{
|
|
303
|
+
provide: NGXS_PLUGINS,
|
|
304
|
+
useClass: NgxsFormPlugin,
|
|
305
|
+
multi: true
|
|
306
|
+
}
|
|
307
|
+
]
|
|
308
|
+
};
|
|
309
|
+
}
|
|
310
|
+
}
|
|
311
|
+
/** @nocollapse */ NgxsFormPluginModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: NgxsFormPluginModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
312
|
+
/** @nocollapse */ NgxsFormPluginModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.4", ngImport: i0, type: NgxsFormPluginModule, imports: [NgxsFormDirective], exports: [NgxsFormDirective] });
|
|
313
|
+
/** @nocollapse */ NgxsFormPluginModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: NgxsFormPluginModule });
|
|
314
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: NgxsFormPluginModule, decorators: [{
|
|
315
|
+
type: NgModule,
|
|
316
|
+
args: [{
|
|
317
|
+
imports: [NgxsFormDirective],
|
|
318
|
+
exports: [NgxsFormDirective]
|
|
319
|
+
}]
|
|
320
|
+
}] });
|
|
321
|
+
function withNgxsFormPlugin() {
|
|
322
|
+
return makeEnvironmentProviders([withNgxsPlugin(NgxsFormPlugin)]);
|
|
323
|
+
}
|
|
324
|
+
|
|
325
|
+
/**
|
|
326
|
+
* The public api for consumers of @ngxs/form-plugin
|
|
327
|
+
*/
|
|
328
|
+
|
|
329
|
+
/**
|
|
330
|
+
* Generated bundle index. Do not edit.
|
|
331
|
+
*/
|
|
332
|
+
|
|
333
|
+
export { NgxsFormDirective, NgxsFormPlugin, NgxsFormPluginModule, ResetForm, SetFormDirty, SetFormDisabled, SetFormEnabled, SetFormPristine, UpdateForm, UpdateFormDirty, UpdateFormErrors, UpdateFormStatus, UpdateFormValue, withNgxsFormPlugin };
|
|
334
|
+
//# sourceMappingURL=ngxs-form-plugin.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ngxs-form-plugin.mjs","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 readonly type = '[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 readonly type = '[Forms] Update Form Value';\n\n constructor(public payload: { value: any; path: string; propertyPath?: string }) {}\n}\n\nexport class UpdateForm {\n static readonly type = '[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 readonly type = '[Forms] Update Form Dirty';\n\n constructor(public payload: { dirty: boolean | null; path: string }) {}\n}\n\nexport class SetFormDirty {\n static readonly type = '[Forms] Set Form Dirty';\n\n constructor(public payload: string) {}\n}\n\nexport class SetFormPristine {\n static readonly type = '[Forms] Set Form Pristine';\n\n constructor(public payload: string) {}\n}\n\nexport class UpdateFormErrors {\n static readonly type = '[Forms] Update Form Errors';\n\n constructor(public payload: { errors: { [k: string]: string } | null; path: string }) {}\n}\n\nexport class SetFormDisabled {\n static readonly type = '[Forms] Set Form Disabled';\n\n constructor(public payload: string) {}\n}\n\nexport class SetFormEnabled {\n static readonly type = '[Forms] Set Form Enabled';\n\n constructor(public payload: string) {}\n}\n\nexport class ResetForm {\n static readonly type = '[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, ReplaySubject } 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]', standalone: true })\nexport class NgxsFormDirective 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 ReplaySubject<void>(1);\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 {\n NgModule,\n ModuleWithProviders,\n EnvironmentProviders,\n makeEnvironmentProviders\n} from '@angular/core';\nimport { NGXS_PLUGINS, withNgxsPlugin } from '@ngxs/store';\n\nimport { NgxsFormPlugin } from './form.plugin';\nimport { NgxsFormDirective } from './directive';\n\n@NgModule({\n imports: [NgxsFormDirective],\n exports: [NgxsFormDirective]\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\nexport function withNgxsFormPlugin(): EnvironmentProviders {\n return makeEnvironmentProviders([withNgxsPlugin(NgxsFormPlugin)]);\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
|
@@ -1,23 +1,35 @@
|
|
|
1
1
|
{
|
|
2
|
-
"$schema": "../../node_modules/ng-packagr/package.schema.json",
|
|
3
2
|
"name": "@ngxs/form-plugin",
|
|
4
3
|
"description": "form plugin for @ngxs/store",
|
|
5
|
-
"version": "3.8.
|
|
6
|
-
"sideEffects":
|
|
4
|
+
"version": "3.8.2-dev.master-a75608e",
|
|
5
|
+
"sideEffects": false,
|
|
7
6
|
"peerDependencies": {
|
|
8
|
-
"@
|
|
9
|
-
"@angular/
|
|
10
|
-
"@
|
|
7
|
+
"@angular/core": ">=12.0.0 <18.0.0",
|
|
8
|
+
"@angular/forms": ">=12.0.0 <18.0.0",
|
|
9
|
+
"@ngxs/store": "^3.8.2 || ^3.8.2-dev",
|
|
11
10
|
"rxjs": ">=6.5.5"
|
|
12
11
|
},
|
|
13
|
-
"
|
|
14
|
-
"
|
|
15
|
-
"
|
|
16
|
-
"
|
|
17
|
-
"fesm2015": "fesm2015/ngxs-form-plugin.
|
|
18
|
-
"typings": "
|
|
12
|
+
"module": "fesm2015/ngxs-form-plugin.mjs",
|
|
13
|
+
"es2020": "fesm2020/ngxs-form-plugin.mjs",
|
|
14
|
+
"esm2020": "esm2020/ngxs-form-plugin.mjs",
|
|
15
|
+
"fesm2020": "fesm2020/ngxs-form-plugin.mjs",
|
|
16
|
+
"fesm2015": "fesm2015/ngxs-form-plugin.mjs",
|
|
17
|
+
"typings": "index.d.ts",
|
|
18
|
+
"exports": {
|
|
19
|
+
"./package.json": {
|
|
20
|
+
"default": "./package.json"
|
|
21
|
+
},
|
|
22
|
+
".": {
|
|
23
|
+
"types": "./index.d.ts",
|
|
24
|
+
"esm2020": "./esm2020/ngxs-form-plugin.mjs",
|
|
25
|
+
"es2020": "./fesm2020/ngxs-form-plugin.mjs",
|
|
26
|
+
"es2015": "./fesm2015/ngxs-form-plugin.mjs",
|
|
27
|
+
"node": "./fesm2015/ngxs-form-plugin.mjs",
|
|
28
|
+
"default": "./fesm2020/ngxs-form-plugin.mjs"
|
|
29
|
+
}
|
|
30
|
+
},
|
|
19
31
|
"dependencies": {
|
|
20
|
-
"tslib": "^2.
|
|
32
|
+
"tslib": "^2.3.0"
|
|
21
33
|
},
|
|
22
34
|
"repository": {
|
|
23
35
|
"type": "git",
|
|
@@ -63,4 +75,4 @@
|
|
|
63
75
|
"type": "opencollective",
|
|
64
76
|
"url": "https://opencollective.com/ngxs"
|
|
65
77
|
}
|
|
66
|
-
}
|
|
78
|
+
}
|
package/src/actions.d.ts
CHANGED
|
@@ -3,7 +3,7 @@ export declare class UpdateFormStatus {
|
|
|
3
3
|
status: string | null;
|
|
4
4
|
path: string;
|
|
5
5
|
};
|
|
6
|
-
static
|
|
6
|
+
static readonly type = "[Forms] Update Form Status";
|
|
7
7
|
constructor(payload: {
|
|
8
8
|
status: string | null;
|
|
9
9
|
path: string;
|
|
@@ -15,7 +15,7 @@ export declare class UpdateFormValue {
|
|
|
15
15
|
path: string;
|
|
16
16
|
propertyPath?: string;
|
|
17
17
|
};
|
|
18
|
-
static
|
|
18
|
+
static readonly type = "[Forms] Update Form Value";
|
|
19
19
|
constructor(payload: {
|
|
20
20
|
value: any;
|
|
21
21
|
path: string;
|
|
@@ -32,7 +32,7 @@ export declare class UpdateForm {
|
|
|
32
32
|
status: string | null;
|
|
33
33
|
path: string;
|
|
34
34
|
};
|
|
35
|
-
static
|
|
35
|
+
static readonly type = "[Forms] Update Form";
|
|
36
36
|
constructor(payload: {
|
|
37
37
|
value: any;
|
|
38
38
|
errors: {
|
|
@@ -48,7 +48,7 @@ export declare class UpdateFormDirty {
|
|
|
48
48
|
dirty: boolean | null;
|
|
49
49
|
path: string;
|
|
50
50
|
};
|
|
51
|
-
static
|
|
51
|
+
static readonly type = "[Forms] Update Form Dirty";
|
|
52
52
|
constructor(payload: {
|
|
53
53
|
dirty: boolean | null;
|
|
54
54
|
path: string;
|
|
@@ -56,12 +56,12 @@ export declare class UpdateFormDirty {
|
|
|
56
56
|
}
|
|
57
57
|
export declare class SetFormDirty {
|
|
58
58
|
payload: string;
|
|
59
|
-
static
|
|
59
|
+
static readonly type = "[Forms] Set Form Dirty";
|
|
60
60
|
constructor(payload: string);
|
|
61
61
|
}
|
|
62
62
|
export declare class SetFormPristine {
|
|
63
63
|
payload: string;
|
|
64
|
-
static
|
|
64
|
+
static readonly type = "[Forms] Set Form Pristine";
|
|
65
65
|
constructor(payload: string);
|
|
66
66
|
}
|
|
67
67
|
export declare class UpdateFormErrors {
|
|
@@ -71,7 +71,7 @@ export declare class UpdateFormErrors {
|
|
|
71
71
|
} | null;
|
|
72
72
|
path: string;
|
|
73
73
|
};
|
|
74
|
-
static
|
|
74
|
+
static readonly type = "[Forms] Update Form Errors";
|
|
75
75
|
constructor(payload: {
|
|
76
76
|
errors: {
|
|
77
77
|
[k: string]: string;
|
|
@@ -81,12 +81,12 @@ export declare class UpdateFormErrors {
|
|
|
81
81
|
}
|
|
82
82
|
export declare class SetFormDisabled {
|
|
83
83
|
payload: string;
|
|
84
|
-
static
|
|
84
|
+
static readonly type = "[Forms] Set Form Disabled";
|
|
85
85
|
constructor(payload: string);
|
|
86
86
|
}
|
|
87
87
|
export declare class SetFormEnabled {
|
|
88
88
|
payload: string;
|
|
89
|
-
static
|
|
89
|
+
static readonly type = "[Forms] Set Form Enabled";
|
|
90
90
|
constructor(payload: string);
|
|
91
91
|
}
|
|
92
92
|
export declare class ResetForm {
|
|
@@ -94,7 +94,7 @@ export declare class ResetForm {
|
|
|
94
94
|
path: string;
|
|
95
95
|
value?: any;
|
|
96
96
|
};
|
|
97
|
-
static
|
|
97
|
+
static readonly type = "[Forms] Reset Form";
|
|
98
98
|
constructor(payload: {
|
|
99
99
|
path: string;
|
|
100
100
|
value?: any;
|
package/src/directive.d.ts
CHANGED
|
@@ -2,7 +2,7 @@ import { ChangeDetectorRef, OnDestroy, OnInit } from '@angular/core';
|
|
|
2
2
|
import { FormGroupDirective } from '@angular/forms';
|
|
3
3
|
import { Actions, Store } from '@ngxs/store';
|
|
4
4
|
import * as i0 from "@angular/core";
|
|
5
|
-
export declare class
|
|
5
|
+
export declare class NgxsFormDirective implements OnInit, OnDestroy {
|
|
6
6
|
private _actions$;
|
|
7
7
|
private _store;
|
|
8
8
|
private _formGroupDirective;
|
|
@@ -23,6 +23,6 @@ export declare class FormDirective implements OnInit, OnDestroy {
|
|
|
23
23
|
private debounceChange;
|
|
24
24
|
private get form();
|
|
25
25
|
private getStateStream;
|
|
26
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<
|
|
27
|
-
static ɵdir: i0.ɵɵDirectiveDeclaration<
|
|
26
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<NgxsFormDirective, never>;
|
|
27
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<NgxsFormDirective, "[ngxsForm]", never, { "path": "ngxsForm"; "debounce": "ngxsFormDebounce"; "clearDestroy": "ngxsFormClearOnDestroy"; }, {}, never, never, true, never>;
|
|
28
28
|
}
|
package/src/form.module.d.ts
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import { ModuleWithProviders } from '@angular/core';
|
|
1
|
+
import { ModuleWithProviders, EnvironmentProviders } from '@angular/core';
|
|
2
2
|
import * as i0 from "@angular/core";
|
|
3
3
|
import * as i1 from "./directive";
|
|
4
|
-
import * as i2 from "@angular/forms";
|
|
5
4
|
export declare class NgxsFormPluginModule {
|
|
6
5
|
static forRoot(): ModuleWithProviders<NgxsFormPluginModule>;
|
|
7
6
|
static ɵfac: i0.ɵɵFactoryDeclaration<NgxsFormPluginModule, never>;
|
|
8
|
-
static ɵmod: i0.ɵɵNgModuleDeclaration<NgxsFormPluginModule,
|
|
7
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<NgxsFormPluginModule, never, [typeof i1.NgxsFormDirective], [typeof i1.NgxsFormDirective]>;
|
|
9
8
|
static ɵinj: i0.ɵɵInjectorDeclaration<NgxsFormPluginModule>;
|
|
10
9
|
}
|
|
10
|
+
export declare function withNgxsFormPlugin(): EnvironmentProviders;
|
package/src/public_api.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { NgxsFormPluginModule } from './form.module';
|
|
1
|
+
export { NgxsFormPluginModule, withNgxsFormPlugin } from './form.module';
|
|
2
2
|
export { NgxsFormPlugin } from './form.plugin';
|
|
3
|
-
export {
|
|
3
|
+
export { NgxsFormDirective } from './directive';
|
|
4
4
|
export * from './actions';
|