@ngdux/form 0.1.8 → 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 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
- router: Router,
80
- actions$: Actions,
78
+ actions$: Actions,
81
79
  store: Store,
82
80
  userService: UserService,
83
81
  formNotificationService: FormNotificationService
84
82
  ) {
85
- super(router, actions$, store, userService, formActions, formNotificationService);
83
+ super(actions$, store, userService, formActions, formNotificationService);
86
84
  }
87
85
  }
88
86
  ```
@@ -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(router, actions$, store, service, formActions, notificationService) {
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.onFormDelete(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+IG9mKHRoaXMuZm9ybUFjdGlvbnMuZGVsZXRlRmFpbHVyZSh7IGVycm9ycyB9KSkpXG4gICAgICAgIClcbiAgICAgIClcbiAgICApXG4gICk7XG5cbiAgZGVsZXRlU3VjY2VzcyQgPSBjcmVhdGVFZmZlY3QoKCkgPT5cbiAgICB0aGlzLmFjdGlvbnMkLnBpcGUoXG4gICAgICBvZlR5cGUodGhpcy5mb3JtQWN0aW9ucy5kZWxldGVTdWNjZXNzKSxcbiAgICAgIHRhcCgoeyBpZCB9KSA9PiB7XG4gICAgICAgIHRoaXMubm90aWZpY2F0aW9uU2VydmljZS5vbkZvcm1EZWxldGUoaWQpO1xuICAgICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbJy4uJ10pO1xuICAgICAgfSlcbiAgICApXG4gICk7XG5cbiAgY3JlYXRlU3VjY2VzcyQgPSBjcmVhdGVFZmZlY3QoKCkgPT5cbiAgICB0aGlzLmFjdGlvbnMkLnBpcGUoXG4gICAgICBvZlR5cGUodGhpcy5mb3JtQWN0aW9ucy5jcmVhdGVTdWNjZXNzKSxcbiAgICAgIHRhcCgoKSA9PiB7XG4gICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFsnLi4nXSk7XG4gICAgICB9KVxuICAgIClcbiAgKTtcblxuICBuYXZpZ2F0ZVRvQ3JlYXRlUmVzb3VyY2UkID0gY3JlYXRlRWZmZWN0KCgpID0+XG4gICAgdGhpcy5hY3Rpb25zJC5waXBlKFxuICAgICAgb2ZUeXBlKHRoaXMuZm9ybUFjdGlvbnMubmF2aWdhdGVUb0NyZWF0ZSksXG4gICAgICBtYXAoKCkgPT4gdGhpcy5mb3JtQWN0aW9ucy5yZXNldCgpKSxcbiAgICAgIHRhcCgoKSA9PiB7XG4gICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFsnLi4nXSk7XG4gICAgICB9KVxuICAgIClcbiAgKTtcblxuICBjb3B5JCA9IGNyZWF0ZUVmZmVjdChcbiAgICAoKSA9PlxuICAgICAgdGhpcy5hY3Rpb25zJC5waXBlKFxuICAgICAgICBvZlR5cGUodGhpcy5mb3JtQWN0aW9ucy5jb3B5KSxcbiAgICAgICAgdGFwKCgpID0+IHtcbiAgICAgICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbJy4uJ10pO1xuICAgICAgICB9KVxuICAgICAgKSxcbiAgICB7IGRpc3BhdGNoOiBmYWxzZSB9XG4gICk7XG5cbiAgY29weVNlbGVjdGVkJCA9IGNyZWF0ZUVmZmVjdCgoKSA9PlxuICAgIHRoaXMuYWN0aW9ucyQucGlwZShcbiAgICAgIG9mVHlwZSh0aGlzLmZvcm1BY3Rpb25zLmNvcHlTZWxlY3RlZCksXG4gICAgICBtYXAoKHsgaWQgfSkgPT4gdGhpcy5mb3JtQWN0aW9ucy5sb2FkKHsgaWQgfSkpXG4gICAgKVxuICApO1xuXG4gIGVycm9yc0hhbmRsZXIkID0gY3JlYXRlRWZmZWN0KFxuICAgICgpID0+XG4gICAgICB0aGlzLmFjdGlvbnMkLnBpcGUoXG4gICAgICAgIG9mVHlwZShcbiAgICAgICAgICB0aGlzLmZvcm1BY3Rpb25zLnNhdmVGYWlsdXJlLFxuICAgICAgICAgIHRoaXMuZm9ybUFjdGlvbnMubG9hZEZhaWx1cmUsXG4gICAgICAgICAgdGhpcy5mb3JtQWN0aW9ucy5kZWxldGVGYWlsdXJlLFxuICAgICAgICAgIHRoaXMuZm9ybUFjdGlvbnMuY3JlYXRlRmFpbHVyZVxuICAgICAgICApLFxuICAgICAgICB0YXAoKHsgZXJyb3JzIH0pID0+IHtcbiAgICAgICAgICB0aGlzLm5vdGlmaWNhdGlvblNlcnZpY2Uub25Gb3JtRXJyb3JzKGVycm9ycyk7XG4gICAgICAgIH0pXG4gICAgICApLFxuICAgIHsgZGlzcGF0Y2g6IGZhbHNlIH1cbiAgKTtcblxuICBwcm90ZWN0ZWQgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSByb3V0ZXI6IFJvdXRlcixcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgYWN0aW9ucyQ6IEFjdGlvbnMsXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IHN0b3JlOiBTdG9yZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHNlcnZpY2U6IEZvcm1TZXJ2aWNlPFQ+LFxuICAgIHByaXZhdGUgcmVhZG9ubHkgZm9ybUFjdGlvbnM6IEZvcm1BY3Rpb25zPFQsIEU+LFxuICAgIHByaXZhdGUgcmVhZG9ubHkgbm90aWZpY2F0aW9uU2VydmljZTogRm9ybU5vdGlmaWNhdGlvblNlcnZpY2U8RT5cbiAgKSB7fVxufVxuIl19
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJzdHJhY3QtZm9ybS1lZmZlY3RzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9uZ2R1eC91dGlsL3N0b3JlL2Zvcm0vc3JjL2xpYi8rc3RhdGUvYWJzdHJhY3QtZm9ybS1lZmZlY3RzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBVyxZQUFZLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTlELE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDMUIsT0FBTyxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUc3RSxNQUFNLE9BQWdCLG1CQUFtQjtJQWlFdkMsWUFDcUIsUUFBaUIsRUFDakIsS0FBWSxFQUNkLE9BQXVCLEVBQ3ZCLFdBQThCLEVBQzlCLG1CQUErQztRQUo3QyxhQUFRLEdBQVIsUUFBUSxDQUFTO1FBQ2pCLFVBQUssR0FBTCxLQUFLLENBQU87UUFDZCxZQUFPLEdBQVAsT0FBTyxDQUFnQjtRQUN2QixnQkFBVyxHQUFYLFdBQVcsQ0FBbUI7UUFDOUIsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUE0QjtRQXJFbEUsVUFBSyxHQUFHLFlBQVksQ0FBQyxHQUFHLEVBQUUsQ0FDeEIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQ2hCLE1BQU0sQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxFQUM3QixTQUFTLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsQ0FDbkIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUNoQyxHQUFHLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLFdBQVcsQ0FBQyxFQUFFLFFBQVEsRUFBRSxDQUFDLENB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QyxDQUNILEVBQ0gsRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLENBQ3BCLENBQUM7SUFRQyxDQUFDO0NBQ0wiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGb3JtTm90aWZpY2F0aW9uU2VydmljZSwgRm9ybVNlcnZpY2UgfSBmcm9tICdAbmdkdXgvZGF0YS1tb2RlbC1jb21tb24nO1xuaW1wb3J0IHsgQWN0aW9ucywgY3JlYXRlRWZmZWN0LCBvZlR5cGUgfSBmcm9tICdAbmdyeC9lZmZlY3RzJztcbmltcG9ydCB7IFN0b3JlIH0gZnJvbSAnQG5ncngvc3RvcmUnO1xuaW1wb3J0IHsgb2YgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGNhdGNoRXJyb3IsIGV4aGF1c3RNYXAsIG1hcCwgc3dpdGNoTWFwLCB0YXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBGb3JtQWN0aW9ucyB9IGZyb20gJy4uL21vZGVscy9mb3JtLm1vZGVsJztcblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEFic3RyYWN0Rm9ybUVmZmVjdHM8VCwgRT4ge1xuICBsb2FkJCA9IGNyZWF0ZUVmZmVjdCgoKSA9PlxuICAgIHRoaXMuYWN0aW9ucyQucGlwZShcbiAgICAgIG9mVHlwZSh0aGlzLmZvcm1BY3Rpb25zLmxvYWQpLFxuICAgICAgc3dpdGNoTWFwKCh7IGlkIH0pID0+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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1hY3Rpb25zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9uZ2R1eC91dGlsL3N0b3JlL2Zvcm0vc3JjL2xpYi8rc3RhdGUvZm9ybS1hY3Rpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBR2xELE1BQU0sVUFBVSxpQkFBaUIsQ0FBTyxXQUFtQjtJQUN6RCxNQUFNLElBQUksR0FBRyxZQUFZLENBQUMsSUFBSSxXQUFXLGNBQWMsV0FBVyxFQUFFLEVBQUUsS0FBSyxFQUFrQixDQUFDLENBQUM7SUFDL0YsTUFBTSxXQUFXLEdBQUcsWUFBWSxDQUFDLElBQUksV0FBVyxjQUFjLFdBQVcsVUFBVSxFQUFFLEtBQUssRUFBbUIsQ0FBQyxDQUFDO0lBQy9HLE1BQU0sV0FBVyxHQUFHLFlBQVksQ0FBQyxJQUFJLFdBQVcsY0FBYyxXQUFXLFVBQVUsRUFBRSxLQUFLLEVBQWlCLENBQUMsQ0FBQztJQUU3RyxNQUFNLElBQUksR0FBRyxZQUFZLENBQUMsSUFBSSxXQUFXLGNBQWMsV0FBVyxFQUFFLEVBQUUsS0FBSyxFQUFtQixDQUFDLENBQUM7SUFDaEcsTUFBTSxXQUFXLEdBQUcsWUFBWSxDQUFDLElBQUksV0FBVyxjQUFjLFdBQVcsVUFBVSxFQUFFLEtBQUssRUFBbUIsQ0FBQyxDQUFDO0lBQy9HLE1BQU0sV0FBVyxHQUFHLFlBQVksQ0FBQyxJQUFJLFdBQVcsY0FBYyxXQUFXLFVBQVUsRUFBRSxLQUFLLEVBQWlCLENBQUMsQ0FBQztJQUU3RyxNQUFNLFlBQVksR0FBRyxZQUFZLENBQUMsSUFBSSxXQUFXLGdCQUFnQixXQUFXLEVBQUUsRUFBRSxLQUFLLEVBQWtCLENBQUMsQ0FBQztJQUN6RyxNQUFNLGFBQWEsR0FBRyxZQUFZLENBQUMsSUFBSSxXQUFXLGdCQUFnQixXQUFXLFVBQVUsRUFBRSxLQUFLLEVBQWtCLENBQUMsQ0FBQztJQUNsSCxNQUFNLGFBQWEsR0FBRyxZQUFZLENBQUMsSUFBSSxXQUFXLGdCQUFnQixXQUFXLFVBQVUsRUFBRSxLQUFLLEVBQWlCLENBQUMsQ0FBQztJQUVqSCxNQUFNLGdCQUFnQixHQUFHLFlBQVksQ0FBQyxJQUFJLFdBQVcsNkJBQTZCLFdBQVcsRUFBRSxDQUFDLENBQUM7SUFDakcsTUFBTSxNQUFNLEdBQUcsWUFBWSxDQUFDLElBQUksV0FBVyxnQkFBZ0IsV0FBVyxFQUFFLEVBQUUsS0FBSyxFQUFtQixDQUFDLENBQUM7SUFDcEcsTUFBTSxhQUFhLEdBQUcsWUFBWSxDQUFDLElBQUksV0FBVyxnQkFBZ0IsV0FBVyxVQUFVLEVBQUUsS0FBSyxFQUFtQixDQUFDLENBQUM7SUFDbkgsTUFBTSxhQUFhLEdBQUcsWUFBWSxDQUFDLElBQUksV0FBVyxnQkFBZ0IsV0FBVyxVQUFVLEVBQUUsS0FBSyxFQUFpQixDQUFDLENBQUM7SUFFakgsTUFBTSxLQUFLLEdBQUcsWUFBWSxDQUFDLElBQUksV0FBVyxlQUFlLFdBQVcsRUFBRSxDQUFDLENBQUM7SUFFeEUsTUFBTSxJQUFJLEdBQUcsWUFBWSxDQUFDLElBQUksV0FBVyxlQUFlLFdBQVcsRUFBRSxDQUFDLENBQUM7SUFDdkUsTUFBTSxZQUFZLEdBQUcsWUFBWSxDQUFDLElBQUksV0FBVyx3QkFBd0IsV0FBVyxFQUFFLEVBQUUsS0FBSyxFQUFrQixDQUFDLENBQUM7SUFFakgsT0FBTztRQUNMLElBQUk7UUFDSixXQUFXO1FBQ1gsV0FBVztRQUNYLElBQUk7UUFDSixXQUFXO1FBQ1gsV0FBVztRQUNYLE1BQU0sRUFBRSxZQUFZO1FBQ3BCLGFBQWE7UUFDYixhQUFhO1FBQ2IsZ0JBQWdCO1FBQ2hCLE1BQU07UUFDTixhQUFhO1FBQ2IsYUFBYTtRQUNiLEtBQUs7UUFDTCxJQUFJO1FBQ0osWUFBWTtLQUNiLENBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY3JlYXRlQWN0aW9uLCBwcm9wcyB9IGZyb20gJ0BuZ3J4L3N0b3JlJztcbmltcG9ydCB7IEZvcm1BY3Rpb25zIH0gZnJvbSAnLi4vbW9kZWxzL2Zvcm0ubW9kZWwnO1xuXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlRm9ybUFjdGlvbnM8VCwgRT4oZmVhdHVyZU5hbWU6IHN0cmluZyk6IEZvcm1BY3Rpb25zPFQsIEU+IHtcbiAgY29uc3QgbG9hZCA9IGNyZWF0ZUFjdGlvbihgWyR7ZmVhdHVyZU5hbWV9IEFQSV0gTG9hZCAke2ZlYXR1cmVOYW1lfWAsIHByb3BzPHsgaWQ6IHN0cmluZyB9PigpKTtcbiAgY29uc3QgbG9hZFN1Y2Nlc3MgPSBjcmVhdGVBY3Rpb24oYFske2ZlYXR1cmVOYW1lfSBBUEldIExvYWQgJHtmZWF0dXJlTmFtZX0gU3VjY2Vzc2AsIHByb3BzPHsgcmVzb3VyY2U6IFQgfT4oKSk7XG4gIGNvbnN0IGxvYWRGYWlsdXJlID0gY3JlYXRlQWN0aW9uKGBbJHtmZWF0dXJlTmFtZX0gQVBJXSBMb2FkICR7ZmVhdHVyZU5hbWV9IEZhaWx1cmVgLCBwcm9wczx7IGVycm9yczogRSB9PigpKTtcblxuICBjb25zdCBzYXZlID0gY3JlYXRlQWN0aW9uKGBbJHtmZWF0dXJlTmFtZX0gQVBJXSBTYXZlICR7ZmVhdHVyZU5hbWV9YCwgcHJvcHM8eyByZXNvdXJjZTogVCB9PigpKTtcbiAgY29uc3Qgc2F2ZVN1Y2Nlc3MgPSBjcmVhdGVBY3Rpb24oYFske2ZlYXR1cmVOYW1lfSBBUEldIFNhdmUgJHtmZWF0dXJlTmFtZX0gU3VjY2Vzc2AsIHByb3BzPHsgcmVzb3VyY2U6IFQgfT4oKSk7XG4gIGNvbnN0IHNhdmVGYWlsdXJlID0gY3JlYXRlQWN0aW9uKGBbJHtmZWF0dXJlTmFtZX0gQVBJXSBTYXZlICR7ZmVhdHVyZU5hbWV9IEZhaWx1cmVgLCBwcm9wczx7IGVycm9yczogRSB9PigpKTtcblxuICBjb25zdCBkZWxldGVBY3Rpb24gPSBjcmVhdGVBY3Rpb24oYFske2ZlYXR1cmVOYW1lfSBBUEldIERlbGV0ZSAke2ZlYXR1cmVOYW1lfWAsIHByb3BzPHsgaWQ6IHN0cmluZyB9PigpKTtcbiAgY29uc3QgZGVsZXRlU3VjY2VzcyA9IGNyZWF0ZUFjdGlvbihgWyR7ZmVhdHVyZU5hbWV9IEFQSV0gRGVsZXRlICR7ZmVhdHVyZU5hbWV9IFN1Y2Nlc3NgLCBwcm9wczx7IGlkOiBzdHJpbmcgfT4oKSk7XG4gIGNvbnN0IGRlbGV0ZUZhaWx1cmUgPSBjcmVhdGVBY3Rpb24oYFske2ZlYXR1cmVOYW1lfSBBUEldIERlbGV0ZSAke2ZlYXR1cmVOYW1lfSBGYWlsdXJlYCwgcHJvcHM8eyBlcnJvcnM6IEUgfT4oKSk7XG5cbiAgY29uc3QgbmF2aWdhdGVUb0NyZWF0ZSA9IGNyZWF0ZUFjdGlvbihgWyR7ZmVhdHVyZU5hbWV9IFBhZ2VdIE5hdmlnYXRlIHRvIENyZWF0ZSAke2ZlYXR1cmVOYW1lfWApO1xuICBjb25zdCBjcmVhdGUgPSBjcmVhdGVBY3Rpb24oYFske2ZlYXR1cmVOYW1lfSBBUEldIENyZWF0ZSAke2ZlYXR1cmVOYW1lfWAsIHByb3BzPHsgcmVzb3VyY2U6IFQgfT4oKSk7XG4gIGNvbnN0IGNyZWF0ZVN1Y2Nlc3MgPSBjcmVhdGVBY3Rpb24oYFske2ZlYXR1cmVOYW1lfSBBUEldIENyZWF0ZSAke2ZlYXR1cmVOYW1lfSBTdWNjZXNzYCwgcHJvcHM8eyByZXNvdXJjZTogVCB9PigpKTtcbiAgY29uc3QgY3JlYXRlRmFpbHVyZSA9IGNyZWF0ZUFjdGlvbihgWyR7ZmVhdHVyZU5hbWV9IEFQSV0gQ3JlYXRlICR7ZmVhdHVyZU5hbWV9IEZhaWx1cmVgLCBwcm9wczx7IGVycm9yczogRSB9PigpKTtcblxuICBjb25zdCByZXNldCA9IGNyZWF0ZUFjdGlvbihgWyR7ZmVhdHVyZU5hbWV9IEFQSV0gUmVzZXQgJHtmZWF0dXJlTmFtZX1gKTtcblxuICBjb25zdCBjb3B5ID0gY3JlYXRlQWN0aW9uKGBbJHtmZWF0dXJlTmFtZX0gUGFnZV0gQ29weSAke2ZlYXR1cmVOYW1lfWApO1xuICBjb25zdCBjb3B5U2VsZWN0ZWQgPSBjcmVhdGVBY3Rpb24oYFske2ZlYXR1cmVOYW1lfSBQYWdlXSBDb3B5IFNlbGVjdGVkICR7ZmVhdHVyZU5hbWV9YCwgcHJvcHM8eyBpZDogc3RyaW5nIH0+KCkpO1xuXG4gIHJldHVybiB7XG4gICAgbG9hZCxcbiAgICBsb2FkU3VjY2VzcyxcbiAgICBsb2FkRmFpbHVyZSxcbiAgICBzYXZlLFxuICAgIHNhdmVTdWNjZXNzLFxuICAgIHNhdmVGYWlsdXJlLFxuICAgIGRlbGV0ZTogZGVsZXRlQWN0aW9uLFxuICAgIGRlbGV0ZVN1Y2Nlc3MsXG4gICAgZGVsZXRlRmFpbHVyZSxcbiAgICBuYXZpZ2F0ZVRvQ3JlYXRlLFxuICAgIGNyZWF0ZSxcbiAgICBjcmVhdGVTdWNjZXNzLFxuICAgIGNyZWF0ZUZhaWx1cmUsXG4gICAgcmVzZXQsXG4gICAgY29weSxcbiAgICBjb3B5U2VsZWN0ZWRcbiAgfTtcbn1cbiJdfQ==
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1yZWR1Y2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9uZ2R1eC91dGlsL3N0b3JlL2Zvcm0vc3JjL2xpYi8rc3RhdGUvZm9ybS1yZWR1Y2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUN4RCxPQUFPLEVBQUUsZ0NBQWdDLEVBQUUsZ0NBQWdDLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN6RyxPQUFPLEVBQWdDLGFBQWEsRUFBVyxFQUFFLEVBQWdCLE1BQU0sYUFBYSxDQUFDO0FBR3JHLE1BQU0sVUFBVSxpQkFBaUIsQ0FDL0IsT0FBMEIsRUFDMUIsY0FBaUUsRUFDakUsZ0JBQXlCO0lBRXpCLE1BQU0sWUFBWSxHQUFvQixFQUFFLEdBQUcsc0JBQXNCLEVBQVEsRUFBRSxHQUFHLGdCQUFnQixFQUFFLENBQUM7SUFDakcsT0FBTyxhQUFhLENBQ2xCLFlBQVksRUFDWixHQUFHLHdCQUF3QixDQUFPLFlBQVksRUFBRSxPQUFPLENBQUMsRUFDeEQsR0FBRyxDQUFDLGNBQWMsSUFBSSxFQUFFLENBQUMsQ0FDMUIsQ0FBQztBQUNKLENBQUM7QUFFRCxTQUFTLHNCQUFzQjtJQUM3QixPQUFPO1FBQ0wsUUFBUSxFQUFFLFNBQVM7UUFDbkIsWUFBWSxFQUFFLFlBQVksQ0FBQyxJQUFJO1FBQy9CLFlBQVksRUFBRSxZQUFZLENBQUMsSUFBSTtRQUMvQixNQUFNLEVBQUUsU0FBUztLQUNsQixDQUFDO0FBQ0osQ0FBQztBQUVELFNBQVMsd0JBQXdCLENBQy9CLGdCQUFpQyxFQUNqQyxPQUEwQjtJQUUxQixPQUFPO1FBQ0wsRUFBRSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsR0FBb0IsRUFBRSxDQUFDLGdCQUFnQixDQUFDO1FBQzFELEVBQUUsQ0FDQSxPQUFPLENBQUMsV0FBVyxFQUNuQixPQUFPLENBQUMsYUFBYSxFQUNyQixPQUFPLENBQUMsV0FBVyxFQUNuQixDQUFDLEtBQXNCLEVBQUUsRUFBRSxRQUFRLEVBQUUsRUFBbUIsRUFBRSxDQUFDLENBQUMsRUFBRSxHQUFHLEtBQUssRUFBRSxRQUFRLEVBQUUsQ0FBQyxDQUNwRjtRQUNELEVBQUUsQ0FDQSxPQUFPLENBQUMsYUFBYSxFQUNyQixDQUFDLEtBQXNCLEVBQW1CLEVBQUUsQ0FBQyxDQUFDO1lBQzVDLEdBQUcsS0FBSztZQUNSLFFBQVEsRUFBRSxTQUFTO1NBQ3BCLENBQUMsQ0FDSDtRQUNELEVBQUUsQ0FDQSxPQUFPLENBQUMsSUFBSSxFQUNaLENBQUMsS0FBc0IsRUFBbUIsRUFBRSxDQUFDLENBQUM7WUFDNUMsR0FBRyxLQUFLO1lBQ1IsWUFBWSxFQUFFLFlBQVksQ0FBQyxJQUFJO1lBQy9CLFlBQVksRUFBRSxZQUFZLENBQUMsSUFBSTtTQUNoQyxDQUFDLENBQ0g7UUFDRCxHQUFHLGdDQUFnQyxDQUNqQyxPQUFPLENBQUMsSUFBSSxFQUNaLE9BQU8sQ0FBQyxJQUFJLEVBQ1osT0FBTyxDQUFDLFdBQVcsRUFDbkIsT0FBTyxDQUFDLFdBQVcsQ0FDcEI7UUFDRCxHQUFHLGdDQUFnQyxDQUNqQyxTQUFTLEVBQ1QsT0FBTyxDQUFDLE1BQU0sRUFDZCxPQUFPLENBQUMsYUFBYSxFQUNyQixPQUFPLENBQUMsYUFBYSxDQUN0QjtRQUNELEdBQUcsZ0NBQWdDLENBQ2pDLFNBQVMsRUFDVCxPQUFPLENBQUMsTUFBTSxFQUNkLE9BQU8sQ0FBQyxhQUFhLEVBQ3JCLE9BQU8sQ0FBQyxhQUFhLENBQ3RCO1FBQ0QsR0FBRyxnQ0FBZ0MsQ0FBa0IsT0FBTyxDQUFDLElBQUksRUFBRSxPQUFPLENBQUMsV0FBVyxFQUFFLE9BQU8sQ0FBQyxXQUFXLENBQUM7S0FDN0csQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBSZXF1ZXN0U3RhdGUgfSBmcm9tICdAbmdkdXgvZGF0YS1tb2RlbC1jb21tb24nO1xuaW1wb3J0IHsgY3JlYXRlTG9hZGluZ1N0YXRlQWN0aW9uSGFuZGxlcnMsIGNyZWF0ZVJlcXVlc3RTdGF0ZUFjdGlvbkhhbmRsZXJzIH0gZnJvbSAnQG5nZHV4L3N0b3JlLWNvbW1vbic7XG5pbXBvcnQgeyBBY3Rpb25DcmVhdG9yLCBBY3Rpb25SZWR1Y2VyLCBjcmVhdGVSZWR1Y2VyLCBDcmVhdG9yLCBvbiwgUmVkdWNlclR5cGVzIH0gZnJvbSAnQG5ncngvc3RvcmUnO1xuaW1wb3J0IHsgRm9ybUFjdGlvbnMsIEZvcm1TdGF0ZSB9IGZyb20gJy4uL21vZGVscy9mb3JtLm1vZGVsJztcblxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZUZvcm1SZWR1Y2VyPFQsIEU+KFxuICBhY3Rpb25zOiBGb3JtQWN0aW9uczxULCBFPixcbiAgYWN0aW9uSGFuZGxlcnM/OiBSZWR1Y2VyVHlwZXM8Rm9ybVN0YXRlPFQsIEU+LCBBY3Rpb25DcmVhdG9yW10+W10sXG4gIGluaXRpYWxGb3JtU3RhdGU/OiBvYmplY3Rcbik6IEFjdGlvblJlZHVjZXI8Rm9ybVN0YXRlPFQsIEU+PiB7XG4gIGNvbnN0IGluaXRpYWxTdGF0ZTogRm9ybVN0YXRlPFQsIEU+ID0geyAuLi5jcmVhdGVJbml0aWFsRm9ybVN0YXRlPFQsIEU+KCksIC4uLmluaXRpYWxGb3JtU3RhdGUgfTtcbiAgcmV0dXJuIGNyZWF0ZVJlZHVjZXI8Rm9ybVN0YXRlPFQsIEU+PihcbiAgICBpbml0aWFsU3RhdGUsXG4gICAgLi4uY3JlYXRlRm9ybUFjdGlvbkhhbmRsZXJzPFQsIEU+KGluaXRpYWxTdGF0ZSwgYWN0aW9ucyksXG4gICAgLi4uKGFjdGlvbkhhbmRsZXJzIHx8IFtdKVxuICApO1xufVxuXG5mdW5jdGlvbiBjcmVhdGVJbml0aWFsRm9ybVN0YXRlPFQsIEU+KCk6IEZvcm1TdGF0ZTxULCBFPiB7XG4gIHJldHVybiB7XG4gICAgcmVzb3VyY2U6IHVuZGVmaW5lZCxcbiAgICBsb2FkaW5nU3RhdGU6IFJlcXVlc3RTdGF0ZS5JRExFLFxuICAgIHJlcXVlc3RTdGF0ZTogUmVxdWVzdFN0YXRlLklETEUsXG4gICAgZXJyb3JzOiB1bmRlZmluZWRcbiAgfTtcbn1cblxuZnVuY3Rpb24gY3JlYXRlRm9ybUFjdGlvbkhhbmRsZXJzPFQsIEU+KFxuICBpbml0aWFsRm9ybVN0YXRlOiBGb3JtU3RhdGU8VCwgRT4sXG4gIGFjdGlvbnM6IEZvcm1BY3Rpb25zPFQsIEU+XG4pOiBSZWR1Y2VyVHlwZXM8Rm9ybVN0YXRlPFQsIEU+LCBBY3Rpb25DcmVhdG9yPHN0cmluZywgQ3JlYXRvcjxhbnlbXSwgb2JqZWN0Pj5bXT5bXSB7XG4gIHJldHVybiBbXG4gICAgb24oYWN0aW9ucy5yZXNldCwgKCk6IEZvcm1TdGF0ZTxULCBFPiA9PiBpbml0aWFsRm9ybVN0YXRlKSxcbiAgICBvbihcbiAgICAgIGFjdGlvbnMubG9hZFN1Y2Nlc3MsXG4gICAgICBhY3Rpb25zLmNyZWF0ZVN1Y2Nlc3MsXG4gICAgICBhY3Rpb25zLnNhdmVTdWNjZXNzLFxuICAgICAgKHN0YXRlOiBGb3JtU3RhdGU8VCwgRT4sIHsgcmVzb3VyY2UgfSk6IEZvcm1TdGF0ZTxULCBFPiA9PiAoeyAuLi5zdGF0ZSwgcmVzb3VyY2UgfSlcbiAgICApLFxuICAgIG9uKFxuICAgICAgYWN0aW9ucy5kZWxldGVTdWNjZXNzLFxuICAgICAgKHN0YXRlOiBGb3JtU3RhdGU8VCwgRT4pOiBGb3JtU3RhdGU8VCwgRT4gPT4gKHtcbiAgICAgICAgLi4uc3RhdGUsXG4gICAgICAgIHJlc291cmNlOiB1bmRlZmluZWRcbiAgICAgIH0pXG4gICAgKSxcbiAgICBvbihcbiAgICAgIGFjdGlvbnMuY29weSxcbiAgICAgIChzdGF0ZTogRm9ybVN0YXRlPFQsIEU+KTogRm9ybVN0YXRlPFQsIEU+ID0+ICh7XG4gICAgICAgIC4uLnN0YXRlLFxuICAgICAgICBsb2FkaW5nU3RhdGU6IFJlcXVlc3RTdGF0ZS5JRExFLFxuICAgICAgICByZXF1ZXN0U3RhdGU6IFJlcXVlc3RTdGF0ZS5JRExFXG4gICAgICB9KVxuICAgICksXG4gICAgLi4uY3JlYXRlUmVxdWVzdFN0YXRlQWN0aW9uSGFuZGxlcnM8Rm9ybVN0YXRlPFQsIEU+LCBFPihcbiAgICAgIGFjdGlvbnMubG9hZCxcbiAgICAgIGFjdGlvbnMuc2F2ZSxcbiAgICAgIGFjdGlvbnMuc2F2ZVN1Y2Nlc3MsXG4gICAgICBhY3Rpb25zLnNhdmVGYWlsdXJlXG4gICAgKSxcbiAgICAuLi5jcmVhdGVSZXF1ZXN0U3RhdGVBY3Rpb25IYW5kbGVyczxGb3JtU3RhdGU8VCwgRT4sIEU+KFxuICAgICAgdW5kZWZpbmVkLFxuICAgICAgYWN0aW9ucy5jcmVhdGUsXG4gICAgICBhY3Rpb25zLmNyZWF0ZVN1Y2Nlc3MsXG4gICAgICBhY3Rpb25zLmNyZWF0ZUZhaWx1cmVcbiAgICApLFxuICAgIC4uLmNyZWF0ZVJlcXVlc3RTdGF0ZUFjdGlvbkhhbmRsZXJzPEZvcm1TdGF0ZTxULCBFPiwgRT4oXG4gICAgICB1bmRlZmluZWQsXG4gICAgICBhY3Rpb25zLmRlbGV0ZSxcbiAgICAgIGFjdGlvbnMuZGVsZXRlU3VjY2VzcyxcbiAgICAgIGFjdGlvbnMuZGVsZXRlRmFpbHVyZVxuICAgICksXG4gICAgLi4uY3JlYXRlTG9hZGluZ1N0YXRlQWN0aW9uSGFuZGxlcnM8Rm9ybVN0YXRlPFQsIEU+PihhY3Rpb25zLmxvYWQsIGFjdGlvbnMubG9hZFN1Y2Nlc3MsIGFjdGlvbnMubG9hZEZhaWx1cmUpXG4gIF07XG59XG4iXX0=
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+O1xuXG4gIG5hdmlnYXRlVG9DcmVhdGU6IEFjdGlvbkNyZWF0b3I8c3RyaW5nLCAoKSA9PiBUeXBlZEFjdGlvbjxzdHJpbmc+PjtcbiAgY3JlYXRlOiBBY3Rpb25DcmVhdG9yPHN0cmluZywgKHByb3BzOiB7IHJlc291cmNlOiBUIH0pID0+IHsgcmVzb3VyY2U6IFQgfSAmIFR5cGVkQWN0aW9uPHN0cmluZz4+O1xuICBjcmVhdGVTdWNjZXNzOiBBY3Rpb25DcmVhdG9yPHN0cmluZywgKHByb3BzOiB7IHJlc291cmNlOiBUIH0pID0+IHsgcmVzb3VyY2U6IFQgfSAmIFR5cGVkQWN0aW9uPHN0cmluZz4+O1xuICBjcmVhdGVGYWlsdXJlOiBBY3Rpb25DcmVhdG9yPHN0cmluZywgKHByb3BzOiB7IGVycm9yczogRSB9KSA9PiB7IGVycm9yczogRSB9ICYgVHlwZWRBY3Rpb248c3RyaW5nPj47XG5cbiAgcmVzZXQ6IEFjdGlvbkNyZWF0b3I8c3RyaW5nLCAoKSA9PiBUeXBlZEFjdGlvbjxzdHJpbmc+PjtcblxuICBjb3B5OiBBY3Rpb25DcmVhdG9yPHN0cmluZywgKCkgPT4gVHlwZWRBY3Rpb248c3RyaW5nPj47XG4gIGNvcHlTZWxlY3RlZDogQWN0aW9uQ3JlYXRvcjxzdHJpbmcsIChwcm9wczogeyBpZDogc3RyaW5nIH0pID0+IHsgaWQ6IHN0cmluZyB9ICYgVHlwZWRBY3Rpb248c3RyaW5nPj47XG59XG4iXX0=
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=
@@ -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(router, actions$, store, service, formActions, notificationService) {
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.onFormDelete(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.onFormDelete(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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"}
@@ -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(router, actions$, store, service, formActions, notificationService) {
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.onFormDelete(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.onFormDelete(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(router: Router, actions$: Actions, store: Store, service: FormService<T>, formActions: FormActions<T, E>, notificationService: FormNotificationService<E>);
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,11 +1,10 @@
1
1
  {
2
2
  "name": "@ngdux/form",
3
- "version": "0.1.8",
3
+ "version": "0.1.9",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "^14.2.0",
6
6
  "@angular/core": "^14.2.0",
7
7
  "@ngdux/data-model-common": "0.1.8",
8
- "@angular/router": "14.2.6",
9
8
  "@ngdux/store-common": "0.1.8",
10
9
  "@ngrx/effects": "14.0.2"
11
10
  },