@smartsoft001/crud-shell-angular 1.1.732 → 1.1.736
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/{esm2015/index.js → esm2020/index.mjs} +0 -0
- package/{esm2015/lib/+state/crud.actions.js → esm2020/lib/+state/crud.actions.mjs} +0 -0
- package/esm2020/lib/+state/crud.effects.mjs +182 -0
- package/esm2020/lib/+state/crud.facade.mjs +88 -0
- package/esm2020/lib/+state/crud.reducer.mjs +212 -0
- package/{esm2015/lib/+state/crud.selectors.js → esm2020/lib/+state/crud.selectors.mjs} +0 -0
- package/esm2020/lib/components/components.module.mjs +109 -0
- package/esm2020/lib/components/export/export.component.mjs +47 -0
- package/esm2020/lib/components/filter/base/base.component.mjs +140 -0
- package/esm2020/lib/components/filter/check/check.component.mjs +36 -0
- package/esm2020/lib/components/filter/date/date.component.mjs +41 -0
- package/esm2020/lib/components/filter/date-with-edit/date-with-edit.component.mjs +45 -0
- package/esm2020/lib/components/filter/filter.component.mjs +29 -0
- package/esm2020/lib/components/filter/flag/flag.component.mjs +16 -0
- package/{esm2015/lib/components/filter/index.js → esm2020/lib/components/filter/index.mjs} +0 -0
- package/esm2020/lib/components/filter/int/int.component.mjs +33 -0
- package/esm2020/lib/components/filter/radio/radio.component.mjs +16 -0
- package/esm2020/lib/components/filter/text/text.component.mjs +16 -0
- package/esm2020/lib/components/filters/filters.component.mjs +111 -0
- package/esm2020/lib/components/filters-config/filters-config.component.mjs +37 -0
- package/esm2020/lib/components/group/group.component.mjs +54 -0
- package/{esm2015/lib/components/index.js → esm2020/lib/components/index.mjs} +0 -0
- package/esm2020/lib/components/multiselect/multiselect.component.mjs +68 -0
- package/esm2020/lib/crud-full.module.mjs +105 -0
- package/esm2020/lib/crud.config.mjs +17 -0
- package/esm2020/lib/crud.module.mjs +107 -0
- package/esm2020/lib/factories/list-pagination/list-pagination.factory.mjs +69 -0
- package/{esm2015/lib/models/index.js → esm2020/lib/models/index.mjs} +0 -0
- package/{esm2015/lib/models/interfaces.js → esm2020/lib/models/interfaces.mjs} +0 -0
- package/esm2020/lib/pages/index.mjs +7 -0
- package/esm2020/lib/pages/item/base/base.component.mjs +44 -0
- package/esm2020/lib/pages/item/item.component.mjs +393 -0
- package/esm2020/lib/pages/item/standard/standard.component.mjs +15 -0
- package/esm2020/lib/pages/list/base/base.component.mjs +23 -0
- package/esm2020/lib/pages/list/list.component.mjs +343 -0
- package/esm2020/lib/pages/list/standard/standard.component.mjs +34 -0
- package/esm2020/lib/pipes/form-options/form-options.pipe.mjs +55 -0
- package/{esm2015/lib/pipes/index.js → esm2020/lib/pipes/index.mjs} +0 -0
- package/esm2020/lib/pipes/pipes.module.mjs +20 -0
- package/{esm2015/lib/providers/model-possibilities/model-possibilities.provider.js → esm2020/lib/providers/model-possibilities/model-possibilities.provider.mjs} +0 -0
- package/esm2020/lib/services/crud/crud.service.mjs +138 -0
- package/esm2020/lib/services/list-group/list-group.service.mjs +60 -0
- package/esm2020/lib/services/page/page.service.mjs +41 -0
- package/{esm2015/lib/services/search/search.service.js → esm2020/lib/services/search/search.service.mjs} +9 -8
- package/esm2020/lib/services/socket/socket.service.mjs +17 -0
- package/esm2020/smartsoft001-crud-shell-angular.mjs +5 -0
- package/fesm2015/smartsoft001-crud-shell-angular.mjs +2569 -0
- package/fesm2015/smartsoft001-crud-shell-angular.mjs.map +1 -0
- package/fesm2020/smartsoft001-crud-shell-angular.mjs +2729 -0
- package/fesm2020/smartsoft001-crud-shell-angular.mjs.map +1 -0
- package/lib/+state/crud.effects.d.ts +3 -0
- package/lib/+state/crud.effects.d.ts.map +1 -1
- package/lib/+state/crud.facade.d.ts +3 -0
- package/lib/+state/crud.facade.d.ts.map +1 -1
- package/lib/components/components.module.d.ts +22 -0
- package/lib/components/components.module.d.ts.map +1 -1
- package/lib/components/export/export.component.d.ts +3 -0
- package/lib/components/export/export.component.d.ts.map +1 -1
- package/lib/components/filter/base/base.component.d.ts +3 -0
- package/lib/components/filter/base/base.component.d.ts.map +1 -1
- package/lib/components/filter/check/check.component.d.ts +3 -0
- package/lib/components/filter/check/check.component.d.ts.map +1 -1
- package/lib/components/filter/date/date.component.d.ts +3 -0
- package/lib/components/filter/date/date.component.d.ts.map +1 -1
- package/lib/components/filter/date-with-edit/date-with-edit.component.d.ts +3 -0
- package/lib/components/filter/date-with-edit/date-with-edit.component.d.ts.map +1 -1
- package/lib/components/filter/filter.component.d.ts +3 -0
- package/lib/components/filter/filter.component.d.ts.map +1 -1
- package/lib/components/filter/flag/flag.component.d.ts +3 -0
- package/lib/components/filter/flag/flag.component.d.ts.map +1 -1
- package/lib/components/filter/int/int.component.d.ts +3 -0
- package/lib/components/filter/int/int.component.d.ts.map +1 -1
- package/lib/components/filter/radio/radio.component.d.ts +3 -0
- package/lib/components/filter/radio/radio.component.d.ts.map +1 -1
- package/lib/components/filter/text/text.component.d.ts +3 -0
- package/lib/components/filter/text/text.component.d.ts.map +1 -1
- package/lib/components/filters/filters.component.d.ts +3 -0
- package/lib/components/filters/filters.component.d.ts.map +1 -1
- package/lib/components/filters-config/filters-config.component.d.ts +3 -0
- package/lib/components/filters-config/filters-config.component.d.ts.map +1 -1
- package/lib/components/group/group.component.d.ts +3 -0
- package/lib/components/group/group.component.d.ts.map +1 -1
- package/lib/components/multiselect/multiselect.component.d.ts +3 -0
- package/lib/components/multiselect/multiselect.component.d.ts.map +1 -1
- package/lib/crud-full.module.d.ts +20 -0
- package/lib/crud-full.module.d.ts.map +1 -1
- package/lib/crud.config.d.ts +18 -2
- package/lib/crud.config.d.ts.map +1 -1
- package/lib/crud.module.d.ts +13 -0
- package/lib/crud.module.d.ts.map +1 -1
- package/lib/factories/list-pagination/list-pagination.factory.d.ts +3 -0
- package/lib/factories/list-pagination/list-pagination.factory.d.ts.map +1 -1
- package/lib/pages/index.d.ts +5 -1
- package/lib/pages/index.d.ts.map +1 -1
- package/lib/pages/item/base/base.component.d.ts +3 -0
- package/lib/pages/item/base/base.component.d.ts.map +1 -1
- package/lib/pages/item/item.component.d.ts +7 -1
- package/lib/pages/item/item.component.d.ts.map +1 -1
- package/lib/pages/item/standard/standard.component.d.ts +3 -0
- package/lib/pages/item/standard/standard.component.d.ts.map +1 -1
- package/lib/pages/list/base/base.component.d.ts +3 -0
- package/lib/pages/list/base/base.component.d.ts.map +1 -1
- package/lib/pages/list/list.component.d.ts +3 -0
- package/lib/pages/list/list.component.d.ts.map +1 -1
- package/lib/pages/list/standard/standard.component.d.ts +3 -0
- package/lib/pages/list/standard/standard.component.d.ts.map +1 -1
- package/lib/pipes/form-options/form-options.pipe.d.ts +3 -0
- package/lib/pipes/form-options/form-options.pipe.d.ts.map +1 -1
- package/lib/pipes/pipes.module.d.ts +5 -0
- package/lib/pipes/pipes.module.d.ts.map +1 -1
- package/lib/services/crud/crud.service.d.ts +3 -0
- package/lib/services/crud/crud.service.d.ts.map +1 -1
- package/lib/services/list-group/list-group.service.d.ts +3 -0
- package/lib/services/list-group/list-group.service.d.ts.map +1 -1
- package/lib/services/page/page.service.d.ts +3 -0
- package/lib/services/page/page.service.d.ts.map +1 -1
- package/lib/services/search/search.service.d.ts +3 -0
- package/lib/services/search/search.service.d.ts.map +1 -1
- package/lib/services/socket/socket.service.d.ts +5 -0
- package/lib/services/socket/socket.service.d.ts.map +1 -1
- package/package.json +38 -25
- package/smartsoft001-crud-shell-angular.d.ts +1 -17
- package/smartsoft001-crud-shell-angular.d.ts.map +1 -1
- package/bundles/smartsoft001-crud-shell-angular.umd.js +0 -3283
- package/bundles/smartsoft001-crud-shell-angular.umd.js.map +0 -1
- package/esm2015/lib/+state/crud.effects.js +0 -178
- package/esm2015/lib/+state/crud.facade.js +0 -92
- package/esm2015/lib/+state/crud.reducer.js +0 -92
- package/esm2015/lib/components/components.module.js +0 -65
- package/esm2015/lib/components/export/export.component.js +0 -55
- package/esm2015/lib/components/filter/base/base.component.js +0 -144
- package/esm2015/lib/components/filter/check/check.component.js +0 -34
- package/esm2015/lib/components/filter/date/date.component.js +0 -42
- package/esm2015/lib/components/filter/date-with-edit/date-with-edit.component.js +0 -43
- package/esm2015/lib/components/filter/filter.component.js +0 -30
- package/esm2015/lib/components/filter/flag/flag.component.js +0 -13
- package/esm2015/lib/components/filter/int/int.component.js +0 -31
- package/esm2015/lib/components/filter/radio/radio.component.js +0 -13
- package/esm2015/lib/components/filter/text/text.component.js +0 -13
- package/esm2015/lib/components/filters/filters.component.js +0 -124
- package/esm2015/lib/components/filters-config/filters-config.component.js +0 -46
- package/esm2015/lib/components/group/group.component.js +0 -65
- package/esm2015/lib/components/multiselect/multiselect.component.js +0 -74
- package/esm2015/lib/crud-full.module.js +0 -83
- package/esm2015/lib/crud.config.js +0 -14
- package/esm2015/lib/crud.module.js +0 -84
- package/esm2015/lib/factories/list-pagination/list-pagination.factory.js +0 -73
- package/esm2015/lib/pages/index.js +0 -3
- package/esm2015/lib/pages/item/base/base.component.js +0 -44
- package/esm2015/lib/pages/item/item.component.js +0 -345
- package/esm2015/lib/pages/item/standard/standard.component.js +0 -13
- package/esm2015/lib/pages/list/base/base.component.js +0 -30
- package/esm2015/lib/pages/list/list.component.js +0 -319
- package/esm2015/lib/pages/list/standard/standard.component.js +0 -39
- package/esm2015/lib/pipes/form-options/form-options.pipe.js +0 -56
- package/esm2015/lib/pipes/pipes.module.js +0 -16
- package/esm2015/lib/services/crud/crud.service.js +0 -143
- package/esm2015/lib/services/list-group/list-group.service.js +0 -61
- package/esm2015/lib/services/page/page.service.js +0 -48
- package/esm2015/lib/services/socket/socket.service.js +0 -14
- package/esm2015/smartsoft001-crud-shell-angular.js +0 -22
- package/fesm2015/smartsoft001-crud-shell-angular.js +0 -2638
- package/fesm2015/smartsoft001-crud-shell-angular.js.map +0 -1
- package/lib/+state/crud.effects.ngfactory.d.ts.map +0 -1
- package/lib/+state/crud.facade.ngfactory.d.ts.map +0 -1
- package/lib/components/components.module.ngfactory.d.ts.map +0 -1
- package/lib/components/export/export.component.ngfactory.d.ts.map +0 -1
- package/lib/components/export/export.component.scss.shim.ngstyle.d.ts.map +0 -1
- package/lib/components/filter/check/check.component.ngfactory.d.ts.map +0 -1
- package/lib/components/filter/check/check.component.scss.shim.ngstyle.d.ts.map +0 -1
- package/lib/components/filter/date/date.component.ngfactory.d.ts.map +0 -1
- package/lib/components/filter/date/date.component.scss.shim.ngstyle.d.ts.map +0 -1
- package/lib/components/filter/date-with-edit/date-with-edit.component.ngfactory.d.ts.map +0 -1
- package/lib/components/filter/date-with-edit/date-with-edit.component.scss.shim.ngstyle.d.ts.map +0 -1
- package/lib/components/filter/filter.component.ngfactory.d.ts.map +0 -1
- package/lib/components/filter/filter.component.scss.shim.ngstyle.d.ts.map +0 -1
- package/lib/components/filter/flag/flag.component.ngfactory.d.ts.map +0 -1
- package/lib/components/filter/flag/flag.component.scss.shim.ngstyle.d.ts.map +0 -1
- package/lib/components/filter/int/int.component.ngfactory.d.ts.map +0 -1
- package/lib/components/filter/int/int.component.scss.shim.ngstyle.d.ts.map +0 -1
- package/lib/components/filter/radio/radio.component.ngfactory.d.ts.map +0 -1
- package/lib/components/filter/radio/radio.component.scss.shim.ngstyle.d.ts.map +0 -1
- package/lib/components/filter/text/text.component.ngfactory.d.ts.map +0 -1
- package/lib/components/filter/text/text.component.scss.shim.ngstyle.d.ts.map +0 -1
- package/lib/components/filters/filters.component.ngfactory.d.ts.map +0 -1
- package/lib/components/filters/filters.component.scss.shim.ngstyle.d.ts.map +0 -1
- package/lib/components/filters-config/filters-config.component.ngfactory.d.ts.map +0 -1
- package/lib/components/filters-config/filters-config.component.scss.shim.ngstyle.d.ts.map +0 -1
- package/lib/components/group/group.component.ngfactory.d.ts.map +0 -1
- package/lib/components/group/group.component.scss.shim.ngstyle.d.ts.map +0 -1
- package/lib/components/multiselect/multiselect.component.ngfactory.d.ts.map +0 -1
- package/lib/components/multiselect/multiselect.component.scss.shim.ngstyle.d.ts.map +0 -1
- package/lib/crud-full.module.ngfactory.d.ts.map +0 -1
- package/lib/crud.config.ngfactory.d.ts.map +0 -1
- package/lib/crud.module.ngfactory.d.ts.map +0 -1
- package/lib/factories/list-pagination/list-pagination.factory.ngfactory.d.ts.map +0 -1
- package/lib/pages/item/item.component.ngfactory.d.ts.map +0 -1
- package/lib/pages/item/standard/standard.component.ngfactory.d.ts.map +0 -1
- package/lib/pages/item/standard/standard.component.scss.shim.ngstyle.d.ts.map +0 -1
- package/lib/pages/list/list.component.ngfactory.d.ts.map +0 -1
- package/lib/pages/list/standard/standard.component.ngfactory.d.ts.map +0 -1
- package/lib/pages/list/standard/standard.component.scss.shim.ngstyle.d.ts.map +0 -1
- package/lib/pipes/form-options/form-options.pipe.ngfactory.d.ts.map +0 -1
- package/lib/pipes/pipes.module.ngfactory.d.ts.map +0 -1
- package/lib/services/crud/crud.service.ngfactory.d.ts.map +0 -1
- package/lib/services/list-group/list-group.service.ngfactory.d.ts.map +0 -1
- package/lib/services/page/page.service.ngfactory.d.ts.map +0 -1
- package/lib/services/search/search.service.ngfactory.d.ts.map +0 -1
- package/lib/services/socket/socket.service.ngfactory.d.ts.map +0 -1
- package/smartsoft001-crud-shell-angular.metadata.json +0 -1
|
File without changes
|
|
File without changes
|
|
@@ -0,0 +1,182 @@
|
|
|
1
|
+
import "reflect-metadata";
|
|
2
|
+
import { Injectable } from "@angular/core";
|
|
3
|
+
import { catchError, first, tap } from "rxjs/operators";
|
|
4
|
+
import { of } from "rxjs";
|
|
5
|
+
import { ActionsSubject, select, State, Store } from "@ngrx/store";
|
|
6
|
+
import { CrudService } from "../services/crud/crud.service";
|
|
7
|
+
import * as CrudActions from "./crud.actions";
|
|
8
|
+
import { CrudConfig } from "../crud.config";
|
|
9
|
+
import { getCrudFilter } from "./crud.selectors";
|
|
10
|
+
import * as i0 from "@angular/core";
|
|
11
|
+
import * as i1 from "@ngrx/store";
|
|
12
|
+
import * as i2 from "../services/crud/crud.service";
|
|
13
|
+
import * as i3 from "../crud.config";
|
|
14
|
+
export class CrudEffects {
|
|
15
|
+
constructor(actions$, service, config, store, state) {
|
|
16
|
+
this.actions$ = actions$;
|
|
17
|
+
this.service = service;
|
|
18
|
+
this.config = config;
|
|
19
|
+
this.store = store;
|
|
20
|
+
this.state = state;
|
|
21
|
+
}
|
|
22
|
+
init() {
|
|
23
|
+
const metadata = Reflect.getMetadata(this.config.entity, CrudEffects);
|
|
24
|
+
if (metadata)
|
|
25
|
+
return;
|
|
26
|
+
Reflect.defineMetadata(this.config.entity, true, CrudEffects);
|
|
27
|
+
this.actions$.subscribe((action) => {
|
|
28
|
+
switch (action.type) {
|
|
29
|
+
case `[${this.config.entity}] Create`:
|
|
30
|
+
this.service
|
|
31
|
+
.create(action.item)
|
|
32
|
+
.pipe(tap(() => this.store.dispatch(CrudActions.createSuccess(this.config.entity, action.item))), catchError((error) => {
|
|
33
|
+
this.store.dispatch(CrudActions.createFailure(this.config.entity, action.item, error));
|
|
34
|
+
return of();
|
|
35
|
+
}))
|
|
36
|
+
.subscribe();
|
|
37
|
+
break;
|
|
38
|
+
case `[${this.config.entity}] Create Success`:
|
|
39
|
+
const createState = this.state.getValue()[this.config.entity];
|
|
40
|
+
this.store.dispatch(CrudActions.read(this.config.entity, createState.filter ? { ...createState.filter, offset: 0 } : null));
|
|
41
|
+
break;
|
|
42
|
+
case `[${this.config.entity}] Create Many`:
|
|
43
|
+
this.service
|
|
44
|
+
.createMany(action.data.items, action.data.options)
|
|
45
|
+
.pipe(tap(() => this.store.dispatch(CrudActions.createManySuccess(this.config.entity, {
|
|
46
|
+
items: action.data.items,
|
|
47
|
+
options: action.data.options,
|
|
48
|
+
}))), catchError((error) => {
|
|
49
|
+
this.store.dispatch(CrudActions.createManyFailure(this.config.entity, {
|
|
50
|
+
items: action.data.items,
|
|
51
|
+
options: action.data.options,
|
|
52
|
+
}, error));
|
|
53
|
+
return of();
|
|
54
|
+
}))
|
|
55
|
+
.subscribe();
|
|
56
|
+
break;
|
|
57
|
+
case `[${this.config.entity}] Create Many Success`:
|
|
58
|
+
const createManyState = this.state.getValue()[this.config.entity];
|
|
59
|
+
this.store.dispatch(CrudActions.read(this.config.entity, createManyState.filter
|
|
60
|
+
? { ...createManyState.filter, offset: 0 }
|
|
61
|
+
: null));
|
|
62
|
+
break;
|
|
63
|
+
case `[${this.config.entity}] Read`:
|
|
64
|
+
this.service
|
|
65
|
+
.getList(action.filter)
|
|
66
|
+
.pipe(tap((result) => this.store.dispatch(CrudActions.readSuccess(this.config.entity, action.filter, result))), catchError((error) => {
|
|
67
|
+
this.store.dispatch(CrudActions.readFailure(this.config.entity, action.filter, error));
|
|
68
|
+
return of();
|
|
69
|
+
}))
|
|
70
|
+
.subscribe();
|
|
71
|
+
break;
|
|
72
|
+
case `[${this.config.entity}] Export`:
|
|
73
|
+
this.service
|
|
74
|
+
.exportList(action.filter, action.format)
|
|
75
|
+
.pipe(tap((result) => this.store.dispatch(CrudActions.exportListSuccess(this.config.entity, action.filter))), catchError((error) => {
|
|
76
|
+
this.store.dispatch(CrudActions.exportListFailure(this.config.entity, action.filter, error));
|
|
77
|
+
return of();
|
|
78
|
+
}))
|
|
79
|
+
.subscribe();
|
|
80
|
+
break;
|
|
81
|
+
case `[${this.config.entity}] Select`:
|
|
82
|
+
this.service
|
|
83
|
+
.getById(action.id)
|
|
84
|
+
.pipe(tap((result) => this.store.dispatch(CrudActions.selectSuccess(this.config.entity, action.id, result))), catchError((error) => {
|
|
85
|
+
this.store.dispatch(CrudActions.selectFailure(this.config.entity, action.id, error));
|
|
86
|
+
return of();
|
|
87
|
+
}))
|
|
88
|
+
.subscribe();
|
|
89
|
+
break;
|
|
90
|
+
case `[${this.config.entity}] Update`:
|
|
91
|
+
this.service
|
|
92
|
+
.updatePartial(action.item)
|
|
93
|
+
.pipe(tap(() => this.store.dispatch(CrudActions.updateSuccess(this.config.entity, action.item))), catchError((error) => {
|
|
94
|
+
this.store.dispatch(CrudActions.updateFailure(this.config.entity, action.item, error));
|
|
95
|
+
this.store.dispatch(CrudActions.read(this.config.entity));
|
|
96
|
+
return of();
|
|
97
|
+
}))
|
|
98
|
+
.subscribe();
|
|
99
|
+
break;
|
|
100
|
+
case `[${this.config.entity}] Update Success`:
|
|
101
|
+
this.store
|
|
102
|
+
.pipe(select(getCrudFilter(this.config.entity)), first())
|
|
103
|
+
.subscribe((filter) => {
|
|
104
|
+
this.store.dispatch(CrudActions.read(this.config.entity, {
|
|
105
|
+
...filter,
|
|
106
|
+
offset: 0,
|
|
107
|
+
}));
|
|
108
|
+
this.store.dispatch(CrudActions.select(this.config.entity, action.item.id));
|
|
109
|
+
});
|
|
110
|
+
break;
|
|
111
|
+
case `[${this.config.entity}] Update partial`:
|
|
112
|
+
this.service
|
|
113
|
+
.updatePartial(action.item)
|
|
114
|
+
.pipe(tap(() => this.store.dispatch(CrudActions.updatePartialSuccess(this.config.entity, action.item))), catchError((error) => {
|
|
115
|
+
this.store.dispatch(CrudActions.updatePartialFailure(this.config.entity, action.item, error));
|
|
116
|
+
this.store.dispatch(CrudActions.read(this.config.entity));
|
|
117
|
+
return of();
|
|
118
|
+
}))
|
|
119
|
+
.subscribe();
|
|
120
|
+
break;
|
|
121
|
+
case `[${this.config.entity}] Update partial Success`:
|
|
122
|
+
this.store
|
|
123
|
+
.pipe(select(getCrudFilter(this.config.entity)), first())
|
|
124
|
+
.subscribe((filter) => {
|
|
125
|
+
this.store.dispatch(CrudActions.read(this.config.entity, {
|
|
126
|
+
...filter,
|
|
127
|
+
offset: 0,
|
|
128
|
+
}));
|
|
129
|
+
this.store.dispatch(CrudActions.select(this.config.entity, action.item.id));
|
|
130
|
+
});
|
|
131
|
+
break;
|
|
132
|
+
case `[${this.config.entity}] Update partial many`:
|
|
133
|
+
this.service
|
|
134
|
+
.updatePartialMany(action.items)
|
|
135
|
+
.pipe(tap(() => this.store.dispatch(CrudActions.updatePartialManySuccess(this.config.entity, action.items))), catchError((error) => {
|
|
136
|
+
this.store.dispatch(CrudActions.updatePartialManyFailure(this.config.entity, action.items, error));
|
|
137
|
+
this.store.dispatch(CrudActions.read(this.config.entity));
|
|
138
|
+
return of();
|
|
139
|
+
}))
|
|
140
|
+
.subscribe();
|
|
141
|
+
break;
|
|
142
|
+
case `[${this.config.entity}] Update partial many Success`:
|
|
143
|
+
this.store
|
|
144
|
+
.pipe(select(getCrudFilter(this.config.entity)), first())
|
|
145
|
+
.subscribe((filter) => {
|
|
146
|
+
this.store.dispatch(CrudActions.read(this.config.entity, {
|
|
147
|
+
...filter,
|
|
148
|
+
offset: 0,
|
|
149
|
+
}));
|
|
150
|
+
});
|
|
151
|
+
break;
|
|
152
|
+
case `[${this.config.entity}] Delete`:
|
|
153
|
+
this.service
|
|
154
|
+
.delete(action.id)
|
|
155
|
+
.pipe(tap(() => this.store.dispatch(CrudActions.deleteSuccess(this.config.entity, action.id))), catchError((error) => {
|
|
156
|
+
this.store.dispatch(CrudActions.deleteFailure(this.config.entity, action.id, error));
|
|
157
|
+
return of();
|
|
158
|
+
}))
|
|
159
|
+
.subscribe();
|
|
160
|
+
break;
|
|
161
|
+
case `[${this.config.entity}] Delete Success`:
|
|
162
|
+
this.store
|
|
163
|
+
.pipe(select(getCrudFilter(this.config.entity)), first())
|
|
164
|
+
.subscribe((filter) => {
|
|
165
|
+
this.store.dispatch(CrudActions.read(this.config.entity, {
|
|
166
|
+
...filter,
|
|
167
|
+
offset: 0,
|
|
168
|
+
}));
|
|
169
|
+
});
|
|
170
|
+
break;
|
|
171
|
+
default:
|
|
172
|
+
break;
|
|
173
|
+
}
|
|
174
|
+
});
|
|
175
|
+
}
|
|
176
|
+
}
|
|
177
|
+
/** @nocollapse */ /** @nocollapse */ CrudEffects.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: CrudEffects, deps: [{ token: i1.ActionsSubject }, { token: i2.CrudService }, { token: i3.CrudConfig }, { token: i1.Store }, { token: i1.State }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
178
|
+
/** @nocollapse */ /** @nocollapse */ CrudEffects.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: CrudEffects });
|
|
179
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: CrudEffects, decorators: [{
|
|
180
|
+
type: Injectable
|
|
181
|
+
}], ctorParameters: function () { return [{ type: i1.ActionsSubject }, { type: i2.CrudService }, { type: i3.CrudConfig }, { type: i1.Store }, { type: i1.State }]; } });
|
|
182
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3J1ZC5lZmZlY3RzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jcnVkL3NoZWxsL2FuZ3VsYXIvc3JjL2xpYi8rc3RhdGUvY3J1ZC5lZmZlY3RzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sa0JBQWtCLENBQUM7QUFFMUIsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzFCLE9BQU8sRUFBVSxjQUFjLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFFM0UsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBRTVELE9BQU8sS0FBSyxXQUFXLE1BQU0sZ0JBQWdCLENBQUM7QUFDOUMsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzVDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQzs7Ozs7QUFHakQsTUFBTSxPQUFPLFdBQVc7SUFDdEIsWUFDVSxRQUF3QixFQUN4QixPQUF1QixFQUN2QixNQUFxQixFQUNyQixLQUFpQixFQUNqQixLQUFpQjtRQUpqQixhQUFRLEdBQVIsUUFBUSxDQUFnQjtRQUN4QixZQUFPLEdBQVAsT0FBTyxDQUFnQjtRQUN2QixXQUFNLEdBQU4sTUFBTSxDQUFlO1FBQ3JCLFVBQUssR0FBTCxLQUFLLENBQVk7UUFDakIsVUFBSyxHQUFMLEtBQUssQ0FBWTtJQUN4QixDQUFDO0lBRUosSUFBSTtRQUNGLE1BQU0sUUFBUSxHQUFHLE9BQU8sQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsV0FBVyxDQUFDLENB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QUMsS0FBSyxDQUFDLFFBQVEsQ0FDakIsV0FBVyxDQUFDLGFBQWEsQ0FDdkIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQ2xCLE1BQU0sQ0FBQyxFQUFFLEVBQ1QsS0FBSyxDQUNOLENBQ0YsQ0FBQzt3QkFDRixPQUFPLEVBQUUsRUFBRSxDQUFDO29CQUNkLENBQUMsQ0FBQyxDQUNIO3lCQUNBLFNBQVMsRUFBRSxDQUFDO29CQUNmLE1BQU07Z0JBRVIsS0FBSyxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxrQkFBa0I7b0JBQ3pDLElBQUksQ0FBQyxLQUFLO3lCQUNMLElBQUksQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQzt5QkFDeEQsU0FBUyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUU7d0JBQ2xCLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUNmLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUU7NEJBQ2pDLEdBQUcsTUFBTTs0QkFDVCxNQUFNLEVBQUUsQ0FBQzt5QkFDWixDQUFDLENBQ0wsQ0FBQztvQkFDTixDQUFDLENBQUMsQ0FBQztvQkFDVCxNQUFNO2dCQUVSO29CQUNFLE1BQU07YUFDVDtRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7OElBN1VVLFdBQVc7a0pBQVgsV0FBVzsyRkFBWCxXQUFXO2tCQUR2QixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFwicmVmbGVjdC1tZXRhZGF0YVwiO1xuXG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IGNhdGNoRXJyb3IsIGZpcnN0LCB0YXAgfSBmcm9tIFwicnhqcy9vcGVyYXRvcnNcIjtcbmltcG9ydCB7IG9mIH0gZnJvbSBcInJ4anNcIjtcbmltcG9ydCB7IEFjdGlvbiwgQWN0aW9uc1N1YmplY3QsIHNlbGVjdCwgU3RhdGUsIFN0b3JlIH0gZnJvbSBcIkBuZ3J4L3N0b3JlXCI7XG5cbmltcG9ydCB7IENydWRTZXJ2aWNlIH0gZnJvbSBcIi4uL3NlcnZpY2VzL2NydWQvY3J1ZC5zZXJ2aWNlXCI7XG5pbXBvcnQgeyBJRW50aXR5IH0gZnJvbSBcIkBzbWFydHNvZnQwMDEvZG9tYWluLWNvcmVcIjtcbmltcG9ydCAqIGFzIENydWRBY3Rpb25zIGZyb20gXCIuL2NydWQuYWN0aW9uc1wiO1xuaW1wb3J0IHsgQ3J1ZENvbmZpZyB9IGZyb20gXCIuLi9jcnVkLmNvbmZpZ1wiO1xuaW1wb3J0IHsgZ2V0Q3J1ZEZpbHRlciB9IGZyb20gXCIuL2NydWQuc2VsZWN0b3JzXCI7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBDcnVkRWZmZWN0czxUIGV4dGVuZHMgSUVudGl0eTxzdHJpbmc+PiB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgYWN0aW9ucyQ6IEFjdGlvbnNTdWJqZWN0LFxuICAgIHByaXZhdGUgc2VydmljZTogQ3J1ZFNlcnZpY2U8VD4sXG4gICAgcHJpdmF0ZSBjb25maWc6IENydWRDb25maWc8VD4sXG4gICAgcHJpdmF0ZSBzdG9yZTogU3RvcmU8YW55PixcbiAgICBwcml2YXRlIHN0YXRlOiBTdGF0ZTxhbnk+XG4gICkge31cblxuICBpbml0KCk6IHZvaWQge1xuICAgIGNvbnN0IG1ldGFkYXRhID0gUmVmbGVjdC5nZXRNZXRhZGF0YSh0aGlzLmNvbmZpZy5lbnRpdHksIENydWRFZmZlY3RzKTtcblxuICAgIGlmIChtZXRhZGF0YSkgcmV0dXJuO1xuXG4gICAgUmVmbGVjdC5kZWZpbmVNZXRhZGF0YSh0aGlzLmNvbmZpZy5lbnRpdHksIHRydWUsIENydWRFZmZlY3RzKTtcblxuICAgIHRoaXMuYWN0aW9ucyQuc3Vic2NyaWJlKChhY3Rpb246IEFjdGlvbiAmIGFueSkgPT4ge1xuICAgICAgc3dpdGNoIChhY3Rpb24udHlwZSkge1xuICAgICAgICBjYXNlIGBbJHt0aGlzLmNvbmZpZy5lbnRpdHl9XSBDcmVhdGVgOlxuICAgICAgICAgIHRoaXMuc2VydmljZVxuICAgICAgICAgICAgLmNyZWF0ZShhY3Rpb24uaXRlbSlcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICB0YXAoKCkgPT5cbiAgICAgICAgICAgICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKFxuICAgICAgICAgICAgICAgICAgQ3J1ZEFjdGlvbnMuY3JlYXRlU3VjY2Vzcyh0aGlzLmNvbmZpZy5lbnRpdHksIGFjdGlvbi5pdGVtKVxuICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgY2F0Y2hFcnJvcigoZXJyb3IpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKFxuICAgICAgICAgICAgICAgICAgQ3J1ZEFjdGlvbnMuY3JlYXRlRmFpbHVyZShcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5jb25maWcuZW50aXR5LFxuICAgICAgICAgICAgICAgICAgICBhY3Rpb24uaXRlbSxcbiAgICAgICAgICAgICAgICAgICAgZXJyb3JcbiAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIHJldHVybiBvZigpO1xuICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgpO1xuICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgIGNhc2UgYFske3RoaXMuY29uZmlnLmVudGl0eX1dIENyZWF0ZSBTdWNjZXNzYDpcbiAgICAgICAgICBjb25zdCBjcmVhdGVTdGF0ZSA9IHRoaXMuc3RhdGUuZ2V0VmFsdWUoKVt0aGlzLmNvbmZpZy5lbnRpdHldO1xuICAgICAgICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goXG4gICAgICAgICAgICBDcnVkQWN0aW9ucy5yZWFkKFxuICAgICAgICAgICAgICB0aGlzLmNvbmZpZy5lbnRpdHksXG4gICAgICAgICAgICAgIGNyZWF0ZVN0YXRlLmZpbHRlciA/IHsgLi4uY3JlYXRlU3RhdGUuZmlsdGVyLCBvZmZzZXQ6IDAgfSA6IG51bGxcbiAgICAgICAgICAgIClcbiAgICAgICAgICApO1xuICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgIGNhc2UgYFske3RoaXMuY29uZmlnLmVudGl0eX1dIENyZWF0ZSBNYW55YDpcbiAgICAgICAgICB0aGlzLnNlcnZpY2VcbiAgICAgICAgICAgIC5jcmVhdGVNYW55KGFjdGlvbi5kYXRhLml0ZW1zLCBhY3Rpb24uZGF0YS5vcHRpb25zKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgIHRhcCgoKSA9PlxuICAgICAgICAgICAgICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goXG4gICAgICAgICAgICAgICAgICBDcnVkQWN0aW9ucy5jcmVhdGVNYW55U3VjY2Vzcyh0aGlzLmNvbmZpZy5lbnRpdHksIHtcbiAgICAgICAgICAgICAgICAgICAgaXRlbXM6IGFjdGlvbi5kYXRhLml0ZW1zLFxuICAgICAgICAgICAgICAgICAgICBvcHRpb25zOiBhY3Rpb24uZGF0YS5vcHRpb25zLFxuICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgIGNhdGNoRXJyb3IoKGVycm9yKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChcbiAgICAgICAgICAgICAgICAgIENydWRBY3Rpb25zLmNyZWF0ZU1hbnlGYWlsdXJlKFxuICAgICAgICAgICAgICAgICAgICB0aGlzLmNvbmZpZy5lbnRpdHksXG4gICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICBpdGVtczogYWN0aW9uLmRhdGEuaXRlbXMsXG4gICAgICAgICAgICAgICAgICAgICAgb3B0aW9uczogYWN0aW9uLmRhdGEub3B0aW9ucyxcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgZXJyb3JcbiAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIHJldHVybiBvZigpO1xuICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgpO1xuICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgIGNhc2UgYFske3RoaXMuY29uZmlnLmVudGl0eX1dIENyZWF0ZSBNYW55IFN1Y2Nlc3NgOlxuICAgICAgICAgIGNvbnN0IGNyZWF0ZU1hbnlTdGF0ZSA9IHRoaXMuc3RhdGUuZ2V0VmFsdWUoKVt0aGlzLmNvbmZpZy5lbnRpdHldO1xuICAgICAgICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goXG4gICAgICAgICAgICBDcnVkQWN0aW9ucy5yZWFkKFxuICAgICAgICAgICAgICB0aGlzLmNvbmZpZy5lbnRpdHksXG4gICAgICAgICAgICAgIGNyZWF0ZU1hbnlTdGF0ZS5maWx0ZXJcbiAgICAgICAgICAgICAgICA/IHsgLi4uY3JlYXRlTWFueVN0YXRlLmZpbHRlciwgb2Zmc2V0OiAwIH1cbiAgICAgICAgICAgICAgICA6IG51bGxcbiAgICAgICAgICAgIClcbiAgICAgICAgICApO1xuICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgIGNhc2UgYFske3RoaXMuY29uZmlnLmVudGl0eX1dIFJlYWRgOlxuICAgICAgICAgIHRoaXMuc2VydmljZVxuICAgICAgICAgICAgLmdldExpc3QoYWN0aW9uLmZpbHRlcilcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICB0YXAoKHJlc3VsdCkgPT5cbiAgICAgICAgICAgICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKFxuICAgICAgICAgICAgICAgICAgQ3J1ZEFjdGlvbnMucmVhZFN1Y2Nlc3MoXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuY29uZmlnLmVudGl0eSxcbiAgICAgICAgICAgICAgICAgICAgYWN0aW9uLmZpbHRlcixcbiAgICAgICAgICAgICAgICAgICAgcmVzdWx0XG4gICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICBjYXRjaEVycm9yKChlcnJvcikgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goXG4gICAgICAgICAgICAgICAgICBDcnVkQWN0aW9ucy5yZWFkRmFpbHVyZShcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5jb25maWcuZW50aXR5LFxuICAgICAgICAgICAgICAgICAgICBhY3Rpb24uZmlsdGVyLFxuICAgICAgICAgICAgICAgICAgICBlcnJvclxuICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgcmV0dXJuIG9mKCk7XG4gICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAuc3Vic2NyaWJlKCk7XG4gICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgY2FzZSBgWyR7dGhpcy5jb25maWcuZW50aXR5fV0gRXhwb3J0YDpcbiAgICAgICAgICB0aGlzLnNlcnZpY2VcbiAgICAgICAgICAgIC5leHBvcnRMaXN0KGFjdGlvbi5maWx0ZXIsIGFjdGlvbi5mb3JtYXQpXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgdGFwKChyZXN1bHQpID0+XG4gICAgICAgICAgICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChcbiAgICAgICAgICAgICAgICAgIENydWRBY3Rpb25zLmV4cG9ydExpc3RTdWNjZXNzKFxuICAgICAgICAgICAgICAgICAgICB0aGlzLmNvbmZpZy5lbnRpdHksXG4gICAgICAgICAgICAgICAgICAgIGFjdGlvbi5maWx0ZXJcbiAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgIGNhdGNoRXJyb3IoKGVycm9yKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChcbiAgICAgICAgICAgICAgICAgIENydWRBY3Rpb25zLmV4cG9ydExpc3RGYWlsdXJlKFxuICAgICAgICAgICAgICAgICAgICB0aGlzLmNvbmZpZy5lbnRpdHksXG4gICAgICAgICAgICAgICAgICAgIGFjdGlvbi5maWx0ZXIsXG4gICAgICAgICAgICAgICAgICAgIGVycm9yXG4gICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICByZXR1cm4gb2YoKTtcbiAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKTtcbiAgICAgICAgICBicmVhaztcblxuICAgICAgICBjYXNlIGBbJHt0aGlzLmNvbmZpZy5lbnRpdHl9XSBTZWxlY3RgOlxuICAgICAgICAgIHRoaXMuc2VydmljZVxuICAgICAgICAgICAgLmdldEJ5SWQoYWN0aW9uLmlkKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgIHRhcCgocmVzdWx0KSA9PlxuICAgICAgICAgICAgICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goXG4gICAgICAgICAgICAgICAgICBDcnVkQWN0aW9ucy5zZWxlY3RTdWNjZXNzKFxuICAgICAgICAgICAgICAgICAgICB0aGlzLmNvbmZpZy5lbnRpdHksXG4gICAgICAgICAgICAgICAgICAgIGFjdGlvbi5pZCxcbiAgICAgICAgICAgICAgICAgICAgcmVzdWx0XG4gICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICBjYXRjaEVycm9yKChlcnJvcikgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goXG4gICAgICAgICAgICAgICAgICBDcnVkQWN0aW9ucy5zZWxlY3RGYWlsdXJlKFxuICAgICAgICAgICAgICAgICAgICB0aGlzLmNvbmZpZy5lbnRpdHksXG4gICAgICAgICAgICAgICAgICAgIGFjdGlvbi5pZCxcbiAgICAgICAgICAgICAgICAgICAgZXJyb3JcbiAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIHJldHVybiBvZigpO1xuICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgpO1xuICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgIGNhc2UgYFske3RoaXMuY29uZmlnLmVudGl0eX1dIFVwZGF0ZWA6XG4gICAgICAgICAgdGhpcy5zZXJ2aWNlXG4gICAgICAgICAgICAudXBkYXRlUGFydGlhbChhY3Rpb24uaXRlbSlcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICB0YXAoKCkgPT5cbiAgICAgICAgICAgICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKFxuICAgICAgICAgICAgICAgICAgQ3J1ZEFjdGlvbnMudXBkYXRlU3VjY2Vzcyh0aGlzLmNvbmZpZy5lbnRpdHksIGFjdGlvbi5pdGVtKVxuICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgY2F0Y2hFcnJvcigoZXJyb3IpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKFxuICAgICAgICAgICAgICAgICAgQ3J1ZEFjdGlvbnMudXBkYXRlRmFpbHVyZShcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5jb25maWcuZW50aXR5LFxuICAgICAgICAgICAgICAgICAgICBhY3Rpb24uaXRlbSxcbiAgICAgICAgICAgICAgICAgICAgZXJyb3JcbiAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goQ3J1ZEFjdGlvbnMucmVhZCh0aGlzLmNvbmZpZy5lbnRpdHkpKTtcbiAgICAgICAgICAgICAgICByZXR1cm4gb2YoKTtcbiAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKTtcbiAgICAgICAgICBicmVhaztcblxuICAgICAgICBjYXNlIGBbJHt0aGlzLmNvbmZpZy5lbnRpdHl9XSBVcGRhdGUgU3VjY2Vzc2A6XG4gICAgICAgICAgdGhpcy5zdG9yZVxuICAgICAgICAgICAgLnBpcGUoc2VsZWN0KGdldENydWRGaWx0ZXIodGhpcy5jb25maWcuZW50aXR5KSksIGZpcnN0KCkpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKChmaWx0ZXIpID0+IHtcbiAgICAgICAgICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChcbiAgICAgICAgICAgICAgICBDcnVkQWN0aW9ucy5yZWFkKHRoaXMuY29uZmlnLmVudGl0eSwge1xuICAgICAgICAgICAgICAgICAgLi4uZmlsdGVyLFxuICAgICAgICAgICAgICAgICAgb2Zmc2V0OiAwLFxuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICk7XG5cbiAgICAgICAgICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChDcnVkQWN0aW9ucy5zZWxlY3QodGhpcy5jb25maWcuZW50aXR5LCBhY3Rpb24uaXRlbS5pZCkpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgY2FzZSBgWyR7dGhpcy5jb25maWcuZW50aXR5fV0gVXBkYXRlIHBhcnRpYWxgOlxuICAgICAgICAgIHRoaXMuc2VydmljZVxuICAgICAgICAgICAgLnVwZGF0ZVBhcnRpYWwoYWN0aW9uLml0ZW0pXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgdGFwKCgpID0+XG4gICAgICAgICAgICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChcbiAgICAgICAgICAgICAgICAgIENydWRBY3Rpb25zLnVwZGF0ZVBhcnRpYWxTdWNjZXNzKFxuICAgICAgICAgICAgICAgICAgICB0aGlzLmNvbmZpZy5lbnRpdHksXG4gICAgICAgICAgICAgICAgICAgIGFjdGlvbi5pdGVtXG4gICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICBjYXRjaEVycm9yKChlcnJvcikgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goXG4gICAgICAgICAgICAgICAgICBDcnVkQWN0aW9ucy51cGRhdGVQYXJ0aWFsRmFpbHVyZShcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5jb25maWcuZW50aXR5LFxuICAgICAgICAgICAgICAgICAgICBhY3Rpb24uaXRlbSxcbiAgICAgICAgICAgICAgICAgICAgZXJyb3JcbiAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goQ3J1ZEFjdGlvbnMucmVhZCh0aGlzLmNvbmZpZy5lbnRpdHkpKTtcbiAgICAgICAgICAgICAgICByZXR1cm4gb2YoKTtcbiAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKTtcbiAgICAgICAgICBicmVhaztcblxuICAgICAgICBjYXNlIGBbJHt0aGlzLmNvbmZpZy5lbnRpdHl9XSBVcGRhdGUgcGFydGlhbCBTdWNjZXNzYDpcbiAgICAgICAgICB0aGlzLnN0b3JlXG4gICAgICAgICAgICAucGlwZShzZWxlY3QoZ2V0Q3J1ZEZpbHRlcih0aGlzLmNvbmZpZy5lbnRpdHkpKSwgZmlyc3QoKSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKGZpbHRlcikgPT4ge1xuICAgICAgICAgICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKFxuICAgICAgICAgICAgICAgIENydWRBY3Rpb25zLnJlYWQodGhpcy5jb25maWcuZW50aXR5LCB7XG4gICAgICAgICAgICAgICAgICAuLi5maWx0ZXIsXG4gICAgICAgICAgICAgICAgICBvZmZzZXQ6IDAsXG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgKTtcblxuICAgICAgICAgICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKENydWRBY3Rpb25zLnNlbGVjdCh0aGlzLmNvbmZpZy5lbnRpdHksIGFjdGlvbi5pdGVtLmlkKSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICBicmVhaztcblxuICAgICAgICBjYXNlIGBbJHt0aGlzLmNvbmZpZy5lbnRpdHl9XSBVcGRhdGUgcGFydGlhbCBtYW55YDpcbiAgICAgICAgICB0aGlzLnNlcnZpY2VcbiAgICAgICAgICAgIC51cGRhdGVQYXJ0aWFsTWFueShhY3Rpb24uaXRlbXMpXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgdGFwKCgpID0+XG4gICAgICAgICAgICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChcbiAgICAgICAgICAgICAgICAgIENydWRBY3Rpb25zLnVwZGF0ZVBhcnRpYWxNYW55U3VjY2VzcyhcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5jb25maWcuZW50aXR5LFxuICAgICAgICAgICAgICAgICAgICBhY3Rpb24uaXRlbXNcbiAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgIGNhdGNoRXJyb3IoKGVycm9yKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChcbiAgICAgICAgICAgICAgICAgIENydWRBY3Rpb25zLnVwZGF0ZVBhcnRpYWxNYW55RmFpbHVyZShcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5jb25maWcuZW50aXR5LFxuICAgICAgICAgICAgICAgICAgICBhY3Rpb24uaXRlbXMsXG4gICAgICAgICAgICAgICAgICAgIGVycm9yXG4gICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKENydWRBY3Rpb25zLnJlYWQodGhpcy5jb25maWcuZW50aXR5KSk7XG4gICAgICAgICAgICAgICAgcmV0dXJuIG9mKCk7XG4gICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAuc3Vic2NyaWJlKCk7XG4gICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgY2FzZSBgWyR7dGhpcy5jb25maWcuZW50aXR5fV0gVXBkYXRlIHBhcnRpYWwgbWFueSBTdWNjZXNzYDpcbiAgICAgICAgICB0aGlzLnN0b3JlXG4gICAgICAgICAgICAucGlwZShzZWxlY3QoZ2V0Q3J1ZEZpbHRlcih0aGlzLmNvbmZpZy5lbnRpdHkpKSwgZmlyc3QoKSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKGZpbHRlcikgPT4ge1xuICAgICAgICAgICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKFxuICAgICAgICAgICAgICAgIENydWRBY3Rpb25zLnJlYWQodGhpcy5jb25maWcuZW50aXR5LCB7XG4gICAgICAgICAgICAgICAgICAuLi5maWx0ZXIsXG4gICAgICAgICAgICAgICAgICBvZmZzZXQ6IDAsXG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgIGNhc2UgYFske3RoaXMuY29uZmlnLmVudGl0eX1dIERlbGV0ZWA6XG4gICAgICAgICAgdGhpcy5zZXJ2aWNlXG4gICAgICAgICAgICAuZGVsZXRlKGFjdGlvbi5pZClcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICB0YXAoKCkgPT5cbiAgICAgICAgICAgICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKFxuICAgICAgICAgICAgICAgICAgQ3J1ZEFjdGlvbnMuZGVsZXRlU3VjY2Vzcyh0aGlzLmNvbmZpZy5lbnRpdHksIGFjdGlvbi5pZClcbiAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgIGNhdGNoRXJyb3IoKGVycm9yKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChcbiAgICAgICAgICAgICAgICAgIENydWRBY3Rpb25zLmRlbGV0ZUZhaWx1cmUoXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuY29uZmlnLmVudGl0eSxcbiAgICAgICAgICAgICAgICAgICAgYWN0aW9uLmlkLFxuICAgICAgICAgICAgICAgICAgICBlcnJvclxuICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgcmV0dXJuIG9mKCk7XG4gICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAuc3Vic2NyaWJlKCk7XG4gICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgY2FzZSBgWyR7dGhpcy5jb25maWcuZW50aXR5fV0gRGVsZXRlIFN1Y2Nlc3NgOlxuICAgICAgICAgICAgdGhpcy5zdG9yZVxuICAgICAgICAgICAgICAgIC5waXBlKHNlbGVjdChnZXRDcnVkRmlsdGVyKHRoaXMuY29uZmlnLmVudGl0eSkpLCBmaXJzdCgpKVxuICAgICAgICAgICAgICAgIC5zdWJzY3JpYmUoKGZpbHRlcikgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKFxuICAgICAgICAgICAgICAgICAgICAgICAgQ3J1ZEFjdGlvbnMucmVhZCh0aGlzLmNvbmZpZy5lbnRpdHksIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAuLi5maWx0ZXIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb2Zmc2V0OiAwLFxuICAgICAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICBicmVhaztcblxuICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
import { select, Store } from "@ngrx/store";
|
|
2
|
+
import { Injectable } from "@angular/core";
|
|
3
|
+
import { map, tap } from "rxjs/operators";
|
|
4
|
+
import { CrudConfig } from "../crud.config";
|
|
5
|
+
import * as CrudActions from "./crud.actions";
|
|
6
|
+
import * as CrudSelectors from "./crud.selectors";
|
|
7
|
+
import { NgrxStoreService } from "@smartsoft001/angular";
|
|
8
|
+
import * as i0 from "@angular/core";
|
|
9
|
+
import * as i1 from "@ngrx/store";
|
|
10
|
+
import * as i2 from "../crud.config";
|
|
11
|
+
export class CrudFacade {
|
|
12
|
+
constructor(store, config) {
|
|
13
|
+
this.store = store;
|
|
14
|
+
this.config = config;
|
|
15
|
+
this.loaded$ = this.store.pipe(select(CrudSelectors.getCrudLoaded(this.config.entity)));
|
|
16
|
+
this.loading$ = this.store.pipe(select(CrudSelectors.getCrudLoaded(this.config.entity)), map(l => !l));
|
|
17
|
+
this.selected$ = this.store.pipe(select(CrudSelectors.getCrudSelected(this.config.entity)), tap(s => {
|
|
18
|
+
this.selected = s;
|
|
19
|
+
}));
|
|
20
|
+
this.multiSelected$ = this.store.pipe(select(CrudSelectors.getCrudMultiSelected(this.config.entity)), tap(s => {
|
|
21
|
+
this.multiSelected = s;
|
|
22
|
+
}));
|
|
23
|
+
this.list$ = this.store.pipe(select(CrudSelectors.getCrudList(this.config.entity)), tap(l => {
|
|
24
|
+
this.list = l;
|
|
25
|
+
}));
|
|
26
|
+
this.filter$ = this.store.pipe(select(CrudSelectors.getCrudFilter(this.config.entity)), tap(f => {
|
|
27
|
+
this.filter = f;
|
|
28
|
+
}));
|
|
29
|
+
this.totalCount$ = this.store.pipe(select(CrudSelectors.getCrudTotalCount(this.config.entity)));
|
|
30
|
+
this.links$ = this.store.pipe(select(CrudSelectors.getCrudLinks(this.config.entity)));
|
|
31
|
+
this.error$ = this.store.pipe(select(CrudSelectors.getCrudError(this.config.entity)));
|
|
32
|
+
if (NgrxStoreService.store) {
|
|
33
|
+
this.store = NgrxStoreService.store;
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
create(item) {
|
|
37
|
+
this.store.dispatch(CrudActions.create(this.config.entity, item));
|
|
38
|
+
}
|
|
39
|
+
createMany(items, options) {
|
|
40
|
+
this.store.dispatch(CrudActions.createMany(this.config.entity, { items, options }));
|
|
41
|
+
}
|
|
42
|
+
read(filter = null) {
|
|
43
|
+
let baseQuery = [];
|
|
44
|
+
if (this.config.baseQuery) {
|
|
45
|
+
baseQuery = this.config.baseQuery;
|
|
46
|
+
}
|
|
47
|
+
const fullFilter = {
|
|
48
|
+
...(filter ? filter : {}),
|
|
49
|
+
query: filter && filter.query ? filter.query : baseQuery
|
|
50
|
+
};
|
|
51
|
+
this.store.dispatch(CrudActions.read(this.config.entity, fullFilter));
|
|
52
|
+
}
|
|
53
|
+
select(id) {
|
|
54
|
+
this.store.dispatch(CrudActions.select(this.config.entity, id));
|
|
55
|
+
}
|
|
56
|
+
unselect() {
|
|
57
|
+
this.store.dispatch(CrudActions.unselect(this.config.entity));
|
|
58
|
+
}
|
|
59
|
+
multiSelect(items) {
|
|
60
|
+
this.store.dispatch(CrudActions.multiSelect(this.config.entity, items));
|
|
61
|
+
}
|
|
62
|
+
update(item) {
|
|
63
|
+
this.getStore().dispatch(CrudActions.update(this.config.entity, item));
|
|
64
|
+
}
|
|
65
|
+
export(filter = null, format = null) {
|
|
66
|
+
this.getStore().dispatch(CrudActions.exportList(this.config.entity, filter, format));
|
|
67
|
+
}
|
|
68
|
+
updatePartial(item) {
|
|
69
|
+
this.getStore().dispatch(CrudActions.updatePartial(this.config.entity, item));
|
|
70
|
+
}
|
|
71
|
+
updatePartialMany(items) {
|
|
72
|
+
this.getStore().dispatch(CrudActions.updatePartialMany(this.config.entity, items));
|
|
73
|
+
}
|
|
74
|
+
delete(id) {
|
|
75
|
+
this.getStore().dispatch(CrudActions.deleteItem(this.config.entity, id));
|
|
76
|
+
}
|
|
77
|
+
getStore() {
|
|
78
|
+
if (NgrxStoreService.store)
|
|
79
|
+
return NgrxStoreService.store;
|
|
80
|
+
return this.store;
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
/** @nocollapse */ /** @nocollapse */ CrudFacade.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: CrudFacade, deps: [{ token: i1.Store }, { token: i2.CrudConfig }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
84
|
+
/** @nocollapse */ /** @nocollapse */ CrudFacade.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: CrudFacade });
|
|
85
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: CrudFacade, decorators: [{
|
|
86
|
+
type: Injectable
|
|
87
|
+
}], ctorParameters: function () { return [{ type: i1.Store }, { type: i2.CrudConfig }]; } });
|
|
88
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3J1ZC5mYWNhZGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NydWQvc2hlbGwvYW5ndWxhci9zcmMvbGliLytzdGF0ZS9jcnVkLmZhY2FkZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUU1QyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFLMUMsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzVDLE9BQU8sS0FBSyxXQUFXLE1BQU0sZ0JBQWdCLENBQUM7QUFDOUMsT0FBTyxLQUFLLGFBQWEsTUFBTSxrQkFBa0IsQ0FBQztBQUVsRCxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSx1QkFBdUIsQ0FBQzs7OztBQUl2RCxNQUFNLE9BQU8sVUFBVTtJQWdEckIsWUFBb0IsS0FBaUIsRUFBVSxNQUFxQjtRQUFoRCxVQUFLLEdBQUwsS0FBSyxDQUFZO1FBQVUsV0FBTSxHQUFOLE1BQU0sQ0FBZTtRQTFDcEUsWUFBTyxHQUF3QixJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FDNUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUN4RCxDQUFDO1FBQ0YsYUFBUSxHQUF3QixJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FDN0MsTUFBTSxDQUFDLGFBQWEsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUN2RCxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUNiLENBQUM7UUFDRixjQUFTLEdBQWtCLElBQUks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LE1BQU0sQ0FBQyxDQUFDLENBQUM7SUFDdkYsQ0FBQztJQUVELGFBQWEsQ0FBQyxJQUFpQztRQUM3QyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUNoRixDQUFDO0lBRUQsaUJBQWlCLENBQUMsS0FBb0M7UUFDcEQsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUNyRixDQUFDO0lBRUQsTUFBTSxDQUFDLEVBQVU7UUFDZixJQUFJLENBQUMsUUFBUSxFQUFFLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUMzRSxDQUFDO0lBRU8sUUFBUTtRQUNkLElBQUksZ0JBQWdCLENBQUMsS0FBSztZQUFFLE9BQU8sZ0JBQWdCLENBQUMsS0FBSyxDQUFDO1FBRTFELE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQztJQUNwQixDQUFDOzs2SUFoSFUsVUFBVTtpSkFBVixVQUFVOzJGQUFWLFVBQVU7a0JBRHRCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBzZWxlY3QsIFN0b3JlIH0gZnJvbSBcIkBuZ3J4L3N0b3JlXCI7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSBcInJ4anNcIjtcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgbWFwLCB0YXAgfSBmcm9tIFwicnhqcy9vcGVyYXRvcnNcIjtcbmltcG9ydCAqIGFzIF8gZnJvbSBcImxvZGFzaFwiO1xuXG5pbXBvcnQgeyBJRW50aXR5IH0gZnJvbSBcIkBzbWFydHNvZnQwMDEvZG9tYWluLWNvcmVcIjtcblxuaW1wb3J0IHsgQ3J1ZENvbmZpZyB9IGZyb20gXCIuLi9jcnVkLmNvbmZpZ1wiO1xuaW1wb3J0ICogYXMgQ3J1ZEFjdGlvbnMgZnJvbSBcIi4vY3J1ZC5hY3Rpb25zXCI7XG5pbXBvcnQgKiBhcyBDcnVkU2VsZWN0b3JzIGZyb20gXCIuL2NydWQuc2VsZWN0b3JzXCI7XG5pbXBvcnQge0lDcnVkQ3JlYXRlTWFueU9wdGlvbnMsIElDcnVkRmlsdGVyfSBmcm9tIFwiLi4vbW9kZWxzL2ludGVyZmFjZXNcIjtcbmltcG9ydCB7TmdyeFN0b3JlU2VydmljZX0gZnJvbSBcIkBzbWFydHNvZnQwMDEvYW5ndWxhclwiO1xuXG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBDcnVkRmFjYWRlPFQgZXh0ZW5kcyBJRW50aXR5PHN0cmluZz4+IHtcbiAgc2VsZWN0ZWQ6IFQ7XG4gIG11bHRpU2VsZWN0ZWQ6IFQ7XG4gIGxpc3Q6IEFycmF5PFQ+O1xuICBmaWx0ZXI6IElDcnVkRmlsdGVyO1xuXG4gIGxvYWRlZCQ6IE9ic2VydmFibGU8Ym9vbGVhbj4gPSB0aGlzLnN0b3JlLnBpcGUoXG4gICAgc2VsZWN0KENydWRTZWxlY3RvcnMuZ2V0Q3J1ZExvYWRlZCh0aGlzLmNvbmZpZy5lbnRpdHkpKVxuICApO1xuICBsb2FkaW5nJDogT2JzZXJ2YWJsZTxib29sZWFuPiA9IHRoaXMuc3RvcmUucGlwZShcbiAgICBzZWxlY3QoQ3J1ZFNlbGVjdG9ycy5nZXRDcnVkTG9hZGVkKHRoaXMuY29uZmlnLmVudGl0eSkpLFxuICAgIG1hcChsID0+ICFsKVxuICApO1xuICBzZWxlY3RlZCQ6IE9ic2VydmFibGU8VD4gPSB0aGlzLnN0b3JlLnBpcGUoXG4gICAgc2VsZWN0KENydWRTZWxlY3RvcnMuZ2V0Q3J1ZFNlbGVjdGVkKHRoaXMuY29uZmlnLmVudGl0eSkpLFxuICAgIHRhcChzID0+IHtcbiAgICAgIHRoaXMuc2VsZWN0ZWQgPSBzO1xuICAgIH0pXG4gICk7XG4gIG11bHRpU2VsZWN0ZWQkOiBPYnNlcnZhYmxlPFRbXT4gPSB0aGlzLnN0b3JlLnBpcGUoXG4gICAgICBzZWxlY3QoQ3J1ZFNlbGVjdG9ycy5nZXRDcnVkTXVsdGlTZWxlY3RlZCh0aGlzLmNvbmZpZy5lbnRpdHkpKSxcbiAgICAgIHRhcChzID0+IHtcbiAgICAgICAgdGhpcy5tdWx0aVNlbGVjdGVkID0gcztcbiAgICAgIH0pXG4gICk7XG4gIGxpc3QkOiBPYnNlcnZhYmxlPFRbXT4gPSB0aGlzLnN0b3JlLnBpcGUoXG4gICAgc2VsZWN0KENydWRTZWxlY3RvcnMuZ2V0Q3J1ZExpc3QodGhpcy5jb25maWcuZW50aXR5KSksXG4gICAgdGFwKGwgPT4ge1xuICAgICAgdGhpcy5saXN0ID0gbDtcbiAgICB9KVxuICApO1xuICBmaWx0ZXIkOiBPYnNlcnZhYmxlPElDcnVkRmlsdGVyPiA9IHRoaXMuc3RvcmUucGlwZShcbiAgICBzZWxlY3QoQ3J1ZFNlbGVjdG9ycy5nZXRDcnVkRmlsdGVyKHRoaXMuY29uZmlnLmVudGl0eSkpLFxuICAgIHRhcChmID0+IHtcbiAgICAgIHRoaXMuZmlsdGVyID0gZjtcbiAgICB9KVxuICApO1xuICB0b3RhbENvdW50JDogT2JzZXJ2YWJsZTxudW1iZXI+ID0gdGhpcy5zdG9yZS5waXBlKFxuICAgIHNlbGVjdChDcnVkU2VsZWN0b3JzLmdldENydWRUb3RhbENvdW50KHRoaXMuY29uZmlnLmVudGl0eSkpXG4gICk7XG4gIGxpbmtzJDogT2JzZXJ2YWJsZTxhbnk+ID0gdGhpcy5zdG9yZS5waXBlKFxuICAgIHNlbGVjdChDcnVkU2VsZWN0b3JzLmdldENydWRMaW5rcyh0aGlzLmNvbmZpZy5lbnRpdHkpKVxuICApO1xuXG4gIGVycm9yJDogT2JzZXJ2YWJsZTxhbnk+ID0gdGhpcy5zdG9yZS5waXBlKFxuICAgICAgc2VsZWN0KENydWRTZWxlY3RvcnMuZ2V0Q3J1ZEVycm9yKHRoaXMuY29uZmlnLmVudGl0eSkpXG4gICk7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBzdG9yZTogU3RvcmU8YW55PiwgcHJpdmF0ZSBjb25maWc6IENydWRDb25maWc8VD4pIHtcbiAgICBpZiAoTmdyeFN0b3JlU2VydmljZS5zdG9yZSkge1xuICAgICAgdGhpcy5zdG9yZSA9IE5ncnhTdG9yZVNlcnZpY2Uuc3RvcmU7XG4gICAgfVxuICB9XG5cbiAgY3JlYXRlKGl0ZW06IFQpOiB2b2lkIHtcbiAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKENydWRBY3Rpb25zLmNyZWF0ZSh0aGlzLmNvbmZpZy5lbnRpdHksIGl0ZW0pKTtcbiAgfVxuXG4gIGNyZWF0ZU1hbnkoaXRlbXM6IEFycmF5PFQ+LCBvcHRpb25zOiBJQ3J1ZENyZWF0ZU1hbnlPcHRpb25zKTogdm9pZCB7XG4gICAgdGhpcy5zdG9yZS5kaXNwYXRjaChDcnVkQWN0aW9ucy5jcmVhdGVNYW55KHRoaXMuY29uZmlnLmVudGl0eSwgeyBpdGVtcywgb3B0aW9ucyB9KSk7XG4gIH1cblxuICByZWFkKGZpbHRlcjogSUNydWRGaWx0ZXIgPSBudWxsKTogdm9pZCB7XG4gICAgbGV0IGJhc2VRdWVyeSA9IFtdO1xuICAgIGlmICh0aGlzLmNvbmZpZy5iYXNlUXVlcnkpIHtcbiAgICAgIGJhc2VRdWVyeSA9IHRoaXMuY29uZmlnLmJhc2VRdWVyeTtcbiAgICB9XG5cbiAgICBjb25zdCBmdWxsRmlsdGVyID0ge1xuICAgICAgLi4uKGZpbHRlciA/IGZpbHRlciA6IHt9KSxcbiAgICAgIHF1ZXJ5OiBmaWx0ZXIgJiYgZmlsdGVyLnF1ZXJ5ID8gZmlsdGVyLnF1ZXJ5IDogYmFzZVF1ZXJ5XG4gICAgfTtcblxuICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goQ3J1ZEFjdGlvbnMucmVhZCh0aGlzLmNvbmZpZy5lbnRpdHksIGZ1bGxGaWx0ZXIpKTtcbiAgfVxuXG4gIHNlbGVjdChpZDogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhpcy5zdG9yZS5kaXNwYXRjaChDcnVkQWN0aW9ucy5zZWxlY3QodGhpcy5jb25maWcuZW50aXR5LCBpZCkpO1xuICB9XG5cbiAgdW5zZWxlY3QoKTogdm9pZCB7XG4gICAgdGhpcy5zdG9yZS5kaXNwYXRjaChDcnVkQWN0aW9ucy51bnNlbGVjdCh0aGlzLmNvbmZpZy5lbnRpdHkpKTtcbiAgfVxuXG4gIG11bHRpU2VsZWN0KGl0ZW1zOiBBcnJheTxUPik6IHZvaWQge1xuICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goQ3J1ZEFjdGlvbnMubXVsdGlTZWxlY3QodGhpcy5jb25maWcuZW50aXR5LCBpdGVtcykpO1xuICB9XG5cbiAgdXBkYXRlKGl0ZW06IFQpOiB2b2lkIHtcbiAgICB0aGlzLmdldFN0b3JlKCkuZGlzcGF0Y2goQ3J1ZEFjdGlvbnMudXBkYXRlKHRoaXMuY29uZmlnLmVudGl0eSwgaXRlbSkpO1xuICB9XG5cbiAgZXhwb3J0KGZpbHRlcjogSUNydWRGaWx0ZXIgPSBudWxsLCBmb3JtYXQgPSBudWxsKTogdm9pZCB7XG4gICAgdGhpcy5nZXRTdG9yZSgpLmRpc3BhdGNoKENydWRBY3Rpb25zLmV4cG9ydExpc3QodGhpcy5jb25maWcuZW50aXR5LCBmaWx0ZXIsIGZvcm1hdCkpO1xuICB9XG5cbiAgdXBkYXRlUGFydGlhbChpdGVtOiBQYXJ0aWFsPFQ+ICYgeyBpZDogc3RyaW5nIH0pOiB2b2lkIHtcbiAgICB0aGlzLmdldFN0b3JlKCkuZGlzcGF0Y2goQ3J1ZEFjdGlvbnMudXBkYXRlUGFydGlhbCh0aGlzLmNvbmZpZy5lbnRpdHksIGl0ZW0pKTtcbiAgfVxuXG4gIHVwZGF0ZVBhcnRpYWxNYW55KGl0ZW1zOiAoUGFydGlhbDxUPiAmIHtpZDogc3RyaW5nfSlbXSkge1xuICAgIHRoaXMuZ2V0U3RvcmUoKS5kaXNwYXRjaChDcnVkQWN0aW9ucy51cGRhdGVQYXJ0aWFsTWFueSh0aGlzLmNvbmZpZy5lbnRpdHksIGl0ZW1zKSk7XG4gIH1cblxuICBkZWxldGUoaWQ6IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMuZ2V0U3RvcmUoKS5kaXNwYXRjaChDcnVkQWN0aW9ucy5kZWxldGVJdGVtKHRoaXMuY29uZmlnLmVudGl0eSwgaWQpKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0U3RvcmUoKTogU3RvcmUge1xuICAgIGlmIChOZ3J4U3RvcmVTZXJ2aWNlLnN0b3JlKSByZXR1cm4gTmdyeFN0b3JlU2VydmljZS5zdG9yZTtcblxuICAgIHJldHVybiB0aGlzLnN0b3JlO1xuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,212 @@
|
|
|
1
|
+
import { PaginationMode } from "@smartsoft001/angular";
|
|
2
|
+
export const initialState = {
|
|
3
|
+
loaded: false
|
|
4
|
+
};
|
|
5
|
+
const crudReducer = (state = initialState, action, entity) => {
|
|
6
|
+
switch (action.type) {
|
|
7
|
+
case `[${entity}] Create`:
|
|
8
|
+
return {
|
|
9
|
+
...state,
|
|
10
|
+
loaded: false,
|
|
11
|
+
error: null
|
|
12
|
+
};
|
|
13
|
+
case `[${entity}] Create Success`:
|
|
14
|
+
return {
|
|
15
|
+
...state,
|
|
16
|
+
loaded: true,
|
|
17
|
+
error: null
|
|
18
|
+
};
|
|
19
|
+
case `[${entity}] Create Failure`:
|
|
20
|
+
return {
|
|
21
|
+
...state,
|
|
22
|
+
loaded: true,
|
|
23
|
+
error: action.error
|
|
24
|
+
};
|
|
25
|
+
case `[${entity}] Create Many`:
|
|
26
|
+
return {
|
|
27
|
+
...state,
|
|
28
|
+
loaded: false,
|
|
29
|
+
error: null
|
|
30
|
+
};
|
|
31
|
+
case `[${entity}] Create Many Success`:
|
|
32
|
+
return {
|
|
33
|
+
...state,
|
|
34
|
+
loaded: true,
|
|
35
|
+
error: null
|
|
36
|
+
};
|
|
37
|
+
case `[${entity}] Create Many Failure`:
|
|
38
|
+
return {
|
|
39
|
+
...state,
|
|
40
|
+
loaded: true,
|
|
41
|
+
error: action.error
|
|
42
|
+
};
|
|
43
|
+
case `[${entity}] Export`:
|
|
44
|
+
return {
|
|
45
|
+
...state,
|
|
46
|
+
loaded: false
|
|
47
|
+
};
|
|
48
|
+
case `[${entity}] Export Success`:
|
|
49
|
+
return {
|
|
50
|
+
...state,
|
|
51
|
+
loaded: true
|
|
52
|
+
};
|
|
53
|
+
case `[${entity}] Export Failure`:
|
|
54
|
+
return {
|
|
55
|
+
...state,
|
|
56
|
+
loaded: true
|
|
57
|
+
};
|
|
58
|
+
case `[${entity}] Read`:
|
|
59
|
+
return {
|
|
60
|
+
...state,
|
|
61
|
+
loaded: false,
|
|
62
|
+
filter: action.filter,
|
|
63
|
+
error: null,
|
|
64
|
+
totalCount: null,
|
|
65
|
+
links: null,
|
|
66
|
+
};
|
|
67
|
+
case `[${entity}] Read Success`:
|
|
68
|
+
let list = [];
|
|
69
|
+
if (action.filter
|
|
70
|
+
&& action.filter.offset
|
|
71
|
+
&& state.list
|
|
72
|
+
&& action.filter.paginationMode !== PaginationMode.singlePage) {
|
|
73
|
+
state.list.forEach(i => {
|
|
74
|
+
list.push(i);
|
|
75
|
+
});
|
|
76
|
+
list = [
|
|
77
|
+
...list,
|
|
78
|
+
...action.result.data
|
|
79
|
+
];
|
|
80
|
+
}
|
|
81
|
+
else {
|
|
82
|
+
list = action.result.data;
|
|
83
|
+
}
|
|
84
|
+
return {
|
|
85
|
+
...state,
|
|
86
|
+
loaded: true,
|
|
87
|
+
list,
|
|
88
|
+
totalCount: action.result.totalCount,
|
|
89
|
+
links: action.result.links,
|
|
90
|
+
error: null
|
|
91
|
+
};
|
|
92
|
+
case `[${entity}] Read Failure`:
|
|
93
|
+
return {
|
|
94
|
+
...state,
|
|
95
|
+
loaded: true,
|
|
96
|
+
error: action.error
|
|
97
|
+
};
|
|
98
|
+
case `[${entity}] Select`:
|
|
99
|
+
return {
|
|
100
|
+
...state,
|
|
101
|
+
loaded: false,
|
|
102
|
+
selected: null,
|
|
103
|
+
error: null
|
|
104
|
+
};
|
|
105
|
+
case `[${entity}] Select Success`:
|
|
106
|
+
return {
|
|
107
|
+
...state,
|
|
108
|
+
loaded: true,
|
|
109
|
+
selected: action.item,
|
|
110
|
+
error: null
|
|
111
|
+
};
|
|
112
|
+
case `[${entity}] Select Failure`:
|
|
113
|
+
return {
|
|
114
|
+
...state,
|
|
115
|
+
loaded: true,
|
|
116
|
+
error: action.error
|
|
117
|
+
};
|
|
118
|
+
case `[${entity}] MultiSelect`:
|
|
119
|
+
return {
|
|
120
|
+
...state,
|
|
121
|
+
multiSelected: [...action.items]
|
|
122
|
+
};
|
|
123
|
+
case `[${entity}] Unselect`:
|
|
124
|
+
return {
|
|
125
|
+
...state,
|
|
126
|
+
loaded: true,
|
|
127
|
+
selected: null,
|
|
128
|
+
error: null
|
|
129
|
+
};
|
|
130
|
+
case `[${entity}] Update`:
|
|
131
|
+
return {
|
|
132
|
+
...state,
|
|
133
|
+
loaded: false,
|
|
134
|
+
error: null
|
|
135
|
+
};
|
|
136
|
+
case `[${entity}] Update Success`:
|
|
137
|
+
return {
|
|
138
|
+
...state,
|
|
139
|
+
loaded: true,
|
|
140
|
+
error: null
|
|
141
|
+
};
|
|
142
|
+
case `[${entity}] Update Failure`:
|
|
143
|
+
return {
|
|
144
|
+
...state,
|
|
145
|
+
loaded: true,
|
|
146
|
+
error: action.error
|
|
147
|
+
};
|
|
148
|
+
case `[${entity}] Update partial`:
|
|
149
|
+
return {
|
|
150
|
+
...state,
|
|
151
|
+
loaded: false,
|
|
152
|
+
error: null
|
|
153
|
+
};
|
|
154
|
+
case `[${entity}] Update partial Success`:
|
|
155
|
+
return {
|
|
156
|
+
...state,
|
|
157
|
+
loaded: true,
|
|
158
|
+
error: null
|
|
159
|
+
};
|
|
160
|
+
case `[${entity}] Update partial Failure`:
|
|
161
|
+
return {
|
|
162
|
+
...state,
|
|
163
|
+
loaded: true,
|
|
164
|
+
error: action.error
|
|
165
|
+
};
|
|
166
|
+
case `[${entity}] Update partial many`:
|
|
167
|
+
return {
|
|
168
|
+
...state,
|
|
169
|
+
loaded: false,
|
|
170
|
+
error: null
|
|
171
|
+
};
|
|
172
|
+
case `[${entity}] Update partial many Success`:
|
|
173
|
+
return {
|
|
174
|
+
...state,
|
|
175
|
+
multiSelected: [],
|
|
176
|
+
loaded: true,
|
|
177
|
+
error: null
|
|
178
|
+
};
|
|
179
|
+
case `[${entity}] Update partial many Failure`:
|
|
180
|
+
return {
|
|
181
|
+
...state,
|
|
182
|
+
loaded: true,
|
|
183
|
+
error: action.error
|
|
184
|
+
};
|
|
185
|
+
case `[${entity}] Delete`:
|
|
186
|
+
return {
|
|
187
|
+
...state,
|
|
188
|
+
loaded: false,
|
|
189
|
+
error: null
|
|
190
|
+
};
|
|
191
|
+
case `[${entity}] Delete Success`:
|
|
192
|
+
return {
|
|
193
|
+
...state,
|
|
194
|
+
loaded: true,
|
|
195
|
+
error: null
|
|
196
|
+
};
|
|
197
|
+
case `[${entity}] Delete Failure`:
|
|
198
|
+
return {
|
|
199
|
+
...state,
|
|
200
|
+
loaded: true,
|
|
201
|
+
error: action.error
|
|
202
|
+
};
|
|
203
|
+
default:
|
|
204
|
+
return state;
|
|
205
|
+
}
|
|
206
|
+
};
|
|
207
|
+
export function getReducer(entity) {
|
|
208
|
+
return (state, action) => {
|
|
209
|
+
return crudReducer(state, action, entity);
|
|
210
|
+
};
|
|
211
|
+
}
|
|
212
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3J1ZC5yZWR1Y2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jcnVkL3NoZWxsL2FuZ3VsYXIvc3JjL2xpYi8rc3RhdGUvY3J1ZC5yZWR1Y2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSx1QkFBdUIsQ0FBQztBQWVyRCxNQUFNLENBQUMsTUFBTSxZQUFZLEdBQWU7SUFDcEMsTUFBTSxFQUFFLEtBQUs7Q0FDaEIsQ0FBQztBQUVGLE1BQU0sV0FBVyxHQUFHLENBQUMsS0FBSyxHQUFHLFlBQVksRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLEVBQUU7SUFDekQsUUFBUSxNQUFNLENBQUMsSUFBSSxFQUFFO1FBQ2pCLEtBQUssSUFBSSxNQUFNLFVBQVU7WUFDckIsT0FBTztnQkFDSCxHQUFHLEtBQUs7Z0JBQ1IsTUFBTSxFQUFFLEtBQUs7Z0JBQ2IsS0FBSyxFQUFFLElBQUk7YUFDZCxDQUFDO1FBRU4sS0FBSyxJQUFJLE1BQU0sa0JBQWtCO1lBQzdCLE9BQU87Z0JBQ0gsR0FBRyxLQUFLO2dCQUNSLE1BQU0sRUFBRSxJQUFJO2dCQUNaLEtBQUssRUFBRSxJQUFJO2FBQ2QsQ0FBQztRQUVOLEtBQUssSUFBSSxNQUFNLGtCQUFrQjtZQUM3QixPQUFPO2dCQUNILEdBQUcsS0FBSztnQkFDUixNQUFNLEVBQUUsSUFBSTtnQkFDWixLQUFLLEVBQUUsTUFBTSxDQUFDLEtBQUs7YUFDdEIsQ0FBQztRQUVOLEtBQUssSUFBSSxNQUFNLGVBQWU7WUFDMUIsT0FBTztnQkFDSCxHQUFHLEtBQUs7Z0JBQ1IsTUFBTSxFQUFFLEtBQUs7Z0JBQ2IsS0FBSyxFQUFFLElBQUk7YUFDZCxDQUFDO1FBRU4sS0FBSyxJQUFJLE1BQU0sdUJBQXVCO1lBQ2xDLE9BQU87Z0JBQ0gsR0FBRyxLQUFLO2dCQUNSLE1BQU0sRUFBRSxJQUFJO2dCQUNaLEtBQUssRUFBRSxJ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LCtCQUErQjtZQUMxQyxPQUFPO2dCQUNILEdBQUcsS0FBSztnQkFDUixhQUFhLEVBQUUsRUFBRTtnQkFDakIsTUFBTSxFQUFFLElBQUk7Z0JBQ1osS0FBSyxFQUFFLElBQUk7YUFDZCxDQUFDO1FBRU4sS0FBSyxJQUFJLE1BQU0sK0JBQStCO1lBQzFDLE9BQU87Z0JBQ0gsR0FBRyxLQUFLO2dCQUNSLE1BQU0sRUFBRSxJQUFJO2dCQUNaLEtBQUssRUFBRSxNQUFNLENBQUMsS0FBSzthQUN0QixDQUFDO1FBRU4sS0FBSyxJQUFJLE1BQU0sVUFBVTtZQUNyQixPQUFPO2dCQUNILEdBQUcsS0FBSztnQkFDUixNQUFNLEVBQUUsS0FBSztnQkFDYixLQUFLLEVBQUUsSUFBSTthQUNkLENBQUM7UUFFTixLQUFLLElBQUksTUFBTSxrQkFBa0I7WUFDN0IsT0FBTztnQkFDSCxHQUFHLEtBQUs7Z0JBQ1IsTUFBTSxFQUFFLElBQUk7Z0JBQ1osS0FBSyxFQUFFLElBQUk7YUFDZCxDQUFDO1FBRU4sS0FBSyxJQUFJLE1BQU0sa0JBQWtCO1lBQzdCLE9BQU87Z0JBQ0gsR0FBRyxLQUFLO2dCQUNSLE1BQU0sRUFBRSxJQUFJO2dCQUNaLEtBQUssRUFBRSxNQUFNLENBQUMsS0FBSzthQUN0QixDQUFDO1FBRU47WUFDSSxPQUFPLEtBQUssQ0FBQztLQUNwQjtBQUNMLENBQUMsQ0FBQztBQUVGLE1BQU0sVUFBVSxVQUFVLENBQUMsTUFBTTtJQUM3QixPQUFPLENBQUMsS0FBSyxFQUFFLE1BQWMsRUFBRSxFQUFFO1FBQzdCLE9BQU8sV0FBVyxDQUFDLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDOUMsQ0FBQyxDQUFBO0FBQ0wsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7SUVudGl0eX0gZnJvbSBcIkBzbWFydHNvZnQwMDEvZG9tYWluLWNvcmVcIjtcbmltcG9ydCB7QWN0aW9ufSBmcm9tIFwiQG5ncngvc3RvcmVcIjtcbmltcG9ydCB7UGFnaW5hdGlvbk1vZGV9IGZyb20gXCJAc21hcnRzb2Z0MDAxL2FuZ3VsYXJcIjtcblxuaW1wb3J0IHtJQ3J1ZEZpbHRlcn0gZnJvbSBcIi4uL21vZGVscy9pbnRlcmZhY2VzXCI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgU3RhdGU8VCBleHRlbmRzIElFbnRpdHk8c3RyaW5nPj4ge1xuICAgIHNlbGVjdGVkPzogVDtcbiAgICBtdWx0aVNlbGVjdGVkPzogQXJyYXk8VD47XG4gICAgbGlzdD86IFRbXTtcbiAgICB0b3RhbENvdW50PzogbnVtYmVyO1xuICAgIGZpbHRlcj86IElDcnVkRmlsdGVyO1xuICAgIGxpbmtzPzogYW55O1xuICAgIGxvYWRlZDogYm9vbGVhbjsgLy8gaGFzIHRoZSBBdXRoIGxpc3QgYmVlbiBsb2FkZWRcbiAgICBlcnJvcj86IHN0cmluZyB8IG51bGw7IC8vIGxhc3Qgbm9uZSBlcnJvciAoaWYgYW55KVxufVxuXG5leHBvcnQgY29uc3QgaW5pdGlhbFN0YXRlOiBTdGF0ZTxhbnk+ID0ge1xuICAgIGxvYWRlZDogZmFsc2Vcbn07XG5cbmNvbnN0IGNydWRSZWR1Y2VyID0gKHN0YXRlID0gaW5pdGlhbFN0YXRlLCBhY3Rpb24sIGVudGl0eSkgPT4ge1xuICAgIHN3aXRjaCAoYWN0aW9uLnR5cGUpIHtcbiAgICAgICAgY2FzZSBgWyR7ZW50aXR5fV0gQ3JlYXRlYDpcbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgLi4uc3RhdGUsXG4gICAgICAgICAgICAgICAgbG9hZGVkOiBmYWxzZSxcbiAgICAgICAgICAgICAgICBlcnJvcjogbnVsbFxuICAgICAgICAgICAgfTtcblxuICAgICAgICBjYXNlIGBbJHtlbnRpdHl9XSBDcmVhdGUgU3VjY2Vzc2A6XG4gICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgIC4uLnN0YXRlLFxuICAgICAgICAgICAgICAgIGxvYWRlZDogdHJ1ZSxcbiAgICAgICAgICAgICAgICBlcnJvcjogbnVsbFxuICAgICAgICAgICAgfTtcblxuICAgICAgICBjYXNlIGBbJHtlbnRpdHl9XSBDcmVhdGUgRmFpbHVyZWA6XG4gICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgIC4uLnN0YXRlLFxuICAgICAgICAgICAgICAgIGxvYWRlZDogdHJ1ZSxcbiAgICAgICAgICAgICAgICBlcnJvcjogYWN0aW9uLmVycm9yXG4gICAgICAgICAgICB9O1xuXG4gICAgICAgIGNhc2UgYFske2VudGl0eX1dIENyZWF0ZSBNYW55YDpcbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgLi4uc3RhdGUsXG4gICAgICAgICAgICAgICAgbG9hZGVkOiBmYWxzZSxcbiAgICAgICAgICAgICAgICBlcnJvcjogbnVsbFxuICAgICAgICAgICAgfTtcblxuICAgICAgICBjYXNlIGBbJHtlbnRpdHl9XSBDcmVhdGUgTWFueSBTdWNjZXNzYDpcbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgLi4uc3RhdGUsXG4gICAgICAgICAgICAgICAgbG9hZGVkOiB0cnVlLFxuICAgICAgICAgICAgICAgIGVycm9yOiBudWxsXG4gICAgICAgICAgICB9O1xuXG4gICAgICAgIGNhc2UgYFske2VudGl0eX1dIENyZWF0ZSBNYW55IEZhaWx1cmVgOlxuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAuLi5zdGF0ZSxcbiAgICAgICAgICAgICAgICBsb2FkZWQ6IHRydWUsXG4gICAgICAgICAgICAgICAgZXJyb3I6IGFjdGlvbi5lcnJvclxuICAgICAgICAgICAgfTtcblxuICAgICAgICBjYXNlIGBbJHtlbnRpdHl9XSBFeHBvcnRgOlxuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAuLi5zdGF0ZSxcbiAgICAgICAgICAgICAgICBsb2FkZWQ6IGZhbHNlXG4gICAgICAgICAgICB9O1xuXG4gICAgICAgIGNhc2UgYFske2VudGl0eX1dIEV4cG9ydCBTdWNjZXNzYDpcbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgLi4uc3RhdGUsXG4gICAgICAgICAgICAgICAgbG9hZGVkOiB0cnVlXG4gICAgICAgICAgICB9O1xuXG4gICAgICAgIGNhc2UgYFske2VudGl0eX1dIEV4cG9ydCBGYWlsdXJlYDpcbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgLi4uc3RhdGUsXG4gICAgICAgICAgICAgICAgbG9hZGVkOiB0cnVlXG4gICAgICAgICAgICB9O1xuXG4gICAgICAgIGNhc2UgYFske2VudGl0eX1dIFJlYWRgOlxuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAuLi5zdGF0ZSxcbiAgICAgICAgICAgICAgICBsb2FkZWQ6IGZhbHNlLFxuICAgICAgICAgICAgICAgIGZpbHRlcjogYWN0aW9uLmZpbHRlcixcbiAgICAgICAgICAgICAgICBlcnJvcjogbnVsbCxcbiAgICAgICAgICAgICAgICB0b3RhbENvdW50OiBudWxsLFxuICAgICAgICAgICAgICAgIGxpbmtzOiBudWxsLFxuICAgICAgICAgICAgfTtcblxuICAgICAgICBjYXNlIGBbJHtlbnRpdHl9XSBSZWFkIFN1Y2Nlc3NgOlxuXG4gICAgICAgICAgICBsZXQgbGlzdCA9IFtdO1xuXG4gICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgICAgYWN0aW9uLmZpbHRlclxuICAgICAgICAgICAgICAgICYmIGFjdGlvbi5maWx0ZXIub2Zmc2V0XG4gICAgICAgICAgICAgICAgJiYgc3RhdGUubGlzdFxuICAgICAgICAgICAgICAgICYmIGFjdGlvbi5maWx0ZXIucGFnaW5hdGlvbk1vZGUgIT09IFBhZ2luYXRpb25Nb2RlLnNpbmdsZVBhZ2VcbiAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgIHN0YXRlLmxpc3QuZm9yRWFjaChpID0+IHtcbiAgICAgICAgICAgICAgICAgICBsaXN0LnB1c2goaSk7XG4gICAgICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgICAgICBsaXN0ID0gW1xuICAgICAgICAgICAgICAgICAgICAuLi5saXN0LFxuICAgICAgICAgICAgICAgICAgICAuLi5hY3Rpb24ucmVzdWx0LmRhdGFcbiAgICAgICAgICAgICAgICBdO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBsaXN0ID0gYWN0aW9uLnJlc3VsdC5kYXRhO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgIC4uLnN0YXRlLFxuICAgICAgICAgICAgICAgIGxvYWRlZDogdHJ1ZSxcbiAgICAgICAgICAgICAgICBsaXN0LFxuICAgICAgICAgICAgICAgIHRvdGFsQ291bnQ6IGFjdGlvbi5yZXN1bHQudG90YWxDb3VudCxcbiAgICAgICAgICAgICAgICBsaW5rczogYWN0aW9uLnJlc3VsdC5saW5rcyxcbiAgICAgICAgICAgICAgICBlcnJvcjogbnVsbFxuICAgICAgICAgICAgfTtcblxuICAgICAgICBjYXNlIGBbJHtlbnRpdHl9XSBSZWFkIEZhaWx1cmVgOlxuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAuLi5zdGF0ZSxcbiAgICAgICAgICAgICAgICBsb2FkZWQ6IHRydWUsXG4gICAgICAgICAgICAgICAgZXJyb3I6IGFjdGlvbi5lcnJvclxuICAgICAgICAgICAgfTtcblxuICAgICAgICBjYXNlIGBbJHtlbnRpdHl9XSBTZWxlY3RgOlxuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAuLi5zdGF0ZSxcbiAgICAgICAgICAgICAgICBsb2FkZWQ6IGZhbHNlLFxuICAgICAgICAgICAgICAgIHNlbGVjdGVkOiBudWxsLFxuICAgICAgICAgICAgICAgIGVycm9yOiBudWxsXG4gICAgICAgICAgICB9O1xuXG4gICAgICAgIGNhc2UgYFske2VudGl0eX1dIFNlbGVjdCBTdWNjZXNzYDpcbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgLi4uc3RhdGUsXG4gICAgICAgICAgICAgICAgbG9hZGVkOiB0cnVlLFxuICAgICAgICAgICAgICAgIHNlbGVjdGVkOiBhY3Rpb24uaXRlbSxcbiAgICAgICAgICAgICAgICBlcnJvcjogbnVsbFxuICAgICAgICAgICAgfTtcblxuICAgICAgICBjYXNlIGBbJHtlbnRpdHl9XSBTZWxlY3QgRmFpbHVyZWA6XG4gICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgIC4uLnN0YXRlLFxuICAgICAgICAgICAgICAgIGxvYWRlZDogdHJ1ZSxcbiAgICAgICAgICAgICAgICBlcnJvcjogYWN0aW9uLmVycm9yXG4gICAgICAgICAgICB9O1xuXG4gICAgICAgIGNhc2UgYFske2VudGl0eX1dIE11bHRpU2VsZWN0YDpcbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgLi4uc3RhdGUsXG4gICAgICAgICAgICAgICAgbXVsdGlTZWxlY3RlZDogWy4uLmFjdGlvbi5pdGVtc11cbiAgICAgICAgICAgIH07XG5cbiAgICAgICAgY2FzZSBgWyR7ZW50aXR5fV0gVW5zZWxlY3RgOlxuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAuLi5zdGF0ZSxcbiAgICAgICAgICAgICAgICBsb2FkZWQ6IHRydWUsXG4gICAgICAgICAgICAgICAgc2VsZWN0ZWQ6IG51bGwsXG4gICAgICAgICAgICAgICAgZXJyb3I6IG51bGxcbiAgICAgICAgICAgIH07XG5cbiAgICAgICAgY2FzZSBgWyR7ZW50aXR5fV0gVXBkYXRlYDpcbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgLi4uc3RhdGUsXG4gICAgICAgICAgICAgICAgbG9hZGVkOiBmYWxzZSxcbiAgICAgICAgICAgICAgICBlcnJvcjogbnVsbFxuICAgICAgICAgICAgfTtcblxuICAgICAgICBjYXNlIGBbJHtlbnRpdHl9XSBVcGRhdGUgU3VjY2Vzc2A6XG4gICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgIC4uLnN0YXRlLFxuICAgICAgICAgICAgICAgIGxvYWRlZDogdHJ1ZSxcbiAgICAgICAgICAgICAgICBlcnJvcjogbnVsbFxuICAgICAgICAgICAgfTtcblxuICAgICAgICBjYXNlIGBbJHtlbnRpdHl9XSBVcGRhdGUgRmFpbHVyZWA6XG4gICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgIC4uLnN0YXRlLFxuICAgICAgICAgICAgICAgIGxvYWRlZDogdHJ1ZSxcbiAgICAgICAgICAgICAgICBlcnJvcjogYWN0aW9uLmVycm9yXG4gICAgICAgICAgICB9O1xuXG4gICAgICAgIGNhc2UgYFske2VudGl0eX1dIFVwZGF0ZSBwYXJ0aWFsYDpcbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgLi4uc3RhdGUsXG4gICAgICAgICAgICAgICAgbG9hZGVkOiBmYWxzZSxcbiAgICAgICAgICAgICAgICBlcnJvcjogbnVsbFxuICAgICAgICAgICAgfTtcblxuICAgICAgICBjYXNlIGBbJHtlbnRpdHl9XSBVcGRhdGUgcGFydGlhbCBTdWNjZXNzYDpcbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgLi4uc3RhdGUsXG4gICAgICAgICAgICAgICAgbG9hZGVkOiB0cnVlLFxuICAgICAgICAgICAgICAgIGVycm9yOiBudWxsXG4gICAgICAgICAgICB9O1xuXG4gICAgICAgIGNhc2UgYFske2VudGl0eX1dIFVwZGF0ZSBwYXJ0aWFsIEZhaWx1cmVgOlxuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAuLi5zdGF0ZSxcbiAgICAgICAgICAgICAgICBsb2FkZWQ6IHRydWUsXG4gICAgICAgICAgICAgICAgZXJyb3I6IGFjdGlvbi5lcnJvclxuICAgICAgICAgICAgfTtcblxuICAgICAgICBjYXNlIGBbJHtlbnRpdHl9XSBVcGRhdGUgcGFydGlhbCBtYW55YDpcbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgLi4uc3RhdGUsXG4gICAgICAgICAgICAgICAgbG9hZGVkOiBmYWxzZSxcbiAgICAgICAgICAgICAgICBlcnJvcjogbnVsbFxuICAgICAgICAgICAgfTtcblxuICAgICAgICBjYXNlIGBbJHtlbnRpdHl9XSBVcGRhdGUgcGFydGlhbCBtYW55IFN1Y2Nlc3NgOlxuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAuLi5zdGF0ZSxcbiAgICAgICAgICAgICAgICBtdWx0aVNlbGVjdGVkOiBbXSxcbiAgICAgICAgICAgICAgICBsb2FkZWQ6IHRydWUsXG4gICAgICAgICAgICAgICAgZXJyb3I6IG51bGxcbiAgICAgICAgICAgIH07XG5cbiAgICAgICAgY2FzZSBgWyR7ZW50aXR5fV0gVXBkYXRlIHBhcnRpYWwgbWFueSBGYWlsdXJlYDpcbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgLi4uc3RhdGUsXG4gICAgICAgICAgICAgICAgbG9hZGVkOiB0cnVlLFxuICAgICAgICAgICAgICAgIGVycm9yOiBhY3Rpb24uZXJyb3JcbiAgICAgICAgICAgIH07XG5cbiAgICAgICAgY2FzZSBgWyR7ZW50aXR5fV0gRGVsZXRlYDpcbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgLi4uc3RhdGUsXG4gICAgICAgICAgICAgICAgbG9hZGVkOiBmYWxzZSxcbiAgICAgICAgICAgICAgICBlcnJvcjogbnVsbFxuICAgICAgICAgICAgfTtcblxuICAgICAgICBjYXNlIGBbJHtlbnRpdHl9XSBEZWxldGUgU3VjY2Vzc2A6XG4gICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgIC4uLnN0YXRlLFxuICAgICAgICAgICAgICAgIGxvYWRlZDogdHJ1ZSxcbiAgICAgICAgICAgICAgICBlcnJvcjogbnVsbFxuICAgICAgICAgICAgfTtcblxuICAgICAgICBjYXNlIGBbJHtlbnRpdHl9XSBEZWxldGUgRmFpbHVyZWA6XG4gICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgIC4uLnN0YXRlLFxuICAgICAgICAgICAgICAgIGxvYWRlZDogdHJ1ZSxcbiAgICAgICAgICAgICAgICBlcnJvcjogYWN0aW9uLmVycm9yXG4gICAgICAgICAgICB9O1xuXG4gICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICByZXR1cm4gc3RhdGU7XG4gICAgfVxufTtcblxuZXhwb3J0IGZ1bmN0aW9uIGdldFJlZHVjZXIoZW50aXR5KSB7XG4gICAgcmV0dXJuIChzdGF0ZSwgYWN0aW9uOiBBY3Rpb24pID0+IHtcbiAgICAgICAgcmV0dXJuIGNydWRSZWR1Y2VyKHN0YXRlLCBhY3Rpb24sIGVudGl0eSk7XG4gICAgfVxufVxuIl19
|
|
File without changes
|