@ngdux/form 0.1.8 → 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +144 -146
- package/esm2020/index.mjs +3 -1
- package/esm2020/lib/+state/abstract-form-effects.mjs +2 -17
- package/esm2020/lib/+state/abstract-form-state.service.mjs +40 -0
- package/esm2020/lib/+state/abstract-form.facade.mjs +29 -0
- package/esm2020/lib/+state/form-actions.mjs +2 -8
- package/esm2020/lib/+state/form-reducer.mjs +1 -6
- package/esm2020/lib/+state/form-selectors.mjs +1 -1
- package/esm2020/lib/+state/form-state.mjs +1 -1
- package/esm2020/lib/models/form.model.mjs +3 -2
- package/fesm2015/ngdux-form.mjs +71 -26
- package/fesm2015/ngdux-form.mjs.map +1 -1
- package/fesm2020/ngdux-form.mjs +69 -30
- package/fesm2020/ngdux-form.mjs.map +1 -1
- package/index.d.ts +2 -0
- package/lib/+state/abstract-form-effects.d.ts +1 -14
- package/lib/+state/abstract-form-state.service.d.ts +15 -0
- package/lib/+state/abstract-form.facade.d.ts +19 -0
- package/lib/models/form.model.d.ts +2 -7
- package/package.json +11 -13
package/README.md
CHANGED
|
@@ -1,146 +1,144 @@
|
|
|
1
|
-
# @ngdux/form
|
|
2
|
-
|
|
3
|
-
The @ngdux/form gives yo a full state to make easy to create, load, save and delete a resource.
|
|
4
|
-
|
|
5
|
-
Example:
|
|
6
|
-
|
|
7
|
-
## Option 1
|
|
8
|
-
|
|
9
|
-
### Full state
|
|
10
|
-
|
|
11
|
-
```
|
|
12
|
-
import { User, Error } from '.../models';
|
|
13
|
-
import { createFormState } from '@ngdux/form';
|
|
14
|
-
|
|
15
|
-
export const USER_FEATURE_KEY = 'user';
|
|
16
|
-
export const {
|
|
17
|
-
actions: userActions,
|
|
18
|
-
selectors: userSelectors,
|
|
19
|
-
reducer: userReducer
|
|
20
|
-
} = createFormState<User, Error>(USER_FEATURE_KEY);
|
|
21
|
-
```
|
|
22
|
-
|
|
23
|
-
## Option 2
|
|
24
|
-
|
|
25
|
-
### Actions
|
|
26
|
-
|
|
27
|
-
```
|
|
28
|
-
import { createFormActions } from '@ngdux/form';
|
|
29
|
-
import { User, Error } from '.../models';
|
|
30
|
-
|
|
31
|
-
export const formActions = createFormActions<User, Error>('User');
|
|
32
|
-
```
|
|
33
|
-
|
|
34
|
-
### Reducer
|
|
35
|
-
|
|
36
|
-
```
|
|
37
|
-
import { createFormReducer, FormState } from '@ngdux/form';
|
|
38
|
-
import { Action } from '@ngrx/store';
|
|
39
|
-
import { User, Error } from '.../models';
|
|
40
|
-
import { formActions } from './user.actions';
|
|
41
|
-
|
|
42
|
-
export const USER_FEATURE_KEY = 'user';
|
|
43
|
-
const reducer = createFormReducer(formActions);
|
|
44
|
-
|
|
45
|
-
export function userReducer(state: FormState<User, Error>, action: Action): FormState<User, Error> {
|
|
46
|
-
return reducer(state, action);
|
|
47
|
-
}
|
|
48
|
-
```
|
|
49
|
-
|
|
50
|
-
### Selectors
|
|
51
|
-
|
|
52
|
-
```
|
|
53
|
-
import { createFormSelectors, FormState } from '@ngdux/form';
|
|
54
|
-
import { createFeatureSelector } from '@ngrx/store';
|
|
55
|
-
import { User, Error } from '.../models';
|
|
56
|
-
import { USER_FEATURE_KEY } from './user.reducer';
|
|
57
|
-
|
|
58
|
-
const getState = createFeatureSelector<FormState<User, Error>>(USER_FEATURE_KEY);
|
|
59
|
-
|
|
60
|
-
export const formSelectors = createFormSelectors(getState);
|
|
61
|
-
```
|
|
62
|
-
|
|
63
|
-
## Effects
|
|
64
|
-
|
|
65
|
-
```
|
|
66
|
-
import { Injectable } from '@angular/core';
|
|
67
|
-
import {
|
|
68
|
-
import {
|
|
69
|
-
import {
|
|
70
|
-
import {
|
|
71
|
-
import {
|
|
72
|
-
import {
|
|
73
|
-
import {
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
formNotificationService
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
import {
|
|
94
|
-
import {
|
|
95
|
-
import {
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
}
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
import {
|
|
128
|
-
import {
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
}
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
}
|
|
146
|
-
```
|
|
1
|
+
# @ngdux/form
|
|
2
|
+
|
|
3
|
+
The @ngdux/form gives yo a full state to make easy to create, load, save and delete a resource.
|
|
4
|
+
|
|
5
|
+
Example:
|
|
6
|
+
|
|
7
|
+
## Option 1
|
|
8
|
+
|
|
9
|
+
### Full state
|
|
10
|
+
|
|
11
|
+
```
|
|
12
|
+
import { User, Error } from '.../models';
|
|
13
|
+
import { createFormState } from '@ngdux/form';
|
|
14
|
+
|
|
15
|
+
export const USER_FEATURE_KEY = 'user';
|
|
16
|
+
export const {
|
|
17
|
+
actions: userActions,
|
|
18
|
+
selectors: userSelectors,
|
|
19
|
+
reducer: userReducer
|
|
20
|
+
} = createFormState<User, Error>(USER_FEATURE_KEY);
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
## Option 2
|
|
24
|
+
|
|
25
|
+
### Actions
|
|
26
|
+
|
|
27
|
+
```
|
|
28
|
+
import { createFormActions } from '@ngdux/form';
|
|
29
|
+
import { User, Error } from '.../models';
|
|
30
|
+
|
|
31
|
+
export const formActions = createFormActions<User, Error>('User');
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
### Reducer
|
|
35
|
+
|
|
36
|
+
```
|
|
37
|
+
import { createFormReducer, FormState } from '@ngdux/form';
|
|
38
|
+
import { Action } from '@ngrx/store';
|
|
39
|
+
import { User, Error } from '.../models';
|
|
40
|
+
import { formActions } from './user.actions';
|
|
41
|
+
|
|
42
|
+
export const USER_FEATURE_KEY = 'user';
|
|
43
|
+
const reducer = createFormReducer(formActions);
|
|
44
|
+
|
|
45
|
+
export function userReducer(state: FormState<User, Error>, action: Action): FormState<User, Error> {
|
|
46
|
+
return reducer(state, action);
|
|
47
|
+
}
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
### Selectors
|
|
51
|
+
|
|
52
|
+
```
|
|
53
|
+
import { createFormSelectors, FormState } from '@ngdux/form';
|
|
54
|
+
import { createFeatureSelector } from '@ngrx/store';
|
|
55
|
+
import { User, Error } from '.../models';
|
|
56
|
+
import { USER_FEATURE_KEY } from './user.reducer';
|
|
57
|
+
|
|
58
|
+
const getState = createFeatureSelector<FormState<User, Error>>(USER_FEATURE_KEY);
|
|
59
|
+
|
|
60
|
+
export const formSelectors = createFormSelectors(getState);
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
## Effects
|
|
64
|
+
|
|
65
|
+
```
|
|
66
|
+
import { Injectable } from '@angular/core';
|
|
67
|
+
import { AbstractFormEffects } from '@ngdux/form';
|
|
68
|
+
import { Actions } from '@ngrx/effects';
|
|
69
|
+
import { Store } from '@ngrx/store';
|
|
70
|
+
import { User, Error } from '.../models';
|
|
71
|
+
import { FormNotificationService } from '../notification';
|
|
72
|
+
import { UserService } from '../../services/user.service';
|
|
73
|
+
import { formActions } from './user.actions';
|
|
74
|
+
|
|
75
|
+
@Injectable()
|
|
76
|
+
export class UserEffects extends AbstractFormEffects<User, Error> {
|
|
77
|
+
constructor(
|
|
78
|
+
actions$: Actions,
|
|
79
|
+
store: Store,
|
|
80
|
+
userService: UserService,
|
|
81
|
+
formNotificationService: FormNotificationService
|
|
82
|
+
) {
|
|
83
|
+
super(actions$, store, userService, formActions, formNotificationService);
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
## Service
|
|
89
|
+
|
|
90
|
+
```
|
|
91
|
+
import { HttpClient } from '@angular/common/http';
|
|
92
|
+
import { Injectable } from '@angular/core';
|
|
93
|
+
import { FormService } from '@ngdux/form';
|
|
94
|
+
import { User, USERS_RESOURCE_BASE_PATH } from '../models';
|
|
95
|
+
import { Observable } from 'rxjs';
|
|
96
|
+
|
|
97
|
+
@Injectable({
|
|
98
|
+
providedIn: 'root'
|
|
99
|
+
})
|
|
100
|
+
export class UserService implements FormService<User> {
|
|
101
|
+
constructor(private httpClient: HttpClient) {}
|
|
102
|
+
|
|
103
|
+
loadResource(id: string): Observable<User> {
|
|
104
|
+
return this.httpClient.get<User>(`${USERS_RESOURCE_BASE_PATH}/${id}`);
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
createResource(user: User): Observable<User> {
|
|
108
|
+
return this.httpClient.post<User>(USERS_RESOURCE_BASE_PATH, user);
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
saveResource(user: User): Observable<User> {
|
|
112
|
+
return this.httpClient.put<User>(`${USERS_RESOURCE_BASE_PATH}/${user.id}`, user);
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
deleteResource(id: string): Observable<User> {
|
|
116
|
+
return this.httpClient.delete<User>(`${USERS_RESOURCE_BASE_PATH}/${id}`);
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
```
|
|
121
|
+
|
|
122
|
+
## Notification Service
|
|
123
|
+
|
|
124
|
+
```
|
|
125
|
+
import { Injectable } from '@angular/core';
|
|
126
|
+
import { MatSnackBar } from '@angular/material/snack-bar';
|
|
127
|
+
import { FormNotificationService } from '@demo/ngdux/util/store/form';
|
|
128
|
+
import { Error } from '.../models';
|
|
129
|
+
|
|
130
|
+
@Injectable({
|
|
131
|
+
providedIn: 'root'
|
|
132
|
+
})
|
|
133
|
+
export class FormNotificationService implements FormNotificationService<Error> {
|
|
134
|
+
constructor(private readonly snackBar: MatSnackBar) {}
|
|
135
|
+
|
|
136
|
+
onFormErrors(errors: Error): void {
|
|
137
|
+
this.snackBar.open(errors.message);
|
|
138
|
+
}
|
|
139
|
+
|
|
140
|
+
onFormDelete(id: string): void {
|
|
141
|
+
this.snackBar.open(`Resource ${id} has been deleted.`);
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
```
|
package/esm2020/index.mjs
CHANGED
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
export { RequestState } from '@ngdux/data-model-common';
|
|
2
2
|
export * from './lib/+state/abstract-form-effects';
|
|
3
|
+
export * from './lib/+state/abstract-form-state.service';
|
|
4
|
+
export * from './lib/+state/abstract-form.facade';
|
|
3
5
|
export * from './lib/+state/form-actions';
|
|
4
6
|
export * from './lib/+state/form-reducer';
|
|
5
7
|
export * from './lib/+state/form-selectors';
|
|
6
8
|
export * from './lib/+state/form-state';
|
|
7
9
|
export * from './lib/models/form.model';
|
|
8
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
10
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL25nZHV4L3V0aWwvc3RvcmUvZm9ybS9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUF3QyxZQUFZLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUM5RixjQUFjLG9DQUFvQyxDQUFDO0FBQ25ELGNBQWMsMENBQTBDLENBQUM7QUFDekQsY0FBYyxtQ0FBbUMsQ0FBQztBQUNsRCxjQUFjLDJCQUEyQixDQUFDO0FBQzFDLGNBQWMsMkJBQTJCLENBQUM7QUFDMUMsY0FBYyw2QkFBNkIsQ0FBQztBQUM1QyxjQUFjLHlCQUF5QixDQUFDO0FBQ3hDLGNBQWMseUJBQXlCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgeyBGb3JtTm90aWZpY2F0aW9uU2VydmljZSwgRm9ybVNlcnZpY2UsIFJlcXVlc3RTdGF0ZSB9IGZyb20gJ0BuZ2R1eC9kYXRhLW1vZGVsLWNvbW1vbic7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliLytzdGF0ZS9hYnN0cmFjdC1mb3JtLWVmZmVjdHMnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi8rc3RhdGUvYWJzdHJhY3QtZm9ybS1zdGF0ZS5zZXJ2aWNlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvK3N0YXRlL2Fic3RyYWN0LWZvcm0uZmFjYWRlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvK3N0YXRlL2Zvcm0tYWN0aW9ucyc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliLytzdGF0ZS9mb3JtLXJlZHVjZXInO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi8rc3RhdGUvZm9ybS1zZWxlY3RvcnMnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi8rc3RhdGUvZm9ybS1zdGF0ZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9mb3JtLm1vZGVsJztcclxuIl19
|
|
@@ -2,8 +2,7 @@ import { createEffect, ofType } from '@ngrx/effects';
|
|
|
2
2
|
import { of } from 'rxjs';
|
|
3
3
|
import { catchError, exhaustMap, map, switchMap, tap } from 'rxjs/operators';
|
|
4
4
|
export class AbstractFormEffects {
|
|
5
|
-
constructor(
|
|
6
|
-
this.router = router;
|
|
5
|
+
constructor(actions$, store, service, formActions, notificationService) {
|
|
7
6
|
this.actions$ = actions$;
|
|
8
7
|
this.store = store;
|
|
9
8
|
this.service = service;
|
|
@@ -13,23 +12,9 @@ export class AbstractFormEffects {
|
|
|
13
12
|
this.create$ = createEffect(() => this.actions$.pipe(ofType(this.formActions.create), switchMap(action => this.service.createResource(action.resource).pipe(map(resource => this.formActions.createSuccess({ resource })), catchError((errors) => of(this.formActions.createFailure({ errors })))))));
|
|
14
13
|
this.update$ = createEffect(() => this.actions$.pipe(ofType(this.formActions.save), switchMap(({ resource }) => this.service.saveResource(resource).pipe(map(response => this.formActions.saveSuccess({ resource: response })), catchError((errors) => of(this.formActions.saveFailure({ errors })))))));
|
|
15
14
|
this.delete$ = createEffect(() => this.actions$.pipe(ofType(this.formActions.delete), exhaustMap(action => this.service.deleteResource(action.id).pipe(map(() => this.formActions.deleteSuccess({ id: action.id })), catchError((errors) => of(this.formActions.deleteFailure({ errors })))))));
|
|
16
|
-
this.deleteSuccess$ = createEffect(() => this.actions$.pipe(ofType(this.formActions.deleteSuccess), tap(({ id }) => {
|
|
17
|
-
this.notificationService.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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QyxDQUNILEVBQ0gsRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLENBQ3BCLENBQUM7SUFRQyxDQUFDO0NBQ0wiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGb3JtTm90aWZpY2F0aW9uU2VydmljZSwgRm9ybVNlcnZpY2UgfSBmcm9tICdAbmdkdXgvZGF0YS1tb2RlbC1jb21tb24nO1xyXG5pbXBvcnQgeyBBY3Rpb25zLCBjcmVhdGVFZmZlY3QsIG9mVHlwZSB9IGZyb20gJ0BuZ3J4L2VmZmVjdHMnO1xyXG5pbXBvcnQgeyBTdG9yZSB9IGZyb20gJ0BuZ3J4L3N0b3JlJztcclxuaW1wb3J0IHsgb2YgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgY2F0Y2hFcnJvciwgZXhoYXVzdE1hcCwgbWFwLCBzd2l0Y2hNYXAsIHRhcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgRm9ybUFjdGlvbnMgfSBmcm9tICcuLi9tb2RlbHMvZm9ybS5tb2RlbCc7XHJcblxyXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQWJzdHJhY3RGb3JtRWZmZWN0czxULCBFPiB7XHJcbiAgbG9hZCQgPSBjcmVhdGVFZmZlY3QoKCkgPT5cclxuICAgIHRoaXMuYWN0aW9ucyQucGlwZShcclxuICAgICAgb2ZUeXBlKHRoaXMuZm9ybUFjdGlvbnMubG9hZCksXHJcbiAgICAgIHN3aXRjaE1hcCgoeyBpZCB9KSA9PlxyXG4gICAgICAgIHRoaXMuc2VydmljZS5sb2FkUmVzb3VyY2UoaWQpLnBpcGUoXHJcbiAgICAgICAgICBtYXAocmVzb3VyY2UgPT4gdGhpcy5mb3JtQWN0aW9ucy5sb2FkU3VjY2Vzcyh7IHJlc291cmNlIH0pKSxcclxuICAgICAgICAgIGNhdGNoRXJyb3IoKGVycm9yczogRSkgPT4gb2YodGhpcy5mb3JtQWN0aW9ucy5sb2FkRmFpbHVyZSh7IGVycm9ycyB9KSkpXHJcbiAgICAgICAgKVxyXG4gICAgICApXHJcbiAgICApXHJcbiAgKTtcclxuXHJcbiAgY3JlYXRlJCA9IGNyZWF0ZUVmZmVjdCgoKSA9PlxyXG4gICAgdGhpcy5hY3Rpb25zJC5waXBlKFxyXG4gICAgICBvZlR5cGUodGhpcy5mb3JtQWN0aW9ucy5jcmVhdGUpLFxyXG4gICAgICBzd2l0Y2hNYXAoYWN0aW9uID0+XHJcbiAgICAgICAgdGhpcy5zZXJ2aWNlLmNyZWF0ZVJlc291cmNlKGFjdGlvbi5yZXNvdXJjZSkucGlwZShcclxuICAgICAgICAgIG1hcChyZXNvdXJjZSA9PiB0aGlzLmZvcm1BY3Rpb25zLmNyZWF0ZVN1Y2Nlc3MoeyByZXNvdXJjZSB9KSksXHJcbiAgICAgICAgICBjYXRjaEVycm9yKChlcnJvcnM6IEUpID0+IG9mKHRoaXMuZm9ybUFjdGlvbnMuY3JlYXRlRmFpbHVyZSh7IGVycm9ycyB9KSkpXHJcbiAgICAgICAgKVxyXG4gICAgICApXHJcbiAgICApXHJcbiAgKTtcclxuXHJcbiAgdXBkYXRlJCA9IGNyZWF0ZUVmZmVjdCgoKSA9PlxyXG4gICAgdGhpcy5hY3Rpb25zJC5waXBlKFxyXG4gICAgICBvZlR5cGUodGhpcy5mb3JtQWN0aW9ucy5zYXZlKSxcclxuICAgICAgc3dpdGNoTWFwKCh7IHJlc291cmNlIH0pID0+XHJcbiAgICAgICAgdGhpcy5zZXJ2aWNlLnNhdmVSZXNvdXJjZShyZXNvdXJjZSkucGlwZShcclxuICAgICAgICAgIG1hcChyZXNwb25zZSA9PiB0aGlzLmZvcm1BY3Rpb25zLnNhdmVTdWNjZXNzKHsgcmVzb3VyY2U6IHJlc3BvbnNlIH0pKSxcclxuICAgICAgICAgIGNhdGNoRXJyb3IoKGVycm9yczogRSkgPT4gb2YodGhpcy5mb3JtQWN0aW9ucy5zYXZlRmFpbHVyZSh7IGVycm9ycyB9KSkpXHJcbiAgICAgICAgKVxyXG4gICAgICApXHJcbiAgICApXHJcbiAgKTtcclxuXHJcbiAgZGVsZXRlJCA9IGNyZWF0ZUVmZmVjdCgoKSA9PlxyXG4gICAgdGhpcy5hY3Rpb25zJC5waXBlKFxyXG4gICAgICBvZlR5cGUodGhpcy5mb3JtQWN0aW9ucy5kZWxldGUpLFxyXG4gICAgICBleGhhdXN0TWFwKGFjdGlvbiA9PlxyXG4gICAgICAgIHRoaXMuc2VydmljZS5kZWxldGVSZXNvdXJjZShhY3Rpb24uaWQpLnBpcGUoXHJcbiAgICAgICAgICBtYXAoKCkgPT4gdGhpcy5mb3JtQWN0aW9ucy5kZWxldGVTdWNjZXNzKHsgaWQ6IGFjdGlvbi5pZCB9KSksXHJcbiAgICAgICAgICBjYXRjaEVycm9yKChlcnJvcnM6IEUpID0+IG9mKHRoaXMuZm9ybUFjdGlvbnMuZGVsZXRlRmFpbHVyZSh7IGVycm9ycyB9KSkpXHJcbiAgICAgICAgKVxyXG4gICAgICApXHJcbiAgICApXHJcbiAgKTtcclxuXHJcbiAgZXJyb3JzSGFuZGxlciQgPSBjcmVhdGVFZmZlY3QoXHJcbiAgICAoKSA9PlxyXG4gICAgICB0aGlzLmFjdGlvbnMkLnBpcGUoXHJcbiAgICAgICAgb2ZUeXBlKFxyXG4gICAgICAgICAgdGhpcy5mb3JtQWN0aW9ucy5zYXZlRmFpbHVyZSxcclxuICAgICAgICAgIHRoaXMuZm9ybUFjdGlvbnMubG9hZEZhaWx1cmUsXHJcbiAgICAgICAgICB0aGlzLmZvcm1BY3Rpb25zLmRlbGV0ZUZhaWx1cmUsXHJcbiAgICAgICAgICB0aGlzLmZvcm1BY3Rpb25zLmNyZWF0ZUZhaWx1cmVcclxuICAgICAgICApLFxyXG4gICAgICAgIHRhcCgoeyBlcnJvcnMgfSkgPT4ge1xyXG4gICAgICAgICAgdGhpcy5ub3RpZmljYXRpb25TZXJ2aWNlLm9uRm9ybUVycm9ycyhlcnJvcnMpO1xyXG4gICAgICAgIH0pXHJcbiAgICAgICksXHJcbiAgICB7IGRpc3BhdGNoOiBmYWxzZSB9XHJcbiAgKTtcclxuXHJcbiAgcHJvdGVjdGVkIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGFjdGlvbnMkOiBBY3Rpb25zLFxyXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IHN0b3JlOiBTdG9yZSxcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgc2VydmljZTogRm9ybVNlcnZpY2U8VD4sXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IGZvcm1BY3Rpb25zOiBGb3JtQWN0aW9uczxULCBFPixcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgbm90aWZpY2F0aW9uU2VydmljZTogRm9ybU5vdGlmaWNhdGlvblNlcnZpY2U8RT5cclxuICApIHt9XHJcbn1cclxuIl19
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { Inject, Injectable } from '@angular/core';
|
|
2
|
+
import { createFeatureSelector, ReducerManager } from '@ngrx/store';
|
|
3
|
+
import { FORM_FEATURE_KEY } from '../models/form.model';
|
|
4
|
+
import { createFormActions } from './form-actions';
|
|
5
|
+
import { createFormReducer } from './form-reducer';
|
|
6
|
+
import { createFormSelectors } from './form-selectors';
|
|
7
|
+
import * as i0 from "@angular/core";
|
|
8
|
+
import * as i1 from "@ngrx/store";
|
|
9
|
+
export class AbstractFormReducerManager {
|
|
10
|
+
constructor(reducerManager, featureKey) {
|
|
11
|
+
this.reducerManager = reducerManager;
|
|
12
|
+
this.featureKey = featureKey;
|
|
13
|
+
this.setActions();
|
|
14
|
+
this.addReducer();
|
|
15
|
+
this.setSelectors();
|
|
16
|
+
}
|
|
17
|
+
setActions() {
|
|
18
|
+
this.actions = createFormActions(this.featureKey);
|
|
19
|
+
}
|
|
20
|
+
addReducer() {
|
|
21
|
+
const currentReducers = Object.keys(this.reducerManager.currentReducers || {});
|
|
22
|
+
if (!currentReducers.includes(this.featureKey)) {
|
|
23
|
+
const reducer = createFormReducer(this.actions);
|
|
24
|
+
this.reducerManager.addReducer(this.featureKey, reducer);
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
setSelectors() {
|
|
28
|
+
const getState = createFeatureSelector(this.featureKey);
|
|
29
|
+
this.selectors = createFormSelectors(getState);
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
AbstractFormReducerManager.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: AbstractFormReducerManager, deps: [{ token: i1.ReducerManager }, { token: FORM_FEATURE_KEY }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
33
|
+
AbstractFormReducerManager.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: AbstractFormReducerManager });
|
|
34
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: AbstractFormReducerManager, decorators: [{
|
|
35
|
+
type: Injectable
|
|
36
|
+
}], ctorParameters: function () { return [{ type: i1.ReducerManager }, { type: undefined, decorators: [{
|
|
37
|
+
type: Inject,
|
|
38
|
+
args: [FORM_FEATURE_KEY]
|
|
39
|
+
}] }]; } });
|
|
40
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJzdHJhY3QtZm9ybS1zdGF0ZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9uZ2R1eC91dGlsL3N0b3JlL2Zvcm0vc3JjL2xpYi8rc3RhdGUvYWJzdHJhY3QtZm9ybS1zdGF0ZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxjQUFjLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDcEUsT0FBTyxFQUF5QyxnQkFBZ0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQy9GLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGtCQUFrQixDQUFDOzs7QUFHdkQsTUFBTSxPQUFnQiwwQkFBMEI7SUFJOUMsWUFDbUIsY0FBOEIsRUFDSixVQUFrQjtRQUQ1QyxtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFDSixlQUFVLEdBQVYsVUFBVSxDQUFRO1FBRTdELElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUNsQixJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7UUFDbEIsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3RCLENBQUM7SUFFUyxVQUFVO1FBQ2xCLElBQUksQ0FBQyxPQUFPLEdBQUcsaUJBQWlCLENBQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQzFELENBQUM7SUFFUyxVQUFVO1FBQ2xCLE1BQU0sZUFBZSxHQUFhLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxlQUFlLElBQUksRUFBRSxDQUFDLENBQUM7UUFDekYsSUFBSSxDQUFDLGVBQWUsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxFQUFFO1lBQzlDLE1BQU0sT0FBTyxHQUFHLGlCQUFpQixDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUNoRCxJQUFJLENBQUMsY0FBYyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1NBQzFEO0lBQ0gsQ0FBQztJQUVTLFlBQVk7UUFDcEIsTUFBTSxRQUFRLEdBQUcscUJBQXFCLENBQWtCLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUN6RSxJQUFJLENBQUMsU0FBUyxHQUFHLG1CQUFtQixDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ2pELENBQUM7O3VIQTVCbUIsMEJBQTBCLGdEQU1wQyxnQkFBZ0I7MkhBTk4sMEJBQTBCOzJGQUExQiwwQkFBMEI7a0JBRC9DLFVBQVU7OzBCQU9OLE1BQU07MkJBQUMsZ0JBQWdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IGNyZWF0ZUZlYXR1cmVTZWxlY3RvciwgUmVkdWNlck1hbmFnZXIgfSBmcm9tICdAbmdyeC9zdG9yZSc7XHJcbmltcG9ydCB7IEZvcm1BY3Rpb25zLCBGb3JtU2VsZWN0b3JzLCBGb3JtU3RhdGUsIEZPUk1fRkVBVFVSRV9LRVkgfSBmcm9tICcuLi9tb2RlbHMvZm9ybS5tb2RlbCc7XHJcbmltcG9ydCB7IGNyZWF0ZUZvcm1BY3Rpb25zIH0gZnJvbSAnLi9mb3JtLWFjdGlvbnMnO1xyXG5pbXBvcnQgeyBjcmVhdGVGb3JtUmVkdWNlciB9IGZyb20gJy4vZm9ybS1yZWR1Y2VyJztcclxuaW1wb3J0IHsgY3JlYXRlRm9ybVNlbGVjdG9ycyB9IGZyb20gJy4vZm9ybS1zZWxlY3RvcnMnO1xyXG5cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQWJzdHJhY3RGb3JtUmVkdWNlck1hbmFnZXI8VCwgRT4ge1xyXG4gIGFjdGlvbnM6IEZvcm1BY3Rpb25zPFQsIEU+O1xyXG4gIHNlbGVjdG9yczogRm9ybVNlbGVjdG9yczxULCBFPjtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IHJlZHVjZXJNYW5hZ2VyOiBSZWR1Y2VyTWFuYWdlcixcclxuICAgIEBJbmplY3QoRk9STV9GRUFUVVJFX0tFWSkgcHJpdmF0ZSByZWFkb25seSBmZWF0dXJlS2V5OiBzdHJpbmdcclxuICApIHtcclxuICAgIHRoaXMuc2V0QWN0aW9ucygpO1xyXG4gICAgdGhpcy5hZGRSZWR1Y2VyKCk7XHJcbiAgICB0aGlzLnNldFNlbGVjdG9ycygpO1xyXG4gIH1cclxuXHJcbiAgcHJvdGVjdGVkIHNldEFjdGlvbnMoKSB7XHJcbiAgICB0aGlzLmFjdGlvbnMgPSBjcmVhdGVGb3JtQWN0aW9uczxULCBFPih0aGlzLmZlYXR1cmVLZXkpO1xyXG4gIH1cclxuXHJcbiAgcHJvdGVjdGVkIGFkZFJlZHVjZXIoKSB7XHJcbiAgICBjb25zdCBjdXJyZW50UmVkdWNlcnM6IHN0cmluZ1tdID0gT2JqZWN0LmtleXModGhpcy5yZWR1Y2VyTWFuYWdlci5jdXJyZW50UmVkdWNlcnMgfHwge30pO1xyXG4gICAgaWYgKCFjdXJyZW50UmVkdWNlcnMuaW5jbHVkZXModGhpcy5mZWF0dXJlS2V5KSkge1xyXG4gICAgICBjb25zdCByZWR1Y2VyID0gY3JlYXRlRm9ybVJlZHVjZXIodGhpcy5hY3Rpb25zKTtcclxuICAgICAgdGhpcy5yZWR1Y2VyTWFuYWdlci5hZGRSZWR1Y2VyKHRoaXMuZmVhdHVyZUtleSwgcmVkdWNlcik7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcm90ZWN0ZWQgc2V0U2VsZWN0b3JzKCkge1xyXG4gICAgY29uc3QgZ2V0U3RhdGUgPSBjcmVhdGVGZWF0dXJlU2VsZWN0b3I8Rm9ybVN0YXRlPFQsIEU+Pih0aGlzLmZlYXR1cmVLZXkpO1xyXG4gICAgdGhpcy5zZWxlY3RvcnMgPSBjcmVhdGVGb3JtU2VsZWN0b3JzKGdldFN0YXRlKTtcclxuICB9XHJcbn1cclxuIl19
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { select } from '@ngrx/store';
|
|
2
|
+
export class AbstractFormFacade {
|
|
3
|
+
constructor(store, formActions, formSelectors) {
|
|
4
|
+
this.store = store;
|
|
5
|
+
this.formActions = formActions;
|
|
6
|
+
this.formSelectors = formSelectors;
|
|
7
|
+
this.resource$ = this.store.pipe(select(this.formSelectors.getResource));
|
|
8
|
+
this.loadingState$ = this.store.pipe(select(this.formSelectors.getLoadingState));
|
|
9
|
+
this.requestState$ = this.store.pipe(select(this.formSelectors.getRequestState));
|
|
10
|
+
this.errors$ = this.store.pipe(select(this.formSelectors.getErrors));
|
|
11
|
+
this.isReady$ = this.store.pipe(select(this.formSelectors.isReady));
|
|
12
|
+
}
|
|
13
|
+
create(props) {
|
|
14
|
+
this.store.dispatch(this.formActions.create(props));
|
|
15
|
+
}
|
|
16
|
+
load(props) {
|
|
17
|
+
this.store.dispatch(this.formActions.load(props));
|
|
18
|
+
}
|
|
19
|
+
save(props) {
|
|
20
|
+
this.store.dispatch(this.formActions.save(props));
|
|
21
|
+
}
|
|
22
|
+
delete(props) {
|
|
23
|
+
this.store.dispatch(this.formActions.delete(props));
|
|
24
|
+
}
|
|
25
|
+
reset() {
|
|
26
|
+
this.store.dispatch(this.formActions.reset());
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJzdHJhY3QtZm9ybS5mYWNhZGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL25nZHV4L3V0aWwvc3RvcmUvZm9ybS9zcmMvbGliLytzdGF0ZS9hYnN0cmFjdC1mb3JtLmZhY2FkZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsTUFBTSxFQUFTLE1BQU0sYUFBYSxDQUFDO0FBRzVDLE1BQU0sT0FBZ0Isa0JBQWtCO0lBT3RDLFlBQ3FCLEtBQVksRUFDZCxXQUE4QixFQUM5QixhQUFrQztRQUZoQyxVQUFLLEdBQUwsS0FBSyxDQUFPO1FBQ2QsZ0JBQVcsR0FBWCxXQUFXLENBQW1CO1FBQzlCLGtCQUFhLEdBQWIsYUFBYSxDQUFxQjtRQVQ1QyxjQUFTLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQztRQUNwRSxrQkFBYSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUM7UUFDNUUsa0JBQWEsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDO1FBQzVFLFlBQU8sR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDO1FBQ2hFLGFBQVEsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO0lBTXJFLENBQUM7SUFFSixNQUFNLENBQUMsS0FBaUQ7UUFDdEQsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUN0RCxDQUFDO0lBRUQsSUFBSSxDQUFDLEtBQStDO1FBQ2xELElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDcEQsQ0FBQztJQUVELElBQUksQ0FBQyxLQUErQztRQUNsRCxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ3BELENBQUM7SUFFRCxNQUFNLENBQUMsS0FBaUQ7UUFDdEQsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUN0RCxDQUFDO0lBRUQsS0FBSztRQUNILElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQztJQUNoRCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBY3Rpb25QYXlsb2FkIH0gZnJvbSAnQG5nZHV4L3N0b3JlLWNvbW1vbic7XHJcbmltcG9ydCB7IHNlbGVjdCwgU3RvcmUgfSBmcm9tICdAbmdyeC9zdG9yZSc7XHJcbmltcG9ydCB7IEZvcm1BY3Rpb25zLCBGb3JtU2VsZWN0b3JzIH0gZnJvbSAnLi4vbW9kZWxzL2Zvcm0ubW9kZWwnO1xyXG5cclxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEFic3RyYWN0Rm9ybUZhY2FkZTxULCBFPiB7XHJcbiAgcmVhZG9ubHkgcmVzb3VyY2UkID0gdGhpcy5zdG9yZS5waXBlKHNlbGVjdCh0aGlzLmZvcm1TZWxlY3RvcnMuZ2V0UmVzb3VyY2UpKTtcclxuICByZWFkb25seSBsb2FkaW5nU3RhdGUkID0gdGhpcy5zdG9yZS5waXBlKHNlbGVjdCh0aGlzLmZvcm1TZWxlY3RvcnMuZ2V0TG9hZGluZ1N0YXRlKSk7XHJcbiAgcmVhZG9ubHkgcmVxdWVzdFN0YXRlJCA9IHRoaXMuc3RvcmUucGlwZShzZWxlY3QodGhpcy5mb3JtU2VsZWN0b3JzLmdldFJlcXVlc3RTdGF0ZSkpO1xyXG4gIHJlYWRvbmx5IGVycm9ycyQgPSB0aGlzLnN0b3JlLnBpcGUoc2VsZWN0KHRoaXMuZm9ybVNlbGVjdG9ycy5nZXRFcnJvcnMpKTtcclxuICByZWFkb25seSBpc1JlYWR5JCA9IHRoaXMuc3RvcmUucGlwZShzZWxlY3QodGhpcy5mb3JtU2VsZWN0b3JzLmlzUmVhZHkpKTtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgc3RvcmU6IFN0b3JlLFxyXG4gICAgcHJpdmF0ZSByZWFkb25seSBmb3JtQWN0aW9uczogRm9ybUFjdGlvbnM8VCwgRT4sXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IGZvcm1TZWxlY3RvcnM6IEZvcm1TZWxlY3RvcnM8VCwgRT5cclxuICApIHt9XHJcblxyXG4gIGNyZWF0ZShwcm9wczogQWN0aW9uUGF5bG9hZDxGb3JtQWN0aW9uczxULCBFPlsnY3JlYXRlJ10+KTogdm9pZCB7XHJcbiAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKHRoaXMuZm9ybUFjdGlvbnMuY3JlYXRlKHByb3BzKSk7XHJcbiAgfVxyXG5cclxuICBsb2FkKHByb3BzOiBBY3Rpb25QYXlsb2FkPEZvcm1BY3Rpb25zPFQsIEU+Wydsb2FkJ10+KTogdm9pZCB7XHJcbiAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKHRoaXMuZm9ybUFjdGlvbnMubG9hZChwcm9wcykpO1xyXG4gIH1cclxuXHJcbiAgc2F2ZShwcm9wczogQWN0aW9uUGF5bG9hZDxGb3JtQWN0aW9uczxULCBFPlsnc2F2ZSddPik6IHZvaWQge1xyXG4gICAgdGhpcy5zdG9yZS5kaXNwYXRjaCh0aGlzLmZvcm1BY3Rpb25zLnNhdmUocHJvcHMpKTtcclxuICB9XHJcblxyXG4gIGRlbGV0ZShwcm9wczogQWN0aW9uUGF5bG9hZDxGb3JtQWN0aW9uczxULCBFPlsnZGVsZXRlJ10+KTogdm9pZCB7XHJcbiAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKHRoaXMuZm9ybUFjdGlvbnMuZGVsZXRlKHByb3BzKSk7XHJcbiAgfVxyXG5cclxuICByZXNldCgpOiB2b2lkIHtcclxuICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2godGhpcy5mb3JtQWN0aW9ucy5yZXNldCgpKTtcclxuICB9XHJcbn1cclxuIl19
|
|
@@ -9,13 +9,10 @@ export function createFormActions(featureName) {
|
|
|
9
9
|
const deleteAction = createAction(`[${featureName} API] Delete ${featureName}`, props());
|
|
10
10
|
const deleteSuccess = createAction(`[${featureName} API] Delete ${featureName} Success`, props());
|
|
11
11
|
const deleteFailure = createAction(`[${featureName} API] Delete ${featureName} Failure`, props());
|
|
12
|
-
const navigateToCreate = createAction(`[${featureName} Page] Navigate to Create ${featureName}`);
|
|
13
12
|
const create = createAction(`[${featureName} API] Create ${featureName}`, props());
|
|
14
13
|
const createSuccess = createAction(`[${featureName} API] Create ${featureName} Success`, props());
|
|
15
14
|
const createFailure = createAction(`[${featureName} API] Create ${featureName} Failure`, props());
|
|
16
15
|
const reset = createAction(`[${featureName} API] Reset ${featureName}`);
|
|
17
|
-
const copy = createAction(`[${featureName} Page] Copy ${featureName}`);
|
|
18
|
-
const copySelected = createAction(`[${featureName} Page] Copy Selected ${featureName}`, props());
|
|
19
16
|
return {
|
|
20
17
|
load,
|
|
21
18
|
loadSuccess,
|
|
@@ -26,13 +23,10 @@ export function createFormActions(featureName) {
|
|
|
26
23
|
delete: deleteAction,
|
|
27
24
|
deleteSuccess,
|
|
28
25
|
deleteFailure,
|
|
29
|
-
navigateToCreate,
|
|
30
26
|
create,
|
|
31
27
|
createSuccess,
|
|
32
28
|
createFailure,
|
|
33
|
-
reset
|
|
34
|
-
copy,
|
|
35
|
-
copySelected
|
|
29
|
+
reset
|
|
36
30
|
};
|
|
37
31
|
}
|
|
38
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
32
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1hY3Rpb25zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9uZ2R1eC91dGlsL3N0b3JlL2Zvcm0vc3JjL2xpYi8rc3RhdGUvZm9ybS1hY3Rpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBR2xELE1BQU0sVUFBVSxpQkFBaUIsQ0FBTyxXQUFtQjtJQUN6RCxNQUFNLElBQUksR0FBRyxZQUFZLENBQUMsSUFBSSxXQUFXLGNBQWMsV0FBVyxFQUFFLEVBQUUsS0FBSyxFQUFrQixDQUFDLENBQUM7SUFDL0YsTUFBTSxXQUFXLEdBQUcsWUFBWSxDQUFDLElBQUksV0FBVyxjQUFjLFdBQVcsVUFBVSxFQUFFLEtBQUssRUFBbUIsQ0FBQyxDQUFDO0lBQy9HLE1BQU0sV0FBVyxHQUFHLFlBQVksQ0FBQyxJQUFJLFdBQVcsY0FBYyxXQUFXLFVBQVUsRUFBRSxLQUFLLEVBQWlCLENBQUMsQ0FBQztJQUU3RyxNQUFNLElBQUksR0FBRyxZQUFZLENBQUMsSUFBSSxXQUFXLGNBQWMsV0FBVyxFQUFFLEVBQUUsS0FBSyxFQUFtQixDQUFDLENBQUM7SUFDaEcsTUFBTSxXQUFXLEdBQUcsWUFBWSxDQUFDLElBQUksV0FBVyxjQUFjLFdBQVcsVUFBVSxFQUFFLEtBQUssRUFBbUIsQ0FBQyxDQUFDO0lBQy9HLE1BQU0sV0FBVyxHQUFHLFlBQVksQ0FBQyxJQUFJLFdBQVcsY0FBYyxXQUFXLFVBQVUsRUFBRSxLQUFLLEVBQWlCLENBQUMsQ0FBQztJQUU3RyxNQUFNLFlBQVksR0FBRyxZQUFZLENBQUMsSUFBSSxXQUFXLGdCQUFnQixXQUFXLEVBQUUsRUFBRSxLQUFLLEVBQWtCLENBQUMsQ0FBQztJQUN6RyxNQUFNLGFBQWEsR0FBRyxZQUFZLENBQUMsSUFBSSxXQUFXLGdCQUFnQixXQUFXLFVBQVUsRUFBRSxLQUFLLEVBQWtCLENBQUMsQ0FBQztJQUNsSCxNQUFNLGFBQWEsR0FBRyxZQUFZLENBQUMsSUFBSSxXQUFXLGdCQUFnQixXQUFXLFVBQVUsRUFBRSxLQUFLLEVBQWlCLENBQUMsQ0FBQztJQUVqSCxNQUFNLE1BQU0sR0FBRyxZQUFZLENBQUMsSUFBSSxXQUFXLGdCQUFnQixXQUFXLEVBQUUsRUFBRSxLQUFLLEVBQW1CLENBQUMsQ0FBQztJQUNwRyxNQUFNLGFBQWEsR0FBRyxZQUFZLENBQUMsSUFBSSxXQUFXLGdCQUFnQixXQUFXLFVBQVUsRUFBRSxLQUFLLEVBQW1CLENBQUMsQ0FBQztJQUNuSCxNQUFNLGFBQWEsR0FBRyxZQUFZLENBQUMsSUFBSSxXQUFXLGdCQUFnQixXQUFXLFVBQVUsRUFBRSxLQUFLLEVBQWlCLENBQUMsQ0FBQztJQUVqSCxNQUFNLEtBQUssR0FBRyxZQUFZLENBQUMsSUFBSSxXQUFXLGVBQWUsV0FBVyxFQUFFLENBQUMsQ0FBQztJQUV4RSxPQUFPO1FBQ0wsSUFBSTtRQUNKLFdBQVc7UUFDWCxXQUFXO1FBQ1gsSUFBSTtRQUNKLFdBQVc7UUFDWCxXQUFXO1FBQ1gsTUFBTSxFQUFFLFlBQVk7UUFDcEIsYUFBYTtRQUNiLGFBQWE7UUFDYixNQUFNO1FBQ04sYUFBYTtRQUNiLGFBQWE7UUFDYixLQUFLO0tBQ04sQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjcmVhdGVBY3Rpb24sIHByb3BzIH0gZnJvbSAnQG5ncngvc3RvcmUnO1xyXG5pbXBvcnQgeyBGb3JtQWN0aW9ucyB9IGZyb20gJy4uL21vZGVscy9mb3JtLm1vZGVsJztcclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVGb3JtQWN0aW9uczxULCBFPihmZWF0dXJlTmFtZTogc3RyaW5nKTogRm9ybUFjdGlvbnM8VCwgRT4ge1xyXG4gIGNvbnN0IGxvYWQgPSBjcmVhdGVBY3Rpb24oYFske2ZlYXR1cmVOYW1lfSBBUEldIExvYWQgJHtmZWF0dXJlTmFtZX1gLCBwcm9wczx7IGlkOiBzdHJpbmcgfT4oKSk7XHJcbiAgY29uc3QgbG9hZFN1Y2Nlc3MgPSBjcmVhdGVBY3Rpb24oYFske2ZlYXR1cmVOYW1lfSBBUEldIExvYWQgJHtmZWF0dXJlTmFtZX0gU3VjY2Vzc2AsIHByb3BzPHsgcmVzb3VyY2U6IFQgfT4oKSk7XHJcbiAgY29uc3QgbG9hZEZhaWx1cmUgPSBjcmVhdGVBY3Rpb24oYFske2ZlYXR1cmVOYW1lfSBBUEldIExvYWQgJHtmZWF0dXJlTmFtZX0gRmFpbHVyZWAsIHByb3BzPHsgZXJyb3JzOiBFIH0+KCkpO1xyXG5cclxuICBjb25zdCBzYXZlID0gY3JlYXRlQWN0aW9uKGBbJHtmZWF0dXJlTmFtZX0gQVBJXSBTYXZlICR7ZmVhdHVyZU5hbWV9YCwgcHJvcHM8eyByZXNvdXJjZTogVCB9PigpKTtcclxuICBjb25zdCBzYXZlU3VjY2VzcyA9IGNyZWF0ZUFjdGlvbihgWyR7ZmVhdHVyZU5hbWV9IEFQSV0gU2F2ZSAke2ZlYXR1cmVOYW1lfSBTdWNjZXNzYCwgcHJvcHM8eyByZXNvdXJjZTogVCB9PigpKTtcclxuICBjb25zdCBzYXZlRmFpbHVyZSA9IGNyZWF0ZUFjdGlvbihgWyR7ZmVhdHVyZU5hbWV9IEFQSV0gU2F2ZSAke2ZlYXR1cmVOYW1lfSBGYWlsdXJlYCwgcHJvcHM8eyBlcnJvcnM6IEUgfT4oKSk7XHJcblxyXG4gIGNvbnN0IGRlbGV0ZUFjdGlvbiA9IGNyZWF0ZUFjdGlvbihgWyR7ZmVhdHVyZU5hbWV9IEFQSV0gRGVsZXRlICR7ZmVhdHVyZU5hbWV9YCwgcHJvcHM8eyBpZDogc3RyaW5nIH0+KCkpO1xyXG4gIGNvbnN0IGRlbGV0ZVN1Y2Nlc3MgPSBjcmVhdGVBY3Rpb24oYFske2ZlYXR1cmVOYW1lfSBBUEldIERlbGV0ZSAke2ZlYXR1cmVOYW1lfSBTdWNjZXNzYCwgcHJvcHM8eyBpZDogc3RyaW5nIH0+KCkpO1xyXG4gIGNvbnN0IGRlbGV0ZUZhaWx1cmUgPSBjcmVhdGVBY3Rpb24oYFske2ZlYXR1cmVOYW1lfSBBUEldIERlbGV0ZSAke2ZlYXR1cmVOYW1lfSBGYWlsdXJlYCwgcHJvcHM8eyBlcnJvcnM6IEUgfT4oKSk7XHJcblxyXG4gIGNvbnN0IGNyZWF0ZSA9IGNyZWF0ZUFjdGlvbihgWyR7ZmVhdHVyZU5hbWV9IEFQSV0gQ3JlYXRlICR7ZmVhdHVyZU5hbWV9YCwgcHJvcHM8eyByZXNvdXJjZTogVCB9PigpKTtcclxuICBjb25zdCBjcmVhdGVTdWNjZXNzID0gY3JlYXRlQWN0aW9uKGBbJHtmZWF0dXJlTmFtZX0gQVBJXSBDcmVhdGUgJHtmZWF0dXJlTmFtZX0gU3VjY2Vzc2AsIHByb3BzPHsgcmVzb3VyY2U6IFQgfT4oKSk7XHJcbiAgY29uc3QgY3JlYXRlRmFpbHVyZSA9IGNyZWF0ZUFjdGlvbihgWyR7ZmVhdHVyZU5hbWV9IEFQSV0gQ3JlYXRlICR7ZmVhdHVyZU5hbWV9IEZhaWx1cmVgLCBwcm9wczx7IGVycm9yczogRSB9PigpKTtcclxuXHJcbiAgY29uc3QgcmVzZXQgPSBjcmVhdGVBY3Rpb24oYFske2ZlYXR1cmVOYW1lfSBBUEldIFJlc2V0ICR7ZmVhdHVyZU5hbWV9YCk7XHJcblxyXG4gIHJldHVybiB7XHJcbiAgICBsb2FkLFxyXG4gICAgbG9hZFN1Y2Nlc3MsXHJcbiAgICBsb2FkRmFpbHVyZSxcclxuICAgIHNhdmUsXHJcbiAgICBzYXZlU3VjY2VzcyxcclxuICAgIHNhdmVGYWlsdXJlLFxyXG4gICAgZGVsZXRlOiBkZWxldGVBY3Rpb24sXHJcbiAgICBkZWxldGVTdWNjZXNzLFxyXG4gICAgZGVsZXRlRmFpbHVyZSxcclxuICAgIGNyZWF0ZSxcclxuICAgIGNyZWF0ZVN1Y2Nlc3MsXHJcbiAgICBjcmVhdGVGYWlsdXJlLFxyXG4gICAgcmVzZXRcclxuICB9O1xyXG59XHJcbiJdfQ==
|
|
@@ -21,15 +21,10 @@ function createFormActionHandlers(initialFormState, actions) {
|
|
|
21
21
|
...state,
|
|
22
22
|
resource: undefined
|
|
23
23
|
})),
|
|
24
|
-
on(actions.copy, (state) => ({
|
|
25
|
-
...state,
|
|
26
|
-
loadingState: RequestState.IDLE,
|
|
27
|
-
requestState: RequestState.IDLE
|
|
28
|
-
})),
|
|
29
24
|
...createRequestStateActionHandlers(actions.load, actions.save, actions.saveSuccess, actions.saveFailure),
|
|
30
25
|
...createRequestStateActionHandlers(undefined, actions.create, actions.createSuccess, actions.createFailure),
|
|
31
26
|
...createRequestStateActionHandlers(undefined, actions.delete, actions.deleteSuccess, actions.deleteFailure),
|
|
32
27
|
...createLoadingStateActionHandlers(actions.load, actions.loadSuccess, actions.loadFailure)
|
|
33
28
|
];
|
|
34
29
|
}
|
|
35
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
30
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1yZWR1Y2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9uZ2R1eC91dGlsL3N0b3JlL2Zvcm0vc3JjL2xpYi8rc3RhdGUvZm9ybS1yZWR1Y2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUN4RCxPQUFPLEVBQUUsZ0NBQWdDLEVBQUUsZ0NBQWdDLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN6RyxPQUFPLEVBQWdDLGFBQWEsRUFBVyxFQUFFLEVBQWdCLE1BQU0sYUFBYSxDQUFDO0FBR3JHLE1BQU0sVUFBVSxpQkFBaUIsQ0FDL0IsT0FBMEIsRUFDMUIsY0FBaUUsRUFDakUsZ0JBQXlCO0lBRXpCLE1BQU0sWUFBWSxHQUFvQixFQUFFLEdBQUcsc0JBQXNCLEVBQVEsRUFBRSxHQUFHLGdCQUFnQixFQUFFLENBQUM7SUFDakcsT0FBTyxhQUFhLENBQ2xCLFlBQVksRUFDWixHQUFHLHdCQUF3QixDQUFPLFlBQVksRUFBRSxPQUFPLENBQUMsRUFDeEQsR0FBRyxDQUFDLGNBQWMsSUFBSSxFQUFFLENBQUMsQ0FDMUIsQ0FBQztBQUNKLENBQUM7QUFFRCxTQUFTLHNCQUFzQjtJQUM3QixPQUFPO1FBQ0wsUUFBUSxFQUFFLFNBQVM7UUFDbkIsWUFBWSxFQUFFLFlBQVksQ0FBQyxJQUFJO1FBQy9CLFlBQVksRUFBRSxZQUFZLENBQUMsSUFBSTtRQUMvQixNQUFNLEVBQUUsU0FBUztLQUNsQixDQUFDO0FBQ0osQ0FBQztBQUVELFNBQVMsd0JBQXdCLENBQy9CLGdCQUFpQyxFQUNqQyxPQUEwQjtJQUUxQixPQUFPO1FBQ0wsRUFBRSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsR0FBb0IsRUFBRSxDQUFDLGdCQUFnQixDQUFDO1FBQzFELEVBQUUsQ0FDQSxPQUFPLENBQUMsV0FBVyxFQUNuQixPQUFPLENBQUMsYUFBYSxFQUNyQixPQUFPLENBQUMsV0FBVyxFQUNuQixDQUFDLEtBQXNCLEVBQUUsRUFBRSxRQUFRLEVBQUUsRUFBbUIsRUFBRSxDQUFDLENBQUMsRUFBRSxHQUFHLEtBQUssRUFBRSxRQUFRLEVBQUUsQ0FBQyxDQUNwRjtRQUNELEVBQUUsQ0FDQSxPQUFPLENBQUMsYUFBYSxFQUNyQixDQUFDLEtBQXNCLEVBQW1CLEVBQUUsQ0FBQyxDQUFDO1lBQzVDLEdBQUcsS0FBSztZQUNSLFFBQVEsRUFBRSxTQUFTO1NBQ3BCLENBQUMsQ0FDSDtRQUNELEdBQUcsZ0NBQWdDLENBQ2pDLE9BQU8sQ0FBQyxJQUFJLEVBQ1osT0FBTyxDQUFDLElBQUksRUFDWixPQUFPLENBQUMsV0FBVyxFQUNuQixPQUFPLENBQUMsV0FBVyxDQUNwQjtRQUNELEdBQUcsZ0NBQWdDLENBQ2pDLFNBQVMsRUFDVCxPQUFPLENBQUMsTUFBTSxFQUNkLE9BQU8sQ0FBQyxhQUFhLEVBQ3JCLE9BQU8sQ0FBQyxhQUFhLENBQ3RCO1FBQ0QsR0FBRyxnQ0FBZ0MsQ0FDakMsU0FBUyxFQUNULE9BQU8sQ0FBQyxNQUFNLEVBQ2QsT0FBTyxDQUFDLGFBQWEsRUFDckIsT0FBTyxDQUFDLGFBQWEsQ0FDdEI7UUFDRCxHQUFHLGdDQUFnQyxDQUFrQixPQUFPLENBQUMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxXQUFXLEVBQUUsT0FBTyxDQUFDLFdBQVcsQ0FBQztLQUM3RyxDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFJlcXVlc3RTdGF0ZSB9IGZyb20gJ0BuZ2R1eC9kYXRhLW1vZGVsLWNvbW1vbic7XHJcbmltcG9ydCB7IGNyZWF0ZUxvYWRpbmdTdGF0ZUFjdGlvbkhhbmRsZXJzLCBjcmVhdGVSZXF1ZXN0U3RhdGVBY3Rpb25IYW5kbGVycyB9IGZyb20gJ0BuZ2R1eC9zdG9yZS1jb21tb24nO1xyXG5pbXBvcnQgeyBBY3Rpb25DcmVhdG9yLCBBY3Rpb25SZWR1Y2VyLCBjcmVhdGVSZWR1Y2VyLCBDcmVhdG9yLCBvbiwgUmVkdWNlclR5cGVzIH0gZnJvbSAnQG5ncngvc3RvcmUnO1xyXG5pbXBvcnQgeyBGb3JtQWN0aW9ucywgRm9ybVN0YXRlIH0gZnJvbSAnLi4vbW9kZWxzL2Zvcm0ubW9kZWwnO1xyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZUZvcm1SZWR1Y2VyPFQsIEU+KFxyXG4gIGFjdGlvbnM6IEZvcm1BY3Rpb25zPFQsIEU+LFxyXG4gIGFjdGlvbkhhbmRsZXJzPzogUmVkdWNlclR5cGVzPEZvcm1TdGF0ZTxULCBFPiwgQWN0aW9uQ3JlYXRvcltdPltdLFxyXG4gIGluaXRpYWxGb3JtU3RhdGU/OiBvYmplY3RcclxuKTogQWN0aW9uUmVkdWNlcjxGb3JtU3RhdGU8VCwgRT4+IHtcclxuICBjb25zdCBpbml0aWFsU3RhdGU6IEZvcm1TdGF0ZTxULCBFPiA9IHsgLi4uY3JlYXRlSW5pdGlhbEZvcm1TdGF0ZTxULCBFPigpLCAuLi5pbml0aWFsRm9ybVN0YXRlIH07XHJcbiAgcmV0dXJuIGNyZWF0ZVJlZHVjZXI8Rm9ybVN0YXRlPFQsIEU+PihcclxuICAgIGluaXRpYWxTdGF0ZSxcclxuICAgIC4uLmNyZWF0ZUZvcm1BY3Rpb25IYW5kbGVyczxULCBFPihpbml0aWFsU3RhdGUsIGFjdGlvbnMpLFxyXG4gICAgLi4uKGFjdGlvbkhhbmRsZXJzIHx8IFtdKVxyXG4gICk7XHJcbn1cclxuXHJcbmZ1bmN0aW9uIGNyZWF0ZUluaXRpYWxGb3JtU3RhdGU8VCwgRT4oKTogRm9ybVN0YXRlPFQsIEU+IHtcclxuICByZXR1cm4ge1xyXG4gICAgcmVzb3VyY2U6IHVuZGVmaW5lZCxcclxuICAgIGxvYWRpbmdTdGF0ZTogUmVxdWVzdFN0YXRlLklETEUsXHJcbiAgICByZXF1ZXN0U3RhdGU6IFJlcXVlc3RTdGF0ZS5JRExFLFxyXG4gICAgZXJyb3JzOiB1bmRlZmluZWRcclxuICB9O1xyXG59XHJcblxyXG5mdW5jdGlvbiBjcmVhdGVGb3JtQWN0aW9uSGFuZGxlcnM8VCwgRT4oXHJcbiAgaW5pdGlhbEZvcm1TdGF0ZTogRm9ybVN0YXRlPFQsIEU+LFxyXG4gIGFjdGlvbnM6IEZvcm1BY3Rpb25zPFQsIEU+XHJcbik6IFJlZHVjZXJUeXBlczxGb3JtU3RhdGU8VCwgRT4sIEFjdGlvbkNyZWF0b3I8c3RyaW5nLCBDcmVhdG9yPGFueVtdLCBvYmplY3Q+PltdPltdIHtcclxuICByZXR1cm4gW1xyXG4gICAgb24oYWN0aW9ucy5yZXNldCwgKCk6IEZvcm1TdGF0ZTxULCBFPiA9PiBpbml0aWFsRm9ybVN0YXRlKSxcclxuICAgIG9uKFxyXG4gICAgICBhY3Rpb25zLmxvYWRTdWNjZXNzLFxyXG4gICAgICBhY3Rpb25zLmNyZWF0ZVN1Y2Nlc3MsXHJcbiAgICAgIGFjdGlvbnMuc2F2ZVN1Y2Nlc3MsXHJcbiAgICAgIChzdGF0ZTogRm9ybVN0YXRlPFQsIEU+LCB7IHJlc291cmNlIH0pOiBGb3JtU3RhdGU8VCwgRT4gPT4gKHsgLi4uc3RhdGUsIHJlc291cmNlIH0pXHJcbiAgICApLFxyXG4gICAgb24oXHJcbiAgICAgIGFjdGlvbnMuZGVsZXRlU3VjY2VzcyxcclxuICAgICAgKHN0YXRlOiBGb3JtU3RhdGU8VCwgRT4pOiBGb3JtU3RhdGU8VCwgRT4gPT4gKHtcclxuICAgICAgICAuLi5zdGF0ZSxcclxuICAgICAgICByZXNvdXJjZTogdW5kZWZpbmVkXHJcbiAgICAgIH0pXHJcbiAgICApLFxyXG4gICAgLi4uY3JlYXRlUmVxdWVzdFN0YXRlQWN0aW9uSGFuZGxlcnM8Rm9ybVN0YXRlPFQsIEU+LCBFPihcclxuICAgICAgYWN0aW9ucy5sb2FkLFxyXG4gICAgICBhY3Rpb25zLnNhdmUsXHJcbiAgICAgIGFjdGlvbnMuc2F2ZVN1Y2Nlc3MsXHJcbiAgICAgIGFjdGlvbnMuc2F2ZUZhaWx1cmVcclxuICAgICksXHJcbiAgICAuLi5jcmVhdGVSZXF1ZXN0U3RhdGVBY3Rpb25IYW5kbGVyczxGb3JtU3RhdGU8VCwgRT4sIEU+KFxyXG4gICAgICB1bmRlZmluZWQsXHJcbiAgICAgIGFjdGlvbnMuY3JlYXRlLFxyXG4gICAgICBhY3Rpb25zLmNyZWF0ZVN1Y2Nlc3MsXHJcbiAgICAgIGFjdGlvbnMuY3JlYXRlRmFpbHVyZVxyXG4gICAgKSxcclxuICAgIC4uLmNyZWF0ZVJlcXVlc3RTdGF0ZUFjdGlvbkhhbmRsZXJzPEZvcm1TdGF0ZTxULCBFPiwgRT4oXHJcbiAgICAgIHVuZGVmaW5lZCxcclxuICAgICAgYWN0aW9ucy5kZWxldGUsXHJcbiAgICAgIGFjdGlvbnMuZGVsZXRlU3VjY2VzcyxcclxuICAgICAgYWN0aW9ucy5kZWxldGVGYWlsdXJlXHJcbiAgICApLFxyXG4gICAgLi4uY3JlYXRlTG9hZGluZ1N0YXRlQWN0aW9uSGFuZGxlcnM8Rm9ybVN0YXRlPFQsIEU+PihhY3Rpb25zLmxvYWQsIGFjdGlvbnMubG9hZFN1Y2Nlc3MsIGFjdGlvbnMubG9hZEZhaWx1cmUpXHJcbiAgXTtcclxufVxyXG4iXX0=
|
|
@@ -14,4 +14,4 @@ export function createFormSelectors(getFormState) {
|
|
|
14
14
|
isReady
|
|
15
15
|
};
|
|
16
16
|
}
|
|
17
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
17
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1zZWxlY3RvcnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL25nZHV4L3V0aWwvc3RvcmUvZm9ybS9zcmMvbGliLytzdGF0ZS9mb3JtLXNlbGVjdG9ycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDeEQsT0FBTyxFQUFFLGNBQWMsRUFBd0MsTUFBTSxhQUFhLENBQUM7QUFHbkYsTUFBTSxVQUFVLG1CQUFtQixDQUNqQyxZQUE0RjtJQUU1RixNQUFNLGVBQWUsR0FBRyxjQUFjLENBQUMsWUFBWSxFQUFFLEtBQUssQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQ2xGLE1BQU0sZUFBZSxHQUFHLGNBQWMsQ0FBQyxZQUFZLEVBQUUsS0FBSyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDbEYsTUFBTSxTQUFTLEdBQUcsY0FBYyxDQUFDLFlBQVksRUFBRSxLQUFLLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUN0RSxNQUFNLFdBQVcsR0FBRyxjQUFjLENBQUMsWUFBWSxFQUFFLEtBQUssQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBRTFFLE1BQU0sT0FBTyxHQUFHLGNBQWMsQ0FDNUIsV0FBVyxFQUNYLGVBQWUsRUFDZixDQUFDLFFBQVEsRUFBRSxZQUFZLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxRQUFRLElBQUksWUFBWSxLQUFLLFlBQVksQ0FBQyxPQUFPLENBQ2hGLENBQUM7SUFFRixPQUFPO1FBQ0wsZUFBZTtRQUNmLGVBQWU7UUFDZixTQUFTO1FBQ1QsV0FBVztRQUNYLE9BQU87S0FDUixDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFJlcXVlc3RTdGF0ZSB9IGZyb20gJ0BuZ2R1eC9kYXRhLW1vZGVsLWNvbW1vbic7XHJcbmltcG9ydCB7IGNyZWF0ZVNlbGVjdG9yLCBEZWZhdWx0UHJvamVjdG9yRm4sIE1lbW9pemVkU2VsZWN0b3IgfSBmcm9tICdAbmdyeC9zdG9yZSc7XHJcbmltcG9ydCB7IEZvcm1TZWxlY3RvcnMsIEZvcm1TdGF0ZSB9IGZyb20gJy4uL21vZGVscy9mb3JtLm1vZGVsJztcclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVGb3JtU2VsZWN0b3JzPFQsIEU+KFxyXG4gIGdldEZvcm1TdGF0ZTogTWVtb2l6ZWRTZWxlY3RvcjxvYmplY3QsIEZvcm1TdGF0ZTxULCBFPiwgRGVmYXVsdFByb2plY3RvckZuPEZvcm1TdGF0ZTxULCBFPj4+XHJcbik6IEZvcm1TZWxlY3RvcnM8VCwgRT4ge1xyXG4gIGNvbnN0IGdldFJlcXVlc3RTdGF0ZSA9IGNyZWF0ZVNlbGVjdG9yKGdldEZvcm1TdGF0ZSwgc3RhdGUgPT4gc3RhdGUucmVxdWVzdFN0YXRlKTtcclxuICBjb25zdCBnZXRMb2FkaW5nU3RhdGUgPSBjcmVhdGVTZWxlY3RvcihnZXRGb3JtU3RhdGUsIHN0YXRlID0+IHN0YXRlLmxvYWRpbmdTdGF0ZSk7XHJcbiAgY29uc3QgZ2V0RXJyb3JzID0gY3JlYXRlU2VsZWN0b3IoZ2V0Rm9ybVN0YXRlLCBzdGF0ZSA9PiBzdGF0ZS5lcnJvcnMpO1xyXG4gIGNvbnN0IGdldFJlc291cmNlID0gY3JlYXRlU2VsZWN0b3IoZ2V0Rm9ybVN0YXRlLCBzdGF0ZSA9PiBzdGF0ZS5yZXNvdXJjZSk7XHJcblxyXG4gIGNvbnN0IGlzUmVhZHkgPSBjcmVhdGVTZWxlY3RvcihcclxuICAgIGdldFJlc291cmNlLFxyXG4gICAgZ2V0TG9hZGluZ1N0YXRlLFxyXG4gICAgKHJlc291cmNlLCBsb2FkaW5nU3RhdGUpID0+ICEhcmVzb3VyY2UgJiYgbG9hZGluZ1N0YXRlID09PSBSZXF1ZXN0U3RhdGUuU1VDQ0VTU1xyXG4gICk7XHJcblxyXG4gIHJldHVybiB7XHJcbiAgICBnZXRSZXF1ZXN0U3RhdGUsXHJcbiAgICBnZXRMb2FkaW5nU3RhdGUsXHJcbiAgICBnZXRFcnJvcnMsXHJcbiAgICBnZXRSZXNvdXJjZSxcclxuICAgIGlzUmVhZHlcclxuICB9O1xyXG59XHJcbiJdfQ==
|
|
@@ -13,4 +13,4 @@ export function createFormState(featureName) {
|
|
|
13
13
|
selectors
|
|
14
14
|
};
|
|
15
15
|
}
|
|
16
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
16
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1zdGF0ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbmdkdXgvdXRpbC9zdG9yZS9mb3JtL3NyYy9saWIvK3N0YXRlL2Zvcm0tc3RhdGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFVLHFCQUFxQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRTVELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBRXZELE1BQU0sVUFBVSxlQUFlLENBQU8sV0FBbUI7SUFDdkQsTUFBTSxPQUFPLEdBQUcsaUJBQWlCLENBQU8sV0FBVyxDQUFDLENBQUM7SUFDckQsTUFBTSxPQUFPLEdBQUcsaUJBQWlCLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDM0MsTUFBTSxRQUFRLEdBQUcscUJBQXFCLENBQWtCLFdBQVcsQ0FBQyxDQUFDO0lBQ3JFLE1BQU0sU0FBUyxHQUFHLG1CQUFtQixDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBRWhELE9BQU87UUFDTCxPQUFPO1FBQ1AsT0FBTyxFQUFFLENBQUMsS0FBc0IsRUFBRSxNQUFjLEVBQW1CLEVBQUUsQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLE1BQU0sQ0FBQztRQUM1RixTQUFTO0tBQ1YsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBY3Rpb24sIGNyZWF0ZUZlYXR1cmVTZWxlY3RvciB9IGZyb20gJ0BuZ3J4L3N0b3JlJztcclxuaW1wb3J0IHsgRm9ybVN0YXRlIH0gZnJvbSAnLi4vbW9kZWxzL2Zvcm0ubW9kZWwnO1xyXG5pbXBvcnQgeyBjcmVhdGVGb3JtQWN0aW9ucyB9IGZyb20gJy4vZm9ybS1hY3Rpb25zJztcclxuaW1wb3J0IHsgY3JlYXRlRm9ybVJlZHVjZXIgfSBmcm9tICcuL2Zvcm0tcmVkdWNlcic7XHJcbmltcG9ydCB7IGNyZWF0ZUZvcm1TZWxlY3RvcnMgfSBmcm9tICcuL2Zvcm0tc2VsZWN0b3JzJztcclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVGb3JtU3RhdGU8VCwgRT4oZmVhdHVyZU5hbWU6IHN0cmluZykge1xyXG4gIGNvbnN0IGFjdGlvbnMgPSBjcmVhdGVGb3JtQWN0aW9uczxULCBFPihmZWF0dXJlTmFtZSk7XHJcbiAgY29uc3QgcmVkdWNlciA9IGNyZWF0ZUZvcm1SZWR1Y2VyKGFjdGlvbnMpO1xyXG4gIGNvbnN0IGdldFN0YXRlID0gY3JlYXRlRmVhdHVyZVNlbGVjdG9yPEZvcm1TdGF0ZTxULCBFPj4oZmVhdHVyZU5hbWUpO1xyXG4gIGNvbnN0IHNlbGVjdG9ycyA9IGNyZWF0ZUZvcm1TZWxlY3RvcnMoZ2V0U3RhdGUpO1xyXG5cclxuICByZXR1cm4ge1xyXG4gICAgYWN0aW9ucyxcclxuICAgIHJlZHVjZXI6IChzdGF0ZTogRm9ybVN0YXRlPFQsIEU+LCBhY3Rpb246IEFjdGlvbik6IEZvcm1TdGF0ZTxULCBFPiA9PiByZWR1Y2VyKHN0YXRlLCBhY3Rpb24pLFxyXG4gICAgc2VsZWN0b3JzXHJcbiAgfTtcclxufVxyXG4iXX0=
|
|
@@ -1,2 +1,3 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
import { InjectionToken } from '@angular/core';
|
|
2
|
+
export const FORM_FEATURE_KEY = new InjectionToken('FORM_FEATURE_KEY');
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbmdkdXgvdXRpbC9zdG9yZS9mb3JtL3NyYy9saWIvbW9kZWxzL2Zvcm0ubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQU0vQyxNQUFNLENBQUMsTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLGNBQWMsQ0FBUyxrQkFBa0IsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0aW9uVG9rZW4gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgUmVxdWVzdFN0YXRlIH0gZnJvbSAnQG5nZHV4L2RhdGEtbW9kZWwtY29tbW9uJztcclxuaW1wb3J0IHsgQXBpUmVxdWVzdFN0YXRlLCBMb2FkaW5nU3RhdGUgfSBmcm9tICdAbmdkdXgvc3RvcmUtY29tbW9uJztcclxuaW1wb3J0IHsgQWN0aW9uQ3JlYXRvciwgTWVtb2l6ZWRTZWxlY3RvciB9IGZyb20gJ0BuZ3J4L3N0b3JlJztcclxuaW1wb3J0IHsgVHlwZWRBY3Rpb24gfSBmcm9tICdAbmdyeC9zdG9yZS9zcmMvbW9kZWxzJztcclxuXHJcbmV4cG9ydCBjb25zdCBGT1JNX0ZFQVRVUkVfS0VZID0gbmV3IEluamVjdGlvblRva2VuPHN0cmluZz4oJ0ZPUk1fRkVBVFVSRV9LRVknKTtcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgRm9ybVN0YXRlPFQsIEU+IGV4dGVuZHMgQXBpUmVxdWVzdFN0YXRlPEU+LCBMb2FkaW5nU3RhdGUge1xyXG4gIHJlc291cmNlOiBUO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEZvcm1TZWxlY3RvcnM8VCwgRT4ge1xyXG4gIGdldFJlcXVlc3RTdGF0ZTogTWVtb2l6ZWRTZWxlY3RvcjxvYmplY3QsIFJlcXVlc3RTdGF0ZT47XHJcbiAgZ2V0TG9hZGluZ1N0YXRlOiBNZW1vaXplZFNlbGVjdG9yPG9iamVjdCwgUmVxdWVzdFN0YXRlPjtcclxuICBnZXRFcnJvcnM6IE1lbW9pemVkU2VsZWN0b3I8b2JqZWN0LCBFPjtcclxuICBnZXRSZXNvdXJjZTogTWVtb2l6ZWRTZWxlY3RvcjxvYmplY3QsIFQ+O1xyXG4gIGlzUmVhZHk6IE1lbW9pemVkU2VsZWN0b3I8b2JqZWN0LCBib29sZWFuPjtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBGb3JtQWN0aW9uczxULCBFPiB7XHJcbiAgbG9hZDogQWN0aW9uQ3JlYXRvcjxzdHJpbmcsIChwcm9wczogeyBpZDogc3RyaW5nIH0pID0+IHsgaWQ6IHN0cmluZyB9ICYgVHlwZWRBY3Rpb248c3RyaW5nPj47XHJcbiAgbG9hZFN1Y2Nlc3M6IEFjdGlvbkNyZWF0b3I8c3RyaW5nLCAocHJvcHM6IHsgcmVzb3VyY2U6IFQgfSkgPT4geyByZXNvdXJjZTogVCB9ICYgVHlwZWRBY3Rpb248c3RyaW5nPj47XHJcbiAgbG9hZEZhaWx1cmU6IEFjdGlvbkNyZWF0b3I8c3RyaW5nLCAocHJvcHM6IHsgZXJyb3JzOiBFIH0pID0+IHsgZXJyb3JzOiBFIH0gJiBUeXBlZEFjdGlvbjxzdHJpbmc+PjtcclxuXHJcbiAgc2F2ZTogQWN0aW9uQ3JlYXRvcjxzdHJpbmcsIChwcm9wczogeyByZXNvdXJjZTogVCB9KSA9PiB7IHJlc291cmNlOiBUIH0gJiBUeXBlZEFjdGlvbjxzdHJpbmc+PjtcclxuICBzYXZlU3VjY2VzczogQWN0aW9uQ3JlYXRvcjxzdHJpbmcsIChwcm9wczogeyByZXNvdXJjZTogVCB9KSA9PiB7IHJlc291cmNlOiBUIH0gJiBUeXBlZEFjdGlvbjxzdHJpbmc+PjtcclxuICBzYXZlRmFpbHVyZTogQWN0aW9uQ3JlYXRvcjxzdHJpbmcsIChwcm9wczogeyBlcnJvcnM6IEUgfSkgPT4geyBlcnJvcnM6IEUgfSAmIFR5cGVkQWN0aW9uPHN0cmluZz4+O1xyXG5cclxuICBkZWxldGU6IEFjdGlvbkNyZWF0b3I8c3RyaW5nLCAocHJvcHM6IHsgaWQ6IHN0cmluZyB9KSA9PiB7IGlkOiBzdHJpbmcgfSAmIFR5cGVkQWN0aW9uPHN0cmluZz4+O1xyXG4gIGRlbGV0ZVN1Y2Nlc3M6IEFjdGlvbkNyZWF0b3I8c3RyaW5nLCAocHJvcHM6IHsgaWQ6IHN0cmluZyB9KSA9PiB7IGlkOiBzdHJpbmcgfSAmIFR5cGVkQWN0aW9uPHN0cmluZz4+O1xyXG4gIGRlbGV0ZUZhaWx1cmU6IEFjdGlvbkNyZWF0b3I8c3RyaW5nLCAocHJvcHM6IHsgZXJyb3JzOiBFIH0pID0+IHsgZXJyb3JzOiBFIH0gJiBUeXBlZEFjdGlvbjxzdHJpbmc+PjtcclxuXHJcbiAgY3JlYXRlOiBBY3Rpb25DcmVhdG9yPHN0cmluZywgKHByb3BzOiB7IHJlc291cmNlOiBUIH0pID0+IHsgcmVzb3VyY2U6IFQgfSAmIFR5cGVkQWN0aW9uPHN0cmluZz4+O1xyXG4gIGNyZWF0ZVN1Y2Nlc3M6IEFjdGlvbkNyZWF0b3I8c3RyaW5nLCAocHJvcHM6IHsgcmVzb3VyY2U6IFQgfSkgPT4geyByZXNvdXJjZTogVCB9ICYgVHlwZWRBY3Rpb248c3RyaW5nPj47XHJcbiAgY3JlYXRlRmFpbHVyZTogQWN0aW9uQ3JlYXRvcjxzdHJpbmcsIChwcm9wczogeyBlcnJvcnM6IEUgfSkgPT4geyBlcnJvcnM6IEUgfSAmIFR5cGVkQWN0aW9uPHN0cmluZz4+O1xyXG5cclxuICByZXNldDogQWN0aW9uQ3JlYXRvcjxzdHJpbmcsICgpID0+IFR5cGVkQWN0aW9uPHN0cmluZz4+O1xyXG59XHJcbiJdfQ==
|