@net7/boilerplate-common 3.0.1-rc.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +24 -0
- package/esm2020/lib/components/index.mjs +2 -0
- package/esm2020/lib/components/smart-pagination/smart-pagination.mjs +25 -0
- package/esm2020/lib/config-types/common.mjs +2 -0
- package/esm2020/lib/config-types/index.mjs +2 -0
- package/esm2020/lib/data-sources/breadcrumbs.ds.mjs +7 -0
- package/esm2020/lib/data-sources/facets.ds.mjs +9 -0
- package/esm2020/lib/data-sources/footer.ds.mjs +10 -0
- package/esm2020/lib/data-sources/header.ds.mjs +72 -0
- package/esm2020/lib/data-sources/index.mjs +7 -0
- package/esm2020/lib/data-sources/smart-pagination.ds.mjs +131 -0
- package/esm2020/lib/data-sources/subnav.ds.mjs +25 -0
- package/esm2020/lib/event-handlers/breadcrumbs.eh.mjs +20 -0
- package/esm2020/lib/event-handlers/footer.eh.mjs +7 -0
- package/esm2020/lib/event-handlers/header.eh.mjs +27 -0
- package/esm2020/lib/event-handlers/index.mjs +6 -0
- package/esm2020/lib/event-handlers/smart-pagination.eh.mjs +19 -0
- package/esm2020/lib/event-handlers/subnav.eh.mjs +20 -0
- package/esm2020/lib/helpers.mjs +76 -0
- package/esm2020/lib/layouts/index.mjs +11 -0
- package/esm2020/lib/layouts/main-layout/main-layout.config.mjs +24 -0
- package/esm2020/lib/layouts/main-layout/main-layout.ds.mjs +83 -0
- package/esm2020/lib/layouts/main-layout/main-layout.eh.mjs +60 -0
- package/esm2020/lib/layouts/main-layout/main-layout.mjs +45 -0
- package/esm2020/lib/layouts/page404-layout/page404-layout.config.mjs +16 -0
- package/esm2020/lib/layouts/page404-layout/page404-layout.ds.mjs +7 -0
- package/esm2020/lib/layouts/page404-layout/page404-layout.eh.mjs +36 -0
- package/esm2020/lib/layouts/page404-layout/page404-layout.mjs +28 -0
- package/esm2020/lib/models/abstract-layout.mjs +27 -0
- package/esm2020/lib/models/index.mjs +2 -0
- package/esm2020/lib/n7-boilerplate-common.module.mjs +61 -0
- package/esm2020/lib/services/communication-providers/apollo.provider.mjs +87 -0
- package/esm2020/lib/services/communication-providers/communication-provider.interface.mjs +2 -0
- package/esm2020/lib/services/communication-providers/rest.provider.mjs +40 -0
- package/esm2020/lib/services/communication.service.mjs +54 -0
- package/esm2020/lib/services/configuration.service.mjs +18 -0
- package/esm2020/lib/services/index.mjs +10 -0
- package/esm2020/lib/services/json-config.service.mjs +55 -0
- package/esm2020/lib/services/layouts-configuration.service.mjs +27 -0
- package/esm2020/lib/services/local-config.service.mjs +46 -0
- package/esm2020/lib/services/main-state.service.mjs +52 -0
- package/esm2020/net7-boilerplate-common.mjs +5 -0
- package/esm2020/public-api.mjs +14 -0
- package/fesm2015/net7-boilerplate-common.mjs +1161 -0
- package/fesm2015/net7-boilerplate-common.mjs.map +1 -0
- package/fesm2020/net7-boilerplate-common.mjs +1164 -0
- package/fesm2020/net7-boilerplate-common.mjs.map +1 -0
- package/lib/components/index.d.ts +1 -0
- package/lib/components/smart-pagination/smart-pagination.d.ts +9 -0
- package/lib/config-types/common.d.ts +22 -0
- package/lib/config-types/index.d.ts +1 -0
- package/lib/data-sources/breadcrumbs.ds.d.ts +5 -0
- package/lib/data-sources/facets.ds.d.ts +7 -0
- package/lib/data-sources/footer.ds.d.ts +4 -0
- package/lib/data-sources/header.ds.d.ts +9 -0
- package/lib/data-sources/index.d.ts +6 -0
- package/lib/data-sources/smart-pagination.ds.d.ts +89 -0
- package/lib/data-sources/subnav.ds.d.ts +9 -0
- package/lib/event-handlers/breadcrumbs.eh.d.ts +4 -0
- package/lib/event-handlers/footer.eh.d.ts +4 -0
- package/lib/event-handlers/header.eh.d.ts +4 -0
- package/lib/event-handlers/index.d.ts +5 -0
- package/lib/event-handlers/smart-pagination.eh.d.ts +4 -0
- package/lib/event-handlers/subnav.eh.d.ts +4 -0
- package/lib/helpers.d.ts +14 -0
- package/lib/layouts/index.d.ts +8 -0
- package/lib/layouts/main-layout/main-layout.config.d.ts +15 -0
- package/lib/layouts/main-layout/main-layout.d.ts +29 -0
- package/lib/layouts/main-layout/main-layout.ds.d.ts +21 -0
- package/lib/layouts/main-layout/main-layout.eh.d.ts +10 -0
- package/lib/layouts/page404-layout/page404-layout.config.d.ts +13 -0
- package/lib/layouts/page404-layout/page404-layout.d.ts +14 -0
- package/lib/layouts/page404-layout/page404-layout.ds.d.ts +7 -0
- package/lib/layouts/page404-layout/page404-layout.eh.d.ts +5 -0
- package/lib/models/abstract-layout.d.ts +9 -0
- package/lib/models/index.d.ts +1 -0
- package/lib/n7-boilerplate-common.module.d.ts +14 -0
- package/lib/services/communication-providers/apollo.provider.d.ts +14 -0
- package/lib/services/communication-providers/communication-provider.interface.d.ts +3 -0
- package/lib/services/communication-providers/rest.provider.d.ts +10 -0
- package/lib/services/communication.service.d.ts +17 -0
- package/lib/services/configuration.service.d.ts +8 -0
- package/lib/services/index.d.ts +8 -0
- package/lib/services/json-config.service.d.ts +12 -0
- package/lib/services/layouts-configuration.service.d.ts +10 -0
- package/lib/services/local-config.service.d.ts +9 -0
- package/lib/services/main-state.service.d.ts +17 -0
- package/net7-boilerplate-common.d.ts +5 -0
- package/package.json +34 -0
- package/public-api.d.ts +9 -0
- package/src/lib/styles/common/components/_facets-wrapper.scss +38 -0
- package/src/lib/styles/common/layouts/_main-layout.scss +48 -0
- package/src/lib/styles/common/utilities/_utilities.scss +43 -0
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
import { LayoutDataSource } from '@n7-frontend/core';
|
|
2
|
+
import { hideAll } from 'tippy.js';
|
|
3
|
+
export class MainLayoutDS extends LayoutDataSource {
|
|
4
|
+
onInit({ configuration, mainState, router, options, titleService, route, }) {
|
|
5
|
+
this.configuration = configuration;
|
|
6
|
+
this.mainState = mainState;
|
|
7
|
+
this.router = router;
|
|
8
|
+
this.route = route;
|
|
9
|
+
this.titleService = titleService;
|
|
10
|
+
this.options = options;
|
|
11
|
+
// update header
|
|
12
|
+
if (this.configuration.get('header')) {
|
|
13
|
+
this.one('header').update(this.configuration.get('header'));
|
|
14
|
+
}
|
|
15
|
+
if (this.configuration.get('footer')) {
|
|
16
|
+
this.one('footer').update(this.configuration.get('footer'));
|
|
17
|
+
}
|
|
18
|
+
// main state updates
|
|
19
|
+
this.mainState.get$('headTitle').subscribe((val) => {
|
|
20
|
+
this.titleService.setTitle(val);
|
|
21
|
+
});
|
|
22
|
+
this.mainState.get$('pageTitle').subscribe((val) => {
|
|
23
|
+
this.pageTitle = val;
|
|
24
|
+
});
|
|
25
|
+
this.mainState.get$('subnav').subscribe((val) => {
|
|
26
|
+
this.one('subnav').update(val);
|
|
27
|
+
});
|
|
28
|
+
this.mainState.get$('breadcrumbs').subscribe((val) => {
|
|
29
|
+
this.one('breadcrumbs').update(val);
|
|
30
|
+
});
|
|
31
|
+
this.mainState.get$('header').subscribe((val) => {
|
|
32
|
+
this.one('header').update(val);
|
|
33
|
+
});
|
|
34
|
+
// mainState test
|
|
35
|
+
/* this.mainState.addCustom('customNav', new Subject());
|
|
36
|
+
this.mainState.get$('pageTitle').subscribe(val => console.log('pageTitle', val));
|
|
37
|
+
this.mainState.getCustom$('customNav').subscribe(val => console.log('customNav', val));
|
|
38
|
+
|
|
39
|
+
this.mainState.update('pageTitle', 'hola');
|
|
40
|
+
this.mainState.updateCustom('customNav', {'hello': 'mundo!'});
|
|
41
|
+
|
|
42
|
+
setTimeout(() => {
|
|
43
|
+
this.mainState.update('pageTitle', 'chao');
|
|
44
|
+
this.mainState.updateCustom('customNav', {'hello': 'world!'});
|
|
45
|
+
console.log('has', {
|
|
46
|
+
'pageSubTitle' : this.mainState.has('pageSubTitle'),
|
|
47
|
+
'customNav' : this.mainState.hasCustom('customNav'),
|
|
48
|
+
'customNavs' : this.mainState.has('customNavs'),
|
|
49
|
+
});
|
|
50
|
+
}, 5000); */
|
|
51
|
+
}
|
|
52
|
+
// navigate emitter (click) handler
|
|
53
|
+
onNavigate(payload) {
|
|
54
|
+
// router navigation
|
|
55
|
+
if (payload.handler === 'router') {
|
|
56
|
+
const { path, queryParams } = payload;
|
|
57
|
+
// path control
|
|
58
|
+
if (!path)
|
|
59
|
+
throw Error('onNavigate: no path for router navigate');
|
|
60
|
+
if (queryParams) {
|
|
61
|
+
this.router.navigate(path, {
|
|
62
|
+
relativeTo: this.route,
|
|
63
|
+
queryParams,
|
|
64
|
+
queryParamsHandling: 'merge',
|
|
65
|
+
});
|
|
66
|
+
}
|
|
67
|
+
else {
|
|
68
|
+
this.router.navigate(path);
|
|
69
|
+
}
|
|
70
|
+
// on change
|
|
71
|
+
this._onRouterNavigate();
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
// links routerLink change handler
|
|
75
|
+
onRouterChanged() {
|
|
76
|
+
hideAll();
|
|
77
|
+
}
|
|
78
|
+
_onRouterNavigate() {
|
|
79
|
+
// hide tippy
|
|
80
|
+
hideAll();
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFpbi1sYXlvdXQuZHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uNy1ib2lsZXJwbGF0ZS1jb21tb24vc3JjL2xpYi9sYXlvdXRzL21haW4tbGF5b3V0L21haW4tbGF5b3V0LmRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFFbkMsTUFBTSxPQUFPLFlBQWEsU0FBUSxnQkFBZ0I7SUFlaEQsTUFBTSxDQUFDLEVBQ0wsYUFBYSxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLFlBQVksRUFBRSxLQUFLLEdBQy9EO1FBQ0MsSUFBSSxDQUFDLGFBQWEsR0FBRyxhQUFhLENBQUM7UUFDbkMsSUFBSSxDQUFDLFNBQVMsR0FBRyxTQUFTLENBQUM7UUFDM0IsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7UUFDckIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDbkIsSUFBSSxDQUFDLFlBQVksR0FBRyxZQUFZLENBQUM7UUFDakMsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7UUFFdkIsZ0JBQWdCO1FBQ2hCLElBQUksSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLEVBQUU7WUFDcEMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztTQUM3RDtRQUVELElBQUksSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLEVBQUU7WUFDcEMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztTQUM3RDtRQUVELHFCQUFxQjtRQUNyQixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRTtZQUNqRCxJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNsQyxDQUFDLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFO1lBQ2pELElBQUksQ0FBQyxTQUFTLEdBQUcsR0FBRyxDQUFDO1FBQ3ZCLENBQUMsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUU7WUFDOUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDakMsQ0FBQyxDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRTtZQUNuRCxJQUFJLENBQUMsR0FBRyxDQUFDLGFBQWEsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUN0QyxDQUFDLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFO1lBQzlDLElBQUksQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ2pDLENBQUMsQ0FBQyxDQUFDO1FBRUgsaUJBQWlCO1FBQ2pCOzs7Ozs7Ozs7Ozs7Ozs7b0JBZVk7SUFDZCxDQUFDO0lBRUQsbUNBQW1DO0lBQ25DLFVBQVUsQ0FBQyxPQUFPO1FBQ2hCLG9CQUFvQjtRQUNwQixJQUFJLE9BQU8sQ0FBQyxPQUFPLEtBQUssUUFBUSxFQUFFO1lBQ2hDLE1BQU0sRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFLEdBQUcsT0FBTyxDQUFDO1lBRXRDLGVBQWU7WUFDZixJQUFJLENBQUMsSUFBSTtnQkFBRSxNQUFNLEtBQUssQ0FBQyx5Q0FBeUMsQ0FBQyxDQUFDO1lBRWxFLElBQUksV0FBVyxFQUFFO2dCQUNmLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRTtvQkFDekIsVUFBVSxFQUFFLElBQUksQ0FBQyxLQUFLO29CQUN0QixXQUFXO29CQUNYLG1CQUFtQixFQUFFLE9BQU87aUJBQzdCLENBQUMsQ0FBQzthQUNKO2lCQUFNO2dCQUNMLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO2FBQzVCO1lBRUQsWUFBWTtZQUNaLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1NBQzFCO0lBQ0gsQ0FBQztJQUVELGtDQUFrQztJQUNsQyxlQUFlO1FBQ2IsT0FBTyxFQUFFLENBQUM7SUFDWixDQUFDO0lBRU8saUJBQWlCO1FBQ3ZCLGFBQWE7UUFDYixPQUFPLEVBQUUsQ0FBQztJQUNaLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IExheW91dERhdGFTb3VyY2UgfSBmcm9tICdAbjctZnJvbnRlbmQvY29yZSc7XG5pbXBvcnQgeyBoaWRlQWxsIH0gZnJvbSAndGlwcHkuanMnO1xuXG5leHBvcnQgY2xhc3MgTWFpbkxheW91dERTIGV4dGVuZHMgTGF5b3V0RGF0YVNvdXJjZSB7XG4gIHByb3RlY3RlZCBjb25maWd1cmF0aW9uOiBhbnk7XG5cbiAgcHJvdGVjdGVkIG1haW5TdGF0ZTogYW55O1xuXG4gIHByb3RlY3RlZCByb3V0ZXI6IGFueTtcblxuICBwcm90ZWN0ZWQgcm91dGU6IGFueTtcblxuICBwcm90ZWN0ZWQgdGl0bGVTZXJ2aWNlOiBhbnk7XG5cbiAgcHVibGljIG9wdGlvbnM6IGFueTtcblxuICBwdWJsaWMgcGFnZVRpdGxlOiBzdHJpbmc7XG5cbiAgb25Jbml0KHtcbiAgICBjb25maWd1cmF0aW9uLCBtYWluU3RhdGUsIHJvdXRlciwgb3B0aW9ucywgdGl0bGVTZXJ2aWNlLCByb3V0ZSxcbiAgfSkge1xuICAgIHRoaXMuY29uZmlndXJhdGlvbiA9IGNvbmZpZ3VyYXRpb247XG4gICAgdGhpcy5tYWluU3RhdGUgPSBtYWluU3RhdGU7XG4gICAgdGhpcy5yb3V0ZXIgPSByb3V0ZXI7XG4gICAgdGhpcy5yb3V0ZSA9IHJvdXRlO1xuICAgIHRoaXMudGl0bGVTZXJ2aWNlID0gdGl0bGVTZXJ2aWNlO1xuICAgIHRoaXMub3B0aW9ucyA9IG9wdGlvbnM7XG5cbiAgICAvLyB1cGRhdGUgaGVhZGVyXG4gICAgaWYgKHRoaXMuY29uZmlndXJhdGlvbi5nZXQoJ2hlYWRlcicpKSB7XG4gICAgICB0aGlzLm9uZSgnaGVhZGVyJykudXBkYXRlKHRoaXMuY29uZmlndXJhdGlvbi5nZXQoJ2hlYWRlcicpKTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5jb25maWd1cmF0aW9uLmdldCgnZm9vdGVyJykpIHtcbiAgICAgIHRoaXMub25lKCdmb290ZXInKS51cGRhdGUodGhpcy5jb25maWd1cmF0aW9uLmdldCgnZm9vdGVyJykpO1xuICAgIH1cblxuICAgIC8vIG1haW4gc3RhdGUgdXBkYXRlc1xuICAgIHRoaXMubWFpblN0YXRlLmdldCQoJ2hlYWRUaXRsZScpLnN1YnNjcmliZSgodmFsKSA9PiB7XG4gICAgICB0aGlzLnRpdGxlU2VydmljZS5zZXRUaXRsZSh2YWwpO1xuICAgIH0pO1xuICAgIHRoaXMubWFpblN0YXRlLmdldCQoJ3BhZ2VUaXRsZScpLnN1YnNjcmliZSgodmFsKSA9PiB7XG4gICAgICB0aGlzLnBhZ2VUaXRsZSA9IHZhbDtcbiAgICB9KTtcbiAgICB0aGlzLm1haW5TdGF0ZS5nZXQkKCdzdWJuYXYnKS5zdWJzY3JpYmUoKHZhbCkgPT4ge1xuICAgICAgdGhpcy5vbmUoJ3N1Ym5hdicpLnVwZGF0ZSh2YWwpO1xuICAgIH0pO1xuICAgIHRoaXMubWFpblN0YXRlLmdldCQoJ2JyZWFkY3J1bWJzJykuc3Vic2NyaWJlKCh2YWwpID0+IHtcbiAgICAgIHRoaXMub25lKCdicmVhZGNydW1icycpLnVwZGF0ZSh2YWwpO1xuICAgIH0pO1xuICAgIHRoaXMubWFpblN0YXRlLmdldCQoJ2hlYWRlcicpLnN1YnNjcmliZSgodmFsKSA9PiB7XG4gICAgICB0aGlzLm9uZSgnaGVhZGVyJykudXBkYXRlKHZhbCk7XG4gICAgfSk7XG5cbiAgICAvLyBtYWluU3RhdGUgdGVzdFxuICAgIC8qIHRoaXMubWFpblN0YXRlLmFkZEN1c3RvbSgnY3VzdG9tTmF2JywgbmV3IFN1YmplY3QoKSk7XG4gICAgdGhpcy5tYWluU3RhdGUuZ2V0JCgncGFnZVRpdGxlJykuc3Vic2NyaWJlKHZhbCA9PiBjb25zb2xlLmxvZygncGFnZVRpdGxlJywgdmFsKSk7XG4gICAgdGhpcy5tYWluU3RhdGUuZ2V0Q3VzdG9tJCgnY3VzdG9tTmF2Jykuc3Vic2NyaWJlKHZhbCA9PiBjb25zb2xlLmxvZygnY3VzdG9tTmF2JywgdmFsKSk7XG5cbiAgICB0aGlzLm1haW5TdGF0ZS51cGRhdGUoJ3BhZ2VUaXRsZScsICdob2xhJyk7XG4gICAgdGhpcy5tYWluU3RhdGUudXBkYXRlQ3VzdG9tKCdjdXN0b21OYXYnLCB7J2hlbGxvJzogJ211bmRvISd9KTtcblxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgdGhpcy5tYWluU3RhdGUudXBkYXRlKCdwYWdlVGl0bGUnLCAnY2hhbycpO1xuICAgICAgdGhpcy5tYWluU3RhdGUudXBkYXRlQ3VzdG9tKCdjdXN0b21OYXYnLCB7J2hlbGxvJzogJ3dvcmxkISd9KTtcbiAgICAgIGNvbnNvbGUubG9nKCdoYXMnLCB7XG4gICAgICAgICdwYWdlU3ViVGl0bGUnIDogdGhpcy5tYWluU3RhdGUuaGFzKCdwYWdlU3ViVGl0bGUnKSxcbiAgICAgICAgJ2N1c3RvbU5hdicgOiB0aGlzLm1haW5TdGF0ZS5oYXNDdXN0b20oJ2N1c3RvbU5hdicpLFxuICAgICAgICAnY3VzdG9tTmF2cycgOiB0aGlzLm1haW5TdGF0ZS5oYXMoJ2N1c3RvbU5hdnMnKSxcbiAgICAgIH0pO1xuICAgIH0sIDUwMDApOyAqL1xuICB9XG5cbiAgLy8gbmF2aWdhdGUgZW1pdHRlciAoY2xpY2spIGhhbmRsZXJcbiAgb25OYXZpZ2F0ZShwYXlsb2FkKSB7XG4gICAgLy8gcm91dGVyIG5hdmlnYXRpb25cbiAgICBpZiAocGF5bG9hZC5oYW5kbGVyID09PSAncm91dGVyJykge1xuICAgICAgY29uc3QgeyBwYXRoLCBxdWVyeVBhcmFtcyB9ID0gcGF5bG9hZDtcblxuICAgICAgLy8gcGF0aCBjb250cm9sXG4gICAgICBpZiAoIXBhdGgpIHRocm93IEVycm9yKCdvbk5hdmlnYXRlOiBubyBwYXRoIGZvciByb3V0ZXIgbmF2aWdhdGUnKTtcblxuICAgICAgaWYgKHF1ZXJ5UGFyYW1zKSB7XG4gICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKHBhdGgsIHtcbiAgICAgICAgICByZWxhdGl2ZVRvOiB0aGlzLnJvdXRlLFxuICAgICAgICAgIHF1ZXJ5UGFyYW1zLFxuICAgICAgICAgIHF1ZXJ5UGFyYW1zSGFuZGxpbmc6ICdtZXJnZScsXG4gICAgICAgIH0pO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUocGF0aCk7XG4gICAgICB9XG5cbiAgICAgIC8vIG9uIGNoYW5nZVxuICAgICAgdGhpcy5fb25Sb3V0ZXJOYXZpZ2F0ZSgpO1xuICAgIH1cbiAgfVxuXG4gIC8vIGxpbmtzIHJvdXRlckxpbmsgY2hhbmdlIGhhbmRsZXJcbiAgb25Sb3V0ZXJDaGFuZ2VkKCkge1xuICAgIGhpZGVBbGwoKTtcbiAgfVxuXG4gIHByaXZhdGUgX29uUm91dGVyTmF2aWdhdGUoKSB7XG4gICAgLy8gaGlkZSB0aXBweVxuICAgIGhpZGVBbGwoKTtcbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import { EventHandler } from '@n7-frontend/core';
|
|
2
|
+
import { Subject } from 'rxjs';
|
|
3
|
+
import { takeUntil, filter } from 'rxjs/operators';
|
|
4
|
+
import { NavigationStart } from '@angular/router';
|
|
5
|
+
export class MainLayoutEH extends EventHandler {
|
|
6
|
+
constructor() {
|
|
7
|
+
super(...arguments);
|
|
8
|
+
this.destroyed$ = new Subject();
|
|
9
|
+
}
|
|
10
|
+
listen() {
|
|
11
|
+
this.innerEvents$.subscribe(({ type, payload }) => {
|
|
12
|
+
switch (type) {
|
|
13
|
+
case 'main-layout.init':
|
|
14
|
+
this.dataSource.onInit(payload);
|
|
15
|
+
this.mainState = payload.mainState;
|
|
16
|
+
this.route = payload.route;
|
|
17
|
+
this.router = payload.router;
|
|
18
|
+
this._listenRouterChanges();
|
|
19
|
+
this._listenMainStateChanges();
|
|
20
|
+
break;
|
|
21
|
+
case 'main-layout.destroy':
|
|
22
|
+
this.destroyed$.next();
|
|
23
|
+
break;
|
|
24
|
+
default:
|
|
25
|
+
break;
|
|
26
|
+
}
|
|
27
|
+
});
|
|
28
|
+
// listen to global events
|
|
29
|
+
EventHandler.globalEvents$.pipe(takeUntil(this.destroyed$)).subscribe(({ type, payload }) => {
|
|
30
|
+
switch (type) {
|
|
31
|
+
case 'global.navigate':
|
|
32
|
+
this.dataSource.onNavigate(payload);
|
|
33
|
+
break;
|
|
34
|
+
default:
|
|
35
|
+
break;
|
|
36
|
+
}
|
|
37
|
+
});
|
|
38
|
+
}
|
|
39
|
+
_listenRouterChanges() {
|
|
40
|
+
this.route.queryParams.pipe(filter((params) => {
|
|
41
|
+
if (Object.keys(params).length)
|
|
42
|
+
return true;
|
|
43
|
+
return false;
|
|
44
|
+
})).subscribe((params) => {
|
|
45
|
+
this.emitGlobal('queryparams', params);
|
|
46
|
+
});
|
|
47
|
+
// router changed
|
|
48
|
+
this.router.events.pipe(filter((event) => event instanceof NavigationStart)).subscribe(() => {
|
|
49
|
+
this.emitOuter('routerchange');
|
|
50
|
+
this.dataSource.onRouterChanged();
|
|
51
|
+
});
|
|
52
|
+
}
|
|
53
|
+
_listenMainStateChanges() {
|
|
54
|
+
this.mainState.addCustom('currentNav', new Subject());
|
|
55
|
+
this.mainState.getCustom$('currentNav').subscribe((val) => {
|
|
56
|
+
this.emitOuter('currentnavchange', val);
|
|
57
|
+
});
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFpbi1sYXlvdXQuZWguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uNy1ib2lsZXJwbGF0ZS1jb21tb24vc3JjL2xpYi9sYXlvdXRzL21haW4tbGF5b3V0L21haW4tbGF5b3V0LmVoLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNqRCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9CLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbkQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRWxELE1BQU0sT0FBTyxZQUFhLFNBQVEsWUFBWTtJQUE5Qzs7UUFDVSxlQUFVLEdBQWlCLElBQUksT0FBTyxFQUFFLENBQUM7SUFxRW5ELENBQUM7SUE3RFEsTUFBTTtRQUNYLElBQUksQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLEVBQUUsRUFBRTtZQUNoRCxRQUFRLElBQUksRUFBRTtnQkFDWixLQUFLLGtCQUFrQjtvQkFDckIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUM7b0JBQ2hDLElBQUksQ0FBQyxTQUFTLEdBQUcsT0FBTyxDQUFDLFNBQVMsQ0FBQztvQkFDbkMsSUFBSSxDQUFDLEtBQUssR0FBRyxPQUFPLENBQUMsS0FBSyxDQUFDO29CQUMzQixJQUFJLENBQUMsTUFBTSxHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUM7b0JBRTdCLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO29CQUM1QixJQUFJLENBQUMsdUJBQXVCLEVBQUUsQ0FBQztvQkFDL0IsTUFBTTtnQkFFUixLQUFLLHFCQUFxQjtvQkFDeEIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUUsQ0FBQztvQkFDdkIsTUFBTTtnQkFFUjtvQkFDRSxNQUFNO2FBQ1Q7UUFDSCxDQUFDLENBQUMsQ0FBQztRQUVILDBCQUEwQjtRQUMxQixZQUFZLENBQUMsYUFBYSxDQUFDLElBQUksQ0FDN0IsU0FBUyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FDM0IsQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsRUFBRSxFQUFFO1lBQ2hDLFFBQVEsSUFBSSxFQUFFO2dCQUNaLEtBQUssaUJBQWlCO29CQUNwQixJQUFJLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQztvQkFDcEMsTUFBTTtnQkFFUjtvQkFDRSxNQUFNO2FBQ1Q7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTyxvQkFBb0I7UUFDMUIsSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUN6QixNQUFNLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRTtZQUNoQixJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsTUFBTTtnQkFBRSxPQUFPLElBQUksQ0FBQztZQUM1QyxPQUFPLEtBQUssQ0FBQztRQUNmLENBQUMsQ0FBQyxDQUNILENBQUMsU0FBUyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUU7WUFDckIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFDekMsQ0FBQyxDQUFDLENBQUM7UUFDSCxpQkFBaUI7UUFDakIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUNyQixNQUFNLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLEtBQUssWUFBWSxlQUFlLENBQUMsQ0FDcEQsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQ2YsSUFBSSxDQUFDLFNBQVMsQ0FBQyxjQUFjLENBQUMsQ0FBQztZQUMvQixJQUFJLENBQUMsVUFBVSxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ3BDLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVPLHVCQUF1QjtRQUM3QixJQUFJLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxZQUFZLEVBQUUsSUFBSSxPQUFPLEVBQUUsQ0FBQyxDQUFDO1FBQ3RELElBQUksQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDLFlBQVksQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFO1lBQ3hELElBQUksQ0FBQyxTQUFTLENBQUMsa0JBQWtCLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFDMUMsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFdmVudEhhbmRsZXIgfSBmcm9tICdAbjctZnJvbnRlbmQvY29yZSc7XG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyB0YWtlVW50aWwsIGZpbHRlciB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IE5hdmlnYXRpb25TdGFydCB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5cbmV4cG9ydCBjbGFzcyBNYWluTGF5b3V0RUggZXh0ZW5kcyBFdmVudEhhbmRsZXIge1xuICBwcml2YXRlIGRlc3Ryb3llZCQ6IFN1YmplY3Q8YW55PiA9IG5ldyBTdWJqZWN0KCk7XG5cbiAgcHJpdmF0ZSByb3V0ZTogYW55O1xuXG4gIHByaXZhdGUgcm91dGVyOiBhbnk7XG5cbiAgcHJpdmF0ZSBtYWluU3RhdGU6IGFueTtcblxuICBwdWJsaWMgbGlzdGVuKCkge1xuICAgIHRoaXMuaW5uZXJFdmVudHMkLnN1YnNjcmliZSgoeyB0eXBlLCBwYXlsb2FkIH0pID0+IHtcbiAgICAgIHN3aXRjaCAodHlwZSkge1xuICAgICAgICBjYXNlICdtYWluLWxheW91dC5pbml0JzpcbiAgICAgICAgICB0aGlzLmRhdGFTb3VyY2Uub25Jbml0KHBheWxvYWQpO1xuICAgICAgICAgIHRoaXMubWFpblN0YXRlID0gcGF5bG9hZC5tYWluU3RhdGU7XG4gICAgICAgICAgdGhpcy5yb3V0ZSA9IHBheWxvYWQucm91dGU7XG4gICAgICAgICAgdGhpcy5yb3V0ZXIgPSBwYXlsb2FkLnJvdXRlcjtcblxuICAgICAgICAgIHRoaXMuX2xpc3RlblJvdXRlckNoYW5nZXMoKTtcbiAgICAgICAgICB0aGlzLl9saXN0ZW5NYWluU3RhdGVDaGFuZ2VzKCk7XG4gICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgY2FzZSAnbWFpbi1sYXlvdXQuZGVzdHJveSc6XG4gICAgICAgICAgdGhpcy5kZXN0cm95ZWQkLm5leHQoKTtcbiAgICAgICAgICBicmVhaztcblxuICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgLy8gbGlzdGVuIHRvIGdsb2JhbCBldmVudHNcbiAgICBFdmVudEhhbmRsZXIuZ2xvYmFsRXZlbnRzJC5waXBlKFxuICAgICAgdGFrZVVudGlsKHRoaXMuZGVzdHJveWVkJCksXG4gICAgKS5zdWJzY3JpYmUoKHsgdHlwZSwgcGF5bG9hZCB9KSA9PiB7XG4gICAgICBzd2l0Y2ggKHR5cGUpIHtcbiAgICAgICAgY2FzZSAnZ2xvYmFsLm5hdmlnYXRlJzpcbiAgICAgICAgICB0aGlzLmRhdGFTb3VyY2Uub25OYXZpZ2F0ZShwYXlsb2FkKTtcbiAgICAgICAgICBicmVhaztcblxuICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBfbGlzdGVuUm91dGVyQ2hhbmdlcygpIHtcbiAgICB0aGlzLnJvdXRlLnF1ZXJ5UGFyYW1zLnBpcGUoXG4gICAgICBmaWx0ZXIoKHBhcmFtcykgPT4ge1xuICAgICAgICBpZiAoT2JqZWN0LmtleXMocGFyYW1zKS5sZW5ndGgpIHJldHVybiB0cnVlO1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICB9KSxcbiAgICApLnN1YnNjcmliZSgocGFyYW1zKSA9PiB7XG4gICAgICB0aGlzLmVtaXRHbG9iYWwoJ3F1ZXJ5cGFyYW1zJywgcGFyYW1zKTtcbiAgICB9KTtcbiAgICAvLyByb3V0ZXIgY2hhbmdlZFxuICAgIHRoaXMucm91dGVyLmV2ZW50cy5waXBlKFxuICAgICAgZmlsdGVyKChldmVudCkgPT4gZXZlbnQgaW5zdGFuY2VvZiBOYXZpZ2F0aW9uU3RhcnQpLFxuICAgICkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgIHRoaXMuZW1pdE91dGVyKCdyb3V0ZXJjaGFuZ2UnKTtcbiAgICAgIHRoaXMuZGF0YVNvdXJjZS5vblJvdXRlckNoYW5nZWQoKTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgX2xpc3Rlbk1haW5TdGF0ZUNoYW5nZXMoKSB7XG4gICAgdGhpcy5tYWluU3RhdGUuYWRkQ3VzdG9tKCdjdXJyZW50TmF2JywgbmV3IFN1YmplY3QoKSk7XG4gICAgdGhpcy5tYWluU3RhdGUuZ2V0Q3VzdG9tJCgnY3VycmVudE5hdicpLnN1YnNjcmliZSgodmFsKSA9PiB7XG4gICAgICB0aGlzLmVtaXRPdXRlcignY3VycmVudG5hdmNoYW5nZScsIHZhbCk7XG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { Component } from '@angular/core';
|
|
2
|
+
import { AbstractLayout } from '../../models/abstract-layout';
|
|
3
|
+
import { MainLayoutConfig as config } from './main-layout.config';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
import * as i1 from "@angular/router";
|
|
6
|
+
import * as i2 from "../../services/configuration.service";
|
|
7
|
+
import * as i3 from "../../services/layouts-configuration.service";
|
|
8
|
+
import * as i4 from "../../services/main-state.service";
|
|
9
|
+
import * as i5 from "@angular/platform-browser";
|
|
10
|
+
import * as i6 from "@n7-frontend/components";
|
|
11
|
+
import * as i7 from "@angular/common";
|
|
12
|
+
export class MainLayoutComponent extends AbstractLayout {
|
|
13
|
+
constructor(router, route, configuration, layoutsConfiguration, mainState, titleService) {
|
|
14
|
+
super(layoutsConfiguration.get('MainLayoutConfig') || config);
|
|
15
|
+
this.router = router;
|
|
16
|
+
this.route = route;
|
|
17
|
+
this.configuration = configuration;
|
|
18
|
+
this.layoutsConfiguration = layoutsConfiguration;
|
|
19
|
+
this.mainState = mainState;
|
|
20
|
+
this.titleService = titleService;
|
|
21
|
+
}
|
|
22
|
+
initPayload() {
|
|
23
|
+
return {
|
|
24
|
+
configuration: this.configuration,
|
|
25
|
+
mainState: this.mainState,
|
|
26
|
+
router: this.router,
|
|
27
|
+
route: this.route,
|
|
28
|
+
titleService: this.titleService,
|
|
29
|
+
options: this.config.options || {},
|
|
30
|
+
};
|
|
31
|
+
}
|
|
32
|
+
ngOnInit() {
|
|
33
|
+
this.onInit();
|
|
34
|
+
}
|
|
35
|
+
ngOnDestroy() {
|
|
36
|
+
this.onDestroy();
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
MainLayoutComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.1", ngImport: i0, type: MainLayoutComponent, deps: [{ token: i1.Router }, { token: i1.ActivatedRoute }, { token: i2.ConfigurationService }, { token: i3.LayoutsConfigurationService }, { token: i4.MainStateService }, { token: i5.Title }], target: i0.ɵɵFactoryTarget.Component });
|
|
40
|
+
MainLayoutComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.1", type: MainLayoutComponent, selector: "main-layout", usesInheritance: true, ngImport: i0, template: "<div class=\"n7-main-layout\" id=\"main-layout\">\n <div class=\"n7-page-content\">\n <n7-header\n [data]=\"lb.widgets['header'].ds.out$ | async\"\n [emit]=\"lb.widgets['header'].emit\">\n </n7-header>\n <main class=\"n7-content\">\n <div class=\"n7-top-page-bar\">\n <div class=\"n7-top-page-bar__main\"></div>\n </div>\n <div class=\"n7-alert-bar\">\n <!--<n7-alert\n [attr.id]=\"'main-layout-alert'\"\n [data]=\"lb.dataSource.alertData$ | async\"\n [emit]=\"lb.dataSource.closeAlert.bind(lb.dataSource)\"></n7-alert>-->\n </div>\n <ng-content></ng-content>\n </main>\n </div>\n <n7-footer\n [data]=\"lb.widgets['footer'].ds.out$ | async\"\n [emit]=\"lb.widgets['footer'].emit\">\n </n7-footer>\n</div>\n", components: [{ type: i6.HeaderComponent, selector: "n7-header", inputs: ["data", "emit"] }, { type: i6.FooterComponent, selector: "n7-footer", inputs: ["data", "emit"] }], pipes: { "async": i7.AsyncPipe } });
|
|
41
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.1", ngImport: i0, type: MainLayoutComponent, decorators: [{
|
|
42
|
+
type: Component,
|
|
43
|
+
args: [{ selector: 'main-layout', template: "<div class=\"n7-main-layout\" id=\"main-layout\">\n <div class=\"n7-page-content\">\n <n7-header\n [data]=\"lb.widgets['header'].ds.out$ | async\"\n [emit]=\"lb.widgets['header'].emit\">\n </n7-header>\n <main class=\"n7-content\">\n <div class=\"n7-top-page-bar\">\n <div class=\"n7-top-page-bar__main\"></div>\n </div>\n <div class=\"n7-alert-bar\">\n <!--<n7-alert\n [attr.id]=\"'main-layout-alert'\"\n [data]=\"lb.dataSource.alertData$ | async\"\n [emit]=\"lb.dataSource.closeAlert.bind(lb.dataSource)\"></n7-alert>-->\n </div>\n <ng-content></ng-content>\n </main>\n </div>\n <n7-footer\n [data]=\"lb.widgets['footer'].ds.out$ | async\"\n [emit]=\"lb.widgets['footer'].emit\">\n </n7-footer>\n</div>\n" }]
|
|
44
|
+
}], ctorParameters: function () { return [{ type: i1.Router }, { type: i1.ActivatedRoute }, { type: i2.ConfigurationService }, { type: i3.LayoutsConfigurationService }, { type: i4.MainStateService }, { type: i5.Title }]; } });
|
|
45
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFpbi1sYXlvdXQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uNy1ib2lsZXJwbGF0ZS1jb21tb24vc3JjL2xpYi9sYXlvdXRzL21haW4tbGF5b3V0L21haW4tbGF5b3V0LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbjctYm9pbGVycGxhdGUtY29tbW9uL3NyYy9saWIvbGF5b3V0cy9tYWluLWxheW91dC9tYWluLWxheW91dC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQXFCLE1BQU0sZUFBZSxDQUFDO0FBRzdELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUk5RCxPQUFPLEVBQUUsZ0JBQWdCLElBQUksTUFBTSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7Ozs7Ozs7OztBQU1sRSxNQUFNLE9BQU8sbUJBQW9CLFNBQVEsY0FBYztJQUNyRCxZQUNVLE1BQWMsRUFDZCxLQUFxQixFQUNyQixhQUFtQyxFQUNuQyxvQkFBaUQsRUFDakQsU0FBMkIsRUFDM0IsWUFBbUI7UUFFM0IsS0FBSyxDQUFDLG9CQUFvQixDQUFDLEdBQUcsQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLE1BQU0sQ0FBQyxDQUFDO1FBUHRELFdBQU0sR0FBTixNQUFNLENBQVE7UUFDZCxVQUFLLEdBQUwsS0FBSyxDQUFnQjtRQUNyQixrQkFBYSxHQUFiLGFBQWEsQ0FBc0I7UUFDbkMseUJBQW9CLEdBQXBCLG9CQUFvQixDQUE2QjtRQUNqRCxjQUFTLEdBQVQsU0FBUyxDQUFrQjtRQUMzQixpQkFBWSxHQUFaLFlBQVksQ0FBTztJQUc3QixDQUFDO0lBRVMsV0FBVztRQUNuQixPQUFPO1lBQ0wsYUFBYSxFQUFFLElBQUksQ0FBQyxhQUFhO1lBQ2pDLFNBQVMsRUFBRSxJQUFJLENBQUMsU0FBUztZQUN6QixNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU07WUFDbkIsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLO1lBQ2pCLFlBQVksRUFBRSxJQUFJLENBQUMsWUFBWTtZQUMvQixPQUFPLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLElBQUksRUFBRTtTQUNuQyxDQUFDO0lBQ0osQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7SUFDaEIsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7SUFDbkIsQ0FBQzs7Z0hBN0JVLG1CQUFtQjtvR0FBbkIsbUJBQW1CLDBFQ2JoQyxrNUJBd0JBOzJGRFhhLG1CQUFtQjtrQkFKL0IsU0FBUzsrQkFDRSxhQUFhIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIE9uRGVzdHJveSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUm91dGVyLCBBY3RpdmF0ZWRSb3V0ZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBUaXRsZSB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xuaW1wb3J0IHsgQWJzdHJhY3RMYXlvdXQgfSBmcm9tICcuLi8uLi9tb2RlbHMvYWJzdHJhY3QtbGF5b3V0JztcbmltcG9ydCB7IENvbmZpZ3VyYXRpb25TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvY29uZmlndXJhdGlvbi5zZXJ2aWNlJztcbmltcG9ydCB7IExheW91dHNDb25maWd1cmF0aW9uU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2xheW91dHMtY29uZmlndXJhdGlvbi5zZXJ2aWNlJztcbmltcG9ydCB7IE1haW5TdGF0ZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9tYWluLXN0YXRlLnNlcnZpY2UnO1xuaW1wb3J0IHsgTWFpbkxheW91dENvbmZpZyBhcyBjb25maWcgfSBmcm9tICcuL21haW4tbGF5b3V0LmNvbmZpZyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ21haW4tbGF5b3V0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL21haW4tbGF5b3V0Lmh0bWwnLFxufSlcbmV4cG9ydCBjbGFzcyBNYWluTGF5b3V0Q29tcG9uZW50IGV4dGVuZHMgQWJzdHJhY3RMYXlvdXQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcm91dGVyOiBSb3V0ZXIsXG4gICAgcHJpdmF0ZSByb3V0ZTogQWN0aXZhdGVkUm91dGUsXG4gICAgcHJpdmF0ZSBjb25maWd1cmF0aW9uOiBDb25maWd1cmF0aW9uU2VydmljZSxcbiAgICBwcml2YXRlIGxheW91dHNDb25maWd1cmF0aW9uOiBMYXlvdXRzQ29uZmlndXJhdGlvblNlcnZpY2UsXG4gICAgcHJpdmF0ZSBtYWluU3RhdGU6IE1haW5TdGF0ZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSB0aXRsZVNlcnZpY2U6IFRpdGxlLFxuICApIHtcbiAgICBzdXBlcihsYXlvdXRzQ29uZmlndXJhdGlvbi5nZXQoJ01haW5MYXlvdXRDb25maWcnKSB8fCBjb25maWcpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGluaXRQYXlsb2FkKCkge1xuICAgIHJldHVybiB7XG4gICAgICBjb25maWd1cmF0aW9uOiB0aGlzLmNvbmZpZ3VyYXRpb24sXG4gICAgICBtYWluU3RhdGU6IHRoaXMubWFpblN0YXRlLFxuICAgICAgcm91dGVyOiB0aGlzLnJvdXRlcixcbiAgICAgIHJvdXRlOiB0aGlzLnJvdXRlLFxuICAgICAgdGl0bGVTZXJ2aWNlOiB0aGlzLnRpdGxlU2VydmljZSxcbiAgICAgIG9wdGlvbnM6IHRoaXMuY29uZmlnLm9wdGlvbnMgfHwge30sXG4gICAgfTtcbiAgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMub25Jbml0KCk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLm9uRGVzdHJveSgpO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwibjctbWFpbi1sYXlvdXRcIiBpZD1cIm1haW4tbGF5b3V0XCI+XG4gICAgPGRpdiBjbGFzcz1cIm43LXBhZ2UtY29udGVudFwiPlxuICAgICAgICA8bjctaGVhZGVyXG4gICAgICAgICAgICBbZGF0YV09XCJsYi53aWRnZXRzWydoZWFkZXInXS5kcy5vdXQkIHwgYXN5bmNcIlxuICAgICAgICAgICAgW2VtaXRdPVwibGIud2lkZ2V0c1snaGVhZGVyJ10uZW1pdFwiPlxuICAgICAgICA8L243LWhlYWRlcj5cbiAgICAgICAgPG1haW4gY2xhc3M9XCJuNy1jb250ZW50XCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibjctdG9wLXBhZ2UtYmFyXCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm43LXRvcC1wYWdlLWJhcl9fbWFpblwiPjwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibjctYWxlcnQtYmFyXCI+XG4gICAgICAgICAgICAgICAgPCEtLTxuNy1hbGVydFxuICAgICAgICAgICAgICAgIFthdHRyLmlkXT1cIidtYWluLWxheW91dC1hbGVydCdcIlxuICAgICAgICAgICAgICAgIFtkYXRhXT1cImxiLmRhdGFTb3VyY2UuYWxlcnREYXRhJCB8IGFzeW5jXCJcbiAgICAgICAgICAgICAgICBbZW1pdF09XCJsYi5kYXRhU291cmNlLmNsb3NlQWxlcnQuYmluZChsYi5kYXRhU291cmNlKVwiPjwvbjctYWxlcnQ+LS0+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgICAgICAgPC9tYWluPlxuICAgIDwvZGl2PlxuICAgIDxuNy1mb290ZXJcbiAgICAgICAgW2RhdGFdPVwibGIud2lkZ2V0c1snZm9vdGVyJ10uZHMub3V0JCB8IGFzeW5jXCJcbiAgICAgICAgW2VtaXRdPVwibGIud2lkZ2V0c1snZm9vdGVyJ10uZW1pdFwiPlxuICAgIDwvbjctZm9vdGVyPlxuPC9kaXY+XG4iXX0=
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { Page404LayoutDS } from './page404-layout.ds';
|
|
2
|
+
import { Page404LayoutEH } from './page404-layout.eh';
|
|
3
|
+
import * as DS from '../../data-sources';
|
|
4
|
+
import * as EH from '../../event-handlers';
|
|
5
|
+
export const Page404LayoutConfig = {
|
|
6
|
+
layoutId: 'n7-page404-layout',
|
|
7
|
+
widgets: [],
|
|
8
|
+
layoutDS: Page404LayoutDS,
|
|
9
|
+
layoutEH: Page404LayoutEH,
|
|
10
|
+
widgetsDataSources: DS,
|
|
11
|
+
widgetsEventHandlers: EH,
|
|
12
|
+
options: {
|
|
13
|
+
// TODO
|
|
14
|
+
},
|
|
15
|
+
};
|
|
16
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnZTQwNC1sYXlvdXQuY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbjctYm9pbGVycGxhdGUtY29tbW9uL3NyYy9saWIvbGF5b3V0cy9wYWdlNDA0LWxheW91dC9wYWdlNDA0LWxheW91dC5jb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN0RCxPQUFPLEtBQUssRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3pDLE9BQU8sS0FBSyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFFM0MsTUFBTSxDQUFDLE1BQU0sbUJBQW1CLEdBQUc7SUFDakMsUUFBUSxFQUFFLG1CQUFtQjtJQUM3QixPQUFPLEVBQUUsRUFBRTtJQUNYLFFBQVEsRUFBRSxlQUFlO0lBQ3pCLFFBQVEsRUFBRSxlQUFlO0lBQ3pCLGtCQUFrQixFQUFFLEVBQUU7SUFDdEIsb0JBQW9CLEVBQUUsRUFBRTtJQUN4QixPQUFPLEVBQUU7SUFDUCxPQUFPO0tBQ1I7Q0FDRixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGFnZTQwNExheW91dERTIH0gZnJvbSAnLi9wYWdlNDA0LWxheW91dC5kcyc7XG5pbXBvcnQgeyBQYWdlNDA0TGF5b3V0RUggfSBmcm9tICcuL3BhZ2U0MDQtbGF5b3V0LmVoJztcbmltcG9ydCAqIGFzIERTIGZyb20gJy4uLy4uL2RhdGEtc291cmNlcyc7XG5pbXBvcnQgKiBhcyBFSCBmcm9tICcuLi8uLi9ldmVudC1oYW5kbGVycyc7XG5cbmV4cG9ydCBjb25zdCBQYWdlNDA0TGF5b3V0Q29uZmlnID0ge1xuICBsYXlvdXRJZDogJ243LXBhZ2U0MDQtbGF5b3V0JyxcbiAgd2lkZ2V0czogW10sXG4gIGxheW91dERTOiBQYWdlNDA0TGF5b3V0RFMsXG4gIGxheW91dEVIOiBQYWdlNDA0TGF5b3V0RUgsXG4gIHdpZGdldHNEYXRhU291cmNlczogRFMsXG4gIHdpZGdldHNFdmVudEhhbmRsZXJzOiBFSCxcbiAgb3B0aW9uczoge1xuICAgIC8vIFRPRE9cbiAgfSxcbn07XG4iXX0=
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { LayoutDataSource } from '@n7-frontend/core';
|
|
2
|
+
export class Page404LayoutDS extends LayoutDataSource {
|
|
3
|
+
onInit({ options }) {
|
|
4
|
+
this.options = options;
|
|
5
|
+
}
|
|
6
|
+
}
|
|
7
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnZTQwNC1sYXlvdXQuZHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uNy1ib2lsZXJwbGF0ZS1jb21tb24vc3JjL2xpYi9sYXlvdXRzL3BhZ2U0MDQtbGF5b3V0L3BhZ2U0MDQtbGF5b3V0LmRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRXJELE1BQU0sT0FBTyxlQUFnQixTQUFRLGdCQUFnQjtJQUduRCxNQUFNLENBQUMsRUFBRSxPQUFPLEVBQUU7UUFDaEIsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7SUFDekIsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTGF5b3V0RGF0YVNvdXJjZSB9IGZyb20gJ0BuNy1mcm9udGVuZC9jb3JlJztcblxuZXhwb3J0IGNsYXNzIFBhZ2U0MDRMYXlvdXREUyBleHRlbmRzIExheW91dERhdGFTb3VyY2Uge1xuICBwdWJsaWMgb3B0aW9uczogYW55O1xuXG4gIG9uSW5pdCh7IG9wdGlvbnMgfSkge1xuICAgIHRoaXMub3B0aW9ucyA9IG9wdGlvbnM7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { EventHandler } from '@n7-frontend/core';
|
|
2
|
+
import { Subject } from 'rxjs';
|
|
3
|
+
export class Page404LayoutEH extends EventHandler {
|
|
4
|
+
constructor() {
|
|
5
|
+
super(...arguments);
|
|
6
|
+
this.destroyed$ = new Subject();
|
|
7
|
+
}
|
|
8
|
+
listen() {
|
|
9
|
+
this.innerEvents$.subscribe(({ type, payload }) => {
|
|
10
|
+
switch (type) {
|
|
11
|
+
case 'n7-page404-layout.init':
|
|
12
|
+
this.dataSource.onInit(payload);
|
|
13
|
+
break;
|
|
14
|
+
case 'n7-page404-layout.destroy':
|
|
15
|
+
this.destroyed$.next();
|
|
16
|
+
break;
|
|
17
|
+
default:
|
|
18
|
+
break;
|
|
19
|
+
}
|
|
20
|
+
});
|
|
21
|
+
// listen to global events
|
|
22
|
+
/* EventHandler.globalEvents$.pipe(
|
|
23
|
+
takeUntil(this.destroyed$)
|
|
24
|
+
).subscribe(({type, payload}) => {
|
|
25
|
+
switch(type){
|
|
26
|
+
case 'global.navigate':
|
|
27
|
+
this.dataSource.onNavigate(payload);
|
|
28
|
+
break;
|
|
29
|
+
|
|
30
|
+
default:
|
|
31
|
+
break;
|
|
32
|
+
}
|
|
33
|
+
}); */
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnZTQwNC1sYXlvdXQuZWguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uNy1ib2lsZXJwbGF0ZS1jb21tb24vc3JjL2xpYi9sYXlvdXRzL3BhZ2U0MDQtbGF5b3V0L3BhZ2U0MDQtbGF5b3V0LmVoLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNqRCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRS9CLE1BQU0sT0FBTyxlQUFnQixTQUFRLFlBQVk7SUFBakQ7O1FBQ1UsZUFBVSxHQUFpQixJQUFJLE9BQU8sRUFBRSxDQUFDO0lBZ0NuRCxDQUFDO0lBOUJRLE1BQU07UUFDWCxJQUFJLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxFQUFFLEVBQUU7WUFDaEQsUUFBUSxJQUFJLEVBQUU7Z0JBQ1osS0FBSyx3QkFBd0I7b0JBQzNCLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDO29CQUNoQyxNQUFNO2dCQUVSLEtBQUssMkJBQTJCO29CQUM5QixJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksRUFBRSxDQUFDO29CQUN2QixNQUFNO2dCQUVSO29CQUNFLE1BQU07YUFDVDtRQUNILENBQUMsQ0FBQyxDQUFDO1FBRUgsMEJBQTBCO1FBQzFCOzs7Ozs7Ozs7OztjQVdNO0lBQ1IsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRXZlbnRIYW5kbGVyIH0gZnJvbSAnQG43LWZyb250ZW5kL2NvcmUnO1xuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuXG5leHBvcnQgY2xhc3MgUGFnZTQwNExheW91dEVIIGV4dGVuZHMgRXZlbnRIYW5kbGVyIHtcbiAgcHJpdmF0ZSBkZXN0cm95ZWQkOiBTdWJqZWN0PGFueT4gPSBuZXcgU3ViamVjdCgpO1xuXG4gIHB1YmxpYyBsaXN0ZW4oKSB7XG4gICAgdGhpcy5pbm5lckV2ZW50cyQuc3Vic2NyaWJlKCh7IHR5cGUsIHBheWxvYWQgfSkgPT4ge1xuICAgICAgc3dpdGNoICh0eXBlKSB7XG4gICAgICAgIGNhc2UgJ243LXBhZ2U0MDQtbGF5b3V0LmluaXQnOlxuICAgICAgICAgIHRoaXMuZGF0YVNvdXJjZS5vbkluaXQocGF5bG9hZCk7XG4gICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgY2FzZSAnbjctcGFnZTQwNC1sYXlvdXQuZGVzdHJveSc6XG4gICAgICAgICAgdGhpcy5kZXN0cm95ZWQkLm5leHQoKTtcbiAgICAgICAgICBicmVhaztcblxuICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgLy8gbGlzdGVuIHRvIGdsb2JhbCBldmVudHNcbiAgICAvKiBFdmVudEhhbmRsZXIuZ2xvYmFsRXZlbnRzJC5waXBlKFxuICAgICAgdGFrZVVudGlsKHRoaXMuZGVzdHJveWVkJClcbiAgICApLnN1YnNjcmliZSgoe3R5cGUsIHBheWxvYWR9KSA9PiB7XG4gICAgICBzd2l0Y2godHlwZSl7XG4gICAgICAgIGNhc2UgJ2dsb2JhbC5uYXZpZ2F0ZSc6XG4gICAgICAgICAgdGhpcy5kYXRhU291cmNlLm9uTmF2aWdhdGUocGF5bG9hZCk7XG4gICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICB9KTsgKi9cbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { Component } from '@angular/core';
|
|
2
|
+
import { AbstractLayout } from '../../models/abstract-layout';
|
|
3
|
+
import { Page404LayoutConfig as config } from './page404-layout.config';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
import * as i1 from "../../services/layouts-configuration.service";
|
|
6
|
+
export class Page404LayoutComponent extends AbstractLayout {
|
|
7
|
+
constructor(layoutsConfiguration) {
|
|
8
|
+
super(layoutsConfiguration.get('Page404LayoutConfig') || config);
|
|
9
|
+
}
|
|
10
|
+
initPayload() {
|
|
11
|
+
return {
|
|
12
|
+
options: this.config.options || {},
|
|
13
|
+
};
|
|
14
|
+
}
|
|
15
|
+
ngOnInit() {
|
|
16
|
+
this.onInit();
|
|
17
|
+
}
|
|
18
|
+
ngOnDestroy() {
|
|
19
|
+
this.onDestroy();
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
Page404LayoutComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.1", ngImport: i0, type: Page404LayoutComponent, deps: [{ token: i1.LayoutsConfigurationService }], target: i0.ɵɵFactoryTarget.Component });
|
|
23
|
+
Page404LayoutComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.1", type: Page404LayoutComponent, selector: "n7-page404-layout", usesInheritance: true, ngImport: i0, template: "<div class=\"n7-page404-layout\">\n 404 - Resource not found\n</div>" });
|
|
24
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.1", ngImport: i0, type: Page404LayoutComponent, decorators: [{
|
|
25
|
+
type: Component,
|
|
26
|
+
args: [{ selector: 'n7-page404-layout', template: "<div class=\"n7-page404-layout\">\n 404 - Resource not found\n</div>" }]
|
|
27
|
+
}], ctorParameters: function () { return [{ type: i1.LayoutsConfigurationService }]; } });
|
|
28
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnZTQwNC1sYXlvdXQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uNy1ib2lsZXJwbGF0ZS1jb21tb24vc3JjL2xpYi9sYXlvdXRzL3BhZ2U0MDQtbGF5b3V0L3BhZ2U0MDQtbGF5b3V0LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbjctYm9pbGVycGxhdGUtY29tbW9uL3NyYy9saWIvbGF5b3V0cy9wYWdlNDA0LWxheW91dC9wYWdlNDA0LWxheW91dC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQXFCLE1BQU0sZUFBZSxDQUFDO0FBQzdELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUU5RCxPQUFPLEVBQUUsbUJBQW1CLElBQUksTUFBTSxFQUFFLE1BQU0seUJBQXlCLENBQUM7OztBQU14RSxNQUFNLE9BQU8sc0JBQXVCLFNBQVEsY0FBYztJQUN4RCxZQUNFLG9CQUFpRDtRQUVqRCxLQUFLLENBQUMsb0JBQW9CLENBQUMsR0FBRyxDQUFDLHFCQUFxQixDQUFDLElBQUksTUFBTSxDQUFDLENBQUM7SUFDbkUsQ0FBQztJQUVTLFdBQVc7UUFDbkIsT0FBTztZQUNMLE9BQU8sRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sSUFBSSxFQUFFO1NBQ25DLENBQUM7SUFDSixDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztJQUNoQixDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztJQUNuQixDQUFDOzttSEFuQlUsc0JBQXNCO3VHQUF0QixzQkFBc0IsZ0ZDVG5DLHlFQUVNOzJGRE9PLHNCQUFzQjtrQkFKbEMsU0FBUzsrQkFDRSxtQkFBbUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgT25EZXN0cm95IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBYnN0cmFjdExheW91dCB9IGZyb20gJy4uLy4uL21vZGVscy9hYnN0cmFjdC1sYXlvdXQnO1xuaW1wb3J0IHsgTGF5b3V0c0NvbmZpZ3VyYXRpb25TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvbGF5b3V0cy1jb25maWd1cmF0aW9uLnNlcnZpY2UnO1xuaW1wb3J0IHsgUGFnZTQwNExheW91dENvbmZpZyBhcyBjb25maWcgfSBmcm9tICcuL3BhZ2U0MDQtbGF5b3V0LmNvbmZpZyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ243LXBhZ2U0MDQtbGF5b3V0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL3BhZ2U0MDQtbGF5b3V0Lmh0bWwnLFxufSlcbmV4cG9ydCBjbGFzcyBQYWdlNDA0TGF5b3V0Q29tcG9uZW50IGV4dGVuZHMgQWJzdHJhY3RMYXlvdXQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIGxheW91dHNDb25maWd1cmF0aW9uOiBMYXlvdXRzQ29uZmlndXJhdGlvblNlcnZpY2UsXG4gICkge1xuICAgIHN1cGVyKGxheW91dHNDb25maWd1cmF0aW9uLmdldCgnUGFnZTQwNExheW91dENvbmZpZycpIHx8IGNvbmZpZyk7XG4gIH1cblxuICBwcm90ZWN0ZWQgaW5pdFBheWxvYWQoKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIG9wdGlvbnM6IHRoaXMuY29uZmlnLm9wdGlvbnMgfHwge30sXG4gICAgfTtcbiAgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMub25Jbml0KCk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLm9uRGVzdHJveSgpO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwibjctcGFnZTQwNC1sYXlvdXRcIj5cbiAgICA0MDQgLSBSZXNvdXJjZSBub3QgZm91bmRcbjwvZGl2PiJdfQ==
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { LayoutBuilder } from '@n7-frontend/core';
|
|
2
|
+
export class AbstractLayout {
|
|
3
|
+
constructor(config) {
|
|
4
|
+
this.config = config;
|
|
5
|
+
this.widgets = this.config.widgets;
|
|
6
|
+
this.lb = new LayoutBuilder(this.config.layoutId);
|
|
7
|
+
}
|
|
8
|
+
onInit() {
|
|
9
|
+
// on ready
|
|
10
|
+
this.lb.ready$.subscribe(() => {
|
|
11
|
+
this.lb.eventHandler.emitInner('init', this.initPayload());
|
|
12
|
+
});
|
|
13
|
+
const LayoutDS = this.config.layoutDS;
|
|
14
|
+
const LayoutEH = this.config.layoutEH;
|
|
15
|
+
this.lb.init({
|
|
16
|
+
widgetsConfig: this.widgets,
|
|
17
|
+
widgetsDataSources: this.config.widgetsDataSources,
|
|
18
|
+
widgetsEventHandlers: this.config.widgetsEventHandlers,
|
|
19
|
+
dataSource: new LayoutDS(),
|
|
20
|
+
eventHandler: new LayoutEH(),
|
|
21
|
+
});
|
|
22
|
+
}
|
|
23
|
+
onDestroy() {
|
|
24
|
+
this.lb.eventHandler.emitInner('destroy');
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJzdHJhY3QtbGF5b3V0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbjctYm9pbGVycGxhdGUtY29tbW9uL3NyYy9saWIvbW9kZWxzL2Fic3RyYWN0LWxheW91dC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFFbEQsTUFBTSxPQUFnQixjQUFjO0lBT2xDLFlBQVksTUFBVztRQUNyQixJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztRQUNyQixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDO1FBQ25DLElBQUksQ0FBQyxFQUFFLEdBQUcsSUFBSSxhQUFhLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUNwRCxDQUFDO0lBSVMsTUFBTTtRQUNkLFdBQVc7UUFDWCxJQUFJLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQzVCLElBQUksQ0FBQyxFQUFFLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUM7UUFDN0QsQ0FBQyxDQUFDLENBQUM7UUFFSCxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQztRQUN0QyxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQztRQUN0QyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQztZQUNYLGFBQWEsRUFBRSxJQUFJLENBQUMsT0FBTztZQUMzQixrQkFBa0IsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLGtCQUFrQjtZQUNsRCxvQkFBb0IsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLG9CQUFvQjtZQUN0RCxVQUFVLEVBQUUsSUFBSSxRQUFRLEVBQUU7WUFDMUIsWUFBWSxFQUFFLElBQUksUUFBUSxFQUFFO1NBQzdCLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFUyxTQUFTO1FBQ2pCLElBQUksQ0FBQyxFQUFFLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUM1QyxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBMYXlvdXRCdWlsZGVyIH0gZnJvbSAnQG43LWZyb250ZW5kL2NvcmUnO1xuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQWJzdHJhY3RMYXlvdXQge1xuICBwcm90ZWN0ZWQgY29uZmlnOiBhbnk7XG5cbiAgcHJvdGVjdGVkIHdpZGdldHM6IGFueVtdO1xuXG4gIHB1YmxpYyBsYjogYW55O1xuXG4gIGNvbnN0cnVjdG9yKGNvbmZpZzogYW55KSB7XG4gICAgdGhpcy5jb25maWcgPSBjb25maWc7XG4gICAgdGhpcy53aWRnZXRzID0gdGhpcy5jb25maWcud2lkZ2V0cztcbiAgICB0aGlzLmxiID0gbmV3IExheW91dEJ1aWxkZXIodGhpcy5jb25maWcubGF5b3V0SWQpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGFic3RyYWN0IGluaXRQYXlsb2FkKCk6IGFueTtcblxuICBwcm90ZWN0ZWQgb25Jbml0KCkge1xuICAgIC8vIG9uIHJlYWR5XG4gICAgdGhpcy5sYi5yZWFkeSQuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgIHRoaXMubGIuZXZlbnRIYW5kbGVyLmVtaXRJbm5lcignaW5pdCcsIHRoaXMuaW5pdFBheWxvYWQoKSk7XG4gICAgfSk7XG5cbiAgICBjb25zdCBMYXlvdXREUyA9IHRoaXMuY29uZmlnLmxheW91dERTO1xuICAgIGNvbnN0IExheW91dEVIID0gdGhpcy5jb25maWcubGF5b3V0RUg7XG4gICAgdGhpcy5sYi5pbml0KHtcbiAgICAgIHdpZGdldHNDb25maWc6IHRoaXMud2lkZ2V0cyxcbiAgICAgIHdpZGdldHNEYXRhU291cmNlczogdGhpcy5jb25maWcud2lkZ2V0c0RhdGFTb3VyY2VzLFxuICAgICAgd2lkZ2V0c0V2ZW50SGFuZGxlcnM6IHRoaXMuY29uZmlnLndpZGdldHNFdmVudEhhbmRsZXJzLFxuICAgICAgZGF0YVNvdXJjZTogbmV3IExheW91dERTKCksXG4gICAgICBldmVudEhhbmRsZXI6IG5ldyBMYXlvdXRFSCgpLFxuICAgIH0pO1xuICB9XG5cbiAgcHJvdGVjdGVkIG9uRGVzdHJveSgpIHtcbiAgICB0aGlzLmxiLmV2ZW50SGFuZGxlci5lbWl0SW5uZXIoJ2Rlc3Ryb3knKTtcbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export * from './abstract-layout';
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uNy1ib2lsZXJwbGF0ZS1jb21tb24vc3JjL2xpYi9tb2RlbHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxtQkFBbUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vYWJzdHJhY3QtbGF5b3V0JztcbiJdfQ==
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import { NgModule } from '@angular/core';
|
|
2
|
+
import { CommonModule } from '@angular/common';
|
|
3
|
+
import { HttpClientModule } from '@angular/common/http';
|
|
4
|
+
import { DvComponentsLibModule } from '@n7-frontend/components';
|
|
5
|
+
// services
|
|
6
|
+
import { ConfigurationService } from './services/configuration.service';
|
|
7
|
+
import { LayoutsConfigurationService } from './services/layouts-configuration.service';
|
|
8
|
+
import { MainStateService } from './services/main-state.service';
|
|
9
|
+
import { CommunicationService } from './services/communication.service';
|
|
10
|
+
// layouts
|
|
11
|
+
import { MainLayoutComponent } from './layouts/main-layout/main-layout';
|
|
12
|
+
import { Page404LayoutComponent } from './layouts/page404-layout/page404-layout';
|
|
13
|
+
// components
|
|
14
|
+
import { SmartPaginationComponent } from './components/smart-pagination/smart-pagination';
|
|
15
|
+
import * as i0 from "@angular/core";
|
|
16
|
+
const COMPONENTS = [
|
|
17
|
+
MainLayoutComponent,
|
|
18
|
+
Page404LayoutComponent,
|
|
19
|
+
SmartPaginationComponent,
|
|
20
|
+
];
|
|
21
|
+
export class N7BoilerplateCommonModule {
|
|
22
|
+
static forRoot(config) {
|
|
23
|
+
return {
|
|
24
|
+
ngModule: N7BoilerplateCommonModule,
|
|
25
|
+
providers: [
|
|
26
|
+
MainStateService,
|
|
27
|
+
ConfigurationService,
|
|
28
|
+
LayoutsConfigurationService,
|
|
29
|
+
CommunicationService,
|
|
30
|
+
{ provide: 'config', useValue: config },
|
|
31
|
+
],
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
N7BoilerplateCommonModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.1", ngImport: i0, type: N7BoilerplateCommonModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
36
|
+
N7BoilerplateCommonModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.2.1", ngImport: i0, type: N7BoilerplateCommonModule, declarations: [MainLayoutComponent,
|
|
37
|
+
Page404LayoutComponent,
|
|
38
|
+
SmartPaginationComponent], imports: [CommonModule,
|
|
39
|
+
HttpClientModule,
|
|
40
|
+
DvComponentsLibModule], exports: [MainLayoutComponent,
|
|
41
|
+
Page404LayoutComponent,
|
|
42
|
+
SmartPaginationComponent] });
|
|
43
|
+
N7BoilerplateCommonModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.2.1", ngImport: i0, type: N7BoilerplateCommonModule, providers: [], imports: [[
|
|
44
|
+
CommonModule,
|
|
45
|
+
HttpClientModule,
|
|
46
|
+
DvComponentsLibModule,
|
|
47
|
+
]] });
|
|
48
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.1", ngImport: i0, type: N7BoilerplateCommonModule, decorators: [{
|
|
49
|
+
type: NgModule,
|
|
50
|
+
args: [{
|
|
51
|
+
declarations: COMPONENTS,
|
|
52
|
+
imports: [
|
|
53
|
+
CommonModule,
|
|
54
|
+
HttpClientModule,
|
|
55
|
+
DvComponentsLibModule,
|
|
56
|
+
],
|
|
57
|
+
providers: [],
|
|
58
|
+
exports: COMPONENTS
|
|
59
|
+
}]
|
|
60
|
+
}] });
|
|
61
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibjctYm9pbGVycGxhdGUtY29tbW9uLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL243LWJvaWxlcnBsYXRlLWNvbW1vbi9zcmMvbGliL243LWJvaWxlcnBsYXRlLWNvbW1vbi5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUF1QixRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDOUQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBRWhFLFdBQVc7QUFDWCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUN4RSxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUN2RixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNqRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUV4RSxVQUFVO0FBQ1YsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDeEUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFFakYsYUFBYTtBQUNiLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLGdEQUFnRCxDQUFDOztBQUUxRixNQUFNLFVBQVUsR0FBRztJQUNqQixtQkFBbUI7SUFDbkIsc0JBQXNCO0lBQ3RCLHdCQUF3QjtDQUN6QixDQUFDO0FBWUYsTUFBTSxPQUFPLHlCQUF5QjtJQUNwQyxNQUFNLENBQUMsT0FBTyxDQUFDLE1BQVk7UUFDekIsT0FBTztZQUNMLFFBQVEsRUFBRSx5QkFBeUI7WUFDbkMsU0FBUyxFQUFFO2dCQUNULGdCQUFnQjtnQkFDaEIsb0JBQW9CO2dCQUNwQiwyQkFBMkI7Z0JBQzNCLG9CQUFvQjtnQkFDcEIsRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUU7YUFDeEM7U0FDRixDQUFDO0lBQ0osQ0FBQzs7c0hBWlUseUJBQXlCO3VIQUF6Qix5QkFBeUIsaUJBZnBDLG1CQUFtQjtRQUNuQixzQkFBc0I7UUFDdEIsd0JBQXdCLGFBTXRCLFlBQVk7UUFDWixnQkFBZ0I7UUFDaEIscUJBQXFCLGFBVnZCLG1CQUFtQjtRQUNuQixzQkFBc0I7UUFDdEIsd0JBQXdCO3VIQWFiLHlCQUF5QixhQUh6QixFQUFFLFlBTEo7WUFDUCxZQUFZO1lBQ1osZ0JBQWdCO1lBQ2hCLHFCQUFxQjtTQUN0QjsyRkFJVSx5QkFBeUI7a0JBVnJDLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFLFVBQVU7b0JBQ3hCLE9BQU8sRUFBRTt3QkFDUCxZQUFZO3dCQUNaLGdCQUFnQjt3QkFDaEIscUJBQXFCO3FCQUN0QjtvQkFDRCxTQUFTLEVBQUUsRUFBRTtvQkFDYixPQUFPLEVBQUUsVUFBVTtpQkFDcEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBNb2R1bGVXaXRoUHJvdmlkZXJzLCBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEh0dHBDbGllbnRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBEdkNvbXBvbmVudHNMaWJNb2R1bGUgfSBmcm9tICdAbjctZnJvbnRlbmQvY29tcG9uZW50cyc7XG5cbi8vIHNlcnZpY2VzXG5pbXBvcnQgeyBDb25maWd1cmF0aW9uU2VydmljZSB9IGZyb20gJy4vc2VydmljZXMvY29uZmlndXJhdGlvbi5zZXJ2aWNlJztcbmltcG9ydCB7IExheW91dHNDb25maWd1cmF0aW9uU2VydmljZSB9IGZyb20gJy4vc2VydmljZXMvbGF5b3V0cy1jb25maWd1cmF0aW9uLnNlcnZpY2UnO1xuaW1wb3J0IHsgTWFpblN0YXRlU2VydmljZSB9IGZyb20gJy4vc2VydmljZXMvbWFpbi1zdGF0ZS5zZXJ2aWNlJztcbmltcG9ydCB7IENvbW11bmljYXRpb25TZXJ2aWNlIH0gZnJvbSAnLi9zZXJ2aWNlcy9jb21tdW5pY2F0aW9uLnNlcnZpY2UnO1xuXG4vLyBsYXlvdXRzXG5pbXBvcnQgeyBNYWluTGF5b3V0Q29tcG9uZW50IH0gZnJvbSAnLi9sYXlvdXRzL21haW4tbGF5b3V0L21haW4tbGF5b3V0JztcbmltcG9ydCB7IFBhZ2U0MDRMYXlvdXRDb21wb25lbnQgfSBmcm9tICcuL2xheW91dHMvcGFnZTQwNC1sYXlvdXQvcGFnZTQwNC1sYXlvdXQnO1xuXG4vLyBjb21wb25lbnRzXG5pbXBvcnQgeyBTbWFydFBhZ2luYXRpb25Db21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvc21hcnQtcGFnaW5hdGlvbi9zbWFydC1wYWdpbmF0aW9uJztcblxuY29uc3QgQ09NUE9ORU5UUyA9IFtcbiAgTWFpbkxheW91dENvbXBvbmVudCxcbiAgUGFnZTQwNExheW91dENvbXBvbmVudCxcbiAgU21hcnRQYWdpbmF0aW9uQ29tcG9uZW50LFxuXTtcblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBDT01QT05FTlRTLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIEh0dHBDbGllbnRNb2R1bGUsXG4gICAgRHZDb21wb25lbnRzTGliTW9kdWxlLFxuICBdLFxuICBwcm92aWRlcnM6IFtdLFxuICBleHBvcnRzOiBDT01QT05FTlRTXG59KVxuZXhwb3J0IGNsYXNzIE43Qm9pbGVycGxhdGVDb21tb25Nb2R1bGUge1xuICBzdGF0aWMgZm9yUm9vdChjb25maWc/OiBhbnkpOiBNb2R1bGVXaXRoUHJvdmlkZXJzPE43Qm9pbGVycGxhdGVDb21tb25Nb2R1bGU+IHtcbiAgICByZXR1cm4ge1xuICAgICAgbmdNb2R1bGU6IE43Qm9pbGVycGxhdGVDb21tb25Nb2R1bGUsXG4gICAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgTWFpblN0YXRlU2VydmljZSxcbiAgICAgICAgQ29uZmlndXJhdGlvblNlcnZpY2UsXG4gICAgICAgIExheW91dHNDb25maWd1cmF0aW9uU2VydmljZSxcbiAgICAgICAgQ29tbXVuaWNhdGlvblNlcnZpY2UsXG4gICAgICAgIHsgcHJvdmlkZTogJ2NvbmZpZycsIHVzZVZhbHVlOiBjb25maWcgfSxcbiAgICAgIF0sXG4gICAgfTtcbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import { map } from 'rxjs/operators';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "@angular/common/http";
|
|
5
|
+
import * as i2 from "../configuration.service";
|
|
6
|
+
const DEFAULT_TREE_DEPTH = 15;
|
|
7
|
+
export class ApolloProvider {
|
|
8
|
+
constructor(http, configuration) {
|
|
9
|
+
this.http = http;
|
|
10
|
+
this.configuration = configuration;
|
|
11
|
+
}
|
|
12
|
+
request$(providerConfig, requestId, options) {
|
|
13
|
+
const { params, method, httpOptions } = options;
|
|
14
|
+
const treeDepth = this.configuration.get('treeDepth') || DEFAULT_TREE_DEPTH;
|
|
15
|
+
const config = providerConfig.config ? providerConfig.config(treeDepth) : {};
|
|
16
|
+
let query;
|
|
17
|
+
if (config && config[requestId]) {
|
|
18
|
+
query = config[requestId];
|
|
19
|
+
}
|
|
20
|
+
query = query || {};
|
|
21
|
+
const { queryName } = query;
|
|
22
|
+
let { queryBody } = query;
|
|
23
|
+
// config query control
|
|
24
|
+
if (!queryName || !queryBody) {
|
|
25
|
+
throw Error(`No config found for requestId '${requestId}'`);
|
|
26
|
+
}
|
|
27
|
+
if (params) {
|
|
28
|
+
const paramsStr = this.makeParamsStr(params);
|
|
29
|
+
queryBody = queryBody.replace('__PARAMS__', paramsStr);
|
|
30
|
+
}
|
|
31
|
+
else {
|
|
32
|
+
queryBody = queryBody.replace('(__PARAMS__)', '');
|
|
33
|
+
}
|
|
34
|
+
let source$;
|
|
35
|
+
if (method && method === 'GET') {
|
|
36
|
+
source$ = this.http.get(providerConfig.baseUrl);
|
|
37
|
+
}
|
|
38
|
+
else {
|
|
39
|
+
source$ = this.http.post(providerConfig.baseUrl, { query: queryBody }, httpOptions);
|
|
40
|
+
}
|
|
41
|
+
return source$.pipe(map((response) => response.data[queryName]));
|
|
42
|
+
}
|
|
43
|
+
makeParamsStr(params) {
|
|
44
|
+
const paramsStr = [];
|
|
45
|
+
Object.keys(params).forEach((key) => {
|
|
46
|
+
if (Array.isArray(params[key])) {
|
|
47
|
+
const arrStr = [];
|
|
48
|
+
params[key].forEach((val) => {
|
|
49
|
+
if (typeof val === 'object') {
|
|
50
|
+
const subParamsStr = this.makeParamsStr(val);
|
|
51
|
+
arrStr.push(`{ ${subParamsStr} }`);
|
|
52
|
+
}
|
|
53
|
+
else if (typeof val === 'number' || typeof val === 'boolean' || val === null) {
|
|
54
|
+
arrStr.push(`${val}`);
|
|
55
|
+
}
|
|
56
|
+
else {
|
|
57
|
+
arrStr.push(`"${val}"`);
|
|
58
|
+
}
|
|
59
|
+
});
|
|
60
|
+
paramsStr.push(`${key}: [${arrStr.join(',')}]`);
|
|
61
|
+
}
|
|
62
|
+
else if (typeof params[key] === 'object' && params[key]) {
|
|
63
|
+
const subParamsStr = this.makeParamsStr(params[key]);
|
|
64
|
+
paramsStr.push(`${key}: { ${subParamsStr} }`);
|
|
65
|
+
}
|
|
66
|
+
else if (typeof params[key] === 'string' && key.indexOf('$') === 0) {
|
|
67
|
+
paramsStr.push(`${key.replace('$', '')}: ${params[key]}`);
|
|
68
|
+
}
|
|
69
|
+
else if (typeof params[key] === 'number' || typeof params[key] === 'boolean' || params[key] === null) {
|
|
70
|
+
paramsStr.push(`${key}: ${params[key]}`);
|
|
71
|
+
}
|
|
72
|
+
else {
|
|
73
|
+
paramsStr.push(`${key}: "${params[key]}"`);
|
|
74
|
+
}
|
|
75
|
+
});
|
|
76
|
+
return paramsStr.join(' ');
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
ApolloProvider.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.1", ngImport: i0, type: ApolloProvider, deps: [{ token: i1.HttpClient }, { token: i2.ConfigurationService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
80
|
+
ApolloProvider.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.2.1", ngImport: i0, type: ApolloProvider, providedIn: 'root' });
|
|
81
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.1", ngImport: i0, type: ApolloProvider, decorators: [{
|
|
82
|
+
type: Injectable,
|
|
83
|
+
args: [{
|
|
84
|
+
providedIn: 'root',
|
|
85
|
+
}]
|
|
86
|
+
}], ctorParameters: function () { return [{ type: i1.HttpClient }, { type: i2.ConfigurationService }]; } });
|
|
87
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBvbGxvLnByb3ZpZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbjctYm9pbGVycGxhdGUtY29tbW9uL3NyYy9saWIvc2VydmljZXMvY29tbXVuaWNhdGlvbi1wcm92aWRlcnMvYXBvbGxvLnByb3ZpZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7O0FBS3JDLE1BQU0sa0JBQWtCLEdBQUcsRUFBRSxDQUFDO0FBSzlCLE1BQU0sT0FBTyxjQUFjO0lBQ3pCLFlBQ1UsSUFBZ0IsRUFDaEIsYUFBbUM7UUFEbkMsU0FBSSxHQUFKLElBQUksQ0FBWTtRQUNoQixrQkFBYSxHQUFiLGFBQWEsQ0FBc0I7SUFDMUMsQ0FBQztJQUVKLFFBQVEsQ0FBQyxjQUFjLEVBQUUsU0FBaUIsRUFBRSxPQUFPO1FBQ2pELE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLFdBQVcsRUFBRSxHQUFHLE9BQU8sQ0FBQztRQUNoRCxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUMsSUFBSSxrQkFBa0IsQ0FBQztRQUM1RSxNQUFNLE1BQU0sR0FBRyxjQUFjLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFDN0UsSUFBSSxLQUFLLENBQUM7UUFFVixJQUFJLE1BQU0sSUFBSSxNQUFNLENBQUMsU0FBUyxDQUFDLEVBQUU7WUFDL0IsS0FBSyxHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQztTQUMzQjtRQUVELEtBQUssR0FBRyxLQUFLLElBQUksRUFBRSxDQUFDO1FBQ3BCLE1BQU0sRUFBRSxTQUFTLEVBQUUsR0FBRyxLQUFLLENBQUM7UUFDNUIsSUFBSSxFQUFFLFNBQVMsRUFBRSxHQUFHLEtBQUssQ0FBQztRQUUxQix1QkFBdUI7UUFDdkIsSUFBSSxDQUFDLFNBQVMsSUFBSSxDQUFDLFNBQVMsRUFBRTtZQUM1QixNQUFNLEtBQUssQ0FBQyxrQ0FBa0MsU0FBUyxHQUFHLENBQUMsQ0FBQztTQUM3RDtRQUVELElBQUksTUFBTSxFQUFFO1lBQ1YsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUM3QyxTQUFTLEdBQUcsU0FBUyxDQUFDLE9BQU8sQ0FBQyxZQUFZLEVBQUUsU0FBUyxDQUFDLENBQUM7U0FDeEQ7YUFBTTtZQUNMLFNBQVMsR0FBRyxTQUFTLENBQUMsT0FBTyxDQUFDLGNBQWMsRUFBRSxFQUFFLENBQUMsQ0FBQztTQUNuRDtRQUVELElBQUksT0FBd0IsQ0FBQztRQUU3QixJQUFJLE1BQU0sSUFBSSxNQUFNLEtBQUssS0FBSyxFQUFFO1lBQzlCLE9BQU8sR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLENBQUM7U0FDakQ7YUFBTTtZQUNMLE9BQU8sR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FDdEIsY0FBYyxDQUFDLE9BQU8sRUFDdEIsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLEVBQ3BCLFdBQVcsQ0FDWixDQUFDO1NBQ0g7UUFFRCxPQUFPLE9BQU8sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsUUFBYSxFQUFFLEVBQUUsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUN4RSxDQUFDO0lBRU8sYUFBYSxDQUFDLE1BQU07UUFDMUIsTUFBTSxTQUFTLEdBQUcsRUFBRSxDQUFDO1FBQ3JCLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUU7WUFDbEMsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFO2dCQUM5QixNQUFNLE1BQU0sR0FBRyxFQUFFLENBQUM7Z0JBQ2xCLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRTtvQkFDMUIsSUFBSSxPQUFPLEdBQUcsS0FBSyxRQUFRLEVBQUU7d0JBQzNCLE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLENBQUM7d0JBQzdDLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxZQUFZLElBQUksQ0FBQyxDQUFDO3FCQUNwQzt5QkFBTSxJQUFJLE9BQU8sR0FBRyxLQUFLLFFBQVEsSUFBSSxPQUFPLEdBQUcsS0FBSyxTQUFTLElBQUksR0FBRyxLQUFLLElBQUksRUFBRTt3QkFDOUUsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLEdBQUcsRUFBRSxDQUFDLENBQUM7cUJBQ3ZCO3lCQUFNO3dCQUNMLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxHQUFHLEdBQUcsQ0FBQyxDQUFDO3FCQUN6QjtnQkFDSCxDQUFDLENBQUMsQ0FBQztnQkFDSCxTQUFTLENBQUMsSUFBSSxDQUFDLEdBQUcsR0FBRyxNQUFNLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO2FBQ2pEO2lCQUFNLElBQUksT0FBTyxNQUFNLENBQUMsR0FBRyxDQUFDLEtBQUssUUFBUSxJQUFJLE1BQU0sQ0FBQyxHQUFHLENBQUMsRUFBRTtnQkFDekQsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztnQkFDckQsU0FBUyxDQUFDLElBQUksQ0FBQyxHQUFHLEdBQUcsT0FBTyxZQUFZLElBQUksQ0FBQyxDQUFDO2FBQy9DO2lCQUFNLElBQUksT0FBTyxNQUFNLENBQUMsR0FBRyxDQUFDLEtBQUssUUFBUSxJQUFJLEdBQUcsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxFQUFFO2dCQUNwRSxTQUFTLENBQUMsSUFBSSxDQUFDLEdBQUcsR0FBRyxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLEtBQUssTUFBTSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQzthQUMzRDtpQkFBTSxJQUFJLE9BQU8sTUFBTSxDQUFDLEdBQUcsQ0FBQyxLQUFLLFFBQVEsSUFBSSxPQUFPLE1BQU0sQ0FBQyxHQUFHLENBQUMsS0FBSyxTQUFTLElBQUksTUFBTSxDQUFDLEdBQUcsQ0FBQyxLQUFLLElBQUksRUFBRTtnQkFDdEcsU0FBUyxDQUFDLElBQUksQ0FBQyxHQUFHLEdBQUcsS0FBSyxNQUFNLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDO2FBQzFDO2lCQUFNO2dCQUNMLFNBQVMsQ0FBQyxJQUFJLENBQUMsR0FBRyxHQUFHLE1BQU0sTUFBTSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQzthQUM1QztRQUNILENBQUMsQ0FBQyxDQUFDO1FBQ0gsT0FBTyxTQUFTLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQzdCLENBQUM7OzJHQTNFVSxjQUFjOytHQUFkLGNBQWMsY0FGYixNQUFNOzJGQUVQLGNBQWM7a0JBSDFCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IENvbW11bmljYXRpb25Qcm92aWRlciB9IGZyb20gJy4vY29tbXVuaWNhdGlvbi1wcm92aWRlci5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgQ29uZmlndXJhdGlvblNlcnZpY2UgfSBmcm9tICcuLi9jb25maWd1cmF0aW9uLnNlcnZpY2UnO1xuXG5jb25zdCBERUZBVUxUX1RSRUVfREVQVEggPSAxNTtcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIEFwb2xsb1Byb3ZpZGVyIGltcGxlbWVudHMgQ29tbXVuaWNhdGlvblByb3ZpZGVyIHtcbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBodHRwOiBIdHRwQ2xpZW50LFxuICAgIHByaXZhdGUgY29uZmlndXJhdGlvbjogQ29uZmlndXJhdGlvblNlcnZpY2UsXG4gICkge31cblxuICByZXF1ZXN0JChwcm92aWRlckNvbmZpZywgcmVxdWVzdElkOiBzdHJpbmcsIG9wdGlvbnMpIHtcbiAgICBjb25zdCB7IHBhcmFtcywgbWV0aG9kLCBodHRwT3B0aW9ucyB9ID0gb3B0aW9ucztcbiAgICBjb25zdCB0cmVlRGVwdGggPSB0aGlzLmNvbmZpZ3VyYXRpb24uZ2V0KCd0cmVlRGVwdGgnKSB8fCBERUZBVUxUX1RSRUVfREVQVEg7XG4gICAgY29uc3QgY29uZmlnID0gcHJvdmlkZXJDb25maWcuY29uZmlnID8gcHJvdmlkZXJDb25maWcuY29uZmlnKHRyZWVEZXB0aCkgOiB7fTtcbiAgICBsZXQgcXVlcnk7XG5cbiAgICBpZiAoY29uZmlnICYmIGNvbmZpZ1tyZXF1ZXN0SWRdKSB7XG4gICAgICBxdWVyeSA9IGNvbmZpZ1tyZXF1ZXN0SWRdO1xuICAgIH1cblxuICAgIHF1ZXJ5ID0gcXVlcnkgfHwge307XG4gICAgY29uc3QgeyBxdWVyeU5hbWUgfSA9IHF1ZXJ5O1xuICAgIGxldCB7IHF1ZXJ5Qm9keSB9ID0gcXVlcnk7XG5cbiAgICAvLyBjb25maWcgcXVlcnkgY29udHJvbFxuICAgIGlmICghcXVlcnlOYW1lIHx8ICFxdWVyeUJvZHkpIHtcbiAgICAgIHRocm93IEVycm9yKGBObyBjb25maWcgZm91bmQgZm9yIHJlcXVlc3RJZCAnJHtyZXF1ZXN0SWR9J2ApO1xuICAgIH1cblxuICAgIGlmIChwYXJhbXMpIHtcbiAgICAgIGNvbnN0IHBhcmFtc1N0ciA9IHRoaXMubWFrZVBhcmFtc1N0cihwYXJhbXMpO1xuICAgICAgcXVlcnlCb2R5ID0gcXVlcnlCb2R5LnJlcGxhY2UoJ19fUEFSQU1TX18nLCBwYXJhbXNTdHIpO1xuICAgIH0gZWxzZSB7XG4gICAgICBxdWVyeUJvZHkgPSBxdWVyeUJvZHkucmVwbGFjZSgnKF9fUEFSQU1TX18pJywgJycpO1xuICAgIH1cblxuICAgIGxldCBzb3VyY2UkOiBPYnNlcnZhYmxlPGFueT47XG5cbiAgICBpZiAobWV0aG9kICYmIG1ldGhvZCA9PT0gJ0dFVCcpIHtcbiAgICAgIHNvdXJjZSQgPSB0aGlzLmh0dHAuZ2V0KHByb3ZpZGVyQ29uZmlnLmJhc2VVcmwpO1xuICAgIH0gZWxzZSB7XG4gICAgICBzb3VyY2UkID0gdGhpcy5odHRwLnBvc3QoXG4gICAgICAgIHByb3ZpZGVyQ29uZmlnLmJhc2VVcmwsXG4gICAgICAgIHsgcXVlcnk6IHF1ZXJ5Qm9keSB9LFxuICAgICAgICBodHRwT3B0aW9ucyxcbiAgICAgICk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHNvdXJjZSQucGlwZShtYXAoKHJlc3BvbnNlOiBhbnkpID0+IHJlc3BvbnNlLmRhdGFbcXVlcnlOYW1lXSkpO1xuICB9XG5cbiAgcHJpdmF0ZSBtYWtlUGFyYW1zU3RyKHBhcmFtcykge1xuICAgIGNvbnN0IHBhcmFtc1N0ciA9IFtdO1xuICAgIE9iamVjdC5rZXlzKHBhcmFtcykuZm9yRWFjaCgoa2V5KSA9PiB7XG4gICAgICBpZiAoQXJyYXkuaXNBcnJheShwYXJhbXNba2V5XSkpIHtcbiAgICAgICAgY29uc3QgYXJyU3RyID0gW107XG4gICAgICAgIHBhcmFtc1trZXldLmZvckVhY2goKHZhbCkgPT4ge1xuICAgICAgICAgIGlmICh0eXBlb2YgdmFsID09PSAnb2JqZWN0Jykge1xuICAgICAgICAgICAgY29uc3Qgc3ViUGFyYW1zU3RyID0gdGhpcy5tYWtlUGFyYW1zU3RyKHZhbCk7XG4gICAgICAgICAgICBhcnJTdHIucHVzaChgeyAke3N1YlBhcmFtc1N0cn0gfWApO1xuICAgICAgICAgIH0gZWxzZSBpZiAodHlwZW9mIHZhbCA9PT0gJ251bWJlcicgfHwgdHlwZW9mIHZhbCA9PT0gJ2Jvb2xlYW4nIHx8IHZhbCA9PT0gbnVsbCkge1xuICAgICAgICAgICAgYXJyU3RyLnB1c2goYCR7dmFsfWApO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBhcnJTdHIucHVzaChgXCIke3ZhbH1cImApO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICAgIHBhcmFtc1N0ci5wdXNoKGAke2tleX06IFske2FyclN0ci5qb2luKCcsJyl9XWApO1xuICAgICAgfSBlbHNlIGlmICh0eXBlb2YgcGFyYW1zW2tleV0gPT09ICdvYmplY3QnICYmIHBhcmFtc1trZXldKSB7XG4gICAgICAgIGNvbnN0IHN1YlBhcmFtc1N0ciA9IHRoaXMubWFrZVBhcmFtc1N0cihwYXJhbXNba2V5XSk7XG4gICAgICAgIHBhcmFtc1N0ci5wdXNoKGAke2tleX06IHsgJHtzdWJQYXJhbXNTdHJ9IH1gKTtcbiAgICAgIH0gZWxzZSBpZiAodHlwZW9mIHBhcmFtc1trZXldID09PSAnc3RyaW5nJyAmJiBrZXkuaW5kZXhPZignJCcpID09PSAwKSB7XG4gICAgICAgIHBhcmFtc1N0ci5wdXNoKGAke2tleS5yZXBsYWNlKCckJywgJycpfTogJHtwYXJhbXNba2V5XX1gKTtcbiAgICAgIH0gZWxzZSBpZiAodHlwZW9mIHBhcmFtc1trZXldID09PSAnbnVtYmVyJyB8fCB0eXBlb2YgcGFyYW1zW2tleV0gPT09ICdib29sZWFuJyB8fCBwYXJhbXNba2V5XSA9PT0gbnVsbCkge1xuICAgICAgICBwYXJhbXNTdHIucHVzaChgJHtrZXl9OiAke3BhcmFtc1trZXldfWApO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcGFyYW1zU3RyLnB1c2goYCR7a2V5fTogXCIke3BhcmFtc1trZXldfVwiYCk7XG4gICAgICB9XG4gICAgfSk7XG4gICAgcmV0dXJuIHBhcmFtc1N0ci5qb2luKCcgJyk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbXVuaWNhdGlvbi1wcm92aWRlci5pbnRlcmZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uNy1ib2lsZXJwbGF0ZS1jb21tb24vc3JjL2xpYi9zZXJ2aWNlcy9jb21tdW5pY2F0aW9uLXByb3ZpZGVycy9jb21tdW5pY2F0aW9uLXByb3ZpZGVyLmludGVyZmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBDb21tdW5pY2F0aW9uUHJvdmlkZXIge1xuICByZXF1ZXN0JChcbiAgICBwcm92aWRlckNvbmZpZzogYW55LFxuICAgIHJlcXVlc3RJZDogc3RyaW5nLFxuICAgIG9wdGlvbnM6IGFueVxuICApO1xufVxuIl19
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
import * as i1 from "@angular/common/http";
|
|
4
|
+
export class RestProvider {
|
|
5
|
+
constructor(http) {
|
|
6
|
+
this.http = http;
|
|
7
|
+
}
|
|
8
|
+
request$(providerConfig, requestId, options = {}) {
|
|
9
|
+
const { params, httpOptions, urlParams = '', } = options;
|
|
10
|
+
let { method } = options;
|
|
11
|
+
let point;
|
|
12
|
+
// default method
|
|
13
|
+
if (!method) {
|
|
14
|
+
method = providerConfig.defaultMethod || 'GET';
|
|
15
|
+
}
|
|
16
|
+
if (providerConfig.config && providerConfig.config[requestId]) {
|
|
17
|
+
point = providerConfig.config[requestId];
|
|
18
|
+
}
|
|
19
|
+
// config point control
|
|
20
|
+
if (!point) {
|
|
21
|
+
throw Error(`No config found for requestId "${requestId}"`);
|
|
22
|
+
}
|
|
23
|
+
if (method === 'POST' || method === 'PUT') {
|
|
24
|
+
return this.http[method.toLowerCase()](providerConfig.baseUrl + point + urlParams, params, httpOptions);
|
|
25
|
+
}
|
|
26
|
+
if (method === 'GET' || method === 'DELETE') {
|
|
27
|
+
return this.http[method.toLowerCase()](providerConfig.baseUrl + point + urlParams, httpOptions);
|
|
28
|
+
}
|
|
29
|
+
throw Error(`Rest method ${method} not supported`);
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
RestProvider.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.1", ngImport: i0, type: RestProvider, deps: [{ token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
33
|
+
RestProvider.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.2.1", ngImport: i0, type: RestProvider, providedIn: 'root' });
|
|
34
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.1", ngImport: i0, type: RestProvider, decorators: [{
|
|
35
|
+
type: Injectable,
|
|
36
|
+
args: [{
|
|
37
|
+
providedIn: 'root',
|
|
38
|
+
}]
|
|
39
|
+
}], ctorParameters: function () { return [{ type: i1.HttpClient }]; } });
|
|
40
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzdC5wcm92aWRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL243LWJvaWxlcnBsYXRlLWNvbW1vbi9zcmMvbGliL3NlcnZpY2VzL2NvbW11bmljYXRpb24tcHJvdmlkZXJzL3Jlc3QucHJvdmlkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7O0FBTzNDLE1BQU0sT0FBTyxZQUFZO0lBQ3ZCLFlBQ1UsSUFBZ0I7UUFBaEIsU0FBSSxHQUFKLElBQUksQ0FBWTtJQUN2QixDQUFDO0lBRUosUUFBUSxDQUFDLGNBQWMsRUFBRSxTQUFTLEVBQUUsVUFBZSxFQUFFO1FBQ25ELE1BQU0sRUFDSixNQUFNLEVBQUUsV0FBVyxFQUFFLFNBQVMsR0FBRyxFQUFFLEdBQ3BDLEdBQUcsT0FBTyxDQUFDO1FBQ1osSUFBSSxFQUFFLE1BQU0sRUFBRSxHQUFHLE9BQU8sQ0FBQztRQUN6QixJQUFJLEtBQUssQ0FBQztRQUVWLGlCQUFpQjtRQUNqQixJQUFJLENBQUMsTUFBTSxFQUFFO1lBQUUsTUFBTSxHQUFHLGNBQWMsQ0FBQyxhQUFhLElBQUksS0FBSyxDQUFDO1NBQUU7UUFFaEUsSUFBSSxjQUFjLENBQUMsTUFBTSxJQUFJLGNBQWMsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLEVBQUU7WUFDN0QsS0FBSyxHQUFHLGNBQWMsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUM7U0FDMUM7UUFFRCx1QkFBdUI7UUFDdkIsSUFBSSxDQUFDLEtBQUssRUFBRTtZQUNWLE1BQU0sS0FBSyxDQUFDLGtDQUFrQyxTQUFTLEdBQUcsQ0FBQyxDQUFDO1NBQzdEO1FBQ0QsSUFBSSxNQUFNLEtBQUssTUFBTSxJQUFJLE1BQU0sS0FBSyxLQUFLLEVBQUU7WUFDekMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUNwQyxjQUFjLENBQUMsT0FBTyxHQUFHLEtBQUssR0FBRyxTQUFTLEVBQUUsTUFBTSxFQUFFLFdBQVcsQ0FDaEUsQ0FBQztTQUNIO1FBQUMsSUFBSSxNQUFNLEtBQUssS0FBSyxJQUFJLE1BQU0sS0FBSyxRQUFRLEVBQUU7WUFDN0MsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUNwQyxjQUFjLENBQUMsT0FBTyxHQUFHLEtBQUssR0FBRyxTQUFTLEVBQUUsV0FBVyxDQUN4RCxDQUFDO1NBQ0g7UUFDRCxNQUFNLEtBQUssQ0FBQyxlQUFlLE1BQU0sZ0JBQWdCLENBQUMsQ0FBQztJQUNyRCxDQUFDOzt5R0FqQ1UsWUFBWTs2R0FBWixZQUFZLGNBRlgsTUFBTTsyRkFFUCxZQUFZO2tCQUh4QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBDb21tdW5pY2F0aW9uUHJvdmlkZXIgfSBmcm9tICcuL2NvbW11bmljYXRpb24tcHJvdmlkZXIuaW50ZXJmYWNlJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIFJlc3RQcm92aWRlciBpbXBsZW1lbnRzIENvbW11bmljYXRpb25Qcm92aWRlciB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgaHR0cDogSHR0cENsaWVudCxcbiAgKSB7fVxuXG4gIHJlcXVlc3QkKHByb3ZpZGVyQ29uZmlnLCByZXF1ZXN0SWQsIG9wdGlvbnM6IGFueSA9IHt9KSB7XG4gICAgY29uc3Qge1xuICAgICAgcGFyYW1zLCBodHRwT3B0aW9ucywgdXJsUGFyYW1zID0gJycsXG4gICAgfSA9IG9wdGlvbnM7XG4gICAgbGV0IHsgbWV0aG9kIH0gPSBvcHRpb25zO1xuICAgIGxldCBwb2ludDtcblxuICAgIC8vIGRlZmF1bHQgbWV0aG9kXG4gICAgaWYgKCFtZXRob2QpIHsgbWV0aG9kID0gcHJvdmlkZXJDb25maWcuZGVmYXVsdE1ldGhvZCB8fCAnR0VUJzsgfVxuXG4gICAgaWYgKHByb3ZpZGVyQ29uZmlnLmNvbmZpZyAmJiBwcm92aWRlckNvbmZpZy5jb25maWdbcmVxdWVzdElkXSkge1xuICAgICAgcG9pbnQgPSBwcm92aWRlckNvbmZpZy5jb25maWdbcmVxdWVzdElkXTtcbiAgICB9XG5cbiAgICAvLyBjb25maWcgcG9pbnQgY29udHJvbFxuICAgIGlmICghcG9pbnQpIHtcbiAgICAgIHRocm93IEVycm9yKGBObyBjb25maWcgZm91bmQgZm9yIHJlcXVlc3RJZCBcIiR7cmVxdWVzdElkfVwiYCk7XG4gICAgfVxuICAgIGlmIChtZXRob2QgPT09ICdQT1NUJyB8fCBtZXRob2QgPT09ICdQVVQnKSB7XG4gICAgICByZXR1cm4gdGhpcy5odHRwW21ldGhvZC50b0xvd2VyQ2FzZSgpXShcbiAgICAgICAgcHJvdmlkZXJDb25maWcuYmFzZVVybCArIHBvaW50ICsgdXJsUGFyYW1zLCBwYXJhbXMsIGh0dHBPcHRpb25zLFxuICAgICAgKTtcbiAgICB9IGlmIChtZXRob2QgPT09ICdHRVQnIHx8IG1ldGhvZCA9PT0gJ0RFTEVURScpIHtcbiAgICAgIHJldHVybiB0aGlzLmh0dHBbbWV0aG9kLnRvTG93ZXJDYXNlKCldKFxuICAgICAgICBwcm92aWRlckNvbmZpZy5iYXNlVXJsICsgcG9pbnQgKyB1cmxQYXJhbXMsIGh0dHBPcHRpb25zLFxuICAgICAgKTtcbiAgICB9XG4gICAgdGhyb3cgRXJyb3IoYFJlc3QgbWV0aG9kICR7bWV0aG9kfSBub3Qgc3VwcG9ydGVkYCk7XG4gIH1cbn1cbiJdfQ==
|