@ngdux/form 1.4.0 → 2.0.0
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/{esm2020 → esm2022}/index.mjs +9 -9
- package/{esm2020 → esm2022}/lib/+state/abstract-form-effects.mjs +34 -34
- package/{esm2020 → esm2022}/lib/+state/abstract-form-state.service.mjs +39 -39
- package/{esm2020 → esm2022}/lib/+state/abstract-form.facade.mjs +28 -28
- package/{esm2020 → esm2022}/lib/+state/form-actions.mjs +31 -31
- package/{esm2020 → esm2022}/lib/+state/form-reducer.mjs +29 -29
- package/{esm2020 → esm2022}/lib/+state/form-selectors.mjs +16 -16
- package/{esm2020 → esm2022}/lib/+state/form-state.mjs +15 -15
- package/{esm2020 → esm2022}/lib/models/form.model.mjs +2 -2
- package/{esm2020 → esm2022}/ngdux-form.mjs +4 -4
- package/{fesm2020 → fesm2022}/ngdux-form.mjs +164 -164
- package/{fesm2020 → fesm2022}/ngdux-form.mjs.map +1 -1
- package/index.d.ts +9 -9
- package/lib/+state/abstract-form-effects.d.ts +41 -41
- package/lib/+state/abstract-form-state.service.d.ts +15 -15
- package/lib/+state/abstract-form.facade.d.ts +19 -19
- package/lib/+state/form-actions.d.ts +2 -2
- package/lib/+state/form-reducer.d.ts +3 -3
- package/lib/+state/form-selectors.d.ts +3 -3
- package/lib/+state/form-state.d.ts +7 -7
- package/lib/models/form.model.d.ts +79 -79
- package/package.json +9 -112
- package/fesm2015/ngdux-form.mjs +0 -194
- package/fesm2015/ngdux-form.mjs.map +0 -1
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
export { RequestState } from '@ngdux/data-model-common';
|
|
2
|
-
export * from './lib/+state/abstract-form-effects';
|
|
3
|
-
export * from './lib/+state/abstract-form-state.service';
|
|
4
|
-
export * from './lib/+state/abstract-form.facade';
|
|
5
|
-
export * from './lib/+state/form-actions';
|
|
6
|
-
export * from './lib/+state/form-reducer';
|
|
7
|
-
export * from './lib/+state/form-selectors';
|
|
8
|
-
export * from './lib/+state/form-state';
|
|
9
|
-
export * from './lib/models/form.model';
|
|
1
|
+
export { RequestState } from '@ngdux/data-model-common';
|
|
2
|
+
export * from './lib/+state/abstract-form-effects';
|
|
3
|
+
export * from './lib/+state/abstract-form-state.service';
|
|
4
|
+
export * from './lib/+state/abstract-form.facade';
|
|
5
|
+
export * from './lib/+state/form-actions';
|
|
6
|
+
export * from './lib/+state/form-reducer';
|
|
7
|
+
export * from './lib/+state/form-selectors';
|
|
8
|
+
export * from './lib/+state/form-state';
|
|
9
|
+
export * from './lib/models/form.model';
|
|
10
10
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL25nZHV4L3V0aWwvc3RvcmUvZm9ybS9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUF3QyxZQUFZLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUM5RixjQUFjLG9DQUFvQyxDQUFDO0FBQ25ELGNBQWMsMENBQTBDLENBQUM7QUFDekQsY0FBYyxtQ0FBbUMsQ0FBQztBQUNsRCxjQUFjLDJCQUEyQixDQUFDO0FBQzFDLGNBQWMsMkJBQTJCLENBQUM7QUFDMUMsY0FBYyw2QkFBNkIsQ0FBQztBQUM1QyxjQUFjLHlCQUF5QixDQUFDO0FBQ3hDLGNBQWMseUJBQXlCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgeyBGb3JtTm90aWZpY2F0aW9uU2VydmljZSwgRm9ybVNlcnZpY2UsIFJlcXVlc3RTdGF0ZSB9IGZyb20gJ0BuZ2R1eC9kYXRhLW1vZGVsLWNvbW1vbic7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliLytzdGF0ZS9hYnN0cmFjdC1mb3JtLWVmZmVjdHMnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi8rc3RhdGUvYWJzdHJhY3QtZm9ybS1zdGF0ZS5zZXJ2aWNlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvK3N0YXRlL2Fic3RyYWN0LWZvcm0uZmFjYWRlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvK3N0YXRlL2Zvcm0tYWN0aW9ucyc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliLytzdGF0ZS9mb3JtLXJlZHVjZXInO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi8rc3RhdGUvZm9ybS1zZWxlY3RvcnMnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi8rc3RhdGUvZm9ybS1zdGF0ZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9mb3JtLm1vZGVsJztcclxuIl19
|
|
@@ -1,35 +1,35 @@
|
|
|
1
|
-
import { createEffect, ofType } from '@ngrx/effects';
|
|
2
|
-
import { of } from 'rxjs';
|
|
3
|
-
import { catchError, exhaustMap, map, switchMap, tap } from 'rxjs/operators';
|
|
4
|
-
export class AbstractFormEffects {
|
|
5
|
-
constructor(actions$, store, service, formActions, notificationService) {
|
|
6
|
-
this.actions$ = actions$;
|
|
7
|
-
this.store = store;
|
|
8
|
-
this.service = service;
|
|
9
|
-
this.formActions = formActions;
|
|
10
|
-
this.notificationService = notificationService;
|
|
11
|
-
this.load$ = createEffect(() => this.actions$.pipe(ofType(this.formActions.load), switchMap(({ id }) => this.service.loadResource(id).pipe(map(resource => this.formActions.loadSuccess({ resource })), catchError((errors) => of(this.formActions.loadFailure({ errors })))))));
|
|
12
|
-
this.create$ = createEffect(() => this.actions$.pipe(ofType(this.formActions.create), switchMap(action => {
|
|
13
|
-
if (!this.service.createResource) {
|
|
14
|
-
throw new Error('createResource not implement in the ListService');
|
|
15
|
-
}
|
|
16
|
-
return this.service.createResource(action.resource).pipe(map(resource => this.formActions.createSuccess({ resource })), catchError((errors) => of(this.formActions.createFailure({ errors }))));
|
|
17
|
-
})));
|
|
18
|
-
this.update$ = createEffect(() => this.actions$.pipe(ofType(this.formActions.save), switchMap(({ resource }) => {
|
|
19
|
-
if (!this.service.saveResource) {
|
|
20
|
-
throw new Error('saveResource not implement in the ListService');
|
|
21
|
-
}
|
|
22
|
-
return this.service.saveResource(resource).pipe(map(response => this.formActions.saveSuccess({ resource: response })), catchError((errors) => of(this.formActions.saveFailure({ errors }))));
|
|
23
|
-
})));
|
|
24
|
-
this.delete$ = createEffect(() => this.actions$.pipe(ofType(this.formActions.delete), exhaustMap(action => {
|
|
25
|
-
if (!this.service.deleteResource) {
|
|
26
|
-
throw new Error('deleteResource not implement in the ListService');
|
|
27
|
-
}
|
|
28
|
-
return this.service.deleteResource(action.id).pipe(map(() => this.formActions.deleteSuccess({ id: action.id })), catchError((errors) => of(this.formActions.deleteFailure({ errors }))));
|
|
29
|
-
})));
|
|
30
|
-
this.errorsHandler$ = createEffect(() => this.actions$.pipe(ofType(this.formActions.saveFailure, this.formActions.loadFailure, this.formActions.deleteFailure, this.formActions.createFailure), tap(({ errors }) => {
|
|
31
|
-
this.notificationService.onFormErrors(errors);
|
|
32
|
-
})), { dispatch: false });
|
|
33
|
-
}
|
|
34
|
-
}
|
|
1
|
+
import { createEffect, ofType } from '@ngrx/effects';
|
|
2
|
+
import { of } from 'rxjs';
|
|
3
|
+
import { catchError, exhaustMap, map, switchMap, tap } from 'rxjs/operators';
|
|
4
|
+
export class AbstractFormEffects {
|
|
5
|
+
constructor(actions$, store, service, formActions, notificationService) {
|
|
6
|
+
this.actions$ = actions$;
|
|
7
|
+
this.store = store;
|
|
8
|
+
this.service = service;
|
|
9
|
+
this.formActions = formActions;
|
|
10
|
+
this.notificationService = notificationService;
|
|
11
|
+
this.load$ = createEffect(() => this.actions$.pipe(ofType(this.formActions.load), switchMap(({ id }) => this.service.loadResource(id).pipe(map(resource => this.formActions.loadSuccess({ resource })), catchError((errors) => of(this.formActions.loadFailure({ errors })))))));
|
|
12
|
+
this.create$ = createEffect(() => this.actions$.pipe(ofType(this.formActions.create), switchMap(action => {
|
|
13
|
+
if (!this.service.createResource) {
|
|
14
|
+
throw new Error('createResource not implement in the ListService');
|
|
15
|
+
}
|
|
16
|
+
return this.service.createResource(action.resource).pipe(map(resource => this.formActions.createSuccess({ resource })), catchError((errors) => of(this.formActions.createFailure({ errors }))));
|
|
17
|
+
})));
|
|
18
|
+
this.update$ = createEffect(() => this.actions$.pipe(ofType(this.formActions.save), switchMap(({ resource }) => {
|
|
19
|
+
if (!this.service.saveResource) {
|
|
20
|
+
throw new Error('saveResource not implement in the ListService');
|
|
21
|
+
}
|
|
22
|
+
return this.service.saveResource(resource).pipe(map(response => this.formActions.saveSuccess({ resource: response })), catchError((errors) => of(this.formActions.saveFailure({ errors }))));
|
|
23
|
+
})));
|
|
24
|
+
this.delete$ = createEffect(() => this.actions$.pipe(ofType(this.formActions.delete), exhaustMap(action => {
|
|
25
|
+
if (!this.service.deleteResource) {
|
|
26
|
+
throw new Error('deleteResource not implement in the ListService');
|
|
27
|
+
}
|
|
28
|
+
return this.service.deleteResource(action.id).pipe(map(() => this.formActions.deleteSuccess({ id: action.id })), catchError((errors) => of(this.formActions.deleteFailure({ errors }))));
|
|
29
|
+
})));
|
|
30
|
+
this.errorsHandler$ = createEffect(() => this.actions$.pipe(ofType(this.formActions.saveFailure, this.formActions.loadFailure, this.formActions.deleteFailure, this.formActions.createFailure), tap(({ errors }) => {
|
|
31
|
+
this.notificationService.onFormErrors(errors);
|
|
32
|
+
})), { dispatch: false });
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
35
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJzdHJhY3QtZm9ybS1lZmZlY3RzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9uZ2R1eC91dGlsL3N0b3JlL2Zvcm0vc3JjL2xpYi8rc3RhdGUvYWJzdHJhY3QtZm9ybS1lZmZlY3RzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBVyxZQUFZLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTlELE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDMUIsT0FBTyxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUc3RSxNQUFNLE9BQWdCLG1CQUFtQjtJQTZFdkMsWUFDcUIsUUFBaUIsRUFDakIsS0FBWSxFQUNkLE9BQXFDLEVBQ3JDLFdBQWdELEVBQ2hELG1CQUFtRDtRQUpqRCxhQUFRLEdBQVIsUUFBUSxDQUFTO1FBQ2pCLFVBQUssR0FBTCxLQUFLLENBQU87UUFDZCxZQUFPLEdBQVAsT0FBTyxDQUE4QjtRQUNyQyxnQkFBVyxHQUFYLFdBQVcsQ0FBcUM7UUFDaEQsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUFnQztRQWpGdEUsVUFBSyxHQUFHLFlBQVksQ0FBQyxHQUFHLEVBQUUsQ0FDeEIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQ2hCLE1BQU0sQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxFQUM3QixTQUFTLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsQ0FDbkIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUNoQyxHQUFHLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLFdBQVcsQ0FBQyxFQUFFLFFBQVEsRUFBRSxDQUFDLENBQUMsRUFDM0QsVUFBVSxDQUFDLENBQUMsTUFBYSxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxXQUFXLENBQUMsRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FDNUUsQ0FDRixDQUNGLENBQ0YsQ0FBQztRQUVGLFlBQU8sR0FBRyxZQUFZLENBQUMsR0FBRyxFQUFFLENBQzFCLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUNoQixNQUFNLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsRUFDL0IsU0FBUyxDQUFDLE1BQU0sQ0FBQyxFQUFFO1lBQ2pCLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLGNBQWMsRUFBRTtnQkFDaEMsTUFBTSxJQUFJLEtBQUssQ0FBQyxpREFBaUQsQ0FBQyxDQUFDO2FBQ3BFO1lBRUQsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsSUFBSSxDQUN0RCxHQUFHLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FBQyxFQUFFLFFBQVEsRUFBRSxDQUFDLENBQUMsRUFDN0QsVUFBVSxDQUFDLENBQUMsTUFBYSxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxhQUFhLENBQUMsRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FDOUUsQ0FBQztRQUNKLENBQUMsQ0FBQyxDQUNILENBQ0YsQ0FBQztRQUVGLFlBQU8sR0FBRyxZQUFZLENBQUMsR0FBRyxFQUFFLENBQzFCLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUNoQixNQUFNLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsRUFDN0IsU0FBUyxDQUFDLENBQUMsRUFBRSxRQUFRLEVBQUUsRUFBRSxFQUFFO1lBQ3pCLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVksRUFBRTtnQkFDOUIsTUFBTSxJQUFJLEtBQUssQ0FBQywrQ0FBK0MsQ0FBQyxDQUFDO2FBQ2xFO1lBRUQsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsQ0FBQyxJQUFJLENBQzdDLEdBQUcsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsV0FBVyxDQUFDLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxDQUFDLENBQUMsRUFDckUsVUFBVSxDQUFDLENBQUMsTUFBYSxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxXQUFXLENBQUMsRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FDNUUsQ0FBQztRQUNKLENBQUMsQ0FBQyxDQUNILENBQ0YsQ0FBQztRQUVGLFlBQU8sR0FBRyxZQUFZLENBQUMsR0FBRyxFQUFFLENBQzFCLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUNoQixNQUFNLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsRUFDL0IsVUFBVSxDQUFDLE1BQU0sQ0FBQyxFQUFFO1lBQ2xCLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLGNBQWMsRUFBRTtnQkFDaEMsTUFBTSxJQUFJLEtBQUssQ0FBQyxpREFBaUQsQ0FBQyxDQUFDO2FBQ3BFO1lBRUQsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUNoRCxHQUFHLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxhQUFhLENBQUMsRUFBRSxFQUFFLEVBQUUsTUFBTSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFDNUQsVUFBVSxDQUFDLENBQUMsTUFBYSxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxhQUFhLENBQUMsRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FDOUUsQ0FBQztRQUNKLENBQUMsQ0FBQyxDQUNILENBQ0YsQ0FBQztRQUVGLG1CQUFjLEdBQUcsWUFBWSxDQUMzQixHQUFHLEVBQUUsQ0FDSCxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FDaEIsTUFBTSxDQUNKLElBQUksQ0FBQyxXQUFXLENBQUMsV0FBVyxFQUM1QixJQUFJLENBQUMsV0FBVyxDQUFDLFdBQVcsRUFDNUIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxhQUFhLEVBQzlCLElBQUksQ0FBQyxXQUFXLENBQUMsYUFBYSxDQUMvQixFQUNELEdBQUcsQ0FBQyxDQUFDLEVBQUUsTUFBTSxFQUFFLEVBQUUsRUFBRTtZQUNqQixJQUFJLENBQUMsbUJBQW1CLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ2hELENBQUMsQ0FBQyxDQUNILEVBQ0gsRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLENBQ3BCLENBQUM7SUFRQyxDQUFDO0NBQ0wiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGb3JtTm90aWZpY2F0aW9uU2VydmljZSwgRm9ybVNlcnZpY2UgfSBmcm9tICdAbmdkdXgvZGF0YS1tb2RlbC1jb21tb24nO1xyXG5pbXBvcnQgeyBBY3Rpb25zLCBjcmVhdGVFZmZlY3QsIG9mVHlwZSB9IGZyb20gJ0BuZ3J4L2VmZmVjdHMnO1xyXG5pbXBvcnQgeyBTdG9yZSB9IGZyb20gJ0BuZ3J4L3N0b3JlJztcclxuaW1wb3J0IHsgb2YgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgY2F0Y2hFcnJvciwgZXhoYXVzdE1hcCwgbWFwLCBzd2l0Y2hNYXAsIHRhcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgRm9ybUFjdGlvbnMgfSBmcm9tICcuLi9tb2RlbHMvZm9ybS5tb2RlbCc7XHJcblxyXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQWJzdHJhY3RGb3JtRWZmZWN0czxEVE8sIEVSUk9SLCBDUkVBVEVfRFRPID0gRFRPPiB7XHJcbiAgbG9hZCQgPSBjcmVhdGVFZmZlY3QoKCkgPT5cclxuICAgIHRoaXMuYWN0aW9ucyQucGlwZShcclxuICAgICAgb2ZUeXBlKHRoaXMuZm9ybUFjdGlvbnMubG9hZCksXHJcbiAgICAgIHN3aXRjaE1hcCgoeyBpZCB9KSA9PlxyXG4gICAgICAgIHRoaXMuc2VydmljZS5sb2FkUmVzb3VyY2UoaWQpLnBpcGUoXHJcbiAgICAgICAgICBtYXAocmVzb3VyY2UgPT4gdGhpcy5mb3JtQWN0aW9ucy5sb2FkU3VjY2Vzcyh7IHJlc291cmNlIH0pKSxcclxuICAgICAgICAgIGNhdGNoRXJyb3IoKGVycm9yczogRVJST1IpID0+IG9mKHRoaXMuZm9ybUFjdGlvbnMubG9hZEZhaWx1cmUoeyBlcnJvcnMgfSkpKVxyXG4gICAgICAgIClcclxuICAgICAgKVxyXG4gICAgKVxyXG4gICk7XHJcblxyXG4gIGNyZWF0ZSQgPSBjcmVhdGVFZmZlY3QoKCkgPT5cclxuICAgIHRoaXMuYWN0aW9ucyQucGlwZShcclxuICAgICAgb2ZUeXBlKHRoaXMuZm9ybUFjdGlvbnMuY3JlYXRlKSxcclxuICAgICAgc3dpdGNoTWFwKGFjdGlvbiA9PiB7XHJcbiAgICAgICAgaWYgKCF0aGlzLnNlcnZpY2UuY3JlYXRlUmVzb3VyY2UpIHtcclxuICAgICAgICAgIHRocm93IG5ldyBFcnJvcignY3JlYXRlUmVzb3VyY2Ugbm90IGltcGxlbWVudCBpbiB0aGUgTGlzdFNlcnZpY2UnKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHJldHVybiB0aGlzLnNlcnZpY2UuY3JlYXRlUmVzb3VyY2UoYWN0aW9uLnJlc291cmNlKS5waXBlKFxyXG4gICAgICAgICAgbWFwKHJlc291cmNlID0+IHRoaXMuZm9ybUFjdGlvbnMuY3JlYXRlU3VjY2Vzcyh7IHJlc291cmNlIH0pKSxcclxuICAgICAgICAgIGNhdGNoRXJyb3IoKGVycm9yczogRVJST1IpID0+IG9mKHRoaXMuZm9ybUFjdGlvbnMuY3JlYXRlRmFpbHVyZSh7IGVycm9ycyB9KSkpXHJcbiAgICAgICAgKTtcclxuICAgICAgfSlcclxuICAgIClcclxuICApO1xyXG5cclxuICB1cGRhdGUkID0gY3JlYXRlRWZmZWN0KCgpID0+XHJcbiAgICB0aGlzLmFjdGlvbnMkLnBpcGUoXHJcbiAgICAgIG9mVHlwZSh0aGlzLmZvcm1BY3Rpb25zLnNhdmUpLFxyXG4gICAgICBzd2l0Y2hNYXAoKHsgcmVzb3VyY2UgfSkgPT4ge1xyXG4gICAgICAgIGlmICghdGhpcy5zZXJ2aWNlLnNhdmVSZXNvdXJjZSkge1xyXG4gICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdzYXZlUmVzb3VyY2Ugbm90IGltcGxlbWVudCBpbiB0aGUgTGlzdFNlcnZpY2UnKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHJldHVybiB0aGlzLnNlcnZpY2Uuc2F2ZVJlc291cmNlKHJlc291cmNlKS5waXBlKFxyXG4gICAgICAgICAgbWFwKHJlc3BvbnNlID0+IHRoaXMuZm9ybUFjdGlvbnMuc2F2ZVN1Y2Nlc3MoeyByZXNvdXJjZTogcmVzcG9uc2UgfSkpLFxyXG4gICAgICAgICAgY2F0Y2hFcnJvcigoZXJyb3JzOiBFUlJPUikgPT4gb2YodGhpcy5mb3JtQWN0aW9ucy5zYXZlRmFpbHVyZSh7IGVycm9ycyB9KSkpXHJcbiAgICAgICAgKTtcclxuICAgICAgfSlcclxuICAgIClcclxuICApO1xyXG5cclxuICBkZWxldGUkID0gY3JlYXRlRWZmZWN0KCgpID0+XHJcbiAgICB0aGlzLmFjdGlvbnMkLnBpcGUoXHJcbiAgICAgIG9mVHlwZSh0aGlzLmZvcm1BY3Rpb25zLmRlbGV0ZSksXHJcbiAgICAgIGV4aGF1c3RNYXAoYWN0aW9uID0+IHtcclxuICAgICAgICBpZiAoIXRoaXMuc2VydmljZS5kZWxldGVSZXNvdXJjZSkge1xyXG4gICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdkZWxldGVSZXNvdXJjZSBub3QgaW1wbGVtZW50IGluIHRoZSBMaXN0U2VydmljZScpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgcmV0dXJuIHRoaXMuc2VydmljZS5kZWxldGVSZXNvdXJjZShhY3Rpb24uaWQpLnBpcGUoXHJcbiAgICAgICAgICBtYXAoKCkgPT4gdGhpcy5mb3JtQWN0aW9ucy5kZWxldGVTdWNjZXNzKHsgaWQ6IGFjdGlvbi5pZCB9KSksXHJcbiAgICAgICAgICBjYXRjaEVycm9yKChlcnJvcnM6IEVSUk9SKSA9PiBvZih0aGlzLmZvcm1BY3Rpb25zLmRlbGV0ZUZhaWx1cmUoeyBlcnJvcnMgfSkpKVxyXG4gICAgICAgICk7XHJcbiAgICAgIH0pXHJcbiAgICApXHJcbiAgKTtcclxuXHJcbiAgZXJyb3JzSGFuZGxlciQgPSBjcmVhdGVFZmZlY3QoXHJcbiAgICAoKSA9PlxyXG4gICAgICB0aGlzLmFjdGlvbnMkLnBpcGUoXHJcbiAgICAgICAgb2ZUeXBlKFxyXG4gICAgICAgICAgdGhpcy5mb3JtQWN0aW9ucy5zYXZlRmFpbHVyZSxcclxuICAgICAgICAgIHRoaXMuZm9ybUFjdGlvbnMubG9hZEZhaWx1cmUsXHJcbiAgICAgICAgICB0aGlzLmZvcm1BY3Rpb25zLmRlbGV0ZUZhaWx1cmUsXHJcbiAgICAgICAgICB0aGlzLmZvcm1BY3Rpb25zLmNyZWF0ZUZhaWx1cmVcclxuICAgICAgICApLFxyXG4gICAgICAgIHRhcCgoeyBlcnJvcnMgfSkgPT4ge1xyXG4gICAgICAgICAgdGhpcy5ub3RpZmljYXRpb25TZXJ2aWNlLm9uRm9ybUVycm9ycyhlcnJvcnMpO1xyXG4gICAgICAgIH0pXHJcbiAgICAgICksXHJcbiAgICB7IGRpc3BhdGNoOiBmYWxzZSB9XHJcbiAgKTtcclxuXHJcbiAgcHJvdGVjdGVkIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGFjdGlvbnMkOiBBY3Rpb25zLFxyXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IHN0b3JlOiBTdG9yZSxcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgc2VydmljZTogRm9ybVNlcnZpY2U8RFRPLCBDUkVBVEVfRFRPPixcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgZm9ybUFjdGlvbnM6IEZvcm1BY3Rpb25zPERUTywgRVJST1IsIENSRUFURV9EVE8+LFxyXG4gICAgcHJpdmF0ZSByZWFkb25seSBub3RpZmljYXRpb25TZXJ2aWNlOiBGb3JtTm90aWZpY2F0aW9uU2VydmljZTxFUlJPUj5cclxuICApIHt9XHJcbn1cclxuIl19
|
|
@@ -1,39 +1,39 @@
|
|
|
1
|
-
import { Inject, Injectable } from '@angular/core';
|
|
2
|
-
import { ReducerManager, createFeatureSelector } from '@ngrx/store';
|
|
3
|
-
import { FORM_FEATURE_KEY } from '../models/form.model';
|
|
4
|
-
import { createFormActions } from './form-actions';
|
|
5
|
-
import { createFormReducer } from './form-reducer';
|
|
6
|
-
import { createFormSelectors } from './form-selectors';
|
|
7
|
-
import * as i0 from "@angular/core";
|
|
8
|
-
import * as i1 from "@ngrx/store";
|
|
9
|
-
export class AbstractFormReducerManager {
|
|
10
|
-
constructor(reducerManager, featureKey) {
|
|
11
|
-
this.reducerManager = reducerManager;
|
|
12
|
-
this.featureKey = featureKey;
|
|
13
|
-
this.actions = this.getActions();
|
|
14
|
-
this.addReducer();
|
|
15
|
-
this.selectors = this.getSelectors();
|
|
16
|
-
}
|
|
17
|
-
getActions() {
|
|
18
|
-
return createFormActions(this.featureKey);
|
|
19
|
-
}
|
|
20
|
-
addReducer() {
|
|
21
|
-
if (!this.reducerManager.currentReducers[this.featureKey]) {
|
|
22
|
-
const reducer = createFormReducer(this.actions);
|
|
23
|
-
this.reducerManager.addReducer(this.featureKey, reducer);
|
|
24
|
-
}
|
|
25
|
-
}
|
|
26
|
-
getSelectors() {
|
|
27
|
-
const getState = createFeatureSelector(this.featureKey);
|
|
28
|
-
return createFormSelectors(getState);
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
34
|
-
type: Injectable
|
|
35
|
-
}], ctorParameters: function () { return [{ type: i1.ReducerManager }, { type: undefined, decorators: [{
|
|
36
|
-
type: Inject,
|
|
37
|
-
args: [FORM_FEATURE_KEY]
|
|
38
|
-
}] }]; } });
|
|
39
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
import { Inject, Injectable } from '@angular/core';
|
|
2
|
+
import { ReducerManager, createFeatureSelector } from '@ngrx/store';
|
|
3
|
+
import { FORM_FEATURE_KEY } from '../models/form.model';
|
|
4
|
+
import { createFormActions } from './form-actions';
|
|
5
|
+
import { createFormReducer } from './form-reducer';
|
|
6
|
+
import { createFormSelectors } from './form-selectors';
|
|
7
|
+
import * as i0 from "@angular/core";
|
|
8
|
+
import * as i1 from "@ngrx/store";
|
|
9
|
+
export class AbstractFormReducerManager {
|
|
10
|
+
constructor(reducerManager, featureKey) {
|
|
11
|
+
this.reducerManager = reducerManager;
|
|
12
|
+
this.featureKey = featureKey;
|
|
13
|
+
this.actions = this.getActions();
|
|
14
|
+
this.addReducer();
|
|
15
|
+
this.selectors = this.getSelectors();
|
|
16
|
+
}
|
|
17
|
+
getActions() {
|
|
18
|
+
return createFormActions(this.featureKey);
|
|
19
|
+
}
|
|
20
|
+
addReducer() {
|
|
21
|
+
if (!this.reducerManager.currentReducers[this.featureKey]) {
|
|
22
|
+
const reducer = createFormReducer(this.actions);
|
|
23
|
+
this.reducerManager.addReducer(this.featureKey, reducer);
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
getSelectors() {
|
|
27
|
+
const getState = createFeatureSelector(this.featureKey);
|
|
28
|
+
return createFormSelectors(getState);
|
|
29
|
+
}
|
|
30
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AbstractFormReducerManager, deps: [{ token: i1.ReducerManager }, { token: FORM_FEATURE_KEY }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
31
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AbstractFormReducerManager }); }
|
|
32
|
+
}
|
|
33
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AbstractFormReducerManager, decorators: [{
|
|
34
|
+
type: Injectable
|
|
35
|
+
}], ctorParameters: function () { return [{ type: i1.ReducerManager }, { type: undefined, decorators: [{
|
|
36
|
+
type: Inject,
|
|
37
|
+
args: [FORM_FEATURE_KEY]
|
|
38
|
+
}] }]; } });
|
|
39
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJzdHJhY3QtZm9ybS1zdGF0ZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9uZ2R1eC91dGlsL3N0b3JlL2Zvcm0vc3JjL2xpYi8rc3RhdGUvYWJzdHJhY3QtZm9ybS1zdGF0ZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxjQUFjLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDcEUsT0FBTyxFQUFFLGdCQUFnQixFQUF5QyxNQUFNLHNCQUFzQixDQUFDO0FBQy9GLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGtCQUFrQixDQUFDOzs7QUFHdkQsTUFBTSxPQUFnQiwwQkFBMEI7SUFJOUMsWUFDbUIsY0FBOEIsRUFDSixVQUFrQjtRQUQ1QyxtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFDSixlQUFVLEdBQVYsVUFBVSxDQUFRO1FBRTdELElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQ2pDLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUNsQixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUN2QyxDQUFDO0lBRVMsVUFBVTtRQUNsQixPQUFPLGlCQUFpQixDQUF5QixJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDcEUsQ0FBQztJQUVTLFVBQVU7UUFDbEIsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsRUFBRTtZQUN6RCxNQUFNLE9BQU8sR0FBRyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDaEQsSUFBSSxDQUFDLGNBQWMsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxPQUFPLENBQUMsQ0FBQztTQUMxRDtJQUNILENBQUM7SUFFUyxZQUFZO1FBQ3BCLE1BQU0sUUFBUSxHQUFHLHFCQUFxQixDQUF3QixJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDL0UsT0FBTyxtQkFBbUIsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUN2QyxDQUFDOytHQTNCbUIsMEJBQTBCLGdEQU1wQyxnQkFBZ0I7bUhBTk4sMEJBQTBCOzs0RkFBMUIsMEJBQTBCO2tCQUQvQyxVQUFVOzswQkFPTixNQUFNOzJCQUFDLGdCQUFnQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBSZWR1Y2VyTWFuYWdlciwgY3JlYXRlRmVhdHVyZVNlbGVjdG9yIH0gZnJvbSAnQG5ncngvc3RvcmUnO1xyXG5pbXBvcnQgeyBGT1JNX0ZFQVRVUkVfS0VZLCBGb3JtQWN0aW9ucywgRm9ybVNlbGVjdG9ycywgRm9ybVN0YXRlIH0gZnJvbSAnLi4vbW9kZWxzL2Zvcm0ubW9kZWwnO1xyXG5pbXBvcnQgeyBjcmVhdGVGb3JtQWN0aW9ucyB9IGZyb20gJy4vZm9ybS1hY3Rpb25zJztcclxuaW1wb3J0IHsgY3JlYXRlRm9ybVJlZHVjZXIgfSBmcm9tICcuL2Zvcm0tcmVkdWNlcic7XHJcbmltcG9ydCB7IGNyZWF0ZUZvcm1TZWxlY3RvcnMgfSBmcm9tICcuL2Zvcm0tc2VsZWN0b3JzJztcclxuXHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEFic3RyYWN0Rm9ybVJlZHVjZXJNYW5hZ2VyPERUTywgRVJST1IsIENSRUFURV9EVE8gPSBEVE8+IHtcclxuICBhY3Rpb25zOiBGb3JtQWN0aW9uczxEVE8sIEVSUk9SLCBDUkVBVEVfRFRPPjtcclxuICBzZWxlY3RvcnM6IEZvcm1TZWxlY3RvcnM8RFRPLCBFUlJPUj47XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSByZWFkb25seSByZWR1Y2VyTWFuYWdlcjogUmVkdWNlck1hbmFnZXIsXHJcbiAgICBASW5qZWN0KEZPUk1fRkVBVFVSRV9LRVkpIHByaXZhdGUgcmVhZG9ubHkgZmVhdHVyZUtleTogc3RyaW5nXHJcbiAgKSB7XHJcbiAgICB0aGlzLmFjdGlvbnMgPSB0aGlzLmdldEFjdGlvbnMoKTtcclxuICAgIHRoaXMuYWRkUmVkdWNlcigpO1xyXG4gICAgdGhpcy5zZWxlY3RvcnMgPSB0aGlzLmdldFNlbGVjdG9ycygpO1xyXG4gIH1cclxuXHJcbiAgcHJvdGVjdGVkIGdldEFjdGlvbnMoKSB7XHJcbiAgICByZXR1cm4gY3JlYXRlRm9ybUFjdGlvbnM8RFRPLCBFUlJPUiwgQ1JFQVRFX0RUTz4odGhpcy5mZWF0dXJlS2V5KTtcclxuICB9XHJcblxyXG4gIHByb3RlY3RlZCBhZGRSZWR1Y2VyKCkge1xyXG4gICAgaWYgKCF0aGlzLnJlZHVjZXJNYW5hZ2VyLmN1cnJlbnRSZWR1Y2Vyc1t0aGlzLmZlYXR1cmVLZXldKSB7XHJcbiAgICAgIGNvbnN0IHJlZHVjZXIgPSBjcmVhdGVGb3JtUmVkdWNlcih0aGlzLmFjdGlvbnMpO1xyXG4gICAgICB0aGlzLnJlZHVjZXJNYW5hZ2VyLmFkZFJlZHVjZXIodGhpcy5mZWF0dXJlS2V5LCByZWR1Y2VyKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByb3RlY3RlZCBnZXRTZWxlY3RvcnMoKSB7XHJcbiAgICBjb25zdCBnZXRTdGF0ZSA9IGNyZWF0ZUZlYXR1cmVTZWxlY3RvcjxGb3JtU3RhdGU8RFRPLCBFUlJPUj4+KHRoaXMuZmVhdHVyZUtleSk7XHJcbiAgICByZXR1cm4gY3JlYXRlRm9ybVNlbGVjdG9ycyhnZXRTdGF0ZSk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -1,29 +1,29 @@
|
|
|
1
|
-
import { select } from '@ngrx/store';
|
|
2
|
-
export class AbstractFormFacade {
|
|
3
|
-
constructor(store, formActions, formSelectors) {
|
|
4
|
-
this.store = store;
|
|
5
|
-
this.formActions = formActions;
|
|
6
|
-
this.formSelectors = formSelectors;
|
|
7
|
-
this.resource$ = this.store.pipe(select(this.formSelectors.getResource));
|
|
8
|
-
this.loadingState$ = this.store.pipe(select(this.formSelectors.getLoadingState));
|
|
9
|
-
this.requestState$ = this.store.pipe(select(this.formSelectors.getRequestState));
|
|
10
|
-
this.errors$ = this.store.pipe(select(this.formSelectors.getErrors));
|
|
11
|
-
this.isReady$ = this.store.pipe(select(this.formSelectors.isReady));
|
|
12
|
-
}
|
|
13
|
-
create(props) {
|
|
14
|
-
this.store.dispatch(this.formActions.create(props));
|
|
15
|
-
}
|
|
16
|
-
load(props) {
|
|
17
|
-
this.store.dispatch(this.formActions.load(props));
|
|
18
|
-
}
|
|
19
|
-
save(props) {
|
|
20
|
-
this.store.dispatch(this.formActions.save(props));
|
|
21
|
-
}
|
|
22
|
-
delete(props) {
|
|
23
|
-
this.store.dispatch(this.formActions.delete(props));
|
|
24
|
-
}
|
|
25
|
-
reset() {
|
|
26
|
-
this.store.dispatch(this.formActions.reset());
|
|
27
|
-
}
|
|
28
|
-
}
|
|
1
|
+
import { select } from '@ngrx/store';
|
|
2
|
+
export class AbstractFormFacade {
|
|
3
|
+
constructor(store, formActions, formSelectors) {
|
|
4
|
+
this.store = store;
|
|
5
|
+
this.formActions = formActions;
|
|
6
|
+
this.formSelectors = formSelectors;
|
|
7
|
+
this.resource$ = this.store.pipe(select(this.formSelectors.getResource));
|
|
8
|
+
this.loadingState$ = this.store.pipe(select(this.formSelectors.getLoadingState));
|
|
9
|
+
this.requestState$ = this.store.pipe(select(this.formSelectors.getRequestState));
|
|
10
|
+
this.errors$ = this.store.pipe(select(this.formSelectors.getErrors));
|
|
11
|
+
this.isReady$ = this.store.pipe(select(this.formSelectors.isReady));
|
|
12
|
+
}
|
|
13
|
+
create(props) {
|
|
14
|
+
this.store.dispatch(this.formActions.create(props));
|
|
15
|
+
}
|
|
16
|
+
load(props) {
|
|
17
|
+
this.store.dispatch(this.formActions.load(props));
|
|
18
|
+
}
|
|
19
|
+
save(props) {
|
|
20
|
+
this.store.dispatch(this.formActions.save(props));
|
|
21
|
+
}
|
|
22
|
+
delete(props) {
|
|
23
|
+
this.store.dispatch(this.formActions.delete(props));
|
|
24
|
+
}
|
|
25
|
+
reset() {
|
|
26
|
+
this.store.dispatch(this.formActions.reset());
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
29
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJzdHJhY3QtZm9ybS5mYWNhZGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL25nZHV4L3V0aWwvc3RvcmUvZm9ybS9zcmMvbGliLytzdGF0ZS9hYnN0cmFjdC1mb3JtLmZhY2FkZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsTUFBTSxFQUFTLE1BQU0sYUFBYSxDQUFDO0FBRzVDLE1BQU0sT0FBZ0Isa0JBQWtCO0lBT3RDLFlBQ3FCLEtBQVksRUFDZCxXQUE0QyxFQUM1QyxhQUFvQztRQUZsQyxVQUFLLEdBQUwsS0FBSyxDQUFPO1FBQ2QsZ0JBQVcsR0FBWCxXQUFXLENBQWlDO1FBQzVDLGtCQUFhLEdBQWIsYUFBYSxDQUF1QjtRQVQ5QyxjQUFTLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQztRQUNwRSxrQkFBYSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUM7UUFDNUUsa0JBQWEsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDO1FBQzVFLFlBQU8sR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDO1FBQ2hFLGFBQVEsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO0lBTXJFLENBQUM7SUFFSixNQUFNLENBQUMsS0FBK0Q7UUFDcEUsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUN0RCxDQUFDO0lBRUQsSUFBSSxDQUFDLEtBQTZEO1FBQ2hFLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDcEQsQ0FBQztJQUVELElBQUksQ0FBQyxLQUE2RDtRQUNoRSxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ3BELENBQUM7SUFFRCxNQUFNLENBQUMsS0FBK0Q7UUFDcEUsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUN0RCxDQUFDO0lBRUQsS0FBSztRQUNILElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQztJQUNoRCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBY3Rpb25QYXlsb2FkIH0gZnJvbSAnQG5nZHV4L3N0b3JlLWNvbW1vbic7XHJcbmltcG9ydCB7IHNlbGVjdCwgU3RvcmUgfSBmcm9tICdAbmdyeC9zdG9yZSc7XHJcbmltcG9ydCB7IEZvcm1BY3Rpb25zLCBGb3JtU2VsZWN0b3JzIH0gZnJvbSAnLi4vbW9kZWxzL2Zvcm0ubW9kZWwnO1xyXG5cclxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEFic3RyYWN0Rm9ybUZhY2FkZTxEVE8sIEUsIENSRUFURV9EVE8gPSBEVE8+IHtcclxuICByZWFkb25seSByZXNvdXJjZSQgPSB0aGlzLnN0b3JlLnBpcGUoc2VsZWN0KHRoaXMuZm9ybVNlbGVjdG9ycy5nZXRSZXNvdXJjZSkpO1xyXG4gIHJlYWRvbmx5IGxvYWRpbmdTdGF0ZSQgPSB0aGlzLnN0b3JlLnBpcGUoc2VsZWN0KHRoaXMuZm9ybVNlbGVjdG9ycy5nZXRMb2FkaW5nU3RhdGUpKTtcclxuICByZWFkb25seSByZXF1ZXN0U3RhdGUkID0gdGhpcy5zdG9yZS5waXBlKHNlbGVjdCh0aGlzLmZvcm1TZWxlY3RvcnMuZ2V0UmVxdWVzdFN0YXRlKSk7XHJcbiAgcmVhZG9ubHkgZXJyb3JzJCA9IHRoaXMuc3RvcmUucGlwZShzZWxlY3QodGhpcy5mb3JtU2VsZWN0b3JzLmdldEVycm9ycykpO1xyXG4gIHJlYWRvbmx5IGlzUmVhZHkkID0gdGhpcy5zdG9yZS5waXBlKHNlbGVjdCh0aGlzLmZvcm1TZWxlY3RvcnMuaXNSZWFkeSkpO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByb3RlY3RlZCByZWFkb25seSBzdG9yZTogU3RvcmUsXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IGZvcm1BY3Rpb25zOiBGb3JtQWN0aW9uczxEVE8sIEUsIENSRUFURV9EVE8+LFxyXG4gICAgcHJpdmF0ZSByZWFkb25seSBmb3JtU2VsZWN0b3JzOiBGb3JtU2VsZWN0b3JzPERUTywgRT5cclxuICApIHt9XHJcblxyXG4gIGNyZWF0ZShwcm9wczogQWN0aW9uUGF5bG9hZDxGb3JtQWN0aW9uczxEVE8sIEUsIENSRUFURV9EVE8+WydjcmVhdGUnXT4pOiB2b2lkIHtcclxuICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2godGhpcy5mb3JtQWN0aW9ucy5jcmVhdGUocHJvcHMpKTtcclxuICB9XHJcblxyXG4gIGxvYWQocHJvcHM6IEFjdGlvblBheWxvYWQ8Rm9ybUFjdGlvbnM8RFRPLCBFLCBDUkVBVEVfRFRPPlsnbG9hZCddPik6IHZvaWQge1xyXG4gICAgdGhpcy5zdG9yZS5kaXNwYXRjaCh0aGlzLmZvcm1BY3Rpb25zLmxvYWQocHJvcHMpKTtcclxuICB9XHJcblxyXG4gIHNhdmUocHJvcHM6IEFjdGlvblBheWxvYWQ8Rm9ybUFjdGlvbnM8RFRPLCBFLCBDUkVBVEVfRFRPPlsnc2F2ZSddPik6IHZvaWQge1xyXG4gICAgdGhpcy5zdG9yZS5kaXNwYXRjaCh0aGlzLmZvcm1BY3Rpb25zLnNhdmUocHJvcHMpKTtcclxuICB9XHJcblxyXG4gIGRlbGV0ZShwcm9wczogQWN0aW9uUGF5bG9hZDxGb3JtQWN0aW9uczxEVE8sIEUsIENSRUFURV9EVE8+WydkZWxldGUnXT4pOiB2b2lkIHtcclxuICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2godGhpcy5mb3JtQWN0aW9ucy5kZWxldGUocHJvcHMpKTtcclxuICB9XHJcblxyXG4gIHJlc2V0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5zdG9yZS5kaXNwYXRjaCh0aGlzLmZvcm1BY3Rpb25zLnJlc2V0KCkpO1xyXG4gIH1cclxufVxyXG4iXX0=
|
|
@@ -1,32 +1,32 @@
|
|
|
1
|
-
import { createAction, props } from '@ngrx/store';
|
|
2
|
-
export function createFormActions(featureName) {
|
|
3
|
-
const load = createAction(`[${featureName} API] Load ${featureName}`, props());
|
|
4
|
-
const loadSuccess = createAction(`[${featureName} API] Load ${featureName} Success`, props());
|
|
5
|
-
const loadFailure = createAction(`[${featureName} API] Load ${featureName} Failure`, props());
|
|
6
|
-
const save = createAction(`[${featureName} API] Save ${featureName}`, props());
|
|
7
|
-
const saveSuccess = createAction(`[${featureName} API] Save ${featureName} Success`, props());
|
|
8
|
-
const saveFailure = createAction(`[${featureName} API] Save ${featureName} Failure`, props());
|
|
9
|
-
const deleteAction = createAction(`[${featureName} API] Delete ${featureName}`, props());
|
|
10
|
-
const deleteSuccess = createAction(`[${featureName} API] Delete ${featureName} Success`, props());
|
|
11
|
-
const deleteFailure = createAction(`[${featureName} API] Delete ${featureName} Failure`, props());
|
|
12
|
-
const create = createAction(`[${featureName} API] Create ${featureName}`, props());
|
|
13
|
-
const createSuccess = createAction(`[${featureName} API] Create ${featureName} Success`, props());
|
|
14
|
-
const createFailure = createAction(`[${featureName} API] Create ${featureName} Failure`, props());
|
|
15
|
-
const reset = createAction(`[${featureName} API] Reset ${featureName}`);
|
|
16
|
-
return {
|
|
17
|
-
load,
|
|
18
|
-
loadSuccess,
|
|
19
|
-
loadFailure,
|
|
20
|
-
save,
|
|
21
|
-
saveSuccess,
|
|
22
|
-
saveFailure,
|
|
23
|
-
delete: deleteAction,
|
|
24
|
-
deleteSuccess,
|
|
25
|
-
deleteFailure,
|
|
26
|
-
create,
|
|
27
|
-
createSuccess,
|
|
28
|
-
createFailure,
|
|
29
|
-
reset
|
|
30
|
-
};
|
|
31
|
-
}
|
|
1
|
+
import { createAction, props } from '@ngrx/store';
|
|
2
|
+
export function createFormActions(featureName) {
|
|
3
|
+
const load = createAction(`[${featureName} API] Load ${featureName}`, props());
|
|
4
|
+
const loadSuccess = createAction(`[${featureName} API] Load ${featureName} Success`, props());
|
|
5
|
+
const loadFailure = createAction(`[${featureName} API] Load ${featureName} Failure`, props());
|
|
6
|
+
const save = createAction(`[${featureName} API] Save ${featureName}`, props());
|
|
7
|
+
const saveSuccess = createAction(`[${featureName} API] Save ${featureName} Success`, props());
|
|
8
|
+
const saveFailure = createAction(`[${featureName} API] Save ${featureName} Failure`, props());
|
|
9
|
+
const deleteAction = createAction(`[${featureName} API] Delete ${featureName}`, props());
|
|
10
|
+
const deleteSuccess = createAction(`[${featureName} API] Delete ${featureName} Success`, props());
|
|
11
|
+
const deleteFailure = createAction(`[${featureName} API] Delete ${featureName} Failure`, props());
|
|
12
|
+
const create = createAction(`[${featureName} API] Create ${featureName}`, props());
|
|
13
|
+
const createSuccess = createAction(`[${featureName} API] Create ${featureName} Success`, props());
|
|
14
|
+
const createFailure = createAction(`[${featureName} API] Create ${featureName} Failure`, props());
|
|
15
|
+
const reset = createAction(`[${featureName} API] Reset ${featureName}`);
|
|
16
|
+
return {
|
|
17
|
+
load,
|
|
18
|
+
loadSuccess,
|
|
19
|
+
loadFailure,
|
|
20
|
+
save,
|
|
21
|
+
saveSuccess,
|
|
22
|
+
saveFailure,
|
|
23
|
+
delete: deleteAction,
|
|
24
|
+
deleteSuccess,
|
|
25
|
+
deleteFailure,
|
|
26
|
+
create,
|
|
27
|
+
createSuccess,
|
|
28
|
+
createFailure,
|
|
29
|
+
reset
|
|
30
|
+
};
|
|
31
|
+
}
|
|
32
32
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1hY3Rpb25zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9uZ2R1eC91dGlsL3N0b3JlL2Zvcm0vc3JjL2xpYi8rc3RhdGUvZm9ybS1hY3Rpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBR2xELE1BQU0sVUFBVSxpQkFBaUIsQ0FDL0IsV0FBbUI7SUFFbkIsTUFBTSxJQUFJLEdBQUcsWUFBWSxDQUFDLElBQUksV0FBVyxjQUFjLFdBQVcsRUFBRSxFQUFFLEtBQUssRUFBa0IsQ0FBQyxDQUFDO0lBQy9GLE1BQU0sV0FBVyxHQUFHLFlBQVksQ0FBQyxJQUFJLFdBQVcsY0FBYyxXQUFXLFVBQVUsRUFBRSxLQUFLLEVBQXFCLENBQUMsQ0FBQztJQUNqSCxNQUFNLFdBQVcsR0FBRyxZQUFZLENBQUMsSUFBSSxXQUFXLGNBQWMsV0FBVyxVQUFVLEVBQUUsS0FBSyxFQUFxQixDQUFDLENBQUM7SUFFakgsTUFBTSxJQUFJLEdBQUcsWUFBWSxDQUFDLElBQUksV0FBVyxjQUFjLFdBQVcsRUFBRSxFQUFFLEtBQUssRUFBcUIsQ0FBQyxDQUFDO0lBQ2xHLE1BQU0sV0FBVyxHQUFHLFlBQVksQ0FBQyxJQUFJLFdBQVcsY0FBYyxXQUFXLFVBQVUsRUFBRSxLQUFLLEVBQXFCLENBQUMsQ0FBQztJQUNqSCxNQUFNLFdBQVcsR0FBRyxZQUFZLENBQUMsSUFBSSxXQUFXLGNBQWMsV0FBVyxVQUFVLEVBQUUsS0FBSyxFQUFxQixDQUFDLENBQUM7SUFFakgsTUFBTSxZQUFZLEdBQUcsWUFBWSxDQUFDLElBQUksV0FBVyxnQkFBZ0IsV0FBVyxFQUFFLEVBQUUsS0FBSyxFQUFrQixDQUFDLENBQUM7SUFDekcsTUFBTSxhQUFhLEdBQUcsWUFBWSxDQUFDLElBQUksV0FBVyxnQkFBZ0IsV0FBVyxVQUFVLEVBQUUsS0FBSyxFQUFrQixDQUFDLENBQUM7SUFDbEgsTUFBTSxhQUFhLEdBQUcsWUFBWSxDQUFDLElBQUksV0FBVyxnQkFBZ0IsV0FBVyxVQUFVLEVBQUUsS0FBSyxFQUFxQixDQUFDLENBQUM7SUFFckgsTUFBTSxNQUFNLEdBQUcsWUFBWSxDQUFDLElBQUksV0FBVyxnQkFBZ0IsV0FBVyxFQUFFLEVBQUUsS0FBSyxFQUE0QixDQUFDLENBQUM7SUFDN0csTUFBTSxhQUFhLEdBQUcsWUFBWSxDQUFDLElBQUksV0FBVyxnQkFBZ0IsV0FBVyxVQUFVLEVBQUUsS0FBSyxFQUFxQixDQUFDLENBQUM7SUFDckgsTUFBTSxhQUFhLEdBQUcsWUFBWSxDQUFDLElBQUksV0FBVyxnQkFBZ0IsV0FBVyxVQUFVLEVBQUUsS0FBSyxFQUFxQixDQUFDLENBQUM7SUFFckgsTUFBTSxLQUFLLEdBQUcsWUFBWSxDQUFDLElBQUksV0FBVyxlQUFlLFdBQVcsRUFBRSxDQUFDLENBQUM7SUFFeEUsT0FBTztRQUNMLElBQUk7UUFDSixXQUFXO1FBQ1gsV0FBVztRQUNYLElBQUk7UUFDSixXQUFXO1FBQ1gsV0FBVztRQUNYLE1BQU0sRUFBRSxZQUFZO1FBQ3BCLGFBQWE7UUFDYixhQUFhO1FBQ2IsTUFBTTtRQUNOLGFBQWE7UUFDYixhQUFhO1FBQ2IsS0FBSztLQUNOLENBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY3JlYXRlQWN0aW9uLCBwcm9wcyB9IGZyb20gJ0BuZ3J4L3N0b3JlJztcclxuaW1wb3J0IHsgRm9ybUFjdGlvbnMgfSBmcm9tICcuLi9tb2RlbHMvZm9ybS5tb2RlbCc7XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlRm9ybUFjdGlvbnM8RFRPLCBFUlJPUiwgQ1JFQVRFX0RUTyA9IERUTz4oXHJcbiAgZmVhdHVyZU5hbWU6IHN0cmluZ1xyXG4pOiBGb3JtQWN0aW9uczxEVE8sIEVSUk9SLCBDUkVBVEVfRFRPPiB7XHJcbiAgY29uc3QgbG9hZCA9IGNyZWF0ZUFjdGlvbihgWyR7ZmVhdHVyZU5hbWV9IEFQSV0gTG9hZCAke2ZlYXR1cmVOYW1lfWAsIHByb3BzPHsgaWQ6IHN0cmluZyB9PigpKTtcclxuICBjb25zdCBsb2FkU3VjY2VzcyA9IGNyZWF0ZUFjdGlvbihgWyR7ZmVhdHVyZU5hbWV9IEFQSV0gTG9hZCAke2ZlYXR1cmVOYW1lfSBTdWNjZXNzYCwgcHJvcHM8eyByZXNvdXJjZTogRFRPIH0+KCkpO1xyXG4gIGNvbnN0IGxvYWRGYWlsdXJlID0gY3JlYXRlQWN0aW9uKGBbJHtmZWF0dXJlTmFtZX0gQVBJXSBMb2FkICR7ZmVhdHVyZU5hbWV9IEZhaWx1cmVgLCBwcm9wczx7IGVycm9yczogRVJST1IgfT4oKSk7XHJcblxyXG4gIGNvbnN0IHNhdmUgPSBjcmVhdGVBY3Rpb24oYFske2ZlYXR1cmVOYW1lfSBBUEldIFNhdmUgJHtmZWF0dXJlTmFtZX1gLCBwcm9wczx7IHJlc291cmNlOiBEVE8gfT4oKSk7XHJcbiAgY29uc3Qgc2F2ZVN1Y2Nlc3MgPSBjcmVhdGVBY3Rpb24oYFske2ZlYXR1cmVOYW1lfSBBUEldIFNhdmUgJHtmZWF0dXJlTmFtZX0gU3VjY2Vzc2AsIHByb3BzPHsgcmVzb3VyY2U6IERUTyB9PigpKTtcclxuICBjb25zdCBzYXZlRmFpbHVyZSA9IGNyZWF0ZUFjdGlvbihgWyR7ZmVhdHVyZU5hbWV9IEFQSV0gU2F2ZSAke2ZlYXR1cmVOYW1lfSBGYWlsdXJlYCwgcHJvcHM8eyBlcnJvcnM6IEVSUk9SIH0+KCkpO1xyXG5cclxuICBjb25zdCBkZWxldGVBY3Rpb24gPSBjcmVhdGVBY3Rpb24oYFske2ZlYXR1cmVOYW1lfSBBUEldIERlbGV0ZSAke2ZlYXR1cmVOYW1lfWAsIHByb3BzPHsgaWQ6IHN0cmluZyB9PigpKTtcclxuICBjb25zdCBkZWxldGVTdWNjZXNzID0gY3JlYXRlQWN0aW9uKGBbJHtmZWF0dXJlTmFtZX0gQVBJXSBEZWxldGUgJHtmZWF0dXJlTmFtZX0gU3VjY2Vzc2AsIHByb3BzPHsgaWQ6IHN0cmluZyB9PigpKTtcclxuICBjb25zdCBkZWxldGVGYWlsdXJlID0gY3JlYXRlQWN0aW9uKGBbJHtmZWF0dXJlTmFtZX0gQVBJXSBEZWxldGUgJHtmZWF0dXJlTmFtZX0gRmFpbHVyZWAsIHByb3BzPHsgZXJyb3JzOiBFUlJPUiB9PigpKTtcclxuXHJcbiAgY29uc3QgY3JlYXRlID0gY3JlYXRlQWN0aW9uKGBbJHtmZWF0dXJlTmFtZX0gQVBJXSBDcmVhdGUgJHtmZWF0dXJlTmFtZX1gLCBwcm9wczx7IHJlc291cmNlOiBDUkVBVEVfRFRPIH0+KCkpO1xyXG4gIGNvbnN0IGNyZWF0ZVN1Y2Nlc3MgPSBjcmVhdGVBY3Rpb24oYFske2ZlYXR1cmVOYW1lfSBBUEldIENyZWF0ZSAke2ZlYXR1cmVOYW1lfSBTdWNjZXNzYCwgcHJvcHM8eyByZXNvdXJjZTogRFRPIH0+KCkpO1xyXG4gIGNvbnN0IGNyZWF0ZUZhaWx1cmUgPSBjcmVhdGVBY3Rpb24oYFske2ZlYXR1cmVOYW1lfSBBUEldIENyZWF0ZSAke2ZlYXR1cmVOYW1lfSBGYWlsdXJlYCwgcHJvcHM8eyBlcnJvcnM6IEVSUk9SIH0+KCkpO1xyXG5cclxuICBjb25zdCByZXNldCA9IGNyZWF0ZUFjdGlvbihgWyR7ZmVhdHVyZU5hbWV9IEFQSV0gUmVzZXQgJHtmZWF0dXJlTmFtZX1gKTtcclxuXHJcbiAgcmV0dXJuIHtcclxuICAgIGxvYWQsXHJcbiAgICBsb2FkU3VjY2VzcyxcclxuICAgIGxvYWRGYWlsdXJlLFxyXG4gICAgc2F2ZSxcclxuICAgIHNhdmVTdWNjZXNzLFxyXG4gICAgc2F2ZUZhaWx1cmUsXHJcbiAgICBkZWxldGU6IGRlbGV0ZUFjdGlvbixcclxuICAgIGRlbGV0ZVN1Y2Nlc3MsXHJcbiAgICBkZWxldGVGYWlsdXJlLFxyXG4gICAgY3JlYXRlLFxyXG4gICAgY3JlYXRlU3VjY2VzcyxcclxuICAgIGNyZWF0ZUZhaWx1cmUsXHJcbiAgICByZXNldFxyXG4gIH07XHJcbn1cclxuIl19
|
|
@@ -1,30 +1,30 @@
|
|
|
1
|
-
import { RequestState } from '@ngdux/data-model-common';
|
|
2
|
-
import { createLoadingStateActionHandlers, createRequestStateActionHandlers } from '@ngdux/store-common';
|
|
3
|
-
import { createReducer, on } from '@ngrx/store';
|
|
4
|
-
export function createFormReducer(actions, actionHandlers, initialFormState) {
|
|
5
|
-
const initialState = { ...createInitialFormState(), ...initialFormState };
|
|
6
|
-
return createReducer(initialState, ...createFormActionHandlers(initialState, actions), ...(actionHandlers || []));
|
|
7
|
-
}
|
|
8
|
-
function createInitialFormState() {
|
|
9
|
-
return {
|
|
10
|
-
resource: undefined,
|
|
11
|
-
loadingState: RequestState.IDLE,
|
|
12
|
-
requestState: RequestState.IDLE,
|
|
13
|
-
errors: undefined
|
|
14
|
-
};
|
|
15
|
-
}
|
|
16
|
-
function createFormActionHandlers(initialFormState, actions) {
|
|
17
|
-
return [
|
|
18
|
-
on(actions.reset, () => initialFormState),
|
|
19
|
-
on(actions.loadSuccess, actions.createSuccess, actions.saveSuccess, (state, { resource }) => ({ ...state, resource })),
|
|
20
|
-
on(actions.deleteSuccess, (state) => ({
|
|
21
|
-
...state,
|
|
22
|
-
resource: undefined
|
|
23
|
-
})),
|
|
24
|
-
...createRequestStateActionHandlers(actions.load, actions.save, actions.saveSuccess, actions.saveFailure),
|
|
25
|
-
...createRequestStateActionHandlers(undefined, actions.create, actions.createSuccess, actions.createFailure),
|
|
26
|
-
...createRequestStateActionHandlers(undefined, actions.delete, actions.deleteSuccess, actions.deleteFailure),
|
|
27
|
-
...createLoadingStateActionHandlers(actions.load, actions.loadSuccess, actions.loadFailure)
|
|
28
|
-
];
|
|
29
|
-
}
|
|
1
|
+
import { RequestState } from '@ngdux/data-model-common';
|
|
2
|
+
import { createLoadingStateActionHandlers, createRequestStateActionHandlers } from '@ngdux/store-common';
|
|
3
|
+
import { createReducer, on } from '@ngrx/store';
|
|
4
|
+
export function createFormReducer(actions, actionHandlers, initialFormState) {
|
|
5
|
+
const initialState = { ...createInitialFormState(), ...initialFormState };
|
|
6
|
+
return createReducer(initialState, ...createFormActionHandlers(initialState, actions), ...(actionHandlers || []));
|
|
7
|
+
}
|
|
8
|
+
function createInitialFormState() {
|
|
9
|
+
return {
|
|
10
|
+
resource: undefined,
|
|
11
|
+
loadingState: RequestState.IDLE,
|
|
12
|
+
requestState: RequestState.IDLE,
|
|
13
|
+
errors: undefined
|
|
14
|
+
};
|
|
15
|
+
}
|
|
16
|
+
function createFormActionHandlers(initialFormState, actions) {
|
|
17
|
+
return [
|
|
18
|
+
on(actions.reset, () => initialFormState),
|
|
19
|
+
on(actions.loadSuccess, actions.createSuccess, actions.saveSuccess, (state, { resource }) => ({ ...state, resource })),
|
|
20
|
+
on(actions.deleteSuccess, (state) => ({
|
|
21
|
+
...state,
|
|
22
|
+
resource: undefined
|
|
23
|
+
})),
|
|
24
|
+
...createRequestStateActionHandlers(actions.load, actions.save, actions.saveSuccess, actions.saveFailure),
|
|
25
|
+
...createRequestStateActionHandlers(undefined, actions.create, actions.createSuccess, actions.createFailure),
|
|
26
|
+
...createRequestStateActionHandlers(undefined, actions.delete, actions.deleteSuccess, actions.deleteFailure),
|
|
27
|
+
...createLoadingStateActionHandlers(actions.load, actions.loadSuccess, actions.loadFailure)
|
|
28
|
+
];
|
|
29
|
+
}
|
|
30
30
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1yZWR1Y2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9uZ2R1eC91dGlsL3N0b3JlL2Zvcm0vc3JjL2xpYi8rc3RhdGUvZm9ybS1yZWR1Y2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUN4RCxPQUFPLEVBQUUsZ0NBQWdDLEVBQUUsZ0NBQWdDLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN6RyxPQUFPLEVBQXVELGFBQWEsRUFBRSxFQUFFLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFHckcsTUFBTSxVQUFVLGlCQUFpQixDQUMvQixPQUE0QyxFQUM1QyxjQUF1RSxFQUN2RSxnQkFBc0M7SUFFdEMsTUFBTSxZQUFZLEdBQTBCLEVBQUUsR0FBRyxzQkFBc0IsRUFBYyxFQUFFLEdBQUcsZ0JBQWdCLEVBQUUsQ0FBQztJQUM3RyxPQUFPLGFBQWEsQ0FDbEIsWUFBWSxFQUNaLEdBQUcsd0JBQXdCLENBQXlCLFlBQVksRUFBRSxPQUFPLENBQUMsRUFDMUUsR0FBRyxDQUFDLGNBQWMsSUFBSSxFQUFFLENBQUMsQ0FDMUIsQ0FBQztBQUNKLENBQUM7QUFFRCxTQUFTLHNCQUFzQjtJQUM3QixPQUFPO1FBQ0wsUUFBUSxFQUFFLFNBQVM7UUFDbkIsWUFBWSxFQUFFLFlBQVksQ0FBQyxJQUFJO1FBQy9CLFlBQVksRUFBRSxZQUFZLENBQUMsSUFBSTtRQUMvQixNQUFNLEVBQUUsU0FBUztLQUNsQixDQUFDO0FBQ0osQ0FBQztBQUVELFNBQVMsd0JBQXdCLENBQy9CLGdCQUF1QyxFQUN2QyxPQUE0QztJQUU1QyxPQUFPO1FBQ0wsRUFBRSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsR0FBMEIsRUFBRSxDQUFDLGdCQUFnQixDQUFDO1FBQ2hFLEVBQUUsQ0FDQSxPQUFPLENBQUMsV0FBVyxFQUNuQixPQUFPLENBQUMsYUFBYSxFQUNyQixPQUFPLENBQUMsV0FBVyxFQUNuQixDQUFDLEtBQTRCLEVBQUUsRUFBRSxRQUFRLEVBQUUsRUFBeUIsRUFBRSxDQUFDLENBQUMsRUFBRSxHQUFHLEtBQUssRUFBRSxRQUFRLEVBQUUsQ0FBQyxDQUNoRztRQUNELEVBQUUsQ0FDQSxPQUFPLENBQUMsYUFBYSxFQUNyQixDQUFDLEtBQTRCLEVBQXlCLEVBQUUsQ0FBQyxDQUFDO1lBQ3hELEdBQUcsS0FBSztZQUNSLFFBQVEsRUFBRSxTQUFTO1NBQ3BCLENBQUMsQ0FDSDtRQUNELEdBQUcsZ0NBQWdDLENBQ2pDLE9BQU8sQ0FBQyxJQUFJLEVBQ1osT0FBTyxDQUFDLElBQUksRUFDWixPQUFPLENBQUMsV0FBVyxFQUNuQixPQUFPLENBQUMsV0FBVyxDQUNwQjtRQUNELEdBQUcsZ0NBQWdDLENBQ2pDLFNBQVMsRUFDVCxPQUFPLENBQUMsTUFBTSxFQUNkLE9BQU8sQ0FBQyxhQUFhLEVBQ3JCLE9BQU8sQ0FBQyxhQUFhLENBQ3RCO1FBQ0QsR0FBRyxnQ0FBZ0MsQ0FDakMsU0FBUyxFQUNULE9BQU8sQ0FBQyxNQUFNLEVBQ2QsT0FBTyxDQUFDLGFBQWEsRUFDckIsT0FBTyxDQUFDLGFBQWEsQ0FDdEI7UUFDRCxHQUFHLGdDQUFnQyxDQUF3QixPQUFPLENBQUMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxXQUFXLEVBQUUsT0FBTyxDQUFDLFdBQVcsQ0FBQztLQUNuSCxDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFJlcXVlc3RTdGF0ZSB9IGZyb20gJ0BuZ2R1eC9kYXRhLW1vZGVsLWNvbW1vbic7XHJcbmltcG9ydCB7IGNyZWF0ZUxvYWRpbmdTdGF0ZUFjdGlvbkhhbmRsZXJzLCBjcmVhdGVSZXF1ZXN0U3RhdGVBY3Rpb25IYW5kbGVycyB9IGZyb20gJ0BuZ2R1eC9zdG9yZS1jb21tb24nO1xyXG5pbXBvcnQgeyBBY3Rpb25DcmVhdG9yLCBBY3Rpb25SZWR1Y2VyLCBDcmVhdG9yLCBSZWR1Y2VyVHlwZXMsIGNyZWF0ZVJlZHVjZXIsIG9uIH0gZnJvbSAnQG5ncngvc3RvcmUnO1xyXG5pbXBvcnQgeyBGb3JtQWN0aW9ucywgRm9ybVN0YXRlIH0gZnJvbSAnLi4vbW9kZWxzL2Zvcm0ubW9kZWwnO1xyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZUZvcm1SZWR1Y2VyPERUTywgRVJST1IsIENSRUFURV9EVE8gPSBEVE8+KFxyXG4gIGFjdGlvbnM6IEZvcm1BY3Rpb25zPERUTywgRVJST1IsIENSRUFURV9EVE8+LFxyXG4gIGFjdGlvbkhhbmRsZXJzPzogUmVkdWNlclR5cGVzPEZvcm1TdGF0ZTxEVE8sIEVSUk9SPiwgQWN0aW9uQ3JlYXRvcltdPltdLFxyXG4gIGluaXRpYWxGb3JtU3RhdGU/OiBSZWNvcmQ8c3RyaW5nLCBhbnk+XHJcbik6IEFjdGlvblJlZHVjZXI8Rm9ybVN0YXRlPERUTywgRVJST1I+PiB7XHJcbiAgY29uc3QgaW5pdGlhbFN0YXRlOiBGb3JtU3RhdGU8RFRPLCBFUlJPUj4gPSB7IC4uLmNyZWF0ZUluaXRpYWxGb3JtU3RhdGU8RFRPLCBFUlJPUj4oKSwgLi4uaW5pdGlhbEZvcm1TdGF0ZSB9O1xyXG4gIHJldHVybiBjcmVhdGVSZWR1Y2VyPEZvcm1TdGF0ZTxEVE8sIEVSUk9SPj4oXHJcbiAgICBpbml0aWFsU3RhdGUsXHJcbiAgICAuLi5jcmVhdGVGb3JtQWN0aW9uSGFuZGxlcnM8RFRPLCBFUlJPUiwgQ1JFQVRFX0RUTz4oaW5pdGlhbFN0YXRlLCBhY3Rpb25zKSxcclxuICAgIC4uLihhY3Rpb25IYW5kbGVycyB8fCBbXSlcclxuICApO1xyXG59XHJcblxyXG5mdW5jdGlvbiBjcmVhdGVJbml0aWFsRm9ybVN0YXRlPERUTywgRVJST1I+KCk6IEZvcm1TdGF0ZTxEVE8sIEVSUk9SPiB7XHJcbiAgcmV0dXJuIHtcclxuICAgIHJlc291cmNlOiB1bmRlZmluZWQsXHJcbiAgICBsb2FkaW5nU3RhdGU6IFJlcXVlc3RTdGF0ZS5JRExFLFxyXG4gICAgcmVxdWVzdFN0YXRlOiBSZXF1ZXN0U3RhdGUuSURMRSxcclxuICAgIGVycm9yczogdW5kZWZpbmVkXHJcbiAgfTtcclxufVxyXG5cclxuZnVuY3Rpb24gY3JlYXRlRm9ybUFjdGlvbkhhbmRsZXJzPERUTywgRVJST1IsIENSRUFURV9EVE8gPSBEVE8+KFxyXG4gIGluaXRpYWxGb3JtU3RhdGU6IEZvcm1TdGF0ZTxEVE8sIEVSUk9SPixcclxuICBhY3Rpb25zOiBGb3JtQWN0aW9uczxEVE8sIEVSUk9SLCBDUkVBVEVfRFRPPlxyXG4pOiBSZWR1Y2VyVHlwZXM8Rm9ybVN0YXRlPERUTywgRVJST1I+LCBBY3Rpb25DcmVhdG9yPHN0cmluZywgQ3JlYXRvcjxhbnlbXSwgb2JqZWN0Pj5bXT5bXSB7XHJcbiAgcmV0dXJuIFtcclxuICAgIG9uKGFjdGlvbnMucmVzZXQsICgpOiBGb3JtU3RhdGU8RFRPLCBFUlJPUj4gPT4gaW5pdGlhbEZvcm1TdGF0ZSksXHJcbiAgICBvbihcclxuICAgICAgYWN0aW9ucy5sb2FkU3VjY2VzcyxcclxuICAgICAgYWN0aW9ucy5jcmVhdGVTdWNjZXNzLFxyXG4gICAgICBhY3Rpb25zLnNhdmVTdWNjZXNzLFxyXG4gICAgICAoc3RhdGU6IEZvcm1TdGF0ZTxEVE8sIEVSUk9SPiwgeyByZXNvdXJjZSB9KTogRm9ybVN0YXRlPERUTywgRVJST1I+ID0+ICh7IC4uLnN0YXRlLCByZXNvdXJjZSB9KVxyXG4gICAgKSxcclxuICAgIG9uKFxyXG4gICAgICBhY3Rpb25zLmRlbGV0ZVN1Y2Nlc3MsXHJcbiAgICAgIChzdGF0ZTogRm9ybVN0YXRlPERUTywgRVJST1I+KTogRm9ybVN0YXRlPERUTywgRVJST1I+ID0+ICh7XHJcbiAgICAgICAgLi4uc3RhdGUsXHJcbiAgICAgICAgcmVzb3VyY2U6IHVuZGVmaW5lZFxyXG4gICAgICB9KVxyXG4gICAgKSxcclxuICAgIC4uLmNyZWF0ZVJlcXVlc3RTdGF0ZUFjdGlvbkhhbmRsZXJzPEZvcm1TdGF0ZTxEVE8sIEVSUk9SPiwgRVJST1I+KFxyXG4gICAgICBhY3Rpb25zLmxvYWQsXHJcbiAgICAgIGFjdGlvbnMuc2F2ZSxcclxuICAgICAgYWN0aW9ucy5zYXZlU3VjY2VzcyxcclxuICAgICAgYWN0aW9ucy5zYXZlRmFpbHVyZVxyXG4gICAgKSxcclxuICAgIC4uLmNyZWF0ZVJlcXVlc3RTdGF0ZUFjdGlvbkhhbmRsZXJzPEZvcm1TdGF0ZTxEVE8sIEVSUk9SPiwgRVJST1I+KFxyXG4gICAgICB1bmRlZmluZWQsXHJcbiAgICAgIGFjdGlvbnMuY3JlYXRlLFxyXG4gICAgICBhY3Rpb25zLmNyZWF0ZVN1Y2Nlc3MsXHJcbiAgICAgIGFjdGlvbnMuY3JlYXRlRmFpbHVyZVxyXG4gICAgKSxcclxuICAgIC4uLmNyZWF0ZVJlcXVlc3RTdGF0ZUFjdGlvbkhhbmRsZXJzPEZvcm1TdGF0ZTxEVE8sIEVSUk9SPiwgRVJST1I+KFxyXG4gICAgICB1bmRlZmluZWQsXHJcbiAgICAgIGFjdGlvbnMuZGVsZXRlLFxyXG4gICAgICBhY3Rpb25zLmRlbGV0ZVN1Y2Nlc3MsXHJcbiAgICAgIGFjdGlvbnMuZGVsZXRlRmFpbHVyZVxyXG4gICAgKSxcclxuICAgIC4uLmNyZWF0ZUxvYWRpbmdTdGF0ZUFjdGlvbkhhbmRsZXJzPEZvcm1TdGF0ZTxEVE8sIEVSUk9SPj4oYWN0aW9ucy5sb2FkLCBhY3Rpb25zLmxvYWRTdWNjZXNzLCBhY3Rpb25zLmxvYWRGYWlsdXJlKVxyXG4gIF07XHJcbn1cclxuIl19
|
|
@@ -1,17 +1,17 @@
|
|
|
1
|
-
import { RequestState } from '@ngdux/data-model-common';
|
|
2
|
-
import { createSelector } from '@ngrx/store';
|
|
3
|
-
export function createFormSelectors(getFormState) {
|
|
4
|
-
const getRequestState = createSelector(getFormState, state => state.requestState);
|
|
5
|
-
const getLoadingState = createSelector(getFormState, state => state.loadingState);
|
|
6
|
-
const getErrors = createSelector(getFormState, state => state.errors);
|
|
7
|
-
const getResource = createSelector(getFormState, state => state.resource);
|
|
8
|
-
const isReady = createSelector(getResource, getLoadingState, (resource, loadingState) => !!resource && loadingState === RequestState.SUCCESS);
|
|
9
|
-
return {
|
|
10
|
-
getRequestState,
|
|
11
|
-
getLoadingState,
|
|
12
|
-
getErrors,
|
|
13
|
-
getResource,
|
|
14
|
-
isReady
|
|
15
|
-
};
|
|
16
|
-
}
|
|
1
|
+
import { RequestState } from '@ngdux/data-model-common';
|
|
2
|
+
import { createSelector } from '@ngrx/store';
|
|
3
|
+
export function createFormSelectors(getFormState) {
|
|
4
|
+
const getRequestState = createSelector(getFormState, state => state.requestState);
|
|
5
|
+
const getLoadingState = createSelector(getFormState, state => state.loadingState);
|
|
6
|
+
const getErrors = createSelector(getFormState, state => state.errors);
|
|
7
|
+
const getResource = createSelector(getFormState, state => state.resource);
|
|
8
|
+
const isReady = createSelector(getResource, getLoadingState, (resource, loadingState) => !!resource && loadingState === RequestState.SUCCESS);
|
|
9
|
+
return {
|
|
10
|
+
getRequestState,
|
|
11
|
+
getLoadingState,
|
|
12
|
+
getErrors,
|
|
13
|
+
getResource,
|
|
14
|
+
isReady
|
|
15
|
+
};
|
|
16
|
+
}
|
|
17
17
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1zZWxlY3RvcnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL25nZHV4L3V0aWwvc3RvcmUvZm9ybS9zcmMvbGliLytzdGF0ZS9mb3JtLXNlbGVjdG9ycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDeEQsT0FBTyxFQUFFLGNBQWMsRUFBd0MsTUFBTSxhQUFhLENBQUM7QUFHbkYsTUFBTSxVQUFVLG1CQUFtQixDQUNqQyxZQUE0RjtJQUU1RixNQUFNLGVBQWUsR0FBRyxjQUFjLENBQUMsWUFBWSxFQUFFLEtBQUssQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQ2xGLE1BQU0sZUFBZSxHQUFHLGNBQWMsQ0FBQyxZQUFZLEVBQUUsS0FBSyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDbEYsTUFBTSxTQUFTLEdBQUcsY0FBYyxDQUFDLFlBQVksRUFBRSxLQUFLLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUN0RSxNQUFNLFdBQVcsR0FBRyxjQUFjLENBQUMsWUFBWSxFQUFFLEtBQUssQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBRTFFLE1BQU0sT0FBTyxHQUFHLGNBQWMsQ0FDNUIsV0FBVyxFQUNYLGVBQWUsRUFDZixDQUFDLFFBQVEsRUFBRSxZQUFZLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxRQUFRLElBQUksWUFBWSxLQUFLLFlBQVksQ0FBQyxPQUFPLENBQ2hGLENBQUM7SUFFRixPQUFPO1FBQ0wsZUFBZTtRQUNmLGVBQWU7UUFDZixTQUFTO1FBQ1QsV0FBVztRQUNYLE9BQU87S0FDUixDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFJlcXVlc3RTdGF0ZSB9IGZyb20gJ0BuZ2R1eC9kYXRhLW1vZGVsLWNvbW1vbic7XHJcbmltcG9ydCB7IGNyZWF0ZVNlbGVjdG9yLCBEZWZhdWx0UHJvamVjdG9yRm4sIE1lbW9pemVkU2VsZWN0b3IgfSBmcm9tICdAbmdyeC9zdG9yZSc7XHJcbmltcG9ydCB7IEZvcm1TZWxlY3RvcnMsIEZvcm1TdGF0ZSB9IGZyb20gJy4uL21vZGVscy9mb3JtLm1vZGVsJztcclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVGb3JtU2VsZWN0b3JzPFQsIEU+KFxyXG4gIGdldEZvcm1TdGF0ZTogTWVtb2l6ZWRTZWxlY3RvcjxvYmplY3QsIEZvcm1TdGF0ZTxULCBFPiwgRGVmYXVsdFByb2plY3RvckZuPEZvcm1TdGF0ZTxULCBFPj4+XHJcbik6IEZvcm1TZWxlY3RvcnM8VCwgRT4ge1xyXG4gIGNvbnN0IGdldFJlcXVlc3RTdGF0ZSA9IGNyZWF0ZVNlbGVjdG9yKGdldEZvcm1TdGF0ZSwgc3RhdGUgPT4gc3RhdGUucmVxdWVzdFN0YXRlKTtcclxuICBjb25zdCBnZXRMb2FkaW5nU3RhdGUgPSBjcmVhdGVTZWxlY3RvcihnZXRGb3JtU3RhdGUsIHN0YXRlID0+IHN0YXRlLmxvYWRpbmdTdGF0ZSk7XHJcbiAgY29uc3QgZ2V0RXJyb3JzID0gY3JlYXRlU2VsZWN0b3IoZ2V0Rm9ybVN0YXRlLCBzdGF0ZSA9PiBzdGF0ZS5lcnJvcnMpO1xyXG4gIGNvbnN0IGdldFJlc291cmNlID0gY3JlYXRlU2VsZWN0b3IoZ2V0Rm9ybVN0YXRlLCBzdGF0ZSA9PiBzdGF0ZS5yZXNvdXJjZSk7XHJcblxyXG4gIGNvbnN0IGlzUmVhZHkgPSBjcmVhdGVTZWxlY3RvcihcclxuICAgIGdldFJlc291cmNlLFxyXG4gICAgZ2V0TG9hZGluZ1N0YXRlLFxyXG4gICAgKHJlc291cmNlLCBsb2FkaW5nU3RhdGUpID0+ICEhcmVzb3VyY2UgJiYgbG9hZGluZ1N0YXRlID09PSBSZXF1ZXN0U3RhdGUuU1VDQ0VTU1xyXG4gICk7XHJcblxyXG4gIHJldHVybiB7XHJcbiAgICBnZXRSZXF1ZXN0U3RhdGUsXHJcbiAgICBnZXRMb2FkaW5nU3RhdGUsXHJcbiAgICBnZXRFcnJvcnMsXHJcbiAgICBnZXRSZXNvdXJjZSxcclxuICAgIGlzUmVhZHlcclxuICB9O1xyXG59XHJcbiJdfQ==
|
|
@@ -1,16 +1,16 @@
|
|
|
1
|
-
import { createFeatureSelector } from '@ngrx/store';
|
|
2
|
-
import { createFormActions } from './form-actions';
|
|
3
|
-
import { createFormReducer } from './form-reducer';
|
|
4
|
-
import { createFormSelectors } from './form-selectors';
|
|
5
|
-
export function createFormState(featureName) {
|
|
6
|
-
const actions = createFormActions(featureName);
|
|
7
|
-
const reducer = createFormReducer(actions);
|
|
8
|
-
const getState = createFeatureSelector(featureName);
|
|
9
|
-
const selectors = createFormSelectors(getState);
|
|
10
|
-
return {
|
|
11
|
-
actions,
|
|
12
|
-
reducer: (state, action) => reducer(state, action),
|
|
13
|
-
selectors
|
|
14
|
-
};
|
|
15
|
-
}
|
|
1
|
+
import { createFeatureSelector } from '@ngrx/store';
|
|
2
|
+
import { createFormActions } from './form-actions';
|
|
3
|
+
import { createFormReducer } from './form-reducer';
|
|
4
|
+
import { createFormSelectors } from './form-selectors';
|
|
5
|
+
export function createFormState(featureName) {
|
|
6
|
+
const actions = createFormActions(featureName);
|
|
7
|
+
const reducer = createFormReducer(actions);
|
|
8
|
+
const getState = createFeatureSelector(featureName);
|
|
9
|
+
const selectors = createFormSelectors(getState);
|
|
10
|
+
return {
|
|
11
|
+
actions,
|
|
12
|
+
reducer: (state, action) => reducer(state, action),
|
|
13
|
+
selectors
|
|
14
|
+
};
|
|
15
|
+
}
|
|
16
16
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1zdGF0ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbmdkdXgvdXRpbC9zdG9yZS9mb3JtL3NyYy9saWIvK3N0YXRlL2Zvcm0tc3RhdGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFVLHFCQUFxQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRTVELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBRXZELE1BQU0sVUFBVSxlQUFlLENBQStCLFdBQW1CO0lBQy9FLE1BQU0sT0FBTyxHQUFHLGlCQUFpQixDQUF5QixXQUFXLENBQUMsQ0FBQztJQUN2RSxNQUFNLE9BQU8sR0FBRyxpQkFBaUIsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUMzQyxNQUFNLFFBQVEsR0FBRyxxQkFBcUIsQ0FBd0IsV0FBVyxDQUFDLENBQUM7SUFDM0UsTUFBTSxTQUFTLEdBQUcsbUJBQW1CLENBQUMsUUFBUSxDQUFDLENBQUM7SUFFaEQsT0FBTztRQUNMLE9BQU87UUFDUCxPQUFPLEVBQUUsQ0FBQyxLQUE0QixFQUFFLE1BQWMsRUFBeUIsRUFBRSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsTUFBTSxDQUFDO1FBQ3hHLFNBQVM7S0FDVixDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFjdGlvbiwgY3JlYXRlRmVhdHVyZVNlbGVjdG9yIH0gZnJvbSAnQG5ncngvc3RvcmUnO1xyXG5pbXBvcnQgeyBGb3JtU3RhdGUgfSBmcm9tICcuLi9tb2RlbHMvZm9ybS5tb2RlbCc7XHJcbmltcG9ydCB7IGNyZWF0ZUZvcm1BY3Rpb25zIH0gZnJvbSAnLi9mb3JtLWFjdGlvbnMnO1xyXG5pbXBvcnQgeyBjcmVhdGVGb3JtUmVkdWNlciB9IGZyb20gJy4vZm9ybS1yZWR1Y2VyJztcclxuaW1wb3J0IHsgY3JlYXRlRm9ybVNlbGVjdG9ycyB9IGZyb20gJy4vZm9ybS1zZWxlY3RvcnMnO1xyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZUZvcm1TdGF0ZTxEVE8sIEVSUk9SLCBDUkVBVEVfRFRPID0gRFRPPihmZWF0dXJlTmFtZTogc3RyaW5nKSB7XHJcbiAgY29uc3QgYWN0aW9ucyA9IGNyZWF0ZUZvcm1BY3Rpb25zPERUTywgRVJST1IsIENSRUFURV9EVE8+KGZlYXR1cmVOYW1lKTtcclxuICBjb25zdCByZWR1Y2VyID0gY3JlYXRlRm9ybVJlZHVjZXIoYWN0aW9ucyk7XHJcbiAgY29uc3QgZ2V0U3RhdGUgPSBjcmVhdGVGZWF0dXJlU2VsZWN0b3I8Rm9ybVN0YXRlPERUTywgRVJST1I+PihmZWF0dXJlTmFtZSk7XHJcbiAgY29uc3Qgc2VsZWN0b3JzID0gY3JlYXRlRm9ybVNlbGVjdG9ycyhnZXRTdGF0ZSk7XHJcblxyXG4gIHJldHVybiB7XHJcbiAgICBhY3Rpb25zLFxyXG4gICAgcmVkdWNlcjogKHN0YXRlOiBGb3JtU3RhdGU8RFRPLCBFUlJPUj4sIGFjdGlvbjogQWN0aW9uKTogRm9ybVN0YXRlPERUTywgRVJST1I+ID0+IHJlZHVjZXIoc3RhdGUsIGFjdGlvbiksXHJcbiAgICBzZWxlY3RvcnNcclxuICB9O1xyXG59XHJcbiJdfQ==
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import { InjectionToken } from '@angular/core';
|
|
2
|
-
export const FORM_FEATURE_KEY = new InjectionToken('FORM_FEATURE_KEY');
|
|
1
|
+
import { InjectionToken } from '@angular/core';
|
|
2
|
+
export const FORM_FEATURE_KEY = new InjectionToken('FORM_FEATURE_KEY');
|
|
3
3
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbmdkdXgvdXRpbC9zdG9yZS9mb3JtL3NyYy9saWIvbW9kZWxzL2Zvcm0ubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQU0vQyxNQUFNLENBQUMsTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLGNBQWMsQ0FBUyxrQkFBa0IsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0aW9uVG9rZW4gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgUmVxdWVzdFN0YXRlIH0gZnJvbSAnQG5nZHV4L2RhdGEtbW9kZWwtY29tbW9uJztcclxuaW1wb3J0IHsgQXBpUmVxdWVzdFN0YXRlLCBMb2FkaW5nU3RhdGUgfSBmcm9tICdAbmdkdXgvc3RvcmUtY29tbW9uJztcclxuaW1wb3J0IHsgQWN0aW9uQ3JlYXRvciwgTWVtb2l6ZWRTZWxlY3RvciB9IGZyb20gJ0BuZ3J4L3N0b3JlJztcclxuaW1wb3J0IHsgVHlwZWRBY3Rpb24gfSBmcm9tICdAbmdyeC9zdG9yZS9zcmMvbW9kZWxzJztcclxuXHJcbmV4cG9ydCBjb25zdCBGT1JNX0ZFQVRVUkVfS0VZID0gbmV3IEluamVjdGlvblRva2VuPHN0cmluZz4oJ0ZPUk1fRkVBVFVSRV9LRVknKTtcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgRm9ybVN0YXRlPFQsIEU+IGV4dGVuZHMgQXBpUmVxdWVzdFN0YXRlPEU+LCBMb2FkaW5nU3RhdGUge1xyXG4gIHJlc291cmNlPzogVDtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBGb3JtU2VsZWN0b3JzPFQsIEU+IHtcclxuICBnZXRSZXF1ZXN0U3RhdGU6IE1lbW9pemVkU2VsZWN0b3I8b2JqZWN0LCBSZXF1ZXN0U3RhdGU+O1xyXG4gIGdldExvYWRpbmdTdGF0ZTogTWVtb2l6ZWRTZWxlY3RvcjxvYmplY3QsIFJlcXVlc3RTdGF0ZT47XHJcbiAgZ2V0RXJyb3JzOiBNZW1vaXplZFNlbGVjdG9yPG9iamVjdCwgRSB8IHVuZGVmaW5lZD47XHJcbiAgZ2V0UmVzb3VyY2U6IE1lbW9pemVkU2VsZWN0b3I8b2JqZWN0LCBUIHwgdW5kZWZpbmVkPjtcclxuICBpc1JlYWR5OiBNZW1vaXplZFNlbGVjdG9yPG9iamVjdCwgYm9vbGVhbj47XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgRm9ybUFjdGlvbnM8RFRPLCBFUlJPUiwgQ1JFQVRFX0RUTyA9IERUTz4ge1xyXG4gIGxvYWQ6IEFjdGlvbkNyZWF0b3I8c3RyaW5nLCAocHJvcHM6IHsgaWQ6IHN0cmluZyB9KSA9PiB7IGlkOiBzdHJpbmcgfSAmIFR5cGVkQWN0aW9uPHN0cmluZz4+O1xyXG4gIGxvYWRTdWNjZXNzOiBBY3Rpb25DcmVhdG9yPHN0cmluZywgKHByb3BzOiB7IHJlc291cmNlOiBEVE8gfSkgPT4geyByZXNvdXJjZTogRFRPIH0gJiBUeXBlZEFjdGlvbjxzdHJpbmc+PjtcclxuICBsb2FkRmFpbHVyZTogQWN0aW9uQ3JlYXRvcjxzdHJpbmcsIChwcm9wczogeyBlcnJvcnM6IEVSUk9SIH0pID0+IHsgZXJyb3JzOiBFUlJPUiB9ICYgVHlwZWRBY3Rpb248c3RyaW5nPj47XHJcblxyXG4gIHNhdmU6IEFjdGlvbkNyZWF0b3I8c3RyaW5nLCAocHJvcHM6IHsgcmVzb3VyY2U6IERUTyB9KSA9PiB7IHJlc291cmNlOiBEVE8gfSAmIFR5cGVkQWN0aW9uPHN0cmluZz4+O1xyXG4gIHNhdmVTdWNjZXNzOiBBY3Rpb25DcmVhdG9yPHN0cmluZywgKHByb3BzOiB7IHJlc291cmNlOiBEVE8gfSkgPT4geyByZXNvdXJjZTogRFRPIH0gJiBUeXBlZEFjdGlvbjxzdHJpbmc+PjtcclxuICBzYXZlRmFpbHVyZTogQWN0aW9uQ3JlYXRvcjxzdHJpbmcsIChwcm9wczogeyBlcnJvcnM6IEVSUk9SIH0pID0+IHsgZXJyb3JzOiBFUlJPUiB9ICYgVHlwZWRBY3Rpb248c3RyaW5nPj47XHJcblxyXG4gIGRlbGV0ZTogQWN0aW9uQ3JlYXRvcjxzdHJpbmcsIChwcm9wczogeyBpZDogc3RyaW5nIH0pID0+IHsgaWQ6IHN0cmluZyB9ICYgVHlwZWRBY3Rpb248c3RyaW5nPj47XHJcbiAgZGVsZXRlU3VjY2VzczogQWN0aW9uQ3JlYXRvcjxzdHJpbmcsIChwcm9wczogeyBpZDogc3RyaW5nIH0pID0+IHsgaWQ6IHN0cmluZyB9ICYgVHlwZWRBY3Rpb248c3RyaW5nPj47XHJcbiAgZGVsZXRlRmFpbHVyZTogQWN0aW9uQ3JlYXRvcjxzdHJpbmcsIChwcm9wczogeyBlcnJvcnM6IEVSUk9SIH0pID0+IHsgZXJyb3JzOiBFUlJPUiB9ICYgVHlwZWRBY3Rpb248c3RyaW5nPj47XHJcblxyXG4gIGNyZWF0ZTogQWN0aW9uQ3JlYXRvcjxzdHJpbmcsIChwcm9wczogeyByZXNvdXJjZTogQ1JFQVRFX0RUTyB9KSA9PiB7IHJlc291cmNlOiBDUkVBVEVfRFRPIH0gJiBUeXBlZEFjdGlvbjxzdHJpbmc+PjtcclxuICBjcmVhdGVTdWNjZXNzOiBBY3Rpb25DcmVhdG9yPHN0cmluZywgKHByb3BzOiB7IHJlc291cmNlOiBEVE8gfSkgPT4geyByZXNvdXJjZTogRFRPIH0gJiBUeXBlZEFjdGlvbjxzdHJpbmc+PjtcclxuICBjcmVhdGVGYWlsdXJlOiBBY3Rpb25DcmVhdG9yPHN0cmluZywgKHByb3BzOiB7IGVycm9yczogRVJST1IgfSkgPT4geyBlcnJvcnM6IEVSUk9SIH0gJiBUeXBlZEFjdGlvbjxzdHJpbmc+PjtcclxuXHJcbiAgcmVzZXQ6IEFjdGlvbkNyZWF0b3I8c3RyaW5nLCAoKSA9PiBUeXBlZEFjdGlvbjxzdHJpbmc+PjtcclxufVxyXG4iXX0=
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Generated bundle index. Do not edit.
|
|
3
|
-
*/
|
|
4
|
-
export * from './index';
|
|
1
|
+
/**
|
|
2
|
+
* Generated bundle index. Do not edit.
|
|
3
|
+
*/
|
|
4
|
+
export * from './index';
|
|
5
5
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmdkdXgtZm9ybS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbmdkdXgvdXRpbC9zdG9yZS9mb3JtL3NyYy9uZ2R1eC1mb3JtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxTQUFTLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vaW5kZXgnO1xuIl19
|