@ngdux/form 0.1.0 → 0.1.1
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 +4 -4
- package/esm2020/lib/+state/abstract-form-effects.mjs +1 -1
- package/esm2020/lib/models/form.model.mjs +1 -1
- package/fesm2015/ngdux-form.mjs.map +1 -1
- package/fesm2020/ngdux-form.mjs.map +1 -1
- package/lib/+state/abstract-form-effects.d.ts +2 -2
- package/lib/models/form.model.d.ts +2 -2
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -92,14 +92,14 @@ export class UserEffects extends AbstractFormEffects<User, Error> {
|
|
|
92
92
|
```
|
|
93
93
|
import { HttpClient } from '@angular/common/http';
|
|
94
94
|
import { Injectable } from '@angular/core';
|
|
95
|
-
import {
|
|
95
|
+
import { FormService } from '@ngdux/form';
|
|
96
96
|
import { User, USERS_RESOURCE_BASE_PATH } from '../models';
|
|
97
97
|
import { Observable } from 'rxjs';
|
|
98
98
|
|
|
99
99
|
@Injectable({
|
|
100
100
|
providedIn: 'root'
|
|
101
101
|
})
|
|
102
|
-
export class UserService implements
|
|
102
|
+
export class UserService implements FormService<User> {
|
|
103
103
|
constructor(private httpClient: HttpClient) {}
|
|
104
104
|
|
|
105
105
|
loadResource(id: string): Observable<User> {
|
|
@@ -126,13 +126,13 @@ export class UserService implements NgduxFormService<User> {
|
|
|
126
126
|
```
|
|
127
127
|
import { Injectable } from '@angular/core';
|
|
128
128
|
import { MatSnackBar } from '@angular/material/snack-bar';
|
|
129
|
-
import {
|
|
129
|
+
import { FormNotificationService } from '@ngdux/form';
|
|
130
130
|
import { Error } from '.../models';
|
|
131
131
|
|
|
132
132
|
@Injectable({
|
|
133
133
|
providedIn: 'root'
|
|
134
134
|
})
|
|
135
|
-
export class FormNotificationService implements
|
|
135
|
+
export class FormNotificationService implements FormNotificationService<Error> {
|
|
136
136
|
constructor(private readonly snackBar: MatSnackBar) {}
|
|
137
137
|
|
|
138
138
|
onErrors(errors: Error): void {
|
|
@@ -32,4 +32,4 @@ export class AbstractFormEffects {
|
|
|
32
32
|
})), { dispatch: false });
|
|
33
33
|
}
|
|
34
34
|
}
|
|
35
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJzdHJhY3QtZm9ybS1lZmZlY3RzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9zaGFyZWQvdXRpbC1zdG9yZS1mb3JtL3NyYy9saWIvK3N0YXRlL2Fic3RyYWN0LWZvcm0tZWZmZWN0cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQVcsWUFBWSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUU5RCxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzFCLE9BQU8sRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFHN0UsTUFBTSxPQUFnQixtQkFBbUI7SUFnSHZDLFlBQ21CLE1BQWMsRUFDWixRQUFpQixFQUNqQixLQUFZLEVBQ2QsT0FBNEIsRUFDNUIsV0FBOEIsRUFDOUIsbUJBQW9EO1FBTHBELFdBQU0sR0FBTixNQUFNLENBQVE7UUFDWixhQUFRLEdBQVIsUUFBUSxDQUFTO1FBQ2pCLFVBQUssR0FBTCxLQUFLLENBQU87UUFDZCxZQUFPLEdBQVAsT0FBTyxDQUFxQjtRQUM1QixnQkFBVyxHQUFYLFdBQVcsQ0FBbUI7UUFDOUIsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUFpQztRQXJIdkUsVUFBSyxHQUFHLFlBQVksQ0FBQyxHQUFHLEVBQUUsQ0FDeEIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQ2hCLE1BQU0sQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxFQUM3QixTQUFTLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsQ0FDbkIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUNoQyxHQUFHLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLFdB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LENBQUMsWUFBWSxDQUFDLEVBQ3JDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUMvQyxDQUNGLENBQUM7UUFFRixtQkFBYyxHQUFHLFlBQVksQ0FDM0IsR0FBRyxFQUFFLENBQ0gsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQ2hCLE1BQU0sQ0FDSixJQUFJLENBQUMsV0FBVyxDQUFDLFdBQVcsRUFDNUIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxXQUFXLEVBQzVCLElBQUksQ0FBQyxXQUFXLENBQUMsYUFBYSxFQUM5QixJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FDL0IsRUFDRCxHQUFHLENBQUMsQ0FBQyxFQUFFLE1BQU0sRUFBRSxFQUFFLEVBQUU7WUFDakIsSUFBSSxDQUFDLG1CQUFtQixDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUM1QyxDQUFDLENBQUMsQ0FDSCxFQUNILEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxDQUNwQixDQUFDO0lBU0MsQ0FBQztDQUNMIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHsgQWN0aW9ucywgY3JlYXRlRWZmZWN0LCBvZlR5cGUgfSBmcm9tICdAbmdyeC9lZmZlY3RzJztcclxuaW1wb3J0IHsgU3RvcmUgfSBmcm9tICdAbmdyeC9zdG9yZSc7XHJcbmltcG9ydCB7IG9mIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IGNhdGNoRXJyb3IsIGV4aGF1c3RNYXAsIG1hcCwgc3dpdGNoTWFwLCB0YXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IEZvcm1BY3Rpb25zLCBOZ2R1eEZvcm1Ob3RpZmljYXRpb25TZXJ2aWNlLCBOZ2R1eEZvcm1TZXJ2aWNlIH0gZnJvbSAnLi4vbW9kZWxzL2Zvcm0ubW9kZWwnO1xyXG5cclxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEFic3RyYWN0Rm9ybUVmZmVjdHM8VCwgRT4ge1xyXG4gIGxvYWQkID0gY3JlYXRlRWZmZWN0KCgpID0+XHJcbiAgICB0aGlzLmFjdGlvbnMkLnBpcGUoXHJcbiAgICAgIG9mVHlwZSh0aGlzLmZvcm1BY3Rpb25zLmxvYWQpLFxyXG4gICAgICBzd2l0Y2hNYXAoKHsgaWQgfSkgPT5cclxuICAgICAgICB0aGlzLnNlcnZpY2UubG9hZFJlc291cmNlKGlkKS5waXBlKFxyXG4gICAgICAgICAgbWFwKHJlc291cmNlID0+IHRoaXMuZm9ybUFjdGlvbnMubG9hZFN1Y2Nlc3MoeyByZXNvdXJjZSB9KSksXHJcbiAgICAgICAgICBjYXRjaEVycm9yKChlcnJvcnM6IEUpID0+IG9mKHRoaXMuZm9ybUFjdGlvbnMubG9hZEZhaWx1cmUoeyBlcnJvcnMgfSkpKVxyXG4gICAgICAgIClcclxuICAgICAgKVxyXG4gICAgKVxyXG4gICk7XHJcblxyXG4gIGNyZWF0ZSQgPSBjcmVhdGVFZmZlY3QoKCkgPT5cclxuICAgIHRoaXMuYWN0aW9ucyQucGlwZShcclxuICAgICAgb2ZUeXBlKHRoaXMuZm9ybUFjdGlvbnMuY3JlYXRlKSxcclxuICAgICAgc3dpdGNoTWFwKGFjdGlvbiA9PlxyXG4gICAgICAgIHRoaXMuc2VydmljZS5jcmVhdGVSZXNvdXJjZShhY3Rpb24ucmVzb3VyY2UpLnBpcGUoXHJcbiAgICAgICAgICBtYXAocmVzb3VyY2UgPT4gdGhpcy5mb3JtQWN0aW9ucy5jcmVhdGVTdWNjZXNzKHsgcmVzb3VyY2UgfSkpLFxyXG4gICAgICAgICAgY2F0Y2hFcnJvcigoZXJyb3JzOiBFKSA9PiBvZih0aGlzLmZvcm1BY3Rpb25zLmNyZWF0ZUZhaWx1cmUoeyBlcnJvcnMgfSkpKVxyXG4gICAgICAgIClcclxuICAgICAgKVxyXG4gICAgKVxyXG4gICk7XHJcblxyXG4gIHVwZGF0ZSQgPSBjcmVhdGVFZmZlY3QoKCkgPT5cclxuICAgIHRoaXMuYWN0aW9ucyQucGlwZShcclxuICAgICAgb2ZUeXBlKHRoaXMuZm9ybUFjdGlvbnMuc2F2ZSksXHJcbiAgICAgIHN3aXRjaE1hcCgoeyByZXNvdXJjZSB9KSA9PlxyXG4gICAgICAgIHRoaXMuc2VydmljZS5zYXZlUmVzb3VyY2UocmVzb3VyY2UpLnBpcGUoXHJcbiAgICAgICAgICBtYXAocmVzcG9uc2UgPT4gdGhpcy5mb3JtQWN0aW9ucy5zYXZlU3VjY2Vzcyh7IHJlc291cmNlOiByZXNwb25zZSB9KSksXHJcbiAgICAgICAgICBjYXRjaEVycm9yKChlcnJvcnM6IEUpID0+IG9mKHRoaXMuZm9ybUFjdGlvbnMuc2F2ZUZhaWx1cmUoeyBlcnJvcnMgfSkpKVxyXG4gICAgICAgIClcclxuICAgICAgKVxyXG4gICAgKVxyXG4gICk7XHJcblxyXG4gIGRlbGV0ZSQgPSBjcmVhdGVFZmZlY3QoKCkgPT5cclxuICAgIHRoaXMuYWN0aW9ucyQucGlwZShcclxuICAgICAgb2ZUeXBlKHRoaXMuZm9ybUFjdGlvbnMuZGVsZXRlKSxcclxuICAgICAgZXhoYXVzdE1hcChhY3Rpb24gPT5cclxuICAgICAgICB0aGlzLnNlcnZpY2UuZGVsZXRlUmVzb3VyY2UoYWN0aW9uLmlkKS5waXBlKFxyXG4gICAgICAgICAgbWFwKCgpID0+IHRoaXMuZm9ybUFjdGlvbnMuZGVsZXRlU3VjY2Vzcyh7IGlkOiBhY3Rpb24uaWQgfSkpLFxyXG4gICAgICAgICAgY2F0Y2hFcnJvcigoZXJyb3JzOiBFKSA9PiBvZih0aGlzLmZvcm1BY3Rpb25zLmRlbGV0ZUZhaWx1cmUoeyBlcnJvcnMgfSkpKVxyXG4gICAgICAgIClcclxuICAgICAgKVxyXG4gICAgKVxyXG4gICk7XHJcblxyXG4gIGRlbGV0ZVN1Y2Nlc3MkID0gY3JlYXRlRWZmZWN0KCgpID0+XHJcbiAgICB0aGlzLmFjdGlvbnMkLnBpcGUoXHJcbiAgICAgIG9mVHlwZSh0aGlzLmZvcm1BY3Rpb25zLmRlbGV0ZVN1Y2Nlc3MpLFxyXG4gICAgICB0YXAoKHsgaWQgfSkgPT4ge1xyXG4gICAgICAgIHRoaXMubm90aWZpY2F0aW9uU2VydmljZS5vbkRlbGV0ZShpZCk7XHJcbiAgICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoWycuLiddKTtcclxuICAgICAgfSlcclxuICAgIClcclxuICApO1xyXG5cclxuICBjcmVhdGVTdWNjZXNzJCA9IGNyZWF0ZUVmZmVjdCgoKSA9PlxyXG4gICAgdGhpcy5hY3Rpb25zJC5waXBlKFxyXG4gICAgICBvZlR5cGUodGhpcy5mb3JtQWN0aW9ucy5jcmVhdGVTdWNjZXNzKSxcclxuICAgICAgdGFwKCgpID0+IHtcclxuICAgICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbJy4uJ10pO1xyXG4gICAgICB9KVxyXG4gICAgKVxyXG4gICk7XHJcblxyXG4gIG5hdmlnYXRlVG9DcmVhdGVSZXNvdXJjZSQgPSBjcmVhdGVFZmZlY3QoKCkgPT5cclxuICAgIHRoaXMuYWN0aW9ucyQucGlwZShcclxuICAgICAgb2ZUeXBlKHRoaXMuZm9ybUFjdGlvbnMubmF2aWdhdGVUb0NyZWF0ZSksXHJcbiAgICAgIG1hcCgoKSA9PiB0aGlzLmZvcm1BY3Rpb25zLnJlc2V0KCkpLFxyXG4gICAgICB0YXAoKCkgPT4ge1xyXG4gICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFsnLi4nXSk7XHJcbiAgICAgIH0pXHJcbiAgICApXHJcbiAgKTtcclxuXHJcbiAgY29weSQgPSBjcmVhdGVFZmZlY3QoXHJcbiAgICAoKSA9PlxyXG4gICAgICB0aGlzLmFjdGlvbnMkLnBpcGUoXHJcbiAgICAgICAgb2ZUeXBlKHRoaXMuZm9ybUFjdGlvbnMuY29weSksXHJcbiAgICAgICAgdGFwKCgpID0+IHtcclxuICAgICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFsnLi4nXSk7XHJcbiAgICAgICAgfSlcclxuICAgICAgKSxcclxuICAgIHsgZGlzcGF0Y2g6IGZhbHNlIH1cclxuICApO1xyXG5cclxuICBjb3B5U2VsZWN0ZWQkID0gY3JlYXRlRWZmZWN0KCgpID0+XHJcbiAgICB0aGlzLmFjdGlvbnMkLnBpcGUoXHJcbiAgICAgIG9mVHlwZSh0aGlzLmZvcm1BY3Rpb25zLmNvcHlTZWxlY3RlZCksXHJcbiAgICAgIG1hcCgoeyBpZCB9KSA9PiB0aGlzLmZvcm1BY3Rpb25zLmxvYWQoeyBpZCB9KSlcclxuICAgIClcclxuICApO1xyXG5cclxuICBlcnJvcnNIYW5kbGVyJCA9IGNyZWF0ZUVmZmVjdChcclxuICAgICgpID0+XHJcbiAgICAgIHRoaXMuYWN0aW9ucyQucGlwZShcclxuICAgICAgICBvZlR5cGUoXHJcbiAgICAgICAgICB0aGlzLmZvcm1BY3Rpb25zLnNhdmVGYWlsdXJlLFxyXG4gICAgICAgICAgdGhpcy5mb3JtQWN0aW9ucy5sb2FkRmFpbHVyZSxcclxuICAgICAgICAgIHRoaXMuZm9ybUFjdGlvbnMuZGVsZXRlRmFpbHVyZSxcclxuICAgICAgICAgIHRoaXMuZm9ybUFjdGlvbnMuY3JlYXRlRmFpbHVyZVxyXG4gICAgICAgICksXHJcbiAgICAgICAgdGFwKCh7IGVycm9ycyB9KSA9PiB7XHJcbiAgICAgICAgICB0aGlzLm5vdGlmaWNhdGlvblNlcnZpY2Uub25FcnJvcnMoZXJyb3JzKTtcclxuICAgICAgICB9KVxyXG4gICAgICApLFxyXG4gICAgeyBkaXNwYXRjaDogZmFsc2UgfVxyXG4gICk7XHJcblxyXG4gIHByb3RlY3RlZCBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgcm91dGVyOiBSb3V0ZXIsXHJcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgYWN0aW9ucyQ6IEFjdGlvbnMsXHJcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgc3RvcmU6IFN0b3JlLFxyXG4gICAgcHJpdmF0ZSByZWFkb25seSBzZXJ2aWNlOiBOZ2R1eEZvcm1TZXJ2aWNlPFQ+LFxyXG4gICAgcHJpdmF0ZSByZWFkb25seSBmb3JtQWN0aW9uczogRm9ybUFjdGlvbnM8VCwgRT4sXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IG5vdGlmaWNhdGlvblNlcnZpY2U6IE5nZHV4Rm9ybU5vdGlmaWNhdGlvblNlcnZpY2U8RT5cclxuICApIHt9XHJcbn1cclxuIl19
|
|
35
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJzdHJhY3QtZm9ybS1lZmZlY3RzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9zaGFyZWQvdXRpbC1zdG9yZS1mb3JtL3NyYy9saWIvK3N0YXRlL2Fic3RyYWN0LWZvcm0tZWZmZWN0cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQVcsWUFBWSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUU5RCxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzFCLE9BQU8sRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFHN0UsTUFBTSxPQUFnQixtQkFBbUI7SUFnSHZDLFlBQ21CLE1BQWMsRUFDWixRQUFpQixFQUNqQixLQUFZLEVBQ2QsT0FBdUIsRUFDdkIsV0FBOEIsRUFDOUIsbUJBQStDO1FBTC9DLFdBQU0sR0FBTixNQUFNLENBQVE7UUFDWixhQUFRLEdBQVIsUUFBUSxDQUFTO1FBQ2pCLFVBQUssR0FBTCxLQUFLLENBQU87UUFDZCxZQUFPLEdBQVAsT0FBTyxDQUFnQjtRQUN2QixnQkFBVyxHQUFYLFdBQVcsQ0FBbUI7UUFDOUIsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUE0QjtRQXJIbEUsVUFBSyxHQUFHLFlBQVksQ0FBQyxHQUFHLEVBQUUsQ0FDeEIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQ2hCLE1BQU0sQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxFQUM3QixTQUFTLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsQ0FDbkIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUNoQyxHQUFHLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLFdB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LENBQUMsWUFBWSxDQUFDLEVBQ3JDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUMvQyxDQUNGLENBQUM7UUFFRixtQkFBYyxHQUFHLFlBQVksQ0FDM0IsR0FBRyxFQUFFLENBQ0gsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQ2hCLE1BQU0sQ0FDSixJQUFJLENBQUMsV0FBVyxDQUFDLFdBQVcsRUFDNUIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxXQUFXLEVBQzVCLElBQUksQ0FBQyxXQUFXLENBQUMsYUFBYSxFQUM5QixJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FDL0IsRUFDRCxHQUFHLENBQUMsQ0FBQyxFQUFFLE1BQU0sRUFBRSxFQUFFLEVBQUU7WUFDakIsSUFBSSxDQUFDLG1CQUFtQixDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUM1QyxDQUFDLENBQUMsQ0FDSCxFQUNILEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxDQUNwQixDQUFDO0lBU0MsQ0FBQztDQUNMIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHsgQWN0aW9ucywgY3JlYXRlRWZmZWN0LCBvZlR5cGUgfSBmcm9tICdAbmdyeC9lZmZlY3RzJztcclxuaW1wb3J0IHsgU3RvcmUgfSBmcm9tICdAbmdyeC9zdG9yZSc7XHJcbmltcG9ydCB7IG9mIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IGNhdGNoRXJyb3IsIGV4aGF1c3RNYXAsIG1hcCwgc3dpdGNoTWFwLCB0YXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IEZvcm1BY3Rpb25zLCBGb3JtTm90aWZpY2F0aW9uU2VydmljZSwgRm9ybVNlcnZpY2UgfSBmcm9tICcuLi9tb2RlbHMvZm9ybS5tb2RlbCc7XHJcblxyXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQWJzdHJhY3RGb3JtRWZmZWN0czxULCBFPiB7XHJcbiAgbG9hZCQgPSBjcmVhdGVFZmZlY3QoKCkgPT5cclxuICAgIHRoaXMuYWN0aW9ucyQucGlwZShcclxuICAgICAgb2ZUeXBlKHRoaXMuZm9ybUFjdGlvbnMubG9hZCksXHJcbiAgICAgIHN3aXRjaE1hcCgoeyBpZCB9KSA9PlxyXG4gICAgICAgIHRoaXMuc2VydmljZS5sb2FkUmVzb3VyY2UoaWQpLnBpcGUoXHJcbiAgICAgICAgICBtYXAocmVzb3VyY2UgPT4gdGhpcy5mb3JtQWN0aW9ucy5sb2FkU3VjY2Vzcyh7IHJlc291cmNlIH0pKSxcclxuICAgICAgICAgIGNhdGNoRXJyb3IoKGVycm9yczogRSkgPT4gb2YodGhpcy5mb3JtQWN0aW9ucy5sb2FkRmFpbHVyZSh7IGVycm9ycyB9KSkpXHJcbiAgICAgICAgKVxyXG4gICAgICApXHJcbiAgICApXHJcbiAgKTtcclxuXHJcbiAgY3JlYXRlJCA9IGNyZWF0ZUVmZmVjdCgoKSA9PlxyXG4gICAgdGhpcy5hY3Rpb25zJC5waXBlKFxyXG4gICAgICBvZlR5cGUodGhpcy5mb3JtQWN0aW9ucy5jcmVhdGUpLFxyXG4gICAgICBzd2l0Y2hNYXAoYWN0aW9uID0+XHJcbiAgICAgICAgdGhpcy5zZXJ2aWNlLmNyZWF0ZVJlc291cmNlKGFjdGlvbi5yZXNvdXJjZSkucGlwZShcclxuICAgICAgICAgIG1hcChyZXNvdXJjZSA9PiB0aGlzLmZvcm1BY3Rpb25zLmNyZWF0ZVN1Y2Nlc3MoeyByZXNvdXJjZSB9KSksXHJcbiAgICAgICAgICBjYXRjaEVycm9yKChlcnJvcnM6IEUpID0+IG9mKHRoaXMuZm9ybUFjdGlvbnMuY3JlYXRlRmFpbHVyZSh7IGVycm9ycyB9KSkpXHJcbiAgICAgICAgKVxyXG4gICAgICApXHJcbiAgICApXHJcbiAgKTtcclxuXHJcbiAgdXBkYXRlJCA9IGNyZWF0ZUVmZmVjdCgoKSA9PlxyXG4gICAgdGhpcy5hY3Rpb25zJC5waXBlKFxyXG4gICAgICBvZlR5cGUodGhpcy5mb3JtQWN0aW9ucy5zYXZlKSxcclxuICAgICAgc3dpdGNoTWFwKCh7IHJlc291cmNlIH0pID0+XHJcbiAgICAgICAgdGhpcy5zZXJ2aWNlLnNhdmVSZXNvdXJjZShyZXNvdXJjZSkucGlwZShcclxuICAgICAgICAgIG1hcChyZXNwb25zZSA9PiB0aGlzLmZvcm1BY3Rpb25zLnNhdmVTdWNjZXNzKHsgcmVzb3VyY2U6IHJlc3BvbnNlIH0pKSxcclxuICAgICAgICAgIGNhdGNoRXJyb3IoKGVycm9yczogRSkgPT4gb2YodGhpcy5mb3JtQWN0aW9ucy5zYXZlRmFpbHVyZSh7IGVycm9ycyB9KSkpXHJcbiAgICAgICAgKVxyXG4gICAgICApXHJcbiAgICApXHJcbiAgKTtcclxuXHJcbiAgZGVsZXRlJCA9IGNyZWF0ZUVmZmVjdCgoKSA9PlxyXG4gICAgdGhpcy5hY3Rpb25zJC5waXBlKFxyXG4gICAgICBvZlR5cGUodGhpcy5mb3JtQWN0aW9ucy5kZWxldGUpLFxyXG4gICAgICBleGhhdXN0TWFwKGFjdGlvbiA9PlxyXG4gICAgICAgIHRoaXMuc2VydmljZS5kZWxldGVSZXNvdXJjZShhY3Rpb24uaWQpLnBpcGUoXHJcbiAgICAgICAgICBtYXAoKCkgPT4gdGhpcy5mb3JtQWN0aW9ucy5kZWxldGVTdWNjZXNzKHsgaWQ6IGFjdGlvbi5pZCB9KSksXHJcbiAgICAgICAgICBjYXRjaEVycm9yKChlcnJvcnM6IEUpID0+IG9mKHRoaXMuZm9ybUFjdGlvbnMuZGVsZXRlRmFpbHVyZSh7IGVycm9ycyB9KSkpXHJcbiAgICAgICAgKVxyXG4gICAgICApXHJcbiAgICApXHJcbiAgKTtcclxuXHJcbiAgZGVsZXRlU3VjY2VzcyQgPSBjcmVhdGVFZmZlY3QoKCkgPT5cclxuICAgIHRoaXMuYWN0aW9ucyQucGlwZShcclxuICAgICAgb2ZUeXBlKHRoaXMuZm9ybUFjdGlvbnMuZGVsZXRlU3VjY2VzcyksXHJcbiAgICAgIHRhcCgoeyBpZCB9KSA9PiB7XHJcbiAgICAgICAgdGhpcy5ub3RpZmljYXRpb25TZXJ2aWNlLm9uRGVsZXRlKGlkKTtcclxuICAgICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbJy4uJ10pO1xyXG4gICAgICB9KVxyXG4gICAgKVxyXG4gICk7XHJcblxyXG4gIGNyZWF0ZVN1Y2Nlc3MkID0gY3JlYXRlRWZmZWN0KCgpID0+XHJcbiAgICB0aGlzLmFjdGlvbnMkLnBpcGUoXHJcbiAgICAgIG9mVHlwZSh0aGlzLmZvcm1BY3Rpb25zLmNyZWF0ZVN1Y2Nlc3MpLFxyXG4gICAgICB0YXAoKCkgPT4ge1xyXG4gICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFsnLi4nXSk7XHJcbiAgICAgIH0pXHJcbiAgICApXHJcbiAgKTtcclxuXHJcbiAgbmF2aWdhdGVUb0NyZWF0ZVJlc291cmNlJCA9IGNyZWF0ZUVmZmVjdCgoKSA9PlxyXG4gICAgdGhpcy5hY3Rpb25zJC5waXBlKFxyXG4gICAgICBvZlR5cGUodGhpcy5mb3JtQWN0aW9ucy5uYXZpZ2F0ZVRvQ3JlYXRlKSxcclxuICAgICAgbWFwKCgpID0+IHRoaXMuZm9ybUFjdGlvbnMucmVzZXQoKSksXHJcbiAgICAgIHRhcCgoKSA9PiB7XHJcbiAgICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoWycuLiddKTtcclxuICAgICAgfSlcclxuICAgIClcclxuICApO1xyXG5cclxuICBjb3B5JCA9IGNyZWF0ZUVmZmVjdChcclxuICAgICgpID0+XHJcbiAgICAgIHRoaXMuYWN0aW9ucyQucGlwZShcclxuICAgICAgICBvZlR5cGUodGhpcy5mb3JtQWN0aW9ucy5jb3B5KSxcclxuICAgICAgICB0YXAoKCkgPT4ge1xyXG4gICAgICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoWycuLiddKTtcclxuICAgICAgICB9KVxyXG4gICAgICApLFxyXG4gICAgeyBkaXNwYXRjaDogZmFsc2UgfVxyXG4gICk7XHJcblxyXG4gIGNvcHlTZWxlY3RlZCQgPSBjcmVhdGVFZmZlY3QoKCkgPT5cclxuICAgIHRoaXMuYWN0aW9ucyQucGlwZShcclxuICAgICAgb2ZUeXBlKHRoaXMuZm9ybUFjdGlvbnMuY29weVNlbGVjdGVkKSxcclxuICAgICAgbWFwKCh7IGlkIH0pID0+IHRoaXMuZm9ybUFjdGlvbnMubG9hZCh7IGlkIH0pKVxyXG4gICAgKVxyXG4gICk7XHJcblxyXG4gIGVycm9yc0hhbmRsZXIkID0gY3JlYXRlRWZmZWN0KFxyXG4gICAgKCkgPT5cclxuICAgICAgdGhpcy5hY3Rpb25zJC5waXBlKFxyXG4gICAgICAgIG9mVHlwZShcclxuICAgICAgICAgIHRoaXMuZm9ybUFjdGlvbnMuc2F2ZUZhaWx1cmUsXHJcbiAgICAgICAgICB0aGlzLmZvcm1BY3Rpb25zLmxvYWRGYWlsdXJlLFxyXG4gICAgICAgICAgdGhpcy5mb3JtQWN0aW9ucy5kZWxldGVGYWlsdXJlLFxyXG4gICAgICAgICAgdGhpcy5mb3JtQWN0aW9ucy5jcmVhdGVGYWlsdXJlXHJcbiAgICAgICAgKSxcclxuICAgICAgICB0YXAoKHsgZXJyb3JzIH0pID0+IHtcclxuICAgICAgICAgIHRoaXMubm90aWZpY2F0aW9uU2VydmljZS5vbkVycm9ycyhlcnJvcnMpO1xyXG4gICAgICAgIH0pXHJcbiAgICAgICksXHJcbiAgICB7IGRpc3BhdGNoOiBmYWxzZSB9XHJcbiAgKTtcclxuXHJcbiAgcHJvdGVjdGVkIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSByZWFkb25seSByb3V0ZXI6IFJvdXRlcixcclxuICAgIHByb3RlY3RlZCByZWFkb25seSBhY3Rpb25zJDogQWN0aW9ucyxcclxuICAgIHByb3RlY3RlZCByZWFkb25seSBzdG9yZTogU3RvcmUsXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IHNlcnZpY2U6IEZvcm1TZXJ2aWNlPFQ+LFxyXG4gICAgcHJpdmF0ZSByZWFkb25seSBmb3JtQWN0aW9uczogRm9ybUFjdGlvbnM8VCwgRT4sXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IG5vdGlmaWNhdGlvblNlcnZpY2U6IEZvcm1Ob3RpZmljYXRpb25TZXJ2aWNlPEU+XHJcbiAgKSB7fVxyXG59XHJcbiJdfQ==
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvc2hhcmVkL3V0aWwtc3RvcmUtZm9ybS9zcmMvbGliL21vZGVscy9mb3JtLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBY3Rpb25DcmVhdG9yLCBNZW1vaXplZFNlbGVjdG9yIH0gZnJvbSAnQG5ncngvc3RvcmUnO1xyXG5pbXBvcnQgeyBUeXBlZEFjdGlvbiB9IGZyb20gJ0BuZ3J4L3N0b3JlL3NyYy9tb2RlbHMnO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IFJlcXVlc3RTdGF0ZSB9IGZyb20gJy4uL2NvbW1vbi9yZXF1ZXN0LXN0YXRlLm1vZGVsJztcclxuaW1wb3J0IHsgQXBpUmVxdWVzdFN0YXRlLCBMb2FkaW5nU3RhdGUgfSBmcm9tICcuLi9jb21tb24vdXRpbHMvYWN0aW9uLWhhbmRsZXJzJztcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgRm9ybVN0YXRlPFQsIEU+IGV4dGVuZHMgQXBpUmVxdWVzdFN0YXRlPEU+LCBMb2FkaW5nU3RhdGUge1xyXG4gIHJlc291cmNlOiBUO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEZvcm1TZWxlY3RvcnM8VCwgRT4ge1xyXG4gIGdldFJlcXVlc3RTdGF0ZTogTWVtb2l6ZWRTZWxlY3RvcjxvYmplY3QsIFJlcXVlc3RTdGF0ZT47XHJcbiAgZ2V0TG9hZGluZ1N0YXRlOiBNZW1vaXplZFNlbGVjdG9yPG9iamVjdCwgUmVxdWVzdFN0YXRlPjtcclxuICBnZXRFcnJvcnM6IE1lbW9pemVkU2VsZWN0b3I8b2JqZWN0LCBFPjtcclxuICBnZXRSZXNvdXJjZTogTWVtb2l6ZWRTZWxlY3RvcjxvYmplY3QsIFQ+O1xyXG4gIGlzUmVhZHk6IE1lbW9pemVkU2VsZWN0b3I8b2JqZWN0LCBib29sZWFuPjtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBGb3JtQWN0aW9uczxULCBFPiB7XHJcbiAgbG9hZDogQWN0aW9uQ3JlYXRvcjxzdHJpbmcsIChwcm9wczogeyBpZDogc3RyaW5nIH0pID0+IHsgaWQ6IHN0cmluZyB9ICYgVHlwZWRBY3Rpb248c3RyaW5nPj47XHJcbiAgbG9hZFN1Y2Nlc3M6IEFjdGlvbkNyZWF0b3I8c3RyaW5nLCAocHJvcHM6IHsgcmVzb3VyY2U6IFQgfSkgPT4geyByZXNvdXJjZTogVCB9ICYgVHlwZWRBY3Rpb248c3RyaW5nPj47XHJcbiAgbG9hZEZhaWx1cmU6IEFjdGlvbkNyZWF0b3I8c3RyaW5nLCAocHJvcHM6IHsgZXJyb3JzOiBFIH0pID0+IHsgZXJyb3JzOiBFIH0gJiBUeXBlZEFjdGlvbjxzdHJpbmc+PjtcclxuXHJcbiAgc2F2ZTogQWN0aW9uQ3JlYXRvcjxzdHJpbmcsIChwcm9wczogeyByZXNvdXJjZTogVCB9KSA9PiB7IHJlc291cmNlOiBUIH0gJiBUeXBlZEFjdGlvbjxzdHJpbmc+PjtcclxuICBzYXZlU3VjY2VzczogQWN0aW9uQ3JlYXRvcjxzdHJpbmcsIChwcm9wczogeyByZXNvdXJjZTogVCB9KSA9PiB7IHJlc291cmNlOiBUIH0gJiBUeXBlZEFjdGlvbjxzdHJpbmc+PjtcclxuICBzYXZlRmFpbHVyZTogQWN0aW9uQ3JlYXRvcjxzdHJpbmcsIChwcm9wczogeyBlcnJvcnM6IEUgfSkgPT4geyBlcnJvcnM6IEUgfSAmIFR5cGVkQWN0aW9uPHN0cmluZz4+O1xyXG5cclxuICBkZWxldGU6IEFjdGlvbkNyZWF0b3I8c3RyaW5nLCAocHJvcHM6IHsgaWQ6IHN0cmluZyB9KSA9PiB7IGlkOiBzdHJpbmcgfSAmIFR5cGVkQWN0aW9uPHN0cmluZz4+O1xyXG4gIGRlbGV0ZVN1Y2Nlc3M6IEFjdGlvbkNyZWF0b3I8c3RyaW5nLCAocHJvcHM6IHsgaWQ6IHN0cmluZyB9KSA9PiB7IGlkOiBzdHJpbmcgfSAmIFR5cGVkQWN0aW9uPHN0cmluZz4+O1xyXG4gIGRlbGV0ZUZhaWx1cmU6IEFjdGlvbkNyZWF0b3I8c3RyaW5nLCAocHJvcHM6IHsgZXJyb3JzOiBFIH0pID0+IHsgZXJyb3JzOiBFIH0gJiBUeXBlZEFjdGlvbjxzdHJpbmc+PjtcclxuXHJcbiAgbmF2aWdhdGVUb0NyZWF0ZTogQWN0aW9uQ3JlYXRvcjxzdHJpbmcsICgpID0+IFR5cGVkQWN0aW9uPHN0cmluZz4+O1xyXG4gIGNyZWF0ZTogQWN0aW9uQ3JlYXRvcjxzdHJpbmcsIChwcm9wczogeyByZXNvdXJjZTogVCB9KSA9PiB7IHJlc291cmNlOiBUIH0gJiBUeXBlZEFjdGlvbjxzdHJpbmc+PjtcclxuICBjcmVhdGVTdWNjZXNzOiBBY3Rpb25DcmVhdG9yPHN0cmluZywgKHByb3BzOiB7IHJlc291cmNlOiBUIH0pID0+IHsgcmVzb3VyY2U6IFQgfSAmIFR5cGVkQWN0aW9uPHN0cmluZz4+O1xyXG4gIGNyZWF0ZUZhaWx1cmU6IEFjdGlvbkNyZWF0b3I8c3RyaW5nLCAocHJvcHM6IHsgZXJyb3JzOiBFIH0pID0+IHsgZXJyb3JzOiBFIH0gJiBUeXBlZEFjdGlvbjxzdHJpbmc+PjtcclxuXHJcbiAgcmVzZXQ6IEFjdGlvbkNyZWF0b3I8c3RyaW5nLCAoKSA9PiBUeXBlZEFjdGlvbjxzdHJpbmc+PjtcclxuXHJcbiAgY29weTogQWN0aW9uQ3JlYXRvcjxzdHJpbmcsICgpID0+IFR5cGVkQWN0aW9uPHN0cmluZz4+O1xyXG4gIGNvcHlTZWxlY3RlZDogQWN0aW9uQ3JlYXRvcjxzdHJpbmcsIChwcm9wczogeyBpZDogc3RyaW5nIH0pID0+
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvc2hhcmVkL3V0aWwtc3RvcmUtZm9ybS9zcmMvbGliL21vZGVscy9mb3JtLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBY3Rpb25DcmVhdG9yLCBNZW1vaXplZFNlbGVjdG9yIH0gZnJvbSAnQG5ncngvc3RvcmUnO1xyXG5pbXBvcnQgeyBUeXBlZEFjdGlvbiB9IGZyb20gJ0BuZ3J4L3N0b3JlL3NyYy9tb2RlbHMnO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IFJlcXVlc3RTdGF0ZSB9IGZyb20gJy4uL2NvbW1vbi9yZXF1ZXN0LXN0YXRlLm1vZGVsJztcclxuaW1wb3J0IHsgQXBpUmVxdWVzdFN0YXRlLCBMb2FkaW5nU3RhdGUgfSBmcm9tICcuLi9jb21tb24vdXRpbHMvYWN0aW9uLWhhbmRsZXJzJztcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgRm9ybVN0YXRlPFQsIEU+IGV4dGVuZHMgQXBpUmVxdWVzdFN0YXRlPEU+LCBMb2FkaW5nU3RhdGUge1xyXG4gIHJlc291cmNlOiBUO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEZvcm1TZWxlY3RvcnM8VCwgRT4ge1xyXG4gIGdldFJlcXVlc3RTdGF0ZTogTWVtb2l6ZWRTZWxlY3RvcjxvYmplY3QsIFJlcXVlc3RTdGF0ZT47XHJcbiAgZ2V0TG9hZGluZ1N0YXRlOiBNZW1vaXplZFNlbGVjdG9yPG9iamVjdCwgUmVxdWVzdFN0YXRlPjtcclxuICBnZXRFcnJvcnM6IE1lbW9pemVkU2VsZWN0b3I8b2JqZWN0LCBFPjtcclxuICBnZXRSZXNvdXJjZTogTWVtb2l6ZWRTZWxlY3RvcjxvYmplY3QsIFQ+O1xyXG4gIGlzUmVhZHk6IE1lbW9pemVkU2VsZWN0b3I8b2JqZWN0LCBib29sZWFuPjtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBGb3JtQWN0aW9uczxULCBFPiB7XHJcbiAgbG9hZDogQWN0aW9uQ3JlYXRvcjxzdHJpbmcsIChwcm9wczogeyBpZDogc3RyaW5nIH0pID0+IHsgaWQ6IHN0cmluZyB9ICYgVHlwZWRBY3Rpb248c3RyaW5nPj47XHJcbiAgbG9hZFN1Y2Nlc3M6IEFjdGlvbkNyZWF0b3I8c3RyaW5nLCAocHJvcHM6IHsgcmVzb3VyY2U6IFQgfSkgPT4geyByZXNvdXJjZTogVCB9ICYgVHlwZWRBY3Rpb248c3RyaW5nPj47XHJcbiAgbG9hZEZhaWx1cmU6IEFjdGlvbkNyZWF0b3I8c3RyaW5nLCAocHJvcHM6IHsgZXJyb3JzOiBFIH0pID0+IHsgZXJyb3JzOiBFIH0gJiBUeXBlZEFjdGlvbjxzdHJpbmc+PjtcclxuXHJcbiAgc2F2ZTogQWN0aW9uQ3JlYXRvcjxzdHJpbmcsIChwcm9wczogeyByZXNvdXJjZTogVCB9KSA9PiB7IHJlc291cmNlOiBUIH0gJiBUeXBlZEFjdGlvbjxzdHJpbmc+PjtcclxuICBzYXZlU3VjY2VzczogQWN0aW9uQ3JlYXRvcjxzdHJpbmcsIChwcm9wczogeyByZXNvdXJjZTogVCB9KSA9PiB7IHJlc291cmNlOiBUIH0gJiBUeXBlZEFjdGlvbjxzdHJpbmc+PjtcclxuICBzYXZlRmFpbHVyZTogQWN0aW9uQ3JlYXRvcjxzdHJpbmcsIChwcm9wczogeyBlcnJvcnM6IEUgfSkgPT4geyBlcnJvcnM6IEUgfSAmIFR5cGVkQWN0aW9uPHN0cmluZz4+O1xyXG5cclxuICBkZWxldGU6IEFjdGlvbkNyZWF0b3I8c3RyaW5nLCAocHJvcHM6IHsgaWQ6IHN0cmluZyB9KSA9PiB7IGlkOiBzdHJpbmcgfSAmIFR5cGVkQWN0aW9uPHN0cmluZz4+O1xyXG4gIGRlbGV0ZVN1Y2Nlc3M6IEFjdGlvbkNyZWF0b3I8c3RyaW5nLCAocHJvcHM6IHsgaWQ6IHN0cmluZyB9KSA9PiB7IGlkOiBzdHJpbmcgfSAmIFR5cGVkQWN0aW9uPHN0cmluZz4+O1xyXG4gIGRlbGV0ZUZhaWx1cmU6IEFjdGlvbkNyZWF0b3I8c3RyaW5nLCAocHJvcHM6IHsgZXJyb3JzOiBFIH0pID0+IHsgZXJyb3JzOiBFIH0gJiBUeXBlZEFjdGlvbjxzdHJpbmc+PjtcclxuXHJcbiAgbmF2aWdhdGVUb0NyZWF0ZTogQWN0aW9uQ3JlYXRvcjxzdHJpbmcsICgpID0+IFR5cGVkQWN0aW9uPHN0cmluZz4+O1xyXG4gIGNyZWF0ZTogQWN0aW9uQ3JlYXRvcjxzdHJpbmcsIChwcm9wczogeyByZXNvdXJjZTogVCB9KSA9PiB7IHJlc291cmNlOiBUIH0gJiBUeXBlZEFjdGlvbjxzdHJpbmc+PjtcclxuICBjcmVhdGVTdWNjZXNzOiBBY3Rpb25DcmVhdG9yPHN0cmluZywgKHByb3BzOiB7IHJlc291cmNlOiBUIH0pID0+IHsgcmVzb3VyY2U6IFQgfSAmIFR5cGVkQWN0aW9uPHN0cmluZz4+O1xyXG4gIGNyZWF0ZUZhaWx1cmU6IEFjdGlvbkNyZWF0b3I8c3RyaW5nLCAocHJvcHM6IHsgZXJyb3JzOiBFIH0pID0+IHsgZXJyb3JzOiBFIH0gJiBUeXBlZEFjdGlvbjxzdHJpbmc+PjtcclxuXHJcbiAgcmVzZXQ6IEFjdGlvbkNyZWF0b3I8c3RyaW5nLCAoKSA9PiBUeXBlZEFjdGlvbjxzdHJpbmc+PjtcclxuXHJcbiAgY29weTogQWN0aW9uQ3JlYXRvcjxzdHJpbmcsICgpID0+IFR5cGVkQWN0aW9uPHN0cmluZz4+O1xyXG4gIGNvcHlTZWxlY3RlZDogQWN0aW9uQ3JlYXRvcjxzdHJpbmcsIChwcm9wczogeyBpZDogc3RyaW5nIH0pID0+IHsgaWQ6IHN0cmluZyB9ICYgVHlwZWRBY3Rpb248c3RyaW5nPj47XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgRm9ybU5vdGlmaWNhdGlvblNlcnZpY2U8RT4ge1xyXG4gIG9uRXJyb3JzOiAoZXJyb3JzOiBFKSA9PiB2b2lkO1xyXG4gIG9uRGVsZXRlOiAoaWQ6IHN0cmluZykgPT4gdm9pZDtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBGb3JtU2VydmljZTxUPiB7XHJcbiAgbG9hZFJlc291cmNlKGlkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPFQ+O1xyXG5cclxuICBzYXZlUmVzb3VyY2U/KHJlc291cmNlOiBUKTogT2JzZXJ2YWJsZTxUPjtcclxuXHJcbiAgZGVsZXRlUmVzb3VyY2U/KGlkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPFQ+O1xyXG5cclxuICBjcmVhdGVSZXNvdXJjZT8ocmVzb3VyY2U6IFQpOiBPYnNlcnZhYmxlPFQ+O1xyXG59XHJcbiJdfQ==
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ngdux-form.mjs","sources":["../../../../../libs/shared/util-store-form/src/lib/+state/abstract-form-effects.ts","../../../../../libs/shared/util-store-form/src/lib/+state/form-actions.ts","../../../../../libs/shared/util-store-form/src/lib/common/request-state.model.ts","../../../../../libs/shared/util-store-form/src/lib/common/utils/action-handlers.ts","../../../../../libs/shared/util-store-form/src/lib/+state/form-reducer.ts","../../../../../libs/shared/util-store-form/src/lib/+state/form-selectors.ts","../../../../../libs/shared/util-store-form/src/lib/+state/form-state.ts","../../../../../libs/shared/util-store-form/src/ngdux-form.ts"],"sourcesContent":["import { Router } from '@angular/router';\r\nimport { Actions, createEffect, ofType } from '@ngrx/effects';\r\nimport { Store } from '@ngrx/store';\r\nimport { of } from 'rxjs';\r\nimport { catchError, exhaustMap, map, switchMap, tap } from 'rxjs/operators';\r\nimport { FormActions, NgduxFormNotificationService, NgduxFormService } from '../models/form.model';\r\n\r\nexport abstract class AbstractFormEffects<T, E> {\r\n load$ = createEffect(() =>\r\n this.actions$.pipe(\r\n ofType(this.formActions.load),\r\n switchMap(({ id }) =>\r\n this.service.loadResource(id).pipe(\r\n map(resource => this.formActions.loadSuccess({ resource })),\r\n catchError((errors: E) => of(this.formActions.loadFailure({ errors })))\r\n )\r\n )\r\n )\r\n );\r\n\r\n create$ = createEffect(() =>\r\n this.actions$.pipe(\r\n ofType(this.formActions.create),\r\n switchMap(action =>\r\n this.service.createResource(action.resource).pipe(\r\n map(resource => this.formActions.createSuccess({ resource })),\r\n catchError((errors: E) => of(this.formActions.createFailure({ errors })))\r\n )\r\n )\r\n )\r\n );\r\n\r\n update$ = createEffect(() =>\r\n this.actions$.pipe(\r\n ofType(this.formActions.save),\r\n switchMap(({ resource }) =>\r\n this.service.saveResource(resource).pipe(\r\n map(response => this.formActions.saveSuccess({ resource: response })),\r\n catchError((errors: E) => of(this.formActions.saveFailure({ errors })))\r\n )\r\n )\r\n )\r\n );\r\n\r\n delete$ = createEffect(() =>\r\n this.actions$.pipe(\r\n ofType(this.formActions.delete),\r\n exhaustMap(action =>\r\n this.service.deleteResource(action.id).pipe(\r\n map(() => this.formActions.deleteSuccess({ id: action.id })),\r\n catchError((errors: E) => of(this.formActions.deleteFailure({ errors })))\r\n )\r\n )\r\n )\r\n );\r\n\r\n deleteSuccess$ = createEffect(() =>\r\n this.actions$.pipe(\r\n ofType(this.formActions.deleteSuccess),\r\n tap(({ id }) => {\r\n this.notificationService.onDelete(id);\r\n this.router.navigate(['..']);\r\n })\r\n )\r\n );\r\n\r\n createSuccess$ = createEffect(() =>\r\n this.actions$.pipe(\r\n ofType(this.formActions.createSuccess),\r\n tap(() => {\r\n this.router.navigate(['..']);\r\n })\r\n )\r\n );\r\n\r\n navigateToCreateResource$ = createEffect(() =>\r\n this.actions$.pipe(\r\n ofType(this.formActions.navigateToCreate),\r\n map(() => this.formActions.reset()),\r\n tap(() => {\r\n this.router.navigate(['..']);\r\n })\r\n )\r\n );\r\n\r\n copy$ = createEffect(\r\n () =>\r\n this.actions$.pipe(\r\n ofType(this.formActions.copy),\r\n tap(() => {\r\n this.router.navigate(['..']);\r\n })\r\n ),\r\n { dispatch: false }\r\n );\r\n\r\n copySelected$ = createEffect(() =>\r\n this.actions$.pipe(\r\n ofType(this.formActions.copySelected),\r\n map(({ id }) => this.formActions.load({ id }))\r\n )\r\n );\r\n\r\n errorsHandler$ = createEffect(\r\n () =>\r\n this.actions$.pipe(\r\n ofType(\r\n this.formActions.saveFailure,\r\n this.formActions.loadFailure,\r\n this.formActions.deleteFailure,\r\n this.formActions.createFailure\r\n ),\r\n tap(({ errors }) => {\r\n this.notificationService.onErrors(errors);\r\n })\r\n ),\r\n { dispatch: false }\r\n );\r\n\r\n protected constructor(\r\n private readonly router: Router,\r\n protected readonly actions$: Actions,\r\n protected readonly store: Store,\r\n private readonly service: NgduxFormService<T>,\r\n private readonly formActions: FormActions<T, E>,\r\n private readonly notificationService: NgduxFormNotificationService<E>\r\n ) {}\r\n}\r\n","import { createAction, props } from '@ngrx/store';\r\nimport { FormActions } from '../models/form.model';\r\n\r\nexport function createFormActions<T, E>(featureName: string): FormActions<T, E> {\r\n const load = createAction(`[${featureName} API] Load ${featureName}`, props<{ id: string }>());\r\n const loadSuccess = createAction(`[${featureName} API] Load ${featureName} Success`, props<{ resource: T }>());\r\n const loadFailure = createAction(`[${featureName} API] Load ${featureName} Failure`, props<{ errors: E }>());\r\n\r\n const save = createAction(`[${featureName} API] Save ${featureName}`, props<{ resource: T }>());\r\n const saveSuccess = createAction(`[${featureName} API] Save ${featureName} Success`, props<{ resource: T }>());\r\n const saveFailure = createAction(`[${featureName} API] Save ${featureName} Failure`, props<{ errors: E }>());\r\n\r\n const deleteAction = createAction(`[${featureName} API] Delete ${featureName}`, props<{ id: string }>());\r\n const deleteSuccess = createAction(`[${featureName} API] Delete ${featureName} Success`, props<{ id: string }>());\r\n const deleteFailure = createAction(`[${featureName} API] Delete ${featureName} Failure`, props<{ errors: E }>());\r\n\r\n const navigateToCreate = createAction(`[${featureName} Page] Navigate to Create ${featureName}`);\r\n const create = createAction(`[${featureName} API] Create ${featureName}`, props<{ resource: T }>());\r\n const createSuccess = createAction(`[${featureName} API] Create ${featureName} Success`, props<{ resource: T }>());\r\n const createFailure = createAction(`[${featureName} API] Create ${featureName} Failure`, props<{ errors: E }>());\r\n\r\n const reset = createAction(`[${featureName} API] Reset ${featureName}`);\r\n\r\n const copy = createAction(`[${featureName} Page] Copy ${featureName}`);\r\n const copySelected = createAction(`[${featureName} Page] Copy Selected ${featureName}`, props<{ id: string }>());\r\n\r\n return {\r\n load,\r\n loadSuccess,\r\n loadFailure,\r\n save,\r\n saveSuccess,\r\n saveFailure,\r\n delete: deleteAction,\r\n deleteSuccess,\r\n deleteFailure,\r\n navigateToCreate,\r\n create,\r\n createSuccess,\r\n createFailure,\r\n reset,\r\n copy,\r\n copySelected\r\n };\r\n}\r\n","// TODO: move to a common lib\r\nexport enum RequestState {\r\n IDLE = 'IDLE',\r\n IN_PROGRESS = 'IN_PROGRESS',\r\n FAILURE = 'FAILURE',\r\n SUCCESS = 'SUCCESS'\r\n}\r\n","import { ActionCreator, createAction, on, ReducerTypes } from '@ngrx/store';\r\nimport { RequestState } from '../request-state.model';\r\n\r\nexport interface ApiRequestState<E> {\r\n requestState: RequestState;\r\n errors: E;\r\n}\r\n\r\nexport interface LoadingState {\r\n loadingState: RequestState;\r\n}\r\n\r\nexport function createRequestStateActionHandlers<T extends ApiRequestState<E>, E>(\r\n loadAction: ActionCreator,\r\n saveAction: ActionCreator,\r\n saveSuccessAction: ActionCreator,\r\n saveFailureAction: ActionCreator<string, (props: { errors: E }) => { errors: E }>\r\n): ReducerTypes<T, ActionCreator[]>[] {\r\n if (!loadAction) {\r\n loadAction = createAction('DummyRequestStateLoadAction');\r\n }\r\n\r\n return [\r\n on(loadAction, state => ({ ...state, requestState: RequestState.IDLE })),\r\n on(saveAction, state => ({\r\n ...state,\r\n requestState: RequestState.IN_PROGRESS,\r\n errors: undefined\r\n })),\r\n on(saveSuccessAction, state => ({ ...state, requestState: RequestState.SUCCESS })),\r\n on(saveFailureAction, (state, { errors }) => ({\r\n ...state,\r\n requestState: RequestState.FAILURE,\r\n errors\r\n }))\r\n ];\r\n}\r\n\r\nexport function createLoadingStateActionHandlers<T extends LoadingState>(\r\n loadAction: ActionCreator,\r\n loadSuccessAction: ActionCreator,\r\n loadFailureAction: ActionCreator\r\n): ReducerTypes<T, ActionCreator[]>[] {\r\n return [\r\n on(loadAction, state => ({ ...state, loadingState: RequestState.IN_PROGRESS })),\r\n on(loadSuccessAction, state => ({ ...state, loadingState: RequestState.SUCCESS })),\r\n on(loadFailureAction, state => ({ ...state, loadingState: RequestState.FAILURE }))\r\n ];\r\n}\r\n","import { ActionCreator, ActionReducer, createReducer, Creator, on, ReducerTypes } from '@ngrx/store';\r\nimport { RequestState } from '../common/request-state.model';\r\nimport { createLoadingStateActionHandlers, createRequestStateActionHandlers } from '../common/utils/action-handlers';\r\nimport { FormActions, FormState } from '../models/form.model';\r\n\r\nexport function createFormReducer<T, E>(\r\n actions: FormActions<T, E>,\r\n actionHandlers?: ReducerTypes<FormState<T, E>, ActionCreator[]>[],\r\n initialFormState?: object\r\n): ActionReducer<FormState<T, E>> {\r\n const initialState: FormState<T, E> = { ...createInitialFormState<T, E>(), ...initialFormState };\r\n return createReducer<FormState<T, E>>(\r\n initialState,\r\n ...createFormActionHandlers<T, E>(initialState, actions),\r\n ...(actionHandlers || [])\r\n );\r\n}\r\n\r\nfunction createInitialFormState<T, E>(): FormState<T, E> {\r\n return {\r\n resource: undefined,\r\n loadingState: RequestState.IDLE,\r\n requestState: RequestState.IDLE,\r\n errors: undefined\r\n };\r\n}\r\n\r\nfunction createFormActionHandlers<T, E>(\r\n initialFormState: FormState<T, E>,\r\n actions: FormActions<T, E>\r\n): ReducerTypes<FormState<T, E>, ActionCreator<string, Creator<any[], object>>[]>[] {\r\n return [\r\n on(actions.reset, (): FormState<T, E> => initialFormState),\r\n on(\r\n actions.loadSuccess,\r\n actions.createSuccess,\r\n actions.saveSuccess,\r\n (state: FormState<T, E>, { resource }): FormState<T, E> => ({ ...state, resource })\r\n ),\r\n on(\r\n actions.deleteSuccess,\r\n (state: FormState<T, E>): FormState<T, E> => ({\r\n ...state,\r\n resource: undefined\r\n })\r\n ),\r\n on(\r\n actions.copy,\r\n (state: FormState<T, E>): FormState<T, E> => ({\r\n ...state,\r\n loadingState: RequestState.IDLE,\r\n requestState: RequestState.IDLE\r\n })\r\n ),\r\n ...createRequestStateActionHandlers<FormState<T, E>, E>(\r\n actions.load,\r\n actions.save,\r\n actions.saveSuccess,\r\n actions.saveFailure\r\n ),\r\n ...createRequestStateActionHandlers<FormState<T, E>, E>(\r\n undefined,\r\n actions.create,\r\n actions.createSuccess,\r\n actions.createFailure\r\n ),\r\n ...createRequestStateActionHandlers<FormState<T, E>, E>(\r\n undefined,\r\n actions.delete,\r\n actions.deleteSuccess,\r\n actions.deleteFailure\r\n ),\r\n ...createLoadingStateActionHandlers<FormState<T, E>>(actions.load, actions.loadSuccess, actions.loadFailure)\r\n ];\r\n}\r\n","import { createSelector, DefaultProjectorFn, MemoizedSelector } from '@ngrx/store';\r\nimport { RequestState } from '../common/request-state.model';\r\nimport { FormSelectors, FormState } from '../models/form.model';\r\n\r\nexport function createFormSelectors<T, E>(\r\n getFormState: MemoizedSelector<object, FormState<T, E>, DefaultProjectorFn<FormState<T, E>>>\r\n): FormSelectors<T, E> {\r\n const getRequestState = createSelector(getFormState, state => state.requestState);\r\n const getLoadingState = createSelector(getFormState, state => state.loadingState);\r\n const getErrors = createSelector(getFormState, state => state.errors);\r\n const getResource = createSelector(getFormState, state => state.resource);\r\n\r\n const isReady = createSelector(\r\n getResource,\r\n getLoadingState,\r\n (resource, loadingState) => !!resource && loadingState === RequestState.SUCCESS\r\n );\r\n\r\n return {\r\n getRequestState,\r\n getLoadingState,\r\n getErrors,\r\n getResource,\r\n isReady\r\n };\r\n}\r\n","import { Action, createFeatureSelector } from '@ngrx/store';\r\nimport { FormState } from '../models/form.model';\r\nimport { createFormActions } from './form-actions';\r\nimport { createFormReducer } from './form-reducer';\r\nimport { createFormSelectors } from './form-selectors';\r\n\r\nexport function createFormState<T, E>(featureName: string) {\r\n const actions = createFormActions<T, E>(featureName);\r\n const reducer = createFormReducer(actions);\r\n const getState = createFeatureSelector<FormState<T, E>>(featureName);\r\n const selectors = createFormSelectors(getState);\r\n\r\n return {\r\n actions,\r\n reducer: (state: FormState<T, E>, action: Action): FormState<T, E> => reducer(state, action),\r\n selectors\r\n };\r\n}\r\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/shared/util-store-form/src/lib/+state/abstract-form-effects.ts","../../../../../libs/shared/util-store-form/src/lib/+state/form-actions.ts","../../../../../libs/shared/util-store-form/src/lib/common/request-state.model.ts","../../../../../libs/shared/util-store-form/src/lib/common/utils/action-handlers.ts","../../../../../libs/shared/util-store-form/src/lib/+state/form-reducer.ts","../../../../../libs/shared/util-store-form/src/lib/+state/form-selectors.ts","../../../../../libs/shared/util-store-form/src/lib/+state/form-state.ts","../../../../../libs/shared/util-store-form/src/ngdux-form.ts"],"sourcesContent":["import { Router } from '@angular/router';\r\nimport { Actions, createEffect, ofType } from '@ngrx/effects';\r\nimport { Store } from '@ngrx/store';\r\nimport { of } from 'rxjs';\r\nimport { catchError, exhaustMap, map, switchMap, tap } from 'rxjs/operators';\r\nimport { FormActions, FormNotificationService, FormService } from '../models/form.model';\r\n\r\nexport abstract class AbstractFormEffects<T, E> {\r\n load$ = createEffect(() =>\r\n this.actions$.pipe(\r\n ofType(this.formActions.load),\r\n switchMap(({ id }) =>\r\n this.service.loadResource(id).pipe(\r\n map(resource => this.formActions.loadSuccess({ resource })),\r\n catchError((errors: E) => of(this.formActions.loadFailure({ errors })))\r\n )\r\n )\r\n )\r\n );\r\n\r\n create$ = createEffect(() =>\r\n this.actions$.pipe(\r\n ofType(this.formActions.create),\r\n switchMap(action =>\r\n this.service.createResource(action.resource).pipe(\r\n map(resource => this.formActions.createSuccess({ resource })),\r\n catchError((errors: E) => of(this.formActions.createFailure({ errors })))\r\n )\r\n )\r\n )\r\n );\r\n\r\n update$ = createEffect(() =>\r\n this.actions$.pipe(\r\n ofType(this.formActions.save),\r\n switchMap(({ resource }) =>\r\n this.service.saveResource(resource).pipe(\r\n map(response => this.formActions.saveSuccess({ resource: response })),\r\n catchError((errors: E) => of(this.formActions.saveFailure({ errors })))\r\n )\r\n )\r\n )\r\n );\r\n\r\n delete$ = createEffect(() =>\r\n this.actions$.pipe(\r\n ofType(this.formActions.delete),\r\n exhaustMap(action =>\r\n this.service.deleteResource(action.id).pipe(\r\n map(() => this.formActions.deleteSuccess({ id: action.id })),\r\n catchError((errors: E) => of(this.formActions.deleteFailure({ errors })))\r\n )\r\n )\r\n )\r\n );\r\n\r\n deleteSuccess$ = createEffect(() =>\r\n this.actions$.pipe(\r\n ofType(this.formActions.deleteSuccess),\r\n tap(({ id }) => {\r\n this.notificationService.onDelete(id);\r\n this.router.navigate(['..']);\r\n })\r\n )\r\n );\r\n\r\n createSuccess$ = createEffect(() =>\r\n this.actions$.pipe(\r\n ofType(this.formActions.createSuccess),\r\n tap(() => {\r\n this.router.navigate(['..']);\r\n })\r\n )\r\n );\r\n\r\n navigateToCreateResource$ = createEffect(() =>\r\n this.actions$.pipe(\r\n ofType(this.formActions.navigateToCreate),\r\n map(() => this.formActions.reset()),\r\n tap(() => {\r\n this.router.navigate(['..']);\r\n })\r\n )\r\n );\r\n\r\n copy$ = createEffect(\r\n () =>\r\n this.actions$.pipe(\r\n ofType(this.formActions.copy),\r\n tap(() => {\r\n this.router.navigate(['..']);\r\n })\r\n ),\r\n { dispatch: false }\r\n );\r\n\r\n copySelected$ = createEffect(() =>\r\n this.actions$.pipe(\r\n ofType(this.formActions.copySelected),\r\n map(({ id }) => this.formActions.load({ id }))\r\n )\r\n );\r\n\r\n errorsHandler$ = createEffect(\r\n () =>\r\n this.actions$.pipe(\r\n ofType(\r\n this.formActions.saveFailure,\r\n this.formActions.loadFailure,\r\n this.formActions.deleteFailure,\r\n this.formActions.createFailure\r\n ),\r\n tap(({ errors }) => {\r\n this.notificationService.onErrors(errors);\r\n })\r\n ),\r\n { dispatch: false }\r\n );\r\n\r\n protected constructor(\r\n private readonly router: Router,\r\n protected readonly actions$: Actions,\r\n protected readonly store: Store,\r\n private readonly service: FormService<T>,\r\n private readonly formActions: FormActions<T, E>,\r\n private readonly notificationService: FormNotificationService<E>\r\n ) {}\r\n}\r\n","import { createAction, props } from '@ngrx/store';\r\nimport { FormActions } from '../models/form.model';\r\n\r\nexport function createFormActions<T, E>(featureName: string): FormActions<T, E> {\r\n const load = createAction(`[${featureName} API] Load ${featureName}`, props<{ id: string }>());\r\n const loadSuccess = createAction(`[${featureName} API] Load ${featureName} Success`, props<{ resource: T }>());\r\n const loadFailure = createAction(`[${featureName} API] Load ${featureName} Failure`, props<{ errors: E }>());\r\n\r\n const save = createAction(`[${featureName} API] Save ${featureName}`, props<{ resource: T }>());\r\n const saveSuccess = createAction(`[${featureName} API] Save ${featureName} Success`, props<{ resource: T }>());\r\n const saveFailure = createAction(`[${featureName} API] Save ${featureName} Failure`, props<{ errors: E }>());\r\n\r\n const deleteAction = createAction(`[${featureName} API] Delete ${featureName}`, props<{ id: string }>());\r\n const deleteSuccess = createAction(`[${featureName} API] Delete ${featureName} Success`, props<{ id: string }>());\r\n const deleteFailure = createAction(`[${featureName} API] Delete ${featureName} Failure`, props<{ errors: E }>());\r\n\r\n const navigateToCreate = createAction(`[${featureName} Page] Navigate to Create ${featureName}`);\r\n const create = createAction(`[${featureName} API] Create ${featureName}`, props<{ resource: T }>());\r\n const createSuccess = createAction(`[${featureName} API] Create ${featureName} Success`, props<{ resource: T }>());\r\n const createFailure = createAction(`[${featureName} API] Create ${featureName} Failure`, props<{ errors: E }>());\r\n\r\n const reset = createAction(`[${featureName} API] Reset ${featureName}`);\r\n\r\n const copy = createAction(`[${featureName} Page] Copy ${featureName}`);\r\n const copySelected = createAction(`[${featureName} Page] Copy Selected ${featureName}`, props<{ id: string }>());\r\n\r\n return {\r\n load,\r\n loadSuccess,\r\n loadFailure,\r\n save,\r\n saveSuccess,\r\n saveFailure,\r\n delete: deleteAction,\r\n deleteSuccess,\r\n deleteFailure,\r\n navigateToCreate,\r\n create,\r\n createSuccess,\r\n createFailure,\r\n reset,\r\n copy,\r\n copySelected\r\n };\r\n}\r\n","// TODO: move to a common lib\r\nexport enum RequestState {\r\n IDLE = 'IDLE',\r\n IN_PROGRESS = 'IN_PROGRESS',\r\n FAILURE = 'FAILURE',\r\n SUCCESS = 'SUCCESS'\r\n}\r\n","import { ActionCreator, createAction, on, ReducerTypes } from '@ngrx/store';\r\nimport { RequestState } from '../request-state.model';\r\n\r\nexport interface ApiRequestState<E> {\r\n requestState: RequestState;\r\n errors: E;\r\n}\r\n\r\nexport interface LoadingState {\r\n loadingState: RequestState;\r\n}\r\n\r\nexport function createRequestStateActionHandlers<T extends ApiRequestState<E>, E>(\r\n loadAction: ActionCreator,\r\n saveAction: ActionCreator,\r\n saveSuccessAction: ActionCreator,\r\n saveFailureAction: ActionCreator<string, (props: { errors: E }) => { errors: E }>\r\n): ReducerTypes<T, ActionCreator[]>[] {\r\n if (!loadAction) {\r\n loadAction = createAction('DummyRequestStateLoadAction');\r\n }\r\n\r\n return [\r\n on(loadAction, state => ({ ...state, requestState: RequestState.IDLE })),\r\n on(saveAction, state => ({\r\n ...state,\r\n requestState: RequestState.IN_PROGRESS,\r\n errors: undefined\r\n })),\r\n on(saveSuccessAction, state => ({ ...state, requestState: RequestState.SUCCESS })),\r\n on(saveFailureAction, (state, { errors }) => ({\r\n ...state,\r\n requestState: RequestState.FAILURE,\r\n errors\r\n }))\r\n ];\r\n}\r\n\r\nexport function createLoadingStateActionHandlers<T extends LoadingState>(\r\n loadAction: ActionCreator,\r\n loadSuccessAction: ActionCreator,\r\n loadFailureAction: ActionCreator\r\n): ReducerTypes<T, ActionCreator[]>[] {\r\n return [\r\n on(loadAction, state => ({ ...state, loadingState: RequestState.IN_PROGRESS })),\r\n on(loadSuccessAction, state => ({ ...state, loadingState: RequestState.SUCCESS })),\r\n on(loadFailureAction, state => ({ ...state, loadingState: RequestState.FAILURE }))\r\n ];\r\n}\r\n","import { ActionCreator, ActionReducer, createReducer, Creator, on, ReducerTypes } from '@ngrx/store';\r\nimport { RequestState } from '../common/request-state.model';\r\nimport { createLoadingStateActionHandlers, createRequestStateActionHandlers } from '../common/utils/action-handlers';\r\nimport { FormActions, FormState } from '../models/form.model';\r\n\r\nexport function createFormReducer<T, E>(\r\n actions: FormActions<T, E>,\r\n actionHandlers?: ReducerTypes<FormState<T, E>, ActionCreator[]>[],\r\n initialFormState?: object\r\n): ActionReducer<FormState<T, E>> {\r\n const initialState: FormState<T, E> = { ...createInitialFormState<T, E>(), ...initialFormState };\r\n return createReducer<FormState<T, E>>(\r\n initialState,\r\n ...createFormActionHandlers<T, E>(initialState, actions),\r\n ...(actionHandlers || [])\r\n );\r\n}\r\n\r\nfunction createInitialFormState<T, E>(): FormState<T, E> {\r\n return {\r\n resource: undefined,\r\n loadingState: RequestState.IDLE,\r\n requestState: RequestState.IDLE,\r\n errors: undefined\r\n };\r\n}\r\n\r\nfunction createFormActionHandlers<T, E>(\r\n initialFormState: FormState<T, E>,\r\n actions: FormActions<T, E>\r\n): ReducerTypes<FormState<T, E>, ActionCreator<string, Creator<any[], object>>[]>[] {\r\n return [\r\n on(actions.reset, (): FormState<T, E> => initialFormState),\r\n on(\r\n actions.loadSuccess,\r\n actions.createSuccess,\r\n actions.saveSuccess,\r\n (state: FormState<T, E>, { resource }): FormState<T, E> => ({ ...state, resource })\r\n ),\r\n on(\r\n actions.deleteSuccess,\r\n (state: FormState<T, E>): FormState<T, E> => ({\r\n ...state,\r\n resource: undefined\r\n })\r\n ),\r\n on(\r\n actions.copy,\r\n (state: FormState<T, E>): FormState<T, E> => ({\r\n ...state,\r\n loadingState: RequestState.IDLE,\r\n requestState: RequestState.IDLE\r\n })\r\n ),\r\n ...createRequestStateActionHandlers<FormState<T, E>, E>(\r\n actions.load,\r\n actions.save,\r\n actions.saveSuccess,\r\n actions.saveFailure\r\n ),\r\n ...createRequestStateActionHandlers<FormState<T, E>, E>(\r\n undefined,\r\n actions.create,\r\n actions.createSuccess,\r\n actions.createFailure\r\n ),\r\n ...createRequestStateActionHandlers<FormState<T, E>, E>(\r\n undefined,\r\n actions.delete,\r\n actions.deleteSuccess,\r\n actions.deleteFailure\r\n ),\r\n ...createLoadingStateActionHandlers<FormState<T, E>>(actions.load, actions.loadSuccess, actions.loadFailure)\r\n ];\r\n}\r\n","import { createSelector, DefaultProjectorFn, MemoizedSelector } from '@ngrx/store';\r\nimport { RequestState } from '../common/request-state.model';\r\nimport { FormSelectors, FormState } from '../models/form.model';\r\n\r\nexport function createFormSelectors<T, E>(\r\n getFormState: MemoizedSelector<object, FormState<T, E>, DefaultProjectorFn<FormState<T, E>>>\r\n): FormSelectors<T, E> {\r\n const getRequestState = createSelector(getFormState, state => state.requestState);\r\n const getLoadingState = createSelector(getFormState, state => state.loadingState);\r\n const getErrors = createSelector(getFormState, state => state.errors);\r\n const getResource = createSelector(getFormState, state => state.resource);\r\n\r\n const isReady = createSelector(\r\n getResource,\r\n getLoadingState,\r\n (resource, loadingState) => !!resource && loadingState === RequestState.SUCCESS\r\n );\r\n\r\n return {\r\n getRequestState,\r\n getLoadingState,\r\n getErrors,\r\n getResource,\r\n isReady\r\n };\r\n}\r\n","import { Action, createFeatureSelector } from '@ngrx/store';\r\nimport { FormState } from '../models/form.model';\r\nimport { createFormActions } from './form-actions';\r\nimport { createFormReducer } from './form-reducer';\r\nimport { createFormSelectors } from './form-selectors';\r\n\r\nexport function createFormState<T, E>(featureName: string) {\r\n const actions = createFormActions<T, E>(featureName);\r\n const reducer = createFormReducer(actions);\r\n const getState = createFeatureSelector<FormState<T, E>>(featureName);\r\n const selectors = createFormSelectors(getState);\r\n\r\n return {\r\n actions,\r\n reducer: (state: FormState<T, E>, action: Action): FormState<T, E> => reducer(state, action),\r\n selectors\r\n };\r\n}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;MAOsB,mBAAmB,CAAA;IAgHvC,WACmB,CAAA,MAAc,EACZ,QAAiB,EACjB,KAAY,EACd,OAAuB,EACvB,WAA8B,EAC9B,mBAA+C,EAAA;AAL/C,QAAA,IAAM,CAAA,MAAA,GAAN,MAAM,CAAQ;AACZ,QAAA,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAS;AACjB,QAAA,IAAK,CAAA,KAAA,GAAL,KAAK,CAAO;AACd,QAAA,IAAO,CAAA,OAAA,GAAP,OAAO,CAAgB;AACvB,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAmB;AAC9B,QAAA,IAAmB,CAAA,mBAAA,GAAnB,mBAAmB,CAA4B;AArHlE,QAAA,IAAA,CAAA,KAAK,GAAG,YAAY,CAAC,MACnB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAChB,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAC7B,SAAS,CAAC,CAAC,EAAE,EAAE,EAAE,KACf,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC,IAAI,CAChC,GAAG,CAAC,QAAQ,IAAI,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,EAC3D,UAAU,CAAC,CAAC,MAAS,KAAK,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,CACxE,CACF,CACF,CACF,CAAC;AAEF,QAAA,IAAA,CAAA,OAAO,GAAG,YAAY,CAAC,MACrB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAChB,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,EAC/B,SAAS,CAAC,MAAM,IACd,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,CAC/C,GAAG,CAAC,QAAQ,IAAI,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,EAC7D,UAAU,CAAC,CAAC,MAAS,KAAK,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,CAC1E,CACF,CACF,CACF,CAAC;AAEF,QAAA,IAAA,CAAA,OAAO,GAAG,YAAY,CAAC,MACrB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAChB,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAC7B,SAAS,CAAC,CAAC,EAAE,QAAQ,EAAE,KACrB,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,IAAI,CACtC,GAAG,CAAC,QAAQ,IAAI,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAC,EACrE,UAAU,CAAC,CAAC,MAAS,KAAK,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,CACxE,CACF,CACF,CACF,CAAC;AAEF,QAAA,IAAA,CAAA,OAAO,GAAG,YAAY,CAAC,MACrB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAChB,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,EAC/B,UAAU,CAAC,MAAM,IACf,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,CACzC,GAAG,CAAC,MAAM,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC,EAC5D,UAAU,CAAC,CAAC,MAAS,KAAK,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,CAC1E,CACF,CACF,CACF,CAAC;AAEF,QAAA,IAAA,CAAA,cAAc,GAAG,YAAY,CAAC,MAC5B,IAAI,CAAC,QAAQ,CAAC,IAAI,CAChB,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,EACtC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,KAAI;AACb,YAAA,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YACtC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;SAC9B,CAAC,CACH,CACF,CAAC;QAEF,IAAc,CAAA,cAAA,GAAG,YAAY,CAAC,MAC5B,IAAI,CAAC,QAAQ,CAAC,IAAI,CAChB,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,EACtC,GAAG,CAAC,MAAK;YACP,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;SAC9B,CAAC,CACH,CACF,CAAC;AAEF,QAAA,IAAA,CAAA,yBAAyB,GAAG,YAAY,CAAC,MACvC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAChB,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC,EACzC,GAAG,CAAC,MAAM,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC,EACnC,GAAG,CAAC,MAAK;YACP,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;SAC9B,CAAC,CACH,CACF,CAAC;QAEF,IAAK,CAAA,KAAA,GAAG,YAAY,CAClB,MACE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAChB,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAC7B,GAAG,CAAC,MAAK;YACP,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;SAC9B,CAAC,CACH,EACH,EAAE,QAAQ,EAAE,KAAK,EAAE,CACpB,CAAC;QAEF,IAAA,CAAA,aAAa,GAAG,YAAY,CAAC,MAC3B,IAAI,CAAC,QAAQ,CAAC,IAAI,CAChB,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,EACrC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAC/C,CACF,CAAC;QAEF,IAAc,CAAA,cAAA,GAAG,YAAY,CAC3B,MACE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAChB,MAAM,CACJ,IAAI,CAAC,WAAW,CAAC,WAAW,EAC5B,IAAI,CAAC,WAAW,CAAC,WAAW,EAC5B,IAAI,CAAC,WAAW,CAAC,aAAa,EAC9B,IAAI,CAAC,WAAW,CAAC,aAAa,CAC/B,EACD,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,KAAI;AACjB,YAAA,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;SAC3C,CAAC,CACH,EACH,EAAE,QAAQ,EAAE,KAAK,EAAE,CACpB,CAAC;KASE;AACL;;AC5HK,SAAU,iBAAiB,CAAO,WAAmB,EAAA;AACzD,IAAA,MAAM,IAAI,GAAG,YAAY,CAAC,CAAI,CAAA,EAAA,WAAW,CAAc,WAAA,EAAA,WAAW,CAAE,CAAA,EAAE,KAAK,EAAkB,CAAC,CAAC;AAC/F,IAAA,MAAM,WAAW,GAAG,YAAY,CAAC,CAAI,CAAA,EAAA,WAAW,CAAc,WAAA,EAAA,WAAW,CAAU,QAAA,CAAA,EAAE,KAAK,EAAmB,CAAC,CAAC;AAC/G,IAAA,MAAM,WAAW,GAAG,YAAY,CAAC,CAAI,CAAA,EAAA,WAAW,CAAc,WAAA,EAAA,WAAW,CAAU,QAAA,CAAA,EAAE,KAAK,EAAiB,CAAC,CAAC;AAE7G,IAAA,MAAM,IAAI,GAAG,YAAY,CAAC,CAAI,CAAA,EAAA,WAAW,CAAc,WAAA,EAAA,WAAW,CAAE,CAAA,EAAE,KAAK,EAAmB,CAAC,CAAC;AAChG,IAAA,MAAM,WAAW,GAAG,YAAY,CAAC,CAAI,CAAA,EAAA,WAAW,CAAc,WAAA,EAAA,WAAW,CAAU,QAAA,CAAA,EAAE,KAAK,EAAmB,CAAC,CAAC;AAC/G,IAAA,MAAM,WAAW,GAAG,YAAY,CAAC,CAAI,CAAA,EAAA,WAAW,CAAc,WAAA,EAAA,WAAW,CAAU,QAAA,CAAA,EAAE,KAAK,EAAiB,CAAC,CAAC;AAE7G,IAAA,MAAM,YAAY,GAAG,YAAY,CAAC,CAAI,CAAA,EAAA,WAAW,CAAgB,aAAA,EAAA,WAAW,CAAE,CAAA,EAAE,KAAK,EAAkB,CAAC,CAAC;AACzG,IAAA,MAAM,aAAa,GAAG,YAAY,CAAC,CAAI,CAAA,EAAA,WAAW,CAAgB,aAAA,EAAA,WAAW,CAAU,QAAA,CAAA,EAAE,KAAK,EAAkB,CAAC,CAAC;AAClH,IAAA,MAAM,aAAa,GAAG,YAAY,CAAC,CAAI,CAAA,EAAA,WAAW,CAAgB,aAAA,EAAA,WAAW,CAAU,QAAA,CAAA,EAAE,KAAK,EAAiB,CAAC,CAAC;IAEjH,MAAM,gBAAgB,GAAG,YAAY,CAAC,CAAA,CAAA,EAAI,WAAW,CAA6B,0BAAA,EAAA,WAAW,CAAE,CAAA,CAAC,CAAC;AACjG,IAAA,MAAM,MAAM,GAAG,YAAY,CAAC,CAAI,CAAA,EAAA,WAAW,CAAgB,aAAA,EAAA,WAAW,CAAE,CAAA,EAAE,KAAK,EAAmB,CAAC,CAAC;AACpG,IAAA,MAAM,aAAa,GAAG,YAAY,CAAC,CAAI,CAAA,EAAA,WAAW,CAAgB,aAAA,EAAA,WAAW,CAAU,QAAA,CAAA,EAAE,KAAK,EAAmB,CAAC,CAAC;AACnH,IAAA,MAAM,aAAa,GAAG,YAAY,CAAC,CAAI,CAAA,EAAA,WAAW,CAAgB,aAAA,EAAA,WAAW,CAAU,QAAA,CAAA,EAAE,KAAK,EAAiB,CAAC,CAAC;IAEjH,MAAM,KAAK,GAAG,YAAY,CAAC,CAAA,CAAA,EAAI,WAAW,CAAe,YAAA,EAAA,WAAW,CAAE,CAAA,CAAC,CAAC;IAExE,MAAM,IAAI,GAAG,YAAY,CAAC,CAAA,CAAA,EAAI,WAAW,CAAe,YAAA,EAAA,WAAW,CAAE,CAAA,CAAC,CAAC;AACvE,IAAA,MAAM,YAAY,GAAG,YAAY,CAAC,CAAI,CAAA,EAAA,WAAW,CAAwB,qBAAA,EAAA,WAAW,CAAE,CAAA,EAAE,KAAK,EAAkB,CAAC,CAAC;IAEjH,OAAO;QACL,IAAI;QACJ,WAAW;QACX,WAAW;QACX,IAAI;QACJ,WAAW;QACX,WAAW;AACX,QAAA,MAAM,EAAE,YAAY;QACpB,aAAa;QACb,aAAa;QACb,gBAAgB;QAChB,MAAM;QACN,aAAa;QACb,aAAa;QACb,KAAK;QACL,IAAI;QACJ,YAAY;KACb,CAAC;AACJ;;AC5CA;AACY,IAAA,aAKX;AALD,CAAA,UAAY,YAAY,EAAA;AACtB,IAAA,YAAA,CAAA,MAAA,CAAA,GAAA,MAAa,CAAA;AACb,IAAA,YAAA,CAAA,aAAA,CAAA,GAAA,aAA2B,CAAA;AAC3B,IAAA,YAAA,CAAA,SAAA,CAAA,GAAA,SAAmB,CAAA;AACnB,IAAA,YAAA,CAAA,SAAA,CAAA,GAAA,SAAmB,CAAA;AACrB,CAAC,EALW,YAAY,KAAZ,YAAY,GAKvB,EAAA,CAAA,CAAA;;ACMK,SAAU,gCAAgC,CAC9C,UAAyB,EACzB,UAAyB,EACzB,iBAAgC,EAChC,iBAAiF,EAAA;IAEjF,IAAI,CAAC,UAAU,EAAE;AACf,QAAA,UAAU,GAAG,YAAY,CAAC,6BAA6B,CAAC,CAAC;AAC1D,KAAA;IAED,OAAO;AACL,QAAA,EAAE,CAAC,UAAU,EAAE,KAAK,KAAI,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAM,KAAK,CAAA,EAAA,EAAE,YAAY,EAAE,YAAY,CAAC,IAAI,IAAG,CAAC;QACxE,EAAE,CAAC,UAAU,EAAE,KAAK,qCACf,KAAK,CAAA,EAAA,EACR,YAAY,EAAE,YAAY,CAAC,WAAW,EACtC,MAAM,EAAE,SAAS,IACjB,CAAC;AACH,QAAA,EAAE,CAAC,iBAAiB,EAAE,KAAK,KAAI,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAM,KAAK,CAAA,EAAA,EAAE,YAAY,EAAE,YAAY,CAAC,OAAO,IAAG,CAAC;QAClF,EAAE,CAAC,iBAAiB,EAAE,CAAC,KAAK,EAAE,EAAE,MAAM,EAAE,MACnC,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,KAAK,CACR,EAAA,EAAA,YAAY,EAAE,YAAY,CAAC,OAAO,EAClC,MAAM,EAAA,CAAA,CACN,CAAC;KACJ,CAAC;AACJ,CAAC;SAEe,gCAAgC,CAC9C,UAAyB,EACzB,iBAAgC,EAChC,iBAAgC,EAAA;IAEhC,OAAO;AACL,QAAA,EAAE,CAAC,UAAU,EAAE,KAAK,KAAI,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAM,KAAK,CAAA,EAAA,EAAE,YAAY,EAAE,YAAY,CAAC,WAAW,IAAG,CAAC;AAC/E,QAAA,EAAE,CAAC,iBAAiB,EAAE,KAAK,KAAI,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAM,KAAK,CAAA,EAAA,EAAE,YAAY,EAAE,YAAY,CAAC,OAAO,IAAG,CAAC;AAClF,QAAA,EAAE,CAAC,iBAAiB,EAAE,KAAK,KAAI,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAM,KAAK,CAAA,EAAA,EAAE,YAAY,EAAE,YAAY,CAAC,OAAO,IAAG,CAAC;KACnF,CAAC;AACJ;;SC3CgB,iBAAiB,CAC/B,OAA0B,EAC1B,cAAiE,EACjE,gBAAyB,EAAA;AAEzB,IAAA,MAAM,YAAY,GAAyB,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,sBAAsB,EAAQ,CAAK,EAAA,gBAAgB,CAAE,CAAC;AACjG,IAAA,OAAO,aAAa,CAClB,YAAY,EACZ,GAAG,wBAAwB,CAAO,YAAY,EAAE,OAAO,CAAC,EACxD,IAAI,cAAc,IAAI,EAAE,CAAC,CAC1B,CAAC;AACJ,CAAC;AAED,SAAS,sBAAsB,GAAA;IAC7B,OAAO;AACL,QAAA,QAAQ,EAAE,SAAS;QACnB,YAAY,EAAE,YAAY,CAAC,IAAI;QAC/B,YAAY,EAAE,YAAY,CAAC,IAAI;AAC/B,QAAA,MAAM,EAAE,SAAS;KAClB,CAAC;AACJ,CAAC;AAED,SAAS,wBAAwB,CAC/B,gBAAiC,EACjC,OAA0B,EAAA;IAE1B,OAAO;QACL,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,MAAuB,gBAAgB,CAAC;QAC1D,EAAE,CACA,OAAO,CAAC,WAAW,EACnB,OAAO,CAAC,aAAa,EACrB,OAAO,CAAC,WAAW,EACnB,CAAC,KAAsB,EAAE,EAAE,QAAQ,EAAE,MAAsB,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAM,KAAK,CAAA,EAAA,EAAE,QAAQ,EAAA,CAAA,CAAG,CACpF;AACD,QAAA,EAAE,CACA,OAAO,CAAC,aAAa,EACrB,CAAC,KAAsB,sCAClB,KAAK,CAAA,EAAA,EACR,QAAQ,EAAE,SAAS,IACnB,CACH;QACD,EAAE,CACA,OAAO,CAAC,IAAI,EACZ,CAAC,KAAsB,MAClB,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,KAAK,KACR,YAAY,EAAE,YAAY,CAAC,IAAI,EAC/B,YAAY,EAAE,YAAY,CAAC,IAAI,EAAA,CAAA,CAC/B,CACH;AACD,QAAA,GAAG,gCAAgC,CACjC,OAAO,CAAC,IAAI,EACZ,OAAO,CAAC,IAAI,EACZ,OAAO,CAAC,WAAW,EACnB,OAAO,CAAC,WAAW,CACpB;AACD,QAAA,GAAG,gCAAgC,CACjC,SAAS,EACT,OAAO,CAAC,MAAM,EACd,OAAO,CAAC,aAAa,EACrB,OAAO,CAAC,aAAa,CACtB;AACD,QAAA,GAAG,gCAAgC,CACjC,SAAS,EACT,OAAO,CAAC,MAAM,EACd,OAAO,CAAC,aAAa,EACrB,OAAO,CAAC,aAAa,CACtB;AACD,QAAA,GAAG,gCAAgC,CAAkB,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,WAAW,EAAE,OAAO,CAAC,WAAW,CAAC;KAC7G,CAAC;AACJ;;ACtEM,SAAU,mBAAmB,CACjC,YAA4F,EAAA;AAE5F,IAAA,MAAM,eAAe,GAAG,cAAc,CAAC,YAAY,EAAE,KAAK,IAAI,KAAK,CAAC,YAAY,CAAC,CAAC;AAClF,IAAA,MAAM,eAAe,GAAG,cAAc,CAAC,YAAY,EAAE,KAAK,IAAI,KAAK,CAAC,YAAY,CAAC,CAAC;AAClF,IAAA,MAAM,SAAS,GAAG,cAAc,CAAC,YAAY,EAAE,KAAK,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC;AACtE,IAAA,MAAM,WAAW,GAAG,cAAc,CAAC,YAAY,EAAE,KAAK,IAAI,KAAK,CAAC,QAAQ,CAAC,CAAC;IAE1E,MAAM,OAAO,GAAG,cAAc,CAC5B,WAAW,EACX,eAAe,EACf,CAAC,QAAQ,EAAE,YAAY,KAAK,CAAC,CAAC,QAAQ,IAAI,YAAY,KAAK,YAAY,CAAC,OAAO,CAChF,CAAC;IAEF,OAAO;QACL,eAAe;QACf,eAAe;QACf,SAAS;QACT,WAAW;QACX,OAAO;KACR,CAAC;AACJ;;ACnBM,SAAU,eAAe,CAAO,WAAmB,EAAA;AACvD,IAAA,MAAM,OAAO,GAAG,iBAAiB,CAAO,WAAW,CAAC,CAAC;AACrD,IAAA,MAAM,OAAO,GAAG,iBAAiB,CAAC,OAAO,CAAC,CAAC;AAC3C,IAAA,MAAM,QAAQ,GAAG,qBAAqB,CAAkB,WAAW,CAAC,CAAC;AACrE,IAAA,MAAM,SAAS,GAAG,mBAAmB,CAAC,QAAQ,CAAC,CAAC;IAEhD,OAAO;QACL,OAAO;AACP,QAAA,OAAO,EAAE,CAAC,KAAsB,EAAE,MAAc,KAAsB,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC;QAC5F,SAAS;KACV,CAAC;AACJ;;ACjBA;;AAEG;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ngdux-form.mjs","sources":["../../../../../libs/shared/util-store-form/src/lib/+state/abstract-form-effects.ts","../../../../../libs/shared/util-store-form/src/lib/+state/form-actions.ts","../../../../../libs/shared/util-store-form/src/lib/common/request-state.model.ts","../../../../../libs/shared/util-store-form/src/lib/common/utils/action-handlers.ts","../../../../../libs/shared/util-store-form/src/lib/+state/form-reducer.ts","../../../../../libs/shared/util-store-form/src/lib/+state/form-selectors.ts","../../../../../libs/shared/util-store-form/src/lib/+state/form-state.ts","../../../../../libs/shared/util-store-form/src/ngdux-form.ts"],"sourcesContent":["import { Router } from '@angular/router';\r\nimport { Actions, createEffect, ofType } from '@ngrx/effects';\r\nimport { Store } from '@ngrx/store';\r\nimport { of } from 'rxjs';\r\nimport { catchError, exhaustMap, map, switchMap, tap } from 'rxjs/operators';\r\nimport { FormActions, NgduxFormNotificationService, NgduxFormService } from '../models/form.model';\r\n\r\nexport abstract class AbstractFormEffects<T, E> {\r\n load$ = createEffect(() =>\r\n this.actions$.pipe(\r\n ofType(this.formActions.load),\r\n switchMap(({ id }) =>\r\n this.service.loadResource(id).pipe(\r\n map(resource => this.formActions.loadSuccess({ resource })),\r\n catchError((errors: E) => of(this.formActions.loadFailure({ errors })))\r\n )\r\n )\r\n )\r\n );\r\n\r\n create$ = createEffect(() =>\r\n this.actions$.pipe(\r\n ofType(this.formActions.create),\r\n switchMap(action =>\r\n this.service.createResource(action.resource).pipe(\r\n map(resource => this.formActions.createSuccess({ resource })),\r\n catchError((errors: E) => of(this.formActions.createFailure({ errors })))\r\n )\r\n )\r\n )\r\n );\r\n\r\n update$ = createEffect(() =>\r\n this.actions$.pipe(\r\n ofType(this.formActions.save),\r\n switchMap(({ resource }) =>\r\n this.service.saveResource(resource).pipe(\r\n map(response => this.formActions.saveSuccess({ resource: response })),\r\n catchError((errors: E) => of(this.formActions.saveFailure({ errors })))\r\n )\r\n )\r\n )\r\n );\r\n\r\n delete$ = createEffect(() =>\r\n this.actions$.pipe(\r\n ofType(this.formActions.delete),\r\n exhaustMap(action =>\r\n this.service.deleteResource(action.id).pipe(\r\n map(() => this.formActions.deleteSuccess({ id: action.id })),\r\n catchError((errors: E) => of(this.formActions.deleteFailure({ errors })))\r\n )\r\n )\r\n )\r\n );\r\n\r\n deleteSuccess$ = createEffect(() =>\r\n this.actions$.pipe(\r\n ofType(this.formActions.deleteSuccess),\r\n tap(({ id }) => {\r\n this.notificationService.onDelete(id);\r\n this.router.navigate(['..']);\r\n })\r\n )\r\n );\r\n\r\n createSuccess$ = createEffect(() =>\r\n this.actions$.pipe(\r\n ofType(this.formActions.createSuccess),\r\n tap(() => {\r\n this.router.navigate(['..']);\r\n })\r\n )\r\n );\r\n\r\n navigateToCreateResource$ = createEffect(() =>\r\n this.actions$.pipe(\r\n ofType(this.formActions.navigateToCreate),\r\n map(() => this.formActions.reset()),\r\n tap(() => {\r\n this.router.navigate(['..']);\r\n })\r\n )\r\n );\r\n\r\n copy$ = createEffect(\r\n () =>\r\n this.actions$.pipe(\r\n ofType(this.formActions.copy),\r\n tap(() => {\r\n this.router.navigate(['..']);\r\n })\r\n ),\r\n { dispatch: false }\r\n );\r\n\r\n copySelected$ = createEffect(() =>\r\n this.actions$.pipe(\r\n ofType(this.formActions.copySelected),\r\n map(({ id }) => this.formActions.load({ id }))\r\n )\r\n );\r\n\r\n errorsHandler$ = createEffect(\r\n () =>\r\n this.actions$.pipe(\r\n ofType(\r\n this.formActions.saveFailure,\r\n this.formActions.loadFailure,\r\n this.formActions.deleteFailure,\r\n this.formActions.createFailure\r\n ),\r\n tap(({ errors }) => {\r\n this.notificationService.onErrors(errors);\r\n })\r\n ),\r\n { dispatch: false }\r\n );\r\n\r\n protected constructor(\r\n private readonly router: Router,\r\n protected readonly actions$: Actions,\r\n protected readonly store: Store,\r\n private readonly service: NgduxFormService<T>,\r\n private readonly formActions: FormActions<T, E>,\r\n private readonly notificationService: NgduxFormNotificationService<E>\r\n ) {}\r\n}\r\n","import { createAction, props } from '@ngrx/store';\r\nimport { FormActions } from '../models/form.model';\r\n\r\nexport function createFormActions<T, E>(featureName: string): FormActions<T, E> {\r\n const load = createAction(`[${featureName} API] Load ${featureName}`, props<{ id: string }>());\r\n const loadSuccess = createAction(`[${featureName} API] Load ${featureName} Success`, props<{ resource: T }>());\r\n const loadFailure = createAction(`[${featureName} API] Load ${featureName} Failure`, props<{ errors: E }>());\r\n\r\n const save = createAction(`[${featureName} API] Save ${featureName}`, props<{ resource: T }>());\r\n const saveSuccess = createAction(`[${featureName} API] Save ${featureName} Success`, props<{ resource: T }>());\r\n const saveFailure = createAction(`[${featureName} API] Save ${featureName} Failure`, props<{ errors: E }>());\r\n\r\n const deleteAction = createAction(`[${featureName} API] Delete ${featureName}`, props<{ id: string }>());\r\n const deleteSuccess = createAction(`[${featureName} API] Delete ${featureName} Success`, props<{ id: string }>());\r\n const deleteFailure = createAction(`[${featureName} API] Delete ${featureName} Failure`, props<{ errors: E }>());\r\n\r\n const navigateToCreate = createAction(`[${featureName} Page] Navigate to Create ${featureName}`);\r\n const create = createAction(`[${featureName} API] Create ${featureName}`, props<{ resource: T }>());\r\n const createSuccess = createAction(`[${featureName} API] Create ${featureName} Success`, props<{ resource: T }>());\r\n const createFailure = createAction(`[${featureName} API] Create ${featureName} Failure`, props<{ errors: E }>());\r\n\r\n const reset = createAction(`[${featureName} API] Reset ${featureName}`);\r\n\r\n const copy = createAction(`[${featureName} Page] Copy ${featureName}`);\r\n const copySelected = createAction(`[${featureName} Page] Copy Selected ${featureName}`, props<{ id: string }>());\r\n\r\n return {\r\n load,\r\n loadSuccess,\r\n loadFailure,\r\n save,\r\n saveSuccess,\r\n saveFailure,\r\n delete: deleteAction,\r\n deleteSuccess,\r\n deleteFailure,\r\n navigateToCreate,\r\n create,\r\n createSuccess,\r\n createFailure,\r\n reset,\r\n copy,\r\n copySelected\r\n };\r\n}\r\n","// TODO: move to a common lib\r\nexport enum RequestState {\r\n IDLE = 'IDLE',\r\n IN_PROGRESS = 'IN_PROGRESS',\r\n FAILURE = 'FAILURE',\r\n SUCCESS = 'SUCCESS'\r\n}\r\n","import { ActionCreator, createAction, on, ReducerTypes } from '@ngrx/store';\r\nimport { RequestState } from '../request-state.model';\r\n\r\nexport interface ApiRequestState<E> {\r\n requestState: RequestState;\r\n errors: E;\r\n}\r\n\r\nexport interface LoadingState {\r\n loadingState: RequestState;\r\n}\r\n\r\nexport function createRequestStateActionHandlers<T extends ApiRequestState<E>, E>(\r\n loadAction: ActionCreator,\r\n saveAction: ActionCreator,\r\n saveSuccessAction: ActionCreator,\r\n saveFailureAction: ActionCreator<string, (props: { errors: E }) => { errors: E }>\r\n): ReducerTypes<T, ActionCreator[]>[] {\r\n if (!loadAction) {\r\n loadAction = createAction('DummyRequestStateLoadAction');\r\n }\r\n\r\n return [\r\n on(loadAction, state => ({ ...state, requestState: RequestState.IDLE })),\r\n on(saveAction, state => ({\r\n ...state,\r\n requestState: RequestState.IN_PROGRESS,\r\n errors: undefined\r\n })),\r\n on(saveSuccessAction, state => ({ ...state, requestState: RequestState.SUCCESS })),\r\n on(saveFailureAction, (state, { errors }) => ({\r\n ...state,\r\n requestState: RequestState.FAILURE,\r\n errors\r\n }))\r\n ];\r\n}\r\n\r\nexport function createLoadingStateActionHandlers<T extends LoadingState>(\r\n loadAction: ActionCreator,\r\n loadSuccessAction: ActionCreator,\r\n loadFailureAction: ActionCreator\r\n): ReducerTypes<T, ActionCreator[]>[] {\r\n return [\r\n on(loadAction, state => ({ ...state, loadingState: RequestState.IN_PROGRESS })),\r\n on(loadSuccessAction, state => ({ ...state, loadingState: RequestState.SUCCESS })),\r\n on(loadFailureAction, state => ({ ...state, loadingState: RequestState.FAILURE }))\r\n ];\r\n}\r\n","import { ActionCreator, ActionReducer, createReducer, Creator, on, ReducerTypes } from '@ngrx/store';\r\nimport { RequestState } from '../common/request-state.model';\r\nimport { createLoadingStateActionHandlers, createRequestStateActionHandlers } from '../common/utils/action-handlers';\r\nimport { FormActions, FormState } from '../models/form.model';\r\n\r\nexport function createFormReducer<T, E>(\r\n actions: FormActions<T, E>,\r\n actionHandlers?: ReducerTypes<FormState<T, E>, ActionCreator[]>[],\r\n initialFormState?: object\r\n): ActionReducer<FormState<T, E>> {\r\n const initialState: FormState<T, E> = { ...createInitialFormState<T, E>(), ...initialFormState };\r\n return createReducer<FormState<T, E>>(\r\n initialState,\r\n ...createFormActionHandlers<T, E>(initialState, actions),\r\n ...(actionHandlers || [])\r\n );\r\n}\r\n\r\nfunction createInitialFormState<T, E>(): FormState<T, E> {\r\n return {\r\n resource: undefined,\r\n loadingState: RequestState.IDLE,\r\n requestState: RequestState.IDLE,\r\n errors: undefined\r\n };\r\n}\r\n\r\nfunction createFormActionHandlers<T, E>(\r\n initialFormState: FormState<T, E>,\r\n actions: FormActions<T, E>\r\n): ReducerTypes<FormState<T, E>, ActionCreator<string, Creator<any[], object>>[]>[] {\r\n return [\r\n on(actions.reset, (): FormState<T, E> => initialFormState),\r\n on(\r\n actions.loadSuccess,\r\n actions.createSuccess,\r\n actions.saveSuccess,\r\n (state: FormState<T, E>, { resource }): FormState<T, E> => ({ ...state, resource })\r\n ),\r\n on(\r\n actions.deleteSuccess,\r\n (state: FormState<T, E>): FormState<T, E> => ({\r\n ...state,\r\n resource: undefined\r\n })\r\n ),\r\n on(\r\n actions.copy,\r\n (state: FormState<T, E>): FormState<T, E> => ({\r\n ...state,\r\n loadingState: RequestState.IDLE,\r\n requestState: RequestState.IDLE\r\n })\r\n ),\r\n ...createRequestStateActionHandlers<FormState<T, E>, E>(\r\n actions.load,\r\n actions.save,\r\n actions.saveSuccess,\r\n actions.saveFailure\r\n ),\r\n ...createRequestStateActionHandlers<FormState<T, E>, E>(\r\n undefined,\r\n actions.create,\r\n actions.createSuccess,\r\n actions.createFailure\r\n ),\r\n ...createRequestStateActionHandlers<FormState<T, E>, E>(\r\n undefined,\r\n actions.delete,\r\n actions.deleteSuccess,\r\n actions.deleteFailure\r\n ),\r\n ...createLoadingStateActionHandlers<FormState<T, E>>(actions.load, actions.loadSuccess, actions.loadFailure)\r\n ];\r\n}\r\n","import { createSelector, DefaultProjectorFn, MemoizedSelector } from '@ngrx/store';\r\nimport { RequestState } from '../common/request-state.model';\r\nimport { FormSelectors, FormState } from '../models/form.model';\r\n\r\nexport function createFormSelectors<T, E>(\r\n getFormState: MemoizedSelector<object, FormState<T, E>, DefaultProjectorFn<FormState<T, E>>>\r\n): FormSelectors<T, E> {\r\n const getRequestState = createSelector(getFormState, state => state.requestState);\r\n const getLoadingState = createSelector(getFormState, state => state.loadingState);\r\n const getErrors = createSelector(getFormState, state => state.errors);\r\n const getResource = createSelector(getFormState, state => state.resource);\r\n\r\n const isReady = createSelector(\r\n getResource,\r\n getLoadingState,\r\n (resource, loadingState) => !!resource && loadingState === RequestState.SUCCESS\r\n );\r\n\r\n return {\r\n getRequestState,\r\n getLoadingState,\r\n getErrors,\r\n getResource,\r\n isReady\r\n };\r\n}\r\n","import { Action, createFeatureSelector } from '@ngrx/store';\r\nimport { FormState } from '../models/form.model';\r\nimport { createFormActions } from './form-actions';\r\nimport { createFormReducer } from './form-reducer';\r\nimport { createFormSelectors } from './form-selectors';\r\n\r\nexport function createFormState<T, E>(featureName: string) {\r\n const actions = createFormActions<T, E>(featureName);\r\n const reducer = createFormReducer(actions);\r\n const getState = createFeatureSelector<FormState<T, E>>(featureName);\r\n const selectors = createFormSelectors(getState);\r\n\r\n return {\r\n actions,\r\n reducer: (state: FormState<T, E>, action: Action): FormState<T, E> => reducer(state, action),\r\n selectors\r\n };\r\n}\r\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/shared/util-store-form/src/lib/+state/abstract-form-effects.ts","../../../../../libs/shared/util-store-form/src/lib/+state/form-actions.ts","../../../../../libs/shared/util-store-form/src/lib/common/request-state.model.ts","../../../../../libs/shared/util-store-form/src/lib/common/utils/action-handlers.ts","../../../../../libs/shared/util-store-form/src/lib/+state/form-reducer.ts","../../../../../libs/shared/util-store-form/src/lib/+state/form-selectors.ts","../../../../../libs/shared/util-store-form/src/lib/+state/form-state.ts","../../../../../libs/shared/util-store-form/src/ngdux-form.ts"],"sourcesContent":["import { Router } from '@angular/router';\r\nimport { Actions, createEffect, ofType } from '@ngrx/effects';\r\nimport { Store } from '@ngrx/store';\r\nimport { of } from 'rxjs';\r\nimport { catchError, exhaustMap, map, switchMap, tap } from 'rxjs/operators';\r\nimport { FormActions, FormNotificationService, FormService } from '../models/form.model';\r\n\r\nexport abstract class AbstractFormEffects<T, E> {\r\n load$ = createEffect(() =>\r\n this.actions$.pipe(\r\n ofType(this.formActions.load),\r\n switchMap(({ id }) =>\r\n this.service.loadResource(id).pipe(\r\n map(resource => this.formActions.loadSuccess({ resource })),\r\n catchError((errors: E) => of(this.formActions.loadFailure({ errors })))\r\n )\r\n )\r\n )\r\n );\r\n\r\n create$ = createEffect(() =>\r\n this.actions$.pipe(\r\n ofType(this.formActions.create),\r\n switchMap(action =>\r\n this.service.createResource(action.resource).pipe(\r\n map(resource => this.formActions.createSuccess({ resource })),\r\n catchError((errors: E) => of(this.formActions.createFailure({ errors })))\r\n )\r\n )\r\n )\r\n );\r\n\r\n update$ = createEffect(() =>\r\n this.actions$.pipe(\r\n ofType(this.formActions.save),\r\n switchMap(({ resource }) =>\r\n this.service.saveResource(resource).pipe(\r\n map(response => this.formActions.saveSuccess({ resource: response })),\r\n catchError((errors: E) => of(this.formActions.saveFailure({ errors })))\r\n )\r\n )\r\n )\r\n );\r\n\r\n delete$ = createEffect(() =>\r\n this.actions$.pipe(\r\n ofType(this.formActions.delete),\r\n exhaustMap(action =>\r\n this.service.deleteResource(action.id).pipe(\r\n map(() => this.formActions.deleteSuccess({ id: action.id })),\r\n catchError((errors: E) => of(this.formActions.deleteFailure({ errors })))\r\n )\r\n )\r\n )\r\n );\r\n\r\n deleteSuccess$ = createEffect(() =>\r\n this.actions$.pipe(\r\n ofType(this.formActions.deleteSuccess),\r\n tap(({ id }) => {\r\n this.notificationService.onDelete(id);\r\n this.router.navigate(['..']);\r\n })\r\n )\r\n );\r\n\r\n createSuccess$ = createEffect(() =>\r\n this.actions$.pipe(\r\n ofType(this.formActions.createSuccess),\r\n tap(() => {\r\n this.router.navigate(['..']);\r\n })\r\n )\r\n );\r\n\r\n navigateToCreateResource$ = createEffect(() =>\r\n this.actions$.pipe(\r\n ofType(this.formActions.navigateToCreate),\r\n map(() => this.formActions.reset()),\r\n tap(() => {\r\n this.router.navigate(['..']);\r\n })\r\n )\r\n );\r\n\r\n copy$ = createEffect(\r\n () =>\r\n this.actions$.pipe(\r\n ofType(this.formActions.copy),\r\n tap(() => {\r\n this.router.navigate(['..']);\r\n })\r\n ),\r\n { dispatch: false }\r\n );\r\n\r\n copySelected$ = createEffect(() =>\r\n this.actions$.pipe(\r\n ofType(this.formActions.copySelected),\r\n map(({ id }) => this.formActions.load({ id }))\r\n )\r\n );\r\n\r\n errorsHandler$ = createEffect(\r\n () =>\r\n this.actions$.pipe(\r\n ofType(\r\n this.formActions.saveFailure,\r\n this.formActions.loadFailure,\r\n this.formActions.deleteFailure,\r\n this.formActions.createFailure\r\n ),\r\n tap(({ errors }) => {\r\n this.notificationService.onErrors(errors);\r\n })\r\n ),\r\n { dispatch: false }\r\n );\r\n\r\n protected constructor(\r\n private readonly router: Router,\r\n protected readonly actions$: Actions,\r\n protected readonly store: Store,\r\n private readonly service: FormService<T>,\r\n private readonly formActions: FormActions<T, E>,\r\n private readonly notificationService: FormNotificationService<E>\r\n ) {}\r\n}\r\n","import { createAction, props } from '@ngrx/store';\r\nimport { FormActions } from '../models/form.model';\r\n\r\nexport function createFormActions<T, E>(featureName: string): FormActions<T, E> {\r\n const load = createAction(`[${featureName} API] Load ${featureName}`, props<{ id: string }>());\r\n const loadSuccess = createAction(`[${featureName} API] Load ${featureName} Success`, props<{ resource: T }>());\r\n const loadFailure = createAction(`[${featureName} API] Load ${featureName} Failure`, props<{ errors: E }>());\r\n\r\n const save = createAction(`[${featureName} API] Save ${featureName}`, props<{ resource: T }>());\r\n const saveSuccess = createAction(`[${featureName} API] Save ${featureName} Success`, props<{ resource: T }>());\r\n const saveFailure = createAction(`[${featureName} API] Save ${featureName} Failure`, props<{ errors: E }>());\r\n\r\n const deleteAction = createAction(`[${featureName} API] Delete ${featureName}`, props<{ id: string }>());\r\n const deleteSuccess = createAction(`[${featureName} API] Delete ${featureName} Success`, props<{ id: string }>());\r\n const deleteFailure = createAction(`[${featureName} API] Delete ${featureName} Failure`, props<{ errors: E }>());\r\n\r\n const navigateToCreate = createAction(`[${featureName} Page] Navigate to Create ${featureName}`);\r\n const create = createAction(`[${featureName} API] Create ${featureName}`, props<{ resource: T }>());\r\n const createSuccess = createAction(`[${featureName} API] Create ${featureName} Success`, props<{ resource: T }>());\r\n const createFailure = createAction(`[${featureName} API] Create ${featureName} Failure`, props<{ errors: E }>());\r\n\r\n const reset = createAction(`[${featureName} API] Reset ${featureName}`);\r\n\r\n const copy = createAction(`[${featureName} Page] Copy ${featureName}`);\r\n const copySelected = createAction(`[${featureName} Page] Copy Selected ${featureName}`, props<{ id: string }>());\r\n\r\n return {\r\n load,\r\n loadSuccess,\r\n loadFailure,\r\n save,\r\n saveSuccess,\r\n saveFailure,\r\n delete: deleteAction,\r\n deleteSuccess,\r\n deleteFailure,\r\n navigateToCreate,\r\n create,\r\n createSuccess,\r\n createFailure,\r\n reset,\r\n copy,\r\n copySelected\r\n };\r\n}\r\n","// TODO: move to a common lib\r\nexport enum RequestState {\r\n IDLE = 'IDLE',\r\n IN_PROGRESS = 'IN_PROGRESS',\r\n FAILURE = 'FAILURE',\r\n SUCCESS = 'SUCCESS'\r\n}\r\n","import { ActionCreator, createAction, on, ReducerTypes } from '@ngrx/store';\r\nimport { RequestState } from '../request-state.model';\r\n\r\nexport interface ApiRequestState<E> {\r\n requestState: RequestState;\r\n errors: E;\r\n}\r\n\r\nexport interface LoadingState {\r\n loadingState: RequestState;\r\n}\r\n\r\nexport function createRequestStateActionHandlers<T extends ApiRequestState<E>, E>(\r\n loadAction: ActionCreator,\r\n saveAction: ActionCreator,\r\n saveSuccessAction: ActionCreator,\r\n saveFailureAction: ActionCreator<string, (props: { errors: E }) => { errors: E }>\r\n): ReducerTypes<T, ActionCreator[]>[] {\r\n if (!loadAction) {\r\n loadAction = createAction('DummyRequestStateLoadAction');\r\n }\r\n\r\n return [\r\n on(loadAction, state => ({ ...state, requestState: RequestState.IDLE })),\r\n on(saveAction, state => ({\r\n ...state,\r\n requestState: RequestState.IN_PROGRESS,\r\n errors: undefined\r\n })),\r\n on(saveSuccessAction, state => ({ ...state, requestState: RequestState.SUCCESS })),\r\n on(saveFailureAction, (state, { errors }) => ({\r\n ...state,\r\n requestState: RequestState.FAILURE,\r\n errors\r\n }))\r\n ];\r\n}\r\n\r\nexport function createLoadingStateActionHandlers<T extends LoadingState>(\r\n loadAction: ActionCreator,\r\n loadSuccessAction: ActionCreator,\r\n loadFailureAction: ActionCreator\r\n): ReducerTypes<T, ActionCreator[]>[] {\r\n return [\r\n on(loadAction, state => ({ ...state, loadingState: RequestState.IN_PROGRESS })),\r\n on(loadSuccessAction, state => ({ ...state, loadingState: RequestState.SUCCESS })),\r\n on(loadFailureAction, state => ({ ...state, loadingState: RequestState.FAILURE }))\r\n ];\r\n}\r\n","import { ActionCreator, ActionReducer, createReducer, Creator, on, ReducerTypes } from '@ngrx/store';\r\nimport { RequestState } from '../common/request-state.model';\r\nimport { createLoadingStateActionHandlers, createRequestStateActionHandlers } from '../common/utils/action-handlers';\r\nimport { FormActions, FormState } from '../models/form.model';\r\n\r\nexport function createFormReducer<T, E>(\r\n actions: FormActions<T, E>,\r\n actionHandlers?: ReducerTypes<FormState<T, E>, ActionCreator[]>[],\r\n initialFormState?: object\r\n): ActionReducer<FormState<T, E>> {\r\n const initialState: FormState<T, E> = { ...createInitialFormState<T, E>(), ...initialFormState };\r\n return createReducer<FormState<T, E>>(\r\n initialState,\r\n ...createFormActionHandlers<T, E>(initialState, actions),\r\n ...(actionHandlers || [])\r\n );\r\n}\r\n\r\nfunction createInitialFormState<T, E>(): FormState<T, E> {\r\n return {\r\n resource: undefined,\r\n loadingState: RequestState.IDLE,\r\n requestState: RequestState.IDLE,\r\n errors: undefined\r\n };\r\n}\r\n\r\nfunction createFormActionHandlers<T, E>(\r\n initialFormState: FormState<T, E>,\r\n actions: FormActions<T, E>\r\n): ReducerTypes<FormState<T, E>, ActionCreator<string, Creator<any[], object>>[]>[] {\r\n return [\r\n on(actions.reset, (): FormState<T, E> => initialFormState),\r\n on(\r\n actions.loadSuccess,\r\n actions.createSuccess,\r\n actions.saveSuccess,\r\n (state: FormState<T, E>, { resource }): FormState<T, E> => ({ ...state, resource })\r\n ),\r\n on(\r\n actions.deleteSuccess,\r\n (state: FormState<T, E>): FormState<T, E> => ({\r\n ...state,\r\n resource: undefined\r\n })\r\n ),\r\n on(\r\n actions.copy,\r\n (state: FormState<T, E>): FormState<T, E> => ({\r\n ...state,\r\n loadingState: RequestState.IDLE,\r\n requestState: RequestState.IDLE\r\n })\r\n ),\r\n ...createRequestStateActionHandlers<FormState<T, E>, E>(\r\n actions.load,\r\n actions.save,\r\n actions.saveSuccess,\r\n actions.saveFailure\r\n ),\r\n ...createRequestStateActionHandlers<FormState<T, E>, E>(\r\n undefined,\r\n actions.create,\r\n actions.createSuccess,\r\n actions.createFailure\r\n ),\r\n ...createRequestStateActionHandlers<FormState<T, E>, E>(\r\n undefined,\r\n actions.delete,\r\n actions.deleteSuccess,\r\n actions.deleteFailure\r\n ),\r\n ...createLoadingStateActionHandlers<FormState<T, E>>(actions.load, actions.loadSuccess, actions.loadFailure)\r\n ];\r\n}\r\n","import { createSelector, DefaultProjectorFn, MemoizedSelector } from '@ngrx/store';\r\nimport { RequestState } from '../common/request-state.model';\r\nimport { FormSelectors, FormState } from '../models/form.model';\r\n\r\nexport function createFormSelectors<T, E>(\r\n getFormState: MemoizedSelector<object, FormState<T, E>, DefaultProjectorFn<FormState<T, E>>>\r\n): FormSelectors<T, E> {\r\n const getRequestState = createSelector(getFormState, state => state.requestState);\r\n const getLoadingState = createSelector(getFormState, state => state.loadingState);\r\n const getErrors = createSelector(getFormState, state => state.errors);\r\n const getResource = createSelector(getFormState, state => state.resource);\r\n\r\n const isReady = createSelector(\r\n getResource,\r\n getLoadingState,\r\n (resource, loadingState) => !!resource && loadingState === RequestState.SUCCESS\r\n );\r\n\r\n return {\r\n getRequestState,\r\n getLoadingState,\r\n getErrors,\r\n getResource,\r\n isReady\r\n };\r\n}\r\n","import { Action, createFeatureSelector } from '@ngrx/store';\r\nimport { FormState } from '../models/form.model';\r\nimport { createFormActions } from './form-actions';\r\nimport { createFormReducer } from './form-reducer';\r\nimport { createFormSelectors } from './form-selectors';\r\n\r\nexport function createFormState<T, E>(featureName: string) {\r\n const actions = createFormActions<T, E>(featureName);\r\n const reducer = createFormReducer(actions);\r\n const getState = createFeatureSelector<FormState<T, E>>(featureName);\r\n const selectors = createFormSelectors(getState);\r\n\r\n return {\r\n actions,\r\n reducer: (state: FormState<T, E>, action: Action): FormState<T, E> => reducer(state, action),\r\n selectors\r\n };\r\n}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Router } from '@angular/router';
|
|
2
2
|
import { Actions } from '@ngrx/effects';
|
|
3
3
|
import { Store } from '@ngrx/store';
|
|
4
|
-
import { FormActions,
|
|
4
|
+
import { FormActions, FormNotificationService, FormService } from '../models/form.model';
|
|
5
5
|
export declare abstract class AbstractFormEffects<T, E> {
|
|
6
6
|
private readonly router;
|
|
7
7
|
protected readonly actions$: Actions;
|
|
@@ -49,5 +49,5 @@ export declare abstract class AbstractFormEffects<T, E> {
|
|
|
49
49
|
} & import("@ngrx/store/src/models").TypedAction<string>) | ({
|
|
50
50
|
errors: E;
|
|
51
51
|
} & import("@ngrx/store/src/models").TypedAction<string>)> & import("@ngrx/effects").CreateEffectMetadata;
|
|
52
|
-
protected constructor(router: Router, actions$: Actions, store: Store, service:
|
|
52
|
+
protected constructor(router: Router, actions$: Actions, store: Store, service: FormService<T>, formActions: FormActions<T, E>, notificationService: FormNotificationService<E>);
|
|
53
53
|
}
|
|
@@ -83,11 +83,11 @@ export interface FormActions<T, E> {
|
|
|
83
83
|
id: string;
|
|
84
84
|
} & TypedAction<string>>;
|
|
85
85
|
}
|
|
86
|
-
export interface
|
|
86
|
+
export interface FormNotificationService<E> {
|
|
87
87
|
onErrors: (errors: E) => void;
|
|
88
88
|
onDelete: (id: string) => void;
|
|
89
89
|
}
|
|
90
|
-
export interface
|
|
90
|
+
export interface FormService<T> {
|
|
91
91
|
loadResource(id: string): Observable<T>;
|
|
92
92
|
saveResource?(resource: T): Observable<T>;
|
|
93
93
|
deleteResource?(id: string): Observable<T>;
|