monkey-front-core 0.0.469 → 0.0.471
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/lib/core/services/commons/index.mjs +2 -1
- package/esm2020/lib/core/services/commons/monkeyecx-commons-resolve-base.service.mjs +109 -0
- package/esm2020/lib/core/services/store/index.mjs +2 -1
- package/esm2020/lib/core/services/store/monkeyecx-store-base.service.mjs +169 -0
- package/esm2020/lib/core/services/store/monkeyecx-store.selector.mjs +9 -3
- package/fesm2015/monkey-front-core.mjs +283 -3
- package/fesm2015/monkey-front-core.mjs.map +1 -1
- package/fesm2020/monkey-front-core.mjs +275 -3
- package/fesm2020/monkey-front-core.mjs.map +1 -1
- package/lib/core/services/commons/index.d.ts +1 -0
- package/lib/core/services/commons/monkeyecx-commons-resolve-base.service.d.ts +46 -0
- package/lib/core/services/store/index.d.ts +1 -0
- package/lib/core/services/store/monkeyecx-store-base.service.d.ts +47 -0
- package/lib/core/services/store/monkeyecx-store.selector.d.ts +4 -4
- package/monkey-front-core-0.0.471.tgz +0 -0
- package/package.json +1 -1
- package/monkey-front-core-0.0.469.tgz +0 -0
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
export * from './monkeyecx-commons-resolve-base.service';
|
|
1
2
|
export * from './monkeyecx-commons-resolve.service';
|
|
2
3
|
export * from './monkeyecx-commons.service';
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
4
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tb25rZXktZnJvbnQtY29yZS9zcmMvbGliL2NvcmUvc2VydmljZXMvY29tbW9ucy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLDBDQUEwQyxDQUFDO0FBQ3pELGNBQWMscUNBQXFDLENBQUM7QUFDcEQsY0FBYyw2QkFBNkIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vbW9ua2V5ZWN4LWNvbW1vbnMtcmVzb2x2ZS1iYXNlLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9tb25rZXllY3gtY29tbW9ucy1yZXNvbHZlLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9tb25rZXllY3gtY29tbW9ucy5zZXJ2aWNlJztcbiJdfQ==
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
import { inject } from '@angular/core';
|
|
2
|
+
import { Router } from '@angular/router';
|
|
3
|
+
import { Store } from '@ngrx/store';
|
|
4
|
+
import { TranslateService } from '@ngx-translate/core';
|
|
5
|
+
import { MonkeyEcxCommonsService } from '.';
|
|
6
|
+
import { MonkeyEcxDiscoveryParamsService, MonkeyEcxPaginationService } from '../..';
|
|
7
|
+
import { MonkeyEcxUtils } from '../../utils';
|
|
8
|
+
export class MonkeyEcxCommonsResolveBaseService extends MonkeyEcxCommonsService {
|
|
9
|
+
constructor(monkeyecxService, tokenStorage, config) {
|
|
10
|
+
super(monkeyecxService, tokenStorage);
|
|
11
|
+
this.route = null;
|
|
12
|
+
this.currentRoute = null;
|
|
13
|
+
this.paginationService = inject(MonkeyEcxPaginationService);
|
|
14
|
+
this.translateService = inject(TranslateService);
|
|
15
|
+
this.router = inject(Router);
|
|
16
|
+
this.store = inject(Store);
|
|
17
|
+
this.monkeyDiscovery = inject(MonkeyEcxDiscoveryParamsService);
|
|
18
|
+
const { actions } = config;
|
|
19
|
+
this.action = actions;
|
|
20
|
+
}
|
|
21
|
+
async getData() {
|
|
22
|
+
try {
|
|
23
|
+
const { store, route, action, tokenStorage } = this;
|
|
24
|
+
const { companyId, governmentId } = await tokenStorage?.getToken();
|
|
25
|
+
if (!route)
|
|
26
|
+
return;
|
|
27
|
+
const url = MonkeyEcxUtils.replaceVariables(route, { companyId, governmentId });
|
|
28
|
+
store.dispatch(action.load({ url }));
|
|
29
|
+
}
|
|
30
|
+
catch (e) {
|
|
31
|
+
throw new Error(`MECX Core - Method getData -> ${e}`);
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
async loadPage(actionType) {
|
|
35
|
+
try {
|
|
36
|
+
const { store, action } = this;
|
|
37
|
+
store.dispatch(action.loadPagination({
|
|
38
|
+
pagination: {
|
|
39
|
+
action: actionType
|
|
40
|
+
}
|
|
41
|
+
}));
|
|
42
|
+
}
|
|
43
|
+
catch (e) {
|
|
44
|
+
throw new Error(`MECX Core - Method loadPage -> ${e}`);
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* @description Inicializar a class genérica
|
|
49
|
+
* @param (args: MonkeyEcxInitialResolverConfig)
|
|
50
|
+
* => route é obrigátorio pois ele quem inicializa a store.
|
|
51
|
+
* A searchClass só se faz necessaria quando for usar filtros
|
|
52
|
+
*/
|
|
53
|
+
init(args) {
|
|
54
|
+
try {
|
|
55
|
+
const { searchClass, route } = args;
|
|
56
|
+
this.route = route;
|
|
57
|
+
if (searchClass) {
|
|
58
|
+
// eslint-disable-next-line new-cap
|
|
59
|
+
const searchInstance = new searchClass(this.__search);
|
|
60
|
+
this.route = `${route}${searchInstance.buildParams()}`;
|
|
61
|
+
this.__onSearchChanged$.next(searchInstance);
|
|
62
|
+
}
|
|
63
|
+
this.getData();
|
|
64
|
+
}
|
|
65
|
+
catch (e) {
|
|
66
|
+
throw new Error(`${e?.message}`);
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
resolve(route, state, otherArgs) {
|
|
70
|
+
this.__search = route?.queryParams;
|
|
71
|
+
const [currentRoute] = state?.url.split('?') || [null];
|
|
72
|
+
this.currentRoute = currentRoute;
|
|
73
|
+
super.resolve(route, state, otherArgs);
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* @description Atualizar os filtros da tela
|
|
77
|
+
* @param (search: T, route?: string)
|
|
78
|
+
* => route é opcional, passar ele apenas se a rota for diferente do padrão
|
|
79
|
+
*/
|
|
80
|
+
setSearch(search, route) {
|
|
81
|
+
try {
|
|
82
|
+
const { currentRoute, router } = this;
|
|
83
|
+
this.setSearchByUrl(router, route || `${currentRoute}`, search);
|
|
84
|
+
}
|
|
85
|
+
catch (e) {
|
|
86
|
+
throw new Error(`MECX Core - Method setSearch -> ${e}`);
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
/**
|
|
90
|
+
* @description Navegação para details.
|
|
91
|
+
* Por padrão sera redirecionado para '${currentRoute}/details'
|
|
92
|
+
* @param (detailsData: T, route?: string)
|
|
93
|
+
* => route é opcional, passar ele apenas se a rota for diferente do padrão
|
|
94
|
+
*/
|
|
95
|
+
navigateToDetails(detailsData, route) {
|
|
96
|
+
try {
|
|
97
|
+
const { router, currentRoute } = this;
|
|
98
|
+
router.navigate([route || `${currentRoute}/details`], {
|
|
99
|
+
state: {
|
|
100
|
+
detailsData
|
|
101
|
+
}
|
|
102
|
+
});
|
|
103
|
+
}
|
|
104
|
+
catch (e) {
|
|
105
|
+
throw new Error(`MECX Core - Method navigateToDetails -> ${e}`);
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9ua2V5ZWN4LWNvbW1vbnMtcmVzb2x2ZS1iYXNlLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tb25rZXktZnJvbnQtY29yZS9zcmMvbGliL2NvcmUvc2VydmljZXMvY29tbW9ucy9tb25rZXllY3gtY29tbW9ucy1yZXNvbHZlLWJhc2Uuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3ZDLE9BQU8sRUFBMEIsTUFBTSxFQUF1QixNQUFNLGlCQUFpQixDQUFDO0FBQ3RGLE9BQU8sRUFBVSxLQUFLLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDNUMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdkQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sR0FBRyxDQUFDO0FBQzVDLE9BQU8sRUFDTCwrQkFBK0IsRUFDL0IsMEJBQTBCLEVBRTNCLE1BQU0sT0FBTyxDQUFDO0FBTWYsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUc3QyxNQUFNLE9BQWdCLGtDQUFtQyxTQUFRLHVCQUF1QjtJQWlCdEYsWUFDRSxnQkFBa0MsRUFDbEMsWUFBMEMsRUFDMUMsTUFLQztRQUVELEtBQUssQ0FBQyxnQkFBZ0IsRUFBRSxZQUFZLENBQUMsQ0FBQztRQXhCOUIsVUFBSyxHQUFrQixJQUFJLENBQUM7UUFFNUIsaUJBQVksR0FBa0IsSUFBSSxDQUFDO1FBRW5DLHNCQUFpQixHQUFHLE1BQU0sQ0FBQywwQkFBMEIsQ0FBQyxDQUFDO1FBRXZELHFCQUFnQixHQUFHLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBRTVDLFdBQU0sR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7UUFFeEIsVUFBSyxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUV0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QUFDLE1BQU0sRUFBRSxLQUFLLElBQUksR0FBRyxZQUFZLEVBQUUsRUFBRSxNQUFNLENBQUMsQ0FBQztTQUNqRTtRQUFDLE9BQU8sQ0FBQyxFQUFFO1lBQ1YsTUFBTSxJQUFJLEtBQUssQ0FBQyxtQ0FBbUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztTQUN6RDtJQUNILENBQUM7SUFFRDs7Ozs7T0FLRztJQUNJLGlCQUFpQixDQUFJLFdBQWMsRUFBRSxLQUFjO1FBQ3hELElBQUk7WUFDRixNQUFNLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxHQUFHLElBQUksQ0FBQztZQUV0QyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsS0FBSyxJQUFJLEdBQUcsWUFBWSxVQUFVLENBQUMsRUFBRTtnQkFDcEQsS0FBSyxFQUFFO29CQUNMLFdBQVc7aUJBQ1o7YUFDRixDQUFDLENBQUM7U0FDSjtRQUFDLE9BQU8sQ0FBQyxFQUFFO1lBQ1YsTUFBTSxJQUFJLEtBQUssQ0FBQywyQ0FBMkMsQ0FBQyxFQUFFLENBQUMsQ0FBQztTQUNqRTtJQUNILENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGVTbmFwc2hvdCwgUm91dGVyLCBSb3V0ZXJTdGF0ZVNuYXBzaG90IH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IEFjdGlvbiwgU3RvcmUgfSBmcm9tICdAbmdyeC9zdG9yZSc7XG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQgeyBNb25rZXlFY3hDb21tb25zU2VydmljZSB9IGZyb20gJy4nO1xuaW1wb3J0IHtcbiAgTW9ua2V5RWN4RGlzY292ZXJ5UGFyYW1zU2VydmljZSxcbiAgTW9ua2V5RWN4UGFnaW5hdGlvblNlcnZpY2UsXG4gIE1vbmtleUVjeFRva2VuU3RvcmFnZVNlcnZpY2Vcbn0gZnJvbSAnLi4vLi4nO1xuaW1wb3J0IHtcbiAgTW9ua2V5RWN4Q29tbW9uc0NvbmZpZyxcbiAgTW9ua2V5RWN4Q29tbW9uc1NlYXJjaCxcbiAgTW9ua2V5RWN4SW5pdGlhbFJlc29sdmVyQ29uZmlnXG59IGZyb20gJy4uLy4uL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgTW9ua2V5RWN4VXRpbHMgfSBmcm9tICcuLi8uLi91dGlscyc7XG5pbXBvcnQgeyBNb25rZXlFY3hTZXJ2aWNlIH0gZnJvbSAnLi4vbW9ua2V5ZWN4LXNlcnZpY2Uuc2VydmljZSc7XG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBNb25rZXlFY3hDb21tb25zUmVzb2x2ZUJhc2VTZXJ2aWNlIGV4dGVuZHMgTW9ua2V5RWN4Q29tbW9uc1NlcnZpY2Uge1xuICBwcml2YXRlIGFjdGlvbjogYW55O1xuXG4gIHByb3RlY3RlZCByb3V0ZTogc3RyaW5nIHwgbnVsbCA9IG51bGw7XG5cbiAgcHJvdGVjdGVkIGN1cnJlbnRSb3V0ZTogc3RyaW5nIHwgbnVsbCA9IG51bGw7XG5cbiAgcHJvdGVjdGVkIHBhZ2luYXRpb25TZXJ2aWNlID0gaW5qZWN0KE1vbmtleUVjeFBhZ2luYXRpb25TZXJ2aWNlKTtcblxuICBwcm90ZWN0ZWQgdHJhbnNsYXRlU2VydmljZSA9IGluamVjdChUcmFuc2xhdGVTZXJ2aWNlKTtcblxuICBwcm90ZWN0ZWQgcm91dGVyID0gaW5qZWN0KFJvdXRlcik7XG5cbiAgcHJvdGVjdGVkIHN0b3JlID0gaW5qZWN0KFN0b3JlKTtcblxuICBwcm90ZWN0ZWQgbW9ua2V5RGlzY292ZXJ5ID0gaW5qZWN0KE1vbmtleUVjeERpc2NvdmVyeVBhcmFtc1NlcnZpY2UpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIG1vbmtleWVjeFNlcnZpY2U6IE1vbmtleUVjeFNlcnZpY2UsXG4gICAgdG9rZW5TdG9yYWdlOiBNb25rZXlFY3hUb2tlblN0b3JhZ2VTZXJ2aWNlLFxuICAgIGNvbmZpZzoge1xuICAgICAgYWN0aW9uczoge1xuICAgICAgICBsb2FkOiBBY3Rpb247XG4gICAgICAgIGxvYWRQYWdpbmF0aW9uPzogQWN0aW9uO1xuICAgICAgfVxuICAgIH1cbiAgKSB7XG4gICAgc3VwZXIobW9ua2V5ZWN4U2VydmljZSwgdG9rZW5TdG9yYWdlKTtcbiAgICBjb25zdCB7IGFjdGlvbnMgfSA9IGNvbmZpZztcbiAgICB0aGlzLmFjdGlvbiA9IGFjdGlvbnM7XG4gIH1cblxuICBwcm90ZWN0ZWQgYXN5bmMgZ2V0RGF0YSgpIHtcbiAgICB0cnkge1xuICAgICAgY29uc3QgeyBzdG9yZSwgcm91dGUsIGFjdGlvbiwgdG9rZW5TdG9yYWdlIH0gPSB0aGlzO1xuICAgICAgY29uc3QgeyBjb21wYW55SWQsIGdvdmVybm1lbnRJZCB9ID0gYXdhaXQgdG9rZW5TdG9yYWdlPy5nZXRUb2tlbigpO1xuXG4gICAgICBpZiAoIXJvdXRlKSByZXR1cm47XG5cbiAgICAgIGNvbnN0IHVybCA9IE1vbmtleUVjeFV0aWxzLnJlcGxhY2VWYXJpYWJsZXMocm91dGUsIHsgY29tcGFueUlkLCBnb3Zlcm5tZW50SWQgfSk7XG5cbiAgICAgIHN0b3JlLmRpc3BhdGNoKGFjdGlvbi5sb2FkKHsgdXJsIH0pKTtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYE1FQ1ggQ29yZSAtIE1ldGhvZCBnZXREYXRhIC0+ICR7ZX1gKTtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgYXN5bmMgbG9hZFBhZ2UoYWN0aW9uVHlwZTogc3RyaW5nKSB7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHsgc3RvcmUsIGFjdGlvbiB9ID0gdGhpcztcbiAgICAgIHN0b3JlLmRpc3BhdGNoKFxuICAgICAgICBhY3Rpb24ubG9hZFBhZ2luYXRpb24oe1xuICAgICAgICAgIHBhZ2luYXRpb246IHtcbiAgICAgICAgICAgIGFjdGlvbjogYWN0aW9uVHlwZVxuICAgICAgICAgIH1cbiAgICAgICAgfSlcbiAgICAgICk7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBNRUNYIENvcmUgLSBNZXRob2QgbG9hZFBhZ2UgLT4gJHtlfWApO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gSW5pY2lhbGl6YXIgYSBjbGFzcyBnZW7DqXJpY2FcbiAgICogQHBhcmFtIChhcmdzOiBNb25rZXlFY3hJbml0aWFsUmVzb2x2ZXJDb25maWcpXG4gICAqID0+IHJvdXRlIMOpIG9icmlnw6F0b3JpbyBwb2lzIGVsZSBxdWVtIGluaWNpYWxpemEgYSBzdG9yZS5cbiAgICogQSBzZWFyY2hDbGFzcyBzw7Mgc2UgZmF6IG5lY2Vzc2FyaWEgcXVhbmRvIGZvciB1c2FyIGZpbHRyb3NcbiAgICovXG4gIHByb3RlY3RlZCBpbml0KGFyZ3M6IE1vbmtleUVjeEluaXRpYWxSZXNvbHZlckNvbmZpZykge1xuICAgIHRyeSB7XG4gICAgICBjb25zdCB7IHNlYXJjaENsYXNzLCByb3V0ZSB9ID0gYXJncztcblxuICAgICAgdGhpcy5yb3V0ZSA9IHJvdXRlO1xuXG4gICAgICBpZiAoc2VhcmNoQ2xhc3MpIHtcbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5ldy1jYXBcbiAgICAgICAgY29uc3Qgc2VhcmNoSW5zdGFuY2U6IE1vbmtleUVjeENvbW1vbnNTZWFyY2ggPSBuZXcgc2VhcmNoQ2xhc3ModGhpcy5fX3NlYXJjaCk7XG5cbiAgICAgICAgdGhpcy5yb3V0ZSA9IGAke3JvdXRlfSR7c2VhcmNoSW5zdGFuY2UuYnVpbGRQYXJhbXMoKX1gO1xuXG4gICAgICAgIHRoaXMuX19vblNlYXJjaENoYW5nZWQkLm5leHQoc2VhcmNoSW5zdGFuY2UpO1xuICAgICAgfVxuXG4gICAgICB0aGlzLmdldERhdGEoKTtcbiAgICB9IGNhdGNoIChlOiBhbnkpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgJHtlPy5tZXNzYWdlfWApO1xuICAgIH1cbiAgfVxuXG4gIHJlc29sdmUoXG4gICAgcm91dGU6IEFjdGl2YXRlZFJvdXRlU25hcHNob3QgfCBudWxsLFxuICAgIHN0YXRlOiBSb3V0ZXJTdGF0ZVNuYXBzaG90IHwgbnVsbCxcbiAgICBvdGhlckFyZ3M/OiBNb25rZXlFY3hDb21tb25zQ29uZmlnXG4gICkge1xuICAgIHRoaXMuX19zZWFyY2ggPSByb3V0ZT8ucXVlcnlQYXJhbXM7XG5cbiAgICBjb25zdCBbY3VycmVudFJvdXRlXSA9IHN0YXRlPy51cmwuc3BsaXQoJz8nKSB8fCBbbnVsbF07XG5cbiAgICB0aGlzLmN1cnJlbnRSb3V0ZSA9IGN1cnJlbnRSb3V0ZTtcblxuICAgIHN1cGVyLnJlc29sdmUocm91dGUsIHN0YXRlLCBvdGhlckFyZ3MpO1xuICB9XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBBdHVhbGl6YXIgb3MgZmlsdHJvcyBkYSB0ZWxhXG4gICAqIEBwYXJhbSAoc2VhcmNoOiBULCByb3V0ZT86IHN0cmluZylcbiAgICogPT4gcm91dGUgw6kgb3BjaW9uYWwsIHBhc3NhciBlbGUgYXBlbmFzIHNlIGEgcm90YSBmb3IgZGlmZXJlbnRlIGRvIHBhZHLDo29cbiAgICovXG4gIHB1YmxpYyBzZXRTZWFyY2g8VD4oc2VhcmNoOiBULCByb3V0ZT86IHN0cmluZyk6IHZvaWQge1xuICAgIHRyeSB7XG4gICAgICBjb25zdCB7IGN1cnJlbnRSb3V0ZSwgcm91dGVyIH0gPSB0aGlzO1xuXG4gICAgICB0aGlzLnNldFNlYXJjaEJ5VXJsKHJvdXRlciwgcm91dGUgfHwgYCR7Y3VycmVudFJvdXRlfWAsIHNlYXJjaCk7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBNRUNYIENvcmUgLSBNZXRob2Qgc2V0U2VhcmNoIC0+ICR7ZX1gKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIE5hdmVnYcOnw6NvIHBhcmEgZGV0YWlscy5cbiAgICogUG9yIHBhZHLDo28gc2VyYSByZWRpcmVjaW9uYWRvIHBhcmEgJyR7Y3VycmVudFJvdXRlfS9kZXRhaWxzJ1xuICAgKiBAcGFyYW0gKGRldGFpbHNEYXRhOiBULCByb3V0ZT86IHN0cmluZylcbiAgICogPT4gcm91dGUgw6kgb3BjaW9uYWwsIHBhc3NhciBlbGUgYXBlbmFzIHNlIGEgcm90YSBmb3IgZGlmZXJlbnRlIGRvIHBhZHLDo29cbiAgICovXG4gIHB1YmxpYyBuYXZpZ2F0ZVRvRGV0YWlsczxUPihkZXRhaWxzRGF0YTogVCwgcm91dGU/OiBzdHJpbmcpIHtcbiAgICB0cnkge1xuICAgICAgY29uc3QgeyByb3V0ZXIsIGN1cnJlbnRSb3V0ZSB9ID0gdGhpcztcblxuICAgICAgcm91dGVyLm5hdmlnYXRlKFtyb3V0ZSB8fCBgJHtjdXJyZW50Um91dGV9L2RldGFpbHNgXSwge1xuICAgICAgICBzdGF0ZToge1xuICAgICAgICAgIGRldGFpbHNEYXRhXG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgTUVDWCBDb3JlIC0gTWV0aG9kIG5hdmlnYXRlVG9EZXRhaWxzIC0+ICR7ZX1gKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
+
export * from './monkeyecx-store-base.service';
|
|
1
2
|
export * from './monkeyecx-store.actions';
|
|
2
3
|
export * from './monkeyecx-store.selector';
|
|
3
4
|
export * from './monkeyecx-store.service';
|
|
4
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tb25rZXktZnJvbnQtY29yZS9zcmMvbGliL2NvcmUvc2VydmljZXMvc3RvcmUvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxnQ0FBZ0MsQ0FBQztBQUMvQyxjQUFjLDJCQUEyQixDQUFDO0FBQzFDLGNBQWMsNEJBQTRCLENBQUM7QUFDM0MsY0FBYywyQkFBMkIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vbW9ua2V5ZWN4LXN0b3JlLWJhc2Uuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL21vbmtleWVjeC1zdG9yZS5hY3Rpb25zJztcbmV4cG9ydCAqIGZyb20gJy4vbW9ua2V5ZWN4LXN0b3JlLnNlbGVjdG9yJztcbmV4cG9ydCAqIGZyb20gJy4vbW9ua2V5ZWN4LXN0b3JlLnNlcnZpY2UnO1xuIl19
|
|
@@ -0,0 +1,169 @@
|
|
|
1
|
+
import { __decorate } from "tslib";
|
|
2
|
+
import { take } from 'rxjs/operators';
|
|
3
|
+
import { MonkeyEcxCoreService } from '../../decorators';
|
|
4
|
+
import { MonkeyEcxLinksModel } from '../../model';
|
|
5
|
+
import { MonkeyEcxCommonsService } from '../commons';
|
|
6
|
+
/**
|
|
7
|
+
* Classe genérica que recebe duas interfaces como tipos genéricos.
|
|
8
|
+
*
|
|
9
|
+
* @typeparam T deve ser a mesma interface utilizada na Entity da Store
|
|
10
|
+
* @typeparam K faz referência ao tipo de configuração.
|
|
11
|
+
*
|
|
12
|
+
* @description interfaces de configuração:
|
|
13
|
+
* ```
|
|
14
|
+
* MonkeyEcxCollectionStore e MonkeyEcxEntityStore
|
|
15
|
+
* ```
|
|
16
|
+
*/
|
|
17
|
+
export class MonkeyEcxCommonsStoreBaseService extends MonkeyEcxCommonsService {
|
|
18
|
+
constructor(monkeyecxService, tokenStorage, store, config) {
|
|
19
|
+
super(monkeyecxService, tokenStorage);
|
|
20
|
+
this.store = store;
|
|
21
|
+
const { actions, selectors } = config;
|
|
22
|
+
this.action = actions;
|
|
23
|
+
this.selector = selectors;
|
|
24
|
+
}
|
|
25
|
+
handleResponseData(resp, updateLinks = true) {
|
|
26
|
+
try {
|
|
27
|
+
let data;
|
|
28
|
+
if (resp?._embedded) {
|
|
29
|
+
const { _embedded, _links, page } = resp;
|
|
30
|
+
const key = Object.keys(_embedded)[0];
|
|
31
|
+
data = _embedded[key];
|
|
32
|
+
if (updateLinks) {
|
|
33
|
+
this.updateLinks?.(_links);
|
|
34
|
+
}
|
|
35
|
+
this.updatePage?.(page);
|
|
36
|
+
}
|
|
37
|
+
else
|
|
38
|
+
data = resp;
|
|
39
|
+
this.update?.(data);
|
|
40
|
+
}
|
|
41
|
+
catch (e) {
|
|
42
|
+
throw new Error(`MECX Core - Method handleResponseData -> ${e}`);
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
updateControl(data) {
|
|
46
|
+
try {
|
|
47
|
+
this.store.dispatch(this.action.updateControl({
|
|
48
|
+
data
|
|
49
|
+
}));
|
|
50
|
+
}
|
|
51
|
+
catch (e) {
|
|
52
|
+
throw new Error(`MECX Core - Method updateControl -> ${e}`);
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
mappingData(args) {
|
|
56
|
+
try {
|
|
57
|
+
const handle = (item) => {
|
|
58
|
+
let id = '';
|
|
59
|
+
const { href } = new MonkeyEcxLinksModel(item)?.getAction('self') || {
|
|
60
|
+
href: ''
|
|
61
|
+
};
|
|
62
|
+
if (href) {
|
|
63
|
+
id = href.split('/').pop() || '';
|
|
64
|
+
}
|
|
65
|
+
return {
|
|
66
|
+
...item,
|
|
67
|
+
id
|
|
68
|
+
};
|
|
69
|
+
};
|
|
70
|
+
if (args instanceof Array) {
|
|
71
|
+
return args.map((item) => {
|
|
72
|
+
return handle(item);
|
|
73
|
+
});
|
|
74
|
+
}
|
|
75
|
+
return handle(args);
|
|
76
|
+
}
|
|
77
|
+
catch (e) {
|
|
78
|
+
throw new Error(`MECX Core - Method mappingData -> ${e}`);
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
update(args) {
|
|
82
|
+
try {
|
|
83
|
+
let typeAction = 'updateOne';
|
|
84
|
+
if (args instanceof Array) {
|
|
85
|
+
typeAction = 'updateAll';
|
|
86
|
+
}
|
|
87
|
+
this.store.dispatch(this.action[typeAction]({
|
|
88
|
+
data: this.mappingData(args)
|
|
89
|
+
}));
|
|
90
|
+
}
|
|
91
|
+
catch (e) {
|
|
92
|
+
throw new Error(`MECX Core - Method update -> ${e}`);
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
updatePage(data) {
|
|
96
|
+
try {
|
|
97
|
+
this.store.dispatch(this.action.updatePage({
|
|
98
|
+
data
|
|
99
|
+
}));
|
|
100
|
+
}
|
|
101
|
+
catch (e) {
|
|
102
|
+
throw new Error(`MECX Core - Method updatePage -> ${e}`);
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
updateLinks(data) {
|
|
106
|
+
try {
|
|
107
|
+
this.store.dispatch(this.action.updateLinks({
|
|
108
|
+
data
|
|
109
|
+
}));
|
|
110
|
+
}
|
|
111
|
+
catch (e) {
|
|
112
|
+
throw new Error(`MECX Core - Method updateLinks -> ${e}`);
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
async loadData(url, updateLinks = true) {
|
|
116
|
+
this.updateControl({ isLoading: true });
|
|
117
|
+
try {
|
|
118
|
+
const data = await this.monkeyecxService?.get(url).toPromise();
|
|
119
|
+
this.handleResponseData(data, updateLinks);
|
|
120
|
+
}
|
|
121
|
+
catch (e) {
|
|
122
|
+
throw new Error(`${e?.message}`);
|
|
123
|
+
}
|
|
124
|
+
this.updateControl({ isLoading: false });
|
|
125
|
+
}
|
|
126
|
+
async loadPageData(pagination) {
|
|
127
|
+
const { store, selector } = this;
|
|
128
|
+
const data = await store
|
|
129
|
+
.select(selector.selectLinks())
|
|
130
|
+
.pipe(take(1))
|
|
131
|
+
.toPromise();
|
|
132
|
+
const { action } = pagination;
|
|
133
|
+
const { href } = new MonkeyEcxLinksModel({ _links: data }).getAction(action) || {
|
|
134
|
+
href: ''
|
|
135
|
+
};
|
|
136
|
+
if (href) {
|
|
137
|
+
this.loadData(href);
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
/**
|
|
141
|
+
* @description Neste método precisamos incluir a lógica para conferir se precisa limpar a
|
|
142
|
+
* entidade ou não
|
|
143
|
+
* E depois precisa invocar o método loadData
|
|
144
|
+
* @param (url) ou de acordo com a action criada
|
|
145
|
+
* @example
|
|
146
|
+
* ```
|
|
147
|
+
* const hasDifference = .....
|
|
148
|
+
* if(hasDifference) {
|
|
149
|
+
* store.dispatch(clear)
|
|
150
|
+
* }
|
|
151
|
+
*
|
|
152
|
+
* this.loadData(...)
|
|
153
|
+
* ```
|
|
154
|
+
*/
|
|
155
|
+
load(args) {
|
|
156
|
+
throw new Error('MECX Core - Method load not implemented.');
|
|
157
|
+
}
|
|
158
|
+
loadPage(args) {
|
|
159
|
+
throw new Error('MECX Core - Method loadPage not implemented.');
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
__decorate([
|
|
163
|
+
MonkeyEcxCoreService({
|
|
164
|
+
requestInProgress: {
|
|
165
|
+
showProgress: true
|
|
166
|
+
}
|
|
167
|
+
})
|
|
168
|
+
], MonkeyEcxCommonsStoreBaseService.prototype, "loadData", null);
|
|
169
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9ua2V5ZWN4LXN0b3JlLWJhc2Uuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21vbmtleS1mcm9udC1jb3JlL3NyYy9saWIvY29yZS9zZXJ2aWNlcy9zdG9yZS9tb25rZXllY3gtc3RvcmUtYmFzZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFDQSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDdEMsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFReEQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ2xELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUlyRDs7Ozs7Ozs7OztHQVVHO0FBQ0gsTUFBTSxPQUFnQixnQ0FHcEIsU0FBUSx1QkFBdUI7SUFLL0IsWUFDRSxnQkFBa0MsRUFDbEMsWUFBMEMsRUFDaEMsS0FBWSxFQUN0QixNQUFTO1FBRVQsS0FBSyxDQUFDLGdCQUFnQixFQUFFLFlBQVksQ0FBQyxDQUFDO1FBSDVCLFVBQUssR0FBTCxLQUFLLENBQU87UUFJdEIsTUFBTSxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsR0FBRyxNQUFNLENBQUM7UUFFdEMsSUFBSSxDQUFDLE1BQU0sR0FBRyxPQUFPLENBQUM7UUFDdEIsSUFBSSxDQUFDLFFBQVEsR0FBRyxTQUFTLENBQUM7SUFDNUIsQ0FBQztJQUVPLGtCQUFrQixDQUFDLElBQVMsRUFBRSxXQUFXLEdBQUcsSUFBSTtRQUN0RCxJQUFJO1lBQ0YsSUFBSSxJQUFPLENBQUM7WUFFWixJQUFJLElBQUksRUFBRSxTQUFTLEVBQUU7Z0JBQ25CLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxHQUFHLElBQUksQ0FBQztnQkFDekMsTUFBTSxHQUFHLEdBQUcsTUFBTSxDQUFDLElBQUks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QUFDO1FBRWYsTUFBTSxFQUFFLE1BQU0sRUFBRSxHQUFHLFVBQVUsQ0FBQztRQUM5QixNQUFNLEVBQUUsSUFBSSxFQUFFLEdBQUcsSUFBSSxtQkFBbUIsQ0FBQyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsSUFBSTtZQUM5RSxJQUFJLEVBQUUsRUFBRTtTQUNULENBQUM7UUFFRixJQUFJLElBQUksRUFBRTtZQUNSLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDckI7SUFDSCxDQUFDO0lBRUQ7Ozs7Ozs7Ozs7Ozs7O09BY0c7SUFDSSxJQUFJLENBQUUsSUFBUztRQUNwQixNQUFNLElBQUksS0FBSyxDQUFDLDBDQUEwQyxDQUFDLENBQUM7SUFDOUQsQ0FBQztJQUVNLFFBQVEsQ0FBRSxJQUFTO1FBQ3hCLE1BQU0sSUFBSSxLQUFLLENBQUMsOENBQThDLENBQUMsQ0FBQztJQUNsRSxDQUFDO0NBQ0Y7QUFwREM7SUFMQyxvQkFBb0IsQ0FBQztRQUNwQixpQkFBaUIsRUFBRTtZQUNqQixZQUFZLEVBQUUsSUFBSTtTQUNuQjtLQUNGLENBQUM7Z0VBWUQiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTdG9yZSB9IGZyb20gJ0BuZ3J4L3N0b3JlJztcbmltcG9ydCB7IHRha2UgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBNb25rZXlFY3hDb3JlU2VydmljZSB9IGZyb20gJy4uLy4uL2RlY29yYXRvcnMnO1xuaW1wb3J0IHtcbiAgTW9ua2V5RWN4Q29uZmlnU3RvcmUsXG4gIE1vbmtleUVjeENvbnRyb2xTdG9yZSxcbiAgTW9ua2V5RWN4TGlua3MsXG4gIE1vbmtleUVjeFBhZ2UsXG4gIE1vbmtleUVjeFBhZ2luYXRpb25cbn0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBNb25rZXlFY3hMaW5rc01vZGVsIH0gZnJvbSAnLi4vLi4vbW9kZWwnO1xuaW1wb3J0IHsgTW9ua2V5RWN4Q29tbW9uc1NlcnZpY2UgfSBmcm9tICcuLi9jb21tb25zJztcbmltcG9ydCB7IE1vbmtleUVjeFNlcnZpY2UgfSBmcm9tICcuLi9tb25rZXllY3gtc2VydmljZS5zZXJ2aWNlJztcbmltcG9ydCB7IE1vbmtleUVjeFRva2VuU3RvcmFnZVNlcnZpY2UgfSBmcm9tICcuLi9zdG9yYWdlJztcblxuLyoqXG4gKiBDbGFzc2UgZ2Vuw6lyaWNhIHF1ZSByZWNlYmUgZHVhcyBpbnRlcmZhY2VzIGNvbW8gdGlwb3MgZ2Vuw6lyaWNvcy5cbiAqXG4gKiBAdHlwZXBhcmFtIFQgZGV2ZSBzZXIgYSBtZXNtYSBpbnRlcmZhY2UgdXRpbGl6YWRhIG5hIEVudGl0eSBkYSBTdG9yZVxuICogQHR5cGVwYXJhbSBLIGZheiByZWZlcsOqbmNpYSBhbyB0aXBvIGRlIGNvbmZpZ3VyYcOnw6NvLlxuICpcbiAqIEBkZXNjcmlwdGlvbiBpbnRlcmZhY2VzIGRlIGNvbmZpZ3VyYcOnw6NvOlxuICogYGBgXG4gKiBNb25rZXlFY3hDb2xsZWN0aW9uU3RvcmUgZSBNb25rZXlFY3hFbnRpdHlTdG9yZVxuICogYGBgXG4gKi9cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBNb25rZXlFY3hDb21tb25zU3RvcmVCYXNlU2VydmljZTxcbiAgVCxcbiAgSyBleHRlbmRzIE1vbmtleUVjeENvbmZpZ1N0b3JlXG4+IGV4dGVuZHMgTW9ua2V5RWN4Q29tbW9uc1NlcnZpY2Uge1xuICBwcml2YXRlIGFjdGlvbjogYW55O1xuXG4gIHByaXZhdGUgc2VsZWN0b3I6IGFueTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBtb25rZXllY3hTZXJ2aWNlOiBNb25rZXlFY3hTZXJ2aWNlLFxuICAgIHRva2VuU3RvcmFnZTogTW9ua2V5RWN4VG9rZW5TdG9yYWdlU2VydmljZSxcbiAgICBwcm90ZWN0ZWQgc3RvcmU6IFN0b3JlLFxuICAgIGNvbmZpZzogS1xuICApIHtcbiAgICBzdXBlcihtb25rZXllY3hTZXJ2aWNlLCB0b2tlblN0b3JhZ2UpO1xuICAgIGNvbnN0IHsgYWN0aW9ucywgc2VsZWN0b3JzIH0gPSBjb25maWc7XG5cbiAgICB0aGlzLmFjdGlvbiA9IGFjdGlvbnM7XG4gICAgdGhpcy5zZWxlY3RvciA9IHNlbGVjdG9ycztcbiAgfVxuXG4gIHByaXZhdGUgaGFuZGxlUmVzcG9uc2VEYXRhKHJlc3A6IGFueSwgdXBkYXRlTGlua3MgPSB0cnVlKSB7XG4gICAgdHJ5IHtcbiAgICAgIGxldCBkYXRhOiBUO1xuXG4gICAgICBpZiAocmVzcD8uX2VtYmVkZGVkKSB7XG4gICAgICAgIGNvbnN0IHsgX2VtYmVkZGVkLCBfbGlua3MsIHBhZ2UgfSA9IHJlc3A7XG4gICAgICAgIGNvbnN0IGtleSA9IE9iamVjdC5rZXlzKF9lbWJlZGRlZClbMF07XG5cbiAgICAgICAgZGF0YSA9IF9lbWJlZGRlZFtrZXldO1xuXG4gICAgICAgIGlmICh1cGRhdGVMaW5rcykge1xuICAgICAgICAgIHRoaXMudXBkYXRlTGlua3M/LihfbGlua3MpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy51cGRhdGVQYWdlPy4ocGFnZSk7XG4gICAgICB9IGVsc2UgZGF0YSA9IHJlc3A7XG5cbiAgICAgIHRoaXMudXBkYXRlPy4oZGF0YSk7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBNRUNYIENvcmUgLSBNZXRob2QgaGFuZGxlUmVzcG9uc2VEYXRhIC0+ICR7ZX1gKTtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgdXBkYXRlQ29udHJvbChkYXRhOiBNb25rZXlFY3hDb250cm9sU3RvcmUpIHtcbiAgICB0cnkge1xuICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChcbiAgICAgICAgdGhpcy5hY3Rpb24udXBkYXRlQ29udHJvbCh7XG4gICAgICAgICAgZGF0YVxuICAgICAgICB9KVxuICAgICAgKTtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYE1FQ1ggQ29yZSAtIE1ldGhvZCB1cGRhdGVDb250cm9sIC0+ICR7ZX1gKTtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgbWFwcGluZ0RhdGEoYXJnczogVCB8IFRbXSk6IFQgfCBUW10ge1xuICAgIHRyeSB7XG4gICAgICBjb25zdCBoYW5kbGUgPSAoaXRlbTogVCkgPT4ge1xuICAgICAgICBsZXQgaWQgPSAnJztcbiAgICAgICAgY29uc3QgeyBocmVmIH0gPSBuZXcgTW9ua2V5RWN4TGlua3NNb2RlbChpdGVtKT8uZ2V0QWN0aW9uKCdzZWxmJykgfHwge1xuICAgICAgICAgIGhyZWY6ICcnXG4gICAgICAgIH07XG5cbiAgICAgICAgaWYgKGhyZWYpIHtcbiAgICAgICAgICBpZCA9IGhyZWYuc3BsaXQoJy8nKS5wb3AoKSB8fCAnJztcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgLi4uaXRlbSxcbiAgICAgICAgICBpZFxuICAgICAgICB9O1xuICAgICAgfTtcblxuICAgICAgaWYgKGFyZ3MgaW5zdGFuY2VvZiBBcnJheSkge1xuICAgICAgICByZXR1cm4gYXJncy5tYXAoKGl0ZW06IFQpID0+IHtcbiAgICAgICAgICByZXR1cm4gaGFuZGxlKGl0ZW0pO1xuICAgICAgICB9KTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIGhhbmRsZShhcmdzKTtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYE1FQ1ggQ29yZSAtIE1ldGhvZCBtYXBwaW5nRGF0YSAtPiAke2V9YCk7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIHVwZGF0ZT8oYXJnczogVCB8IFRbXSkge1xuICAgIHRyeSB7XG4gICAgICBsZXQgdHlwZUFjdGlvbiA9ICd1cGRhdGVPbmUnO1xuXG4gICAgICBpZiAoYXJncyBpbnN0YW5jZW9mIEFycmF5KSB7XG4gICAgICAgIHR5cGVBY3Rpb24gPSAndXBkYXRlQWxsJztcbiAgICAgIH1cblxuICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChcbiAgICAgICAgdGhpcy5hY3Rpb25bdHlwZUFjdGlvbl0oe1xuICAgICAgICAgIGRhdGE6IHRoaXMubWFwcGluZ0RhdGEoYXJncylcbiAgICAgICAgfSlcbiAgICAgICk7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBNRUNYIENvcmUgLSBNZXRob2QgdXBkYXRlIC0+ICR7ZX1gKTtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgdXBkYXRlUGFnZT8oZGF0YTogTW9ua2V5RWN4UGFnZSkge1xuICAgIHRyeSB7XG4gICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKFxuICAgICAgICB0aGlzLmFjdGlvbi51cGRhdGVQYWdlKHtcbiAgICAgICAgICBkYXRhXG4gICAgICAgIH0pXG4gICAgICApO1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgTUVDWCBDb3JlIC0gTWV0aG9kIHVwZGF0ZVBhZ2UgLT4gJHtlfWApO1xuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCB1cGRhdGVMaW5rcz8oZGF0YTogTW9ua2V5RWN4TGlua3MpIHtcbiAgICB0cnkge1xuICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChcbiAgICAgICAgdGhpcy5hY3Rpb24udXBkYXRlTGlua3Moe1xuICAgICAgICAgIGRhdGFcbiAgICAgICAgfSlcbiAgICAgICk7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBNRUNYIENvcmUgLSBNZXRob2QgdXBkYXRlTGlua3MgLT4gJHtlfWApO1xuICAgIH1cbiAgfVxuXG4gIEBNb25rZXlFY3hDb3JlU2VydmljZSh7XG4gICAgcmVxdWVzdEluUHJvZ3Jlc3M6IHtcbiAgICAgIHNob3dQcm9ncmVzczogdHJ1ZVxuICAgIH1cbiAgfSlcbiAgcHJvdGVjdGVkIGFzeW5jIGxvYWREYXRhKHVybDogc3RyaW5nLCB1cGRhdGVMaW5rcyA9IHRydWUpIHtcbiAgICB0aGlzLnVwZGF0ZUNvbnRyb2woeyBpc0xvYWRpbmc6IHRydWUgfSk7XG5cbiAgICB0cnkge1xuICAgICAgY29uc3QgZGF0YSA9IGF3YWl0IHRoaXMubW9ua2V5ZWN4U2VydmljZT8uZ2V0PGFueT4odXJsKS50b1Byb21pc2UoKTtcbiAgICAgIHRoaXMuaGFuZGxlUmVzcG9uc2VEYXRhKGRhdGEsIHVwZGF0ZUxpbmtzKTtcbiAgICB9IGNhdGNoIChlOiBhbnkpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgJHtlPy5tZXNzYWdlfWApO1xuICAgIH1cblxuICAgIHRoaXMudXBkYXRlQ29udHJvbCh7IGlzTG9hZGluZzogZmFsc2UgfSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgYXN5bmMgbG9hZFBhZ2VEYXRhKHBhZ2luYXRpb246IE1vbmtleUVjeFBhZ2luYXRpb24pIHtcbiAgICBjb25zdCB7IHN0b3JlLCBzZWxlY3RvciB9ID0gdGhpcztcbiAgICBjb25zdCBkYXRhID0gYXdhaXQgc3RvcmVcbiAgICAgIC5zZWxlY3Qoc2VsZWN0b3Iuc2VsZWN0TGlua3MoKSlcbiAgICAgIC5waXBlKHRha2UoMSkpXG4gICAgICAudG9Qcm9taXNlKCk7XG5cbiAgICBjb25zdCB7IGFjdGlvbiB9ID0gcGFnaW5hdGlvbjtcbiAgICBjb25zdCB7IGhyZWYgfSA9IG5ldyBNb25rZXlFY3hMaW5rc01vZGVsKHsgX2xpbmtzOiBkYXRhIH0pLmdldEFjdGlvbihhY3Rpb24pIHx8IHtcbiAgICAgIGhyZWY6ICcnXG4gICAgfTtcblxuICAgIGlmIChocmVmKSB7XG4gICAgICB0aGlzLmxvYWREYXRhKGhyZWYpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gTmVzdGUgbcOpdG9kbyBwcmVjaXNhbW9zIGluY2x1aXIgYSBsw7NnaWNhIHBhcmEgY29uZmVyaXIgc2UgcHJlY2lzYSBsaW1wYXIgYVxuICAgKiBlbnRpZGFkZSBvdSBuw6NvXG4gICAqIEUgZGVwb2lzIHByZWNpc2EgaW52b2NhciBvIG3DqXRvZG8gbG9hZERhdGFcbiAgICogQHBhcmFtICh1cmwpIG91IGRlIGFjb3JkbyBjb20gYSBhY3Rpb24gY3JpYWRhXG4gICAqIEBleGFtcGxlXG4gICAqIGBgYFxuICAgKiBjb25zdCBoYXNEaWZmZXJlbmNlID0gLi4uLi5cbiAgICogaWYoaGFzRGlmZmVyZW5jZSkge1xuICAgKiAgICBzdG9yZS5kaXNwYXRjaChjbGVhcilcbiAgICogfVxuICAgKlxuICAgKiB0aGlzLmxvYWREYXRhKC4uLilcbiAgICogYGBgXG4gICAqL1xuICBwdWJsaWMgbG9hZD8oYXJnczogYW55KSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdNRUNYIENvcmUgLSBNZXRob2QgbG9hZCBub3QgaW1wbGVtZW50ZWQuJyk7XG4gIH1cblxuICBwdWJsaWMgbG9hZFBhZ2U/KGFyZ3M6IGFueSkge1xuICAgIHRocm93IG5ldyBFcnJvcignTUVDWCBDb3JlIC0gTWV0aG9kIGxvYWRQYWdlIG5vdCBpbXBsZW1lbnRlZC4nKTtcbiAgfVxufVxuIl19
|
|
@@ -29,12 +29,18 @@ export class MonkeyEcxCommonsSelectors {
|
|
|
29
29
|
};
|
|
30
30
|
const selectLinks = (props) => {
|
|
31
31
|
return createSelector(selectState, (state) => {
|
|
32
|
-
|
|
32
|
+
if (props?.identifier) {
|
|
33
|
+
return state.links?.[props.identifier];
|
|
34
|
+
}
|
|
35
|
+
return state.links;
|
|
33
36
|
});
|
|
34
37
|
};
|
|
35
38
|
const selectPage = (props) => {
|
|
36
39
|
return createSelector(selectState, (state) => {
|
|
37
|
-
|
|
40
|
+
if (props?.identifier) {
|
|
41
|
+
return state.page?.[props.identifier];
|
|
42
|
+
}
|
|
43
|
+
return state.page;
|
|
38
44
|
});
|
|
39
45
|
};
|
|
40
46
|
const linksHasDifference = (props) => {
|
|
@@ -72,4 +78,4 @@ export class MonkeyEcxCommonsSelectors {
|
|
|
72
78
|
};
|
|
73
79
|
}
|
|
74
80
|
}
|
|
75
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
81
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9ua2V5ZWN4LXN0b3JlLnNlbGVjdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbW9ua2V5LWZyb250LWNvcmUvc3JjL2xpYi9jb3JlL3NlcnZpY2VzL3N0b3JlL21vbmtleWVjeC1zdG9yZS5zZWxlY3Rvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsY0FBYyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFXeEMsTUFBTSxXQUFXLEdBQUcsQ0FBQyxHQUFXLEVBQUUsS0FBYSxFQUFFLEVBQUU7SUFDakQsTUFBTSxHQUFHLEdBQVEsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQy9CLE9BQU8sQ0FBQyxDQUFDLEdBQUcsRUFBRSxLQUFLLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQztBQUMvQixDQUFDLENBQUM7QUFFRixNQUFNLE9BQWdCLHlCQUF5QjtJQUM3QyxNQUFNLENBQUMsWUFBWSxDQUF5QixPQUFpQjtRQUMzRCxNQUFNLFdBQVcsR0FBRyxxQkFBcUIsQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLENBQUM7UUFFOUQsTUFBTSxTQUFTLEdBQVEsY0FBYyxDQUFDLFdBQVcsRUFBRSxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUM7UUFFdEUsTUFBTSxrQkFBa0IsR0FBRyxDQUFDLEtBQTZCLEVBQUUsRUFBRTtZQUMzRCxPQUFPLGNBQWMsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxRQUFhLEVBQU8sRUFBRTtnQkFDdEQsT0FBTyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBSSxFQUFFLEVBQUU7b0JBQzlCLE9BQU8sQ0FBQyxDQUFDLFVBQVUsS0FBSyxLQUFLLENBQUMsVUFBVSxDQUFDO2dCQUMzQyxDQUFDLENBQUMsQ0FBQztZQUNMLENBQUMsQ0FBQyxDQUFDO1FBQ0ws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QUFVO1lBQ1Ysa0JBQWtCO1NBQ25CLENBQUM7SUFDSixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjcmVhdGVGZWF0dXJlU2VsZWN0b3IsIGNyZWF0ZVNlbGVjdG9yIH0gZnJvbSAnQG5ncngvc3RvcmUnO1xuaW1wb3J0IHsgcGFyc2VVcmwgfSBmcm9tICdxdWVyeS1zdHJpbmcnO1xuXG5pbnRlcmZhY2UgSWRlbnRpZmlhYmxlIHtcbiAgaWRlbnRpZmllcj86IHN0cmluZztcbn1cblxuaW50ZXJmYWNlIElSZWR1Y2VyIHtcbiAgZmVhdHVyZUtleTogc3RyaW5nO1xuICBzZWxlY3RBbGw6IGFueTtcbn1cblxuY29uc3QgdXJsSGFzRmllbGQgPSAodXJsOiBzdHJpbmcsIGZpZWxkOiBzdHJpbmcpID0+IHtcbiAgY29uc3Qgb2JqOiBhbnkgPSBwYXJzZVVybCh1cmwpO1xuICByZXR1cm4gISFvYmo/LnF1ZXJ5Py5bZmllbGRdO1xufTtcblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIE1vbmtleUVjeENvbW1vbnNTZWxlY3RvcnMge1xuICBzdGF0aWMgZ2V0U2VsZWN0b3JzPFQgZXh0ZW5kcyBJZGVudGlmaWFibGU+KHJlZHVjZXI6IElSZWR1Y2VyKSB7XG4gICAgY29uc3Qgc2VsZWN0U3RhdGUgPSBjcmVhdGVGZWF0dXJlU2VsZWN0b3IocmVkdWNlci5mZWF0dXJlS2V5KTtcblxuICAgIGNvbnN0IHNlbGVjdEFsbDogYW55ID0gY3JlYXRlU2VsZWN0b3Ioc2VsZWN0U3RhdGUsIHJlZHVjZXIuc2VsZWN0QWxsKTtcblxuICAgIGNvbnN0IHNlbGVjdEJ5SWRlbnRpZmllciA9IChwcm9wczogeyBpZGVudGlmaWVyOiBzdHJpbmcgfSkgPT4ge1xuICAgICAgcmV0dXJuIGNyZWF0ZVNlbGVjdG9yKHNlbGVjdEFsbCwgKGVudGl0aWVzOiBUW10pOiBUW10gPT4ge1xuICAgICAgICByZXR1cm4gZW50aXRpZXMuZmlsdGVyKChfOiBUKSA9PiB7XG4gICAgICAgICAgcmV0dXJuIF8uaWRlbnRpZmllciA9PT0gcHJvcHMuaWRlbnRpZmllcjtcbiAgICAgICAgfSk7XG4gICAgICB9KTtcbiAgICB9O1xuXG4gICAgY29uc3Qgc2VsZWN0T25lQnlJZGVudGlmaWVyID0gKHByb3BzOiB7IGlkZW50aWZpZXI6IHN0cmluZyB9KSA9PiB7XG4gICAgICByZXR1cm4gY3JlYXRlU2VsZWN0b3Ioc2VsZWN0QWxsLCAoZW50aXRpZXM6IFRbXSk6IFQgfCBudWxsID0+IHtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICBlbnRpdGllcy5maW5kKChfOiBUKSA9PiB7XG4gICAgICAgICAgICByZXR1cm4gXy5pZGVudGlmaWVyID09PSBwcm9wcy5pZGVudGlmaWVyO1xuICAgICAgICAgIH0pIHx8IG51bGxcbiAgICAgICAgKTtcbiAgICAgIH0pO1xuICAgIH07XG5cbiAgICBjb25zdCBzZWxlY3RDb250cm9sID0gKCkgPT4ge1xuICAgICAgcmV0dXJuIGNyZWF0ZVNlbGVjdG9yKHNlbGVjdFN0YXRlLCAoc3RhdGU6IGFueSk6IGFueSA9PiB7XG4gICAgICAgIHJldHVybiBzdGF0ZS5jb250cm9sO1xuICAgICAgfSk7XG4gICAgfTtcblxuICAgIGNvbnN0IHNlbGVjdExpbmtzID0gKHByb3BzPzogeyBpZGVudGlmaWVyOiBzdHJpbmcgfSkgPT4ge1xuICAgICAgcmV0dXJuIGNyZWF0ZVNlbGVjdG9yKHNlbGVjdFN0YXRlLCAoc3RhdGU6IGFueSk6IGFueSA9PiB7XG4gICAgICAgIGlmIChwcm9wcz8uaWRlbnRpZmllcikge1xuICAgICAgICAgIHJldHVybiBzdGF0ZS5saW5rcz8uW3Byb3BzLmlkZW50aWZpZXJdO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHN0YXRlLmxpbmtzO1xuICAgICAgfSk7XG4gICAgfTtcblxuICAgIGNvbnN0IHNlbGVjdFBhZ2UgPSAocHJvcHM/OiB7IGlkZW50aWZpZXI6IHN0cmluZyB9KSA9PiB7XG4gICAgICByZXR1cm4gY3JlYXRlU2VsZWN0b3Ioc2VsZWN0U3RhdGUsIChzdGF0ZTogYW55KTogYW55ID0+IHtcbiAgICAgICAgaWYgKHByb3BzPy5pZGVudGlmaWVyKSB7XG4gICAgICAgICAgcmV0dXJuIHN0YXRlLnBhZ2U/Lltwcm9wcy5pZGVudGlmaWVyXTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBzdGF0ZS5wYWdlO1xuICAgICAgfSk7XG4gICAgfTtcblxuICAgIGNvbnN0IGxpbmtzSGFzRGlmZmVyZW5jZSA9IChwcm9wczogeyBpZGVudGlmaWVyOiBzdHJpbmc7IHVybDogc3RyaW5nIH0pID0+IHtcbiAgICAgIHJldHVybiBjcmVhdGVTZWxlY3RvcihzZWxlY3RTdGF0ZSwgKHN0YXRlOiBhbnkpOiBhbnkgPT4ge1xuICAgICAgICBjb25zdCB7IHBhZ2luYXRpb24gfSA9IHN0YXRlO1xuICAgICAgICBjb25zdCB7IGlkZW50aWZpZXIsIHVybCB9ID0gcHJvcHM7XG4gICAgICAgIGxldCBoYXNEaWZmZXJlbmNlID0gZmFsc2U7XG4gICAgICAgIGxldCBoYXNGaWVsZCA9IGZhbHNlO1xuXG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgY29uc3QgaGFuZGxlUGFnaW5hdGlvblVybCA9IHBhcnNlVXJsKGAke3BhZ2luYXRpb24/LltpZGVudGlmaWVyXT8udXJsfWApO1xuICAgICAgICAgIGNvbnN0IGhhbmRsZVVybCA9IHBhcnNlVXJsKGAke3VybH1gKTtcbiAgICAgICAgICBoYXNEaWZmZXJlbmNlID1cbiAgICAgICAgICAgIGhhbmRsZVBhZ2luYXRpb25Vcmw/LnF1ZXJ5Py5zZWFyY2ggIT09IGhhbmRsZVVybD8ucXVlcnk/LnNlYXJjaCB8fFxuICAgICAgICAgICAgaGFuZGxlUGFnaW5hdGlvblVybD8ucXVlcnk/LnNvcnQgIT09IGhhbmRsZVVybD8ucXVlcnk/LnNvcnQ7XG4gICAgICAgICAgaGFzRmllbGQgPSB1cmxIYXNGaWVsZCh1cmwsICdzZWFyY2gnKSB8fCB1cmxIYXNGaWVsZCh1cmwsICdzb3J0Jyk7XG4gICAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgICAvLyBub3QgdG8gZG9cbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgaGFzRGlmZmVyZW5jZSxcbiAgICAgICAgICBoYXNGaWVsZFxuICAgICAgICB9O1xuICAgICAgfSk7XG4gICAgfTtcblxuICAgIHJldHVybiB7XG4gICAgICBzZWxlY3RTdGF0ZSxcbiAgICAgIHNlbGVjdEFsbCxcbiAgICAgIHNlbGVjdENvbnRyb2wsXG4gICAgICBzZWxlY3RMaW5rcyxcbiAgICAgIHNlbGVjdEJ5SWRlbnRpZmllcixcbiAgICAgIHNlbGVjdE9uZUJ5SWRlbnRpZmllcixcbiAgICAgIHNlbGVjdFBhZ2UsXG4gICAgICBsaW5rc0hhc0RpZmZlcmVuY2VcbiAgICB9O1xuICB9XG59XG4iXX0=
|