@ngdux/form 1.4.0 → 3.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/{esm2020 → esm2022}/index.mjs +9 -9
- package/esm2022/lib/+state/abstract-form-effects.mjs +35 -0
- package/esm2022/lib/+state/abstract-form-state.service.mjs +39 -0
- package/{esm2020 → esm2022}/lib/+state/abstract-form.facade.mjs +28 -28
- package/{esm2020 → esm2022}/lib/+state/form-actions.mjs +31 -31
- package/{esm2020 → esm2022}/lib/+state/form-reducer.mjs +29 -29
- package/{esm2020 → esm2022}/lib/+state/form-selectors.mjs +16 -16
- package/{esm2020 → esm2022}/lib/+state/form-state.mjs +15 -15
- package/{esm2020 → esm2022}/lib/models/form.model.mjs +2 -2
- package/{esm2020 → esm2022}/ngdux-form.mjs +4 -4
- package/{fesm2020 → fesm2022}/ngdux-form.mjs +165 -165
- package/{fesm2020 → fesm2022}/ngdux-form.mjs.map +1 -1
- package/index.d.ts +9 -9
- package/lib/+state/abstract-form-effects.d.ts +41 -41
- package/lib/+state/abstract-form-state.service.d.ts +15 -15
- package/lib/+state/abstract-form.facade.d.ts +19 -19
- package/lib/+state/form-actions.d.ts +2 -2
- package/lib/+state/form-reducer.d.ts +3 -3
- package/lib/+state/form-selectors.d.ts +3 -3
- package/lib/+state/form-state.d.ts +7 -7
- package/lib/models/form.model.d.ts +79 -79
- package/package.json +10 -113
- package/esm2020/lib/+state/abstract-form-effects.mjs +0 -35
- package/esm2020/lib/+state/abstract-form-state.service.mjs +0 -39
- package/fesm2015/ngdux-form.mjs +0 -194
- package/fesm2015/ngdux-form.mjs.map +0 -1
|
@@ -1,19 +1,19 @@
|
|
|
1
|
-
import { ActionPayload } from '@ngdux/store-common';
|
|
2
|
-
import { Store } from '@ngrx/store';
|
|
3
|
-
import { FormActions, FormSelectors } from '../models/form.model';
|
|
4
|
-
export declare abstract class AbstractFormFacade<DTO, E, CREATE_DTO = DTO> {
|
|
5
|
-
protected readonly store: Store;
|
|
6
|
-
private readonly formActions;
|
|
7
|
-
private readonly formSelectors;
|
|
8
|
-
readonly resource$: import("rxjs").Observable<DTO | undefined>;
|
|
9
|
-
readonly loadingState$: import("rxjs").Observable<import("@ngdux/data-model-common").RequestState>;
|
|
10
|
-
readonly requestState$: import("rxjs").Observable<import("@ngdux/data-model-common").RequestState>;
|
|
11
|
-
readonly errors$: import("rxjs").Observable<E | undefined>;
|
|
12
|
-
readonly isReady$: import("rxjs").Observable<boolean>;
|
|
13
|
-
constructor(store: Store, formActions: FormActions<DTO, E, CREATE_DTO>, formSelectors: FormSelectors<DTO, E>);
|
|
14
|
-
create(props: ActionPayload<FormActions<DTO, E, CREATE_DTO>['create']>): void;
|
|
15
|
-
load(props: ActionPayload<FormActions<DTO, E, CREATE_DTO>['load']>): void;
|
|
16
|
-
save(props: ActionPayload<FormActions<DTO, E, CREATE_DTO>['save']>): void;
|
|
17
|
-
delete(props: ActionPayload<FormActions<DTO, E, CREATE_DTO>['delete']>): void;
|
|
18
|
-
reset(): void;
|
|
19
|
-
}
|
|
1
|
+
import { ActionPayload } from '@ngdux/store-common';
|
|
2
|
+
import { Store } from '@ngrx/store';
|
|
3
|
+
import { FormActions, FormSelectors } from '../models/form.model';
|
|
4
|
+
export declare abstract class AbstractFormFacade<DTO, E, CREATE_DTO = DTO> {
|
|
5
|
+
protected readonly store: Store;
|
|
6
|
+
private readonly formActions;
|
|
7
|
+
private readonly formSelectors;
|
|
8
|
+
readonly resource$: import("rxjs").Observable<DTO | undefined>;
|
|
9
|
+
readonly loadingState$: import("rxjs").Observable<import("@ngdux/data-model-common").RequestState>;
|
|
10
|
+
readonly requestState$: import("rxjs").Observable<import("@ngdux/data-model-common").RequestState>;
|
|
11
|
+
readonly errors$: import("rxjs").Observable<E | undefined>;
|
|
12
|
+
readonly isReady$: import("rxjs").Observable<boolean>;
|
|
13
|
+
constructor(store: Store, formActions: FormActions<DTO, E, CREATE_DTO>, formSelectors: FormSelectors<DTO, E>);
|
|
14
|
+
create(props: ActionPayload<FormActions<DTO, E, CREATE_DTO>['create']>): void;
|
|
15
|
+
load(props: ActionPayload<FormActions<DTO, E, CREATE_DTO>['load']>): void;
|
|
16
|
+
save(props: ActionPayload<FormActions<DTO, E, CREATE_DTO>['save']>): void;
|
|
17
|
+
delete(props: ActionPayload<FormActions<DTO, E, CREATE_DTO>['delete']>): void;
|
|
18
|
+
reset(): void;
|
|
19
|
+
}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { FormActions } from '../models/form.model';
|
|
2
|
-
export declare function createFormActions<DTO, ERROR, CREATE_DTO = DTO>(featureName: string): FormActions<DTO, ERROR, CREATE_DTO>;
|
|
1
|
+
import { FormActions } from '../models/form.model';
|
|
2
|
+
export declare function createFormActions<DTO, ERROR, CREATE_DTO = DTO>(featureName: string): FormActions<DTO, ERROR, CREATE_DTO>;
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import { ActionCreator, ActionReducer, ReducerTypes } from '@ngrx/store';
|
|
2
|
-
import { FormActions, FormState } from '../models/form.model';
|
|
3
|
-
export declare function createFormReducer<DTO, ERROR, CREATE_DTO = DTO>(actions: FormActions<DTO, ERROR, CREATE_DTO>, actionHandlers?: ReducerTypes<FormState<DTO, ERROR>, ActionCreator[]>[], initialFormState?: Record<string, any>): ActionReducer<FormState<DTO, ERROR>>;
|
|
1
|
+
import { ActionCreator, ActionReducer, ReducerTypes } from '@ngrx/store';
|
|
2
|
+
import { FormActions, FormState } from '../models/form.model';
|
|
3
|
+
export declare function createFormReducer<DTO, ERROR, CREATE_DTO = DTO>(actions: FormActions<DTO, ERROR, CREATE_DTO>, actionHandlers?: ReducerTypes<FormState<DTO, ERROR>, ActionCreator[]>[], initialFormState?: Record<string, any>): ActionReducer<FormState<DTO, ERROR>>;
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import { DefaultProjectorFn, MemoizedSelector } from '@ngrx/store';
|
|
2
|
-
import { FormSelectors, FormState } from '../models/form.model';
|
|
3
|
-
export declare function createFormSelectors<T, E>(getFormState: MemoizedSelector<object, FormState<T, E>, DefaultProjectorFn<FormState<T, E>>>): FormSelectors<T, E>;
|
|
1
|
+
import { DefaultProjectorFn, MemoizedSelector } from '@ngrx/store';
|
|
2
|
+
import { FormSelectors, FormState } from '../models/form.model';
|
|
3
|
+
export declare function createFormSelectors<T, E>(getFormState: MemoizedSelector<object, FormState<T, E>, DefaultProjectorFn<FormState<T, E>>>): FormSelectors<T, E>;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { Action } from '@ngrx/store';
|
|
2
|
-
import { FormState } from '../models/form.model';
|
|
3
|
-
export declare function createFormState<DTO, ERROR, CREATE_DTO = DTO>(featureName: string): {
|
|
4
|
-
actions: import("../models/form.model").FormActions<DTO, ERROR, CREATE_DTO>;
|
|
5
|
-
reducer: (state: FormState<DTO, ERROR>, action: Action) => FormState<DTO, ERROR>;
|
|
6
|
-
selectors: import("../models/form.model").FormSelectors<DTO, ERROR>;
|
|
7
|
-
};
|
|
1
|
+
import { Action } from '@ngrx/store';
|
|
2
|
+
import { FormState } from '../models/form.model';
|
|
3
|
+
export declare function createFormState<DTO, ERROR, CREATE_DTO = DTO>(featureName: string): {
|
|
4
|
+
actions: import("../models/form.model").FormActions<DTO, ERROR, CREATE_DTO>;
|
|
5
|
+
reducer: (state: FormState<DTO, ERROR>, action: Action) => FormState<DTO, ERROR>;
|
|
6
|
+
selectors: import("../models/form.model").FormSelectors<DTO, ERROR>;
|
|
7
|
+
};
|
|
@@ -1,79 +1,79 @@
|
|
|
1
|
-
import { InjectionToken } from '@angular/core';
|
|
2
|
-
import { RequestState } from '@ngdux/data-model-common';
|
|
3
|
-
import { ApiRequestState, LoadingState } from '@ngdux/store-common';
|
|
4
|
-
import { ActionCreator, MemoizedSelector } from '@ngrx/store';
|
|
5
|
-
import { TypedAction } from '@ngrx/store/src/models';
|
|
6
|
-
export declare const FORM_FEATURE_KEY: InjectionToken<string>;
|
|
7
|
-
export interface FormState<T, E> extends ApiRequestState<E>, LoadingState {
|
|
8
|
-
resource?: T;
|
|
9
|
-
}
|
|
10
|
-
export interface FormSelectors<T, E> {
|
|
11
|
-
getRequestState: MemoizedSelector<object, RequestState>;
|
|
12
|
-
getLoadingState: MemoizedSelector<object, RequestState>;
|
|
13
|
-
getErrors: MemoizedSelector<object, E | undefined>;
|
|
14
|
-
getResource: MemoizedSelector<object, T | undefined>;
|
|
15
|
-
isReady: MemoizedSelector<object, boolean>;
|
|
16
|
-
}
|
|
17
|
-
export interface FormActions<DTO, ERROR, CREATE_DTO = DTO> {
|
|
18
|
-
load: ActionCreator<string, (props: {
|
|
19
|
-
id: string;
|
|
20
|
-
}) => {
|
|
21
|
-
id: string;
|
|
22
|
-
} & TypedAction<string>>;
|
|
23
|
-
loadSuccess: ActionCreator<string, (props: {
|
|
24
|
-
resource: DTO;
|
|
25
|
-
}) => {
|
|
26
|
-
resource: DTO;
|
|
27
|
-
} & TypedAction<string>>;
|
|
28
|
-
loadFailure: ActionCreator<string, (props: {
|
|
29
|
-
errors: ERROR;
|
|
30
|
-
}) => {
|
|
31
|
-
errors: ERROR;
|
|
32
|
-
} & TypedAction<string>>;
|
|
33
|
-
save: ActionCreator<string, (props: {
|
|
34
|
-
resource: DTO;
|
|
35
|
-
}) => {
|
|
36
|
-
resource: DTO;
|
|
37
|
-
} & TypedAction<string>>;
|
|
38
|
-
saveSuccess: ActionCreator<string, (props: {
|
|
39
|
-
resource: DTO;
|
|
40
|
-
}) => {
|
|
41
|
-
resource: DTO;
|
|
42
|
-
} & TypedAction<string>>;
|
|
43
|
-
saveFailure: ActionCreator<string, (props: {
|
|
44
|
-
errors: ERROR;
|
|
45
|
-
}) => {
|
|
46
|
-
errors: ERROR;
|
|
47
|
-
} & TypedAction<string>>;
|
|
48
|
-
delete: ActionCreator<string, (props: {
|
|
49
|
-
id: string;
|
|
50
|
-
}) => {
|
|
51
|
-
id: string;
|
|
52
|
-
} & TypedAction<string>>;
|
|
53
|
-
deleteSuccess: ActionCreator<string, (props: {
|
|
54
|
-
id: string;
|
|
55
|
-
}) => {
|
|
56
|
-
id: string;
|
|
57
|
-
} & TypedAction<string>>;
|
|
58
|
-
deleteFailure: ActionCreator<string, (props: {
|
|
59
|
-
errors: ERROR;
|
|
60
|
-
}) => {
|
|
61
|
-
errors: ERROR;
|
|
62
|
-
} & TypedAction<string>>;
|
|
63
|
-
create: ActionCreator<string, (props: {
|
|
64
|
-
resource: CREATE_DTO;
|
|
65
|
-
}) => {
|
|
66
|
-
resource: CREATE_DTO;
|
|
67
|
-
} & TypedAction<string>>;
|
|
68
|
-
createSuccess: ActionCreator<string, (props: {
|
|
69
|
-
resource: DTO;
|
|
70
|
-
}) => {
|
|
71
|
-
resource: DTO;
|
|
72
|
-
} & TypedAction<string>>;
|
|
73
|
-
createFailure: ActionCreator<string, (props: {
|
|
74
|
-
errors: ERROR;
|
|
75
|
-
}) => {
|
|
76
|
-
errors: ERROR;
|
|
77
|
-
} & TypedAction<string>>;
|
|
78
|
-
reset: ActionCreator<string, () => TypedAction<string>>;
|
|
79
|
-
}
|
|
1
|
+
import { InjectionToken } from '@angular/core';
|
|
2
|
+
import { RequestState } from '@ngdux/data-model-common';
|
|
3
|
+
import { ApiRequestState, LoadingState } from '@ngdux/store-common';
|
|
4
|
+
import { ActionCreator, MemoizedSelector } from '@ngrx/store';
|
|
5
|
+
import { TypedAction } from '@ngrx/store/src/models';
|
|
6
|
+
export declare const FORM_FEATURE_KEY: InjectionToken<string>;
|
|
7
|
+
export interface FormState<T, E> extends ApiRequestState<E>, LoadingState {
|
|
8
|
+
resource?: T;
|
|
9
|
+
}
|
|
10
|
+
export interface FormSelectors<T, E> {
|
|
11
|
+
getRequestState: MemoizedSelector<object, RequestState>;
|
|
12
|
+
getLoadingState: MemoizedSelector<object, RequestState>;
|
|
13
|
+
getErrors: MemoizedSelector<object, E | undefined>;
|
|
14
|
+
getResource: MemoizedSelector<object, T | undefined>;
|
|
15
|
+
isReady: MemoizedSelector<object, boolean>;
|
|
16
|
+
}
|
|
17
|
+
export interface FormActions<DTO, ERROR, CREATE_DTO = DTO> {
|
|
18
|
+
load: ActionCreator<string, (props: {
|
|
19
|
+
id: string;
|
|
20
|
+
}) => {
|
|
21
|
+
id: string;
|
|
22
|
+
} & TypedAction<string>>;
|
|
23
|
+
loadSuccess: ActionCreator<string, (props: {
|
|
24
|
+
resource: DTO;
|
|
25
|
+
}) => {
|
|
26
|
+
resource: DTO;
|
|
27
|
+
} & TypedAction<string>>;
|
|
28
|
+
loadFailure: ActionCreator<string, (props: {
|
|
29
|
+
errors: ERROR;
|
|
30
|
+
}) => {
|
|
31
|
+
errors: ERROR;
|
|
32
|
+
} & TypedAction<string>>;
|
|
33
|
+
save: ActionCreator<string, (props: {
|
|
34
|
+
resource: DTO;
|
|
35
|
+
}) => {
|
|
36
|
+
resource: DTO;
|
|
37
|
+
} & TypedAction<string>>;
|
|
38
|
+
saveSuccess: ActionCreator<string, (props: {
|
|
39
|
+
resource: DTO;
|
|
40
|
+
}) => {
|
|
41
|
+
resource: DTO;
|
|
42
|
+
} & TypedAction<string>>;
|
|
43
|
+
saveFailure: ActionCreator<string, (props: {
|
|
44
|
+
errors: ERROR;
|
|
45
|
+
}) => {
|
|
46
|
+
errors: ERROR;
|
|
47
|
+
} & TypedAction<string>>;
|
|
48
|
+
delete: ActionCreator<string, (props: {
|
|
49
|
+
id: string;
|
|
50
|
+
}) => {
|
|
51
|
+
id: string;
|
|
52
|
+
} & TypedAction<string>>;
|
|
53
|
+
deleteSuccess: ActionCreator<string, (props: {
|
|
54
|
+
id: string;
|
|
55
|
+
}) => {
|
|
56
|
+
id: string;
|
|
57
|
+
} & TypedAction<string>>;
|
|
58
|
+
deleteFailure: ActionCreator<string, (props: {
|
|
59
|
+
errors: ERROR;
|
|
60
|
+
}) => {
|
|
61
|
+
errors: ERROR;
|
|
62
|
+
} & TypedAction<string>>;
|
|
63
|
+
create: ActionCreator<string, (props: {
|
|
64
|
+
resource: CREATE_DTO;
|
|
65
|
+
}) => {
|
|
66
|
+
resource: CREATE_DTO;
|
|
67
|
+
} & TypedAction<string>>;
|
|
68
|
+
createSuccess: ActionCreator<string, (props: {
|
|
69
|
+
resource: DTO;
|
|
70
|
+
}) => {
|
|
71
|
+
resource: DTO;
|
|
72
|
+
} & TypedAction<string>>;
|
|
73
|
+
createFailure: ActionCreator<string, (props: {
|
|
74
|
+
errors: ERROR;
|
|
75
|
+
}) => {
|
|
76
|
+
errors: ERROR;
|
|
77
|
+
} & TypedAction<string>>;
|
|
78
|
+
reset: ActionCreator<string, () => TypedAction<string>>;
|
|
79
|
+
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ngdux/form",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "3.0.0",
|
|
4
4
|
"repository": {
|
|
5
5
|
"type": "git",
|
|
6
6
|
"url": "git@github.com:allanartuso/ngdux.git",
|
|
@@ -8,114 +8,13 @@
|
|
|
8
8
|
},
|
|
9
9
|
"homepage": "https://github.com/allanartuso/ngdux/tree/master/libs/ngdux/util/store/form#readme",
|
|
10
10
|
"peerDependencies": {
|
|
11
|
-
"@ngdux/data-model-common": "^
|
|
12
|
-
"@angular/core": "^
|
|
13
|
-
"@ngdux/store-common": "^
|
|
11
|
+
"@ngdux/data-model-common": "^3.0.0",
|
|
12
|
+
"@angular/core": "^17.0.0",
|
|
13
|
+
"@ngdux/store-common": "^3.0.0",
|
|
14
|
+
"@ngrx/store": "^17.0.0",
|
|
15
|
+
"@ngrx/effects": "^17.0.0"
|
|
14
16
|
},
|
|
15
|
-
"
|
|
16
|
-
"name": "@ngdux/form",
|
|
17
|
-
"version": "1.3.2",
|
|
18
|
-
"repository": {
|
|
19
|
-
"type": "git",
|
|
20
|
-
"url": "git@github.com:allanartuso/ngdux.git",
|
|
21
|
-
"directory": "/libs/ngdux/util/store/form"
|
|
22
|
-
},
|
|
23
|
-
"homepage": "https://github.com/allanartuso/ngdux/tree/master/libs/ngdux/util/store/form#readme",
|
|
24
|
-
"peerDependencies": {
|
|
25
|
-
"@ngdux/data-model-common": "^1.0.0",
|
|
26
|
-
"@angular/core": "^15.0.0",
|
|
27
|
-
"@ngdux/store-common": "^1.0.0"
|
|
28
|
-
},
|
|
29
|
-
"default": {
|
|
30
|
-
"name": "@ngdux/form",
|
|
31
|
-
"version": "1.3.1",
|
|
32
|
-
"repository": {
|
|
33
|
-
"type": "git",
|
|
34
|
-
"url": "git@github.com:allanartuso/ngdux.git",
|
|
35
|
-
"directory": "/libs/ngdux/util/store/form"
|
|
36
|
-
},
|
|
37
|
-
"homepage": "https://github.com/allanartuso/ngdux/tree/master/libs/ngdux/util/store/form#readme",
|
|
38
|
-
"peerDependencies": {
|
|
39
|
-
"@ngdux/data-model-common": "^1.0.0",
|
|
40
|
-
"@angular/core": "^15.0.0",
|
|
41
|
-
"@ngdux/store-common": "^1.0.0"
|
|
42
|
-
},
|
|
43
|
-
"default": {
|
|
44
|
-
"name": "@ngdux/form",
|
|
45
|
-
"version": "1.3.0",
|
|
46
|
-
"repository": {
|
|
47
|
-
"type": "git",
|
|
48
|
-
"url": "git@github.com:allanartuso/ngdux.git",
|
|
49
|
-
"directory": "/libs/ngdux/util/store/form"
|
|
50
|
-
},
|
|
51
|
-
"homepage": "https://github.com/allanartuso/ngdux/tree/master/libs/ngdux/util/store/form#readme",
|
|
52
|
-
"peerDependencies": {
|
|
53
|
-
"@ngdux/data-model-common": "^1.0.0",
|
|
54
|
-
"@angular/core": "^15.0.0",
|
|
55
|
-
"@ngdux/store-common": "^1.0.0"
|
|
56
|
-
},
|
|
57
|
-
"default": {
|
|
58
|
-
"name": "@ngdux/form",
|
|
59
|
-
"version": "1.2.1",
|
|
60
|
-
"repository": {
|
|
61
|
-
"type": "git",
|
|
62
|
-
"url": "git@github.com:allanartuso/ngdux.git",
|
|
63
|
-
"directory": "/libs/ngdux/util/store/form"
|
|
64
|
-
},
|
|
65
|
-
"homepage": "https://github.com/allanartuso/ngdux/tree/master/libs/ngdux/util/store/form#readme",
|
|
66
|
-
"peerDependencies": {
|
|
67
|
-
"@ngdux/data-model-common": "^1.0.0",
|
|
68
|
-
"@angular/core": "^15.0.0",
|
|
69
|
-
"@ngdux/store-common": "^1.0.0"
|
|
70
|
-
},
|
|
71
|
-
"default": {
|
|
72
|
-
"name": "@ngdux/form",
|
|
73
|
-
"version": "1.2.0",
|
|
74
|
-
"repository": {
|
|
75
|
-
"type": "git",
|
|
76
|
-
"url": "git@github.com:allanartuso/ngdux.git",
|
|
77
|
-
"directory": "/libs/ngdux/util/store/form"
|
|
78
|
-
},
|
|
79
|
-
"homepage": "https://github.com/allanartuso/ngdux/tree/master/libs/ngdux/util/store/form#readme",
|
|
80
|
-
"peerDependencies": {
|
|
81
|
-
"@ngdux/data-model-common": "^1.0.0",
|
|
82
|
-
"@angular/core": "^15.0.0",
|
|
83
|
-
"@ngdux/store-common": "^1.0.0"
|
|
84
|
-
},
|
|
85
|
-
"default": {
|
|
86
|
-
"name": "@ngdux/form",
|
|
87
|
-
"version": "1.1.1",
|
|
88
|
-
"repository": {
|
|
89
|
-
"type": "git",
|
|
90
|
-
"url": "git@github.com:allanartuso/ngdux.git",
|
|
91
|
-
"directory": "/libs/ngdux/util/store/form"
|
|
92
|
-
},
|
|
93
|
-
"homepage": "https://github.com/allanartuso/ngdux/tree/master/libs/ngdux/util/store/form#readme",
|
|
94
|
-
"default": {
|
|
95
|
-
"name": "@ngdux/form",
|
|
96
|
-
"repository": {
|
|
97
|
-
"type": "git",
|
|
98
|
-
"url": "git@github.com:allanartuso/ngdux.git",
|
|
99
|
-
"directory": "/libs/ngdux/util/store/form"
|
|
100
|
-
},
|
|
101
|
-
"homepage": "https://github.com/allanartuso/ngdux/tree/master/libs/ngdux/util/store/form#readme"
|
|
102
|
-
},
|
|
103
|
-
"peerDependencies": {
|
|
104
|
-
"@ngdux/data-model-common": "^1.0.0",
|
|
105
|
-
"@angular/core": "^15.0.0",
|
|
106
|
-
"@ngdux/store-common": "^1.0.0"
|
|
107
|
-
}
|
|
108
|
-
}
|
|
109
|
-
}
|
|
110
|
-
}
|
|
111
|
-
}
|
|
112
|
-
}
|
|
113
|
-
},
|
|
114
|
-
"module": "fesm2015/ngdux-form.mjs",
|
|
115
|
-
"es2020": "fesm2020/ngdux-form.mjs",
|
|
116
|
-
"esm2020": "esm2020/ngdux-form.mjs",
|
|
117
|
-
"fesm2020": "fesm2020/ngdux-form.mjs",
|
|
118
|
-
"fesm2015": "fesm2015/ngdux-form.mjs",
|
|
17
|
+
"module": "fesm2022/ngdux-form.mjs",
|
|
119
18
|
"typings": "index.d.ts",
|
|
120
19
|
"exports": {
|
|
121
20
|
"./package.json": {
|
|
@@ -123,11 +22,9 @@
|
|
|
123
22
|
},
|
|
124
23
|
".": {
|
|
125
24
|
"types": "./index.d.ts",
|
|
126
|
-
"
|
|
127
|
-
"
|
|
128
|
-
"
|
|
129
|
-
"node": "./fesm2015/ngdux-form.mjs",
|
|
130
|
-
"default": "./fesm2020/ngdux-form.mjs"
|
|
25
|
+
"esm2022": "./esm2022/ngdux-form.mjs",
|
|
26
|
+
"esm": "./esm2022/ngdux-form.mjs",
|
|
27
|
+
"default": "./fesm2022/ngdux-form.mjs"
|
|
131
28
|
}
|
|
132
29
|
},
|
|
133
30
|
"sideEffects": false,
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
import { createEffect, ofType } from '@ngrx/effects';
|
|
2
|
-
import { of } from 'rxjs';
|
|
3
|
-
import { catchError, exhaustMap, map, switchMap, tap } from 'rxjs/operators';
|
|
4
|
-
export class AbstractFormEffects {
|
|
5
|
-
constructor(actions$, store, service, formActions, notificationService) {
|
|
6
|
-
this.actions$ = actions$;
|
|
7
|
-
this.store = store;
|
|
8
|
-
this.service = service;
|
|
9
|
-
this.formActions = formActions;
|
|
10
|
-
this.notificationService = notificationService;
|
|
11
|
-
this.load$ = createEffect(() => this.actions$.pipe(ofType(this.formActions.load), switchMap(({ id }) => this.service.loadResource(id).pipe(map(resource => this.formActions.loadSuccess({ resource })), catchError((errors) => of(this.formActions.loadFailure({ errors })))))));
|
|
12
|
-
this.create$ = createEffect(() => this.actions$.pipe(ofType(this.formActions.create), switchMap(action => {
|
|
13
|
-
if (!this.service.createResource) {
|
|
14
|
-
throw new Error('createResource not implement in the ListService');
|
|
15
|
-
}
|
|
16
|
-
return this.service.createResource(action.resource).pipe(map(resource => this.formActions.createSuccess({ resource })), catchError((errors) => of(this.formActions.createFailure({ errors }))));
|
|
17
|
-
})));
|
|
18
|
-
this.update$ = createEffect(() => this.actions$.pipe(ofType(this.formActions.save), switchMap(({ resource }) => {
|
|
19
|
-
if (!this.service.saveResource) {
|
|
20
|
-
throw new Error('saveResource not implement in the ListService');
|
|
21
|
-
}
|
|
22
|
-
return this.service.saveResource(resource).pipe(map(response => this.formActions.saveSuccess({ resource: response })), catchError((errors) => of(this.formActions.saveFailure({ errors }))));
|
|
23
|
-
})));
|
|
24
|
-
this.delete$ = createEffect(() => this.actions$.pipe(ofType(this.formActions.delete), exhaustMap(action => {
|
|
25
|
-
if (!this.service.deleteResource) {
|
|
26
|
-
throw new Error('deleteResource not implement in the ListService');
|
|
27
|
-
}
|
|
28
|
-
return this.service.deleteResource(action.id).pipe(map(() => this.formActions.deleteSuccess({ id: action.id })), catchError((errors) => of(this.formActions.deleteFailure({ errors }))));
|
|
29
|
-
})));
|
|
30
|
-
this.errorsHandler$ = createEffect(() => this.actions$.pipe(ofType(this.formActions.saveFailure, this.formActions.loadFailure, this.formActions.deleteFailure, this.formActions.createFailure), tap(({ errors }) => {
|
|
31
|
-
this.notificationService.onFormErrors(errors);
|
|
32
|
-
})), { dispatch: false });
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJzdHJhY3QtZm9ybS1lZmZlY3RzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9uZ2R1eC91dGlsL3N0b3JlL2Zvcm0vc3JjL2xpYi8rc3RhdGUvYWJzdHJhY3QtZm9ybS1lZmZlY3RzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBVyxZQUFZLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTlELE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDMUIsT0FBTyxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUc3RSxNQUFNLE9BQWdCLG1CQUFtQjtJQTZFdkMsWUFDcUIsUUFBaUIsRUFDakIsS0FBWSxFQUNkLE9BQXFDLEVBQ3JDLFdBQWdELEVBQ2hELG1CQUFtRDtRQUpqRCxhQUFRLEdBQVIsUUFBUSxDQUFTO1FBQ2pCLFVBQUssR0FBTCxLQUFLLENBQU87UUFDZCxZQUFPLEdBQVAsT0FBTyxDQUE4QjtRQUNyQyxnQkFBVyxHQUFYLFdBQVcsQ0FBcUM7UUFDaEQsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUFnQztRQWpGdEUsVUFBSyxHQUFHLFlBQVksQ0FBQyxHQUFHLEVBQUUsQ0FDeEIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQ2hCLE1BQU0sQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxFQUM3QixTQUFTLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsQ0FDbkIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUNoQyxHQUFHLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLFdBQVcsQ0FBQyxFQUFFLFFBQVEsRUFBRSxDQUFDLENBQUMsRUFDM0QsVUFBVSxDQUFDLENBQUMsTUFBYSxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxXQUFXLENBQUMsRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FDNUUsQ0FDRixDQUNGLENBQ0YsQ0FBQztRQUVGLFlBQU8sR0FBRyxZQUFZLENBQUMsR0FBRyxFQUFFLENBQzFCLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUNoQixNQUFNLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsRUFDL0IsU0FBUyxDQUFDLE1BQU0sQ0FBQyxFQUFFO1lBQ2pCLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLGNBQWMsRUFBRTtnQkFDaEMsTUFBTSxJQUFJLEtBQUssQ0FBQyxpREFBaUQsQ0FBQyxDQUFDO2FBQ3BFO1lBRUQsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsSUFBSSxDQUN0RCxHQUFHLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FBQyxFQUFFLFFBQVEsRUFBRSxDQUFDLENBQUMsRUFDN0QsVUFBVSxDQUFDLENBQUMsTUFBYSxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxhQUFhLENBQUMsRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FDOUUsQ0FBQztRQUNKLENBQUMsQ0FBQyxDQUNILENBQ0YsQ0FBQztRQUVGLFlBQU8sR0FBRyxZQUFZLENBQUMsR0FBRyxFQUFFLENBQzFCLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUNoQixNQUFNLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsRUFDN0IsU0FBUyxDQUFDLENBQUMsRUFBRSxRQUFRLEVBQUUsRUFBRSxFQUFFO1lBQ3pCLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVksRUFBRTtnQkFDOUIsTUFBTSxJQUFJLEtBQUssQ0FBQywrQ0FBK0MsQ0FBQyxDQUFDO2FBQ2xFO1lBRUQsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsQ0FBQyxJQUFJLENBQzdDLEdBQUcsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsV0FBVyxDQUFDLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxDQUFDLENBQUMsRUFDckUsVUFBVSxDQUFDLENBQUMsTUFBYSxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxXQUFXLENBQUMsRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FDNUUsQ0FBQztRQUNKLENBQUMsQ0FBQyxDQUNILENBQ0YsQ0FBQztRQUVGLFlBQU8sR0FBRyxZQUFZLENBQUMsR0FBRyxFQUFFLENBQzFCLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUNoQixNQUFNLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsRUFDL0IsVUFBVSxDQUFDLE1BQU0sQ0FBQyxFQUFFO1lBQ2xCLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLGNBQWMsRUFBRTtnQkFDaEMsTUFBTSxJQUFJLEtBQUssQ0FBQyxpREFBaUQsQ0FBQyxDQUFDO2FBQ3BFO1lBRUQsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUNoRCxHQUFHLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxhQUFhLENBQUMsRUFBRSxFQUFFLEVBQUUsTUFBTSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFDNUQsVUFBVSxDQUFDLENBQUMsTUFBYSxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxhQUFhLENBQUMsRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FDOUUsQ0FBQztRQUNKLENBQUMsQ0FBQyxDQUNILENBQ0YsQ0FBQztRQUVGLG1CQUFjLEdBQUcsWUFBWSxDQUMzQixHQUFHLEVBQUUsQ0FDSCxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FDaEIsTUFBTSxDQUNKLElBQUksQ0FBQyxXQUFXLENBQUMsV0FBVyxFQUM1QixJQUFJLENBQUMsV0FBVyxDQUFDLFdBQVcsRUFDNUIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxhQUFhLEVBQzlCLElBQUksQ0FBQyxXQUFXLENBQUMsYUFBYSxDQUMvQixFQUNELEdBQUcsQ0FBQyxDQUFDLEVBQUUsTUFBTSxFQUFFLEVBQUUsRUFBRTtZQUNqQixJQUFJLENBQUMsbUJBQW1CLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ2hELENBQUMsQ0FBQyxDQUNILEVBQ0gsRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLENBQ3BCLENBQUM7SUFRQyxDQUFDO0NBQ0wiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGb3JtTm90aWZpY2F0aW9uU2VydmljZSwgRm9ybVNlcnZpY2UgfSBmcm9tICdAbmdkdXgvZGF0YS1tb2RlbC1jb21tb24nO1xyXG5pbXBvcnQgeyBBY3Rpb25zLCBjcmVhdGVFZmZlY3QsIG9mVHlwZSB9IGZyb20gJ0BuZ3J4L2VmZmVjdHMnO1xyXG5pbXBvcnQgeyBTdG9yZSB9IGZyb20gJ0BuZ3J4L3N0b3JlJztcclxuaW1wb3J0IHsgb2YgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgY2F0Y2hFcnJvciwgZXhoYXVzdE1hcCwgbWFwLCBzd2l0Y2hNYXAsIHRhcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgRm9ybUFjdGlvbnMgfSBmcm9tICcuLi9tb2RlbHMvZm9ybS5tb2RlbCc7XHJcblxyXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQWJzdHJhY3RGb3JtRWZmZWN0czxEVE8sIEVSUk9SLCBDUkVBVEVfRFRPID0gRFRPPiB7XHJcbiAgbG9hZCQgPSBjcmVhdGVFZmZlY3QoKCkgPT5cclxuICAgIHRoaXMuYWN0aW9ucyQucGlwZShcclxuICAgICAgb2ZUeXBlKHRoaXMuZm9ybUFjdGlvbnMubG9hZCksXHJcbiAgICAgIHN3aXRjaE1hcCgoeyBpZCB9KSA9PlxyXG4gICAgICAgIHRoaXMuc2VydmljZS5sb2FkUmVzb3VyY2UoaWQpLnBpcGUoXHJcbiAgICAgICAgICBtYXAocmVzb3VyY2UgPT4gdGhpcy5mb3JtQWN0aW9ucy5sb2FkU3VjY2Vzcyh7IHJlc291cmNlIH0pKSxcclxuICAgICAgICAgIGNhdGNoRXJyb3IoKGVycm9yczogRVJST1IpID0+IG9mKHRoaXMuZm9ybUFjdGlvbnMubG9hZEZhaWx1cmUoeyBlcnJvcnMgfSkpKVxyXG4gICAgICAgIClcclxuICAgICAgKVxyXG4gICAgKVxyXG4gICk7XHJcblxyXG4gIGNyZWF0ZSQgPSBjcmVhdGVFZmZlY3QoKCkgPT5cclxuICAgIHRoaXMuYWN0aW9ucyQucGlwZShcclxuICAgICAgb2ZUeXBlKHRoaXMuZm9ybUFjdGlvbnMuY3JlYXRlKSxcclxuICAgICAgc3dpdGNoTWFwKGFjdGlvbiA9PiB7XHJcbiAgICAgICAgaWYgKCF0aGlzLnNlcnZpY2UuY3JlYXRlUmVzb3VyY2UpIHtcclxuICAgICAgICAgIHRocm93IG5ldyBFcnJvcignY3JlYXRlUmVzb3VyY2Ugbm90IGltcGxlbWVudCBpbiB0aGUgTGlzdFNlcnZpY2UnKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHJldHVybiB0aGlzLnNlcnZpY2UuY3JlYXRlUmVzb3VyY2UoYWN0aW9uLnJlc291cmNlKS5waXBlKFxyXG4gICAgICAgICAgbWFwKHJlc291cmNlID0+IHRoaXMuZm9ybUFjdGlvbnMuY3JlYXRlU3VjY2Vzcyh7IHJlc291cmNlIH0pKSxcclxuICAgICAgICAgIGNhdGNoRXJyb3IoKGVycm9yczogRVJST1IpID0+IG9mKHRoaXMuZm9ybUFjdGlvbnMuY3JlYXRlRmFpbHVyZSh7IGVycm9ycyB9KSkpXHJcbiAgICAgICAgKTtcclxuICAgICAgfSlcclxuICAgIClcclxuICApO1xyXG5cclxuICB1cGRhdGUkID0gY3JlYXRlRWZmZWN0KCgpID0+XHJcbiAgICB0aGlzLmFjdGlvbnMkLnBpcGUoXHJcbiAgICAgIG9mVHlwZSh0aGlzLmZvcm1BY3Rpb25zLnNhdmUpLFxyXG4gICAgICBzd2l0Y2hNYXAoKHsgcmVzb3VyY2UgfSkgPT4ge1xyXG4gICAgICAgIGlmICghdGhpcy5zZXJ2aWNlLnNhdmVSZXNvdXJjZSkge1xyXG4gICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdzYXZlUmVzb3VyY2Ugbm90IGltcGxlbWVudCBpbiB0aGUgTGlzdFNlcnZpY2UnKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHJldHVybiB0aGlzLnNlcnZpY2Uuc2F2ZVJlc291cmNlKHJlc291cmNlKS5waXBlKFxyXG4gICAgICAgICAgbWFwKHJlc3BvbnNlID0+IHRoaXMuZm9ybUFjdGlvbnMuc2F2ZVN1Y2Nlc3MoeyByZXNvdXJjZTogcmVzcG9uc2UgfSkpLFxyXG4gICAgICAgICAgY2F0Y2hFcnJvcigoZXJyb3JzOiBFUlJPUikgPT4gb2YodGhpcy5mb3JtQWN0aW9ucy5zYXZlRmFpbHVyZSh7IGVycm9ycyB9KSkpXHJcbiAgICAgICAgKTtcclxuICAgICAgfSlcclxuICAgIClcclxuICApO1xyXG5cclxuICBkZWxldGUkID0gY3JlYXRlRWZmZWN0KCgpID0+XHJcbiAgICB0aGlzLmFjdGlvbnMkLnBpcGUoXHJcbiAgICAgIG9mVHlwZSh0aGlzLmZvcm1BY3Rpb25zLmRlbGV0ZSksXHJcbiAgICAgIGV4aGF1c3RNYXAoYWN0aW9uID0+IHtcclxuICAgICAgICBpZiAoIXRoaXMuc2VydmljZS5kZWxldGVSZXNvdXJjZSkge1xyXG4gICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdkZWxldGVSZXNvdXJjZSBub3QgaW1wbGVtZW50IGluIHRoZSBMaXN0U2VydmljZScpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgcmV0dXJuIHRoaXMuc2VydmljZS5kZWxldGVSZXNvdXJjZShhY3Rpb24uaWQpLnBpcGUoXHJcbiAgICAgICAgICBtYXAoKCkgPT4gdGhpcy5mb3JtQWN0aW9ucy5kZWxldGVTdWNjZXNzKHsgaWQ6IGFjdGlvbi5pZCB9KSksXHJcbiAgICAgICAgICBjYXRjaEVycm9yKChlcnJvcnM6IEVSUk9SKSA9PiBvZih0aGlzLmZvcm1BY3Rpb25zLmRlbGV0ZUZhaWx1cmUoeyBlcnJvcnMgfSkpKVxyXG4gICAgICAgICk7XHJcbiAgICAgIH0pXHJcbiAgICApXHJcbiAgKTtcclxuXHJcbiAgZXJyb3JzSGFuZGxlciQgPSBjcmVhdGVFZmZlY3QoXHJcbiAgICAoKSA9PlxyXG4gICAgICB0aGlzLmFjdGlvbnMkLnBpcGUoXHJcbiAgICAgICAgb2ZUeXBlKFxyXG4gICAgICAgICAgdGhpcy5mb3JtQWN0aW9ucy5zYXZlRmFpbHVyZSxcclxuICAgICAgICAgIHRoaXMuZm9ybUFjdGlvbnMubG9hZEZhaWx1cmUsXHJcbiAgICAgICAgICB0aGlzLmZvcm1BY3Rpb25zLmRlbGV0ZUZhaWx1cmUsXHJcbiAgICAgICAgICB0aGlzLmZvcm1BY3Rpb25zLmNyZWF0ZUZhaWx1cmVcclxuICAgICAgICApLFxyXG4gICAgICAgIHRhcCgoeyBlcnJvcnMgfSkgPT4ge1xyXG4gICAgICAgICAgdGhpcy5ub3RpZmljYXRpb25TZXJ2aWNlLm9uRm9ybUVycm9ycyhlcnJvcnMpO1xyXG4gICAgICAgIH0pXHJcbiAgICAgICksXHJcbiAgICB7IGRpc3BhdGNoOiBmYWxzZSB9XHJcbiAgKTtcclxuXHJcbiAgcHJvdGVjdGVkIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGFjdGlvbnMkOiBBY3Rpb25zLFxyXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IHN0b3JlOiBTdG9yZSxcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgc2VydmljZTogRm9ybVNlcnZpY2U8RFRPLCBDUkVBVEVfRFRPPixcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgZm9ybUFjdGlvbnM6IEZvcm1BY3Rpb25zPERUTywgRVJST1IsIENSRUFURV9EVE8+LFxyXG4gICAgcHJpdmF0ZSByZWFkb25seSBub3RpZmljYXRpb25TZXJ2aWNlOiBGb3JtTm90aWZpY2F0aW9uU2VydmljZTxFUlJPUj5cclxuICApIHt9XHJcbn1cclxuIl19
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
import { Inject, Injectable } from '@angular/core';
|
|
2
|
-
import { ReducerManager, createFeatureSelector } from '@ngrx/store';
|
|
3
|
-
import { FORM_FEATURE_KEY } from '../models/form.model';
|
|
4
|
-
import { createFormActions } from './form-actions';
|
|
5
|
-
import { createFormReducer } from './form-reducer';
|
|
6
|
-
import { createFormSelectors } from './form-selectors';
|
|
7
|
-
import * as i0 from "@angular/core";
|
|
8
|
-
import * as i1 from "@ngrx/store";
|
|
9
|
-
export class AbstractFormReducerManager {
|
|
10
|
-
constructor(reducerManager, featureKey) {
|
|
11
|
-
this.reducerManager = reducerManager;
|
|
12
|
-
this.featureKey = featureKey;
|
|
13
|
-
this.actions = this.getActions();
|
|
14
|
-
this.addReducer();
|
|
15
|
-
this.selectors = this.getSelectors();
|
|
16
|
-
}
|
|
17
|
-
getActions() {
|
|
18
|
-
return createFormActions(this.featureKey);
|
|
19
|
-
}
|
|
20
|
-
addReducer() {
|
|
21
|
-
if (!this.reducerManager.currentReducers[this.featureKey]) {
|
|
22
|
-
const reducer = createFormReducer(this.actions);
|
|
23
|
-
this.reducerManager.addReducer(this.featureKey, reducer);
|
|
24
|
-
}
|
|
25
|
-
}
|
|
26
|
-
getSelectors() {
|
|
27
|
-
const getState = createFeatureSelector(this.featureKey);
|
|
28
|
-
return createFormSelectors(getState);
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
AbstractFormReducerManager.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: AbstractFormReducerManager, deps: [{ token: i1.ReducerManager }, { token: FORM_FEATURE_KEY }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
32
|
-
AbstractFormReducerManager.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: AbstractFormReducerManager });
|
|
33
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: AbstractFormReducerManager, decorators: [{
|
|
34
|
-
type: Injectable
|
|
35
|
-
}], ctorParameters: function () { return [{ type: i1.ReducerManager }, { type: undefined, decorators: [{
|
|
36
|
-
type: Inject,
|
|
37
|
-
args: [FORM_FEATURE_KEY]
|
|
38
|
-
}] }]; } });
|
|
39
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJzdHJhY3QtZm9ybS1zdGF0ZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9uZ2R1eC91dGlsL3N0b3JlL2Zvcm0vc3JjL2xpYi8rc3RhdGUvYWJzdHJhY3QtZm9ybS1zdGF0ZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxjQUFjLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDcEUsT0FBTyxFQUFFLGdCQUFnQixFQUF5QyxNQUFNLHNCQUFzQixDQUFDO0FBQy9GLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGtCQUFrQixDQUFDOzs7QUFHdkQsTUFBTSxPQUFnQiwwQkFBMEI7SUFJOUMsWUFDbUIsY0FBOEIsRUFDSixVQUFrQjtRQUQ1QyxtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFDSixlQUFVLEdBQVYsVUFBVSxDQUFRO1FBRTdELElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQ2pDLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUNsQixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUN2QyxDQUFDO0lBRVMsVUFBVTtRQUNsQixPQUFPLGlCQUFpQixDQUF5QixJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDcEUsQ0FBQztJQUVTLFVBQVU7UUFDbEIsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsRUFBRTtZQUN6RCxNQUFNLE9BQU8sR0FBRyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDaEQsSUFBSSxDQUFDLGNBQWMsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxPQUFPLENBQUMsQ0FBQztTQUMxRDtJQUNILENBQUM7SUFFUyxZQUFZO1FBQ3BCLE1BQU0sUUFBUSxHQUFHLHFCQUFxQixDQUF3QixJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDL0UsT0FBTyxtQkFBbUIsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUN2QyxDQUFDOzt1SEEzQm1CLDBCQUEwQixnREFNcEMsZ0JBQWdCOzJIQU5OLDBCQUEwQjsyRkFBMUIsMEJBQTBCO2tCQUQvQyxVQUFVOzswQkFPTixNQUFNOzJCQUFDLGdCQUFnQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBSZWR1Y2VyTWFuYWdlciwgY3JlYXRlRmVhdHVyZVNlbGVjdG9yIH0gZnJvbSAnQG5ncngvc3RvcmUnO1xyXG5pbXBvcnQgeyBGT1JNX0ZFQVRVUkVfS0VZLCBGb3JtQWN0aW9ucywgRm9ybVNlbGVjdG9ycywgRm9ybVN0YXRlIH0gZnJvbSAnLi4vbW9kZWxzL2Zvcm0ubW9kZWwnO1xyXG5pbXBvcnQgeyBjcmVhdGVGb3JtQWN0aW9ucyB9IGZyb20gJy4vZm9ybS1hY3Rpb25zJztcclxuaW1wb3J0IHsgY3JlYXRlRm9ybVJlZHVjZXIgfSBmcm9tICcuL2Zvcm0tcmVkdWNlcic7XHJcbmltcG9ydCB7IGNyZWF0ZUZvcm1TZWxlY3RvcnMgfSBmcm9tICcuL2Zvcm0tc2VsZWN0b3JzJztcclxuXHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEFic3RyYWN0Rm9ybVJlZHVjZXJNYW5hZ2VyPERUTywgRVJST1IsIENSRUFURV9EVE8gPSBEVE8+IHtcclxuICBhY3Rpb25zOiBGb3JtQWN0aW9uczxEVE8sIEVSUk9SLCBDUkVBVEVfRFRPPjtcclxuICBzZWxlY3RvcnM6IEZvcm1TZWxlY3RvcnM8RFRPLCBFUlJPUj47XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSByZWFkb25seSByZWR1Y2VyTWFuYWdlcjogUmVkdWNlck1hbmFnZXIsXHJcbiAgICBASW5qZWN0KEZPUk1fRkVBVFVSRV9LRVkpIHByaXZhdGUgcmVhZG9ubHkgZmVhdHVyZUtleTogc3RyaW5nXHJcbiAgKSB7XHJcbiAgICB0aGlzLmFjdGlvbnMgPSB0aGlzLmdldEFjdGlvbnMoKTtcclxuICAgIHRoaXMuYWRkUmVkdWNlcigpO1xyXG4gICAgdGhpcy5zZWxlY3RvcnMgPSB0aGlzLmdldFNlbGVjdG9ycygpO1xyXG4gIH1cclxuXHJcbiAgcHJvdGVjdGVkIGdldEFjdGlvbnMoKSB7XHJcbiAgICByZXR1cm4gY3JlYXRlRm9ybUFjdGlvbnM8RFRPLCBFUlJPUiwgQ1JFQVRFX0RUTz4odGhpcy5mZWF0dXJlS2V5KTtcclxuICB9XHJcblxyXG4gIHByb3RlY3RlZCBhZGRSZWR1Y2VyKCkge1xyXG4gICAgaWYgKCF0aGlzLnJlZHVjZXJNYW5hZ2VyLmN1cnJlbnRSZWR1Y2Vyc1t0aGlzLmZlYXR1cmVLZXldKSB7XHJcbiAgICAgIGNvbnN0IHJlZHVjZXIgPSBjcmVhdGVGb3JtUmVkdWNlcih0aGlzLmFjdGlvbnMpO1xyXG4gICAgICB0aGlzLnJlZHVjZXJNYW5hZ2VyLmFkZFJlZHVjZXIodGhpcy5mZWF0dXJlS2V5LCByZWR1Y2VyKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByb3RlY3RlZCBnZXRTZWxlY3RvcnMoKSB7XHJcbiAgICBjb25zdCBnZXRTdGF0ZSA9IGNyZWF0ZUZlYXR1cmVTZWxlY3RvcjxGb3JtU3RhdGU8RFRPLCBFUlJPUj4+KHRoaXMuZmVhdHVyZUtleSk7XHJcbiAgICByZXR1cm4gY3JlYXRlRm9ybVNlbGVjdG9ycyhnZXRTdGF0ZSk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|