@ngdux/form 0.1.7 → 0.1.9
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 +3 -5
- package/esm2020/lib/+state/abstract-form-effects.mjs +2 -17
- package/esm2020/lib/+state/form-actions.mjs +2 -8
- package/esm2020/lib/+state/form-reducer.mjs +1 -6
- package/esm2020/lib/models/form.model.mjs +1 -1
- package/fesm2015/ngdux-form.mjs +2 -24
- package/fesm2015/ngdux-form.mjs.map +1 -1
- package/fesm2020/ngdux-form.mjs +2 -28
- package/fesm2020/ngdux-form.mjs.map +1 -1
- package/lib/+state/abstract-form-effects.d.ts +1 -14
- package/lib/models/form.model.d.ts +0 -7
- package/package.json +3 -4
package/README.md
CHANGED
|
@@ -64,7 +64,6 @@ export const formSelectors = createFormSelectors(getState);
|
|
|
64
64
|
|
|
65
65
|
```
|
|
66
66
|
import { Injectable } from '@angular/core';
|
|
67
|
-
import { Router } from '@angular/router';
|
|
68
67
|
import { AbstractFormEffects } from '@ngdux/form';
|
|
69
68
|
import { Actions } from '@ngrx/effects';
|
|
70
69
|
import { Store } from '@ngrx/store';
|
|
@@ -76,13 +75,12 @@ import { formActions } from './user.actions';
|
|
|
76
75
|
@Injectable()
|
|
77
76
|
export class UserEffects extends AbstractFormEffects<User, Error> {
|
|
78
77
|
constructor(
|
|
79
|
-
|
|
80
|
-
actions$: Actions,
|
|
78
|
+
actions$: Actions,
|
|
81
79
|
store: Store,
|
|
82
80
|
userService: UserService,
|
|
83
81
|
formNotificationService: FormNotificationService
|
|
84
82
|
) {
|
|
85
|
-
super(
|
|
83
|
+
super(actions$, store, userService, formActions, formNotificationService);
|
|
86
84
|
}
|
|
87
85
|
}
|
|
88
86
|
```
|
|
@@ -139,7 +137,7 @@ export class FormNotificationService implements FormNotificationService<Error> {
|
|
|
139
137
|
this.snackBar.open(errors.message);
|
|
140
138
|
}
|
|
141
139
|
|
|
142
|
-
|
|
140
|
+
onFormDelete(id: string): void {
|
|
143
141
|
this.snackBar.open(`Resource ${id} has been deleted.`);
|
|
144
142
|
}
|
|
145
143
|
}
|
|
@@ -2,8 +2,7 @@ import { createEffect, ofType } from '@ngrx/effects';
|
|
|
2
2
|
import { of } from 'rxjs';
|
|
3
3
|
import { catchError, exhaustMap, map, switchMap, tap } from 'rxjs/operators';
|
|
4
4
|
export class AbstractFormEffects {
|
|
5
|
-
constructor(
|
|
6
|
-
this.router = router;
|
|
5
|
+
constructor(actions$, store, service, formActions, notificationService) {
|
|
7
6
|
this.actions$ = actions$;
|
|
8
7
|
this.store = store;
|
|
9
8
|
this.service = service;
|
|
@@ -13,23 +12,9 @@ export class AbstractFormEffects {
|
|
|
13
12
|
this.create$ = createEffect(() => this.actions$.pipe(ofType(this.formActions.create), switchMap(action => this.service.createResource(action.resource).pipe(map(resource => this.formActions.createSuccess({ resource })), catchError((errors) => of(this.formActions.createFailure({ errors })))))));
|
|
14
13
|
this.update$ = createEffect(() => this.actions$.pipe(ofType(this.formActions.save), switchMap(({ resource }) => this.service.saveResource(resource).pipe(map(response => this.formActions.saveSuccess({ resource: response })), catchError((errors) => of(this.formActions.saveFailure({ errors })))))));
|
|
15
14
|
this.delete$ = createEffect(() => this.actions$.pipe(ofType(this.formActions.delete), exhaustMap(action => this.service.deleteResource(action.id).pipe(map(() => this.formActions.deleteSuccess({ id: action.id })), catchError((errors) => of(this.formActions.deleteFailure({ errors })))))));
|
|
16
|
-
this.deleteSuccess$ = createEffect(() => this.actions$.pipe(ofType(this.formActions.deleteSuccess), tap(({ id }) => {
|
|
17
|
-
this.notificationService.onDelete(id);
|
|
18
|
-
this.router.navigate(['..']);
|
|
19
|
-
})));
|
|
20
|
-
this.createSuccess$ = createEffect(() => this.actions$.pipe(ofType(this.formActions.createSuccess), tap(() => {
|
|
21
|
-
this.router.navigate(['..']);
|
|
22
|
-
})));
|
|
23
|
-
this.navigateToCreateResource$ = createEffect(() => this.actions$.pipe(ofType(this.formActions.navigateToCreate), map(() => this.formActions.reset()), tap(() => {
|
|
24
|
-
this.router.navigate(['..']);
|
|
25
|
-
})));
|
|
26
|
-
this.copy$ = createEffect(() => this.actions$.pipe(ofType(this.formActions.copy), tap(() => {
|
|
27
|
-
this.router.navigate(['..']);
|
|
28
|
-
})), { dispatch: false });
|
|
29
|
-
this.copySelected$ = createEffect(() => this.actions$.pipe(ofType(this.formActions.copySelected), map(({ id }) => this.formActions.load({ id }))));
|
|
30
15
|
this.errorsHandler$ = createEffect(() => this.actions$.pipe(ofType(this.formActions.saveFailure, this.formActions.loadFailure, this.formActions.deleteFailure, this.formActions.createFailure), tap(({ errors }) => {
|
|
31
16
|
this.notificationService.onFormErrors(errors);
|
|
32
17
|
})), { dispatch: false });
|
|
33
18
|
}
|
|
34
19
|
}
|
|
35
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJzdHJhY3QtZm9ybS1lZmZlY3RzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9uZ2R1eC91dGlsL3N0b3JlL2Zvcm0vc3JjL2xpYi8rc3RhdGUvYWJzdHJhY3QtZm9ybS1lZmZlY3RzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBVyxZQUFZLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTlELE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDMUIsT0FBTyxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUc3RSxNQUFNLE9BQWdCLG1CQUFtQjtJQWdIdkMsWUFDbUIsTUFBYyxFQUNaLFFBQWlCLEVBQ2pCLEtBQVksRUFDZCxPQUF1QixFQUN2QixXQUE4QixFQUM5QixtQkFBK0M7UUFML0MsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUNaLGFBQVEsR0FBUixRQUFRLENBQVM7UUFDakIsVUFBSyxHQUFMLEtBQUssQ0FBTztRQUNkLFlBQU8sR0FBUCxPQUFPLENBQWdCO1FBQ3ZCLGdCQUFXLEdBQVgsV0FBVyxDQUFtQjtRQUM5Qix3QkFBbUIsR0FBbkIsbUJBQW1CLENBQTRCO1FBckhsRSxVQUFLLEdBQUcsWUFBWSxDQUFDLEdBQUcsRUFBRSxDQUN4QixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FDaEIsTUFBTSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEVBQzdCLFNBQVMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxDQUNuQixJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQ2hDLEdBQUcsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxXQUFXLENB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LFdBQVcsQ0FBQyxZQUFZLENBQUMsRUFDckMsR0FBRyxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQy9DLENBQ0YsQ0FBQztRQUVGLG1CQUFjLEdBQUcsWUFBWSxDQUMzQixHQUFHLEVBQUUsQ0FDSCxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FDaEIsTUFBTSxDQUNKLElBQUksQ0FBQyxXQUFXLENBQUMsV0FBVyxFQUM1QixJQUFJLENBQUMsV0FBVyxDQUFDLFdBQVcsRUFDNUIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxhQUFhLEVBQzlCLElBQUksQ0FBQyxXQUFXLENBQUMsYUFBYSxDQUMvQixFQUNELEdBQUcsQ0FBQyxDQUFDLEVBQUUsTUFBTSxFQUFFLEVBQUUsRUFBRTtZQUNqQixJQUFJLENBQUMsbUJBQW1CLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ2hELENBQUMsQ0FBQyxDQUNILEVBQ0gsRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLENBQ3BCLENBQUM7SUFTQyxDQUFDO0NBQ0wiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgRm9ybU5vdGlmaWNhdGlvblNlcnZpY2UsIEZvcm1TZXJ2aWNlIH0gZnJvbSAnQG5nZHV4L2RhdGEtbW9kZWwtY29tbW9uJztcbmltcG9ydCB7IEFjdGlvbnMsIGNyZWF0ZUVmZmVjdCwgb2ZUeXBlIH0gZnJvbSAnQG5ncngvZWZmZWN0cyc7XG5pbXBvcnQgeyBTdG9yZSB9IGZyb20gJ0BuZ3J4L3N0b3JlJztcbmltcG9ydCB7IG9mIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBjYXRjaEVycm9yLCBleGhhdXN0TWFwLCBtYXAsIHN3aXRjaE1hcCwgdGFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgRm9ybUFjdGlvbnMgfSBmcm9tICcuLi9tb2RlbHMvZm9ybS5tb2RlbCc7XG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBBYnN0cmFjdEZvcm1FZmZlY3RzPFQsIEU+IHtcbiAgbG9hZCQgPSBjcmVhdGVFZmZlY3QoKCkgPT5cbiAgICB0aGlzLmFjdGlvbnMkLnBpcGUoXG4gICAgICBvZlR5cGUodGhpcy5mb3JtQWN0aW9ucy5sb2FkKSxcbiAgICAgIHN3aXRjaE1hcCgoeyBpZCB9KSA9PlxuICAgICAgICB0aGlzLnNlcnZpY2UubG9hZFJlc291cmNlKGlkKS5waXBlKFxuICAgICAgICAgIG1hcChyZXNvdXJjZSA9PiB0aGlzLmZvcm1BY3Rpb25zLmxvYWRTdWNjZXNzKHsgcmVzb3VyY2UgfSkpLFxuICAgICAgICAgIGNhdGNoRXJyb3IoKGVycm9yczogRSkgPT4gb2YodGhpcy5mb3JtQWN0aW9ucy5sb2FkRmFpbHVyZSh7IGVycm9ycyB9KSkpXG4gICAgICAgIClcbiAgICAgIClcbiAgICApXG4gICk7XG5cbiAgY3JlYXRlJCA9IGNyZWF0ZUVmZmVjdCgoKSA9PlxuICAgIHRoaXMuYWN0aW9ucyQucGlwZShcbiAgICAgIG9mVHlwZSh0aGlzLmZvcm1BY3Rpb25zLmNyZWF0ZSksXG4gICAgICBzd2l0Y2hNYXAoYWN0aW9uID0+XG4gICAgICAgIHRoaXMuc2VydmljZS5jcmVhdGVSZXNvdXJjZShhY3Rpb24ucmVzb3VyY2UpLnBpcGUoXG4gICAgICAgICAgbWFwKHJlc291cmNlID0+IHRoaXMuZm9ybUFjdGlvbnMuY3JlYXRlU3VjY2Vzcyh7IHJlc291cmNlIH0pKSxcbiAgICAgICAgICBjYXRjaEVycm9yKChlcnJvcnM6IEUpID0+IG9mKHRoaXMuZm9ybUFjdGlvbnMuY3JlYXRlRmFpbHVyZSh7IGVycm9ycyB9KSkpXG4gICAgICAgIClcbiAgICAgIClcbiAgICApXG4gICk7XG5cbiAgdXBkYXRlJCA9IGNyZWF0ZUVmZmVjdCgoKSA9PlxuICAgIHRoaXMuYWN0aW9ucyQucGlwZShcbiAgICAgIG9mVHlwZSh0aGlzLmZvcm1BY3Rpb25zLnNhdmUpLFxuICAgICAgc3dpdGNoTWFwKCh7IHJlc291cmNlIH0pID0+XG4gICAgICAgIHRoaXMuc2VydmljZS5zYXZlUmVzb3VyY2UocmVzb3VyY2UpLnBpcGUoXG4gICAgICAgICAgbWFwKHJlc3BvbnNlID0+IHRoaXMuZm9ybUFjdGlvbnMuc2F2ZVN1Y2Nlc3MoeyByZXNvdXJjZTogcmVzcG9uc2UgfSkpLFxuICAgICAgICAgIGNhdGNoRXJyb3IoKGVycm9yczogRSkgPT4gb2YodGhpcy5mb3JtQWN0aW9ucy5zYXZlRmFpbHVyZSh7IGVycm9ycyB9KSkpXG4gICAgICAgIClcbiAgICAgIClcbiAgICApXG4gICk7XG5cbiAgZGVsZXRlJCA9IGNyZWF0ZUVmZmVjdCgoKSA9PlxuICAgIHRoaXMuYWN0aW9ucyQucGlwZShcbiAgICAgIG9mVHlwZSh0aGlzLmZvcm1BY3Rpb25zLmRlbGV0ZSksXG4gICAgICBleGhhdXN0TWFwKGFjdGlvbiA9PlxuICAgICAgICB0aGlzLnNlcnZpY2UuZGVsZXRlUmVzb3VyY2UoYWN0aW9uLmlkKS5waXBlKFxuICAgICAgICAgIG1hcCgoKSA9PiB0aGlzLmZvcm1BY3Rpb25zLmRlbGV0ZVN1Y2Nlc3MoeyBpZDogYWN0aW9uLmlkIH0pKSxcbiAgICAgICAgICBjYXRjaEVycm9yKChlcnJvcnM6IEUpID0+IG9mKHRoaXMuZm9ybUFjdGlvbnMuZGVsZXRlRmFpbHVyZSh7IGVycm9ycyB9KSkpXG4gICAgICAgIClcbiAgICAgIClcbiAgICApXG4gICk7XG5cbiAgZGVsZXRlU3VjY2VzcyQgPSBjcmVhdGVFZmZlY3QoKCkgPT5cbiAgICB0aGlzLmFjdGlvbnMkLnBpcGUoXG4gICAgICBvZlR5cGUodGhpcy5mb3JtQWN0aW9ucy5kZWxldGVTdWNjZXNzKSxcbiAgICAgIHRhcCgoeyBpZCB9KSA9PiB7XG4gICAgICAgIHRoaXMubm90aWZpY2F0aW9uU2VydmljZS5vbkRlbGV0ZShpZCk7XG4gICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFsnLi4nXSk7XG4gICAgICB9KVxuICAgIClcbiAgKTtcblxuICBjcmVhdGVTdWNjZXNzJCA9IGNyZWF0ZUVmZmVjdCgoKSA9PlxuICAgIHRoaXMuYWN0aW9ucyQucGlwZShcbiAgICAgIG9mVHlwZSh0aGlzLmZvcm1BY3Rpb25zLmNyZWF0ZVN1Y2Nlc3MpLFxuICAgICAgdGFwKCgpID0+IHtcbiAgICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoWycuLiddKTtcbiAgICAgIH0pXG4gICAgKVxuICApO1xuXG4gIG5hdmlnYXRlVG9DcmVhdGVSZXNvdXJjZSQgPSBjcmVhdGVFZmZlY3QoKCkgPT5cbiAgICB0aGlzLmFjdGlvbnMkLnBpcGUoXG4gICAgICBvZlR5cGUodGhpcy5mb3JtQWN0aW9ucy5uYXZpZ2F0ZVRvQ3JlYXRlKSxcbiAgICAgIG1hcCgoKSA9PiB0aGlzLmZvcm1BY3Rpb25zLnJlc2V0KCkpLFxuICAgICAgdGFwKCgpID0+IHtcbiAgICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoWycuLiddKTtcbiAgICAgIH0pXG4gICAgKVxuICApO1xuXG4gIGNvcHkkID0gY3JlYXRlRWZmZWN0KFxuICAgICgpID0+XG4gICAgICB0aGlzLmFjdGlvbnMkLnBpcGUoXG4gICAgICAgIG9mVHlwZSh0aGlzLmZvcm1BY3Rpb25zLmNvcHkpLFxuICAgICAgICB0YXAoKCkgPT4ge1xuICAgICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFsnLi4nXSk7XG4gICAgICAgIH0pXG4gICAgICApLFxuICAgIHsgZGlzcGF0Y2g6IGZhbHNlIH1cbiAgKTtcblxuICBjb3B5U2VsZWN0ZWQkID0gY3JlYXRlRWZmZWN0KCgpID0+XG4gICAgdGhpcy5hY3Rpb25zJC5waXBlKFxuICAgICAgb2ZUeXBlKHRoaXMuZm9ybUFjdGlvbnMuY29weVNlbGVjdGVkKSxcbiAgICAgIG1hcCgoeyBpZCB9KSA9PiB0aGlzLmZvcm1BY3Rpb25zLmxvYWQoeyBpZCB9KSlcbiAgICApXG4gICk7XG5cbiAgZXJyb3JzSGFuZGxlciQgPSBjcmVhdGVFZmZlY3QoXG4gICAgKCkgPT5cbiAgICAgIHRoaXMuYWN0aW9ucyQucGlwZShcbiAgICAgICAgb2ZUeXBlKFxuICAgICAgICAgIHRoaXMuZm9ybUFjdGlvbnMuc2F2ZUZhaWx1cmUsXG4gICAgICAgICAgdGhpcy5mb3JtQWN0aW9ucy5sb2FkRmFpbHVyZSxcbiAgICAgICAgICB0aGlzLmZvcm1BY3Rpb25zLmRlbGV0ZUZhaWx1cmUsXG4gICAgICAgICAgdGhpcy5mb3JtQWN0aW9ucy5jcmVhdGVGYWlsdXJlXG4gICAgICAgICksXG4gICAgICAgIHRhcCgoeyBlcnJvcnMgfSkgPT4ge1xuICAgICAgICAgIHRoaXMubm90aWZpY2F0aW9uU2VydmljZS5vbkZvcm1FcnJvcnMoZXJyb3JzKTtcbiAgICAgICAgfSlcbiAgICAgICksXG4gICAgeyBkaXNwYXRjaDogZmFsc2UgfVxuICApO1xuXG4gIHByb3RlY3RlZCBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IHJvdXRlcjogUm91dGVyLFxuICAgIHByb3RlY3RlZCByZWFkb25seSBhY3Rpb25zJDogQWN0aW9ucyxcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgc3RvcmU6IFN0b3JlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgc2VydmljZTogRm9ybVNlcnZpY2U8VD4sXG4gICAgcHJpdmF0ZSByZWFkb25seSBmb3JtQWN0aW9uczogRm9ybUFjdGlvbnM8VCwgRT4sXG4gICAgcHJpdmF0ZSByZWFkb25seSBub3RpZmljYXRpb25TZXJ2aWNlOiBGb3JtTm90aWZpY2F0aW9uU2VydmljZTxFPlxuICApIHt9XG59XG4iXX0=
|
|
20
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJzdHJhY3QtZm9ybS1lZmZlY3RzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9uZ2R1eC91dGlsL3N0b3JlL2Zvcm0vc3JjL2xpYi8rc3RhdGUvYWJzdHJhY3QtZm9ybS1lZmZlY3RzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBVyxZQUFZLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTlELE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDMUIsT0FBTyxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUc3RSxNQUFNLE9BQWdCLG1CQUFtQjtJQWlFdkMsWUFDcUIsUUFBaUIsRUFDakIsS0FBWSxFQUNkLE9BQXVCLEVBQ3ZCLFdBQThCLEVBQzlCLG1CQUErQztRQUo3QyxhQUFRLEdBQVIsUUFBUSxDQUFTO1FBQ2pCLFVBQUssR0FBTCxLQUFLLENBQU87UUFDZCxZQUFPLEdBQVAsT0FBTyxDQUFnQjtRQUN2QixnQkFBVyxHQUFYLFdBQVcsQ0FBbUI7UUFDOUIsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUE0QjtRQXJFbEUsVUFBSyxHQUFHLFlBQVksQ0FBQyxHQUFHLEVBQUUsQ0FDeEIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQ2hCLE1BQU0sQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxFQUM3QixTQUFTLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsQ0FDbkIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUNoQyxHQUFHLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLFdBQVcsQ0FBQyxFQUFFLFFBQVEsRUFBRSxDQUFDLENBQUMsRUFDM0QsVUFBVSxDQUFDLENBQUMsTUFBUyxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxXQUFXLENBQUMsRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FDeEUsQ0FDRixDQUNGLENBQ0YsQ0FBQztRQUVGLFlBQU8sR0FBRyxZQUFZLENBQUMsR0FBRyxFQUFFLENBQzFCLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUNoQixNQUFNLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsRUFDL0IsU0FBUyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQ2pCLElBQUksQ0FBQyxPQUFPLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxJQUFJLENBQy9DLEdBQUcsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsYUFBYSxDQUFDLEVBQUUsUUFBUSxFQUFFLENBQUMsQ0FBQyxFQUM3RCxVQUFVLENBQUMsQ0FBQyxNQUFTLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FBQyxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUMxRSxDQUNGLENBQ0YsQ0FDRixDQUFDO1FBRUYsWUFBTyxHQUFHLFlBQVksQ0FBQyxHQUFHLEVBQUUsQ0FDMUIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQ2hCLE1BQU0sQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxFQUM3QixTQUFTLENBQUMsQ0FBQyxFQUFFLFFBQVEsRUFBRSxFQUFFLEVBQUUsQ0FDekIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLENBQUMsSUFBSSxDQUN0QyxHQUFHLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLFdBQVcsQ0FBQyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsQ0FBQyxDQUFDLEVBQ3JFLFVBQVUsQ0FBQyxDQUFDLE1BQVMsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsV0FBVyxDQUFDLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQ3hFLENBQ0YsQ0FDRixDQUNGLENBQUM7UUFFRixZQUFPLEdBQUcsWUFBWSxDQUFDLEdBQUcsRUFBRSxDQUMxQixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FDaEIsTUFBTSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLEVBQy9CLFVBQVUsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUNsQixJQUFJLENBQUMsT0FBTyxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUN6QyxHQUFHLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxhQUFhLENBQUMsRUFBRSxFQUFFLEVBQUUsTUFBTSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFDNUQsVUFBVSxDQUFDLENBQUMsTUFBUyxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxhQUFhLENBQUMsRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FDMUUsQ0FDRixDQUNGLENBQ0YsQ0FBQztRQUVGLG1CQUFjLEdBQUcsWUFBWSxDQUMzQixHQUFHLEVBQUUsQ0FDSCxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FDaEIsTUFBTSxDQUNKLElBQUksQ0FBQyxXQUFXLENBQUMsV0FBVyxFQUM1QixJQUFJLENBQUMsV0FBVyxDQUFDLFdBQVcsRUFDNUIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxhQUFhLEVBQzlCLElBQUksQ0FBQyxXQUFXLENBQUMsYUFBYSxDQUMvQixFQUNELEdBQUcsQ0FBQyxDQUFDLEVBQUUsTUFBTSxFQUFFLEVBQUUsRUFBRTtZQUNqQixJQUFJLENBQUMsbUJBQW1CLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ2hELENBQUMsQ0FBQyxDQUNILEVBQ0gsRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLENBQ3BCLENBQUM7SUFRQyxDQUFDO0NBQ0wiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGb3JtTm90aWZpY2F0aW9uU2VydmljZSwgRm9ybVNlcnZpY2UgfSBmcm9tICdAbmdkdXgvZGF0YS1tb2RlbC1jb21tb24nO1xuaW1wb3J0IHsgQWN0aW9ucywgY3JlYXRlRWZmZWN0LCBvZlR5cGUgfSBmcm9tICdAbmdyeC9lZmZlY3RzJztcbmltcG9ydCB7IFN0b3JlIH0gZnJvbSAnQG5ncngvc3RvcmUnO1xuaW1wb3J0IHsgb2YgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGNhdGNoRXJyb3IsIGV4aGF1c3RNYXAsIG1hcCwgc3dpdGNoTWFwLCB0YXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBGb3JtQWN0aW9ucyB9IGZyb20gJy4uL21vZGVscy9mb3JtLm1vZGVsJztcblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEFic3RyYWN0Rm9ybUVmZmVjdHM8VCwgRT4ge1xuICBsb2FkJCA9IGNyZWF0ZUVmZmVjdCgoKSA9PlxuICAgIHRoaXMuYWN0aW9ucyQucGlwZShcbiAgICAgIG9mVHlwZSh0aGlzLmZvcm1BY3Rpb25zLmxvYWQpLFxuICAgICAgc3dpdGNoTWFwKCh7IGlkIH0pID0+XG4gICAgICAgIHRoaXMuc2VydmljZS5sb2FkUmVzb3VyY2UoaWQpLnBpcGUoXG4gICAgICAgICAgbWFwKHJlc291cmNlID0+IHRoaXMuZm9ybUFjdGlvbnMubG9hZFN1Y2Nlc3MoeyByZXNvdXJjZSB9KSksXG4gICAgICAgICAgY2F0Y2hFcnJvcigoZXJyb3JzOiBFKSA9PiBvZih0aGlzLmZvcm1BY3Rpb25zLmxvYWRGYWlsdXJlKHsgZXJyb3JzIH0pKSlcbiAgICAgICAgKVxuICAgICAgKVxuICAgIClcbiAgKTtcblxuICBjcmVhdGUkID0gY3JlYXRlRWZmZWN0KCgpID0+XG4gICAgdGhpcy5hY3Rpb25zJC5waXBlKFxuICAgICAgb2ZUeXBlKHRoaXMuZm9ybUFjdGlvbnMuY3JlYXRlKSxcbiAgICAgIHN3aXRjaE1hcChhY3Rpb24gPT5cbiAgICAgICAgdGhpcy5zZXJ2aWNlLmNyZWF0ZVJlc291cmNlKGFjdGlvbi5yZXNvdXJjZSkucGlwZShcbiAgICAgICAgICBtYXAocmVzb3VyY2UgPT4gdGhpcy5mb3JtQWN0aW9ucy5jcmVhdGVTdWNjZXNzKHsgcmVzb3VyY2UgfSkpLFxuICAgICAgICAgIGNhdGNoRXJyb3IoKGVycm9yczogRSkgPT4gb2YodGhpcy5mb3JtQWN0aW9ucy5jcmVhdGVGYWlsdXJlKHsgZXJyb3JzIH0pKSlcbiAgICAgICAgKVxuICAgICAgKVxuICAgIClcbiAgKTtcblxuICB1cGRhdGUkID0gY3JlYXRlRWZmZWN0KCgpID0+XG4gICAgdGhpcy5hY3Rpb25zJC5waXBlKFxuICAgICAgb2ZUeXBlKHRoaXMuZm9ybUFjdGlvbnMuc2F2ZSksXG4gICAgICBzd2l0Y2hNYXAoKHsgcmVzb3VyY2UgfSkgPT5cbiAgICAgICAgdGhpcy5zZXJ2aWNlLnNhdmVSZXNvdXJjZShyZXNvdXJjZSkucGlwZShcbiAgICAgICAgICBtYXAocmVzcG9uc2UgPT4gdGhpcy5mb3JtQWN0aW9ucy5zYXZlU3VjY2Vzcyh7IHJlc291cmNlOiByZXNwb25zZSB9KSksXG4gICAgICAgICAgY2F0Y2hFcnJvcigoZXJyb3JzOiBFKSA9PiBvZih0aGlzLmZvcm1BY3Rpb25zLnNhdmVGYWlsdXJlKHsgZXJyb3JzIH0pKSlcbiAgICAgICAgKVxuICAgICAgKVxuICAgIClcbiAgKTtcblxuICBkZWxldGUkID0gY3JlYXRlRWZmZWN0KCgpID0+XG4gICAgdGhpcy5hY3Rpb25zJC5waXBlKFxuICAgICAgb2ZUeXBlKHRoaXMuZm9ybUFjdGlvbnMuZGVsZXRlKSxcbiAgICAgIGV4aGF1c3RNYXAoYWN0aW9uID0+XG4gICAgICAgIHRoaXMuc2VydmljZS5kZWxldGVSZXNvdXJjZShhY3Rpb24uaWQpLnBpcGUoXG4gICAgICAgICAgbWFwKCgpID0+IHRoaXMuZm9ybUFjdGlvbnMuZGVsZXRlU3VjY2Vzcyh7IGlkOiBhY3Rpb24uaWQgfSkpLFxuICAgICAgICAgIGNhdGNoRXJyb3IoKGVycm9yczogRSkgPT4gb2YodGhpcy5mb3JtQWN0aW9ucy5kZWxldGVGYWlsdXJlKHsgZXJyb3JzIH0pKSlcbiAgICAgICAgKVxuICAgICAgKVxuICAgIClcbiAgKTtcblxuICBlcnJvcnNIYW5kbGVyJCA9IGNyZWF0ZUVmZmVjdChcbiAgICAoKSA9PlxuICAgICAgdGhpcy5hY3Rpb25zJC5waXBlKFxuICAgICAgICBvZlR5cGUoXG4gICAgICAgICAgdGhpcy5mb3JtQWN0aW9ucy5zYXZlRmFpbHVyZSxcbiAgICAgICAgICB0aGlzLmZvcm1BY3Rpb25zLmxvYWRGYWlsdXJlLFxuICAgICAgICAgIHRoaXMuZm9ybUFjdGlvbnMuZGVsZXRlRmFpbHVyZSxcbiAgICAgICAgICB0aGlzLmZvcm1BY3Rpb25zLmNyZWF0ZUZhaWx1cmVcbiAgICAgICAgKSxcbiAgICAgICAgdGFwKCh7IGVycm9ycyB9KSA9PiB7XG4gICAgICAgICAgdGhpcy5ub3RpZmljYXRpb25TZXJ2aWNlLm9uRm9ybUVycm9ycyhlcnJvcnMpO1xuICAgICAgICB9KVxuICAgICAgKSxcbiAgICB7IGRpc3BhdGNoOiBmYWxzZSB9XG4gICk7XG5cbiAgcHJvdGVjdGVkIGNvbnN0cnVjdG9yKFxuICAgIHByb3RlY3RlZCByZWFkb25seSBhY3Rpb25zJDogQWN0aW9ucyxcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgc3RvcmU6IFN0b3JlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgc2VydmljZTogRm9ybVNlcnZpY2U8VD4sXG4gICAgcHJpdmF0ZSByZWFkb25seSBmb3JtQWN0aW9uczogRm9ybUFjdGlvbnM8VCwgRT4sXG4gICAgcHJpdmF0ZSByZWFkb25seSBub3RpZmljYXRpb25TZXJ2aWNlOiBGb3JtTm90aWZpY2F0aW9uU2VydmljZTxFPlxuICApIHt9XG59XG4iXX0=
|
|
@@ -9,13 +9,10 @@ export function createFormActions(featureName) {
|
|
|
9
9
|
const deleteAction = createAction(`[${featureName} API] Delete ${featureName}`, props());
|
|
10
10
|
const deleteSuccess = createAction(`[${featureName} API] Delete ${featureName} Success`, props());
|
|
11
11
|
const deleteFailure = createAction(`[${featureName} API] Delete ${featureName} Failure`, props());
|
|
12
|
-
const navigateToCreate = createAction(`[${featureName} Page] Navigate to Create ${featureName}`);
|
|
13
12
|
const create = createAction(`[${featureName} API] Create ${featureName}`, props());
|
|
14
13
|
const createSuccess = createAction(`[${featureName} API] Create ${featureName} Success`, props());
|
|
15
14
|
const createFailure = createAction(`[${featureName} API] Create ${featureName} Failure`, props());
|
|
16
15
|
const reset = createAction(`[${featureName} API] Reset ${featureName}`);
|
|
17
|
-
const copy = createAction(`[${featureName} Page] Copy ${featureName}`);
|
|
18
|
-
const copySelected = createAction(`[${featureName} Page] Copy Selected ${featureName}`, props());
|
|
19
16
|
return {
|
|
20
17
|
load,
|
|
21
18
|
loadSuccess,
|
|
@@ -26,13 +23,10 @@ export function createFormActions(featureName) {
|
|
|
26
23
|
delete: deleteAction,
|
|
27
24
|
deleteSuccess,
|
|
28
25
|
deleteFailure,
|
|
29
|
-
navigateToCreate,
|
|
30
26
|
create,
|
|
31
27
|
createSuccess,
|
|
32
28
|
createFailure,
|
|
33
|
-
reset
|
|
34
|
-
copy,
|
|
35
|
-
copySelected
|
|
29
|
+
reset
|
|
36
30
|
};
|
|
37
31
|
}
|
|
38
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
32
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1hY3Rpb25zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9uZ2R1eC91dGlsL3N0b3JlL2Zvcm0vc3JjL2xpYi8rc3RhdGUvZm9ybS1hY3Rpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBR2xELE1BQU0sVUFBVSxpQkFBaUIsQ0FBTyxXQUFtQjtJQUN6RCxNQUFNLElBQUksR0FBRyxZQUFZLENBQUMsSUFBSSxXQUFXLGNBQWMsV0FBVyxFQUFFLEVBQUUsS0FBSyxFQUFrQixDQUFDLENBQUM7SUFDL0YsTUFBTSxXQUFXLEdBQUcsWUFBWSxDQUFDLElBQUksV0FBVyxjQUFjLFdBQVcsVUFBVSxFQUFFLEtBQUssRUFBbUIsQ0FBQyxDQUFDO0lBQy9HLE1BQU0sV0FBVyxHQUFHLFlBQVksQ0FBQyxJQUFJLFdBQVcsY0FBYyxXQUFXLFVBQVUsRUFBRSxLQUFLLEVBQWlCLENBQUMsQ0FBQztJQUU3RyxNQUFNLElBQUksR0FBRyxZQUFZLENBQUMsSUFBSSxXQUFXLGNBQWMsV0FBVyxFQUFFLEVBQUUsS0FBSyxFQUFtQixDQUFDLENBQUM7SUFDaEcsTUFBTSxXQUFXLEdBQUcsWUFBWSxDQUFDLElBQUksV0FBVyxjQUFjLFdBQVcsVUFBVSxFQUFFLEtBQUssRUFBbUIsQ0FBQyxDQUFDO0lBQy9HLE1BQU0sV0FBVyxHQUFHLFlBQVksQ0FBQyxJQUFJLFdBQVcsY0FBYyxXQUFXLFVBQVUsRUFBRSxLQUFLLEVBQWlCLENBQUMsQ0FBQztJQUU3RyxNQUFNLFlBQVksR0FBRyxZQUFZLENBQUMsSUFBSSxXQUFXLGdCQUFnQixXQUFXLEVBQUUsRUFBRSxLQUFLLEVBQWtCLENBQUMsQ0FBQztJQUN6RyxNQUFNLGFBQWEsR0FBRyxZQUFZLENBQUMsSUFBSSxXQUFXLGdCQUFnQixXQUFXLFVBQVUsRUFBRSxLQUFLLEVBQWtCLENBQUMsQ0FBQztJQUNsSCxNQUFNLGFBQWEsR0FBRyxZQUFZLENBQUMsSUFBSSxXQUFXLGdCQUFnQixXQUFXLFVBQVUsRUFBRSxLQUFLLEVBQWlCLENBQUMsQ0FBQztJQUVqSCxNQUFNLE1BQU0sR0FBRyxZQUFZLENBQUMsSUFBSSxXQUFXLGdCQUFnQixXQUFXLEVBQUUsRUFBRSxLQUFLLEVBQW1CLENBQUMsQ0FBQztJQUNwRyxNQUFNLGFBQWEsR0FBRyxZQUFZLENBQUMsSUFBSSxXQUFXLGdCQUFnQixXQUFXLFVBQVUsRUFBRSxLQUFLLEVBQW1CLENBQUMsQ0FBQztJQUNuSCxNQUFNLGFBQWEsR0FBRyxZQUFZLENBQUMsSUFBSSxXQUFXLGdCQUFnQixXQUFXLFVBQVUsRUFBRSxLQUFLLEVBQWlCLENBQUMsQ0FBQztJQUVqSCxNQUFNLEtBQUssR0FBRyxZQUFZLENBQUMsSUFBSSxXQUFXLGVBQWUsV0FBVyxFQUFFLENBQUMsQ0FBQztJQUV4RSxPQUFPO1FBQ0wsSUFBSTtRQUNKLFdBQVc7UUFDWCxXQUFXO1FBQ1gsSUFBSTtRQUNKLFdBQVc7UUFDWCxXQUFXO1FBQ1gsTUFBTSxFQUFFLFlBQVk7UUFDcEIsYUFBYTtRQUNiLGFBQWE7UUFDYixNQUFNO1FBQ04sYUFBYTtRQUNiLGFBQWE7UUFDYixLQUFLO0tBQ04sQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjcmVhdGVBY3Rpb24sIHByb3BzIH0gZnJvbSAnQG5ncngvc3RvcmUnO1xuaW1wb3J0IHsgRm9ybUFjdGlvbnMgfSBmcm9tICcuLi9tb2RlbHMvZm9ybS5tb2RlbCc7XG5cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVGb3JtQWN0aW9uczxULCBFPihmZWF0dXJlTmFtZTogc3RyaW5nKTogRm9ybUFjdGlvbnM8VCwgRT4ge1xuICBjb25zdCBsb2FkID0gY3JlYXRlQWN0aW9uKGBbJHtmZWF0dXJlTmFtZX0gQVBJXSBMb2FkICR7ZmVhdHVyZU5hbWV9YCwgcHJvcHM8eyBpZDogc3RyaW5nIH0+KCkpO1xuICBjb25zdCBsb2FkU3VjY2VzcyA9IGNyZWF0ZUFjdGlvbihgWyR7ZmVhdHVyZU5hbWV9IEFQSV0gTG9hZCAke2ZlYXR1cmVOYW1lfSBTdWNjZXNzYCwgcHJvcHM8eyByZXNvdXJjZTogVCB9PigpKTtcbiAgY29uc3QgbG9hZEZhaWx1cmUgPSBjcmVhdGVBY3Rpb24oYFske2ZlYXR1cmVOYW1lfSBBUEldIExvYWQgJHtmZWF0dXJlTmFtZX0gRmFpbHVyZWAsIHByb3BzPHsgZXJyb3JzOiBFIH0+KCkpO1xuXG4gIGNvbnN0IHNhdmUgPSBjcmVhdGVBY3Rpb24oYFske2ZlYXR1cmVOYW1lfSBBUEldIFNhdmUgJHtmZWF0dXJlTmFtZX1gLCBwcm9wczx7IHJlc291cmNlOiBUIH0+KCkpO1xuICBjb25zdCBzYXZlU3VjY2VzcyA9IGNyZWF0ZUFjdGlvbihgWyR7ZmVhdHVyZU5hbWV9IEFQSV0gU2F2ZSAke2ZlYXR1cmVOYW1lfSBTdWNjZXNzYCwgcHJvcHM8eyByZXNvdXJjZTogVCB9PigpKTtcbiAgY29uc3Qgc2F2ZUZhaWx1cmUgPSBjcmVhdGVBY3Rpb24oYFske2ZlYXR1cmVOYW1lfSBBUEldIFNhdmUgJHtmZWF0dXJlTmFtZX0gRmFpbHVyZWAsIHByb3BzPHsgZXJyb3JzOiBFIH0+KCkpO1xuXG4gIGNvbnN0IGRlbGV0ZUFjdGlvbiA9IGNyZWF0ZUFjdGlvbihgWyR7ZmVhdHVyZU5hbWV9IEFQSV0gRGVsZXRlICR7ZmVhdHVyZU5hbWV9YCwgcHJvcHM8eyBpZDogc3RyaW5nIH0+KCkpO1xuICBjb25zdCBkZWxldGVTdWNjZXNzID0gY3JlYXRlQWN0aW9uKGBbJHtmZWF0dXJlTmFtZX0gQVBJXSBEZWxldGUgJHtmZWF0dXJlTmFtZX0gU3VjY2Vzc2AsIHByb3BzPHsgaWQ6IHN0cmluZyB9PigpKTtcbiAgY29uc3QgZGVsZXRlRmFpbHVyZSA9IGNyZWF0ZUFjdGlvbihgWyR7ZmVhdHVyZU5hbWV9IEFQSV0gRGVsZXRlICR7ZmVhdHVyZU5hbWV9IEZhaWx1cmVgLCBwcm9wczx7IGVycm9yczogRSB9PigpKTtcblxuICBjb25zdCBjcmVhdGUgPSBjcmVhdGVBY3Rpb24oYFske2ZlYXR1cmVOYW1lfSBBUEldIENyZWF0ZSAke2ZlYXR1cmVOYW1lfWAsIHByb3BzPHsgcmVzb3VyY2U6IFQgfT4oKSk7XG4gIGNvbnN0IGNyZWF0ZVN1Y2Nlc3MgPSBjcmVhdGVBY3Rpb24oYFske2ZlYXR1cmVOYW1lfSBBUEldIENyZWF0ZSAke2ZlYXR1cmVOYW1lfSBTdWNjZXNzYCwgcHJvcHM8eyByZXNvdXJjZTogVCB9PigpKTtcbiAgY29uc3QgY3JlYXRlRmFpbHVyZSA9IGNyZWF0ZUFjdGlvbihgWyR7ZmVhdHVyZU5hbWV9IEFQSV0gQ3JlYXRlICR7ZmVhdHVyZU5hbWV9IEZhaWx1cmVgLCBwcm9wczx7IGVycm9yczogRSB9PigpKTtcblxuICBjb25zdCByZXNldCA9IGNyZWF0ZUFjdGlvbihgWyR7ZmVhdHVyZU5hbWV9IEFQSV0gUmVzZXQgJHtmZWF0dXJlTmFtZX1gKTtcblxuICByZXR1cm4ge1xuICAgIGxvYWQsXG4gICAgbG9hZFN1Y2Nlc3MsXG4gICAgbG9hZEZhaWx1cmUsXG4gICAgc2F2ZSxcbiAgICBzYXZlU3VjY2VzcyxcbiAgICBzYXZlRmFpbHVyZSxcbiAgICBkZWxldGU6IGRlbGV0ZUFjdGlvbixcbiAgICBkZWxldGVTdWNjZXNzLFxuICAgIGRlbGV0ZUZhaWx1cmUsXG4gICAgY3JlYXRlLFxuICAgIGNyZWF0ZVN1Y2Nlc3MsXG4gICAgY3JlYXRlRmFpbHVyZSxcbiAgICByZXNldFxuICB9O1xufVxuIl19
|
|
@@ -21,15 +21,10 @@ function createFormActionHandlers(initialFormState, actions) {
|
|
|
21
21
|
...state,
|
|
22
22
|
resource: undefined
|
|
23
23
|
})),
|
|
24
|
-
on(actions.copy, (state) => ({
|
|
25
|
-
...state,
|
|
26
|
-
loadingState: RequestState.IDLE,
|
|
27
|
-
requestState: RequestState.IDLE
|
|
28
|
-
})),
|
|
29
24
|
...createRequestStateActionHandlers(actions.load, actions.save, actions.saveSuccess, actions.saveFailure),
|
|
30
25
|
...createRequestStateActionHandlers(undefined, actions.create, actions.createSuccess, actions.createFailure),
|
|
31
26
|
...createRequestStateActionHandlers(undefined, actions.delete, actions.deleteSuccess, actions.deleteFailure),
|
|
32
27
|
...createLoadingStateActionHandlers(actions.load, actions.loadSuccess, actions.loadFailure)
|
|
33
28
|
];
|
|
34
29
|
}
|
|
35
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
30
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1yZWR1Y2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9uZ2R1eC91dGlsL3N0b3JlL2Zvcm0vc3JjL2xpYi8rc3RhdGUvZm9ybS1yZWR1Y2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUN4RCxPQUFPLEVBQUUsZ0NBQWdDLEVBQUUsZ0NBQWdDLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN6RyxPQUFPLEVBQWdDLGFBQWEsRUFBVyxFQUFFLEVBQWdCLE1BQU0sYUFBYSxDQUFDO0FBR3JHLE1BQU0sVUFBVSxpQkFBaUIsQ0FDL0IsT0FBMEIsRUFDMUIsY0FBaUUsRUFDakUsZ0JBQXlCO0lBRXpCLE1BQU0sWUFBWSxHQUFvQixFQUFFLEdBQUcsc0JBQXNCLEVBQVEsRUFBRSxHQUFHLGdCQUFnQixFQUFFLENBQUM7SUFDakcsT0FBTyxhQUFhLENBQ2xCLFlBQVksRUFDWixHQUFHLHdCQUF3QixDQUFPLFlBQVksRUFBRSxPQUFPLENBQUMsRUFDeEQsR0FBRyxDQUFDLGNBQWMsSUFBSSxFQUFFLENBQUMsQ0FDMUIsQ0FBQztBQUNKLENBQUM7QUFFRCxTQUFTLHNCQUFzQjtJQUM3QixPQUFPO1FBQ0wsUUFBUSxFQUFFLFNBQVM7UUFDbkIsWUFBWSxFQUFFLFlBQVksQ0FBQyxJQUFJO1FBQy9CLFlBQVksRUFBRSxZQUFZLENBQUMsSUFBSTtRQUMvQixNQUFNLEVBQUUsU0FBUztLQUNsQixDQUFDO0FBQ0osQ0FBQztBQUVELFNBQVMsd0JBQXdCLENBQy9CLGdCQUFpQyxFQUNqQyxPQUEwQjtJQUUxQixPQUFPO1FBQ0wsRUFBRSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsR0FBb0IsRUFBRSxDQUFDLGdCQUFnQixDQUFDO1FBQzFELEVBQUUsQ0FDQSxPQUFPLENBQUMsV0FBVyxFQUNuQixPQUFPLENBQUMsYUFBYSxFQUNyQixPQUFPLENBQUMsV0FBVyxFQUNuQixDQUFDLEtBQXNCLEVBQUUsRUFBRSxRQUFRLEVBQUUsRUFBbUIsRUFBRSxDQUFDLENBQUMsRUFBRSxHQUFHLEtBQUssRUFBRSxRQUFRLEVBQUUsQ0FBQyxDQUNwRjtRQUNELEVBQUUsQ0FDQSxPQUFPLENBQUMsYUFBYSxFQUNyQixDQUFDLEtBQXNCLEVBQW1CLEVBQUUsQ0FBQyxDQUFDO1lBQzVDLEdBQUcsS0FBSztZQUNSLFFBQVEsRUFBRSxTQUFTO1NBQ3BCLENBQUMsQ0FDSDtRQUNELEdBQUcsZ0NBQWdDLENBQ2pDLE9BQU8sQ0FBQyxJQUFJLEVBQ1osT0FBTyxDQUFDLElBQUksRUFDWixPQUFPLENBQUMsV0FBVyxFQUNuQixPQUFPLENBQUMsV0FBVyxDQUNwQjtRQUNELEdBQUcsZ0NBQWdDLENBQ2pDLFNBQVMsRUFDVCxPQUFPLENBQUMsTUFBTSxFQUNkLE9BQU8sQ0FBQyxhQUFhLEVBQ3JCLE9BQU8sQ0FBQyxhQUFhLENBQ3RCO1FBQ0QsR0FBRyxnQ0FBZ0MsQ0FDakMsU0FBUyxFQUNULE9BQU8sQ0FBQyxNQUFNLEVBQ2QsT0FBTyxDQUFDLGFBQWEsRUFDckIsT0FBTyxDQUFDLGFBQWEsQ0FDdEI7UUFDRCxHQUFHLGdDQUFnQyxDQUFrQixPQUFPLENBQUMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxXQUFXLEVBQUUsT0FBTyxDQUFDLFdBQVcsQ0FBQztLQUM3RyxDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFJlcXVlc3RTdGF0ZSB9IGZyb20gJ0BuZ2R1eC9kYXRhLW1vZGVsLWNvbW1vbic7XG5pbXBvcnQgeyBjcmVhdGVMb2FkaW5nU3RhdGVBY3Rpb25IYW5kbGVycywgY3JlYXRlUmVxdWVzdFN0YXRlQWN0aW9uSGFuZGxlcnMgfSBmcm9tICdAbmdkdXgvc3RvcmUtY29tbW9uJztcbmltcG9ydCB7IEFjdGlvbkNyZWF0b3IsIEFjdGlvblJlZHVjZXIsIGNyZWF0ZVJlZHVjZXIsIENyZWF0b3IsIG9uLCBSZWR1Y2VyVHlwZXMgfSBmcm9tICdAbmdyeC9zdG9yZSc7XG5pbXBvcnQgeyBGb3JtQWN0aW9ucywgRm9ybVN0YXRlIH0gZnJvbSAnLi4vbW9kZWxzL2Zvcm0ubW9kZWwnO1xuXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlRm9ybVJlZHVjZXI8VCwgRT4oXG4gIGFjdGlvbnM6IEZvcm1BY3Rpb25zPFQsIEU+LFxuICBhY3Rpb25IYW5kbGVycz86IFJlZHVjZXJUeXBlczxGb3JtU3RhdGU8VCwgRT4sIEFjdGlvbkNyZWF0b3JbXT5bXSxcbiAgaW5pdGlhbEZvcm1TdGF0ZT86IG9iamVjdFxuKTogQWN0aW9uUmVkdWNlcjxGb3JtU3RhdGU8VCwgRT4+IHtcbiAgY29uc3QgaW5pdGlhbFN0YXRlOiBGb3JtU3RhdGU8VCwgRT4gPSB7IC4uLmNyZWF0ZUluaXRpYWxGb3JtU3RhdGU8VCwgRT4oKSwgLi4uaW5pdGlhbEZvcm1TdGF0ZSB9O1xuICByZXR1cm4gY3JlYXRlUmVkdWNlcjxGb3JtU3RhdGU8VCwgRT4+KFxuICAgIGluaXRpYWxTdGF0ZSxcbiAgICAuLi5jcmVhdGVGb3JtQWN0aW9uSGFuZGxlcnM8VCwgRT4oaW5pdGlhbFN0YXRlLCBhY3Rpb25zKSxcbiAgICAuLi4oYWN0aW9uSGFuZGxlcnMgfHwgW10pXG4gICk7XG59XG5cbmZ1bmN0aW9uIGNyZWF0ZUluaXRpYWxGb3JtU3RhdGU8VCwgRT4oKTogRm9ybVN0YXRlPFQsIEU+IHtcbiAgcmV0dXJuIHtcbiAgICByZXNvdXJjZTogdW5kZWZpbmVkLFxuICAgIGxvYWRpbmdTdGF0ZTogUmVxdWVzdFN0YXRlLklETEUsXG4gICAgcmVxdWVzdFN0YXRlOiBSZXF1ZXN0U3RhdGUuSURMRSxcbiAgICBlcnJvcnM6IHVuZGVmaW5lZFxuICB9O1xufVxuXG5mdW5jdGlvbiBjcmVhdGVGb3JtQWN0aW9uSGFuZGxlcnM8VCwgRT4oXG4gIGluaXRpYWxGb3JtU3RhdGU6IEZvcm1TdGF0ZTxULCBFPixcbiAgYWN0aW9uczogRm9ybUFjdGlvbnM8VCwgRT5cbik6IFJlZHVjZXJUeXBlczxGb3JtU3RhdGU8VCwgRT4sIEFjdGlvbkNyZWF0b3I8c3RyaW5nLCBDcmVhdG9yPGFueVtdLCBvYmplY3Q+PltdPltdIHtcbiAgcmV0dXJuIFtcbiAgICBvbihhY3Rpb25zLnJlc2V0LCAoKTogRm9ybVN0YXRlPFQsIEU+ID0+IGluaXRpYWxGb3JtU3RhdGUpLFxuICAgIG9uKFxuICAgICAgYWN0aW9ucy5sb2FkU3VjY2VzcyxcbiAgICAgIGFjdGlvbnMuY3JlYXRlU3VjY2VzcyxcbiAgICAgIGFjdGlvbnMuc2F2ZVN1Y2Nlc3MsXG4gICAgICAoc3RhdGU6IEZvcm1TdGF0ZTxULCBFPiwgeyByZXNvdXJjZSB9KTogRm9ybVN0YXRlPFQsIEU+ID0+ICh7IC4uLnN0YXRlLCByZXNvdXJjZSB9KVxuICAgICksXG4gICAgb24oXG4gICAgICBhY3Rpb25zLmRlbGV0ZVN1Y2Nlc3MsXG4gICAgICAoc3RhdGU6IEZvcm1TdGF0ZTxULCBFPik6IEZvcm1TdGF0ZTxULCBFPiA9PiAoe1xuICAgICAgICAuLi5zdGF0ZSxcbiAgICAgICAgcmVzb3VyY2U6IHVuZGVmaW5lZFxuICAgICAgfSlcbiAgICApLFxuICAgIC4uLmNyZWF0ZVJlcXVlc3RTdGF0ZUFjdGlvbkhhbmRsZXJzPEZvcm1TdGF0ZTxULCBFPiwgRT4oXG4gICAgICBhY3Rpb25zLmxvYWQsXG4gICAgICBhY3Rpb25zLnNhdmUsXG4gICAgICBhY3Rpb25zLnNhdmVTdWNjZXNzLFxuICAgICAgYWN0aW9ucy5zYXZlRmFpbHVyZVxuICAgICksXG4gICAgLi4uY3JlYXRlUmVxdWVzdFN0YXRlQWN0aW9uSGFuZGxlcnM8Rm9ybVN0YXRlPFQsIEU+LCBFPihcbiAgICAgIHVuZGVmaW5lZCxcbiAgICAgIGFjdGlvbnMuY3JlYXRlLFxuICAgICAgYWN0aW9ucy5jcmVhdGVTdWNjZXNzLFxuICAgICAgYWN0aW9ucy5jcmVhdGVGYWlsdXJlXG4gICAgKSxcbiAgICAuLi5jcmVhdGVSZXF1ZXN0U3RhdGVBY3Rpb25IYW5kbGVyczxGb3JtU3RhdGU8VCwgRT4sIEU+KFxuICAgICAgdW5kZWZpbmVkLFxuICAgICAgYWN0aW9ucy5kZWxldGUsXG4gICAgICBhY3Rpb25zLmRlbGV0ZVN1Y2Nlc3MsXG4gICAgICBhY3Rpb25zLmRlbGV0ZUZhaWx1cmVcbiAgICApLFxuICAgIC4uLmNyZWF0ZUxvYWRpbmdTdGF0ZUFjdGlvbkhhbmRsZXJzPEZvcm1TdGF0ZTxULCBFPj4oYWN0aW9ucy5sb2FkLCBhY3Rpb25zLmxvYWRTdWNjZXNzLCBhY3Rpb25zLmxvYWRGYWlsdXJlKVxuICBdO1xufVxuIl19
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbmdkdXgvdXRpbC9zdG9yZS9mb3JtL3NyYy9saWIvbW9kZWxzL2Zvcm0ubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFJlcXVlc3RTdGF0ZSB9IGZyb20gJ0BuZ2R1eC9kYXRhLW1vZGVsLWNvbW1vbic7XG5pbXBvcnQgeyBBcGlSZXF1ZXN0U3RhdGUsIExvYWRpbmdTdGF0ZSB9IGZyb20gJ0BuZ2R1eC9zdG9yZS1jb21tb24nO1xuaW1wb3J0IHsgQWN0aW9uQ3JlYXRvciwgTWVtb2l6ZWRTZWxlY3RvciB9IGZyb20gJ0BuZ3J4L3N0b3JlJztcbmltcG9ydCB7IFR5cGVkQWN0aW9uIH0gZnJvbSAnQG5ncngvc3RvcmUvc3JjL21vZGVscyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgRm9ybVN0YXRlPFQsIEU+IGV4dGVuZHMgQXBpUmVxdWVzdFN0YXRlPEU+LCBMb2FkaW5nU3RhdGUge1xuICByZXNvdXJjZTogVDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBGb3JtU2VsZWN0b3JzPFQsIEU+IHtcbiAgZ2V0UmVxdWVzdFN0YXRlOiBNZW1vaXplZFNlbGVjdG9yPG9iamVjdCwgUmVxdWVzdFN0YXRlPjtcbiAgZ2V0TG9hZGluZ1N0YXRlOiBNZW1vaXplZFNlbGVjdG9yPG9iamVjdCwgUmVxdWVzdFN0YXRlPjtcbiAgZ2V0RXJyb3JzOiBNZW1vaXplZFNlbGVjdG9yPG9iamVjdCwgRT47XG4gIGdldFJlc291cmNlOiBNZW1vaXplZFNlbGVjdG9yPG9iamVjdCwgVD47XG4gIGlzUmVhZHk6IE1lbW9pemVkU2VsZWN0b3I8b2JqZWN0LCBib29sZWFuPjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBGb3JtQWN0aW9uczxULCBFPiB7XG4gIGxvYWQ6IEFjdGlvbkNyZWF0b3I8c3RyaW5nLCAocHJvcHM6IHsgaWQ6IHN0cmluZyB9KSA9PiB7IGlkOiBzdHJpbmcgfSAmIFR5cGVkQWN0aW9uPHN0cmluZz4+O1xuICBsb2FkU3VjY2VzczogQWN0aW9uQ3JlYXRvcjxzdHJpbmcsIChwcm9wczogeyByZXNvdXJjZTogVCB9KSA9PiB7IHJlc291cmNlOiBUIH0gJiBUeXBlZEFjdGlvbjxzdHJpbmc+PjtcbiAgbG9hZEZhaWx1cmU6IEFjdGlvbkNyZWF0b3I8c3RyaW5nLCAocHJvcHM6IHsgZXJyb3JzOiBFIH0pID0+IHsgZXJyb3JzOiBFIH0gJiBUeXBlZEFjdGlvbjxzdHJpbmc+PjtcblxuICBzYXZlOiBBY3Rpb25DcmVhdG9yPHN0cmluZywgKHByb3BzOiB7IHJlc291cmNlOiBUIH0pID0+IHsgcmVzb3VyY2U6IFQgfSAmIFR5cGVkQWN0aW9uPHN0cmluZz4+O1xuICBzYXZlU3VjY2VzczogQWN0aW9uQ3JlYXRvcjxzdHJpbmcsIChwcm9wczogeyByZXNvdXJjZTogVCB9KSA9PiB7IHJlc291cmNlOiBUIH0gJiBUeXBlZEFjdGlvbjxzdHJpbmc+PjtcbiAgc2F2ZUZhaWx1cmU6IEFjdGlvbkNyZWF0b3I8c3RyaW5nLCAocHJvcHM6IHsgZXJyb3JzOiBFIH0pID0+IHsgZXJyb3JzOiBFIH0gJiBUeXBlZEFjdGlvbjxzdHJpbmc+PjtcblxuICBkZWxldGU6IEFjdGlvbkNyZWF0b3I8c3RyaW5nLCAocHJvcHM6IHsgaWQ6IHN0cmluZyB9KSA9PiB7IGlkOiBzdHJpbmcgfSAmIFR5cGVkQWN0aW9uPHN0cmluZz4+O1xuICBkZWxldGVTdWNjZXNzOiBBY3Rpb25DcmVhdG9yPHN0cmluZywgKHByb3BzOiB7IGlkOiBzdHJpbmcgfSkgPT4geyBpZDogc3RyaW5nIH0gJiBUeXBlZEFjdGlvbjxzdHJpbmc+PjtcbiAgZGVsZXRlRmFpbHVyZTogQWN0aW9uQ3JlYXRvcjxzdHJpbmcsIChwcm9wczogeyBlcnJvcnM6IEUgfSkgPT4geyBlcnJvcnM6IEUgfSAmIFR5cGVkQWN0aW9uPHN0cmluZz4+
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbmdkdXgvdXRpbC9zdG9yZS9mb3JtL3NyYy9saWIvbW9kZWxzL2Zvcm0ubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFJlcXVlc3RTdGF0ZSB9IGZyb20gJ0BuZ2R1eC9kYXRhLW1vZGVsLWNvbW1vbic7XG5pbXBvcnQgeyBBcGlSZXF1ZXN0U3RhdGUsIExvYWRpbmdTdGF0ZSB9IGZyb20gJ0BuZ2R1eC9zdG9yZS1jb21tb24nO1xuaW1wb3J0IHsgQWN0aW9uQ3JlYXRvciwgTWVtb2l6ZWRTZWxlY3RvciB9IGZyb20gJ0BuZ3J4L3N0b3JlJztcbmltcG9ydCB7IFR5cGVkQWN0aW9uIH0gZnJvbSAnQG5ncngvc3RvcmUvc3JjL21vZGVscyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgRm9ybVN0YXRlPFQsIEU+IGV4dGVuZHMgQXBpUmVxdWVzdFN0YXRlPEU+LCBMb2FkaW5nU3RhdGUge1xuICByZXNvdXJjZTogVDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBGb3JtU2VsZWN0b3JzPFQsIEU+IHtcbiAgZ2V0UmVxdWVzdFN0YXRlOiBNZW1vaXplZFNlbGVjdG9yPG9iamVjdCwgUmVxdWVzdFN0YXRlPjtcbiAgZ2V0TG9hZGluZ1N0YXRlOiBNZW1vaXplZFNlbGVjdG9yPG9iamVjdCwgUmVxdWVzdFN0YXRlPjtcbiAgZ2V0RXJyb3JzOiBNZW1vaXplZFNlbGVjdG9yPG9iamVjdCwgRT47XG4gIGdldFJlc291cmNlOiBNZW1vaXplZFNlbGVjdG9yPG9iamVjdCwgVD47XG4gIGlzUmVhZHk6IE1lbW9pemVkU2VsZWN0b3I8b2JqZWN0LCBib29sZWFuPjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBGb3JtQWN0aW9uczxULCBFPiB7XG4gIGxvYWQ6IEFjdGlvbkNyZWF0b3I8c3RyaW5nLCAocHJvcHM6IHsgaWQ6IHN0cmluZyB9KSA9PiB7IGlkOiBzdHJpbmcgfSAmIFR5cGVkQWN0aW9uPHN0cmluZz4+O1xuICBsb2FkU3VjY2VzczogQWN0aW9uQ3JlYXRvcjxzdHJpbmcsIChwcm9wczogeyByZXNvdXJjZTogVCB9KSA9PiB7IHJlc291cmNlOiBUIH0gJiBUeXBlZEFjdGlvbjxzdHJpbmc+PjtcbiAgbG9hZEZhaWx1cmU6IEFjdGlvbkNyZWF0b3I8c3RyaW5nLCAocHJvcHM6IHsgZXJyb3JzOiBFIH0pID0+IHsgZXJyb3JzOiBFIH0gJiBUeXBlZEFjdGlvbjxzdHJpbmc+PjtcblxuICBzYXZlOiBBY3Rpb25DcmVhdG9yPHN0cmluZywgKHByb3BzOiB7IHJlc291cmNlOiBUIH0pID0+IHsgcmVzb3VyY2U6IFQgfSAmIFR5cGVkQWN0aW9uPHN0cmluZz4+O1xuICBzYXZlU3VjY2VzczogQWN0aW9uQ3JlYXRvcjxzdHJpbmcsIChwcm9wczogeyByZXNvdXJjZTogVCB9KSA9PiB7IHJlc291cmNlOiBUIH0gJiBUeXBlZEFjdGlvbjxzdHJpbmc+PjtcbiAgc2F2ZUZhaWx1cmU6IEFjdGlvbkNyZWF0b3I8c3RyaW5nLCAocHJvcHM6IHsgZXJyb3JzOiBFIH0pID0+IHsgZXJyb3JzOiBFIH0gJiBUeXBlZEFjdGlvbjxzdHJpbmc+PjtcblxuICBkZWxldGU6IEFjdGlvbkNyZWF0b3I8c3RyaW5nLCAocHJvcHM6IHsgaWQ6IHN0cmluZyB9KSA9PiB7IGlkOiBzdHJpbmcgfSAmIFR5cGVkQWN0aW9uPHN0cmluZz4+O1xuICBkZWxldGVTdWNjZXNzOiBBY3Rpb25DcmVhdG9yPHN0cmluZywgKHByb3BzOiB7IGlkOiBzdHJpbmcgfSkgPT4geyBpZDogc3RyaW5nIH0gJiBUeXBlZEFjdGlvbjxzdHJpbmc+PjtcbiAgZGVsZXRlRmFpbHVyZTogQWN0aW9uQ3JlYXRvcjxzdHJpbmcsIChwcm9wczogeyBlcnJvcnM6IEUgfSkgPT4geyBlcnJvcnM6IEUgfSAmIFR5cGVkQWN0aW9uPHN0cmluZz4+O1xuXG4gIGNyZWF0ZTogQWN0aW9uQ3JlYXRvcjxzdHJpbmcsIChwcm9wczogeyByZXNvdXJjZTogVCB9KSA9PiB7IHJlc291cmNlOiBUIH0gJiBUeXBlZEFjdGlvbjxzdHJpbmc+PjtcbiAgY3JlYXRlU3VjY2VzczogQWN0aW9uQ3JlYXRvcjxzdHJpbmcsIChwcm9wczogeyByZXNvdXJjZTogVCB9KSA9PiB7IHJlc291cmNlOiBUIH0gJiBUeXBlZEFjdGlvbjxzdHJpbmc+PjtcbiAgY3JlYXRlRmFpbHVyZTogQWN0aW9uQ3JlYXRvcjxzdHJpbmcsIChwcm9wczogeyBlcnJvcnM6IEUgfSkgPT4geyBlcnJvcnM6IEUgfSAmIFR5cGVkQWN0aW9uPHN0cmluZz4+O1xuXG4gIHJlc2V0OiBBY3Rpb25DcmVhdG9yPHN0cmluZywgKCkgPT4gVHlwZWRBY3Rpb248c3RyaW5nPj47XG59XG4iXX0=
|
package/fesm2015/ngdux-form.mjs
CHANGED
|
@@ -7,8 +7,7 @@ import { createAction, props, createReducer, on, createSelector, createFeatureSe
|
|
|
7
7
|
import { createRequestStateActionHandlers, createLoadingStateActionHandlers } from '@ngdux/store-common';
|
|
8
8
|
|
|
9
9
|
class AbstractFormEffects {
|
|
10
|
-
constructor(
|
|
11
|
-
this.router = router;
|
|
10
|
+
constructor(actions$, store, service, formActions, notificationService) {
|
|
12
11
|
this.actions$ = actions$;
|
|
13
12
|
this.store = store;
|
|
14
13
|
this.service = service;
|
|
@@ -18,20 +17,6 @@ class AbstractFormEffects {
|
|
|
18
17
|
this.create$ = createEffect(() => this.actions$.pipe(ofType(this.formActions.create), switchMap(action => this.service.createResource(action.resource).pipe(map(resource => this.formActions.createSuccess({ resource })), catchError((errors) => of(this.formActions.createFailure({ errors })))))));
|
|
19
18
|
this.update$ = createEffect(() => this.actions$.pipe(ofType(this.formActions.save), switchMap(({ resource }) => this.service.saveResource(resource).pipe(map(response => this.formActions.saveSuccess({ resource: response })), catchError((errors) => of(this.formActions.saveFailure({ errors })))))));
|
|
20
19
|
this.delete$ = createEffect(() => this.actions$.pipe(ofType(this.formActions.delete), exhaustMap(action => this.service.deleteResource(action.id).pipe(map(() => this.formActions.deleteSuccess({ id: action.id })), catchError((errors) => of(this.formActions.deleteFailure({ errors })))))));
|
|
21
|
-
this.deleteSuccess$ = createEffect(() => this.actions$.pipe(ofType(this.formActions.deleteSuccess), tap(({ id }) => {
|
|
22
|
-
this.notificationService.onDelete(id);
|
|
23
|
-
this.router.navigate(['..']);
|
|
24
|
-
})));
|
|
25
|
-
this.createSuccess$ = createEffect(() => this.actions$.pipe(ofType(this.formActions.createSuccess), tap(() => {
|
|
26
|
-
this.router.navigate(['..']);
|
|
27
|
-
})));
|
|
28
|
-
this.navigateToCreateResource$ = createEffect(() => this.actions$.pipe(ofType(this.formActions.navigateToCreate), map(() => this.formActions.reset()), tap(() => {
|
|
29
|
-
this.router.navigate(['..']);
|
|
30
|
-
})));
|
|
31
|
-
this.copy$ = createEffect(() => this.actions$.pipe(ofType(this.formActions.copy), tap(() => {
|
|
32
|
-
this.router.navigate(['..']);
|
|
33
|
-
})), { dispatch: false });
|
|
34
|
-
this.copySelected$ = createEffect(() => this.actions$.pipe(ofType(this.formActions.copySelected), map(({ id }) => this.formActions.load({ id }))));
|
|
35
20
|
this.errorsHandler$ = createEffect(() => this.actions$.pipe(ofType(this.formActions.saveFailure, this.formActions.loadFailure, this.formActions.deleteFailure, this.formActions.createFailure), tap(({ errors }) => {
|
|
36
21
|
this.notificationService.onFormErrors(errors);
|
|
37
22
|
})), { dispatch: false });
|
|
@@ -48,13 +33,10 @@ function createFormActions(featureName) {
|
|
|
48
33
|
const deleteAction = createAction(`[${featureName} API] Delete ${featureName}`, props());
|
|
49
34
|
const deleteSuccess = createAction(`[${featureName} API] Delete ${featureName} Success`, props());
|
|
50
35
|
const deleteFailure = createAction(`[${featureName} API] Delete ${featureName} Failure`, props());
|
|
51
|
-
const navigateToCreate = createAction(`[${featureName} Page] Navigate to Create ${featureName}`);
|
|
52
36
|
const create = createAction(`[${featureName} API] Create ${featureName}`, props());
|
|
53
37
|
const createSuccess = createAction(`[${featureName} API] Create ${featureName} Success`, props());
|
|
54
38
|
const createFailure = createAction(`[${featureName} API] Create ${featureName} Failure`, props());
|
|
55
39
|
const reset = createAction(`[${featureName} API] Reset ${featureName}`);
|
|
56
|
-
const copy = createAction(`[${featureName} Page] Copy ${featureName}`);
|
|
57
|
-
const copySelected = createAction(`[${featureName} Page] Copy Selected ${featureName}`, props());
|
|
58
40
|
return {
|
|
59
41
|
load,
|
|
60
42
|
loadSuccess,
|
|
@@ -65,13 +47,10 @@ function createFormActions(featureName) {
|
|
|
65
47
|
delete: deleteAction,
|
|
66
48
|
deleteSuccess,
|
|
67
49
|
deleteFailure,
|
|
68
|
-
navigateToCreate,
|
|
69
50
|
create,
|
|
70
51
|
createSuccess,
|
|
71
52
|
createFailure,
|
|
72
|
-
reset
|
|
73
|
-
copy,
|
|
74
|
-
copySelected
|
|
53
|
+
reset
|
|
75
54
|
};
|
|
76
55
|
}
|
|
77
56
|
|
|
@@ -92,7 +71,6 @@ function createFormActionHandlers(initialFormState, actions) {
|
|
|
92
71
|
on(actions.reset, () => initialFormState),
|
|
93
72
|
on(actions.loadSuccess, actions.createSuccess, actions.saveSuccess, (state, { resource }) => (Object.assign(Object.assign({}, state), { resource }))),
|
|
94
73
|
on(actions.deleteSuccess, (state) => (Object.assign(Object.assign({}, state), { resource: undefined }))),
|
|
95
|
-
on(actions.copy, (state) => (Object.assign(Object.assign({}, state), { loadingState: RequestState.IDLE, requestState: RequestState.IDLE }))),
|
|
96
74
|
...createRequestStateActionHandlers(actions.load, actions.save, actions.saveSuccess, actions.saveFailure),
|
|
97
75
|
...createRequestStateActionHandlers(undefined, actions.create, actions.createSuccess, actions.createFailure),
|
|
98
76
|
...createRequestStateActionHandlers(undefined, actions.delete, actions.deleteSuccess, actions.deleteFailure),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ngdux-form.mjs","sources":["../../../../../../../libs/ngdux/util/store/form/src/lib/+state/abstract-form-effects.ts","../../../../../../../libs/ngdux/util/store/form/src/lib/+state/form-actions.ts","../../../../../../../libs/ngdux/util/store/form/src/lib/+state/form-reducer.ts","../../../../../../../libs/ngdux/util/store/form/src/lib/+state/form-selectors.ts","../../../../../../../libs/ngdux/util/store/form/src/lib/+state/form-state.ts","../../../../../../../libs/ngdux/util/store/form/src/ngdux-form.ts"],"sourcesContent":["import { Router } from '@angular/router';\nimport { FormNotificationService, FormService } from '@ngdux/data-model-common';\nimport { Actions, createEffect, ofType } from '@ngrx/effects';\nimport { Store } from '@ngrx/store';\nimport { of } from 'rxjs';\nimport { catchError, exhaustMap, map, switchMap, tap } from 'rxjs/operators';\nimport { FormActions } from '../models/form.model';\n\nexport abstract class AbstractFormEffects<T, E> {\n load$ = createEffect(() =>\n this.actions$.pipe(\n ofType(this.formActions.load),\n switchMap(({ id }) =>\n this.service.loadResource(id).pipe(\n map(resource => this.formActions.loadSuccess({ resource })),\n catchError((errors: E) => of(this.formActions.loadFailure({ errors })))\n )\n )\n )\n );\n\n create$ = createEffect(() =>\n this.actions$.pipe(\n ofType(this.formActions.create),\n switchMap(action =>\n this.service.createResource(action.resource).pipe(\n map(resource => this.formActions.createSuccess({ resource })),\n catchError((errors: E) => of(this.formActions.createFailure({ errors })))\n )\n )\n )\n );\n\n update$ = createEffect(() =>\n this.actions$.pipe(\n ofType(this.formActions.save),\n switchMap(({ resource }) =>\n this.service.saveResource(resource).pipe(\n map(response => this.formActions.saveSuccess({ resource: response })),\n catchError((errors: E) => of(this.formActions.saveFailure({ errors })))\n )\n )\n )\n );\n\n delete$ = createEffect(() =>\n this.actions$.pipe(\n ofType(this.formActions.delete),\n exhaustMap(action =>\n this.service.deleteResource(action.id).pipe(\n map(() => this.formActions.deleteSuccess({ id: action.id })),\n catchError((errors: E) => of(this.formActions.deleteFailure({ errors })))\n )\n )\n )\n );\n\n deleteSuccess$ = createEffect(() =>\n this.actions$.pipe(\n ofType(this.formActions.deleteSuccess),\n tap(({ id }) => {\n this.notificationService.onDelete(id);\n this.router.navigate(['..']);\n })\n )\n );\n\n createSuccess$ = createEffect(() =>\n this.actions$.pipe(\n ofType(this.formActions.createSuccess),\n tap(() => {\n this.router.navigate(['..']);\n })\n )\n );\n\n navigateToCreateResource$ = createEffect(() =>\n this.actions$.pipe(\n ofType(this.formActions.navigateToCreate),\n map(() => this.formActions.reset()),\n tap(() => {\n this.router.navigate(['..']);\n })\n )\n );\n\n copy$ = createEffect(\n () =>\n this.actions$.pipe(\n ofType(this.formActions.copy),\n tap(() => {\n this.router.navigate(['..']);\n })\n ),\n { dispatch: false }\n );\n\n copySelected$ = createEffect(() =>\n this.actions$.pipe(\n ofType(this.formActions.copySelected),\n map(({ id }) => this.formActions.load({ id }))\n )\n );\n\n errorsHandler$ = createEffect(\n () =>\n this.actions$.pipe(\n ofType(\n this.formActions.saveFailure,\n this.formActions.loadFailure,\n this.formActions.deleteFailure,\n this.formActions.createFailure\n ),\n tap(({ errors }) => {\n this.notificationService.onFormErrors(errors);\n })\n ),\n { dispatch: false }\n );\n\n protected constructor(\n private readonly router: Router,\n protected readonly actions$: Actions,\n protected readonly store: Store,\n private readonly service: FormService<T>,\n private readonly formActions: FormActions<T, E>,\n private readonly notificationService: FormNotificationService<E>\n ) {}\n}\n","import { createAction, props } from '@ngrx/store';\nimport { FormActions } from '../models/form.model';\n\nexport function createFormActions<T, E>(featureName: string): FormActions<T, E> {\n const load = createAction(`[${featureName} API] Load ${featureName}`, props<{ id: string }>());\n const loadSuccess = createAction(`[${featureName} API] Load ${featureName} Success`, props<{ resource: T }>());\n const loadFailure = createAction(`[${featureName} API] Load ${featureName} Failure`, props<{ errors: E }>());\n\n const save = createAction(`[${featureName} API] Save ${featureName}`, props<{ resource: T }>());\n const saveSuccess = createAction(`[${featureName} API] Save ${featureName} Success`, props<{ resource: T }>());\n const saveFailure = createAction(`[${featureName} API] Save ${featureName} Failure`, props<{ errors: E }>());\n\n const deleteAction = createAction(`[${featureName} API] Delete ${featureName}`, props<{ id: string }>());\n const deleteSuccess = createAction(`[${featureName} API] Delete ${featureName} Success`, props<{ id: string }>());\n const deleteFailure = createAction(`[${featureName} API] Delete ${featureName} Failure`, props<{ errors: E }>());\n\n const navigateToCreate = createAction(`[${featureName} Page] Navigate to Create ${featureName}`);\n const create = createAction(`[${featureName} API] Create ${featureName}`, props<{ resource: T }>());\n const createSuccess = createAction(`[${featureName} API] Create ${featureName} Success`, props<{ resource: T }>());\n const createFailure = createAction(`[${featureName} API] Create ${featureName} Failure`, props<{ errors: E }>());\n\n const reset = createAction(`[${featureName} API] Reset ${featureName}`);\n\n const copy = createAction(`[${featureName} Page] Copy ${featureName}`);\n const copySelected = createAction(`[${featureName} Page] Copy Selected ${featureName}`, props<{ id: string }>());\n\n return {\n load,\n loadSuccess,\n loadFailure,\n save,\n saveSuccess,\n saveFailure,\n delete: deleteAction,\n deleteSuccess,\n deleteFailure,\n navigateToCreate,\n create,\n createSuccess,\n createFailure,\n reset,\n copy,\n copySelected\n };\n}\n","import { RequestState } from '@ngdux/data-model-common';\nimport { createLoadingStateActionHandlers, createRequestStateActionHandlers } from '@ngdux/store-common';\nimport { ActionCreator, ActionReducer, createReducer, Creator, on, ReducerTypes } from '@ngrx/store';\nimport { FormActions, FormState } from '../models/form.model';\n\nexport function createFormReducer<T, E>(\n actions: FormActions<T, E>,\n actionHandlers?: ReducerTypes<FormState<T, E>, ActionCreator[]>[],\n initialFormState?: object\n): ActionReducer<FormState<T, E>> {\n const initialState: FormState<T, E> = { ...createInitialFormState<T, E>(), ...initialFormState };\n return createReducer<FormState<T, E>>(\n initialState,\n ...createFormActionHandlers<T, E>(initialState, actions),\n ...(actionHandlers || [])\n );\n}\n\nfunction createInitialFormState<T, E>(): FormState<T, E> {\n return {\n resource: undefined,\n loadingState: RequestState.IDLE,\n requestState: RequestState.IDLE,\n errors: undefined\n };\n}\n\nfunction createFormActionHandlers<T, E>(\n initialFormState: FormState<T, E>,\n actions: FormActions<T, E>\n): ReducerTypes<FormState<T, E>, ActionCreator<string, Creator<any[], object>>[]>[] {\n return [\n on(actions.reset, (): FormState<T, E> => initialFormState),\n on(\n actions.loadSuccess,\n actions.createSuccess,\n actions.saveSuccess,\n (state: FormState<T, E>, { resource }): FormState<T, E> => ({ ...state, resource })\n ),\n on(\n actions.deleteSuccess,\n (state: FormState<T, E>): FormState<T, E> => ({\n ...state,\n resource: undefined\n })\n ),\n on(\n actions.copy,\n (state: FormState<T, E>): FormState<T, E> => ({\n ...state,\n loadingState: RequestState.IDLE,\n requestState: RequestState.IDLE\n })\n ),\n ...createRequestStateActionHandlers<FormState<T, E>, E>(\n actions.load,\n actions.save,\n actions.saveSuccess,\n actions.saveFailure\n ),\n ...createRequestStateActionHandlers<FormState<T, E>, E>(\n undefined,\n actions.create,\n actions.createSuccess,\n actions.createFailure\n ),\n ...createRequestStateActionHandlers<FormState<T, E>, E>(\n undefined,\n actions.delete,\n actions.deleteSuccess,\n actions.deleteFailure\n ),\n ...createLoadingStateActionHandlers<FormState<T, E>>(actions.load, actions.loadSuccess, actions.loadFailure)\n ];\n}\n","import { RequestState } from '@ngdux/data-model-common';\nimport { createSelector, DefaultProjectorFn, MemoizedSelector } from '@ngrx/store';\nimport { FormSelectors, FormState } from '../models/form.model';\n\nexport function createFormSelectors<T, E>(\n getFormState: MemoizedSelector<object, FormState<T, E>, DefaultProjectorFn<FormState<T, E>>>\n): FormSelectors<T, E> {\n const getRequestState = createSelector(getFormState, state => state.requestState);\n const getLoadingState = createSelector(getFormState, state => state.loadingState);\n const getErrors = createSelector(getFormState, state => state.errors);\n const getResource = createSelector(getFormState, state => state.resource);\n\n const isReady = createSelector(\n getResource,\n getLoadingState,\n (resource, loadingState) => !!resource && loadingState === RequestState.SUCCESS\n );\n\n return {\n getRequestState,\n getLoadingState,\n getErrors,\n getResource,\n isReady\n };\n}\n","import { Action, createFeatureSelector } from '@ngrx/store';\nimport { FormState } from '../models/form.model';\nimport { createFormActions } from './form-actions';\nimport { createFormReducer } from './form-reducer';\nimport { createFormSelectors } from './form-selectors';\n\nexport function createFormState<T, E>(featureName: string) {\n const actions = createFormActions<T, E>(featureName);\n const reducer = createFormReducer(actions);\n const getState = createFeatureSelector<FormState<T, E>>(featureName);\n const selectors = createFormSelectors(getState);\n\n return {\n actions,\n reducer: (state: FormState<T, E>, action: Action): FormState<T, E> => reducer(state, action),\n selectors\n };\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ngdux-form.mjs","sources":["../../../../../../../libs/ngdux/util/store/form/src/lib/+state/abstract-form-effects.ts","../../../../../../../libs/ngdux/util/store/form/src/lib/+state/form-actions.ts","../../../../../../../libs/ngdux/util/store/form/src/lib/+state/form-reducer.ts","../../../../../../../libs/ngdux/util/store/form/src/lib/+state/form-selectors.ts","../../../../../../../libs/ngdux/util/store/form/src/lib/+state/form-state.ts","../../../../../../../libs/ngdux/util/store/form/src/ngdux-form.ts"],"sourcesContent":["import { FormNotificationService, FormService } from '@ngdux/data-model-common';\nimport { Actions, createEffect, ofType } from '@ngrx/effects';\nimport { Store } from '@ngrx/store';\nimport { of } from 'rxjs';\nimport { catchError, exhaustMap, map, switchMap, tap } from 'rxjs/operators';\nimport { FormActions } from '../models/form.model';\n\nexport abstract class AbstractFormEffects<T, E> {\n load$ = createEffect(() =>\n this.actions$.pipe(\n ofType(this.formActions.load),\n switchMap(({ id }) =>\n this.service.loadResource(id).pipe(\n map(resource => this.formActions.loadSuccess({ resource })),\n catchError((errors: E) => of(this.formActions.loadFailure({ errors })))\n )\n )\n )\n );\n\n create$ = createEffect(() =>\n this.actions$.pipe(\n ofType(this.formActions.create),\n switchMap(action =>\n this.service.createResource(action.resource).pipe(\n map(resource => this.formActions.createSuccess({ resource })),\n catchError((errors: E) => of(this.formActions.createFailure({ errors })))\n )\n )\n )\n );\n\n update$ = createEffect(() =>\n this.actions$.pipe(\n ofType(this.formActions.save),\n switchMap(({ resource }) =>\n this.service.saveResource(resource).pipe(\n map(response => this.formActions.saveSuccess({ resource: response })),\n catchError((errors: E) => of(this.formActions.saveFailure({ errors })))\n )\n )\n )\n );\n\n delete$ = createEffect(() =>\n this.actions$.pipe(\n ofType(this.formActions.delete),\n exhaustMap(action =>\n this.service.deleteResource(action.id).pipe(\n map(() => this.formActions.deleteSuccess({ id: action.id })),\n catchError((errors: E) => of(this.formActions.deleteFailure({ errors })))\n )\n )\n )\n );\n\n errorsHandler$ = createEffect(\n () =>\n this.actions$.pipe(\n ofType(\n this.formActions.saveFailure,\n this.formActions.loadFailure,\n this.formActions.deleteFailure,\n this.formActions.createFailure\n ),\n tap(({ errors }) => {\n this.notificationService.onFormErrors(errors);\n })\n ),\n { dispatch: false }\n );\n\n protected constructor(\n protected readonly actions$: Actions,\n protected readonly store: Store,\n private readonly service: FormService<T>,\n private readonly formActions: FormActions<T, E>,\n private readonly notificationService: FormNotificationService<E>\n ) {}\n}\n","import { createAction, props } from '@ngrx/store';\nimport { FormActions } from '../models/form.model';\n\nexport function createFormActions<T, E>(featureName: string): FormActions<T, E> {\n const load = createAction(`[${featureName} API] Load ${featureName}`, props<{ id: string }>());\n const loadSuccess = createAction(`[${featureName} API] Load ${featureName} Success`, props<{ resource: T }>());\n const loadFailure = createAction(`[${featureName} API] Load ${featureName} Failure`, props<{ errors: E }>());\n\n const save = createAction(`[${featureName} API] Save ${featureName}`, props<{ resource: T }>());\n const saveSuccess = createAction(`[${featureName} API] Save ${featureName} Success`, props<{ resource: T }>());\n const saveFailure = createAction(`[${featureName} API] Save ${featureName} Failure`, props<{ errors: E }>());\n\n const deleteAction = createAction(`[${featureName} API] Delete ${featureName}`, props<{ id: string }>());\n const deleteSuccess = createAction(`[${featureName} API] Delete ${featureName} Success`, props<{ id: string }>());\n const deleteFailure = createAction(`[${featureName} API] Delete ${featureName} Failure`, props<{ errors: E }>());\n\n const create = createAction(`[${featureName} API] Create ${featureName}`, props<{ resource: T }>());\n const createSuccess = createAction(`[${featureName} API] Create ${featureName} Success`, props<{ resource: T }>());\n const createFailure = createAction(`[${featureName} API] Create ${featureName} Failure`, props<{ errors: E }>());\n\n const reset = createAction(`[${featureName} API] Reset ${featureName}`);\n\n return {\n load,\n loadSuccess,\n loadFailure,\n save,\n saveSuccess,\n saveFailure,\n delete: deleteAction,\n deleteSuccess,\n deleteFailure,\n create,\n createSuccess,\n createFailure,\n reset\n };\n}\n","import { RequestState } from '@ngdux/data-model-common';\nimport { createLoadingStateActionHandlers, createRequestStateActionHandlers } from '@ngdux/store-common';\nimport { ActionCreator, ActionReducer, createReducer, Creator, on, ReducerTypes } from '@ngrx/store';\nimport { FormActions, FormState } from '../models/form.model';\n\nexport function createFormReducer<T, E>(\n actions: FormActions<T, E>,\n actionHandlers?: ReducerTypes<FormState<T, E>, ActionCreator[]>[],\n initialFormState?: object\n): ActionReducer<FormState<T, E>> {\n const initialState: FormState<T, E> = { ...createInitialFormState<T, E>(), ...initialFormState };\n return createReducer<FormState<T, E>>(\n initialState,\n ...createFormActionHandlers<T, E>(initialState, actions),\n ...(actionHandlers || [])\n );\n}\n\nfunction createInitialFormState<T, E>(): FormState<T, E> {\n return {\n resource: undefined,\n loadingState: RequestState.IDLE,\n requestState: RequestState.IDLE,\n errors: undefined\n };\n}\n\nfunction createFormActionHandlers<T, E>(\n initialFormState: FormState<T, E>,\n actions: FormActions<T, E>\n): ReducerTypes<FormState<T, E>, ActionCreator<string, Creator<any[], object>>[]>[] {\n return [\n on(actions.reset, (): FormState<T, E> => initialFormState),\n on(\n actions.loadSuccess,\n actions.createSuccess,\n actions.saveSuccess,\n (state: FormState<T, E>, { resource }): FormState<T, E> => ({ ...state, resource })\n ),\n on(\n actions.deleteSuccess,\n (state: FormState<T, E>): FormState<T, E> => ({\n ...state,\n resource: undefined\n })\n ),\n ...createRequestStateActionHandlers<FormState<T, E>, E>(\n actions.load,\n actions.save,\n actions.saveSuccess,\n actions.saveFailure\n ),\n ...createRequestStateActionHandlers<FormState<T, E>, E>(\n undefined,\n actions.create,\n actions.createSuccess,\n actions.createFailure\n ),\n ...createRequestStateActionHandlers<FormState<T, E>, E>(\n undefined,\n actions.delete,\n actions.deleteSuccess,\n actions.deleteFailure\n ),\n ...createLoadingStateActionHandlers<FormState<T, E>>(actions.load, actions.loadSuccess, actions.loadFailure)\n ];\n}\n","import { RequestState } from '@ngdux/data-model-common';\nimport { createSelector, DefaultProjectorFn, MemoizedSelector } from '@ngrx/store';\nimport { FormSelectors, FormState } from '../models/form.model';\n\nexport function createFormSelectors<T, E>(\n getFormState: MemoizedSelector<object, FormState<T, E>, DefaultProjectorFn<FormState<T, E>>>\n): FormSelectors<T, E> {\n const getRequestState = createSelector(getFormState, state => state.requestState);\n const getLoadingState = createSelector(getFormState, state => state.loadingState);\n const getErrors = createSelector(getFormState, state => state.errors);\n const getResource = createSelector(getFormState, state => state.resource);\n\n const isReady = createSelector(\n getResource,\n getLoadingState,\n (resource, loadingState) => !!resource && loadingState === RequestState.SUCCESS\n );\n\n return {\n getRequestState,\n getLoadingState,\n getErrors,\n getResource,\n isReady\n };\n}\n","import { Action, createFeatureSelector } from '@ngrx/store';\nimport { FormState } from '../models/form.model';\nimport { createFormActions } from './form-actions';\nimport { createFormReducer } from './form-reducer';\nimport { createFormSelectors } from './form-selectors';\n\nexport function createFormState<T, E>(featureName: string) {\n const actions = createFormActions<T, E>(featureName);\n const reducer = createFormReducer(actions);\n const getState = createFeatureSelector<FormState<T, E>>(featureName);\n const selectors = createFormSelectors(getState);\n\n return {\n actions,\n reducer: (state: FormState<T, E>, action: Action): FormState<T, E> => reducer(state, action),\n selectors\n };\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
package/fesm2020/ngdux-form.mjs
CHANGED
|
@@ -7,8 +7,7 @@ import { createAction, props, createReducer, on, createSelector, createFeatureSe
|
|
|
7
7
|
import { createRequestStateActionHandlers, createLoadingStateActionHandlers } from '@ngdux/store-common';
|
|
8
8
|
|
|
9
9
|
class AbstractFormEffects {
|
|
10
|
-
constructor(
|
|
11
|
-
this.router = router;
|
|
10
|
+
constructor(actions$, store, service, formActions, notificationService) {
|
|
12
11
|
this.actions$ = actions$;
|
|
13
12
|
this.store = store;
|
|
14
13
|
this.service = service;
|
|
@@ -18,20 +17,6 @@ class AbstractFormEffects {
|
|
|
18
17
|
this.create$ = createEffect(() => this.actions$.pipe(ofType(this.formActions.create), switchMap(action => this.service.createResource(action.resource).pipe(map(resource => this.formActions.createSuccess({ resource })), catchError((errors) => of(this.formActions.createFailure({ errors })))))));
|
|
19
18
|
this.update$ = createEffect(() => this.actions$.pipe(ofType(this.formActions.save), switchMap(({ resource }) => this.service.saveResource(resource).pipe(map(response => this.formActions.saveSuccess({ resource: response })), catchError((errors) => of(this.formActions.saveFailure({ errors })))))));
|
|
20
19
|
this.delete$ = createEffect(() => this.actions$.pipe(ofType(this.formActions.delete), exhaustMap(action => this.service.deleteResource(action.id).pipe(map(() => this.formActions.deleteSuccess({ id: action.id })), catchError((errors) => of(this.formActions.deleteFailure({ errors })))))));
|
|
21
|
-
this.deleteSuccess$ = createEffect(() => this.actions$.pipe(ofType(this.formActions.deleteSuccess), tap(({ id }) => {
|
|
22
|
-
this.notificationService.onDelete(id);
|
|
23
|
-
this.router.navigate(['..']);
|
|
24
|
-
})));
|
|
25
|
-
this.createSuccess$ = createEffect(() => this.actions$.pipe(ofType(this.formActions.createSuccess), tap(() => {
|
|
26
|
-
this.router.navigate(['..']);
|
|
27
|
-
})));
|
|
28
|
-
this.navigateToCreateResource$ = createEffect(() => this.actions$.pipe(ofType(this.formActions.navigateToCreate), map(() => this.formActions.reset()), tap(() => {
|
|
29
|
-
this.router.navigate(['..']);
|
|
30
|
-
})));
|
|
31
|
-
this.copy$ = createEffect(() => this.actions$.pipe(ofType(this.formActions.copy), tap(() => {
|
|
32
|
-
this.router.navigate(['..']);
|
|
33
|
-
})), { dispatch: false });
|
|
34
|
-
this.copySelected$ = createEffect(() => this.actions$.pipe(ofType(this.formActions.copySelected), map(({ id }) => this.formActions.load({ id }))));
|
|
35
20
|
this.errorsHandler$ = createEffect(() => this.actions$.pipe(ofType(this.formActions.saveFailure, this.formActions.loadFailure, this.formActions.deleteFailure, this.formActions.createFailure), tap(({ errors }) => {
|
|
36
21
|
this.notificationService.onFormErrors(errors);
|
|
37
22
|
})), { dispatch: false });
|
|
@@ -48,13 +33,10 @@ function createFormActions(featureName) {
|
|
|
48
33
|
const deleteAction = createAction(`[${featureName} API] Delete ${featureName}`, props());
|
|
49
34
|
const deleteSuccess = createAction(`[${featureName} API] Delete ${featureName} Success`, props());
|
|
50
35
|
const deleteFailure = createAction(`[${featureName} API] Delete ${featureName} Failure`, props());
|
|
51
|
-
const navigateToCreate = createAction(`[${featureName} Page] Navigate to Create ${featureName}`);
|
|
52
36
|
const create = createAction(`[${featureName} API] Create ${featureName}`, props());
|
|
53
37
|
const createSuccess = createAction(`[${featureName} API] Create ${featureName} Success`, props());
|
|
54
38
|
const createFailure = createAction(`[${featureName} API] Create ${featureName} Failure`, props());
|
|
55
39
|
const reset = createAction(`[${featureName} API] Reset ${featureName}`);
|
|
56
|
-
const copy = createAction(`[${featureName} Page] Copy ${featureName}`);
|
|
57
|
-
const copySelected = createAction(`[${featureName} Page] Copy Selected ${featureName}`, props());
|
|
58
40
|
return {
|
|
59
41
|
load,
|
|
60
42
|
loadSuccess,
|
|
@@ -65,13 +47,10 @@ function createFormActions(featureName) {
|
|
|
65
47
|
delete: deleteAction,
|
|
66
48
|
deleteSuccess,
|
|
67
49
|
deleteFailure,
|
|
68
|
-
navigateToCreate,
|
|
69
50
|
create,
|
|
70
51
|
createSuccess,
|
|
71
52
|
createFailure,
|
|
72
|
-
reset
|
|
73
|
-
copy,
|
|
74
|
-
copySelected
|
|
53
|
+
reset
|
|
75
54
|
};
|
|
76
55
|
}
|
|
77
56
|
|
|
@@ -95,11 +74,6 @@ function createFormActionHandlers(initialFormState, actions) {
|
|
|
95
74
|
...state,
|
|
96
75
|
resource: undefined
|
|
97
76
|
})),
|
|
98
|
-
on(actions.copy, (state) => ({
|
|
99
|
-
...state,
|
|
100
|
-
loadingState: RequestState.IDLE,
|
|
101
|
-
requestState: RequestState.IDLE
|
|
102
|
-
})),
|
|
103
77
|
...createRequestStateActionHandlers(actions.load, actions.save, actions.saveSuccess, actions.saveFailure),
|
|
104
78
|
...createRequestStateActionHandlers(undefined, actions.create, actions.createSuccess, actions.createFailure),
|
|
105
79
|
...createRequestStateActionHandlers(undefined, actions.delete, actions.deleteSuccess, actions.deleteFailure),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ngdux-form.mjs","sources":["../../../../../../../libs/ngdux/util/store/form/src/lib/+state/abstract-form-effects.ts","../../../../../../../libs/ngdux/util/store/form/src/lib/+state/form-actions.ts","../../../../../../../libs/ngdux/util/store/form/src/lib/+state/form-reducer.ts","../../../../../../../libs/ngdux/util/store/form/src/lib/+state/form-selectors.ts","../../../../../../../libs/ngdux/util/store/form/src/lib/+state/form-state.ts","../../../../../../../libs/ngdux/util/store/form/src/ngdux-form.ts"],"sourcesContent":["import { Router } from '@angular/router';\nimport { FormNotificationService, FormService } from '@ngdux/data-model-common';\nimport { Actions, createEffect, ofType } from '@ngrx/effects';\nimport { Store } from '@ngrx/store';\nimport { of } from 'rxjs';\nimport { catchError, exhaustMap, map, switchMap, tap } from 'rxjs/operators';\nimport { FormActions } from '../models/form.model';\n\nexport abstract class AbstractFormEffects<T, E> {\n load$ = createEffect(() =>\n this.actions$.pipe(\n ofType(this.formActions.load),\n switchMap(({ id }) =>\n this.service.loadResource(id).pipe(\n map(resource => this.formActions.loadSuccess({ resource })),\n catchError((errors: E) => of(this.formActions.loadFailure({ errors })))\n )\n )\n )\n );\n\n create$ = createEffect(() =>\n this.actions$.pipe(\n ofType(this.formActions.create),\n switchMap(action =>\n this.service.createResource(action.resource).pipe(\n map(resource => this.formActions.createSuccess({ resource })),\n catchError((errors: E) => of(this.formActions.createFailure({ errors })))\n )\n )\n )\n );\n\n update$ = createEffect(() =>\n this.actions$.pipe(\n ofType(this.formActions.save),\n switchMap(({ resource }) =>\n this.service.saveResource(resource).pipe(\n map(response => this.formActions.saveSuccess({ resource: response })),\n catchError((errors: E) => of(this.formActions.saveFailure({ errors })))\n )\n )\n )\n );\n\n delete$ = createEffect(() =>\n this.actions$.pipe(\n ofType(this.formActions.delete),\n exhaustMap(action =>\n this.service.deleteResource(action.id).pipe(\n map(() => this.formActions.deleteSuccess({ id: action.id })),\n catchError((errors: E) => of(this.formActions.deleteFailure({ errors })))\n )\n )\n )\n );\n\n deleteSuccess$ = createEffect(() =>\n this.actions$.pipe(\n ofType(this.formActions.deleteSuccess),\n tap(({ id }) => {\n this.notificationService.onDelete(id);\n this.router.navigate(['..']);\n })\n )\n );\n\n createSuccess$ = createEffect(() =>\n this.actions$.pipe(\n ofType(this.formActions.createSuccess),\n tap(() => {\n this.router.navigate(['..']);\n })\n )\n );\n\n navigateToCreateResource$ = createEffect(() =>\n this.actions$.pipe(\n ofType(this.formActions.navigateToCreate),\n map(() => this.formActions.reset()),\n tap(() => {\n this.router.navigate(['..']);\n })\n )\n );\n\n copy$ = createEffect(\n () =>\n this.actions$.pipe(\n ofType(this.formActions.copy),\n tap(() => {\n this.router.navigate(['..']);\n })\n ),\n { dispatch: false }\n );\n\n copySelected$ = createEffect(() =>\n this.actions$.pipe(\n ofType(this.formActions.copySelected),\n map(({ id }) => this.formActions.load({ id }))\n )\n );\n\n errorsHandler$ = createEffect(\n () =>\n this.actions$.pipe(\n ofType(\n this.formActions.saveFailure,\n this.formActions.loadFailure,\n this.formActions.deleteFailure,\n this.formActions.createFailure\n ),\n tap(({ errors }) => {\n this.notificationService.onFormErrors(errors);\n })\n ),\n { dispatch: false }\n );\n\n protected constructor(\n private readonly router: Router,\n protected readonly actions$: Actions,\n protected readonly store: Store,\n private readonly service: FormService<T>,\n private readonly formActions: FormActions<T, E>,\n private readonly notificationService: FormNotificationService<E>\n ) {}\n}\n","import { createAction, props } from '@ngrx/store';\nimport { FormActions } from '../models/form.model';\n\nexport function createFormActions<T, E>(featureName: string): FormActions<T, E> {\n const load = createAction(`[${featureName} API] Load ${featureName}`, props<{ id: string }>());\n const loadSuccess = createAction(`[${featureName} API] Load ${featureName} Success`, props<{ resource: T }>());\n const loadFailure = createAction(`[${featureName} API] Load ${featureName} Failure`, props<{ errors: E }>());\n\n const save = createAction(`[${featureName} API] Save ${featureName}`, props<{ resource: T }>());\n const saveSuccess = createAction(`[${featureName} API] Save ${featureName} Success`, props<{ resource: T }>());\n const saveFailure = createAction(`[${featureName} API] Save ${featureName} Failure`, props<{ errors: E }>());\n\n const deleteAction = createAction(`[${featureName} API] Delete ${featureName}`, props<{ id: string }>());\n const deleteSuccess = createAction(`[${featureName} API] Delete ${featureName} Success`, props<{ id: string }>());\n const deleteFailure = createAction(`[${featureName} API] Delete ${featureName} Failure`, props<{ errors: E }>());\n\n const navigateToCreate = createAction(`[${featureName} Page] Navigate to Create ${featureName}`);\n const create = createAction(`[${featureName} API] Create ${featureName}`, props<{ resource: T }>());\n const createSuccess = createAction(`[${featureName} API] Create ${featureName} Success`, props<{ resource: T }>());\n const createFailure = createAction(`[${featureName} API] Create ${featureName} Failure`, props<{ errors: E }>());\n\n const reset = createAction(`[${featureName} API] Reset ${featureName}`);\n\n const copy = createAction(`[${featureName} Page] Copy ${featureName}`);\n const copySelected = createAction(`[${featureName} Page] Copy Selected ${featureName}`, props<{ id: string }>());\n\n return {\n load,\n loadSuccess,\n loadFailure,\n save,\n saveSuccess,\n saveFailure,\n delete: deleteAction,\n deleteSuccess,\n deleteFailure,\n navigateToCreate,\n create,\n createSuccess,\n createFailure,\n reset,\n copy,\n copySelected\n };\n}\n","import { RequestState } from '@ngdux/data-model-common';\nimport { createLoadingStateActionHandlers, createRequestStateActionHandlers } from '@ngdux/store-common';\nimport { ActionCreator, ActionReducer, createReducer, Creator, on, ReducerTypes } from '@ngrx/store';\nimport { FormActions, FormState } from '../models/form.model';\n\nexport function createFormReducer<T, E>(\n actions: FormActions<T, E>,\n actionHandlers?: ReducerTypes<FormState<T, E>, ActionCreator[]>[],\n initialFormState?: object\n): ActionReducer<FormState<T, E>> {\n const initialState: FormState<T, E> = { ...createInitialFormState<T, E>(), ...initialFormState };\n return createReducer<FormState<T, E>>(\n initialState,\n ...createFormActionHandlers<T, E>(initialState, actions),\n ...(actionHandlers || [])\n );\n}\n\nfunction createInitialFormState<T, E>(): FormState<T, E> {\n return {\n resource: undefined,\n loadingState: RequestState.IDLE,\n requestState: RequestState.IDLE,\n errors: undefined\n };\n}\n\nfunction createFormActionHandlers<T, E>(\n initialFormState: FormState<T, E>,\n actions: FormActions<T, E>\n): ReducerTypes<FormState<T, E>, ActionCreator<string, Creator<any[], object>>[]>[] {\n return [\n on(actions.reset, (): FormState<T, E> => initialFormState),\n on(\n actions.loadSuccess,\n actions.createSuccess,\n actions.saveSuccess,\n (state: FormState<T, E>, { resource }): FormState<T, E> => ({ ...state, resource })\n ),\n on(\n actions.deleteSuccess,\n (state: FormState<T, E>): FormState<T, E> => ({\n ...state,\n resource: undefined\n })\n ),\n on(\n actions.copy,\n (state: FormState<T, E>): FormState<T, E> => ({\n ...state,\n loadingState: RequestState.IDLE,\n requestState: RequestState.IDLE\n })\n ),\n ...createRequestStateActionHandlers<FormState<T, E>, E>(\n actions.load,\n actions.save,\n actions.saveSuccess,\n actions.saveFailure\n ),\n ...createRequestStateActionHandlers<FormState<T, E>, E>(\n undefined,\n actions.create,\n actions.createSuccess,\n actions.createFailure\n ),\n ...createRequestStateActionHandlers<FormState<T, E>, E>(\n undefined,\n actions.delete,\n actions.deleteSuccess,\n actions.deleteFailure\n ),\n ...createLoadingStateActionHandlers<FormState<T, E>>(actions.load, actions.loadSuccess, actions.loadFailure)\n ];\n}\n","import { RequestState } from '@ngdux/data-model-common';\nimport { createSelector, DefaultProjectorFn, MemoizedSelector } from '@ngrx/store';\nimport { FormSelectors, FormState } from '../models/form.model';\n\nexport function createFormSelectors<T, E>(\n getFormState: MemoizedSelector<object, FormState<T, E>, DefaultProjectorFn<FormState<T, E>>>\n): FormSelectors<T, E> {\n const getRequestState = createSelector(getFormState, state => state.requestState);\n const getLoadingState = createSelector(getFormState, state => state.loadingState);\n const getErrors = createSelector(getFormState, state => state.errors);\n const getResource = createSelector(getFormState, state => state.resource);\n\n const isReady = createSelector(\n getResource,\n getLoadingState,\n (resource, loadingState) => !!resource && loadingState === RequestState.SUCCESS\n );\n\n return {\n getRequestState,\n getLoadingState,\n getErrors,\n getResource,\n isReady\n };\n}\n","import { Action, createFeatureSelector } from '@ngrx/store';\nimport { FormState } from '../models/form.model';\nimport { createFormActions } from './form-actions';\nimport { createFormReducer } from './form-reducer';\nimport { createFormSelectors } from './form-selectors';\n\nexport function createFormState<T, E>(featureName: string) {\n const actions = createFormActions<T, E>(featureName);\n const reducer = createFormReducer(actions);\n const getState = createFeatureSelector<FormState<T, E>>(featureName);\n const selectors = createFormSelectors(getState);\n\n return {\n actions,\n reducer: (state: FormState<T, E>, action: Action): FormState<T, E> => reducer(state, action),\n selectors\n };\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ngdux-form.mjs","sources":["../../../../../../../libs/ngdux/util/store/form/src/lib/+state/abstract-form-effects.ts","../../../../../../../libs/ngdux/util/store/form/src/lib/+state/form-actions.ts","../../../../../../../libs/ngdux/util/store/form/src/lib/+state/form-reducer.ts","../../../../../../../libs/ngdux/util/store/form/src/lib/+state/form-selectors.ts","../../../../../../../libs/ngdux/util/store/form/src/lib/+state/form-state.ts","../../../../../../../libs/ngdux/util/store/form/src/ngdux-form.ts"],"sourcesContent":["import { FormNotificationService, FormService } from '@ngdux/data-model-common';\nimport { Actions, createEffect, ofType } from '@ngrx/effects';\nimport { Store } from '@ngrx/store';\nimport { of } from 'rxjs';\nimport { catchError, exhaustMap, map, switchMap, tap } from 'rxjs/operators';\nimport { FormActions } from '../models/form.model';\n\nexport abstract class AbstractFormEffects<T, E> {\n load$ = createEffect(() =>\n this.actions$.pipe(\n ofType(this.formActions.load),\n switchMap(({ id }) =>\n this.service.loadResource(id).pipe(\n map(resource => this.formActions.loadSuccess({ resource })),\n catchError((errors: E) => of(this.formActions.loadFailure({ errors })))\n )\n )\n )\n );\n\n create$ = createEffect(() =>\n this.actions$.pipe(\n ofType(this.formActions.create),\n switchMap(action =>\n this.service.createResource(action.resource).pipe(\n map(resource => this.formActions.createSuccess({ resource })),\n catchError((errors: E) => of(this.formActions.createFailure({ errors })))\n )\n )\n )\n );\n\n update$ = createEffect(() =>\n this.actions$.pipe(\n ofType(this.formActions.save),\n switchMap(({ resource }) =>\n this.service.saveResource(resource).pipe(\n map(response => this.formActions.saveSuccess({ resource: response })),\n catchError((errors: E) => of(this.formActions.saveFailure({ errors })))\n )\n )\n )\n );\n\n delete$ = createEffect(() =>\n this.actions$.pipe(\n ofType(this.formActions.delete),\n exhaustMap(action =>\n this.service.deleteResource(action.id).pipe(\n map(() => this.formActions.deleteSuccess({ id: action.id })),\n catchError((errors: E) => of(this.formActions.deleteFailure({ errors })))\n )\n )\n )\n );\n\n errorsHandler$ = createEffect(\n () =>\n this.actions$.pipe(\n ofType(\n this.formActions.saveFailure,\n this.formActions.loadFailure,\n this.formActions.deleteFailure,\n this.formActions.createFailure\n ),\n tap(({ errors }) => {\n this.notificationService.onFormErrors(errors);\n })\n ),\n { dispatch: false }\n );\n\n protected constructor(\n protected readonly actions$: Actions,\n protected readonly store: Store,\n private readonly service: FormService<T>,\n private readonly formActions: FormActions<T, E>,\n private readonly notificationService: FormNotificationService<E>\n ) {}\n}\n","import { createAction, props } from '@ngrx/store';\nimport { FormActions } from '../models/form.model';\n\nexport function createFormActions<T, E>(featureName: string): FormActions<T, E> {\n const load = createAction(`[${featureName} API] Load ${featureName}`, props<{ id: string }>());\n const loadSuccess = createAction(`[${featureName} API] Load ${featureName} Success`, props<{ resource: T }>());\n const loadFailure = createAction(`[${featureName} API] Load ${featureName} Failure`, props<{ errors: E }>());\n\n const save = createAction(`[${featureName} API] Save ${featureName}`, props<{ resource: T }>());\n const saveSuccess = createAction(`[${featureName} API] Save ${featureName} Success`, props<{ resource: T }>());\n const saveFailure = createAction(`[${featureName} API] Save ${featureName} Failure`, props<{ errors: E }>());\n\n const deleteAction = createAction(`[${featureName} API] Delete ${featureName}`, props<{ id: string }>());\n const deleteSuccess = createAction(`[${featureName} API] Delete ${featureName} Success`, props<{ id: string }>());\n const deleteFailure = createAction(`[${featureName} API] Delete ${featureName} Failure`, props<{ errors: E }>());\n\n const create = createAction(`[${featureName} API] Create ${featureName}`, props<{ resource: T }>());\n const createSuccess = createAction(`[${featureName} API] Create ${featureName} Success`, props<{ resource: T }>());\n const createFailure = createAction(`[${featureName} API] Create ${featureName} Failure`, props<{ errors: E }>());\n\n const reset = createAction(`[${featureName} API] Reset ${featureName}`);\n\n return {\n load,\n loadSuccess,\n loadFailure,\n save,\n saveSuccess,\n saveFailure,\n delete: deleteAction,\n deleteSuccess,\n deleteFailure,\n create,\n createSuccess,\n createFailure,\n reset\n };\n}\n","import { RequestState } from '@ngdux/data-model-common';\nimport { createLoadingStateActionHandlers, createRequestStateActionHandlers } from '@ngdux/store-common';\nimport { ActionCreator, ActionReducer, createReducer, Creator, on, ReducerTypes } from '@ngrx/store';\nimport { FormActions, FormState } from '../models/form.model';\n\nexport function createFormReducer<T, E>(\n actions: FormActions<T, E>,\n actionHandlers?: ReducerTypes<FormState<T, E>, ActionCreator[]>[],\n initialFormState?: object\n): ActionReducer<FormState<T, E>> {\n const initialState: FormState<T, E> = { ...createInitialFormState<T, E>(), ...initialFormState };\n return createReducer<FormState<T, E>>(\n initialState,\n ...createFormActionHandlers<T, E>(initialState, actions),\n ...(actionHandlers || [])\n );\n}\n\nfunction createInitialFormState<T, E>(): FormState<T, E> {\n return {\n resource: undefined,\n loadingState: RequestState.IDLE,\n requestState: RequestState.IDLE,\n errors: undefined\n };\n}\n\nfunction createFormActionHandlers<T, E>(\n initialFormState: FormState<T, E>,\n actions: FormActions<T, E>\n): ReducerTypes<FormState<T, E>, ActionCreator<string, Creator<any[], object>>[]>[] {\n return [\n on(actions.reset, (): FormState<T, E> => initialFormState),\n on(\n actions.loadSuccess,\n actions.createSuccess,\n actions.saveSuccess,\n (state: FormState<T, E>, { resource }): FormState<T, E> => ({ ...state, resource })\n ),\n on(\n actions.deleteSuccess,\n (state: FormState<T, E>): FormState<T, E> => ({\n ...state,\n resource: undefined\n })\n ),\n ...createRequestStateActionHandlers<FormState<T, E>, E>(\n actions.load,\n actions.save,\n actions.saveSuccess,\n actions.saveFailure\n ),\n ...createRequestStateActionHandlers<FormState<T, E>, E>(\n undefined,\n actions.create,\n actions.createSuccess,\n actions.createFailure\n ),\n ...createRequestStateActionHandlers<FormState<T, E>, E>(\n undefined,\n actions.delete,\n actions.deleteSuccess,\n actions.deleteFailure\n ),\n ...createLoadingStateActionHandlers<FormState<T, E>>(actions.load, actions.loadSuccess, actions.loadFailure)\n ];\n}\n","import { RequestState } from '@ngdux/data-model-common';\nimport { createSelector, DefaultProjectorFn, MemoizedSelector } from '@ngrx/store';\nimport { FormSelectors, FormState } from '../models/form.model';\n\nexport function createFormSelectors<T, E>(\n getFormState: MemoizedSelector<object, FormState<T, E>, DefaultProjectorFn<FormState<T, E>>>\n): FormSelectors<T, E> {\n const getRequestState = createSelector(getFormState, state => state.requestState);\n const getLoadingState = createSelector(getFormState, state => state.loadingState);\n const getErrors = createSelector(getFormState, state => state.errors);\n const getResource = createSelector(getFormState, state => state.resource);\n\n const isReady = createSelector(\n getResource,\n getLoadingState,\n (resource, loadingState) => !!resource && loadingState === RequestState.SUCCESS\n );\n\n return {\n getRequestState,\n getLoadingState,\n getErrors,\n getResource,\n isReady\n };\n}\n","import { Action, createFeatureSelector } from '@ngrx/store';\nimport { FormState } from '../models/form.model';\nimport { createFormActions } from './form-actions';\nimport { createFormReducer } from './form-reducer';\nimport { createFormSelectors } from './form-selectors';\n\nexport function createFormState<T, E>(featureName: string) {\n const actions = createFormActions<T, E>(featureName);\n const reducer = createFormReducer(actions);\n const getState = createFeatureSelector<FormState<T, E>>(featureName);\n const selectors = createFormSelectors(getState);\n\n return {\n actions,\n reducer: (state: FormState<T, E>, action: Action): FormState<T, E> => reducer(state, action),\n selectors\n };\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -1,10 +1,8 @@
|
|
|
1
|
-
import { Router } from '@angular/router';
|
|
2
1
|
import { FormNotificationService, FormService } from '@ngdux/data-model-common';
|
|
3
2
|
import { Actions } from '@ngrx/effects';
|
|
4
3
|
import { Store } from '@ngrx/store';
|
|
5
4
|
import { FormActions } from '../models/form.model';
|
|
6
5
|
export declare abstract class AbstractFormEffects<T, E> {
|
|
7
|
-
private readonly router;
|
|
8
6
|
protected readonly actions$: Actions;
|
|
9
7
|
protected readonly store: Store;
|
|
10
8
|
private readonly service;
|
|
@@ -30,17 +28,6 @@ export declare abstract class AbstractFormEffects<T, E> {
|
|
|
30
28
|
} & import("@ngrx/store/src/models").TypedAction<string>) | ({
|
|
31
29
|
errors: E;
|
|
32
30
|
} & import("@ngrx/store/src/models").TypedAction<string>)> & import("@ngrx/effects").CreateEffectMetadata;
|
|
33
|
-
deleteSuccess$: import("rxjs").Observable<{
|
|
34
|
-
id: string;
|
|
35
|
-
} & import("@ngrx/store/src/models").TypedAction<string>> & import("@ngrx/effects").CreateEffectMetadata;
|
|
36
|
-
createSuccess$: import("rxjs").Observable<{
|
|
37
|
-
resource: T;
|
|
38
|
-
} & import("@ngrx/store/src/models").TypedAction<string>> & import("@ngrx/effects").CreateEffectMetadata;
|
|
39
|
-
navigateToCreateResource$: import("rxjs").Observable<import("@ngrx/store/src/models").TypedAction<string>> & import("@ngrx/effects").CreateEffectMetadata;
|
|
40
|
-
copy$: import("rxjs").Observable<import("@ngrx/store/src/models").TypedAction<string>> & import("@ngrx/effects").CreateEffectMetadata;
|
|
41
|
-
copySelected$: import("rxjs").Observable<{
|
|
42
|
-
id: string;
|
|
43
|
-
} & import("@ngrx/store/src/models").TypedAction<string>> & import("@ngrx/effects").CreateEffectMetadata;
|
|
44
31
|
errorsHandler$: import("rxjs").Observable<({
|
|
45
32
|
errors: E;
|
|
46
33
|
} & import("@ngrx/store/src/models").TypedAction<string>) | ({
|
|
@@ -50,5 +37,5 @@ export declare abstract class AbstractFormEffects<T, E> {
|
|
|
50
37
|
} & import("@ngrx/store/src/models").TypedAction<string>) | ({
|
|
51
38
|
errors: E;
|
|
52
39
|
} & import("@ngrx/store/src/models").TypedAction<string>)> & import("@ngrx/effects").CreateEffectMetadata;
|
|
53
|
-
protected constructor(
|
|
40
|
+
protected constructor(actions$: Actions, store: Store, service: FormService<T>, formActions: FormActions<T, E>, notificationService: FormNotificationService<E>);
|
|
54
41
|
}
|
|
@@ -58,7 +58,6 @@ export interface FormActions<T, E> {
|
|
|
58
58
|
}) => {
|
|
59
59
|
errors: E;
|
|
60
60
|
} & TypedAction<string>>;
|
|
61
|
-
navigateToCreate: ActionCreator<string, () => TypedAction<string>>;
|
|
62
61
|
create: ActionCreator<string, (props: {
|
|
63
62
|
resource: T;
|
|
64
63
|
}) => {
|
|
@@ -75,10 +74,4 @@ export interface FormActions<T, E> {
|
|
|
75
74
|
errors: E;
|
|
76
75
|
} & TypedAction<string>>;
|
|
77
76
|
reset: ActionCreator<string, () => TypedAction<string>>;
|
|
78
|
-
copy: ActionCreator<string, () => TypedAction<string>>;
|
|
79
|
-
copySelected: ActionCreator<string, (props: {
|
|
80
|
-
id: string;
|
|
81
|
-
}) => {
|
|
82
|
-
id: string;
|
|
83
|
-
} & TypedAction<string>>;
|
|
84
77
|
}
|
package/package.json
CHANGED
|
@@ -1,12 +1,11 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ngdux/form",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.9",
|
|
4
4
|
"peerDependencies": {
|
|
5
5
|
"@angular/common": "^14.2.0",
|
|
6
6
|
"@angular/core": "^14.2.0",
|
|
7
|
-
"@ngdux/data-model-common": "0.1.
|
|
8
|
-
"@
|
|
9
|
-
"@ngdux/store-common": "0.1.7",
|
|
7
|
+
"@ngdux/data-model-common": "0.1.8",
|
|
8
|
+
"@ngdux/store-common": "0.1.8",
|
|
10
9
|
"@ngrx/effects": "14.0.2"
|
|
11
10
|
},
|
|
12
11
|
"dependencies": {
|