@igo2/context 1.15.4 → 16.0.0-rc.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/context-theme.scss +5 -0
- package/{esm2020 → esm2022}/igo2-context.mjs +4 -4
- package/esm2022/lib/context-import-export/context-import-export/context-import-export.component.mjs +258 -0
- package/esm2022/lib/context-import-export/context-import-export.module.mjs +81 -0
- package/{esm2020 → esm2022}/lib/context-import-export/index.mjs +3 -3
- package/{esm2020 → esm2022}/lib/context-import-export/shared/context-export.errors.mjs +15 -15
- package/{esm2020 → esm2022}/lib/context-import-export/shared/context-export.interface.mjs +2 -2
- package/esm2022/lib/context-import-export/shared/context-export.service.mjs +38 -0
- package/esm2022/lib/context-import-export/shared/context-export.utils.mjs +15 -0
- package/{esm2020 → esm2022}/lib/context-import-export/shared/context-import.errors.mjs +33 -33
- package/esm2022/lib/context-import-export/shared/context-import.service.mjs +82 -0
- package/esm2022/lib/context-import-export/shared/context-import.utils.mjs +148 -0
- package/{esm2020 → esm2022}/lib/context-import-export/shared/index.mjs +8 -8
- package/esm2022/lib/context-manager/context-edit/context-edit-binding.directive.mjs +57 -0
- package/esm2022/lib/context-manager/context-edit/context-edit.component.mjs +48 -0
- package/{esm2020 → esm2022}/lib/context-manager/context-edit/index.mjs +3 -3
- package/esm2022/lib/context-manager/context-form/context-form.component.mjs +151 -0
- package/{esm2020 → esm2022}/lib/context-manager/context-form/index.mjs +2 -2
- package/esm2022/lib/context-manager/context-item/context-item.component.mjs +251 -0
- package/{esm2020 → esm2022}/lib/context-manager/context-item/index.mjs +2 -2
- package/esm2022/lib/context-manager/context-list/context-list-binding.directive.mjs +259 -0
- package/esm2022/lib/context-manager/context-list/context-list.component.mjs +616 -0
- package/{esm2020 → esm2022}/lib/context-manager/context-list/context-list.enum.mjs +7 -7
- package/{esm2020 → esm2022}/lib/context-manager/context-list/index.mjs +3 -3
- package/esm2022/lib/context-manager/context-manager.module.mjs +157 -0
- package/esm2022/lib/context-manager/context-permissions/context-permissions-binding.directive.mjs +108 -0
- package/esm2022/lib/context-manager/context-permissions/context-permissions.component.mjs +331 -0
- package/{esm2020 → esm2022}/lib/context-manager/context-permissions/index.mjs +3 -3
- package/{esm2020 → esm2022}/lib/context-manager/index.mjs +7 -7
- package/{esm2020 → esm2022}/lib/context-manager/shared/context.enum.mjs +13 -13
- package/esm2022/lib/context-manager/shared/context.interface.mjs +2 -0
- package/esm2022/lib/context-manager/shared/context.service.mjs +662 -0
- package/{esm2020 → esm2022}/lib/context-manager/shared/index.mjs +6 -6
- package/esm2022/lib/context-manager/shared/layer-context.directive.mjs +172 -0
- package/esm2022/lib/context-manager/shared/map-context.directive.mjs +79 -0
- package/esm2022/lib/context-map-button/bookmark-button/bookmark-button.component.mjs +74 -0
- package/esm2022/lib/context-map-button/bookmark-button/bookmark-dialog.component.mjs +53 -0
- package/{esm2020 → esm2022}/lib/context-map-button/bookmark-button/index.mjs +3 -3
- package/esm2022/lib/context-map-button/context-map-button.module.mjs +104 -0
- package/{esm2020 → esm2022}/lib/context-map-button/index.mjs +4 -4
- package/{esm2020 → esm2022}/lib/context-map-button/poi-button/index.mjs +4 -4
- package/esm2022/lib/context-map-button/poi-button/poi-button.component.mjs +179 -0
- package/esm2022/lib/context-map-button/poi-button/poi-dialog.component.mjs +53 -0
- package/{esm2020 → esm2022}/lib/context-map-button/poi-button/shared/index.mjs +3 -3
- package/{esm2020 → esm2022}/lib/context-map-button/poi-button/shared/poi.interface.mjs +2 -2
- package/esm2022/lib/context-map-button/poi-button/shared/poi.service.mjs +38 -0
- package/{esm2020 → esm2022}/lib/context-map-button/user-button/index.mjs +3 -3
- package/{esm2020 → esm2022}/lib/context-map-button/user-button/user-button.animation.mjs +17 -17
- package/esm2022/lib/context-map-button/user-button/user-button.component.mjs +112 -0
- package/esm2022/lib/context-map-button/user-button/user-dialog.component.mjs +74 -0
- package/{esm2020 → esm2022}/lib/context.module.mjs +45 -45
- package/{esm2020 → esm2022}/lib/share-map/index.mjs +5 -5
- package/esm2022/lib/share-map/share-map/share-map-api.component.mjs +186 -0
- package/esm2022/lib/share-map/share-map/share-map-url.component.mjs +251 -0
- package/esm2022/lib/share-map/share-map/share-map.component.mjs +60 -0
- package/{esm2020 → esm2022}/lib/share-map/share-map.module.mjs +67 -67
- package/{esm2020 → esm2022}/lib/share-map/shared/index.mjs +2 -2
- package/esm2022/lib/share-map/shared/share-map.service.mjs +221 -0
- package/{esm2020 → esm2022}/lib/sidenav/index.mjs +2 -2
- package/esm2022/lib/sidenav/sidenav.component.mjs +178 -0
- package/{esm2020 → esm2022}/lib/sidenav/sidenav.module.mjs +61 -61
- package/{esm2020 → esm2022}/public_api.mjs +15 -15
- package/{fesm2020 → fesm2022}/igo2-context.mjs +4838 -4608
- package/fesm2022/igo2-context.mjs.map +1 -0
- package/index.d.ts +5 -5
- package/lib/context-import-export/context-import-export/context-import-export.component.d.ts +46 -44
- package/lib/context-import-export/context-import-export.module.d.ts +23 -23
- package/lib/context-import-export/index.d.ts +2 -2
- package/lib/context-import-export/shared/context-export.errors.d.ts +8 -8
- package/lib/context-import-export/shared/context-export.interface.d.ts +5 -5
- package/lib/context-import-export/shared/context-export.service.d.ts +10 -10
- package/lib/context-import-export/shared/context-export.utils.d.ts +4 -4
- package/lib/context-import-export/shared/context-import.errors.d.ts +17 -17
- package/lib/context-import-export/shared/context-import.service.d.ts +18 -18
- package/lib/context-import-export/shared/context-import.utils.d.ts +15 -17
- package/lib/context-import-export/shared/index.d.ts +7 -7
- package/lib/context-manager/context-edit/context-edit-binding.directive.d.ts +20 -20
- package/lib/context-manager/context-edit/context-edit.component.d.ts +14 -14
- package/lib/context-manager/context-edit/index.d.ts +2 -2
- package/lib/context-manager/context-form/context-form.component.d.ts +30 -30
- package/lib/context-manager/context-form/index.d.ts +1 -1
- package/lib/context-manager/context-item/context-item.component.d.ts +32 -32
- package/lib/context-manager/context-item/context-item.theming.scss +21 -0
- package/lib/context-manager/context-item/index.d.ts +1 -1
- package/lib/context-manager/context-list/context-list-binding.directive.d.ts +46 -46
- package/lib/context-manager/context-list/context-list.component.d.ts +93 -93
- package/lib/context-manager/context-list/context-list.enum.d.ts +5 -5
- package/lib/context-manager/context-list/context-list.theming.scss +23 -0
- package/lib/context-manager/context-list/index.d.ts +2 -2
- package/lib/context-manager/context-manager.module.d.ts +37 -37
- package/lib/context-manager/context-manager.theming.scss +7 -0
- package/lib/context-manager/context-permissions/context-permissions-binding.directive.d.ts +23 -23
- package/lib/context-manager/context-permissions/context-permissions.component.d.ts +40 -40
- package/lib/context-manager/context-permissions/index.d.ts +2 -2
- package/lib/context-manager/index.d.ts +6 -6
- package/lib/context-manager/shared/context.enum.d.ts +10 -10
- package/lib/context-manager/shared/context.interface.d.ts +81 -75
- package/lib/context-manager/shared/context.service.d.ts +76 -75
- package/lib/context-manager/shared/index.d.ts +5 -5
- package/lib/context-manager/shared/layer-context.directive.d.ts +28 -28
- package/lib/context-manager/shared/map-context.directive.d.ts +19 -19
- package/lib/context-map-button/bookmark-button/bookmark-button.component.d.ts +20 -20
- package/lib/context-map-button/bookmark-button/bookmark-dialog.component.d.ts +9 -9
- package/lib/context-map-button/bookmark-button/index.d.ts +2 -2
- package/lib/context-map-button/context-map-button.module.d.ts +27 -27
- package/lib/context-map-button/index.d.ts +3 -3
- package/lib/context-map-button/poi-button/index.d.ts +3 -3
- package/lib/context-map-button/poi-button/poi-button.component.d.ts +34 -34
- package/lib/context-map-button/poi-button/poi-dialog.component.d.ts +9 -9
- package/lib/context-map-button/poi-button/shared/index.d.ts +2 -2
- package/lib/context-map-button/poi-button/shared/poi.interface.d.ts +7 -7
- package/lib/context-map-button/poi-button/shared/poi.service.d.ts +16 -16
- package/lib/context-map-button/user-button/index.d.ts +2 -2
- package/lib/context-map-button/user-button/user-button.animation.d.ts +2 -2
- package/lib/context-map-button/user-button/user-button.component.d.ts +25 -25
- package/lib/context-map-button/user-button/user-dialog.component.d.ts +15 -15
- package/lib/context.module.d.ts +16 -16
- package/lib/share-map/index.d.ts +4 -4
- package/lib/share-map/share-map/share-map-api.component.d.ts +27 -27
- package/lib/share-map/share-map/share-map-url.component.d.ts +26 -26
- package/lib/share-map/share-map/share-map.component.d.ts +11 -11
- package/lib/share-map/share-map.module.d.ts +21 -21
- package/lib/share-map/shared/index.d.ts +1 -1
- package/lib/share-map/shared/share-map.service.d.ts +17 -17
- package/lib/sidenav/index.d.ts +1 -1
- package/lib/sidenav/sidenav.component.d.ts +35 -35
- package/lib/sidenav/sidenav.module.d.ts +18 -18
- package/locale/en.context.json +199 -0
- package/locale/fr.context.json +199 -0
- package/package.json +20 -26
- package/public_api.d.ts +11 -11
- package/esm2020/lib/context-import-export/context-import-export/context-import-export.component.mjs +0 -228
- package/esm2020/lib/context-import-export/context-import-export.module.mjs +0 -85
- package/esm2020/lib/context-import-export/shared/context-export.service.mjs +0 -38
- package/esm2020/lib/context-import-export/shared/context-export.utils.mjs +0 -15
- package/esm2020/lib/context-import-export/shared/context-import.service.mjs +0 -79
- package/esm2020/lib/context-import-export/shared/context-import.utils.mjs +0 -133
- package/esm2020/lib/context-manager/context-edit/context-edit-binding.directive.mjs +0 -50
- package/esm2020/lib/context-manager/context-edit/context-edit.component.mjs +0 -46
- package/esm2020/lib/context-manager/context-form/context-form.component.mjs +0 -143
- package/esm2020/lib/context-manager/context-item/context-item.component.mjs +0 -245
- package/esm2020/lib/context-manager/context-list/context-list-binding.directive.mjs +0 -240
- package/esm2020/lib/context-manager/context-list/context-list.component.mjs +0 -592
- package/esm2020/lib/context-manager/context-manager.module.mjs +0 -162
- package/esm2020/lib/context-manager/context-permissions/context-permissions-binding.directive.mjs +0 -99
- package/esm2020/lib/context-manager/context-permissions/context-permissions.component.mjs +0 -306
- package/esm2020/lib/context-manager/shared/context.interface.mjs +0 -2
- package/esm2020/lib/context-manager/shared/context.service.mjs +0 -632
- package/esm2020/lib/context-manager/shared/layer-context.directive.mjs +0 -162
- package/esm2020/lib/context-manager/shared/map-context.directive.mjs +0 -70
- package/esm2020/lib/context-map-button/bookmark-button/bookmark-button.component.mjs +0 -66
- package/esm2020/lib/context-map-button/bookmark-button/bookmark-dialog.component.mjs +0 -50
- package/esm2020/lib/context-map-button/context-map-button.module.mjs +0 -96
- package/esm2020/lib/context-map-button/poi-button/poi-button.component.mjs +0 -161
- package/esm2020/lib/context-map-button/poi-button/poi-dialog.component.mjs +0 -50
- package/esm2020/lib/context-map-button/poi-button/shared/poi.service.mjs +0 -33
- package/esm2020/lib/context-map-button/user-button/user-button.component.mjs +0 -104
- package/esm2020/lib/context-map-button/user-button/user-dialog.component.mjs +0 -66
- package/esm2020/lib/share-map/share-map/share-map-api.component.mjs +0 -170
- package/esm2020/lib/share-map/share-map/share-map-url.component.mjs +0 -243
- package/esm2020/lib/share-map/share-map/share-map.component.mjs +0 -57
- package/esm2020/lib/share-map/shared/share-map.service.mjs +0 -210
- package/esm2020/lib/sidenav/sidenav.component.mjs +0 -170
- package/fesm2015/igo2-context.mjs +0 -5094
- package/fesm2015/igo2-context.mjs.map +0 -1
- package/fesm2020/igo2-context.mjs.map +0 -1
- package/ngcc.config.js +0 -3
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import { Component, Input } from '@angular/core';
|
|
2
|
+
import { ConfigService } from '@igo2/core';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "@igo2/core";
|
|
5
|
+
import * as i2 from "@angular/common";
|
|
6
|
+
import * as i3 from "@angular/material/tabs";
|
|
7
|
+
import * as i4 from "./share-map-url.component";
|
|
8
|
+
import * as i5 from "./share-map-api.component";
|
|
9
|
+
import * as i6 from "@ngx-translate/core";
|
|
10
|
+
function ShareMapComponent_mat_tab_group_0_Template(rf, ctx) { if (rf & 1) {
|
|
11
|
+
i0.ɵɵelementStart(0, "mat-tab-group")(1, "mat-tab", 2);
|
|
12
|
+
i0.ɵɵpipe(2, "translate");
|
|
13
|
+
i0.ɵɵelement(3, "igo-share-map-api", 3);
|
|
14
|
+
i0.ɵɵelementEnd();
|
|
15
|
+
i0.ɵɵelementStart(4, "mat-tab", 2);
|
|
16
|
+
i0.ɵɵpipe(5, "translate");
|
|
17
|
+
i0.ɵɵelement(6, "igo-share-map-url", 3);
|
|
18
|
+
i0.ɵɵelementEnd()();
|
|
19
|
+
} if (rf & 2) {
|
|
20
|
+
const ctx_r0 = i0.ɵɵnextContext();
|
|
21
|
+
i0.ɵɵadvance(1);
|
|
22
|
+
i0.ɵɵproperty("label", i0.ɵɵpipeBind1(2, 4, "igo.context.shareMap.shareWithApi"));
|
|
23
|
+
i0.ɵɵadvance(2);
|
|
24
|
+
i0.ɵɵproperty("map", ctx_r0.map);
|
|
25
|
+
i0.ɵɵadvance(1);
|
|
26
|
+
i0.ɵɵproperty("label", i0.ɵɵpipeBind1(5, 6, "igo.context.shareMap.shareWithUrl"));
|
|
27
|
+
i0.ɵɵadvance(2);
|
|
28
|
+
i0.ɵɵproperty("map", ctx_r0.map);
|
|
29
|
+
} }
|
|
30
|
+
function ShareMapComponent_igo_share_map_url_1_Template(rf, ctx) { if (rf & 1) {
|
|
31
|
+
i0.ɵɵelement(0, "igo-share-map-url", 3);
|
|
32
|
+
} if (rf & 2) {
|
|
33
|
+
const ctx_r1 = i0.ɵɵnextContext();
|
|
34
|
+
i0.ɵɵproperty("map", ctx_r1.map);
|
|
35
|
+
} }
|
|
36
|
+
export class ShareMapComponent {
|
|
37
|
+
config;
|
|
38
|
+
map;
|
|
39
|
+
hasApi = false;
|
|
40
|
+
constructor(config) {
|
|
41
|
+
this.config = config;
|
|
42
|
+
this.hasApi = this.config.getConfig('context.url') ? true : false;
|
|
43
|
+
}
|
|
44
|
+
static ɵfac = function ShareMapComponent_Factory(t) { return new (t || ShareMapComponent)(i0.ɵɵdirectiveInject(i1.ConfigService)); };
|
|
45
|
+
static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: ShareMapComponent, selectors: [["igo-share-map"]], inputs: { map: "map" }, decls: 2, vars: 2, consts: [[4, "ngIf"], [3, "map", 4, "ngIf"], [3, "label"], [3, "map"]], template: function ShareMapComponent_Template(rf, ctx) { if (rf & 1) {
|
|
46
|
+
i0.ɵɵtemplate(0, ShareMapComponent_mat_tab_group_0_Template, 7, 8, "mat-tab-group", 0);
|
|
47
|
+
i0.ɵɵtemplate(1, ShareMapComponent_igo_share_map_url_1_Template, 1, 1, "igo-share-map-url", 1);
|
|
48
|
+
} if (rf & 2) {
|
|
49
|
+
i0.ɵɵproperty("ngIf", ctx.hasApi);
|
|
50
|
+
i0.ɵɵadvance(1);
|
|
51
|
+
i0.ɵɵproperty("ngIf", !ctx.hasApi);
|
|
52
|
+
} }, dependencies: [i2.NgIf, i3.MatTab, i3.MatTabGroup, i4.ShareMapUrlComponent, i5.ShareMapApiComponent, i6.TranslatePipe] });
|
|
53
|
+
}
|
|
54
|
+
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ShareMapComponent, [{
|
|
55
|
+
type: Component,
|
|
56
|
+
args: [{ selector: 'igo-share-map', template: "<mat-tab-group *ngIf=\"hasApi\">\r\n <mat-tab [label]=\"'igo.context.shareMap.shareWithApi' | translate\">\r\n <igo-share-map-api [map]=\"map\"></igo-share-map-api>\r\n </mat-tab>\r\n <mat-tab [label]=\"'igo.context.shareMap.shareWithUrl' | translate\">\r\n <igo-share-map-url [map]=\"map\"></igo-share-map-url>\r\n </mat-tab>\r\n</mat-tab-group>\r\n\r\n<igo-share-map-url *ngIf=\"!hasApi\" [map]=\"map\"></igo-share-map-url>\r\n" }]
|
|
57
|
+
}], function () { return [{ type: i1.ConfigService }]; }, { map: [{
|
|
58
|
+
type: Input
|
|
59
|
+
}] }); })();
|
|
60
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hhcmUtbWFwLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbnRleHQvc3JjL2xpYi9zaGFyZS1tYXAvc2hhcmUtbWFwL3NoYXJlLW1hcC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb250ZXh0L3NyYy9saWIvc2hhcmUtbWFwL3NoYXJlLW1hcC9zaGFyZS1tYXAuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFakQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLFlBQVksQ0FBQzs7Ozs7Ozs7O0lDRjNDLHFDQUE4QixpQkFBQTs7SUFFMUIsdUNBQW1EO0lBQ3JELGlCQUFVO0lBQ1Ysa0NBQW1FOztJQUNqRSx1Q0FBbUQ7SUFDckQsaUJBQVUsRUFBQTs7O0lBTEQsZUFBeUQ7SUFBekQsaUZBQXlEO0lBQzdDLGVBQVc7SUFBWCxnQ0FBVztJQUV2QixlQUF5RDtJQUF6RCxpRkFBeUQ7SUFDN0MsZUFBVztJQUFYLGdDQUFXOzs7SUFJbEMsdUNBQW1FOzs7SUFBaEMsZ0NBQVc7O0FEQzlDLE1BQU0sT0FBTyxpQkFBaUI7SUFLUjtJQUpYLEdBQUcsQ0FBUztJQUVkLE1BQU0sR0FBRyxLQUFLLENBQUM7SUFFdEIsWUFBb0IsTUFBcUI7UUFBckIsV0FBTSxHQUFOLE1BQU0sQ0FBZTtRQUN2QyxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztJQUNwRSxDQUFDOzJFQVBVLGlCQUFpQjs2REFBakIsaUJBQWlCO1lDVjlCLHNGQU9nQjtZQUVoQiw4RkFBbUU7O1lBVG5ELGlDQUFZO1lBU1IsZUFBYTtZQUFiLGtDQUFhOzs7dUZEQ3BCLGlCQUFpQjtjQUw3QixTQUFTOzJCQUNFLGVBQWU7Z0VBS2hCLEdBQUc7a0JBQVgsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbmltcG9ydCB7IENvbmZpZ1NlcnZpY2UgfSBmcm9tICdAaWdvMi9jb3JlJztcclxuaW1wb3J0IHR5cGUgeyBJZ29NYXAgfSBmcm9tICdAaWdvMi9nZW8nO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdpZ28tc2hhcmUtbWFwJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vc2hhcmUtbWFwLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9zaGFyZS1tYXAuY29tcG9uZW50LnNjc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgU2hhcmVNYXBDb21wb25lbnQge1xyXG4gIEBJbnB1dCgpIG1hcDogSWdvTWFwO1xyXG5cclxuICBwdWJsaWMgaGFzQXBpID0gZmFsc2U7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgY29uZmlnOiBDb25maWdTZXJ2aWNlKSB7XHJcbiAgICB0aGlzLmhhc0FwaSA9IHRoaXMuY29uZmlnLmdldENvbmZpZygnY29udGV4dC51cmwnKSA/IHRydWUgOiBmYWxzZTtcclxuICB9XHJcbn1cclxuIiwiPG1hdC10YWItZ3JvdXAgKm5nSWY9XCJoYXNBcGlcIj5cclxuICA8bWF0LXRhYiBbbGFiZWxdPVwiJ2lnby5jb250ZXh0LnNoYXJlTWFwLnNoYXJlV2l0aEFwaScgfCB0cmFuc2xhdGVcIj5cclxuICAgIDxpZ28tc2hhcmUtbWFwLWFwaSBbbWFwXT1cIm1hcFwiPjwvaWdvLXNoYXJlLW1hcC1hcGk+XHJcbiAgPC9tYXQtdGFiPlxyXG4gIDxtYXQtdGFiIFtsYWJlbF09XCInaWdvLmNvbnRleHQuc2hhcmVNYXAuc2hhcmVXaXRoVXJsJyB8IHRyYW5zbGF0ZVwiPlxyXG4gICAgPGlnby1zaGFyZS1tYXAtdXJsIFttYXBdPVwibWFwXCI+PC9pZ28tc2hhcmUtbWFwLXVybD5cclxuICA8L21hdC10YWI+XHJcbjwvbWF0LXRhYi1ncm91cD5cclxuXHJcbjxpZ28tc2hhcmUtbWFwLXVybCAqbmdJZj1cIiFoYXNBcGlcIiBbbWFwXT1cIm1hcFwiPjwvaWdvLXNoYXJlLW1hcC11cmw+XHJcbiJdfQ==
|
|
@@ -1,67 +1,67 @@
|
|
|
1
|
-
import { NgModule } from '@angular/core';
|
|
2
|
-
import { CommonModule } from '@angular/common';
|
|
3
|
-
import { FormsModule, ReactiveFormsModule } from '@angular/forms';
|
|
4
|
-
import { MatButtonModule } from '@angular/material/button';
|
|
5
|
-
import { MatFormFieldModule } from '@angular/material/form-field';
|
|
6
|
-
import { MatIconModule } from '@angular/material/icon';
|
|
7
|
-
import { MatInputModule } from '@angular/material/input';
|
|
8
|
-
import { MatTooltipModule } from '@angular/material/tooltip';
|
|
9
|
-
import { MatTabsModule } from '@angular/material/tabs';
|
|
10
|
-
import { IgoLanguageModule } from '@igo2/core';
|
|
11
|
-
import { ShareMapComponent } from './share-map/share-map.component';
|
|
12
|
-
import { ShareMapUrlComponent } from './share-map/share-map-url.component';
|
|
13
|
-
import { ShareMapApiComponent } from './share-map/share-map-api.component';
|
|
14
|
-
import { IgoCustomHtmlModule } from '@igo2/common';
|
|
15
|
-
import * as i0 from "@angular/core";
|
|
16
|
-
export class IgoShareMapModule {
|
|
17
|
-
static forRoot() {
|
|
18
|
-
return {
|
|
19
|
-
ngModule: IgoShareMapModule
|
|
20
|
-
};
|
|
21
|
-
}
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(IgoShareMapModule, [{
|
|
37
|
-
type: NgModule,
|
|
38
|
-
args: [{
|
|
39
|
-
imports: [
|
|
40
|
-
CommonModule,
|
|
41
|
-
FormsModule,
|
|
42
|
-
ReactiveFormsModule,
|
|
43
|
-
MatIconModule,
|
|
44
|
-
MatTooltipModule,
|
|
45
|
-
MatTabsModule,
|
|
46
|
-
MatFormFieldModule,
|
|
47
|
-
MatInputModule,
|
|
48
|
-
MatButtonModule,
|
|
49
|
-
IgoLanguageModule,
|
|
50
|
-
IgoCustomHtmlModule
|
|
51
|
-
],
|
|
52
|
-
exports: [ShareMapComponent, ShareMapUrlComponent, ShareMapApiComponent],
|
|
53
|
-
declarations: [ShareMapComponent, ShareMapUrlComponent, ShareMapApiComponent]
|
|
54
|
-
}]
|
|
55
|
-
}], null, null); })();
|
|
56
|
-
(function () { (typeof ngJitMode === "undefined" || ngJitMode) && i0.ɵɵsetNgModuleScope(IgoShareMapModule, { declarations: [ShareMapComponent, ShareMapUrlComponent, ShareMapApiComponent], imports: [CommonModule,
|
|
57
|
-
FormsModule,
|
|
58
|
-
ReactiveFormsModule,
|
|
59
|
-
MatIconModule,
|
|
60
|
-
MatTooltipModule,
|
|
61
|
-
MatTabsModule,
|
|
62
|
-
MatFormFieldModule,
|
|
63
|
-
MatInputModule,
|
|
64
|
-
MatButtonModule,
|
|
65
|
-
IgoLanguageModule,
|
|
66
|
-
IgoCustomHtmlModule], exports: [ShareMapComponent, ShareMapUrlComponent, ShareMapApiComponent] }); })();
|
|
67
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
import { NgModule } from '@angular/core';
|
|
2
|
+
import { CommonModule } from '@angular/common';
|
|
3
|
+
import { FormsModule, ReactiveFormsModule } from '@angular/forms';
|
|
4
|
+
import { MatButtonModule } from '@angular/material/button';
|
|
5
|
+
import { MatFormFieldModule } from '@angular/material/form-field';
|
|
6
|
+
import { MatIconModule } from '@angular/material/icon';
|
|
7
|
+
import { MatInputModule } from '@angular/material/input';
|
|
8
|
+
import { MatTooltipModule } from '@angular/material/tooltip';
|
|
9
|
+
import { MatTabsModule } from '@angular/material/tabs';
|
|
10
|
+
import { IgoLanguageModule } from '@igo2/core';
|
|
11
|
+
import { ShareMapComponent } from './share-map/share-map.component';
|
|
12
|
+
import { ShareMapUrlComponent } from './share-map/share-map-url.component';
|
|
13
|
+
import { ShareMapApiComponent } from './share-map/share-map-api.component';
|
|
14
|
+
import { IgoCustomHtmlModule } from '@igo2/common';
|
|
15
|
+
import * as i0 from "@angular/core";
|
|
16
|
+
export class IgoShareMapModule {
|
|
17
|
+
static forRoot() {
|
|
18
|
+
return {
|
|
19
|
+
ngModule: IgoShareMapModule
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
static ɵfac = function IgoShareMapModule_Factory(t) { return new (t || IgoShareMapModule)(); };
|
|
23
|
+
static ɵmod = /*@__PURE__*/ i0.ɵɵdefineNgModule({ type: IgoShareMapModule });
|
|
24
|
+
static ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ imports: [CommonModule,
|
|
25
|
+
FormsModule,
|
|
26
|
+
ReactiveFormsModule,
|
|
27
|
+
MatIconModule,
|
|
28
|
+
MatTooltipModule,
|
|
29
|
+
MatTabsModule,
|
|
30
|
+
MatFormFieldModule,
|
|
31
|
+
MatInputModule,
|
|
32
|
+
MatButtonModule,
|
|
33
|
+
IgoLanguageModule,
|
|
34
|
+
IgoCustomHtmlModule] });
|
|
35
|
+
}
|
|
36
|
+
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(IgoShareMapModule, [{
|
|
37
|
+
type: NgModule,
|
|
38
|
+
args: [{
|
|
39
|
+
imports: [
|
|
40
|
+
CommonModule,
|
|
41
|
+
FormsModule,
|
|
42
|
+
ReactiveFormsModule,
|
|
43
|
+
MatIconModule,
|
|
44
|
+
MatTooltipModule,
|
|
45
|
+
MatTabsModule,
|
|
46
|
+
MatFormFieldModule,
|
|
47
|
+
MatInputModule,
|
|
48
|
+
MatButtonModule,
|
|
49
|
+
IgoLanguageModule,
|
|
50
|
+
IgoCustomHtmlModule
|
|
51
|
+
],
|
|
52
|
+
exports: [ShareMapComponent, ShareMapUrlComponent, ShareMapApiComponent],
|
|
53
|
+
declarations: [ShareMapComponent, ShareMapUrlComponent, ShareMapApiComponent]
|
|
54
|
+
}]
|
|
55
|
+
}], null, null); })();
|
|
56
|
+
(function () { (typeof ngJitMode === "undefined" || ngJitMode) && i0.ɵɵsetNgModuleScope(IgoShareMapModule, { declarations: [ShareMapComponent, ShareMapUrlComponent, ShareMapApiComponent], imports: [CommonModule,
|
|
57
|
+
FormsModule,
|
|
58
|
+
ReactiveFormsModule,
|
|
59
|
+
MatIconModule,
|
|
60
|
+
MatTooltipModule,
|
|
61
|
+
MatTabsModule,
|
|
62
|
+
MatFormFieldModule,
|
|
63
|
+
MatInputModule,
|
|
64
|
+
MatButtonModule,
|
|
65
|
+
IgoLanguageModule,
|
|
66
|
+
IgoCustomHtmlModule], exports: [ShareMapComponent, ShareMapUrlComponent, ShareMapApiComponent] }); })();
|
|
67
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hhcmUtbWFwLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbnRleHQvc3JjL2xpYi9zaGFyZS1tYXAvc2hhcmUtbWFwLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUF1QixNQUFNLGVBQWUsQ0FBQztBQUM5RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFdBQVcsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzdELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUV2RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFFL0MsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDcEUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDM0UsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDM0UsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sY0FBYyxDQUFDOztBQW1CbkQsTUFBTSxPQUFPLGlCQUFpQjtJQUM1QixNQUFNLENBQUMsT0FBTztRQUNaLE9BQU87WUFDTCxRQUFRLEVBQUUsaUJBQWlCO1NBQzVCLENBQUM7SUFDSixDQUFDOzJFQUxVLGlCQUFpQjs0REFBakIsaUJBQWlCO2dFQWYxQixZQUFZO1lBQ1osV0FBVztZQUNYLG1CQUFtQjtZQUNuQixhQUFhO1lBQ2IsZ0JBQWdCO1lBQ2hCLGFBQWE7WUFDYixrQkFBa0I7WUFDbEIsY0FBYztZQUNkLGVBQWU7WUFDZixpQkFBaUI7WUFDakIsbUJBQW1COzt1RkFLVixpQkFBaUI7Y0FqQjdCLFFBQVE7ZUFBQztnQkFDUixPQUFPLEVBQUU7b0JBQ1AsWUFBWTtvQkFDWixXQUFXO29CQUNYLG1CQUFtQjtvQkFDbkIsYUFBYTtvQkFDYixnQkFBZ0I7b0JBQ2hCLGFBQWE7b0JBQ2Isa0JBQWtCO29CQUNsQixjQUFjO29CQUNkLGVBQWU7b0JBQ2YsaUJBQWlCO29CQUNqQixtQkFBbUI7aUJBQ3BCO2dCQUNELE9BQU8sRUFBRSxDQUFDLGlCQUFpQixFQUFFLG9CQUFvQixFQUFFLG9CQUFvQixDQUFDO2dCQUN4RSxZQUFZLEVBQUUsQ0FBQyxpQkFBaUIsRUFBRSxvQkFBb0IsRUFBRSxvQkFBb0IsQ0FBQzthQUM5RTs7d0ZBQ1ksaUJBQWlCLG1CQUZiLGlCQUFpQixFQUFFLG9CQUFvQixFQUFFLG9CQUFvQixhQWIxRSxZQUFZO1FBQ1osV0FBVztRQUNYLG1CQUFtQjtRQUNuQixhQUFhO1FBQ2IsZ0JBQWdCO1FBQ2hCLGFBQWE7UUFDYixrQkFBa0I7UUFDbEIsY0FBYztRQUNkLGVBQWU7UUFDZixpQkFBaUI7UUFDakIsbUJBQW1CLGFBRVgsaUJBQWlCLEVBQUUsb0JBQW9CLEVBQUUsb0JBQW9CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUsIE1vZHVsZVdpdGhQcm92aWRlcnMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IE1hdEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XG5pbXBvcnQgeyBNYXRGb3JtRmllbGRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9mb3JtLWZpZWxkJztcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcbmltcG9ydCB7IE1hdElucHV0TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaW5wdXQnO1xuaW1wb3J0IHsgTWF0VG9vbHRpcE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3Rvb2x0aXAnO1xuaW1wb3J0IHsgTWF0VGFic01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3RhYnMnO1xuXG5pbXBvcnQgeyBJZ29MYW5ndWFnZU1vZHVsZSB9IGZyb20gJ0BpZ28yL2NvcmUnO1xuXG5pbXBvcnQgeyBTaGFyZU1hcENvbXBvbmVudCB9IGZyb20gJy4vc2hhcmUtbWFwL3NoYXJlLW1hcC5jb21wb25lbnQnO1xuaW1wb3J0IHsgU2hhcmVNYXBVcmxDb21wb25lbnQgfSBmcm9tICcuL3NoYXJlLW1hcC9zaGFyZS1tYXAtdXJsLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTaGFyZU1hcEFwaUNvbXBvbmVudCB9IGZyb20gJy4vc2hhcmUtbWFwL3NoYXJlLW1hcC1hcGkuY29tcG9uZW50JztcbmltcG9ydCB7IElnb0N1c3RvbUh0bWxNb2R1bGUgfSBmcm9tICdAaWdvMi9jb21tb24nO1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIEZvcm1zTW9kdWxlLFxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG4gICAgTWF0SWNvbk1vZHVsZSxcbiAgICBNYXRUb29sdGlwTW9kdWxlLFxuICAgIE1hdFRhYnNNb2R1bGUsXG4gICAgTWF0Rm9ybUZpZWxkTW9kdWxlLFxuICAgIE1hdElucHV0TW9kdWxlLFxuICAgIE1hdEJ1dHRvbk1vZHVsZSxcbiAgICBJZ29MYW5ndWFnZU1vZHVsZSxcbiAgICBJZ29DdXN0b21IdG1sTW9kdWxlXG4gIF0sXG4gIGV4cG9ydHM6IFtTaGFyZU1hcENvbXBvbmVudCwgU2hhcmVNYXBVcmxDb21wb25lbnQsIFNoYXJlTWFwQXBpQ29tcG9uZW50XSxcbiAgZGVjbGFyYXRpb25zOiBbU2hhcmVNYXBDb21wb25lbnQsIFNoYXJlTWFwVXJsQ29tcG9uZW50LCBTaGFyZU1hcEFwaUNvbXBvbmVudF1cbn0pXG5leHBvcnQgY2xhc3MgSWdvU2hhcmVNYXBNb2R1bGUge1xuICBzdGF0aWMgZm9yUm9vdCgpOiBNb2R1bGVXaXRoUHJvdmlkZXJzPElnb1NoYXJlTWFwTW9kdWxlPiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIG5nTW9kdWxlOiBJZ29TaGFyZU1hcE1vZHVsZVxuICAgIH07XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export * from './share-map.service';
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
export * from './share-map.service';
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb250ZXh0L3NyYy9saWIvc2hhcmUtbWFwL3NoYXJlZC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHFCQUFxQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9zaGFyZS1tYXAuc2VydmljZSc7XG4iXX0=
|
|
@@ -0,0 +1,221 @@
|
|
|
1
|
+
import { Injectable, Optional } from '@angular/core';
|
|
2
|
+
import { RouteService } from '@igo2/core';
|
|
3
|
+
import { ContextService } from '../../context-manager/shared/context.service';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
import * as i1 from "../../context-manager/shared/context.service";
|
|
6
|
+
import * as i2 from "@igo2/core";
|
|
7
|
+
export class ShareMapService {
|
|
8
|
+
contextService;
|
|
9
|
+
route;
|
|
10
|
+
language = '';
|
|
11
|
+
constructor(contextService, route) {
|
|
12
|
+
this.contextService = contextService;
|
|
13
|
+
this.route = route;
|
|
14
|
+
this.route.queryParams.subscribe((params) => {
|
|
15
|
+
if (params['lang']) {
|
|
16
|
+
this.language = params['lang'];
|
|
17
|
+
}
|
|
18
|
+
});
|
|
19
|
+
}
|
|
20
|
+
getUrlWithApi(formValues) {
|
|
21
|
+
return this.language
|
|
22
|
+
? `${location.origin + location.pathname}?context=${formValues.uri}&lang=${this.language}`
|
|
23
|
+
: `${location.origin + location.pathname}?context=${formValues.uri}`;
|
|
24
|
+
}
|
|
25
|
+
createContextShared(map, formValues) {
|
|
26
|
+
const context = this.contextService.getContextFromMap(map);
|
|
27
|
+
context.scope = 'public';
|
|
28
|
+
context.title = formValues.title;
|
|
29
|
+
context.uri = formValues.uri;
|
|
30
|
+
return this.contextService.create(context);
|
|
31
|
+
}
|
|
32
|
+
updateContextShared(map, formValues, id) {
|
|
33
|
+
const context = this.contextService.getContextFromMap(map);
|
|
34
|
+
return this.contextService.update(id, {
|
|
35
|
+
title: formValues.title,
|
|
36
|
+
map: context.map
|
|
37
|
+
});
|
|
38
|
+
}
|
|
39
|
+
getUrlWithoutApi(map, publicShareOption) {
|
|
40
|
+
if (!this.route ||
|
|
41
|
+
!this.route.options.visibleOnLayersKey ||
|
|
42
|
+
!this.route.options.visibleOffLayersKey ||
|
|
43
|
+
!map.viewController.getZoom()) {
|
|
44
|
+
return;
|
|
45
|
+
}
|
|
46
|
+
const llc = publicShareOption.layerlistControls.querystring;
|
|
47
|
+
let visibleKey = this.route.options.visibleOnLayersKey;
|
|
48
|
+
let invisibleKey = this.route.options.visibleOffLayersKey;
|
|
49
|
+
const layers = map.layers;
|
|
50
|
+
const visibleLayers = layers.filter((lay) => lay.visible && !lay.isIgoInternalLayer);
|
|
51
|
+
const invisibleLayers = layers.filter((lay) => !lay.visible && !lay.isIgoInternalLayer);
|
|
52
|
+
if (visibleLayers.length === 0) {
|
|
53
|
+
visibleKey = '';
|
|
54
|
+
}
|
|
55
|
+
if (invisibleLayers.length === 0) {
|
|
56
|
+
invisibleKey = '';
|
|
57
|
+
}
|
|
58
|
+
let layersUrl = '';
|
|
59
|
+
let layersToLoop = [];
|
|
60
|
+
if (visibleLayers.length > invisibleLayers.length) {
|
|
61
|
+
layersUrl = `${visibleKey}=*&${invisibleKey}=`;
|
|
62
|
+
layersToLoop = invisibleLayers;
|
|
63
|
+
}
|
|
64
|
+
else {
|
|
65
|
+
layersUrl = `${invisibleKey}=*&${visibleKey}=`;
|
|
66
|
+
layersToLoop = visibleLayers;
|
|
67
|
+
}
|
|
68
|
+
for (const layer of layersToLoop) {
|
|
69
|
+
if (layer.id) {
|
|
70
|
+
layersUrl += layer.id + ',';
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
const contextLayersID = [];
|
|
74
|
+
const contextLayers = this.contextService.context$.value.layers;
|
|
75
|
+
for (const contextLayer of contextLayers) {
|
|
76
|
+
if (typeof contextLayer.id !== 'undefined' ||
|
|
77
|
+
typeof contextLayer.source !== 'undefined') {
|
|
78
|
+
contextLayersID.push(contextLayer.id || contextLayer.source.id);
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
const addedLayersQueryParamsWms = this.makeLayersByService(layers, contextLayersID, 'wms');
|
|
82
|
+
const addedLayersQueryParamsWmts = this.makeLayersByService(layers, contextLayersID, 'wmts');
|
|
83
|
+
const addedLayersQueryParamsArcgisRest = this.makeLayersByService(layers, contextLayersID, 'arcgisrest');
|
|
84
|
+
const addedLayersQueryParamsImageArcgisRest = this.makeLayersByService(layers, contextLayersID, 'imagearcgisrest');
|
|
85
|
+
const addedLayersQueryParamsTileArcgisRest = this.makeLayersByService(layers, contextLayersID, 'tilearcgisrest');
|
|
86
|
+
layersUrl = layersUrl.substr(0, layersUrl.length - 1);
|
|
87
|
+
const zoomKey = this.route.options.zoomKey;
|
|
88
|
+
const centerKey = this.route.options.centerKey;
|
|
89
|
+
const contextKey = this.route.options.contextKey;
|
|
90
|
+
const zoom = `${zoomKey}=${map.viewController.getZoom()}`;
|
|
91
|
+
const arrayCenter = map.viewController.getCenter('EPSG:4326') || [];
|
|
92
|
+
const long = arrayCenter[0].toFixed(5).replace(/\.([^0]+)0+$/, '.$1');
|
|
93
|
+
const lat = arrayCenter[1].toFixed(5).replace(/\.([^0]+)0+$/, '.$1');
|
|
94
|
+
const center = `${centerKey}=${long},${lat}`.replace(/.00000/g, '');
|
|
95
|
+
let context = '';
|
|
96
|
+
if (this.contextService.context$.value) {
|
|
97
|
+
context = `${contextKey}=${this.contextService.context$.value.uri}`;
|
|
98
|
+
}
|
|
99
|
+
let url = this.language
|
|
100
|
+
? `${location.origin}${location.pathname}?${context}&${zoom}&${center}&${layersUrl}&${llc}&${addedLayersQueryParamsWms}&${llc}&${addedLayersQueryParamsWmts}&${addedLayersQueryParamsArcgisRest}&${addedLayersQueryParamsImageArcgisRest}&${addedLayersQueryParamsTileArcgisRest}&lang=${this.language}`
|
|
101
|
+
: `${location.origin}${location.pathname}?${context}&${zoom}&${center}&${layersUrl}&${llc}&${addedLayersQueryParamsWms}&${llc}&${addedLayersQueryParamsWmts}&${addedLayersQueryParamsArcgisRest}&${addedLayersQueryParamsImageArcgisRest}&${addedLayersQueryParamsTileArcgisRest}`;
|
|
102
|
+
for (let i = 0; i < 5; i++) {
|
|
103
|
+
url = url.replace(/&&/g, '&');
|
|
104
|
+
url = url.endsWith('&') ? url.slice(0, -1) : url;
|
|
105
|
+
}
|
|
106
|
+
url = url.endsWith('&') ? url.slice(0, -1) : url;
|
|
107
|
+
url = url.replace('?&wm', '&wm');
|
|
108
|
+
url = url.replace('?&', '?');
|
|
109
|
+
return url;
|
|
110
|
+
}
|
|
111
|
+
makeLayersByService(layers, contextLayersID, typeService) {
|
|
112
|
+
const addedLayersByService = [];
|
|
113
|
+
for (const layer of layers.filter((l) => l.dataSource.options?.type === typeService)) {
|
|
114
|
+
if (contextLayersID.indexOf(layer.id) === -1) {
|
|
115
|
+
let linkUrl = encodeURIComponent(layer.dataSource.options.url);
|
|
116
|
+
let addedLayer = '';
|
|
117
|
+
let layerVersion;
|
|
118
|
+
switch (layer.dataSource.options.type.toLowerCase()) {
|
|
119
|
+
case 'wms':
|
|
120
|
+
const datasourceOptions = layer.dataSource
|
|
121
|
+
.options;
|
|
122
|
+
addedLayer = encodeURIComponent(datasourceOptions.params.LAYERS);
|
|
123
|
+
layerVersion =
|
|
124
|
+
datasourceOptions.params.VERSION === '1.3.0'
|
|
125
|
+
? layerVersion
|
|
126
|
+
: datasourceOptions.params.VERSION;
|
|
127
|
+
break;
|
|
128
|
+
case 'wmts':
|
|
129
|
+
case 'arcgisrest':
|
|
130
|
+
case 'imagearcgisrest':
|
|
131
|
+
case 'tilearcgisrest':
|
|
132
|
+
addedLayer = encodeURIComponent(layer.dataSource.options.layer);
|
|
133
|
+
break;
|
|
134
|
+
}
|
|
135
|
+
const addedLayerPosition = `${addedLayer}:igoz${layer.zIndex}`;
|
|
136
|
+
let version = '';
|
|
137
|
+
if (layerVersion) {
|
|
138
|
+
const operator = layer.dataSource.options.url.indexOf('?') === -1
|
|
139
|
+
? '?'
|
|
140
|
+
: '&';
|
|
141
|
+
version = encodeURIComponent(`${operator}VERSION=${layerVersion}`);
|
|
142
|
+
}
|
|
143
|
+
linkUrl = `${linkUrl}${version}`;
|
|
144
|
+
if (!addedLayersByService.find((definedUrl) => definedUrl.url === linkUrl)) {
|
|
145
|
+
addedLayersByService.push({
|
|
146
|
+
url: linkUrl,
|
|
147
|
+
layers: [addedLayerPosition]
|
|
148
|
+
});
|
|
149
|
+
}
|
|
150
|
+
else {
|
|
151
|
+
addedLayersByService.forEach((service) => {
|
|
152
|
+
if (service.url === linkUrl) {
|
|
153
|
+
service.layers.push(addedLayerPosition);
|
|
154
|
+
}
|
|
155
|
+
});
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
let addedLayersQueryParams = '';
|
|
160
|
+
if (addedLayersByService.length >= 1) {
|
|
161
|
+
let linkUrlKey;
|
|
162
|
+
let layersKey;
|
|
163
|
+
/*
|
|
164
|
+
const linkUrlKey = (typeService === 'wms') ? this.route.options.wmsUrlKey :
|
|
165
|
+
(typeService === 'wmts') ? this.route.options.wmtsUrlKey : '' ;
|
|
166
|
+
const layersKey = (typeService === 'wms') ? this.route.options.wmsLayersKey :
|
|
167
|
+
(typeService === 'wmts') ? this.route.options.wmtsLayersKey : '' ;
|
|
168
|
+
*/
|
|
169
|
+
switch (typeService.toLowerCase()) {
|
|
170
|
+
case 'wms':
|
|
171
|
+
linkUrlKey = this.route.options.wmsUrlKey;
|
|
172
|
+
layersKey = this.route.options.wmsLayersKey;
|
|
173
|
+
break;
|
|
174
|
+
case 'wmts':
|
|
175
|
+
linkUrlKey = this.route.options.wmtsUrlKey;
|
|
176
|
+
layersKey = this.route.options.wmtsLayersKey;
|
|
177
|
+
break;
|
|
178
|
+
case 'arcgisrest':
|
|
179
|
+
linkUrlKey = this.route.options.arcgisUrlKey;
|
|
180
|
+
layersKey = this.route.options.arcgisLayersKey;
|
|
181
|
+
break;
|
|
182
|
+
case 'imagearcgisrest':
|
|
183
|
+
linkUrlKey = this.route.options.iarcgisUrlKey;
|
|
184
|
+
layersKey = this.route.options.iarcgisLayersKey;
|
|
185
|
+
break;
|
|
186
|
+
case 'tilearcgisrest':
|
|
187
|
+
linkUrlKey = this.route.options.tarcgisUrlKey;
|
|
188
|
+
layersKey = this.route.options.tarcgisLayersKey;
|
|
189
|
+
break;
|
|
190
|
+
default:
|
|
191
|
+
linkUrlKey = '';
|
|
192
|
+
layersKey = '';
|
|
193
|
+
}
|
|
194
|
+
let linkUrlQueryParams = '';
|
|
195
|
+
let layersQueryParams = '';
|
|
196
|
+
addedLayersByService.forEach((service) => {
|
|
197
|
+
linkUrlQueryParams += `${service.url},`;
|
|
198
|
+
layersQueryParams += `(${service.layers.join(',')}),`;
|
|
199
|
+
});
|
|
200
|
+
linkUrlQueryParams = linkUrlQueryParams.endsWith(',')
|
|
201
|
+
? linkUrlQueryParams.slice(0, -1)
|
|
202
|
+
: linkUrlQueryParams;
|
|
203
|
+
layersQueryParams = layersQueryParams.endsWith(',')
|
|
204
|
+
? layersQueryParams.slice(0, -1)
|
|
205
|
+
: layersQueryParams;
|
|
206
|
+
addedLayersQueryParams = `${linkUrlKey}=${linkUrlQueryParams}&${layersKey}=${layersQueryParams}`;
|
|
207
|
+
}
|
|
208
|
+
return addedLayersQueryParams;
|
|
209
|
+
}
|
|
210
|
+
static ɵfac = function ShareMapService_Factory(t) { return new (t || ShareMapService)(i0.ɵɵinject(i1.ContextService), i0.ɵɵinject(i2.RouteService, 8)); };
|
|
211
|
+
static ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: ShareMapService, factory: ShareMapService.ɵfac, providedIn: 'root' });
|
|
212
|
+
}
|
|
213
|
+
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ShareMapService, [{
|
|
214
|
+
type: Injectable,
|
|
215
|
+
args: [{
|
|
216
|
+
providedIn: 'root'
|
|
217
|
+
}]
|
|
218
|
+
}], function () { return [{ type: i1.ContextService }, { type: i2.RouteService, decorators: [{
|
|
219
|
+
type: Optional
|
|
220
|
+
}] }]; }, null); })();
|
|
221
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hhcmUtbWFwLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb250ZXh0L3NyYy9saWIvc2hhcmUtbWFwL3NoYXJlZC9zaGFyZS1tYXAuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVyRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBSzFDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQzs7OztBQUs5RSxNQUFNLE9BQU8sZUFBZTtJQUloQjtJQUNZO0lBSmQsUUFBUSxHQUFHLEVBQUUsQ0FBQztJQUV0QixZQUNVLGNBQThCLEVBQ2xCLEtBQW1CO1FBRC9CLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQUNsQixVQUFLLEdBQUwsS0FBSyxDQUFjO1FBRXZDLElBQUksQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFO1lBQzFDLElBQUksTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFO2dCQUNsQixJQUFJLENBQUMsUUFBUSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQzthQUNoQztRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELGFBQWEsQ0FBQyxVQUFVO1FBQ3RCLE9BQU8sSUFBSSxDQUFDLFFBQVE7WUFDbEIsQ0FBQyxDQUFDLEdBQUcsUUFBUSxDQUFDLE1BQU0sR0FBRyxRQUFRLENBQUMsUUFBUSxZQUNwQyxVQUFVLENBQUMsR0FDYixTQUFTLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDMUIsQ0FBQyxDQUFDLEdBQUcsUUFBUSxDQUFDLE1BQU0sR0FBRyxRQUFRLENBQUMsUUFBUSxZQUFZLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQztJQUN6RSxDQUFDO0lBRUQsbUJBQW1CLENBQUMsR0FBVyxFQUFFLFVBQVU7UUFDekMsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUMzRCxPQUFPLENBQUMsS0FBSyxHQUFHLFFBQVEsQ0FBQztRQUN6QixPQUFPLENBQUMsS0FBSyxHQUFHLFVBQVUsQ0FBQyxLQUFLLENBQUM7UUFDakMsT0FBTyxDQUFDLEdBQUcsR0FBRyxVQUFVLENBQUMsR0FBRyxDQUFDO1FBQzdCLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDN0MsQ0FBQztJQUVELG1CQUFtQixDQUFDLEdBQVcsRUFBRSxVQUFVLEVBQUUsRUFBVTtRQUNyRCxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLGlCQUFpQixDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQzNELE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsRUFBRSxFQUFFO1lBQ3BDLEtBQUssRUFBRSxVQUFVLENBQUMsS0FBSztZQUN2QixHQUFHLEVBQUUsT0FBTyxDQUFDLEdBQUc7U0FDRSxDQUFDLENBQUM7SUFDeEIsQ0FBQztJQUVELGdCQUFnQixDQUFDLEdBQVcsRUFBRSxpQkFBaUI7UUFDN0MsSUFDRSxDQUFDLElBQUksQ0FBQyxLQUFLO1lBQ1gsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxrQkFBa0I7WUFDdEMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxtQkFBbUI7WUFDdkMsQ0FBQyxHQUFHLENBQUMsY0FBYyxDQUFDLE9BQU8sRUFBRSxFQUM3QjtZQUNBLE9BQU87U0FDUjtRQUNELE1BQU0sR0FBRyxHQUFHLGlCQUFpQixDQUFDLGlCQUFpQixDQUFDLFdBQVcsQ0FBQztRQUU1RCxJQUFJLFVBQVUsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxrQkFBa0IsQ0FBQztRQUN2RCxJQUFJLFlBQVksR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxtQkFBbUIsQ0FBQztRQUMxRCxNQUFNLE1BQU0sR0FBRyxHQUFHLENBQUMsTUFBTSxDQUFDO1FBRTFCLE1BQU0sYUFBYSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQ2pDLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLGtCQUFrQixDQUNoRCxDQUFDO1FBQ0YsTUFBTSxlQUFlLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FDbkMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxrQkFBa0IsQ0FDakQsQ0FBQztRQUVGLElBQUksYUFBYSxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUU7WUFDOUIsVUFBVSxHQUFHLEVBQUUsQ0FBQztTQUNqQjtRQUNELElBQUksZUFBZSxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUU7WUFDaEMsWUFBWSxHQUFHLEVBQUUsQ0FBQztTQUNuQjtRQUVELElBQUksU0FBUyxHQUFHLEVBQUUsQ0FBQztRQUNuQixJQUFJLFlBQVksR0FBRyxFQUFFLENBQUM7UUFDdEIsSUFBSSxhQUFhLENBQUMsTUFBTSxHQUFHLGVBQWUsQ0FBQyxNQUFNLEVBQUU7WUFDakQsU0FBUyxHQUFHLEdBQUcsVUFBVSxNQUFNLFlBQVksR0FBRyxDQUFDO1lBQy9DLFlBQVksR0FBRyxlQUFlLENBQUM7U0FDaEM7YUFBTTtZQUNMLFNBQVMsR0FBRyxHQUFHLFlBQVksTUFBTSxVQUFVLEdBQUcsQ0FBQztZQUMvQyxZQUFZLEdBQUcsYUFBYSxDQUFDO1NBQzlCO1FBRUQsS0FBSyxNQUFNLEtBQUssSUFBSSxZQUFZLEVBQUU7WUFDaEMsSUFBSSxLQUFLLENBQUMsRUFBRSxFQUFFO2dCQUNaLFNBQVMsSUFBSSxLQUFLLENBQUMsRUFBRSxHQUFHLEdBQUcsQ0FBQzthQUM3QjtTQUNGO1FBQ0QsTUFBTSxlQUFlLEdBQUcsRUFBRSxDQUFDO1FBQzNCLE1BQU0sYUFBYSxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUM7UUFDaEUsS0FBSyxNQUFNLFlBQVksSUFBSSxhQUFhLEVBQUU7WUFDeEMsSUFDRSxPQUFPLFlBQVksQ0FBQyxFQUFFLEtBQUssV0FBVztnQkFDdEMsT0FBTyxZQUFZLENBQUMsTUFBTSxLQUFLLFdBQVcsRUFDMUM7Z0JBQ0EsZUFBZSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsRUFBRSxJQUFJLFlBQVksQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUM7YUFDakU7U0FDRjtRQUVELE1BQU0seUJBQXlCLEdBQUcsSUFBSSxDQUFDLG1CQUFtQixDQUN4RCxNQUFNLEVBQ04sZUFBZSxFQUNmLEtBQUssQ0FDTixDQUFDO1FBQ0YsTUFBTSwwQkFBMEIsR0FBRyxJQUFJLENBQUMsbUJBQW1CLENBQ3pELE1BQU0sRUFDTixlQUFlLEVBQ2YsTUFBTSxDQUNQLENBQUM7UUFDRixNQUFNLGdDQUFnQyxHQUFHLElBQUksQ0FBQyxtQkFBbUIsQ0FDL0QsTUFBTSxFQUNOLGVBQWUsRUFDZixZQUFZLENBQ2IsQ0FBQztRQUNGLE1BQU0scUNBQXFDLEdBQUcsSUFBSSxDQUFDLG1CQUFtQixDQUNwRSxNQUFNLEVBQ04sZUFBZSxFQUNmLGlCQUFpQixDQUNsQixDQUFDO1FBQ0YsTUFBTSxvQ0FBb0MsR0FBRyxJQUFJLENBQUMsbUJBQW1CLENBQ25FLE1BQU0sRUFDTixlQUFlLEVBQ2YsZ0JBQWdCLENBQ2pCLENBQUM7UUFFRixTQUFTLEdBQUcsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsU0FBUyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQztRQUV0RCxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUM7UUFDM0MsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDO1FBQy9DLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQztRQUVqRCxNQUFNLElBQUksR0FBRyxHQUFHLE9BQU8sSUFBSSxHQUFHLENBQUMsY0FBYyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUM7UUFDMUQsTUFBTSxXQUFXLEdBQUcsR0FBRyxDQUFDLGNBQWMsQ0FBQyxTQUFTLENBQUMsV0FBVyxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3BFLE1BQU0sSUFBSSxHQUFHLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLGNBQWMsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUN0RSxNQUFNLEdBQUcsR0FBRyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxjQUFjLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDckUsTUFBTSxNQUFNLEdBQUcsR0FBRyxTQUFTLElBQUksSUFBSSxJQUFJLEdBQUcsRUFBRSxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDcEUsSUFBSSxPQUFPLEdBQUcsRUFBRSxDQUFDO1FBQ2pCLElBQUksSUFBSSxDQUFDLGNBQWMsQ0FBQyxRQUFRLENBQUMsS0FBSyxFQUFFO1lBQ3RDLE9BQU8sR0FBRyxHQUFHLFVBQVUsSUFBSSxJQUFJLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsR0FBRyxFQUFFLENBQUM7U0FDckU7UUFFRCxJQUFJLEdBQUcsR0FBRyxJQUFJLENBQUMsUUFBUTtZQUNyQixDQUFDLENBQUMsR0FBRyxRQUFRLENBQUMsTUFBTSxHQUFHLFFBQVEsQ0FBQyxRQUFRLElBQUksT0FBTyxJQUFJLElBQUksSUFBSSxNQUFNLElBQUksU0FBUyxJQUFJLEdBQUcsSUFBSSx5QkFBeUIsSUFBSSxHQUFHLElBQUksMEJBQTBCLElBQUksZ0NBQWdDLElBQUkscUNBQXFDLElBQUksb0NBQW9DLFNBQVMsSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUN4UyxDQUFDLENBQUMsR0FBRyxRQUFRLENBQUMsTUFBTSxHQUFHLFFBQVEsQ0FBQyxRQUFRLElBQUksT0FBTyxJQUFJLElBQUksSUFBSSxNQUFNLElBQUksU0FBUyxJQUFJLEdBQUcsSUFBSSx5QkFBeUIsSUFBSSxHQUFHLElBQUksMEJBQTBCLElBQUksZ0NBQWdDLElBQUkscUNBQXFDLElBQUksb0NBQW9DLEVBQUUsQ0FBQztRQUNyUixLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFO1lBQzFCLEdBQUcsR0FBRyxHQUFHLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxHQUFHLENBQUMsQ0FBQztZQUM5QixHQUFHLEdBQUcsR0FBRyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDO1NBQ2xEO1FBQ0QsR0FBRyxHQUFHLEdBQUcsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQztRQUNqRCxHQUFHLEdBQUcsR0FBRyxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDakMsR0FBRyxHQUFHLEdBQUcsQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBRTdCLE9BQU8sR0FBRyxDQUFDO0lBQ2IsQ0FBQztJQUVPLG1CQUFtQixDQUN6QixNQUFlLEVBQ2YsZUFBc0IsRUFDdEIsV0FBbUI7UUFFbkIsTUFBTSxvQkFBb0IsR0FBRyxFQUFFLENBQUM7UUFDaEMsS0FBSyxNQUFNLEtBQUssSUFBSSxNQUFNLENBQUMsTUFBTSxDQUMvQixDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxPQUFPLEVBQUUsSUFBSSxLQUFLLFdBQVcsQ0FDbEQsRUFBRTtZQUNELElBQUksZUFBZSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUU7Z0JBQzVDLElBQUksT0FBTyxHQUFHLGtCQUFrQixDQUFFLEtBQUssQ0FBQyxVQUFVLENBQUMsT0FBZSxDQUFDLEdBQUcsQ0FBQyxDQUFDO2dCQUN4RSxJQUFJLFVBQVUsR0FBRyxFQUFFLENBQUM7Z0JBQ3BCLElBQUksWUFBb0IsQ0FBQztnQkFDekIsUUFBUSxLQUFLLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLEVBQUU7b0JBQ25ELEtBQUssS0FBSzt3QkFDUixNQUFNLGlCQUFpQixHQUFHLEtBQUssQ0FBQyxVQUFVOzZCQUN2QyxPQUErQixDQUFDO3dCQUNuQyxVQUFVLEdBQUcsa0JBQWtCLENBQUMsaUJBQWlCLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO3dCQUNqRSxZQUFZOzRCQUNWLGlCQUFpQixDQUFDLE1BQU0sQ0FBQyxPQUFPLEtBQUssT0FBTztnQ0FDMUMsQ0FBQyxDQUFDLFlBQVk7Z0NBQ2QsQ0FBQyxDQUFDLGlCQUFpQixDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUM7d0JBQ3ZDLE1BQU07b0JBQ1IsS0FBSyxNQUFNLENBQUM7b0JBQ1osS0FBSyxZQUFZLENBQUM7b0JBQ2xCLEtBQUssaUJBQWlCLENBQUM7b0JBQ3ZCLEtBQUssZ0JBQWdCO3dCQUNuQixVQUFVLEdBQUcsa0JBQWtCLENBQzVCLEtBQUssQ0FBQyxVQUFVLENBQUMsT0FBZSxDQUFDLEtBQUssQ0FDeEMsQ0FBQzt3QkFDRixNQUFNO2lCQUNUO2dCQUNELE1BQU0sa0JBQWtCLEdBQUcsR0FBRyxVQUFVLFFBQVEsS0FBSyxDQUFDLE1BQU0sRUFBRSxDQUFDO2dCQUUvRCxJQUFJLE9BQU8sR0FBRyxFQUFFLENBQUM7Z0JBQ2pCLElBQUksWUFBWSxFQUFFO29CQUNoQixNQUFNLFFBQVEsR0FDWCxLQUFLLENBQUMsVUFBVSxDQUFDLE9BQWUsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQzt3QkFDdkQsQ0FBQyxDQUFDLEdBQUc7d0JBQ0wsQ0FBQyxDQUFDLEdBQUcsQ0FBQztvQkFDVixPQUFPLEdBQUcsa0JBQWtCLENBQUMsR0FBRyxRQUFRLFdBQVcsWUFBWSxFQUFFLENBQUMsQ0FBQztpQkFDcEU7Z0JBQ0QsT0FBTyxHQUFHLEdBQUcsT0FBTyxHQUFHLE9BQU8sRUFBRSxDQUFDO2dCQUVqQyxJQUNFLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLENBQUMsVUFBVSxFQUFFLEVBQUUsQ0FBQyxVQUFVLENBQUMsR0FBRyxLQUFLLE9BQU8sQ0FBQyxFQUN0RTtvQkFDQSxvQkFBb0IsQ0FBQyxJQUFJLENBQUM7d0JBQ3hCLEdBQUcsRUFBRSxPQUFPO3dCQUNaLE1BQU0sRUFBRSxDQUFDLGtCQUFrQixDQUFDO3FCQUM3QixDQUFDLENBQUM7aUJBQ0o7cUJBQU07b0JBQ0wsb0JBQW9CLENBQUMsT0FBTyxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUU7d0JBQ3ZDLElBQUksT0FBTyxDQUFDLEdBQUcsS0FBSyxPQUFPLEVBQUU7NEJBQzNCLE9BQU8sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLENBQUM7eUJBQ3pDO29CQUNILENBQUMsQ0FBQyxDQUFDO2lCQUNKO2FBQ0Y7U0FDRjtRQUVELElBQUksc0JBQXNCLEdBQUcsRUFBRSxDQUFDO1FBQ2hDLElBQUksb0JBQW9CLENBQUMsTUFBTSxJQUFJLENBQUMsRUFBRTtZQUNwQyxJQUFJLFVBQVUsQ0FBQztZQUNmLElBQUksU0FBUyxDQUFDO1lBQ2Q7Ozs7O1FBS0o7WUFDSSxRQUFRLFdBQVcsQ0FBQyxXQUFXLEVBQUUsRUFBRTtnQkFDakMsS0FBSyxLQUFLO29CQUNSLFVBQVUsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUM7b0JBQzFDLFNBQVMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUM7b0JBQzVDLE1BQU07Z0JBQ1IsS0FBSyxNQUFNO29CQUNULFVBQVUsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUM7b0JBQzNDLFNBQVMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUM7b0JBQzdDLE1BQU07Z0JBQ1IsS0FBSyxZQUFZO29CQUNmLFVBQVUsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUM7b0JBQzdDLFNBQVMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxlQUFlLENBQUM7b0JBQy9DLE1BQU07Z0JBQ1IsS0FBSyxpQkFBaUI7b0JBQ3BCLFVBQVUsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUM7b0JBQzlDLFNBQVMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQztvQkFDaEQsTUFBTTtnQkFDUixLQUFLLGdCQUFnQjtvQkFDbkIsVUFBVSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQztvQkFDOUMsU0FBUyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLGdCQUFnQixDQUFDO29CQUNoRCxNQUFNO2dCQUNSO29CQUNFLFVBQVUsR0FBRyxFQUFFLENBQUM7b0JBQ2hCLFNBQVMsR0FBRyxFQUFFLENBQUM7YUFDbEI7WUFFRCxJQUFJLGtCQUFrQixHQUFHLEVBQUUsQ0FBQztZQUM1QixJQUFJLGlCQUFpQixHQUFHLEVBQUUsQ0FBQztZQUMzQixvQkFBb0IsQ0FBQyxPQUFPLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRTtnQkFDdkMsa0JBQWtCLElBQUksR0FBRyxPQUFPLENBQUMsR0FBRyxHQUFHLENBQUM7Z0JBQ3hDLGlCQUFpQixJQUFJLElBQUksT0FBTyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQztZQUN4RCxDQUFDLENBQUMsQ0FBQztZQUNILGtCQUFrQixHQUFHLGtCQUFrQixDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUM7Z0JBQ25ELENBQUMsQ0FBQyxrQkFBa0IsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO2dCQUNqQyxDQUFDLENBQUMsa0JBQWtCLENBQUM7WUFDdkIsaUJBQWlCLEdBQUcsaUJBQWlCLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQztnQkFDakQsQ0FBQyxDQUFDLGlCQUFpQixDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7Z0JBQ2hDLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQztZQUN0QixzQkFBc0IsR0FBRyxHQUFHLFVBQVUsSUFBSSxrQkFBa0IsSUFBSSxTQUFTLElBQUksaUJBQWlCLEVBQUUsQ0FBQztTQUNsRztRQUVELE9BQU8sc0JBQXNCLENBQUM7SUFDaEMsQ0FBQzt5RUF0UVUsZUFBZTtnRUFBZixlQUFlLFdBQWYsZUFBZSxtQkFGZCxNQUFNOzt1RkFFUCxlQUFlO2NBSDNCLFVBQVU7ZUFBQztnQkFDVixVQUFVLEVBQUUsTUFBTTthQUNuQjs7c0JBTUksUUFBUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIE9wdGlvbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5pbXBvcnQgeyBSb3V0ZVNlcnZpY2UgfSBmcm9tICdAaWdvMi9jb3JlJztcclxuaW1wb3J0IHsgTGF5ZXIsIFdNU0RhdGFTb3VyY2VPcHRpb25zIH0gZnJvbSAnQGlnbzIvZ2VvJztcclxuaW1wb3J0IHR5cGUgeyBJZ29NYXAgfSBmcm9tICdAaWdvMi9nZW8nO1xyXG5cclxuaW1wb3J0IHsgRGV0YWlsZWRDb250ZXh0IH0gZnJvbSAnLi4vLi4vY29udGV4dC1tYW5hZ2VyL3NoYXJlZC9jb250ZXh0LmludGVyZmFjZSc7XHJcbmltcG9ydCB7IENvbnRleHRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vY29udGV4dC1tYW5hZ2VyL3NoYXJlZC9jb250ZXh0LnNlcnZpY2UnO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgU2hhcmVNYXBTZXJ2aWNlIHtcclxuICBwcml2YXRlIGxhbmd1YWdlID0gJyc7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBjb250ZXh0U2VydmljZTogQ29udGV4dFNlcnZpY2UsXHJcbiAgICBAT3B0aW9uYWwoKSBwcml2YXRlIHJvdXRlOiBSb3V0ZVNlcnZpY2VcclxuICApIHtcclxuICAgIHRoaXMucm91dGUucXVlcnlQYXJhbXMuc3Vic2NyaWJlKChwYXJhbXMpID0+IHtcclxuICAgICAgaWYgKHBhcmFtc1snbGFuZyddKSB7XHJcbiAgICAgICAgdGhpcy5sYW5ndWFnZSA9IHBhcmFtc1snbGFuZyddO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIGdldFVybFdpdGhBcGkoZm9ybVZhbHVlcykge1xyXG4gICAgcmV0dXJuIHRoaXMubGFuZ3VhZ2VcclxuICAgICAgPyBgJHtsb2NhdGlvbi5vcmlnaW4gKyBsb2NhdGlvbi5wYXRobmFtZX0/Y29udGV4dD0ke1xyXG4gICAgICAgICAgZm9ybVZhbHVlcy51cmlcclxuICAgICAgICB9Jmxhbmc9JHt0aGlzLmxhbmd1YWdlfWBcclxuICAgICAgOiBgJHtsb2NhdGlvbi5vcmlnaW4gKyBsb2NhdGlvbi5wYXRobmFtZX0/Y29udGV4dD0ke2Zvcm1WYWx1ZXMudXJpfWA7XHJcbiAgfVxyXG5cclxuICBjcmVhdGVDb250ZXh0U2hhcmVkKG1hcDogSWdvTWFwLCBmb3JtVmFsdWVzKSB7XHJcbiAgICBjb25zdCBjb250ZXh0ID0gdGhpcy5jb250ZXh0U2VydmljZS5nZXRDb250ZXh0RnJvbU1hcChtYXApO1xyXG4gICAgY29udGV4dC5zY29wZSA9ICdwdWJsaWMnO1xyXG4gICAgY29udGV4dC50aXRsZSA9IGZvcm1WYWx1ZXMudGl0bGU7XHJcbiAgICBjb250ZXh0LnVyaSA9IGZvcm1WYWx1ZXMudXJpO1xyXG4gICAgcmV0dXJuIHRoaXMuY29udGV4dFNlcnZpY2UuY3JlYXRlKGNvbnRleHQpO1xyXG4gIH1cclxuXHJcbiAgdXBkYXRlQ29udGV4dFNoYXJlZChtYXA6IElnb01hcCwgZm9ybVZhbHVlcywgaWQ6IHN0cmluZykge1xyXG4gICAgY29uc3QgY29udGV4dCA9IHRoaXMuY29udGV4dFNlcnZpY2UuZ2V0Q29udGV4dEZyb21NYXAobWFwKTtcclxuICAgIHJldHVybiB0aGlzLmNvbnRleHRTZXJ2aWNlLnVwZGF0ZShpZCwge1xyXG4gICAgICB0aXRsZTogZm9ybVZhbHVlcy50aXRsZSxcclxuICAgICAgbWFwOiBjb250ZXh0Lm1hcFxyXG4gICAgfSBhcyBEZXRhaWxlZENvbnRleHQpO1xyXG4gIH1cclxuXHJcbiAgZ2V0VXJsV2l0aG91dEFwaShtYXA6IElnb01hcCwgcHVibGljU2hhcmVPcHRpb24pIHtcclxuICAgIGlmIChcclxuICAgICAgIXRoaXMucm91dGUgfHxcclxuICAgICAgIXRoaXMucm91dGUub3B0aW9ucy52aXNpYmxlT25MYXllcnNLZXkgfHxcclxuICAgICAgIXRoaXMucm91dGUub3B0aW9ucy52aXNpYmxlT2ZmTGF5ZXJzS2V5IHx8XHJcbiAgICAgICFtYXAudmlld0NvbnRyb2xsZXIuZ2V0Wm9vbSgpXHJcbiAgICApIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgY29uc3QgbGxjID0gcHVibGljU2hhcmVPcHRpb24ubGF5ZXJsaXN0Q29udHJvbHMucXVlcnlzdHJpbmc7XHJcblxyXG4gICAgbGV0IHZpc2libGVLZXkgPSB0aGlzLnJvdXRlLm9wdGlvbnMudmlzaWJsZU9uTGF5ZXJzS2V5O1xyXG4gICAgbGV0IGludmlzaWJsZUtleSA9IHRoaXMucm91dGUub3B0aW9ucy52aXNpYmxlT2ZmTGF5ZXJzS2V5O1xyXG4gICAgY29uc3QgbGF5ZXJzID0gbWFwLmxheWVycztcclxuXHJcbiAgICBjb25zdCB2aXNpYmxlTGF5ZXJzID0gbGF5ZXJzLmZpbHRlcihcclxuICAgICAgKGxheSkgPT4gbGF5LnZpc2libGUgJiYgIWxheS5pc0lnb0ludGVybmFsTGF5ZXJcclxuICAgICk7XHJcbiAgICBjb25zdCBpbnZpc2libGVMYXllcnMgPSBsYXllcnMuZmlsdGVyKFxyXG4gICAgICAobGF5KSA9PiAhbGF5LnZpc2libGUgJiYgIWxheS5pc0lnb0ludGVybmFsTGF5ZXJcclxuICAgICk7XHJcblxyXG4gICAgaWYgKHZpc2libGVMYXllcnMubGVuZ3RoID09PSAwKSB7XHJcbiAgICAgIHZpc2libGVLZXkgPSAnJztcclxuICAgIH1cclxuICAgIGlmIChpbnZpc2libGVMYXllcnMubGVuZ3RoID09PSAwKSB7XHJcbiAgICAgIGludmlzaWJsZUtleSA9ICcnO1xyXG4gICAgfVxyXG5cclxuICAgIGxldCBsYXllcnNVcmwgPSAnJztcclxuICAgIGxldCBsYXllcnNUb0xvb3AgPSBbXTtcclxuICAgIGlmICh2aXNpYmxlTGF5ZXJzLmxlbmd0aCA+IGludmlzaWJsZUxheWVycy5sZW5ndGgpIHtcclxuICAgICAgbGF5ZXJzVXJsID0gYCR7dmlzaWJsZUtleX09KiYke2ludmlzaWJsZUtleX09YDtcclxuICAgICAgbGF5ZXJzVG9Mb29wID0gaW52aXNpYmxlTGF5ZXJzO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgbGF5ZXJzVXJsID0gYCR7aW52aXNpYmxlS2V5fT0qJiR7dmlzaWJsZUtleX09YDtcclxuICAgICAgbGF5ZXJzVG9Mb29wID0gdmlzaWJsZUxheWVycztcclxuICAgIH1cclxuXHJcbiAgICBmb3IgKGNvbnN0IGxheWVyIG9mIGxheWVyc1RvTG9vcCkge1xyXG4gICAgICBpZiAobGF5ZXIuaWQpIHtcclxuICAgICAgICBsYXllcnNVcmwgKz0gbGF5ZXIuaWQgKyAnLCc7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIGNvbnN0IGNvbnRleHRMYXllcnNJRCA9IFtdO1xyXG4gICAgY29uc3QgY29udGV4dExheWVycyA9IHRoaXMuY29udGV4dFNlcnZpY2UuY29udGV4dCQudmFsdWUubGF5ZXJzO1xyXG4gICAgZm9yIChjb25zdCBjb250ZXh0TGF5ZXIgb2YgY29udGV4dExheWVycykge1xyXG4gICAgICBpZiAoXHJcbiAgICAgICAgdHlwZW9mIGNvbnRleHRMYXllci5pZCAhPT0gJ3VuZGVmaW5lZCcgfHxcclxuICAgICAgICB0eXBlb2YgY29udGV4dExheWVyLnNvdXJjZSAhPT0gJ3VuZGVmaW5lZCdcclxuICAgICAgKSB7XHJcbiAgICAgICAgY29udGV4dExheWVyc0lELnB1c2goY29udGV4dExheWVyLmlkIHx8IGNvbnRleHRMYXllci5zb3VyY2UuaWQpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgYWRkZWRMYXllcnNRdWVyeVBhcmFtc1dtcyA9IHRoaXMubWFrZUxheWVyc0J5U2VydmljZShcclxuICAgICAgbGF5ZXJzLFxyXG4gICAgICBjb250ZXh0TGF5ZXJzSUQsXHJcbiAgICAgICd3bXMnXHJcbiAgICApO1xyXG4gICAgY29uc3QgYWRkZWRMYXllcnNRdWVyeVBhcmFtc1dtdHMgPSB0aGlzLm1ha2VMYXllcnNCeVNlcnZpY2UoXHJcbiAgICAgIGxheWVycyxcclxuICAgICAgY29udGV4dExheWVyc0lELFxyXG4gICAgICAnd210cydcclxuICAgICk7XHJcbiAgICBjb25zdCBhZGRlZExheWVyc1F1ZXJ5UGFyYW1zQXJjZ2lzUmVzdCA9IHRoaXMubWFrZUxheWVyc0J5U2VydmljZShcclxuICAgICAgbGF5ZXJzLFxyXG4gICAgICBjb250ZXh0TGF5ZXJzSUQsXHJcbiAgICAgICdhcmNnaXNyZXN0J1xyXG4gICAgKTtcclxuICAgIGNvbnN0IGFkZGVkTGF5ZXJzUXVlcnlQYXJhbXNJbWFnZUFyY2dpc1Jlc3QgPSB0aGlzLm1ha2VMYXllcnNCeVNlcnZpY2UoXHJcbiAgICAgIGxheWVycyxcclxuICAgICAgY29udGV4dExheWVyc0lELFxyXG4gICAgICAnaW1hZ2VhcmNnaXNyZXN0J1xyXG4gICAgKTtcclxuICAgIGNvbnN0IGFkZGVkTGF5ZXJzUXVlcnlQYXJhbXNUaWxlQXJjZ2lzUmVzdCA9IHRoaXMubWFrZUxheWVyc0J5U2VydmljZShcclxuICAgICAgbGF5ZXJzLFxyXG4gICAgICBjb250ZXh0TGF5ZXJzSUQsXHJcbiAgICAgICd0aWxlYXJjZ2lzcmVzdCdcclxuICAgICk7XHJcblxyXG4gICAgbGF5ZXJzVXJsID0gbGF5ZXJzVXJsLnN1YnN0cigwLCBsYXllcnNVcmwubGVuZ3RoIC0gMSk7XHJcblxyXG4gICAgY29uc3Qgem9vbUtleSA9IHRoaXMucm91dGUub3B0aW9ucy56b29tS2V5O1xyXG4gICAgY29uc3QgY2VudGVyS2V5ID0gdGhpcy5yb3V0ZS5vcHRpb25zLmNlbnRlcktleTtcclxuICAgIGNvbnN0IGNvbnRleHRLZXkgPSB0aGlzLnJvdXRlLm9wdGlvbnMuY29udGV4dEtleTtcclxuXHJcbiAgICBjb25zdCB6b29tID0gYCR7em9vbUtleX09JHttYXAudmlld0NvbnRyb2xsZXIuZ2V0Wm9vbSgpfWA7XHJcbiAgICBjb25zdCBhcnJheUNlbnRlciA9IG1hcC52aWV3Q29udHJvbGxlci5nZXRDZW50ZXIoJ0VQU0c6NDMyNicpIHx8IFtdO1xyXG4gICAgY29uc3QgbG9uZyA9IGFycmF5Q2VudGVyWzBdLnRvRml4ZWQoNSkucmVwbGFjZSgvXFwuKFteMF0rKTArJC8sICcuJDEnKTtcclxuICAgIGNvbnN0IGxhdCA9IGFycmF5Q2VudGVyWzFdLnRvRml4ZWQoNSkucmVwbGFjZSgvXFwuKFteMF0rKTArJC8sICcuJDEnKTtcclxuICAgIGNvbnN0IGNlbnRlciA9IGAke2NlbnRlcktleX09JHtsb25nfSwke2xhdH1gLnJlcGxhY2UoLy4wMDAwMC9nLCAnJyk7XHJcbiAgICBsZXQgY29udGV4dCA9ICcnO1xyXG4gICAgaWYgKHRoaXMuY29udGV4dFNlcnZpY2UuY29udGV4dCQudmFsdWUpIHtcclxuICAgICAgY29udGV4dCA9IGAke2NvbnRleHRLZXl9PSR7dGhpcy5jb250ZXh0U2VydmljZS5jb250ZXh0JC52YWx1ZS51cml9YDtcclxuICAgIH1cclxuXHJcbiAgICBsZXQgdXJsID0gdGhpcy5sYW5ndWFnZVxyXG4gICAgICA/IGAke2xvY2F0aW9uLm9yaWdpbn0ke2xvY2F0aW9uLnBhdGhuYW1lfT8ke2NvbnRleHR9JiR7em9vbX0mJHtjZW50ZXJ9JiR7bGF5ZXJzVXJsfSYke2xsY30mJHthZGRlZExheWVyc1F1ZXJ5UGFyYW1zV21zfSYke2xsY30mJHthZGRlZExheWVyc1F1ZXJ5UGFyYW1zV210c30mJHthZGRlZExheWVyc1F1ZXJ5UGFyYW1zQXJjZ2lzUmVzdH0mJHthZGRlZExheWVyc1F1ZXJ5UGFyYW1zSW1hZ2VBcmNnaXNSZXN0fSYke2FkZGVkTGF5ZXJzUXVlcnlQYXJhbXNUaWxlQXJjZ2lzUmVzdH0mbGFuZz0ke3RoaXMubGFuZ3VhZ2V9YFxyXG4gICAgICA6IGAke2xvY2F0aW9uLm9yaWdpbn0ke2xvY2F0aW9uLnBhdGhuYW1lfT8ke2NvbnRleHR9JiR7em9vbX0mJHtjZW50ZXJ9JiR7bGF5ZXJzVXJsfSYke2xsY30mJHthZGRlZExheWVyc1F1ZXJ5UGFyYW1zV21zfSYke2xsY30mJHthZGRlZExheWVyc1F1ZXJ5UGFyYW1zV210c30mJHthZGRlZExheWVyc1F1ZXJ5UGFyYW1zQXJjZ2lzUmVzdH0mJHthZGRlZExheWVyc1F1ZXJ5UGFyYW1zSW1hZ2VBcmNnaXNSZXN0fSYke2FkZGVkTGF5ZXJzUXVlcnlQYXJhbXNUaWxlQXJjZ2lzUmVzdH1gO1xyXG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCA1OyBpKyspIHtcclxuICAgICAgdXJsID0gdXJsLnJlcGxhY2UoLyYmL2csICcmJyk7XHJcbiAgICAgIHVybCA9IHVybC5lbmRzV2l0aCgnJicpID8gdXJsLnNsaWNlKDAsIC0xKSA6IHVybDtcclxuICAgIH1cclxuICAgIHVybCA9IHVybC5lbmRzV2l0aCgnJicpID8gdXJsLnNsaWNlKDAsIC0xKSA6IHVybDtcclxuICAgIHVybCA9IHVybC5yZXBsYWNlKCc/JndtJywgJyZ3bScpO1xyXG4gICAgdXJsID0gdXJsLnJlcGxhY2UoJz8mJywgJz8nKTtcclxuXHJcbiAgICByZXR1cm4gdXJsO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBtYWtlTGF5ZXJzQnlTZXJ2aWNlKFxyXG4gICAgbGF5ZXJzOiBMYXllcltdLFxyXG4gICAgY29udGV4dExheWVyc0lEOiBhbnlbXSxcclxuICAgIHR5cGVTZXJ2aWNlOiBzdHJpbmdcclxuICApOiBzdHJpbmcge1xyXG4gICAgY29uc3QgYWRkZWRMYXllcnNCeVNlcnZpY2UgPSBbXTtcclxuICAgIGZvciAoY29uc3QgbGF5ZXIgb2YgbGF5ZXJzLmZpbHRlcihcclxuICAgICAgKGwpID0+IGwuZGF0YVNvdXJjZS5vcHRpb25zPy50eXBlID09PSB0eXBlU2VydmljZVxyXG4gICAgKSkge1xyXG4gICAgICBpZiAoY29udGV4dExheWVyc0lELmluZGV4T2YobGF5ZXIuaWQpID09PSAtMSkge1xyXG4gICAgICAgIGxldCBsaW5rVXJsID0gZW5jb2RlVVJJQ29tcG9uZW50KChsYXllci5kYXRhU291cmNlLm9wdGlvbnMgYXMgYW55KS51cmwpO1xyXG4gICAgICAgIGxldCBhZGRlZExheWVyID0gJyc7XHJcbiAgICAgICAgbGV0IGxheWVyVmVyc2lvbjogc3RyaW5nO1xyXG4gICAgICAgIHN3aXRjaCAobGF5ZXIuZGF0YVNvdXJjZS5vcHRpb25zLnR5cGUudG9Mb3dlckNhc2UoKSkge1xyXG4gICAgICAgICAgY2FzZSAnd21zJzpcclxuICAgICAgICAgICAgY29uc3QgZGF0YXNvdXJjZU9wdGlvbnMgPSBsYXllci5kYXRhU291cmNlXHJcbiAgICAgICAgICAgICAgLm9wdGlvbnMgYXMgV01TRGF0YVNvdXJjZU9wdGlvbnM7XHJcbiAgICAgICAgICAgIGFkZGVkTGF5ZXIgPSBlbmNvZGVVUklDb21wb25lbnQoZGF0YXNvdXJjZU9wdGlvbnMucGFyYW1zLkxBWUVSUyk7XHJcbiAgICAgICAgICAgIGxheWVyVmVyc2lvbiA9XHJcbiAgICAgICAgICAgICAgZGF0YXNvdXJjZU9wdGlvbnMucGFyYW1zLlZFUlNJT04gPT09ICcxLjMuMCdcclxuICAgICAgICAgICAgICAgID8gbGF5ZXJWZXJzaW9uXHJcbiAgICAgICAgICAgICAgICA6IGRhdGFzb3VyY2VPcHRpb25zLnBhcmFtcy5WRVJTSU9OO1xyXG4gICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgIGNhc2UgJ3dtdHMnOlxyXG4gICAgICAgICAgY2FzZSAnYXJjZ2lzcmVzdCc6XHJcbiAgICAgICAgICBjYXNlICdpbWFnZWFyY2dpc3Jlc3QnOlxyXG4gICAgICAgICAgY2FzZSAndGlsZWFyY2dpc3Jlc3QnOlxyXG4gICAgICAgICAgICBhZGRlZExheWVyID0gZW5jb2RlVVJJQ29tcG9uZW50KFxyXG4gICAgICAgICAgICAgIChsYXllci5kYXRhU291cmNlLm9wdGlvbnMgYXMgYW55KS5sYXllclxyXG4gICAgICAgICAgICApO1xyXG4gICAgICAgICAgICBicmVhaztcclxuICAgICAgICB9XHJcbiAgICAgICAgY29uc3QgYWRkZWRMYXllclBvc2l0aW9uID0gYCR7YWRkZWRMYXllcn06aWdveiR7bGF5ZXIuekluZGV4fWA7XHJcblxyXG4gICAgICAgIGxldCB2ZXJzaW9uID0gJyc7XHJcbiAgICAgICAgaWYgKGxheWVyVmVyc2lvbikge1xyXG4gICAgICAgICAgY29uc3Qgb3BlcmF0b3IgPVxyXG4gICAgICAgICAgICAobGF5ZXIuZGF0YVNvdXJjZS5vcHRpb25zIGFzIGFueSkudXJsLmluZGV4T2YoJz8nKSA9PT0gLTFcclxuICAgICAgICAgICAgICA/ICc/J1xyXG4gICAgICAgICAgICAgIDogJyYnO1xyXG4gICAgICAgICAgdmVyc2lvbiA9IGVuY29kZVVSSUNvbXBvbmVudChgJHtvcGVyYXRvcn1WRVJTSU9OPSR7bGF5ZXJWZXJzaW9ufWApO1xyXG4gICAgICAgIH1cclxuICAgICAgICBsaW5rVXJsID0gYCR7bGlua1VybH0ke3ZlcnNpb259YDtcclxuXHJcbiAgICAgICAgaWYgKFxyXG4gICAgICAgICAgIWFkZGVkTGF5ZXJzQnlTZXJ2aWNlLmZpbmQoKGRlZmluZWRVcmwpID0+IGRlZmluZWRVcmwudXJsID09PSBsaW5rVXJsKVxyXG4gICAgICAgICkge1xyXG4gICAgICAgICAgYWRkZWRMYXllcnNCeVNlcnZpY2UucHVzaCh7XHJcbiAgICAgICAgICAgIHVybDogbGlua1VybCxcclxuICAgICAgICAgICAgbGF5ZXJzOiBbYWRkZWRMYXllclBvc2l0aW9uXVxyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIGFkZGVkTGF5ZXJzQnlTZXJ2aWNlLmZvckVhY2goKHNlcnZpY2UpID0+IHtcclxuICAgICAgICAgICAgaWYgKHNlcnZpY2UudXJsID09PSBsaW5rVXJsKSB7XHJcbiAgICAgICAgICAgICAgc2VydmljZS5sYXllcnMucHVzaChhZGRlZExheWVyUG9zaXRpb24pO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBsZXQgYWRkZWRMYXllcnNRdWVyeVBhcmFtcyA9ICcnO1xyXG4gICAgaWYgKGFkZGVkTGF5ZXJzQnlTZXJ2aWNlLmxlbmd0aCA+PSAxKSB7XHJcbiAgICAgIGxldCBsaW5rVXJsS2V5O1xyXG4gICAgICBsZXQgbGF5ZXJzS2V5O1xyXG4gICAgICAvKlxyXG4gICAgICBjb25zdCBsaW5rVXJsS2V5ID0gKHR5cGVTZXJ2aWNlID09PSAnd21zJykgPyB0aGlzLnJvdXRlLm9wdGlvbnMud21zVXJsS2V5IDpcclxuICAgICAgICAodHlwZVNlcnZpY2UgPT09ICd3bXRzJykgPyB0aGlzLnJvdXRlLm9wdGlvbnMud210c1VybEtleSA6ICcnIDtcclxuICAgICAgY29uc3QgbGF5ZXJzS2V5ID0gKHR5cGVTZXJ2aWNlID09PSAnd21zJykgPyB0aGlzLnJvdXRlLm9wdGlvbnMud21zTGF5ZXJzS2V5IDpcclxuICAgICAgICAodHlwZVNlcnZpY2UgPT09ICd3bXRzJykgPyB0aGlzLnJvdXRlLm9wdGlvbnMud210c0xheWVyc0tleSA6ICcnIDtcclxuKi9cclxuICAgICAgc3dpdGNoICh0eXBlU2VydmljZS50b0xvd2VyQ2FzZSgpKSB7XHJcbiAgICAgICAgY2FzZSAnd21zJzpcclxuICAgICAgICAgIGxpbmtVcmxLZXkgPSB0aGlzLnJvdXRlLm9wdGlvbnMud21zVXJsS2V5O1xyXG4gICAgICAgICAgbGF5ZXJzS2V5ID0gdGhpcy5yb3V0ZS5vcHRpb25zLndtc0xheWVyc0tleTtcclxuICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgIGNhc2UgJ3dtdHMnOlxyXG4gICAgICAgICAgbGlua1VybEtleSA9IHRoaXMucm91dGUub3B0aW9ucy53bXRzVXJsS2V5O1xyXG4gICAgICAgICAgbGF5ZXJzS2V5ID0gdGhpcy5yb3V0ZS5vcHRpb25zLndtdHNMYXllcnNLZXk7XHJcbiAgICAgICAgICBicmVhaztcclxuICAgICAgICBjYXNlICdhcmNnaXNyZXN0JzpcclxuICAgICAgICAgIGxpbmtVcmxLZXkgPSB0aGlzLnJvdXRlLm9wdGlvbnMuYXJjZ2lzVXJsS2V5O1xyXG4gICAgICAgICAgbGF5ZXJzS2V5ID0gdGhpcy5yb3V0ZS5vcHRpb25zLmFyY2dpc0xheWVyc0tleTtcclxuICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgIGNhc2UgJ2ltYWdlYXJjZ2lzcmVzdCc6XHJcbiAgICAgICAgICBsaW5rVXJsS2V5ID0gdGhpcy5yb3V0ZS5vcHRpb25zLmlhcmNnaXNVcmxLZXk7XHJcbiAgICAgICAgICBsYXllcnNLZXkgPSB0aGlzLnJvdXRlLm9wdGlvbnMuaWFyY2dpc0xheWVyc0tleTtcclxuICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgIGNhc2UgJ3RpbGVhcmNnaXNyZXN0JzpcclxuICAgICAgICAgIGxpbmtVcmxLZXkgPSB0aGlzLnJvdXRlLm9wdGlvbnMudGFyY2dpc1VybEtleTtcclxuICAgICAgICAgIGxheWVyc0tleSA9IHRoaXMucm91dGUub3B0aW9ucy50YXJjZ2lzTGF5ZXJzS2V5O1xyXG4gICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgZGVmYXVsdDpcclxuICAgICAgICAgIGxpbmtVcmxLZXkgPSAnJztcclxuICAgICAgICAgIGxheWVyc0tleSA9ICcnO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBsZXQgbGlua1VybFF1ZXJ5UGFyYW1zID0gJyc7XHJcbiAgICAgIGxldCBsYXllcnNRdWVyeVBhcmFtcyA9ICcnO1xyXG4gICAgICBhZGRlZExheWVyc0J5U2VydmljZS5mb3JFYWNoKChzZXJ2aWNlKSA9PiB7XHJcbiAgICAgICAgbGlua1VybFF1ZXJ5UGFyYW1zICs9IGAke3NlcnZpY2UudXJsfSxgO1xyXG4gICAgICAgIGxheWVyc1F1ZXJ5UGFyYW1zICs9IGAoJHtzZXJ2aWNlLmxheWVycy5qb2luKCcsJyl9KSxgO1xyXG4gICAgICB9KTtcclxuICAgICAgbGlua1VybFF1ZXJ5UGFyYW1zID0gbGlua1VybFF1ZXJ5UGFyYW1zLmVuZHNXaXRoKCcsJylcclxuICAgICAgICA/IGxpbmtVcmxRdWVyeVBhcmFtcy5zbGljZSgwLCAtMSlcclxuICAgICAgICA6IGxpbmtVcmxRdWVyeVBhcmFtcztcclxuICAgICAgbGF5ZXJzUXVlcnlQYXJhbXMgPSBsYXllcnNRdWVyeVBhcmFtcy5lbmRzV2l0aCgnLCcpXHJcbiAgICAgICAgPyBsYXllcnNRdWVyeVBhcmFtcy5zbGljZSgwLCAtMSlcclxuICAgICAgICA6IGxheWVyc1F1ZXJ5UGFyYW1zO1xyXG4gICAgICBhZGRlZExheWVyc1F1ZXJ5UGFyYW1zID0gYCR7bGlua1VybEtleX09JHtsaW5rVXJsUXVlcnlQYXJhbXN9JiR7bGF5ZXJzS2V5fT0ke2xheWVyc1F1ZXJ5UGFyYW1zfWA7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIGFkZGVkTGF5ZXJzUXVlcnlQYXJhbXM7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export * from './sidenav.component';
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
export * from './sidenav.component';
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb250ZXh0L3NyYy9saWIvc2lkZW5hdi9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHFCQUFxQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9zaWRlbmF2LmNvbXBvbmVudCc7XG4iXX0=
|