@igo2/integration 1.15.3 → 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/{esm2020 → esm2022}/igo2-integration.mjs +4 -4
- package/esm2022/lib/about/about-tool/about-tool.component.mjs +205 -0
- package/{esm2020 → esm2022}/lib/about/about-tool/index.mjs +2 -2
- package/{esm2020 → esm2022}/lib/about/about.module.mjs +55 -55
- package/{esm2020 → esm2022}/lib/about/index.mjs +2 -2
- package/esm2022/lib/analytics/analytics-listener.service.mjs +156 -0
- package/{esm2020 → esm2022}/lib/analytics/analytics.module.mjs +16 -16
- package/{esm2020 → esm2022}/lib/analytics/index.mjs +2 -2
- package/esm2022/lib/catalog/catalog-browser-tool/catalog-browser-tool.component.mjs +133 -0
- package/esm2022/lib/catalog/catalog-browser-tool/catalog-browser-tool.module.mjs +24 -0
- package/esm2022/lib/catalog/catalog-library-tool/catalog-library-tool.component.mjs +103 -0
- package/esm2022/lib/catalog/catalog-library-tool/catalog-library-tool.module.mjs +24 -0
- package/esm2022/lib/catalog/catalog.module.mjs +19 -0
- package/esm2022/lib/catalog/catalog.state.mjs +58 -0
- package/{esm2020 → esm2022}/lib/catalog/index.mjs +6 -6
- package/esm2022/lib/context/context-editor-tool/context-editor-tool.component.mjs +36 -0
- package/esm2022/lib/context/context-manager-tool/context-manager-tool.component.mjs +51 -0
- package/esm2022/lib/context/context-permission-manager-tool/context-permission-manager-tool.component.mjs +24 -0
- package/esm2022/lib/context/context-share-tool/context-share-tool.component.mjs +43 -0
- package/{esm2020 → esm2022}/lib/context/context.module.mjs +39 -39
- package/esm2022/lib/context/context.state.mjs +96 -0
- package/{esm2020 → esm2022}/lib/context/index.mjs +6 -6
- package/esm2022/lib/directions/directions-tool/directions-tool.component.mjs +116 -0
- package/{esm2020 → esm2022}/lib/directions/directions-tool/index.mjs +2 -2
- package/{esm2020 → esm2022}/lib/directions/directions.module.mjs +26 -26
- package/esm2022/lib/directions/directions.state.mjs +69 -0
- package/{esm2020 → esm2022}/lib/directions/index.mjs +3 -3
- package/esm2022/lib/draw/draw.module.mjs +18 -0
- package/esm2022/lib/draw/draw.state.mjs +42 -0
- package/esm2022/lib/draw/drawing-tool/drawing-tool.component.mjs +77 -0
- package/esm2022/lib/draw/drawing-tool/drawing-tool.module.mjs +23 -0
- package/{esm2020 → esm2022}/lib/draw/index.mjs +3 -3
- package/{esm2020 → esm2022}/lib/filter/active-ogc-filter-tool/active-ogc-filter-tool.animation.mjs +10 -10
- package/esm2022/lib/filter/active-ogc-filter-tool/active-ogc-filter-tool.component.mjs +46 -0
- package/{esm2020 → esm2022}/lib/filter/active-ogc-filter-tool/index.mjs +2 -2
- package/{esm2020 → esm2022}/lib/filter/active-time-filter-tool/active-time-filter-tool.animation.mjs +10 -10
- package/esm2022/lib/filter/active-time-filter-tool/active-time-filter-tool.component.mjs +46 -0
- package/{esm2020 → esm2022}/lib/filter/active-time-filter-tool/index.mjs +2 -2
- package/{esm2020 → esm2022}/lib/filter/filter.module.mjs +51 -51
- package/{esm2020 → esm2022}/lib/filter/index.mjs +6 -6
- package/{esm2020 → esm2022}/lib/filter/ogc-filter-tool/index.mjs +2 -2
- package/esm2022/lib/filter/ogc-filter-tool/ogc-filter-tool.component.mjs +25 -0
- package/{esm2020 → esm2022}/lib/filter/spatial-filter-tool/index.mjs +2 -2
- package/esm2022/lib/filter/spatial-filter-tool/spatial-filter-tool.component.mjs +605 -0
- package/{esm2020 → esm2022}/lib/filter/time-filter-tool/index.mjs +2 -2
- package/esm2022/lib/filter/time-filter-tool/time-filter-tool.component.mjs +25 -0
- package/esm2022/lib/import-export/import-export-tool/import-export-tool.component.mjs +154 -0
- package/{esm2020 → esm2022}/lib/import-export/import-export-tool/index.mjs +2 -2
- package/{esm2020 → esm2022}/lib/import-export/import-export.module.mjs +51 -51
- package/esm2022/lib/import-export/import-export.state.mjs +39 -0
- package/{esm2020 → esm2022}/lib/import-export/index.mjs +3 -3
- package/{esm2020 → esm2022}/lib/integration.module.mjs +72 -72
- package/esm2022/lib/map/advanced-map-tool/advanced-coordinates/advanced-coordinates.component.mjs +524 -0
- package/esm2022/lib/map/advanced-map-tool/advanced-map-tool.component.mjs +92 -0
- package/esm2022/lib/map/advanced-map-tool/advanced-swipe/advanced-swipe.component.mjs +231 -0
- package/{esm2020 → esm2022}/lib/map/advanced-map-tool/index.mjs +2 -2
- package/{esm2020 → esm2022}/lib/map/index.mjs +9 -9
- package/esm2022/lib/map/layer-list-tool.state.mjs +40 -0
- package/{esm2020 → esm2022}/lib/map/map-details-tool/index.mjs +2 -2
- package/esm2022/lib/map/map-details-tool/map-details-tool.component.mjs +269 -0
- package/{esm2020 → esm2022}/lib/map/map-legend/index.mjs +2 -2
- package/esm2022/lib/map/map-legend/map-legend-tool.component.mjs +285 -0
- package/{esm2020 → esm2022}/lib/map/map-proximity-tool/index.mjs +2 -2
- package/esm2022/lib/map/map-proximity-tool/map-proximity-tool.component.mjs +220 -0
- package/esm2022/lib/map/map-proximity.state.mjs +180 -0
- package/{esm2020 → esm2022}/lib/map/map-tool/index.mjs +2 -2
- package/esm2022/lib/map/map-tool/map-tool.component.mjs +140 -0
- package/{esm2020 → esm2022}/lib/map/map-tools/index.mjs +2 -2
- package/esm2022/lib/map/map-tools/map-tools.component.mjs +521 -0
- package/esm2022/lib/map/map.module.mjs +168 -0
- package/esm2022/lib/map/map.state.mjs +56 -0
- package/{esm2020 → esm2022}/lib/measure/index.mjs +4 -4
- package/esm2022/lib/measure/measure.module.mjs +18 -0
- package/esm2022/lib/measure/measure.state.mjs +40 -0
- package/esm2022/lib/measure/measurer-tool/measurer-tool.component.mjs +54 -0
- package/{esm2020 → esm2022}/lib/measure/measurer-tool/measurer-tool.module.mjs +23 -25
- package/{esm2020 → esm2022}/lib/print/index.mjs +2 -2
- package/{esm2020 → esm2022}/lib/print/print-tool/index.mjs +2 -2
- package/esm2022/lib/print/print-tool/print-tool.component.mjs +35 -0
- package/{esm2020 → esm2022}/lib/print/print.module.mjs +26 -26
- package/{esm2020 → esm2022}/lib/search/index.mjs +7 -7
- package/esm2022/lib/search/query.state.mjs +48 -0
- package/esm2022/lib/search/search-bar/search-bar-binding.directive.mjs +72 -0
- package/{esm2020 → esm2022}/lib/search/search-bar/search-bar.module.mjs +22 -22
- package/esm2022/lib/search/search-results-tool/search-results-tool.component.mjs +631 -0
- package/esm2022/lib/search/search-results-tool/search-results-tool.module.mjs +65 -0
- package/esm2022/lib/search/search.module.mjs +19 -0
- package/esm2022/lib/search/search.state.mjs +145 -0
- package/{esm2020 → esm2022}/lib/storage/index.mjs +2 -2
- package/{esm2020 → esm2022}/lib/storage/storage.module.mjs +16 -16
- package/esm2022/lib/storage/storage.state.mjs +25 -0
- package/{esm2020 → esm2022}/lib/tool/index.mjs +2 -2
- package/{esm2020 → esm2022}/lib/tool/tool.module.mjs +16 -16
- package/esm2022/lib/tool/tool.state.mjs +56 -0
- package/{esm2020 → esm2022}/lib/workspace/index.mjs +4 -4
- package/esm2022/lib/workspace/shared/edition-actions.service.mjs +74 -0
- package/esm2022/lib/workspace/shared/feature-actions.service.mjs +66 -0
- package/{esm2020 → esm2022}/lib/workspace/shared/index.mjs +3 -3
- package/esm2022/lib/workspace/shared/wfs-actions.service.mjs +76 -0
- package/esm2022/lib/workspace/shared/workspace.utils.mjs +162 -0
- package/{esm2020 → esm2022}/lib/workspace/workspace-button/index.mjs +2 -2
- package/esm2022/lib/workspace/workspace-button/workspace-button.component.mjs +76 -0
- package/esm2022/lib/workspace/workspace.module.mjs +38 -0
- package/esm2022/lib/workspace/workspace.state.mjs +204 -0
- package/{esm2020 → esm2022}/public_api.mjs +34 -34
- package/{fesm2020 → fesm2022}/igo2-integration.mjs +6522 -6139
- package/fesm2022/igo2-integration.mjs.map +1 -0
- package/index.d.ts +5 -5
- package/lib/about/about-tool/about-tool.component.d.ts +34 -34
- package/lib/about/about-tool/index.d.ts +1 -1
- package/lib/about/about.module.d.ts +16 -16
- package/lib/about/index.d.ts +1 -1
- package/lib/analytics/analytics-listener.service.d.ts +33 -33
- package/lib/analytics/analytics.module.d.ts +6 -6
- package/lib/analytics/index.d.ts +1 -1
- package/lib/catalog/catalog-browser-tool/catalog-browser-tool.component.d.ts +57 -57
- package/lib/catalog/catalog-browser-tool/catalog-browser-tool.module.d.ts +12 -12
- package/lib/catalog/catalog-library-tool/catalog-library-tool.component.d.ts +50 -50
- package/lib/catalog/catalog-library-tool/catalog-library-tool.module.d.ts +12 -12
- package/lib/catalog/catalog.module.d.ts +8 -8
- package/lib/catalog/catalog.state.d.ts +37 -37
- package/lib/catalog/index.d.ts +5 -5
- package/lib/context/context-editor-tool/context-editor-tool.component.d.ts +9 -9
- package/lib/context/context-manager-tool/context-manager-tool.component.d.ts +15 -15
- package/lib/context/context-permission-manager-tool/context-permission-manager-tool.component.d.ts +5 -5
- package/lib/context/context-share-tool/context-share-tool.component.d.ts +13 -13
- package/lib/context/context.module.d.ts +11 -11
- package/lib/context/context.state.d.ts +37 -37
- package/lib/context/index.d.ts +5 -5
- package/lib/directions/directions-tool/directions-tool.component.d.ts +54 -54
- package/lib/directions/directions-tool/index.d.ts +1 -1
- package/lib/directions/directions.module.d.ts +10 -10
- package/lib/directions/directions.state.d.ts +28 -28
- package/lib/directions/index.d.ts +2 -2
- package/lib/draw/draw.module.d.ts +8 -8
- package/lib/draw/draw.state.d.ts +16 -16
- package/lib/draw/drawing-tool/drawing-tool.component.d.ts +31 -31
- package/lib/draw/drawing-tool/drawing-tool.module.d.ts +11 -0
- package/lib/draw/index.d.ts +2 -2
- package/lib/filter/active-ogc-filter-tool/active-ogc-filter-tool.animation.d.ts +2 -2
- package/lib/filter/active-ogc-filter-tool/active-ogc-filter-tool.component.d.ts +12 -12
- package/lib/filter/active-ogc-filter-tool/index.d.ts +1 -1
- package/lib/filter/active-time-filter-tool/active-time-filter-tool.animation.d.ts +2 -2
- package/lib/filter/active-time-filter-tool/active-time-filter-tool.component.d.ts +12 -12
- package/lib/filter/active-time-filter-tool/index.d.ts +1 -1
- package/lib/filter/filter.module.d.ts +15 -15
- package/lib/filter/index.d.ts +5 -5
- package/lib/filter/ogc-filter-tool/index.d.ts +1 -1
- package/lib/filter/ogc-filter-tool/ogc-filter-tool.component.d.ts +6 -6
- package/lib/filter/spatial-filter-tool/index.d.ts +1 -1
- package/lib/filter/spatial-filter-tool/spatial-filter-tool.component.d.ts +82 -82
- package/lib/filter/time-filter-tool/index.d.ts +1 -1
- package/lib/filter/time-filter-tool/time-filter-tool.component.d.ts +6 -6
- package/lib/import-export/import-export-tool/import-export-tool.component.d.ts +33 -33
- package/lib/import-export/import-export-tool/index.d.ts +1 -1
- package/lib/import-export/import-export.module.d.ts +15 -15
- package/lib/import-export/import-export.state.d.ts +24 -24
- package/lib/import-export/index.d.ts +2 -2
- package/lib/integration.module.d.ts +20 -20
- package/lib/map/advanced-map-tool/advanced-coordinates/advanced-coordinates.component.d.ts +97 -97
- package/lib/map/advanced-map-tool/advanced-map-tool.component.d.ts +12 -12
- package/lib/map/advanced-map-tool/advanced-swipe/advanced-swipe.component.d.ts +65 -65
- package/lib/map/advanced-map-tool/index.d.ts +1 -1
- package/lib/map/index.d.ts +8 -8
- package/lib/map/layer-list-tool.state.d.ts +19 -19
- package/lib/map/map-details-tool/index.d.ts +1 -1
- package/lib/map/map-details-tool/map-details-tool.component.d.ts +38 -38
- package/lib/map/map-legend/index.d.ts +1 -1
- package/lib/map/map-legend/map-legend-tool.component.d.ts +40 -40
- package/lib/map/map-proximity-tool/index.d.ts +1 -1
- package/lib/map/map-proximity-tool/map-proximity-tool.component.d.ts +36 -36
- package/lib/map/map-proximity.state.d.ts +31 -31
- package/lib/map/map-tool/index.d.ts +1 -1
- package/lib/map/map-tool/map-tool.component.d.ts +27 -27
- package/lib/map/map-tools/index.d.ts +1 -1
- package/lib/map/map-tools/map-tools.component.d.ts +66 -66
- package/lib/map/map.module.d.ts +38 -38
- package/lib/map/map.state.d.ts +24 -24
- package/lib/measure/index.d.ts +3 -3
- package/lib/measure/measure.module.d.ts +7 -7
- package/lib/measure/measure.state.d.ts +16 -16
- package/lib/measure/measurer-tool/measurer-tool.component.d.ts +24 -24
- package/lib/measure/measurer-tool/measurer-tool.module.d.ts +11 -11
- package/lib/print/index.d.ts +1 -1
- package/lib/print/print-tool/index.d.ts +1 -1
- package/lib/print/print-tool/print-tool.component.d.ts +10 -10
- package/lib/print/print.module.d.ts +10 -10
- package/lib/search/index.d.ts +6 -6
- package/lib/search/query.state.d.ts +26 -20
- package/lib/search/search-bar/search-bar-binding.directive.d.ts +20 -20
- package/lib/search/search-bar/search-bar.module.d.ts +11 -11
- package/lib/search/search-results-tool/search-results-tool.component.d.ts +100 -100
- package/lib/search/search-results-tool/search-results-tool.module.d.ts +18 -18
- package/lib/search/search.module.d.ts +8 -8
- package/lib/search/search.state.d.ts +62 -60
- package/lib/storage/index.d.ts +1 -1
- package/lib/storage/storage.module.d.ts +6 -6
- package/lib/storage/storage.state.d.ts +12 -12
- package/lib/tool/index.d.ts +1 -1
- package/lib/tool/tool.module.d.ts +6 -6
- package/lib/tool/tool.state.d.ts +22 -22
- package/lib/workspace/index.d.ts +3 -3
- package/lib/workspace/shared/edition-actions.service.d.ts +28 -26
- package/lib/workspace/shared/feature-actions.service.d.ts +27 -25
- package/lib/workspace/shared/index.d.ts +2 -2
- package/lib/workspace/shared/wfs-actions.service.d.ts +29 -27
- package/lib/workspace/shared/workspace.utils.d.ts +9 -2
- package/lib/workspace/workspace-button/index.d.ts +1 -1
- package/lib/workspace/workspace-button/workspace-button.component.d.ts +21 -21
- package/lib/workspace/workspace.module.d.ts +12 -12
- package/lib/workspace/workspace.state.d.ts +63 -63
- package/locale/en.integration.json +126 -0
- package/locale/fr.integration.json +126 -0
- package/package.json +14 -18
- package/public_api.d.ts +31 -31
- package/esm2020/lib/about/about-tool/about-tool.component.mjs +0 -185
- package/esm2020/lib/analytics/analytics-listener.service.mjs +0 -127
- package/esm2020/lib/catalog/catalog-browser-tool/catalog-browser-tool.component.mjs +0 -113
- package/esm2020/lib/catalog/catalog-browser-tool/catalog-browser-tool.module.mjs +0 -29
- package/esm2020/lib/catalog/catalog-library-tool/catalog-library-tool.component.mjs +0 -89
- package/esm2020/lib/catalog/catalog-library-tool/catalog-library-tool.module.mjs +0 -29
- package/esm2020/lib/catalog/catalog.module.mjs +0 -24
- package/esm2020/lib/catalog/catalog.state.mjs +0 -54
- package/esm2020/lib/context/context-editor-tool/context-editor-tool.component.mjs +0 -34
- package/esm2020/lib/context/context-manager-tool/context-manager-tool.component.mjs +0 -44
- package/esm2020/lib/context/context-permission-manager-tool/context-permission-manager-tool.component.mjs +0 -25
- package/esm2020/lib/context/context-share-tool/context-share-tool.component.mjs +0 -34
- package/esm2020/lib/context/context.state.mjs +0 -88
- package/esm2020/lib/directions/directions-tool/directions-tool.component.mjs +0 -84
- package/esm2020/lib/directions/directions.state.mjs +0 -64
- package/esm2020/lib/draw/draw.module.mjs +0 -21
- package/esm2020/lib/draw/draw.state.mjs +0 -39
- package/esm2020/lib/draw/drawing-tool/drawing-tool.component.mjs +0 -72
- package/esm2020/lib/filter/active-ogc-filter-tool/active-ogc-filter-tool.component.mjs +0 -44
- package/esm2020/lib/filter/active-time-filter-tool/active-time-filter-tool.component.mjs +0 -44
- package/esm2020/lib/filter/ogc-filter-tool/ogc-filter-tool.component.mjs +0 -25
- package/esm2020/lib/filter/spatial-filter-tool/spatial-filter-tool.component.mjs +0 -535
- package/esm2020/lib/filter/time-filter-tool/time-filter-tool.component.mjs +0 -25
- package/esm2020/lib/import-export/import-export-tool/import-export-tool.component.mjs +0 -141
- package/esm2020/lib/import-export/import-export.state.mjs +0 -41
- package/esm2020/lib/map/advanced-map-tool/advanced-coordinates/advanced-coordinates.component.mjs +0 -472
- package/esm2020/lib/map/advanced-map-tool/advanced-map-tool.component.mjs +0 -89
- package/esm2020/lib/map/advanced-map-tool/advanced-swipe/advanced-swipe.component.mjs +0 -218
- package/esm2020/lib/map/layer-list-tool.state.mjs +0 -42
- package/esm2020/lib/map/map-details-tool/map-details-tool.component.mjs +0 -256
- package/esm2020/lib/map/map-legend/map-legend-tool.component.mjs +0 -275
- package/esm2020/lib/map/map-proximity-tool/map-proximity-tool.component.mjs +0 -203
- package/esm2020/lib/map/map-proximity.state.mjs +0 -167
- package/esm2020/lib/map/map-tool/map-tool.component.mjs +0 -130
- package/esm2020/lib/map/map-tools/map-tools.component.mjs +0 -495
- package/esm2020/lib/map/map.module.mjs +0 -144
- package/esm2020/lib/map/map.state.mjs +0 -47
- package/esm2020/lib/measure/measure.module.mjs +0 -20
- package/esm2020/lib/measure/measure.state.mjs +0 -35
- package/esm2020/lib/measure/measurer-tool/measurer-tool.component.mjs +0 -45
- package/esm2020/lib/print/print-tool/print-tool.component.mjs +0 -33
- package/esm2020/lib/search/query.state.mjs +0 -34
- package/esm2020/lib/search/search-bar/search-bar-binding.directive.mjs +0 -61
- package/esm2020/lib/search/search-results-tool/search-results-tool.component.mjs +0 -593
- package/esm2020/lib/search/search-results-tool/search-results-tool.module.mjs +0 -65
- package/esm2020/lib/search/search.module.mjs +0 -24
- package/esm2020/lib/search/search.state.mjs +0 -132
- package/esm2020/lib/storage/storage.state.mjs +0 -23
- package/esm2020/lib/tool/tool.state.mjs +0 -52
- package/esm2020/lib/workspace/shared/edition-actions.service.mjs +0 -156
- package/esm2020/lib/workspace/shared/feature-actions.service.mjs +0 -144
- package/esm2020/lib/workspace/shared/wfs-actions.service.mjs +0 -158
- package/esm2020/lib/workspace/shared/workspace.utils.mjs +0 -7
- package/esm2020/lib/workspace/workspace-button/workspace-button.component.mjs +0 -69
- package/esm2020/lib/workspace/workspace.module.mjs +0 -37
- package/esm2020/lib/workspace/workspace.state.mjs +0 -188
- package/fesm2015/igo2-integration.mjs +0 -6759
- package/fesm2015/igo2-integration.mjs.map +0 -1
- package/fesm2020/igo2-integration.mjs.map +0 -1
- package/ngcc.config.js +0 -3
|
@@ -0,0 +1,521 @@
|
|
|
1
|
+
import { __decorate, __metadata } from "tslib";
|
|
2
|
+
import { Component, ChangeDetectionStrategy, Input, ViewChild } from '@angular/core';
|
|
3
|
+
import { ToolComponent } from '@igo2/common';
|
|
4
|
+
import { LayerListControlsEnum, SearchSourceService, sourceCanSearch, VectorLayer } from '@igo2/geo';
|
|
5
|
+
import { LayerListToolState } from '../layer-list-tool.state';
|
|
6
|
+
import { ToolState } from '../../tool/tool.state';
|
|
7
|
+
import { MapState } from '../map.state';
|
|
8
|
+
import { BehaviorSubject, combineLatest } from 'rxjs';
|
|
9
|
+
import { map, debounceTime } from 'rxjs/operators';
|
|
10
|
+
import { ImportExportMode, ImportExportState } from '../../import-export/import-export.state';
|
|
11
|
+
import * as i0 from "@angular/core";
|
|
12
|
+
import * as i1 from "../layer-list-tool.state";
|
|
13
|
+
import * as i2 from "../../tool/tool.state";
|
|
14
|
+
import * as i3 from "../map.state";
|
|
15
|
+
import * as i4 from "@igo2/geo";
|
|
16
|
+
import * as i5 from "../../import-export/import-export.state";
|
|
17
|
+
import * as i6 from "@angular/common";
|
|
18
|
+
import * as i7 from "@angular/material/tabs";
|
|
19
|
+
import * as i8 from "@angular/material/list";
|
|
20
|
+
import * as i9 from "@angular/material/icon";
|
|
21
|
+
import * as i10 from "../../workspace/workspace-button/workspace-button.component";
|
|
22
|
+
import * as i11 from "@ngx-translate/core";
|
|
23
|
+
const _c0 = ["tabGroup"];
|
|
24
|
+
function MapToolsComponent_igo_layer_list_5_ng_template_1_igo_style_modal_layer_button_0_Template(rf, ctx) { if (rf & 1) {
|
|
25
|
+
i0.ɵɵelement(0, "igo-style-modal-layer-button", 11);
|
|
26
|
+
} if (rf & 2) {
|
|
27
|
+
const layer_r9 = i0.ɵɵnextContext().layer;
|
|
28
|
+
i0.ɵɵproperty("layer", layer_r9);
|
|
29
|
+
} }
|
|
30
|
+
function MapToolsComponent_igo_layer_list_5_ng_template_1_igo_time_filter_button_3_Template(rf, ctx) { if (rf & 1) {
|
|
31
|
+
const _r16 = i0.ɵɵgetCurrentView();
|
|
32
|
+
i0.ɵɵelementStart(0, "igo-time-filter-button", 15);
|
|
33
|
+
i0.ɵɵlistener("click", function MapToolsComponent_igo_layer_list_5_ng_template_1_igo_time_filter_button_3_Template_igo_time_filter_button_click_0_listener() { i0.ɵɵrestoreView(_r16); const ctx_r15 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r15.activateTimeFilter()); });
|
|
34
|
+
i0.ɵɵelementEnd();
|
|
35
|
+
} if (rf & 2) {
|
|
36
|
+
const layer_r9 = i0.ɵɵnextContext().layer;
|
|
37
|
+
const ctx_r11 = i0.ɵɵnextContext(2);
|
|
38
|
+
i0.ɵɵproperty("header", ctx_r11.timeButton)("layer", layer_r9);
|
|
39
|
+
} }
|
|
40
|
+
function MapToolsComponent_igo_layer_list_5_ng_template_1_igo_ogc_filter_button_4_Template(rf, ctx) { if (rf & 1) {
|
|
41
|
+
const _r19 = i0.ɵɵgetCurrentView();
|
|
42
|
+
i0.ɵɵelementStart(0, "igo-ogc-filter-button", 15);
|
|
43
|
+
i0.ɵɵlistener("click", function MapToolsComponent_igo_layer_list_5_ng_template_1_igo_ogc_filter_button_4_Template_igo_ogc_filter_button_click_0_listener() { i0.ɵɵrestoreView(_r19); const ctx_r18 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r18.activateOgcFilter()); });
|
|
44
|
+
i0.ɵɵelementEnd();
|
|
45
|
+
} if (rf & 2) {
|
|
46
|
+
const layer_r9 = i0.ɵɵnextContext().layer;
|
|
47
|
+
const ctx_r12 = i0.ɵɵnextContext(2);
|
|
48
|
+
i0.ɵɵproperty("header", ctx_r12.ogcButton)("layer", layer_r9);
|
|
49
|
+
} }
|
|
50
|
+
function MapToolsComponent_igo_layer_list_5_ng_template_1_igo_export_button_5_Template(rf, ctx) { if (rf & 1) {
|
|
51
|
+
const _r23 = i0.ɵɵgetCurrentView();
|
|
52
|
+
i0.ɵɵelementStart(0, "igo-export-button", 16);
|
|
53
|
+
i0.ɵɵlistener("click", function MapToolsComponent_igo_layer_list_5_ng_template_1_igo_export_button_5_Template_igo_export_button_click_0_listener() { i0.ɵɵrestoreView(_r23); const layer_r9 = i0.ɵɵnextContext().layer; const ctx_r21 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r21.activateExport(layer_r9)); });
|
|
54
|
+
i0.ɵɵelementEnd();
|
|
55
|
+
} if (rf & 2) {
|
|
56
|
+
const layer_r9 = i0.ɵɵnextContext().layer;
|
|
57
|
+
i0.ɵɵproperty("layer", layer_r9);
|
|
58
|
+
} }
|
|
59
|
+
function MapToolsComponent_igo_layer_list_5_ng_template_1_Template(rf, ctx) { if (rf & 1) {
|
|
60
|
+
i0.ɵɵtemplate(0, MapToolsComponent_igo_layer_list_5_ng_template_1_igo_style_modal_layer_button_0_Template, 1, 1, "igo-style-modal-layer-button", 10);
|
|
61
|
+
i0.ɵɵelement(1, "igo-metadata-button", 11)(2, "igo-track-feature-button", 12);
|
|
62
|
+
i0.ɵɵtemplate(3, MapToolsComponent_igo_layer_list_5_ng_template_1_igo_time_filter_button_3_Template, 1, 2, "igo-time-filter-button", 13);
|
|
63
|
+
i0.ɵɵtemplate(4, MapToolsComponent_igo_layer_list_5_ng_template_1_igo_ogc_filter_button_4_Template, 1, 2, "igo-ogc-filter-button", 13);
|
|
64
|
+
i0.ɵɵtemplate(5, MapToolsComponent_igo_layer_list_5_ng_template_1_igo_export_button_5_Template, 1, 1, "igo-export-button", 14);
|
|
65
|
+
i0.ɵɵelement(6, "igo-workspace-button", 11);
|
|
66
|
+
} if (rf & 2) {
|
|
67
|
+
const layer_r9 = ctx.layer;
|
|
68
|
+
const ctx_r8 = i0.ɵɵnextContext(2);
|
|
69
|
+
i0.ɵɵproperty("ngIf", ctx_r8.isStyleEditButton(layer_r9));
|
|
70
|
+
i0.ɵɵadvance(1);
|
|
71
|
+
i0.ɵɵproperty("layer", layer_r9);
|
|
72
|
+
i0.ɵɵadvance(1);
|
|
73
|
+
i0.ɵɵproperty("trackFeature", true)("layer", layer_r9);
|
|
74
|
+
i0.ɵɵadvance(1);
|
|
75
|
+
i0.ɵɵproperty("ngIf", ctx_r8.isTimeFilterButton(layer_r9));
|
|
76
|
+
i0.ɵɵadvance(1);
|
|
77
|
+
i0.ɵɵproperty("ngIf", ctx_r8.isOGCFilterButton(layer_r9));
|
|
78
|
+
i0.ɵɵadvance(1);
|
|
79
|
+
i0.ɵɵproperty("ngIf", ctx_r8.isExportButton(layer_r9));
|
|
80
|
+
i0.ɵɵadvance(1);
|
|
81
|
+
i0.ɵɵproperty("layer", layer_r9);
|
|
82
|
+
} }
|
|
83
|
+
function MapToolsComponent_igo_layer_list_5_Template(rf, ctx) { if (rf & 1) {
|
|
84
|
+
const _r26 = i0.ɵɵgetCurrentView();
|
|
85
|
+
i0.ɵɵelementStart(0, "igo-layer-list", 8);
|
|
86
|
+
i0.ɵɵlistener("appliedFilterAndSort", function MapToolsComponent_igo_layer_list_5_Template_igo_layer_list_appliedFilterAndSort_0_listener($event) { i0.ɵɵrestoreView(_r26); const ctx_r25 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r25.onLayerListChange($event)); });
|
|
87
|
+
i0.ɵɵtemplate(1, MapToolsComponent_igo_layer_list_5_ng_template_1_Template, 7, 8, "ng-template", null, 9, i0.ɵɵtemplateRefExtractor);
|
|
88
|
+
i0.ɵɵelementEnd();
|
|
89
|
+
} if (rf & 2) {
|
|
90
|
+
const ctx_r1 = i0.ɵɵnextContext();
|
|
91
|
+
i0.ɵɵproperty("excludeBaseLayers", ctx_r1.excludeBaseLayers)("layerFilterAndSortOptions", ctx_r1.layerFilterAndSortOptions)("expandLegendOfVisibleLayers", ctx_r1.expandLegendOfVisibleLayers)("toggleLegendOnVisibilityChange", ctx_r1.toggleLegendOnVisibilityChange)("updateLegendOnResolutionChange", ctx_r1.updateLegendOnResolutionChange)("floatLabel", false)("queryBadge", ctx_r1.queryBadge)("map", ctx_r1.map);
|
|
92
|
+
} }
|
|
93
|
+
function MapToolsComponent_igo_layer_legend_list_9_Template(rf, ctx) { if (rf & 1) {
|
|
94
|
+
const _r28 = i0.ɵɵgetCurrentView();
|
|
95
|
+
i0.ɵɵelementStart(0, "igo-layer-legend-list", 17);
|
|
96
|
+
i0.ɵɵlistener("allLegendsShown", function MapToolsComponent_igo_layer_legend_list_9_Template_igo_layer_legend_list_allLegendsShown_0_listener($event) { i0.ɵɵrestoreView(_r28); const ctx_r27 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r27.onShowAllLegends($event)); });
|
|
97
|
+
i0.ɵɵpipe(1, "async");
|
|
98
|
+
i0.ɵɵelementEnd();
|
|
99
|
+
} if (rf & 2) {
|
|
100
|
+
const ctx_r2 = i0.ɵɵnextContext();
|
|
101
|
+
i0.ɵɵproperty("allowShowAllLegends", ctx_r2.allowShowAllLegends)("showAllLegendsValue", i0.ɵɵpipeBind1(1, 4, ctx_r2.showAllLegendsValue$))("excludeBaseLayers", ctx_r2.excludeBaseLayers)("updateLegendOnResolutionChange", ctx_r2.updateLegendOnResolutionChange);
|
|
102
|
+
} }
|
|
103
|
+
function MapToolsComponent_10_ng_template_0_Template(rf, ctx) { }
|
|
104
|
+
function MapToolsComponent_10_Template(rf, ctx) { if (rf & 1) {
|
|
105
|
+
i0.ɵɵtemplate(0, MapToolsComponent_10_ng_template_0_Template, 0, 0, "ng-template");
|
|
106
|
+
} }
|
|
107
|
+
function MapToolsComponent_p_12_Template(rf, ctx) { if (rf & 1) {
|
|
108
|
+
i0.ɵɵelementStart(0, "p", 18);
|
|
109
|
+
i0.ɵɵtext(1);
|
|
110
|
+
i0.ɵɵpipe(2, "async");
|
|
111
|
+
i0.ɵɵpipe(3, "translate");
|
|
112
|
+
i0.ɵɵpipe(4, "translate");
|
|
113
|
+
i0.ɵɵelementEnd();
|
|
114
|
+
} if (rf & 2) {
|
|
115
|
+
const ctx_r4 = i0.ɵɵnextContext();
|
|
116
|
+
i0.ɵɵadvance(1);
|
|
117
|
+
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(2, 1, ctx_r4.visibleLayers$).length ? i0.ɵɵpipeBind1(3, 3, "igo.integration.mapTool.noLayersInRange") : i0.ɵɵpipeBind1(4, 5, "igo.integration.mapTool.noLayersVisible"), " ");
|
|
118
|
+
} }
|
|
119
|
+
function MapToolsComponent_ng_template_15_mat_list_0_p_4_Template(rf, ctx) { if (rf & 1) {
|
|
120
|
+
i0.ɵɵelementStart(0, "p", 18);
|
|
121
|
+
i0.ɵɵtext(1);
|
|
122
|
+
i0.ɵɵpipe(2, "translate");
|
|
123
|
+
i0.ɵɵelementEnd();
|
|
124
|
+
} if (rf & 2) {
|
|
125
|
+
i0.ɵɵadvance(1);
|
|
126
|
+
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(2, 1, "igo.integration.mapTool.customize"), " ");
|
|
127
|
+
} }
|
|
128
|
+
function MapToolsComponent_ng_template_15_mat_list_0_mat_list_item_5_Template(rf, ctx) { if (rf & 1) {
|
|
129
|
+
const _r36 = i0.ɵɵgetCurrentView();
|
|
130
|
+
i0.ɵɵelementStart(0, "mat-list-item")(1, "mat-icon", 20);
|
|
131
|
+
i0.ɵɵnamespaceSVG();
|
|
132
|
+
i0.ɵɵelementStart(2, "svg", 21);
|
|
133
|
+
i0.ɵɵelement(3, "path", 22);
|
|
134
|
+
i0.ɵɵelementEnd()();
|
|
135
|
+
i0.ɵɵnamespaceHTML();
|
|
136
|
+
i0.ɵɵelementStart(4, "span", 23);
|
|
137
|
+
i0.ɵɵlistener("click", function MapToolsComponent_ng_template_15_mat_list_0_mat_list_item_5_Template_span_click_4_listener() { i0.ɵɵrestoreView(_r36); const ctx_r35 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r35.searchEmit()); });
|
|
138
|
+
i0.ɵɵtext(5);
|
|
139
|
+
i0.ɵɵpipe(6, "translate");
|
|
140
|
+
i0.ɵɵelementEnd()();
|
|
141
|
+
} if (rf & 2) {
|
|
142
|
+
i0.ɵɵadvance(5);
|
|
143
|
+
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(6, 1, "igo.integration.mapTool.search-tool"), " ");
|
|
144
|
+
} }
|
|
145
|
+
function MapToolsComponent_ng_template_15_mat_list_0_mat_list_item_6_Template(rf, ctx) { if (rf & 1) {
|
|
146
|
+
const _r38 = i0.ɵɵgetCurrentView();
|
|
147
|
+
i0.ɵɵelementStart(0, "mat-list-item")(1, "mat-icon", 20);
|
|
148
|
+
i0.ɵɵnamespaceSVG();
|
|
149
|
+
i0.ɵɵelementStart(2, "svg", 21);
|
|
150
|
+
i0.ɵɵelement(3, "path", 24);
|
|
151
|
+
i0.ɵɵelementEnd()();
|
|
152
|
+
i0.ɵɵnamespaceHTML();
|
|
153
|
+
i0.ɵɵelementStart(4, "span", 25);
|
|
154
|
+
i0.ɵɵlistener("click", function MapToolsComponent_ng_template_15_mat_list_0_mat_list_item_6_Template_span_click_4_listener() { i0.ɵɵrestoreView(_r38); const ctx_r37 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r37.catalogEmit()); });
|
|
155
|
+
i0.ɵɵtext(5);
|
|
156
|
+
i0.ɵɵpipe(6, "translate");
|
|
157
|
+
i0.ɵɵelementEnd()();
|
|
158
|
+
} if (rf & 2) {
|
|
159
|
+
i0.ɵɵadvance(5);
|
|
160
|
+
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(6, 1, "igo.integration.mapTool.catalog-tool"), " ");
|
|
161
|
+
} }
|
|
162
|
+
function MapToolsComponent_ng_template_15_mat_list_0_mat_list_item_7_Template(rf, ctx) { if (rf & 1) {
|
|
163
|
+
const _r40 = i0.ɵɵgetCurrentView();
|
|
164
|
+
i0.ɵɵelementStart(0, "mat-list-item")(1, "mat-icon", 20);
|
|
165
|
+
i0.ɵɵnamespaceSVG();
|
|
166
|
+
i0.ɵɵelementStart(2, "svg", 21);
|
|
167
|
+
i0.ɵɵelement(3, "path", 26);
|
|
168
|
+
i0.ɵɵelementEnd()();
|
|
169
|
+
i0.ɵɵnamespaceHTML();
|
|
170
|
+
i0.ɵɵelementStart(4, "span", 27);
|
|
171
|
+
i0.ɵɵlistener("click", function MapToolsComponent_ng_template_15_mat_list_0_mat_list_item_7_Template_span_click_4_listener() { i0.ɵɵrestoreView(_r40); const ctx_r39 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r39.contextEmit()); });
|
|
172
|
+
i0.ɵɵtext(5);
|
|
173
|
+
i0.ɵɵpipe(6, "translate");
|
|
174
|
+
i0.ɵɵelementEnd()();
|
|
175
|
+
} if (rf & 2) {
|
|
176
|
+
i0.ɵɵadvance(5);
|
|
177
|
+
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(6, 1, "igo.integration.mapTool.context-tool"), " ");
|
|
178
|
+
} }
|
|
179
|
+
function MapToolsComponent_ng_template_15_mat_list_0_Template(rf, ctx) { if (rf & 1) {
|
|
180
|
+
i0.ɵɵelementStart(0, "mat-list")(1, "p", 18);
|
|
181
|
+
i0.ɵɵtext(2);
|
|
182
|
+
i0.ɵɵpipe(3, "translate");
|
|
183
|
+
i0.ɵɵelementEnd();
|
|
184
|
+
i0.ɵɵtemplate(4, MapToolsComponent_ng_template_15_mat_list_0_p_4_Template, 3, 3, "p", 6);
|
|
185
|
+
i0.ɵɵtemplate(5, MapToolsComponent_ng_template_15_mat_list_0_mat_list_item_5_Template, 7, 3, "mat-list-item", 19);
|
|
186
|
+
i0.ɵɵtemplate(6, MapToolsComponent_ng_template_15_mat_list_0_mat_list_item_6_Template, 7, 3, "mat-list-item", 19);
|
|
187
|
+
i0.ɵɵtemplate(7, MapToolsComponent_ng_template_15_mat_list_0_mat_list_item_7_Template, 7, 3, "mat-list-item", 19);
|
|
188
|
+
i0.ɵɵelementEnd();
|
|
189
|
+
} if (rf & 2) {
|
|
190
|
+
const ctx_r30 = i0.ɵɵnextContext(2);
|
|
191
|
+
i0.ɵɵadvance(2);
|
|
192
|
+
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(3, 5, "igo.integration.mapTool.empty"), " ");
|
|
193
|
+
i0.ɵɵadvance(2);
|
|
194
|
+
i0.ɵɵproperty("ngIf", ctx_r30.layerAdditionAllowed && (ctx_r30.searchToolInToolbar || ctx_r30.catalogToolInToolbar || ctx_r30.contextToolInToolbar));
|
|
195
|
+
i0.ɵɵadvance(1);
|
|
196
|
+
i0.ɵɵproperty("ngIf", ctx_r30.layerAdditionAllowed && ctx_r30.searchToolInToolbar);
|
|
197
|
+
i0.ɵɵadvance(1);
|
|
198
|
+
i0.ɵɵproperty("ngIf", ctx_r30.layerAdditionAllowed && ctx_r30.catalogToolInToolbar);
|
|
199
|
+
i0.ɵɵadvance(1);
|
|
200
|
+
i0.ɵɵproperty("ngIf", ctx_r30.layerAdditionAllowed && ctx_r30.contextToolInToolbar);
|
|
201
|
+
} }
|
|
202
|
+
function MapToolsComponent_ng_template_15_Template(rf, ctx) { if (rf & 1) {
|
|
203
|
+
i0.ɵɵtemplate(0, MapToolsComponent_ng_template_15_mat_list_0_Template, 8, 7, "mat-list", 19);
|
|
204
|
+
} if (rf & 2) {
|
|
205
|
+
const ctx_r6 = i0.ɵɵnextContext();
|
|
206
|
+
i0.ɵɵproperty("ngIf", ctx_r6.delayedShowEmptyMapContent);
|
|
207
|
+
} }
|
|
208
|
+
/**
|
|
209
|
+
* Tool to browse a map's layers or to choose a different map
|
|
210
|
+
*/
|
|
211
|
+
export let MapToolsComponent = class MapToolsComponent {
|
|
212
|
+
layerListToolState;
|
|
213
|
+
toolState;
|
|
214
|
+
mapState;
|
|
215
|
+
searchSourceService;
|
|
216
|
+
importExportState;
|
|
217
|
+
layers$ = new BehaviorSubject([]);
|
|
218
|
+
showAllLegendsValue$ = new BehaviorSubject(false);
|
|
219
|
+
resolution$$;
|
|
220
|
+
visibleOrInRangeLayers$$;
|
|
221
|
+
delayedShowEmptyMapContent = false;
|
|
222
|
+
allowShowAllLegends = false;
|
|
223
|
+
showAllLegendsValue = false;
|
|
224
|
+
toggleLegendOnVisibilityChange = false;
|
|
225
|
+
expandLegendOfVisibleLayers = false;
|
|
226
|
+
updateLegendOnResolutionChange = false;
|
|
227
|
+
selectedTabAtOpening;
|
|
228
|
+
ogcButton = true;
|
|
229
|
+
timeButton = true;
|
|
230
|
+
layerAdditionAllowed = true;
|
|
231
|
+
get layerListControls() {
|
|
232
|
+
return this._layerListControls;
|
|
233
|
+
}
|
|
234
|
+
set layerListControls(value) {
|
|
235
|
+
const stateOptions = this.layerListToolState.getLayerListControls();
|
|
236
|
+
const stateKeyword = stateOptions.keyword;
|
|
237
|
+
const stateOnlyVisible = stateOptions.onlyVisible;
|
|
238
|
+
const stateSortAlpha = stateOptions.sortAlpha;
|
|
239
|
+
value.keyword = stateKeyword !== '' ? stateKeyword : value.keyword;
|
|
240
|
+
value.onlyVisible =
|
|
241
|
+
stateOnlyVisible !== undefined ? stateOnlyVisible : value.onlyVisible;
|
|
242
|
+
value.sortAlpha =
|
|
243
|
+
stateSortAlpha !== undefined ? stateSortAlpha : value.sortAlpha;
|
|
244
|
+
value.onlyVisible =
|
|
245
|
+
value.onlyVisible === undefined ? false : value.onlyVisible;
|
|
246
|
+
value.sortAlpha = value.sortAlpha === undefined ? false : value.sortAlpha;
|
|
247
|
+
this._layerListControls = value;
|
|
248
|
+
}
|
|
249
|
+
_layerListControls = {};
|
|
250
|
+
get map() {
|
|
251
|
+
return this.mapState.map;
|
|
252
|
+
}
|
|
253
|
+
queryBadge = false;
|
|
254
|
+
get visibleOrInRangeLayers$() {
|
|
255
|
+
return this.layers$.pipe(map((layers) => layers.filter((layer) => layer.visible$.value && layer.isInResolutionsRange$.value)));
|
|
256
|
+
}
|
|
257
|
+
get visibleLayers$() {
|
|
258
|
+
return this.layers$.pipe(map((layers) => layers.filter((layer) => layer.visible$.value)));
|
|
259
|
+
}
|
|
260
|
+
get excludeBaseLayers() {
|
|
261
|
+
return this.layerListControls.excludeBaseLayers || false;
|
|
262
|
+
}
|
|
263
|
+
get layerFilterAndSortOptions() {
|
|
264
|
+
const filterSortOptions = Object.assign({
|
|
265
|
+
showToolbar: LayerListControlsEnum.default
|
|
266
|
+
}, this.layerListControls);
|
|
267
|
+
switch (this.layerListControls.showToolbar) {
|
|
268
|
+
case LayerListControlsEnum.always:
|
|
269
|
+
filterSortOptions.showToolbar = LayerListControlsEnum.always;
|
|
270
|
+
break;
|
|
271
|
+
case LayerListControlsEnum.never:
|
|
272
|
+
filterSortOptions.showToolbar = LayerListControlsEnum.never;
|
|
273
|
+
break;
|
|
274
|
+
default:
|
|
275
|
+
break;
|
|
276
|
+
}
|
|
277
|
+
return filterSortOptions;
|
|
278
|
+
}
|
|
279
|
+
tabGroup;
|
|
280
|
+
get searchToolInToolbar() {
|
|
281
|
+
return (this.toolState.toolbox.getToolbar().indexOf('searchResults') !== -1 &&
|
|
282
|
+
this.searchSourceService
|
|
283
|
+
.getSources()
|
|
284
|
+
.filter(sourceCanSearch)
|
|
285
|
+
.filter((s) => s.available && s.getType() === 'Layer').length > 0);
|
|
286
|
+
}
|
|
287
|
+
get catalogToolInToolbar() {
|
|
288
|
+
return this.toolState.toolbox.getToolbar().indexOf('catalog') !== -1;
|
|
289
|
+
}
|
|
290
|
+
get contextToolInToolbar() {
|
|
291
|
+
return this.toolState.toolbox.getToolbar().indexOf('contextManager') !== -1;
|
|
292
|
+
}
|
|
293
|
+
constructor(layerListToolState, toolState, mapState, searchSourceService, importExportState) {
|
|
294
|
+
this.layerListToolState = layerListToolState;
|
|
295
|
+
this.toolState = toolState;
|
|
296
|
+
this.mapState = mapState;
|
|
297
|
+
this.searchSourceService = searchSourceService;
|
|
298
|
+
this.importExportState = importExportState;
|
|
299
|
+
}
|
|
300
|
+
ngOnInit() {
|
|
301
|
+
this.selectedTab();
|
|
302
|
+
this.resolution$$ = combineLatest([
|
|
303
|
+
this.map.layers$,
|
|
304
|
+
this.map.viewController.resolution$
|
|
305
|
+
])
|
|
306
|
+
.pipe(debounceTime(10))
|
|
307
|
+
.subscribe((bunch) => {
|
|
308
|
+
this.layers$.next(bunch[0].filter((layer) => layer.showInLayerList !== false &&
|
|
309
|
+
(!this.excludeBaseLayers || !layer.baseLayer)));
|
|
310
|
+
});
|
|
311
|
+
if (this.allowShowAllLegends) {
|
|
312
|
+
this.mapState.showAllLegendsValue =
|
|
313
|
+
this.mapState.showAllLegendsValue !== undefined
|
|
314
|
+
? this.mapState.showAllLegendsValue
|
|
315
|
+
: this.showAllLegendsValue || false;
|
|
316
|
+
this.showAllLegendsValue$.next(this.mapState.showAllLegendsValue);
|
|
317
|
+
}
|
|
318
|
+
else {
|
|
319
|
+
this.showAllLegendsValue$.next(false);
|
|
320
|
+
}
|
|
321
|
+
// prevent message to be shown too quickly. Waiting for layers
|
|
322
|
+
setTimeout(() => (this.delayedShowEmptyMapContent = true), 250);
|
|
323
|
+
}
|
|
324
|
+
ngOnDestroy() {
|
|
325
|
+
this.resolution$$.unsubscribe();
|
|
326
|
+
if (this.visibleOrInRangeLayers$$) {
|
|
327
|
+
this.visibleOrInRangeLayers$$.unsubscribe();
|
|
328
|
+
}
|
|
329
|
+
}
|
|
330
|
+
onShowAllLegends(event) {
|
|
331
|
+
this.mapState.showAllLegendsValue = event;
|
|
332
|
+
this.showAllLegendsValue$.next(event);
|
|
333
|
+
}
|
|
334
|
+
selectedTab() {
|
|
335
|
+
const userSelectedTab = this.layerListToolState.selectedTab$.value;
|
|
336
|
+
if (userSelectedTab !== undefined) {
|
|
337
|
+
this.layerListToolState.setSelectedTab(userSelectedTab);
|
|
338
|
+
}
|
|
339
|
+
else {
|
|
340
|
+
if (this.selectedTabAtOpening === 'legend') {
|
|
341
|
+
this.layerListToolState.setSelectedTab(1);
|
|
342
|
+
}
|
|
343
|
+
else {
|
|
344
|
+
this.layerListToolState.setSelectedTab(0);
|
|
345
|
+
}
|
|
346
|
+
}
|
|
347
|
+
}
|
|
348
|
+
tabChanged(tab) {
|
|
349
|
+
this.layerListToolState.setSelectedTab(tab.index);
|
|
350
|
+
this.layers$.next(this.map.layers.filter((layer) => layer.showInLayerList !== false &&
|
|
351
|
+
(!this.excludeBaseLayers || !layer.baseLayer)));
|
|
352
|
+
}
|
|
353
|
+
onLayerListChange(appliedFilters) {
|
|
354
|
+
this.layerListToolState.setKeyword(appliedFilters.keyword);
|
|
355
|
+
this.layerListToolState.setSortAlpha(appliedFilters.sortAlpha);
|
|
356
|
+
this.layerListToolState.setOnlyVisible(appliedFilters.onlyVisible);
|
|
357
|
+
}
|
|
358
|
+
showAllLegend() {
|
|
359
|
+
if (this.layers$.getValue().length === 0) {
|
|
360
|
+
return false;
|
|
361
|
+
}
|
|
362
|
+
else if (this.layers$.getValue().length !== 0 &&
|
|
363
|
+
this.allowShowAllLegends === false) {
|
|
364
|
+
let visibleOrInRangeLayers;
|
|
365
|
+
this.visibleOrInRangeLayers$$ = this.visibleOrInRangeLayers$.subscribe((value) => {
|
|
366
|
+
value.length === 0
|
|
367
|
+
? (visibleOrInRangeLayers = false)
|
|
368
|
+
: (visibleOrInRangeLayers = true);
|
|
369
|
+
});
|
|
370
|
+
if (visibleOrInRangeLayers === false) {
|
|
371
|
+
return false;
|
|
372
|
+
}
|
|
373
|
+
}
|
|
374
|
+
return true;
|
|
375
|
+
}
|
|
376
|
+
activateExport(layer) {
|
|
377
|
+
let id = layer.id;
|
|
378
|
+
if (layer.options.workspace?.workspaceId) {
|
|
379
|
+
id =
|
|
380
|
+
layer.options.workspace.workspaceId !== layer.id
|
|
381
|
+
? layer.options.workspace.workspaceId
|
|
382
|
+
: layer.id;
|
|
383
|
+
}
|
|
384
|
+
this.importExportState.setsExportOptions({ layers: [id] });
|
|
385
|
+
this.importExportState.setMode(ImportExportMode.export);
|
|
386
|
+
this.toolState.toolbox.activateTool('importExport');
|
|
387
|
+
}
|
|
388
|
+
activateTimeFilter() {
|
|
389
|
+
this.toolState.toolbox.activateTool('activeTimeFilter');
|
|
390
|
+
}
|
|
391
|
+
activateOgcFilter() {
|
|
392
|
+
this.toolState.toolbox.activateTool('activeOgcFilter');
|
|
393
|
+
}
|
|
394
|
+
searchEmit() {
|
|
395
|
+
this.toolState.toolbox.activateTool('searchResults');
|
|
396
|
+
}
|
|
397
|
+
catalogEmit() {
|
|
398
|
+
this.toolState.toolbox.activateTool('catalog');
|
|
399
|
+
}
|
|
400
|
+
contextEmit() {
|
|
401
|
+
this.toolState.toolbox.activateTool('contextManager');
|
|
402
|
+
}
|
|
403
|
+
isTimeFilterButton(layer) {
|
|
404
|
+
const options = layer.dataSource.options;
|
|
405
|
+
return this.timeButton && options.timeFilterable && options.timeFilter;
|
|
406
|
+
}
|
|
407
|
+
isOGCFilterButton(layer) {
|
|
408
|
+
const options = layer.dataSource.options;
|
|
409
|
+
return (this.ogcButton &&
|
|
410
|
+
options.ogcFilters &&
|
|
411
|
+
options.ogcFilters.enabled &&
|
|
412
|
+
(options.ogcFilters.pushButtons ||
|
|
413
|
+
options.ogcFilters.checkboxes ||
|
|
414
|
+
options.ogcFilters.radioButtons ||
|
|
415
|
+
options.ogcFilters.select ||
|
|
416
|
+
options.ogcFilters.autocomplete ||
|
|
417
|
+
options.ogcFilters.editable));
|
|
418
|
+
}
|
|
419
|
+
isExportButton(layer) {
|
|
420
|
+
if ((layer instanceof VectorLayer && layer.exportable === true) ||
|
|
421
|
+
(layer.dataSource.options.download &&
|
|
422
|
+
layer.dataSource.options.download.url) ||
|
|
423
|
+
(layer.options.workspace?.enabled &&
|
|
424
|
+
layer.options.workspace?.workspaceId !== layer.id)) {
|
|
425
|
+
return true;
|
|
426
|
+
}
|
|
427
|
+
return false;
|
|
428
|
+
}
|
|
429
|
+
isStyleEditButton(layer) {
|
|
430
|
+
if (layer instanceof VectorLayer) {
|
|
431
|
+
if (layer.options?.igoStyle?.editable) {
|
|
432
|
+
return true;
|
|
433
|
+
}
|
|
434
|
+
}
|
|
435
|
+
return false;
|
|
436
|
+
}
|
|
437
|
+
static ɵfac = function MapToolsComponent_Factory(t) { return new (t || MapToolsComponent)(i0.ɵɵdirectiveInject(i1.LayerListToolState), i0.ɵɵdirectiveInject(i2.ToolState), i0.ɵɵdirectiveInject(i3.MapState), i0.ɵɵdirectiveInject(i4.SearchSourceService), i0.ɵɵdirectiveInject(i5.ImportExportState)); };
|
|
438
|
+
static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: MapToolsComponent, selectors: [["igo-map-tools"]], viewQuery: function MapToolsComponent_Query(rf, ctx) { if (rf & 1) {
|
|
439
|
+
i0.ɵɵviewQuery(_c0, 7);
|
|
440
|
+
} if (rf & 2) {
|
|
441
|
+
let _t;
|
|
442
|
+
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.tabGroup = _t.first);
|
|
443
|
+
} }, inputs: { allowShowAllLegends: "allowShowAllLegends", showAllLegendsValue: "showAllLegendsValue", toggleLegendOnVisibilityChange: "toggleLegendOnVisibilityChange", expandLegendOfVisibleLayers: "expandLegendOfVisibleLayers", updateLegendOnResolutionChange: "updateLegendOnResolutionChange", selectedTabAtOpening: "selectedTabAtOpening", ogcButton: "ogcButton", timeButton: "timeButton", layerAdditionAllowed: "layerAdditionAllowed", layerListControls: "layerListControls", queryBadge: "queryBadge" }, decls: 17, vars: 23, consts: [[3, "selectedIndex", "selectedTabChange"], ["tabGroup", ""], [3, "label"], ["igoLayerListBinding", "", 3, "excludeBaseLayers", "layerFilterAndSortOptions", "expandLegendOfVisibleLayers", "toggleLegendOnVisibilityChange", "updateLegendOnResolutionChange", "floatLabel", "queryBadge", "map", "appliedFilterAndSort", 4, "ngIf", "ngIfElse"], ["igoLayerLegendListBinding", "", 3, "allowShowAllLegends", "showAllLegendsValue", "excludeBaseLayers", "updateLegendOnResolutionChange", "allLegendsShown", 4, "ngIf"], [4, "ngIf", "ngIfElse"], ["class", "map-empty mat-typography", 4, "ngIf"], ["emptyLayers", ""], ["igoLayerListBinding", "", 3, "excludeBaseLayers", "layerFilterAndSortOptions", "expandLegendOfVisibleLayers", "toggleLegendOnVisibilityChange", "updateLegendOnResolutionChange", "floatLabel", "queryBadge", "map", "appliedFilterAndSort"], ["igoLayerItemToolbar", ""], [3, "layer", 4, "ngIf"], [3, "layer"], [3, "trackFeature", "layer"], [3, "header", "layer", "click", 4, "ngIf"], [3, "layer", "click", 4, "ngIf"], [3, "header", "layer", "click"], [3, "layer", "click"], ["igoLayerLegendListBinding", "", 3, "allowShowAllLegends", "showAllLegendsValue", "excludeBaseLayers", "updateLegendOnResolutionChange", "allLegendsShown"], [1, "map-empty", "mat-typography"], [4, "ngIf"], ["matListItemIcon", ""], ["viewBox", "0 0 24 24", "fit", "", "height", "100%", "width", "100%", "preserveAspectRatio", "xMidYMid meet", "focusable", "false"], ["d", "M9.5,3A6.5,6.5 0 0,1 16,9.5C16,11.11 15.41,12.59 14.44,13.73L14.71,14H15.5L20.5,19L19,20.5L14,15.5V14.71L13.73,14.44C12.59,15.41 11.11,16 9.5,16A6.5,6.5 0 0,1 3,9.5A6.5,6.5 0 0,1 9.5,3M9.5,5C7,5 5,7 5,9.5C5,12 7,14 9.5,14C12,14 14,12 14,9.5C14,7 12,5 9.5,5Z"], ["matListItemTitle", "", 1, "search-tool", "mat-typography", 3, "click"], ["d", "M17,14H19V17H22V19H19V22H17V19H14V17H17V14M11,16L2,9L11,2L20,9L11,16M11,18.54L12,17.75V18C12,18.71 12.12,19.39 12.35,20L11,21.07L2,14.07L3.62,12.81L11,18.54Z"], ["matListItemTitle", "", 1, "catalog-tool", "mat-typography", 3, "click"], ["d", "M12,17.27L18.18,21L16.54,13.97L22,9.24L14.81,8.62L12,2L9.19,8.62L2,9.24L7.45,13.97L5.82,21L12,17.27Z"], ["matListItemTitle", "", 1, "context-tool", "mat-typography", 3, "click"]], template: function MapToolsComponent_Template(rf, ctx) { if (rf & 1) {
|
|
444
|
+
i0.ɵɵelementStart(0, "mat-tab-group", 0, 1);
|
|
445
|
+
i0.ɵɵlistener("selectedTabChange", function MapToolsComponent_Template_mat_tab_group_selectedTabChange_0_listener($event) { return ctx.tabChanged($event); });
|
|
446
|
+
i0.ɵɵpipe(2, "async");
|
|
447
|
+
i0.ɵɵelementStart(3, "mat-tab", 2);
|
|
448
|
+
i0.ɵɵpipe(4, "translate");
|
|
449
|
+
i0.ɵɵtemplate(5, MapToolsComponent_igo_layer_list_5_Template, 3, 8, "igo-layer-list", 3);
|
|
450
|
+
i0.ɵɵpipe(6, "async");
|
|
451
|
+
i0.ɵɵelementEnd();
|
|
452
|
+
i0.ɵɵelementStart(7, "mat-tab", 2);
|
|
453
|
+
i0.ɵɵpipe(8, "translate");
|
|
454
|
+
i0.ɵɵtemplate(9, MapToolsComponent_igo_layer_legend_list_9_Template, 2, 6, "igo-layer-legend-list", 4);
|
|
455
|
+
i0.ɵɵtemplate(10, MapToolsComponent_10_Template, 1, 0, null, 5);
|
|
456
|
+
i0.ɵɵpipe(11, "async");
|
|
457
|
+
i0.ɵɵtemplate(12, MapToolsComponent_p_12_Template, 5, 7, "p", 6);
|
|
458
|
+
i0.ɵɵpipe(13, "async");
|
|
459
|
+
i0.ɵɵpipe(14, "async");
|
|
460
|
+
i0.ɵɵelementEnd();
|
|
461
|
+
i0.ɵɵtemplate(15, MapToolsComponent_ng_template_15_Template, 1, 1, "ng-template", null, 7, i0.ɵɵtemplateRefExtractor);
|
|
462
|
+
i0.ɵɵelementEnd();
|
|
463
|
+
} if (rf & 2) {
|
|
464
|
+
const _r5 = i0.ɵɵreference(16);
|
|
465
|
+
i0.ɵɵproperty("selectedIndex", i0.ɵɵpipeBind1(2, 9, ctx.layerListToolState.selectedTab$));
|
|
466
|
+
i0.ɵɵadvance(3);
|
|
467
|
+
i0.ɵɵproperty("label", i0.ɵɵpipeBind1(4, 11, "igo.integration.tools.layers"));
|
|
468
|
+
i0.ɵɵadvance(2);
|
|
469
|
+
i0.ɵɵproperty("ngIf", i0.ɵɵpipeBind1(6, 13, ctx.layers$).length !== 0)("ngIfElse", _r5);
|
|
470
|
+
i0.ɵɵadvance(2);
|
|
471
|
+
i0.ɵɵproperty("label", i0.ɵɵpipeBind1(8, 15, "igo.integration.tools.legend"));
|
|
472
|
+
i0.ɵɵadvance(2);
|
|
473
|
+
i0.ɵɵproperty("ngIf", ctx.showAllLegend());
|
|
474
|
+
i0.ɵɵadvance(1);
|
|
475
|
+
i0.ɵɵproperty("ngIf", i0.ɵɵpipeBind1(11, 17, ctx.layers$).length !== 0)("ngIfElse", _r5);
|
|
476
|
+
i0.ɵɵadvance(2);
|
|
477
|
+
i0.ɵɵproperty("ngIf", !ctx.allowShowAllLegends && i0.ɵɵpipeBind1(13, 19, ctx.layers$).length !== 0 && i0.ɵɵpipeBind1(14, 21, ctx.visibleOrInRangeLayers$).length === 0);
|
|
478
|
+
} }, dependencies: [i6.NgIf, i7.MatTab, i7.MatTabGroup, i8.MatList, i8.MatListItem, i8.MatListItemIcon, i8.MatListItemTitle, i9.MatIcon, i4.LayerListComponent, i4.LayerLegendListComponent, i4.LayerListBindingDirective, i4.LayerLegendListBindingDirective, i4.TrackFeatureButtonComponent, i4.MetadataButtonComponent, i4.ExportButtonComponent, i4.StyleModalLayerButtonComponent, i4.TimeFilterButtonComponent, i4.OgcFilterButtonComponent, i10.WorkspaceButtonComponent, i6.AsyncPipe, i11.TranslatePipe], styles: ["[_nghost-%COMP%] mat-tab-group[_ngcontent-%COMP%]{height:100%}[_nghost-%COMP%] .mat-mdc-tab-body-wrapper{flex:1}[_nghost-%COMP%] .mat-tab-body{margin-top:8px}[_nghost-%COMP%] .mat-mdc-tab-body-content{overflow:hidden}[_nghost-%COMP%] .map-empty[_ngcontent-%COMP%], [_nghost-%COMP%] .search-tool[_ngcontent-%COMP%], [_nghost-%COMP%] .catalog-tool[_ngcontent-%COMP%], [_nghost-%COMP%] .context-tool[_ngcontent-%COMP%]{margin:10px}[_nghost-%COMP%] .map-empty[_ngcontent-%COMP%]{text-align:justify}[_nghost-%COMP%] .search-tool[_ngcontent-%COMP%], [_nghost-%COMP%] .catalog-tool[_ngcontent-%COMP%], [_nghost-%COMP%] .context-tool[_ngcontent-%COMP%]{cursor:pointer}[_nghost-%COMP%] mat-list[_ngcontent-%COMP%] mat-list-item[_ngcontent-%COMP%] h4[_ngcontent-%COMP%]{font-weight:700}[_nghost-%COMP%] mat-list-item[_ngcontent-%COMP%] .mdc-list-item__primary-text{font-size:smaller}[_nghost-%COMP%] mat-list.mat-mdc-list-base[_ngcontent-%COMP%] mat-list-item.mat-mdc-list-item[_ngcontent-%COMP%] div.mdc-list-item__content div.mdc-list-item__primary-text{padding-left:5px}"], changeDetection: 0 });
|
|
479
|
+
};
|
|
480
|
+
MapToolsComponent = __decorate([
|
|
481
|
+
ToolComponent({
|
|
482
|
+
name: 'mapTools',
|
|
483
|
+
title: 'igo.integration.tools.map',
|
|
484
|
+
icon: 'map'
|
|
485
|
+
}),
|
|
486
|
+
__metadata("design:paramtypes", [LayerListToolState,
|
|
487
|
+
ToolState,
|
|
488
|
+
MapState,
|
|
489
|
+
SearchSourceService,
|
|
490
|
+
ImportExportState])
|
|
491
|
+
], MapToolsComponent);
|
|
492
|
+
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(MapToolsComponent, [{
|
|
493
|
+
type: Component,
|
|
494
|
+
args: [{ selector: 'igo-map-tools', changeDetection: ChangeDetectionStrategy.OnPush, template: "<mat-tab-group\r\n #tabGroup\r\n [selectedIndex]=\"layerListToolState.selectedTab$ | async\"\r\n (selectedTabChange)=\"tabChanged($event)\"\r\n>\r\n <mat-tab [label]=\"'igo.integration.tools.layers' | translate\">\r\n <igo-layer-list\r\n *ngIf=\"(layers$ | async).length !== 0; else emptyLayers\"\r\n igoLayerListBinding\r\n [excludeBaseLayers]=\"excludeBaseLayers\"\r\n [layerFilterAndSortOptions]=\"layerFilterAndSortOptions\"\r\n [expandLegendOfVisibleLayers]=\"expandLegendOfVisibleLayers\"\r\n [toggleLegendOnVisibilityChange]=\"toggleLegendOnVisibilityChange\"\r\n [updateLegendOnResolutionChange]=\"updateLegendOnResolutionChange\"\r\n [floatLabel]=\"false\"\r\n [queryBadge]=\"queryBadge\"\r\n [map]=\"map\"\r\n (appliedFilterAndSort)=\"onLayerListChange($event)\"\r\n >\r\n <ng-template #igoLayerItemToolbar let-layer=\"layer\">\r\n <igo-style-modal-layer-button\r\n *ngIf=\"isStyleEditButton(layer)\"\r\n [layer]=\"layer\"\r\n ></igo-style-modal-layer-button>\r\n <igo-metadata-button [layer]=\"layer\"></igo-metadata-button>\r\n <igo-track-feature-button\r\n [trackFeature]=\"true\"\r\n [layer]=\"layer\"\r\n ></igo-track-feature-button>\r\n <igo-time-filter-button\r\n *ngIf=\"isTimeFilterButton(layer)\"\r\n [header]=\"timeButton\"\r\n [layer]=\"layer\"\r\n (click)=\"activateTimeFilter()\"\r\n ></igo-time-filter-button>\r\n <igo-ogc-filter-button\r\n *ngIf=\"isOGCFilterButton(layer)\"\r\n [header]=\"ogcButton\"\r\n [layer]=\"layer\"\r\n (click)=\"activateOgcFilter()\"\r\n ></igo-ogc-filter-button>\r\n <igo-export-button\r\n *ngIf=\"isExportButton(layer)\"\r\n [layer]=\"layer\"\r\n (click)=\"activateExport(layer)\"\r\n ></igo-export-button>\r\n <igo-workspace-button [layer]=\"layer\"></igo-workspace-button>\r\n </ng-template>\r\n </igo-layer-list>\r\n </mat-tab>\r\n\r\n <mat-tab [label]=\"'igo.integration.tools.legend' | translate\">\r\n <igo-layer-legend-list\r\n *ngIf=\"showAllLegend()\"\r\n igoLayerLegendListBinding\r\n [allowShowAllLegends]=\"allowShowAllLegends\"\r\n [showAllLegendsValue]=\"showAllLegendsValue$ | async\"\r\n (allLegendsShown)=\"onShowAllLegends($event)\"\r\n [excludeBaseLayers]=\"excludeBaseLayers\"\r\n [updateLegendOnResolutionChange]=\"updateLegendOnResolutionChange\"\r\n >\r\n </igo-layer-legend-list>\r\n <ng-template\r\n *ngIf=\"(layers$ | async).length !== 0; else emptyLayers\"\r\n ></ng-template>\r\n\r\n <p\r\n class=\"map-empty mat-typography\"\r\n *ngIf=\"\r\n !allowShowAllLegends &&\r\n (layers$ | async).length !== 0 &&\r\n (visibleOrInRangeLayers$ | async).length === 0\r\n \"\r\n >\r\n {{\r\n (visibleLayers$ | async).length\r\n ? ('igo.integration.mapTool.noLayersInRange' | translate)\r\n : ('igo.integration.mapTool.noLayersVisible' | translate)\r\n }}\r\n </p>\r\n </mat-tab>\r\n\r\n <ng-template #emptyLayers>\r\n <mat-list *ngIf=\"delayedShowEmptyMapContent\">\r\n <p class=\"map-empty mat-typography\">\r\n {{ 'igo.integration.mapTool.empty' | translate }}\r\n </p>\r\n <p\r\n *ngIf=\"\r\n layerAdditionAllowed &&\r\n (searchToolInToolbar || catalogToolInToolbar || contextToolInToolbar)\r\n \"\r\n class=\"map-empty mat-typography\"\r\n >\r\n {{ 'igo.integration.mapTool.customize' | translate }}\r\n </p>\r\n\r\n <mat-list-item *ngIf=\"layerAdditionAllowed && searchToolInToolbar\">\r\n <mat-icon matListItemIcon>\r\n <svg\r\n viewBox=\"0 0 24 24\"\r\n fit=\"\"\r\n height=\"100%\"\r\n width=\"100%\"\r\n preserveAspectRatio=\"xMidYMid meet\"\r\n focusable=\"false\"\r\n >\r\n <path\r\n d=\"M9.5,3A6.5,6.5 0 0,1 16,9.5C16,11.11 15.41,12.59 14.44,13.73L14.71,14H15.5L20.5,19L19,20.5L14,15.5V14.71L13.73,14.44C12.59,15.41 11.11,16 9.5,16A6.5,6.5 0 0,1 3,9.5A6.5,6.5 0 0,1 9.5,3M9.5,5C7,5 5,7 5,9.5C5,12 7,14 9.5,14C12,14 14,12 14,9.5C14,7 12,5 9.5,5Z\"\r\n ></path></svg\r\n ></mat-icon>\r\n <span\r\n matListItemTitle\r\n class=\"search-tool mat-typography\"\r\n (click)=\"searchEmit()\"\r\n >\r\n {{ 'igo.integration.mapTool.search-tool' | translate }}\r\n </span>\r\n </mat-list-item>\r\n <mat-list-item *ngIf=\"layerAdditionAllowed && catalogToolInToolbar\">\r\n <mat-icon matListItemIcon>\r\n <svg\r\n viewBox=\"0 0 24 24\"\r\n fit=\"\"\r\n height=\"100%\"\r\n width=\"100%\"\r\n preserveAspectRatio=\"xMidYMid meet\"\r\n focusable=\"false\"\r\n >\r\n <path\r\n d=\"M17,14H19V17H22V19H19V22H17V19H14V17H17V14M11,16L2,9L11,2L20,9L11,16M11,18.54L12,17.75V18C12,18.71 12.12,19.39 12.35,20L11,21.07L2,14.07L3.62,12.81L11,18.54Z\"\r\n ></path></svg\r\n ></mat-icon>\r\n <span\r\n matListItemTitle\r\n class=\"catalog-tool mat-typography\"\r\n (click)=\"catalogEmit()\"\r\n >\r\n {{ 'igo.integration.mapTool.catalog-tool' | translate }}\r\n </span>\r\n </mat-list-item>\r\n <mat-list-item *ngIf=\"layerAdditionAllowed && contextToolInToolbar\">\r\n <mat-icon matListItemIcon>\r\n <svg\r\n viewBox=\"0 0 24 24\"\r\n fit=\"\"\r\n height=\"100%\"\r\n width=\"100%\"\r\n preserveAspectRatio=\"xMidYMid meet\"\r\n focusable=\"false\"\r\n >\r\n <path\r\n d=\"M12,17.27L18.18,21L16.54,13.97L22,9.24L14.81,8.62L12,2L9.19,8.62L2,9.24L7.45,13.97L5.82,21L12,17.27Z\"\r\n ></path></svg\r\n ></mat-icon>\r\n <span\r\n matListItemTitle\r\n class=\"context-tool mat-typography\"\r\n (click)=\"contextEmit()\"\r\n >\r\n {{ 'igo.integration.mapTool.context-tool' | translate }}\r\n </span>\r\n </mat-list-item>\r\n </mat-list>\r\n </ng-template>\r\n</mat-tab-group>\r\n", styles: [":host mat-tab-group{height:100%}:host ::ng-deep .mat-mdc-tab-body-wrapper{flex:1}:host ::ng-deep .mat-tab-body{margin-top:8px}:host ::ng-deep .mat-mdc-tab-body-content{overflow:hidden}:host .map-empty,:host .search-tool,:host .catalog-tool,:host .context-tool{margin:10px}:host .map-empty{text-align:justify}:host .search-tool,:host .catalog-tool,:host .context-tool{cursor:pointer}:host mat-list mat-list-item h4{font-weight:700}:host mat-list-item ::ng-deep .mdc-list-item__primary-text{font-size:smaller}:host mat-list.mat-mdc-list-base mat-list-item.mat-mdc-list-item ::ng-deep div.mdc-list-item__content div.mdc-list-item__primary-text{padding-left:5px}\n"] }]
|
|
495
|
+
}], function () { return [{ type: i1.LayerListToolState }, { type: i2.ToolState }, { type: i3.MapState }, { type: i4.SearchSourceService }, { type: i5.ImportExportState }]; }, { allowShowAllLegends: [{
|
|
496
|
+
type: Input
|
|
497
|
+
}], showAllLegendsValue: [{
|
|
498
|
+
type: Input
|
|
499
|
+
}], toggleLegendOnVisibilityChange: [{
|
|
500
|
+
type: Input
|
|
501
|
+
}], expandLegendOfVisibleLayers: [{
|
|
502
|
+
type: Input
|
|
503
|
+
}], updateLegendOnResolutionChange: [{
|
|
504
|
+
type: Input
|
|
505
|
+
}], selectedTabAtOpening: [{
|
|
506
|
+
type: Input
|
|
507
|
+
}], ogcButton: [{
|
|
508
|
+
type: Input
|
|
509
|
+
}], timeButton: [{
|
|
510
|
+
type: Input
|
|
511
|
+
}], layerAdditionAllowed: [{
|
|
512
|
+
type: Input
|
|
513
|
+
}], layerListControls: [{
|
|
514
|
+
type: Input
|
|
515
|
+
}], queryBadge: [{
|
|
516
|
+
type: Input
|
|
517
|
+
}], tabGroup: [{
|
|
518
|
+
type: ViewChild,
|
|
519
|
+
args: ['tabGroup', { static: true }]
|
|
520
|
+
}] }); })();
|
|
521
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFwLXRvb2xzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2ludGVncmF0aW9uL3NyYy9saWIvbWFwL21hcC10b29scy9tYXAtdG9vbHMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvaW50ZWdyYXRpb24vc3JjL2xpYi9tYXAvbWFwLXRvb2xzL21hcC10b29scy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCx1QkFBdUIsRUFDdkIsS0FBSyxFQUVMLFNBQVMsRUFFVixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQzdDLE9BQU8sRUFDTCxxQkFBcUIsRUFHckIsbUJBQW1CLEVBQ25CLGVBQWUsRUFHZixXQUFXLEVBQ1osTUFBTSxXQUFXLENBQUM7QUFFbkIsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFFOUQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ2xELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDeEMsT0FBTyxFQUFFLGVBQWUsRUFBNEIsYUFBYSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2hGLE9BQU8sRUFBRSxHQUFHLEVBQUUsWUFBWSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbkQsT0FBTyxFQUNMLGdCQUFnQixFQUNoQixpQkFBaUIsRUFDbEIsTUFBTSx5Q0FBeUMsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7O0lDVnpDLG1EQUdnQzs7O0lBRDlCLGdDQUFlOzs7O0lBT2pCLGtEQUtDO0lBREMsbU9BQVMsZUFBQSw0QkFBb0IsQ0FBQSxJQUFDO0lBQy9CLGlCQUF5Qjs7OztJQUh4QiwyQ0FBcUIsbUJBQUE7Ozs7SUFJdkIsaURBS0M7SUFEQyxp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M0IsS0FBSztZQUVHLG1CQUFtQjtrQkFBM0IsS0FBSztZQUVHLDhCQUE4QjtrQkFBdEMsS0FBSztZQUVHLDJCQUEyQjtrQkFBbkMsS0FBSztZQUVHLDhCQUE4QjtrQkFBdEMsS0FBSztZQUVHLG9CQUFvQjtrQkFBNUIsS0FBSztZQUVHLFNBQVM7a0JBQWpCLEtBQUs7WUFFRyxVQUFVO2tCQUFsQixLQUFLO1lBRUcsb0JBQW9CO2tCQUE1QixLQUFLO1lBR0YsaUJBQWlCO2tCQURwQixLQUFLO1lBNEJHLFVBQVU7a0JBQWxCLEtBQUs7WUEyQ21DLFFBQVE7a0JBQWhELFNBQVM7bUJBQUMsVUFBVSxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ29tcG9uZW50LFxyXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxyXG4gIElucHV0LFxyXG4gIE9uSW5pdCxcclxuICBWaWV3Q2hpbGQsXHJcbiAgT25EZXN0cm95XHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5pbXBvcnQgeyBUb29sQ29tcG9uZW50IH0gZnJvbSAnQGlnbzIvY29tbW9uJztcclxuaW1wb3J0IHtcclxuICBMYXllckxpc3RDb250cm9sc0VudW0sXHJcbiAgTGF5ZXJMaXN0Q29udHJvbHNPcHRpb25zLFxyXG4gIElnb01hcCxcclxuICBTZWFyY2hTb3VyY2VTZXJ2aWNlLFxyXG4gIHNvdXJjZUNhblNlYXJjaCxcclxuICBMYXllcixcclxuICBFeHBvcnRPcHRpb25zLFxyXG4gIFZlY3RvckxheWVyXHJcbn0gZnJvbSAnQGlnbzIvZ2VvJztcclxuXHJcbmltcG9ydCB7IExheWVyTGlzdFRvb2xTdGF0ZSB9IGZyb20gJy4uL2xheWVyLWxpc3QtdG9vbC5zdGF0ZSc7XHJcbmltcG9ydCB7IE1hdFRhYkNoYW5nZUV2ZW50IH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdGFicyc7XHJcbmltcG9ydCB7IFRvb2xTdGF0ZSB9IGZyb20gJy4uLy4uL3Rvb2wvdG9vbC5zdGF0ZSc7XHJcbmltcG9ydCB7IE1hcFN0YXRlIH0gZnJvbSAnLi4vbWFwLnN0YXRlJztcclxuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBPYnNlcnZhYmxlLCBTdWJzY3JpcHRpb24sIGNvbWJpbmVMYXRlc3QgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgbWFwLCBkZWJvdW5jZVRpbWUgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7XHJcbiAgSW1wb3J0RXhwb3J0TW9kZSxcclxuICBJbXBvcnRFeHBvcnRTdGF0ZVxyXG59IGZyb20gJy4uLy4uL2ltcG9ydC1leHBvcnQvaW1wb3J0LWV4cG9ydC5zdGF0ZSc7XHJcbi8qKlxyXG4gKiBUb29sIHRvIGJyb3dzZSBhIG1hcCdzIGxheWVycyBvciB0byBjaG9vc2UgYSBkaWZmZXJlbnQgbWFwXHJcbiAqL1xyXG5AVG9vbENvbXBvbmVudCh7XHJcbiAgbmFtZTogJ21hcFRvb2xzJyxcclxuICB0aXRsZTogJ2lnby5pbnRlZ3JhdGlvbi50b29scy5tYXAnLFxyXG4gIGljb246ICdtYXAnXHJcbn0pXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnaWdvLW1hcC10b29scycsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL21hcC10b29scy5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vbWFwLXRvb2xzLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcclxufSlcclxuZXhwb3J0IGNsYXNzIE1hcFRvb2xzQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xyXG4gIGxheWVycyQ6IEJlaGF2aW9yU3ViamVjdDxMYXllcltdPiA9IG5ldyBCZWhhdmlvclN1YmplY3QoW10pO1xyXG4gIHNob3dBbGxMZWdlbmRzVmFsdWUkOiBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0KGZhbHNlKTtcclxuXHJcbiAgcHJpdmF0ZSByZXNvbHV0aW9uJCQ6IFN1YnNjcmlwdGlvbjtcclxuICBwcml2YXRlIHZpc2libGVPckluUmFuZ2VMYXllcnMkJDogU3Vic2NyaXB0aW9uO1xyXG4gIHB1YmxpYyBkZWxheWVkU2hvd0VtcHR5TWFwQ29udGVudDogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBASW5wdXQoKSBhbGxvd1Nob3dBbGxMZWdlbmRzOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIEBJbnB1dCgpIHNob3dBbGxMZWdlbmRzVmFsdWU6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgQElucHV0KCkgdG9nZ2xlTGVnZW5kT25WaXNpYmlsaXR5Q2hhbmdlOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIEBJbnB1dCgpIGV4cGFuZExlZ2VuZE9mVmlzaWJsZUxheWVyczogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBASW5wdXQoKSB1cGRhdGVMZWdlbmRPblJlc29sdXRpb25DaGFuZ2U6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgQElucHV0KCkgc2VsZWN0ZWRUYWJBdE9wZW5pbmc6IHN0cmluZztcclxuXHJcbiAgQElucHV0KCkgb2djQnV0dG9uOiBib29sZWFuID0gdHJ1ZTtcclxuXHJcbiAgQElucHV0KCkgdGltZUJ1dHRvbjogYm9vbGVhbiA9IHRydWU7XHJcblxyXG4gIEBJbnB1dCgpIGxheWVyQWRkaXRpb25BbGxvd2VkOiBib29sZWFuID0gdHJ1ZTtcclxuXHJcbiAgQElucHV0KClcclxuICBnZXQgbGF5ZXJMaXN0Q29udHJvbHMoKTogTGF5ZXJMaXN0Q29udHJvbHNPcHRpb25zIHtcclxuICAgIHJldHVybiB0aGlzLl9sYXllckxpc3RDb250cm9scztcclxuICB9XHJcbiAgc2V0IGxheWVyTGlzdENvbnRyb2xzKHZhbHVlOiBMYXllckxpc3RDb250cm9sc09wdGlvbnMpIHtcclxuICAgIGNvbnN0IHN0YXRlT3B0aW9ucyA9IHRoaXMubGF5ZXJMaXN0VG9vbFN0YXRlLmdldExheWVyTGlzdENvbnRyb2xzKCk7XHJcbiAgICBjb25zdCBzdGF0ZUtleXdvcmQgPSBzdGF0ZU9wdGlvbnMua2V5d29yZDtcclxuICAgIGNvbnN0IHN0YXRlT25seVZpc2libGUgPSBzdGF0ZU9wdGlvbnMub25seVZpc2libGU7XHJcbiAgICBjb25zdCBzdGF0ZVNvcnRBbHBoYSA9IHN0YXRlT3B0aW9ucy5zb3J0QWxwaGE7XHJcblxyXG4gICAgdmFsdWUua2V5d29yZCA9IHN0YXRlS2V5d29yZCAhPT0gJycgPyBzdGF0ZUtleXdvcmQgOiB2YWx1ZS5rZXl3b3JkO1xyXG4gICAgdmFsdWUub25seVZpc2libGUgPVxyXG4gICAgICBzdGF0ZU9ubHlWaXNpYmxlICE9PSB1bmRlZmluZWQgPyBzdGF0ZU9ubHlWaXNpYmxlIDogdmFsdWUub25seVZpc2libGU7XHJcbiAgICB2YWx1ZS5zb3J0QWxwaGEgPVxyXG4gICAgICBzdGF0ZVNvcnRBbHBoYSAhPT0gdW5kZWZpbmVkID8gc3RhdGVTb3J0QWxwaGEgOiB2YWx1ZS5zb3J0QWxwaGE7XHJcblxyXG4gICAgdmFsdWUub25seVZpc2libGUgPVxyXG4gICAgICB2YWx1ZS5vbmx5VmlzaWJsZSA9PT0gdW5kZWZpbmVkID8gZmFsc2UgOiB2YWx1ZS5vbmx5VmlzaWJsZTtcclxuICAgIHZhbHVlLnNvcnRBbHBoYSA9IHZhbHVlLnNvcnRBbHBoYSA9PT0gdW5kZWZpbmVkID8gZmFsc2UgOiB2YWx1ZS5zb3J0QWxwaGE7XHJcblxyXG4gICAgdGhpcy5fbGF5ZXJMaXN0Q29udHJvbHMgPSB2YWx1ZTtcclxuICB9XHJcbiAgcHJpdmF0ZSBfbGF5ZXJMaXN0Q29udHJvbHMgPSB7fTtcclxuXHJcbiAgZ2V0IG1hcCgpOiBJZ29NYXAge1xyXG4gICAgcmV0dXJuIHRoaXMubWFwU3RhdGUubWFwO1xyXG4gIH1cclxuXHJcbiAgQElucHV0KCkgcXVlcnlCYWRnZTogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBnZXQgdmlzaWJsZU9ySW5SYW5nZUxheWVycyQoKTogT2JzZXJ2YWJsZTxMYXllcltdPiB7XHJcbiAgICByZXR1cm4gdGhpcy5sYXllcnMkLnBpcGUoXHJcbiAgICAgIG1hcCgobGF5ZXJzKSA9PlxyXG4gICAgICAgIGxheWVycy5maWx0ZXIoXHJcbiAgICAgICAgICAobGF5ZXIpID0+IGxheWVyLnZpc2libGUkLnZhbHVlICYmIGxheWVyLmlzSW5SZXNvbHV0aW9uc1JhbmdlJC52YWx1ZVxyXG4gICAgICAgIClcclxuICAgICAgKVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIGdldCB2aXNpYmxlTGF5ZXJzJCgpOiBPYnNlcnZhYmxlPExheWVyW10+IHtcclxuICAgIHJldHVybiB0aGlzLmxheWVycyQucGlwZShcclxuICAgICAgbWFwKChsYXllcnMpID0+IGxheWVycy5maWx0ZXIoKGxheWVyKSA9PiBsYXllci52aXNpYmxlJC52YWx1ZSkpXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgZ2V0IGV4Y2x1ZGVCYXNlTGF5ZXJzKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMubGF5ZXJMaXN0Q29udHJvbHMuZXhjbHVkZUJhc2VMYXllcnMgfHwgZmFsc2U7XHJcbiAgfVxyXG5cclxuICBnZXQgbGF5ZXJGaWx0ZXJBbmRTb3J0T3B0aW9ucygpOiBMYXllckxpc3RDb250cm9sc09wdGlvbnMge1xyXG4gICAgY29uc3QgZmlsdGVyU29ydE9wdGlvbnMgPSBPYmplY3QuYXNzaWduKFxyXG4gICAgICB7XHJcbiAgICAgICAgc2hvd1Rvb2xiYXI6IExheWVyTGlzdENvbnRyb2xzRW51bS5kZWZhdWx0XHJcbiAgICAgIH0sXHJcbiAgICAgIHRoaXMubGF5ZXJMaXN0Q29udHJvbHNcclxuICAgICk7XHJcblxyXG4gICAgc3dpdGNoICh0aGlzLmxheWVyTGlzdENvbnRyb2xzLnNob3dUb29sYmFyKSB7XHJcbiAgICAgIGNhc2UgTGF5ZXJMaXN0Q29udHJvbHNFbnVtLmFsd2F5czpcclxuICAgICAgICBmaWx0ZXJTb3J0T3B0aW9ucy5zaG93VG9vbGJhciA9IExheWVyTGlzdENvbnRyb2xzRW51bS5hbHdheXM7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgTGF5ZXJMaXN0Q29udHJvbHNFbnVtLm5ldmVyOlxyXG4gICAgICAgIGZpbHRlclNvcnRPcHRpb25zLnNob3dUb29sYmFyID0gTGF5ZXJMaXN0Q29udHJvbHNFbnVtLm5ldmVyO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBkZWZhdWx0OlxyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGZpbHRlclNvcnRPcHRpb25zO1xyXG4gIH1cclxuXHJcbiAgQFZpZXdDaGlsZCgndGFiR3JvdXAnLCB7IHN0YXRpYzogdHJ1ZSB9KSB0YWJHcm91cDtcclxuXHJcbiAgZ2V0IHNlYXJjaFRvb2xJblRvb2xiYXIoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gKFxyXG4gICAgICB0aGlzLnRvb2xTdGF0ZS50b29sYm94LmdldFRvb2xiYXIoKS5pbmRleE9mKCdzZWFyY2hSZXN1bHRzJykgIT09IC0xICYmXHJcbiAgICAgIHRoaXMuc2VhcmNoU291cmNlU2VydmljZVxyXG4gICAgICAgIC5nZXRTb3VyY2VzKClcclxuICAgICAgICAuZmlsdGVyKHNvdXJjZUNhblNlYXJjaClcclxuICAgICAgICAuZmlsdGVyKChzKSA9PiBzLmF2YWlsYWJsZSAmJiBzLmdldFR5cGUoKSA9PT0gJ0xheWVyJykubGVuZ3RoID4gMFxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIGdldCBjYXRhbG9nVG9vbEluVG9vbGJhcigpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLnRvb2xTdGF0ZS50b29sYm94LmdldFRvb2xiYXIoKS5pbmRleE9mKCdjYXRhbG9nJykgIT09IC0xO1xyXG4gIH1cclxuXHJcbiAgZ2V0IGNvbnRleHRUb29sSW5Ub29sYmFyKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMudG9vbFN0YXRlLnRvb2xib3guZ2V0VG9vbGJhcigpLmluZGV4T2YoJ2NvbnRleHRNYW5hZ2VyJykgIT09IC0xO1xyXG4gIH1cclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwdWJsaWMgbGF5ZXJMaXN0VG9vbFN0YXRlOiBMYXllckxpc3RUb29sU3RhdGUsXHJcbiAgICBwcml2YXRlIHRvb2xTdGF0ZTogVG9vbFN0YXRlLFxyXG4gICAgcHVibGljIG1hcFN0YXRlOiBNYXBTdGF0ZSxcclxuICAgIHByaXZhdGUgc2VhcmNoU291cmNlU2VydmljZTogU2VhcmNoU291cmNlU2VydmljZSxcclxuICAgIHByaXZhdGUgaW1wb3J0RXhwb3J0U3RhdGU6IEltcG9ydEV4cG9ydFN0YXRlXHJcbiAgKSB7fVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuc2VsZWN0ZWRUYWIoKTtcclxuICAgIHRoaXMucmVzb2x1dGlvbiQkID0gY29tYmluZUxhdGVzdChbXHJcbiAgICAgIHRoaXMubWFwLmxheWVycyQsXHJcbiAgICAgIHRoaXMubWFwLnZpZXdDb250cm9sbGVyLnJlc29sdXRpb24kXHJcbiAgICBdKVxyXG4gICAgICAucGlwZShkZWJvdW5jZVRpbWUoMTApKVxyXG4gICAgICAuc3Vic2NyaWJlKChidW5jaDogW0xheWVyW10sIG51bWJlcl0pID0+IHtcclxuICAgICAgICB0aGlzLmxheWVycyQubmV4dChcclxuICAgICAgICAgIGJ1bmNoWzBdLmZpbHRlcihcclxuICAgICAgICAgICAgKGxheWVyKSA9PlxyXG4gICAgICAgICAgICAgIGxheWVyLnNob3dJbkxheWVyTGlzdCAhPT0gZmFsc2UgJiZcclxuICAgICAgICAgICAgICAoIXRoaXMuZXhjbHVkZUJhc2VMYXllcnMgfHwgIWxheWVyLmJhc2VMYXllcilcclxuICAgICAgICAgIClcclxuICAgICAgICApO1xyXG4gICAgICB9KTtcclxuXHJcbiAgICBpZiAodGhpcy5hbGxvd1Nob3dBbGxMZWdlbmRzKSB7XHJcbiAgICAgIHRoaXMubWFwU3RhdGUuc2hvd0FsbExlZ2VuZHNWYWx1ZSA9XHJcbiAgICAgICAgdGhpcy5tYXBTdGF0ZS5zaG93QWxsTGVnZW5kc1ZhbHVlICE9PSB1bmRlZmluZWRcclxuICAgICAgICAgID8gdGhpcy5tYXBTdGF0ZS5zaG93QWxsTGVnZW5kc1ZhbHVlXHJcbiAgICAgICAgICA6IHRoaXMuc2hvd0FsbExlZ2VuZHNWYWx1ZSB8fCBmYWxzZTtcclxuICAgICAgdGhpcy5zaG93QWxsTGVnZW5kc1ZhbHVlJC5uZXh0KHRoaXMubWFwU3RhdGUuc2hvd0FsbExlZ2VuZHNWYWx1ZSk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLnNob3dBbGxMZWdlbmRzVmFsdWUkLm5leHQoZmFsc2UpO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIHByZXZlbnQgbWVzc2FnZSB0byBiZSBzaG93biB0b28gcXVpY2tseS4gV2FpdGluZyBmb3IgbGF5ZXJzXHJcbiAgICBzZXRUaW1lb3V0KCgpID0+ICh0aGlzLmRlbGF5ZWRTaG93RW1wdHlNYXBDb250ZW50ID0gdHJ1ZSksIDI1MCk7XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHRoaXMucmVzb2x1dGlvbiQkLnVuc3Vic2NyaWJlKCk7XHJcbiAgICBpZiAodGhpcy52aXNpYmxlT3JJblJhbmdlTGF5ZXJzJCQpIHtcclxuICAgICAgdGhpcy52aXNpYmxlT3JJblJhbmdlTGF5ZXJzJCQudW5zdWJzY3JpYmUoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG9uU2hvd0FsbExlZ2VuZHMoZXZlbnQpIHtcclxuICAgIHRoaXMubWFwU3RhdGUuc2hvd0FsbExlZ2VuZHNWYWx1ZSA9IGV2ZW50O1xyXG4gICAgdGhpcy5zaG93QWxsTGVnZW5kc1ZhbHVlJC5uZXh0KGV2ZW50KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgc2VsZWN0ZWRUYWIoKSB7XHJcbiAgICBjb25zdCB1c2VyU2VsZWN0ZWRUYWIgPSB0aGlzLmxheWVyTGlzdFRvb2xTdGF0ZS5zZWxlY3RlZFRhYiQudmFsdWU7XHJcbiAgICBpZiAodXNlclNlbGVjdGVkVGFiICE9PSB1bmRlZmluZWQpIHtcclxuICAgICAgdGhpcy5sYXllckxpc3RUb29sU3RhdGUuc2V0U2VsZWN0ZWRUYWIodXNlclNlbGVjdGVkVGFiKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGlmICh0aGlzLnNlbGVjdGVkVGFiQXRPcGVuaW5nID09PSAnbGVnZW5kJykge1xyXG4gICAgICAgIHRoaXMubGF5ZXJMaXN0VG9vbFN0YXRlLnNldFNlbGVjdGVkVGFiKDEpO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMubGF5ZXJMaXN0VG9vbFN0YXRlLnNldFNlbGVjdGVkVGFiKDApO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgdGFiQ2hhbmdlZCh0YWI6IE1hdFRhYkNoYW5nZUV2ZW50KSB7XHJcbiAgICB0aGlzLmxheWVyTGlzdFRvb2xTdGF0ZS5zZXRTZWxlY3RlZFRhYih0YWIuaW5kZXgpO1xyXG4gICAgdGhpcy5sYXllcnMkLm5leHQoXHJcbiAgICAgIHRoaXMubWFwLmxheWVycy5maWx0ZXIoXHJcbiAgICAgICAgKGxheWVyKSA9PlxyXG4gICAgICAgICAgbGF5ZXIuc2hvd0luTGF5ZXJMaXN0ICE9PSBmYWxzZSAmJlxyXG4gICAgICAgICAgKCF0aGlzLmV4Y2x1ZGVCYXNlTGF5ZXJzIHx8ICFsYXllci5iYXNlTGF5ZXIpXHJcbiAgICAgIClcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBvbkxheWVyTGlzdENoYW5nZShhcHBsaWVkRmlsdGVyczogTGF5ZXJMaXN0Q29udHJvbHNPcHRpb25zKSB7XHJcbiAgICB0aGlzLmxheWVyTGlzdFRvb2xTdGF0ZS5zZXRLZXl3b3JkKGFwcGxpZWRGaWx0ZXJzLmtleXdvcmQpO1xyXG4gICAgdGhpcy5sYXllckxpc3RUb29sU3RhdGUuc2V0U29ydEFscGhhKGFwcGxpZWRGaWx0ZXJzLnNvcnRBbHBoYSk7XHJcbiAgICB0aGlzLmxheWVyTGlzdFRvb2xTdGF0ZS5zZXRPbmx5VmlzaWJsZShhcHBsaWVkRmlsdGVycy5vbmx5VmlzaWJsZSk7XHJcbiAgfVxyXG5cclxuICBzaG93QWxsTGVnZW5kKCkge1xyXG4gICAgaWYgKHRoaXMubGF5ZXJzJC5nZXRWYWx1ZSgpLmxlbmd0aCA9PT0gMCkge1xyXG4gICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICB9IGVsc2UgaWYgKFxyXG4gICAgICB0aGlzLmxheWVycyQuZ2V0VmFsdWUoKS5sZW5ndGggIT09IDAgJiZcclxuICAgICAgdGhpcy5hbGxvd1Nob3dBbGxMZWdlbmRzID09PSBmYWxzZVxyXG4gICAgKSB7XHJcbiAgICAgIGxldCB2aXNpYmxlT3JJblJhbmdlTGF5ZXJzO1xyXG4gICAgICB0aGlzLnZpc2libGVPckluUmFuZ2VMYXllcnMkJCA9IHRoaXMudmlzaWJsZU9ySW5SYW5nZUxheWVycyQuc3Vic2NyaWJlKFxyXG4gICAgICAgICh2YWx1ZSkgPT4ge1xyXG4gICAgICAgICAgdmFsdWUubGVuZ3RoID09PSAwXHJcbiAgICAgICAgICAgID8gKHZpc2libGVPckluUmFuZ2VMYXllcnMgPSBmYWxzZSlcclxuICAgICAgICAgICAgOiAodmlzaWJsZU9ySW5SYW5nZUxheWVycyA9IHRydWUpO1xyXG4gICAgICAgIH1cclxuICAgICAgKTtcclxuXHJcbiAgICAgIGlmICh2aXNpYmxlT3JJblJhbmdlTGF5ZXJzID09PSBmYWxzZSkge1xyXG4gICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIHRydWU7XHJcbiAgfVxyXG5cclxuICBhY3RpdmF0ZUV4cG9ydChsYXllcjogTGF5ZXIpIHtcclxuICAgIGxldCBpZCA9IGxheWVyLmlkO1xyXG4gICAgaWYgKGxheWVyLm9wdGlvbnMud29ya3NwYWNlPy53b3Jrc3BhY2VJZCkge1xyXG4gICAgICBpZCA9XHJcbiAgICAgICAgbGF5ZXIub3B0aW9ucy53b3Jrc3BhY2Uud29ya3NwYWNlSWQgIT09IGxheWVyLmlkXHJcbiAgICAgICAgICA/IGxheWVyLm9wdGlvbnMud29ya3NwYWNlLndvcmtzcGFjZUlkXHJcbiAgICAgICAgICA6IGxheWVyLmlkO1xyXG4gICAgfVxyXG4gICAgdGhpcy5pbXBvcnRFeHBvcnRTdGF0ZS5zZXRzRXhwb3J0T3B0aW9ucyh7IGxheWVyczogW2lkXSB9IGFzIEV4cG9ydE9wdGlvbnMpO1xyXG4gICAgdGhpcy5pbXBvcnRFeHBvcnRTdGF0ZS5zZXRNb2RlKEltcG9ydEV4cG9ydE1vZGUuZXhwb3J0KTtcclxuICAgIHRoaXMudG9vbFN0YXRlLnRvb2xib3guYWN0aXZhdGVUb29sKCdpbXBvcnRFeHBvcnQnKTtcclxuICB9XHJcblxyXG4gIGFjdGl2YXRlVGltZUZpbHRlcigpIHtcclxuICAgIHRoaXMudG9vbFN0YXRlLnRvb2xib3guYWN0aXZhdGVUb29sKCdhY3RpdmVUaW1lRmlsdGVyJyk7XHJcbiAgfVxyXG5cclxuICBhY3RpdmF0ZU9nY0ZpbHRlcigpIHtcclxuICAgIHRoaXMudG9vbFN0YXRlLnRvb2xib3guYWN0aXZhdGVUb29sKCdhY3RpdmVPZ2NGaWx0ZXInKTtcclxuICB9XHJcblxyXG4gIHNlYXJjaEVtaXQoKSB7XHJcbiAgICB0aGlzLnRvb2xTdGF0ZS50b29sYm94LmFjdGl2YXRlVG9vbCgnc2VhcmNoUmVzdWx0cycpO1xyXG4gIH1cclxuXHJcbiAgY2F0YWxvZ0VtaXQoKSB7XHJcbiAgICB0aGlzLnRvb2xTdGF0ZS50b29sYm94LmFjdGl2YXRlVG9vbCgnY2F0YWxvZycpO1xyXG4gIH1cclxuXHJcbiAgY29udGV4dEVtaXQoKSB7XHJcbiAgICB0aGlzLnRvb2xTdGF0ZS50b29sYm94LmFjdGl2YXRlVG9vbCgnY29udGV4dE1hbmFnZXInKTtcclxuICB9XHJcblxyXG4gIGlzVGltZUZpbHRlckJ1dHRvbihsYXllcik6IGJvb2xlYW4ge1xyXG4gICAgY29uc3Qgb3B0aW9ucyA9IGxheWVyLmRhdGFTb3VyY2Uub3B0aW9ucztcclxuICAgIHJldHVybiB0aGlzLnRpbWVCdXR0b24gJiYgb3B0aW9ucy50aW1lRmlsdGVyYWJsZSAmJiBvcHRpb25zLnRpbWVGaWx0ZXI7XHJcbiAgfVxyXG5cclxuICBpc09HQ0ZpbHRlckJ1dHRvbihsYXllcik6IGJvb2xlYW4ge1xyXG4gICAgY29uc3Qgb3B0aW9ucyA9IGxheWVyLmRhdGFTb3VyY2Uub3B0aW9ucztcclxuICAgIHJldHVybiAoXHJcbiAgICAgIHRoaXMub2djQnV0dG9uICYmXHJcbiAgICAgIG9wdGlvbnMub2djRmlsdGVycyAmJlxyXG4gICAgICBvcHRpb25zLm9nY0ZpbHRlcnMuZW5hYmxlZCAmJlxyXG4gICAgICAob3B0aW9ucy5vZ2NGaWx0ZXJzLnB1c2hCdXR0b25zIHx8XHJcbiAgICAgICAgb3B0aW9ucy5vZ2NGaWx0ZXJzLmNoZWNrYm94ZXMgfHxcclxuICAgICAgICBvcHRpb25zLm9nY0ZpbHRlcnMucmFkaW9CdXR0b25zIHx8XHJcbiAgICAgICAgb3B0aW9ucy5vZ2NGaWx0ZXJzLnNlbGVjdCB8fFxyXG4gICAgICAgIG9wdGlvbnMub2djRmlsdGVycy5hdXRvY29tcGxldGUgfHxcclxuICAgICAgICBvcHRpb25zLm9nY0ZpbHRlcnMuZWRpdGFibGUpXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgaXNFeHBvcnRCdXR0b24obGF5ZXI6IExheWVyKTogYm9vbGVhbiB7XHJcbiAgICBpZiAoXHJcbiAgICAgIChsYXllciBpbnN0YW5jZW9mIFZlY3RvckxheWVyICYmIGxheWVyLmV4cG9ydGFibGUgPT09IHRydWUpIHx8XHJcbiAgICAgIChsYXllci5kYXRhU291cmNlLm9wdGlvbnMuZG93bmxvYWQgJiZcclxuICAgICAgICBsYXllci5kYXRhU291cmNlLm9wdGlvbnMuZG93bmxvYWQudXJsKSB8fFxyXG4gICAgICAobGF5ZXIub3B0aW9ucy53b3Jrc3BhY2U/LmVuYWJsZWQgJiZcclxuICAgICAgICBsYXllci5vcHRpb25zLndvcmtzcGFjZT8ud29ya3NwYWNlSWQgIT09IGxheWVyLmlkKVxyXG4gICAgKSB7XHJcbiAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgaXNTdHlsZUVkaXRCdXR0b24obGF5ZXI6IExheWVyKTogYm9vbGVhbiB7XHJcbiAgICBpZiAobGF5ZXIgaW5zdGFuY2VvZiBWZWN0b3JMYXllcikge1xyXG4gICAgICBpZiAoKGxheWVyIGFzIFZlY3RvckxheWVyKS5vcHRpb25zPy5pZ29TdHlsZT8uZWRpdGFibGUpIHtcclxuICAgICAgICByZXR1cm4gdHJ1ZTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIGZhbHNlO1xyXG4gIH1cclxufVxyXG4iLCI8bWF0LXRhYi1ncm91cFxyXG4gICN0YWJHcm91cFxyXG4gIFtzZWxlY3RlZEluZGV4XT1cImxheWVyTGlzdFRvb2xTdGF0ZS5zZWxlY3RlZFRhYiQgfCBhc3luY1wiXHJcbiAgKHNlbGVjdGVkVGFiQ2hhbmdlKT1cInRhYkNoYW5nZWQoJGV2ZW50KVwiXHJcbj5cclxuICA8bWF0LXRhYiBbbGFiZWxdPVwiJ2lnby5pbnRlZ3JhdGlvbi50b29scy5sYXllcnMnIHwgdHJhbnNsYXRlXCI+XHJcbiAgICA8aWdvLWxheWVyLWxpc3RcclxuICAgICAgKm5nSWY9XCIobGF5ZXJzJCB8IGFzeW5jKS5sZW5ndGggIT09IDA7IGVsc2UgZW1wdHlMYXllcnNcIlxyXG4gICAgICBpZ29MYXllckxpc3RCaW5kaW5nXHJcbiAgICAgIFtleGNsdWRlQmFzZUxheWVyc109XCJleGNsdWRlQmFzZUxheWVyc1wiXHJcbiAgICAgIFtsYXllckZpbHRlckFuZFNvcnRPcHRpb25zXT1cImxheWVyRmlsdGVyQW5kU29ydE9wdGlvbnNcIlxyXG4gICAgICBbZXhwYW5kTGVnZW5kT2ZWaXNpYmxlTGF5ZXJzXT1cImV4cGFuZExlZ2VuZE9mVmlzaWJsZUxheWVyc1wiXHJcbiAgICAgIFt0b2dnbGVMZWdlbmRPblZpc2liaWxpdHlDaGFuZ2VdPVwidG9nZ2xlTGVnZW5kT25WaXNpYmlsaXR5Q2hhbmdlXCJcclxuICAgICAgW3VwZGF0ZUxlZ2VuZE9uUmVzb2x1dGlvbkNoYW5nZV09XCJ1cGRhdGVMZWdlbmRPblJlc29sdXRpb25DaGFuZ2VcIlxyXG4gICAgICBbZmxvYXRMYWJlbF09XCJmYWxzZVwiXHJcbiAgICAgIFtxdWVyeUJhZGdlXT1cInF1ZXJ5QmFkZ2VcIlxyXG4gICAgICBbbWFwXT1cIm1hcFwiXHJcbiAgICAgIChhcHBsaWVkRmlsdGVyQW5kU29ydCk9XCJvbkxheWVyTGlzdENoYW5nZSgkZXZlbnQpXCJcclxuICAgID5cclxuICAgICAgPG5nLXRlbXBsYXRlICNpZ29MYXllckl0ZW1Ub29sYmFyIGxldC1sYXllcj1cImxheWVyXCI+XHJcbiAgICAgICAgPGlnby1zdHlsZS1tb2RhbC1sYXllci1idXR0b25cclxuICAgICAgICAgICpuZ0lmPVwiaXNTdHlsZUVkaXRCdXR0b24obGF5ZXIpXCJcclxuICAgICAgICAgIFtsYXllcl09XCJsYXllclwiXHJcbiAgICAgICAgPjwvaWdvLXN0eWxlLW1vZGFsLWxheWVyLWJ1dHRvbj5cclxuICAgICAgICA8aWdvLW1ldGFkYXRhLWJ1dHRvbiBbbGF5ZXJdPVwibGF5ZXJcIj48L2lnby1tZXRhZGF0YS1idXR0b24+XHJcbiAgICAgICAgPGlnby10cmFjay1mZWF0dXJlLWJ1dHRvblxyXG4gICAgICAgICAgW3RyYWNrRmVhdHVyZV09XCJ0cnVlXCJcclxuICAgICAgICAgIFtsYXllcl09XCJsYXllclwiXHJcbiAgICAgICAgPjwvaWdvLXRyYWNrLWZlYXR1cmUtYnV0dG9uPlxyXG4gICAgICAgIDxpZ28tdGltZS1maWx0ZXItYnV0dG9uXHJcbiAgICAgICAgICAqbmdJZj1cImlzVGltZUZpbHRlckJ1dHRvbihsYXllcilcIlxyXG4gICAgICAgICAgW2hlYWRlcl09XCJ0aW1lQnV0dG9uXCJcclxuICAgICAgICAgIFtsYXllcl09XCJsYXllclwiXHJcbiAgICAgICAgICAoY2xpY2spPVwiYWN0aXZhdGVUaW1lRmlsdGVyKClcIlxyXG4gICAgICAgID48L2lnby10aW1lLWZpbHRlci1idXR0b24+XHJcbiAgICAgICAgPGlnby1vZ2MtZmlsdGVyLWJ1dHRvblxyXG4gICAgICAgICAgKm5nSWY9XCJpc09HQ0ZpbHRlckJ1dHRvbihsYXllcilcIlxyXG4gICAgICAgICAgW2hlYWRlcl09XCJvZ2NCdXR0b25cIlxyXG4gICAgICAgICAgW2xheWVyXT1cImxheWVyXCJcclxuICAgICAgICAgIChjbGljayk9XCJhY3RpdmF0ZU9nY0ZpbHRlcigpXCJcclxuICAgICAgICA+PC9pZ28tb2djLWZpbHRlci1idXR0b24+XHJcbiAgICAgICAgPGlnby1leHBvcnQtYnV0dG9uXHJcbiAgICAgICAgICAqbmdJZj1cImlzRXhwb3J0QnV0dG9uKGxheWVyKVwiXHJcbiAgICAgICAgICBbbGF5ZXJdPVwibGF5ZXJcIlxyXG4gICAgICAgICAgKGNsaWNrKT1cImFjdGl2YXRlRXhwb3J0KGxheWVyKVwiXHJcbiAgICAgICAgPjwvaWdvLWV4cG9ydC1idXR0b24+XHJcbiAgICAgICAgPGlnby13b3Jrc3BhY2UtYnV0dG9uIFtsYXllcl09XCJsYXllclwiPjwvaWdvLXdvcmtzcGFjZS1idXR0b24+XHJcbiAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICA8L2lnby1sYXllci1saXN0PlxyXG4gIDwvbWF0LXRhYj5cclxuXHJcbiAgPG1hdC10YWIgW2xhYmVsXT1cIidpZ28uaW50ZWdyYXRpb24udG9vbHMubGVnZW5kJyB8IHRyYW5zbGF0ZVwiPlxyXG4gICAgPGlnby1sYXllci1sZWdlbmQtbGlzdFxyXG4gICAgICAqbmdJZj1cInNob3dBbGxMZWdlbmQoKVwiXHJcbiAgICAgIGlnb0xheWVyTGVnZW5kTGlzdEJpbmRpbmdcclxuICAgICAgW2FsbG93U2hvd0FsbExlZ2VuZHNdPVwiYWxsb3dTaG93QWxsTGVnZW5kc1wiXHJcbiAgICAgIFtzaG93QWxsTGVnZW5kc1ZhbHVlXT1cInNob3dBbGxMZWdlbmRzVmFsdWUkIHwgYXN5bmNcIlxyXG4gICAgICAoYWxsTGVnZW5kc1Nob3duKT1cIm9uU2hvd0FsbExlZ2VuZHMoJGV2ZW50KVwiXHJcbiAgICAgIFtleGNsdWRlQmFzZUxheWVyc109XCJleGNsdWRlQmFzZUxheWVyc1wiXHJcbiAgICAgIFt1cGRhdGVMZWdlbmRPblJlc29sdXRpb25DaGFuZ2VdPVwidXBkYXRlTGVnZW5kT25SZXNvbHV0aW9uQ2hhbmdlXCJcclxuICAgID5cclxuICAgIDwvaWdvLWxheWVyLWxlZ2VuZC1saXN0PlxyXG4gICAgPG5nLXRlbXBsYXRlXHJcbiAgICAgICpuZ0lmPVwiKGxheWVycyQgfCBhc3luYykubGVuZ3RoICE9PSAwOyBlbHNlIGVtcHR5TGF5ZXJzXCJcclxuICAgID48L25nLXRlbXBsYXRlPlxyXG5cclxuICAgIDxwXHJcbiAgICAgIGNsYXNzPVwibWFwLWVtcHR5IG1hdC10eXBvZ3JhcGh5XCJcclxuICAgICAgKm5nSWY9XCJcclxuICAgICAgICAhYWxsb3dTaG93QWxsTGVnZW5kcyAmJlxyXG4gICAgICAgIChsYXllcnMkIHwgYXN5bmMpLmxlbmd0aCAhPT0gMCAmJlxyXG4gICAgICAgICh2aXNpYmxlT3JJblJhbmdlTGF5ZXJzJCB8IGFzeW5jKS5sZW5ndGggPT09IDBcclxuICAgICAgXCJcclxuICAgID5cclxuICAgICAge3tcclxuICAgICAgICAodmlzaWJsZUxheWVycyQgfCBhc3luYykubGVuZ3RoXHJcbiAgICAgICAgICA/ICgnaWdvLmludGVncmF0aW9uLm1hcFRvb2wubm9MYXllcnNJblJhbmdlJyB8IHRyYW5zbGF0ZSlcclxuICAgICAgICAgIDogKCdpZ28uaW50ZWdyYXRpb24ubWFwVG9vbC5ub0xheWVyc1Zpc2libGUnIHwgdHJhbnNsYXRlKVxyXG4gICAgICB9fVxyXG4gICAgPC9wPlxyXG4gIDwvbWF0LXRhYj5cclxuXHJcbiAgPG5nLXRlbXBsYXRlICNlbXB0eUxheWVycz5cclxuICAgIDxtYXQtbGlzdCAqbmdJZj1cImRlbGF5ZWRTaG93RW1wdHlNYXBDb250ZW50XCI+XHJcbiAgICAgIDxwIGNsYXNzPVwibWFwLWVtcHR5IG1hdC10eXBvZ3JhcGh5XCI+XHJcbiAgICAgICAge3sgJ2lnby5pbnRlZ3JhdGlvbi5tYXBUb29sLmVtcHR5JyB8IHRyYW5zbGF0ZSB9fVxyXG4gICAgICA8L3A+XHJcbiAgICAgIDxwXHJcbiAgICAgICAgKm5nSWY9XCJcclxuICAgICAgICAgIGxheWVyQWRkaXRpb25BbGxvd2VkICYmXHJcbiAgICAgICAgICAoc2VhcmNoVG9vbEluVG9vbGJhciB8fCBjYXRhbG9nVG9vbEluVG9vbGJhciB8fCBjb250ZXh0VG9vbEluVG9vbGJhcilcclxuICAgICAgICBcIlxyXG4gICAgICAgIGNsYXNzPVwibWFwLWVtcHR5IG1hdC10eXBvZ3JhcGh5XCJcclxuICAgICAgPlxyXG4gICAgICAgIHt7ICdpZ28uaW50ZWdyYXRpb24ubWFwVG9vbC5jdXN0b21pemUnIHwgdHJhbnNsYXRlIH19XHJcbiAgICAgIDwvcD5cclxuXHJcbiAgICAgIDxtYXQtbGlzdC1pdGVtICpuZ0lmPVwibGF5ZXJBZGRpdGlvbkFsbG93ZWQgJiYgc2VhcmNoVG9vbEluVG9vbGJhclwiPlxyXG4gICAgICAgIDxtYXQtaWNvbiBtYXRMaXN0SXRlbUljb24+XHJcbiAgICAgICAgICA8c3ZnXHJcbiAgICAgICAgICAgIHZpZXdCb3g9XCIwIDAgMjQgMjRcIlxyXG4gICAgICAgICAgICBmaXQ9XCJcIlxyXG4gICAgICAgICAgICBoZWlnaHQ9XCIxMDAlXCJcclxuICAgICAgICAgICAgd2lkdGg9XCIxMDAlXCJcclxuICAgICAgICAgICAgcHJlc2VydmVBc3BlY3RSYXRpbz1cInhNaWRZTWlkIG1lZXRcIlxyXG4gICAgICAgICAgICBmb2N1c2FibGU9XCJmYWxzZVwiXHJcbiAgICAgICAgICA+XHJcbiAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgZD1cIk05LjUsM0E2LjUsNi41IDAgMCwxIDE2LDkuNUMxNiwxMS4xMSAxNS40MSwxMi41OSAxNC40NCwxMy43M0wxNC43MSwxNEgxNS41TDIwLjUsMTlMMTksMjAuNUwxNCwxNS41VjE0LjcxTDEzLjczLDE0LjQ0QzEyLjU5LDE1LjQxIDExLjExLDE2IDkuNSwxNkE2LjUsNi41IDAgMCwxIDMsOS41QTYuNSw2LjUgMCAwLDEgOS41LDNNOS41LDVDNyw1IDUsNyA1LDkuNUM1LDEyIDcsMTQgOS41LDE0QzEyLDE0IDE0LDEyIDE0LDkuNUMxNCw3IDEyLDUgOS41LDVaXCJcclxuICAgICAgICAgICAgPjwvcGF0aD48L3N2Z1xyXG4gICAgICAgID48L21hdC1pY29uPlxyXG4gICAgICAgIDxzcGFuXHJcbiAgICAgICAgICBtYXRMaXN0SXRlbVRpdGxlXHJcbiAgICAgICAgICBjbGFzcz1cInNlYXJjaC10b29sIG1hdC10eXBvZ3JhcGh5XCJcclxuICAgICAgICAgIChjbGljayk9XCJzZWFyY2hFbWl0KClcIlxyXG4gICAgICAgID5cclxuICAgICAgICAgIHt7ICdpZ28uaW50ZWdyYXRpb24ubWFwVG9vbC5zZWFyY2gtdG9vbCcgfCB0cmFuc2xhdGUgfX1cclxuICAgICAgICA8L3NwYW4+XHJcbiAgICAgIDwvbWF0LWxpc3QtaXRlbT5cclxuICAgICAgPG1hdC1saXN0LWl0ZW0gKm5nSWY9XCJsYXllckFkZGl0aW9uQWxsb3dlZCAmJiBjYXRhbG9nVG9vbEluVG9vbGJhclwiPlxyXG4gICAgICAgIDxtYXQtaWNvbiBtYXRMaXN0SXRlbUljb24+XHJcbiAgICAgICAgICA8c3ZnXHJcbiAgICAgICAgICAgIHZpZXdCb3g9XCIwIDAgMjQgMjRcIlxyXG4gICAgICAgICAgICBmaXQ9XCJcIlxyXG4gICAgICAgICAgICBoZWlnaHQ9XCIxMDAlXCJcclxuICAgICAgICAgICAgd2lkdGg9XCIxMDAlXCJcclxuICAgICAgICAgICAgcHJlc2VydmVBc3BlY3RSYXRpbz1cInhNaWRZTWlkIG1lZXRcIlxyXG4gICAgICAgICAgICBmb2N1c2FibGU9XCJmYWxzZVwiXHJcbiAgICAgICAgICA+XHJcbiAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgZD1cIk0xNywxNEgxOVYxN0gyMlYxOUgxOVYyMkgxN1YxOUgxNFYxN0gxN1YxNE0xMSwxNkwyLDlMMTEsMkwyMCw5TDExLDE2TTExLDE4LjU0TDEyLDE3Ljc1VjE4QzEyLDE4LjcxIDEyLjEyLDE5LjM5IDEyLjM1LDIwTDExLDIxLjA3TDIsMTQuMDdMMy42MiwxMi44MUwxMSwxOC41NFpcIlxyXG4gICAgICAgICAgICA+PC9wYXRoPjwvc3ZnXHJcbiAgICAgICAgPjwvbWF0LWljb24+XHJcbiAgICAgICAgPHNwYW5cclxuICAgICAgICAgIG1hdExpc3RJdGVtVGl0bGVcclxuICAgICAgICAgIGNsYXNzPVwiY2F0YWxvZy10b29sIG1hdC10eXBvZ3JhcGh5XCJcclxuICAgICAgICAgIChjbGljayk9XCJjYXRhbG9nRW1pdCgpXCJcclxuICAgICAgICA+XHJcbiAgICAgICAgICB7eyAnaWdvLmludGVncmF0aW9uLm1hcFRvb2wuY2F0YWxvZy10b29sJyB8IHRyYW5zbGF0ZSB9fVxyXG4gICAgICAgIDwvc3Bhbj5cclxuICAgICAgPC9tYXQtbGlzdC1pdGVtPlxyXG4gICAgICA8bWF0LWxpc3QtaXRlbSAqbmdJZj1cImxheWVyQWRkaXRpb25BbGxvd2VkICYmIGNvbnRleHRUb29sSW5Ub29sYmFyXCI+XHJcbiAgICAgICAgPG1hdC1pY29uIG1hdExpc3RJdGVtSWNvbj5cclxuICAgICAgICAgIDxzdmdcclxuICAgICAgICAgICAgdmlld0JveD1cIjAgMCAyNCAyNFwiXHJcbiAgICAgICAgICAgIGZpdD1cIlwiXHJcbiAgICAgICAgICAgIGhlaWdodD1cIjEwMCVcIlxyXG4gICAgICAgICAgICB3aWR0aD1cIjEwMCVcIlxyXG4gICAgICAgICAgICBwcmVzZXJ2ZUFzcGVjdFJhdGlvPVwieE1pZFlNaWQgbWVldFwiXHJcbiAgICAgICAgICAgIGZvY3VzYWJsZT1cImZhbHNlXCJcclxuICAgICAgICAgID5cclxuICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICBkPVwiTTEyLDE3LjI3TDE4LjE4LDIxTDE2LjU0LDEzLjk3TDIyLDkuMjRMMTQuODEsOC42MkwxMiwyTDkuMTksOC42MkwyLDkuMjRMNy40NSwxMy45N0w1LjgyLDIxTDEyLDE3LjI3WlwiXHJcbiAgICAgICAgICAgID48L3BhdGg+PC9zdmdcclxuICAgICAgICA+PC9tYXQtaWNvbj5cclxuICAgICAgICA8c3BhblxyXG4gICAgICAgICAgbWF0TGlzdEl0ZW1UaXRsZVxyXG4gICAgICAgICAgY2xhc3M9XCJjb250ZXh0LXRvb2wgbWF0LXR5cG9ncmFwaHlcIlxyXG4gICAgICAgICAgKGNsaWNrKT1cImNvbnRleHRFbWl0KClcIlxyXG4gICAgICAgID5cclxuICAgICAgICAgIHt7ICdpZ28uaW50ZWdyYXRpb24ubWFwVG9vbC5jb250ZXh0LXRvb2wnIHwgdHJhbnNsYXRlIH19XHJcbiAgICAgICAgPC9zcGFuPlxyXG4gICAgICA8L21hdC1saXN0LWl0ZW0+XHJcbiAgICA8L21hdC1saXN0PlxyXG4gIDwvbmctdGVtcGxhdGU+XHJcbjwvbWF0LXRhYi1ncm91cD5cclxuIl19
|