@igo2/integration 18.0.1-next.2 → 18.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (114) hide show
  1. package/esm2022/igo2-integration.mjs +5 -0
  2. package/esm2022/lib/about/about-tool/about-tool.component.mjs +152 -0
  3. package/esm2022/lib/about/about-tool/index.mjs +2 -0
  4. package/esm2022/lib/about/about.module.mjs +26 -0
  5. package/esm2022/lib/about/index.mjs +2 -0
  6. package/esm2022/lib/analytics/analytics-listener.service.mjs +149 -0
  7. package/esm2022/lib/analytics/index.mjs +2 -0
  8. package/esm2022/lib/catalog/catalog-browser-tool/catalog-browser-tool.component.mjs +117 -0
  9. package/esm2022/lib/catalog/catalog-browser-tool/catalog-browser-tool.module.mjs +19 -0
  10. package/esm2022/lib/catalog/catalog-library-tool/catalog-library-tool.component.mjs +110 -0
  11. package/esm2022/lib/catalog/catalog-library-tool/catalog-library-tool.module.mjs +19 -0
  12. package/esm2022/lib/catalog/catalog.module.mjs +19 -0
  13. package/esm2022/lib/catalog/catalog.state.mjs +58 -0
  14. package/esm2022/lib/catalog/index.mjs +6 -0
  15. package/esm2022/lib/context/context-editor-tool/context-editor-tool.component.mjs +33 -0
  16. package/esm2022/lib/context/context-manager-tool/context-manager-tool.component.mjs +46 -0
  17. package/esm2022/lib/context/context-permission-manager-tool/context-permission-manager-tool.component.mjs +23 -0
  18. package/esm2022/lib/context/context-share-tool/context-share-tool.component.mjs +40 -0
  19. package/esm2022/lib/context/context.directive.mjs +11 -0
  20. package/esm2022/lib/context/context.module.mjs +23 -0
  21. package/esm2022/lib/context/context.state.mjs +96 -0
  22. package/esm2022/lib/context/index.mjs +7 -0
  23. package/esm2022/lib/directions/directions-tool/directions-tool.component.mjs +121 -0
  24. package/esm2022/lib/directions/directions-tool/index.mjs +2 -0
  25. package/esm2022/lib/directions/directions.module.mjs +25 -0
  26. package/esm2022/lib/directions/directions.state.mjs +57 -0
  27. package/esm2022/lib/directions/index.mjs +3 -0
  28. package/esm2022/lib/draw/draw.module.mjs +18 -0
  29. package/esm2022/lib/draw/draw.state.mjs +43 -0
  30. package/esm2022/lib/draw/drawing-tool/drawing-tool.component.mjs +72 -0
  31. package/esm2022/lib/draw/drawing-tool/drawing-tool.module.mjs +19 -0
  32. package/esm2022/lib/draw/index.mjs +4 -0
  33. package/esm2022/lib/environment/environment.interface.mjs +2 -0
  34. package/esm2022/lib/environment/index.mjs +2 -0
  35. package/esm2022/lib/filter/active-ogc-filter-tool/active-ogc-filter-tool.animation.mjs +10 -0
  36. package/esm2022/lib/filter/active-ogc-filter-tool/active-ogc-filter-tool.component.mjs +43 -0
  37. package/esm2022/lib/filter/active-ogc-filter-tool/index.mjs +2 -0
  38. package/esm2022/lib/filter/active-time-filter-tool/active-time-filter-tool.animation.mjs +10 -0
  39. package/esm2022/lib/filter/active-time-filter-tool/active-time-filter-tool.component.mjs +43 -0
  40. package/esm2022/lib/filter/active-time-filter-tool/index.mjs +2 -0
  41. package/esm2022/lib/filter/filter.module.mjs +53 -0
  42. package/esm2022/lib/filter/index.mjs +18 -0
  43. package/esm2022/lib/filter/ogc-filter-tool/index.mjs +2 -0
  44. package/esm2022/lib/filter/ogc-filter-tool/ogc-filter-tool.component.mjs +22 -0
  45. package/esm2022/lib/filter/spatial-filter-tool/index.mjs +2 -0
  46. package/esm2022/lib/filter/spatial-filter-tool/spatial-filter-tool.component.mjs +589 -0
  47. package/esm2022/lib/filter/time-filter-tool/index.mjs +2 -0
  48. package/esm2022/lib/filter/time-filter-tool/time-filter-tool.component.mjs +22 -0
  49. package/esm2022/lib/geometry-form/data-issue-reporter-tool/data-issue-reporter-tool.component.mjs +188 -0
  50. package/esm2022/lib/geometry-form/data-issue-reporter-tool/index.mjs +2 -0
  51. package/esm2022/lib/geometry-form/geometry-form.module.mjs +37 -0
  52. package/esm2022/lib/geometry-form/index.mjs +2 -0
  53. package/esm2022/lib/import-export/import-export-tool/import-export-tool.component.mjs +113 -0
  54. package/esm2022/lib/import-export/import-export-tool/index.mjs +2 -0
  55. package/esm2022/lib/import-export/import-export.module.mjs +25 -0
  56. package/esm2022/lib/import-export/import-export.state.mjs +39 -0
  57. package/esm2022/lib/import-export/index.mjs +3 -0
  58. package/esm2022/lib/integration.module.mjs +70 -0
  59. package/esm2022/lib/map/advanced-map-tool/advanced-coordinates/advanced-coordinates.component.mjs +446 -0
  60. package/esm2022/lib/map/advanced-map-tool/advanced-map-tool.component.mjs +66 -0
  61. package/esm2022/lib/map/advanced-map-tool/advanced-swipe/advanced-swipe.component.mjs +157 -0
  62. package/esm2022/lib/map/advanced-map-tool/index.mjs +2 -0
  63. package/esm2022/lib/map/index.mjs +10 -0
  64. package/esm2022/lib/map/layer-list-tool.state.mjs +40 -0
  65. package/esm2022/lib/map/map-details-tool/index.mjs +2 -0
  66. package/esm2022/lib/map/map-details-tool/map-details-tool.component.mjs +190 -0
  67. package/esm2022/lib/map/map-legend/index.mjs +2 -0
  68. package/esm2022/lib/map/map-legend/map-legend-tool.component.mjs +165 -0
  69. package/esm2022/lib/map/map-proximity-tool/index.mjs +2 -0
  70. package/esm2022/lib/map/map-proximity-tool/map-proximity-tool.component.mjs +152 -0
  71. package/esm2022/lib/map/map-proximity.state.mjs +179 -0
  72. package/esm2022/lib/map/map-tool/index.mjs +2 -0
  73. package/esm2022/lib/map/map-tool/map-tool.component.mjs +152 -0
  74. package/esm2022/lib/map/map-tools/index.mjs +2 -0
  75. package/esm2022/lib/map/map-tools/map-tools.component.mjs +350 -0
  76. package/esm2022/lib/map/map.directive.mjs +15 -0
  77. package/esm2022/lib/map/map.module.mjs +59 -0
  78. package/esm2022/lib/map/map.state.mjs +56 -0
  79. package/esm2022/lib/measure/index.mjs +4 -0
  80. package/esm2022/lib/measure/measure.module.mjs +18 -0
  81. package/esm2022/lib/measure/measure.state.mjs +41 -0
  82. package/esm2022/lib/measure/measurer-tool/measurer-tool.component.mjs +51 -0
  83. package/esm2022/lib/measure/measurer-tool/measurer-tool.module.mjs +19 -0
  84. package/esm2022/lib/print/index.mjs +2 -0
  85. package/esm2022/lib/print/print-tool/index.mjs +2 -0
  86. package/esm2022/lib/print/print-tool/print-tool.component.mjs +32 -0
  87. package/esm2022/lib/print/print.module.mjs +25 -0
  88. package/esm2022/lib/search/index.mjs +7 -0
  89. package/esm2022/lib/search/query.state.mjs +48 -0
  90. package/esm2022/lib/search/search-bar/search-bar-binding.directive.mjs +71 -0
  91. package/esm2022/lib/search/search-bar/search-bar.module.mjs +19 -0
  92. package/esm2022/lib/search/search-results-tool/search-results-tool.component.mjs +557 -0
  93. package/esm2022/lib/search/search-results-tool/search-results-tool.module.mjs +19 -0
  94. package/esm2022/lib/search/search.module.mjs +20 -0
  95. package/esm2022/lib/search/search.state.mjs +155 -0
  96. package/esm2022/lib/storage/index.mjs +2 -0
  97. package/esm2022/lib/storage/storage.state.mjs +25 -0
  98. package/esm2022/lib/tool/index.mjs +2 -0
  99. package/esm2022/lib/tool/tool.state.mjs +56 -0
  100. package/esm2022/lib/workspace/index.mjs +4 -0
  101. package/esm2022/lib/workspace/shared/edition-actions.service.mjs +75 -0
  102. package/esm2022/lib/workspace/shared/feature-actions.service.mjs +65 -0
  103. package/esm2022/lib/workspace/shared/index.mjs +3 -0
  104. package/esm2022/lib/workspace/shared/wfs-actions.service.mjs +77 -0
  105. package/esm2022/lib/workspace/shared/workspace.utils.mjs +168 -0
  106. package/esm2022/lib/workspace/workspace-button/index.mjs +2 -0
  107. package/esm2022/lib/workspace/workspace-button/workspace-button.component.mjs +72 -0
  108. package/esm2022/lib/workspace/workspace.module.mjs +19 -0
  109. package/esm2022/lib/workspace/workspace.state.mjs +205 -0
  110. package/esm2022/public_api.mjs +35 -0
  111. package/fesm2022/igo2-integration.mjs +261 -257
  112. package/fesm2022/igo2-integration.mjs.map +1 -1
  113. package/lib/workspace/shared/workspace.utils.d.ts +0 -1
  114. package/package.json +9 -7
@@ -0,0 +1,66 @@
1
+ import { __decorate, __metadata } from "tslib";
2
+ import { AsyncPipe } from '@angular/common';
3
+ import { Component } from '@angular/core';
4
+ import { MatDividerModule } from '@angular/material/divider';
5
+ import { MatSlideToggleModule } from '@angular/material/slide-toggle';
6
+ import { ToolComponent } from '@igo2/common/tool';
7
+ import { IgoLanguageModule } from '@igo2/core/language';
8
+ import { MapState } from '../map.state';
9
+ import { AdvancedCoordinatesComponent } from './advanced-coordinates/advanced-coordinates.component';
10
+ import { AdvancedSwipeComponent } from './advanced-swipe/advanced-swipe.component';
11
+ import * as i0 from "@angular/core";
12
+ import * as i1 from "../map.state";
13
+ import * as i2 from "@angular/material/divider";
14
+ import * as i3 from "@angular/material/slide-toggle";
15
+ import * as i4 from "@ngx-translate/core";
16
+ let AdvancedMapToolComponent = class AdvancedMapToolComponent {
17
+ mapState;
18
+ get tracking$() {
19
+ return this.mapState.map.geolocationController?.tracking$;
20
+ }
21
+ get followPosition$() {
22
+ return this.mapState.map.geolocationController?.followPosition$;
23
+ }
24
+ constructor(mapState) {
25
+ this.mapState = mapState;
26
+ }
27
+ toggleTracking(value) {
28
+ if (!this.mapState.map.geolocationController) {
29
+ return;
30
+ }
31
+ this.mapState.map.geolocationController.tracking = value;
32
+ }
33
+ toggleFollow(value) {
34
+ if (!this.mapState.map.geolocationController) {
35
+ return;
36
+ }
37
+ this.mapState.map.geolocationController.followPosition = value;
38
+ }
39
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AdvancedMapToolComponent, deps: [{ token: i1.MapState }], target: i0.ɵɵFactoryTarget.Component });
40
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: AdvancedMapToolComponent, isStandalone: true, selector: "igo-advanced-map-tool", ngImport: i0, template: "<h4 class=\"nameOfTool\">\n {{\n 'igo.integration.advanced-map-tool.advanced-swipe.swipe-tool' | translate\n }}\n</h4>\n<igo-advanced-swipe></igo-advanced-swipe>\n<mat-divider class=\"advanced-tool-line\"></mat-divider>\n<h4 class=\"nameOfTool\">\n {{\n 'igo.integration.advanced-map-tool.advanced-coordinates.coordinates'\n | translate\n }}\n</h4>\n<igo-advanced-coordinates></igo-advanced-coordinates>\n<mat-divider class=\"advanced-tool-line\"></mat-divider>\n\n<h4 class=\"nameOfTool\">\n {{ 'igo.integration.advanced-map-tool.geolocation.title' | translate }}\n</h4>\n\n<div class=\"igo-input-container\">\n <div class=\"geolocation-slide-toggle-container\">\n <mat-slide-toggle\n class=\"geolocation-option\"\n [checked]=\"tracking$ | async\"\n [labelPosition]=\"'before'\"\n (change)=\"toggleTracking($event.checked)\"\n >\n {{ 'igo.integration.advanced-map-tool.geolocation.tracking' | translate }}\n </mat-slide-toggle>\n\n <mat-slide-toggle\n class=\"geolocation-option\"\n [disabled]=\"(tracking$ | async) !== true\"\n [labelPosition]=\"'before'\"\n [checked]=\"followPosition$ | async\"\n (change)=\"toggleFollow($event.checked)\"\n >\n {{ 'igo.integration.advanced-map-tool.geolocation.follow' | translate }}\n </mat-slide-toggle>\n </div>\n</div>\n", styles: [":host{display:block;padding:0 16px 12px}.nameOfTool{text-align:center;font-weight:700;font-size:small;margin:12px 0 8px}.advanced-tool-line{height:2px;background-color:gray}.geolocation-slide-toggle-container{display:flex;flex-direction:column;padding:12px 0}.geolocation-slide-toggle-container mat-slide-toggle{flex:1}.geolocation-slide-toggle-container mat-slide-toggle:not(:last-child){margin-bottom:16px}.geolocation-slide-toggle-container mat-slide-toggle ::ng-deep .mdc-form-field{display:flex;justify-content:space-between}.geolocation-slide-toggle-container mat-slide-toggle ::ng-deep .mdc-label{flex:1}mat-divider{margin:0 -16px}\n"], dependencies: [{ kind: "component", type: AdvancedSwipeComponent, selector: "igo-advanced-swipe" }, { kind: "ngmodule", type: MatDividerModule }, { kind: "component", type: i2.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { kind: "component", type: AdvancedCoordinatesComponent, selector: "igo-advanced-coordinates", inputs: ["projectionsLimitations"] }, { kind: "ngmodule", type: MatSlideToggleModule }, { kind: "component", type: i3.MatSlideToggle, selector: "mat-slide-toggle", inputs: ["name", "id", "labelPosition", "aria-label", "aria-labelledby", "aria-describedby", "required", "color", "disabled", "disableRipple", "tabIndex", "checked", "hideIcon", "disabledInteractive"], outputs: ["change", "toggleChange"], exportAs: ["matSlideToggle"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "ngmodule", type: IgoLanguageModule }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }] });
41
+ };
42
+ AdvancedMapToolComponent = __decorate([
43
+ ToolComponent({
44
+ name: 'advancedMap',
45
+ title: 'igo.integration.tools.advancedMap',
46
+ icon: 'home_repair_service'
47
+ })
48
+ /**
49
+ * Tool to handle the advanced map tools
50
+ */
51
+ ,
52
+ __metadata("design:paramtypes", [MapState])
53
+ ], AdvancedMapToolComponent);
54
+ export { AdvancedMapToolComponent };
55
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AdvancedMapToolComponent, decorators: [{
56
+ type: Component,
57
+ args: [{ selector: 'igo-advanced-map-tool', standalone: true, imports: [
58
+ AdvancedSwipeComponent,
59
+ MatDividerModule,
60
+ AdvancedCoordinatesComponent,
61
+ MatSlideToggleModule,
62
+ AsyncPipe,
63
+ IgoLanguageModule
64
+ ], template: "<h4 class=\"nameOfTool\">\n {{\n 'igo.integration.advanced-map-tool.advanced-swipe.swipe-tool' | translate\n }}\n</h4>\n<igo-advanced-swipe></igo-advanced-swipe>\n<mat-divider class=\"advanced-tool-line\"></mat-divider>\n<h4 class=\"nameOfTool\">\n {{\n 'igo.integration.advanced-map-tool.advanced-coordinates.coordinates'\n | translate\n }}\n</h4>\n<igo-advanced-coordinates></igo-advanced-coordinates>\n<mat-divider class=\"advanced-tool-line\"></mat-divider>\n\n<h4 class=\"nameOfTool\">\n {{ 'igo.integration.advanced-map-tool.geolocation.title' | translate }}\n</h4>\n\n<div class=\"igo-input-container\">\n <div class=\"geolocation-slide-toggle-container\">\n <mat-slide-toggle\n class=\"geolocation-option\"\n [checked]=\"tracking$ | async\"\n [labelPosition]=\"'before'\"\n (change)=\"toggleTracking($event.checked)\"\n >\n {{ 'igo.integration.advanced-map-tool.geolocation.tracking' | translate }}\n </mat-slide-toggle>\n\n <mat-slide-toggle\n class=\"geolocation-option\"\n [disabled]=\"(tracking$ | async) !== true\"\n [labelPosition]=\"'before'\"\n [checked]=\"followPosition$ | async\"\n (change)=\"toggleFollow($event.checked)\"\n >\n {{ 'igo.integration.advanced-map-tool.geolocation.follow' | translate }}\n </mat-slide-toggle>\n </div>\n</div>\n", styles: [":host{display:block;padding:0 16px 12px}.nameOfTool{text-align:center;font-weight:700;font-size:small;margin:12px 0 8px}.advanced-tool-line{height:2px;background-color:gray}.geolocation-slide-toggle-container{display:flex;flex-direction:column;padding:12px 0}.geolocation-slide-toggle-container mat-slide-toggle{flex:1}.geolocation-slide-toggle-container mat-slide-toggle:not(:last-child){margin-bottom:16px}.geolocation-slide-toggle-container mat-slide-toggle ::ng-deep .mdc-form-field{display:flex;justify-content:space-between}.geolocation-slide-toggle-container mat-slide-toggle ::ng-deep .mdc-label{flex:1}mat-divider{margin:0 -16px}\n"] }]
65
+ }], ctorParameters: () => [{ type: i1.MapState }] });
66
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWR2YW5jZWQtbWFwLXRvb2wuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvaW50ZWdyYXRpb24vc3JjL2xpYi9tYXAvYWR2YW5jZWQtbWFwLXRvb2wvYWR2YW5jZWQtbWFwLXRvb2wuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvaW50ZWdyYXRpb24vc3JjL2xpYi9tYXAvYWR2YW5jZWQtbWFwLXRvb2wvYWR2YW5jZWQtbWFwLXRvb2wuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUM1QyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzdELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBRXRFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNsRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUV4RCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ3hDLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLHVEQUF1RCxDQUFDO0FBQ3JHLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDJDQUEyQyxDQUFDOzs7Ozs7QUF3QjVFLElBQU0sd0JBQXdCLEdBQTlCLE1BQU0sd0JBQXdCO0lBUWhCO0lBUG5CLElBQUksU0FBUztRQUNYLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMscUJBQXFCLEVBQUUsU0FBUyxDQUFDO0lBQzVELENBQUM7SUFDRCxJQUFJLGVBQWU7UUFDakIsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxxQkFBcUIsRUFBRSxlQUFlLENBQUM7SUFDbEUsQ0FBQztJQUVELFlBQW1CLFFBQWtCO1FBQWxCLGFBQVEsR0FBUixRQUFRLENBQVU7SUFBRyxDQUFDO0lBRXpDLGNBQWMsQ0FBQyxLQUFLO1FBQ2xCLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO1lBQzdDLE9BQU87UUFDVCxDQUFDO1FBQ0QsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMscUJBQXFCLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQztJQUMzRCxDQUFDO0lBRUQsWUFBWSxDQUFDLEtBQUs7UUFDaEIsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLHFCQUFxQixFQUFFLENBQUM7WUFDN0MsT0FBTztRQUNULENBQUM7UUFDRCxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxxQkFBcUIsQ0FBQyxjQUFjLEdBQUcsS0FBSyxDQUFDO0lBQ2pFLENBQUM7d0dBdEJVLHdCQUF3Qjs0RkFBeEIsd0JBQXdCLGlGQ2xDckMsMjBDQTBDQSwwckJEaEJJLHNCQUFzQiw4REFDdEIsZ0JBQWdCLG1JQUNoQiw0QkFBNEIsd0dBQzVCLG9CQUFvQixxWEFDcEIsU0FBUyw2Q0FDVCxpQkFBaUI7O0FBR1Isd0JBQXdCO0lBdEJwQyxhQUFhLENBQUM7UUFDYixJQUFJLEVBQUUsYUFBYTtRQUNuQixLQUFLLEVBQUUsbUNBQW1DO1FBQzFDLElBQUksRUFBRSxxQkFBcUI7S0FDNUIsQ0FBQztJQUNGOztPQUVHOztxQ0F1QjRCLFFBQVE7R0FSMUIsd0JBQXdCLENBdUJwQzs7NEZBdkJZLHdCQUF3QjtrQkFkcEMsU0FBUzsrQkFDRSx1QkFBdUIsY0FHckIsSUFBSSxXQUNQO3dCQUNQLHNCQUFzQjt3QkFDdEIsZ0JBQWdCO3dCQUNoQiw0QkFBNEI7d0JBQzVCLG9CQUFvQjt3QkFDcEIsU0FBUzt3QkFDVCxpQkFBaUI7cUJBQ2xCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQXN5bmNQaXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWF0RGl2aWRlck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpdmlkZXInO1xuaW1wb3J0IHsgTWF0U2xpZGVUb2dnbGVNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zbGlkZS10b2dnbGUnO1xuXG5pbXBvcnQgeyBUb29sQ29tcG9uZW50IH0gZnJvbSAnQGlnbzIvY29tbW9uL3Rvb2wnO1xuaW1wb3J0IHsgSWdvTGFuZ3VhZ2VNb2R1bGUgfSBmcm9tICdAaWdvMi9jb3JlL2xhbmd1YWdlJztcblxuaW1wb3J0IHsgTWFwU3RhdGUgfSBmcm9tICcuLi9tYXAuc3RhdGUnO1xuaW1wb3J0IHsgQWR2YW5jZWRDb29yZGluYXRlc0NvbXBvbmVudCB9IGZyb20gJy4vYWR2YW5jZWQtY29vcmRpbmF0ZXMvYWR2YW5jZWQtY29vcmRpbmF0ZXMuY29tcG9uZW50JztcbmltcG9ydCB7IEFkdmFuY2VkU3dpcGVDb21wb25lbnQgfSBmcm9tICcuL2FkdmFuY2VkLXN3aXBlL2FkdmFuY2VkLXN3aXBlLmNvbXBvbmVudCc7XG5cbkBUb29sQ29tcG9uZW50KHtcbiAgbmFtZTogJ2FkdmFuY2VkTWFwJyxcbiAgdGl0bGU6ICdpZ28uaW50ZWdyYXRpb24udG9vbHMuYWR2YW5jZWRNYXAnLFxuICBpY29uOiAnaG9tZV9yZXBhaXJfc2VydmljZSdcbn0pXG4vKipcbiAqIFRvb2wgdG8gaGFuZGxlIHRoZSBhZHZhbmNlZCBtYXAgdG9vbHNcbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnaWdvLWFkdmFuY2VkLW1hcC10b29sJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2FkdmFuY2VkLW1hcC10b29sLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vYWR2YW5jZWQtbWFwLXRvb2wuY29tcG9uZW50LnNjc3MnXSxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIEFkdmFuY2VkU3dpcGVDb21wb25lbnQsXG4gICAgTWF0RGl2aWRlck1vZHVsZSxcbiAgICBBZHZhbmNlZENvb3JkaW5hdGVzQ29tcG9uZW50LFxuICAgIE1hdFNsaWRlVG9nZ2xlTW9kdWxlLFxuICAgIEFzeW5jUGlwZSxcbiAgICBJZ29MYW5ndWFnZU1vZHVsZVxuICBdXG59KVxuZXhwb3J0IGNsYXNzIEFkdmFuY2VkTWFwVG9vbENvbXBvbmVudCB7XG4gIGdldCB0cmFja2luZyQoKSB7XG4gICAgcmV0dXJuIHRoaXMubWFwU3RhdGUubWFwLmdlb2xvY2F0aW9uQ29udHJvbGxlcj8udHJhY2tpbmckO1xuICB9XG4gIGdldCBmb2xsb3dQb3NpdGlvbiQoKSB7XG4gICAgcmV0dXJuIHRoaXMubWFwU3RhdGUubWFwLmdlb2xvY2F0aW9uQ29udHJvbGxlcj8uZm9sbG93UG9zaXRpb24kO1xuICB9XG5cbiAgY29uc3RydWN0b3IocHVibGljIG1hcFN0YXRlOiBNYXBTdGF0ZSkge31cblxuICB0b2dnbGVUcmFja2luZyh2YWx1ZSkge1xuICAgIGlmICghdGhpcy5tYXBTdGF0ZS5tYXAuZ2VvbG9jYXRpb25Db250cm9sbGVyKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMubWFwU3RhdGUubWFwLmdlb2xvY2F0aW9uQ29udHJvbGxlci50cmFja2luZyA9IHZhbHVlO1xuICB9XG5cbiAgdG9nZ2xlRm9sbG93KHZhbHVlKSB7XG4gICAgaWYgKCF0aGlzLm1hcFN0YXRlLm1hcC5nZW9sb2NhdGlvbkNvbnRyb2xsZXIpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5tYXBTdGF0ZS5tYXAuZ2VvbG9jYXRpb25Db250cm9sbGVyLmZvbGxvd1Bvc2l0aW9uID0gdmFsdWU7XG4gIH1cbn1cbiIsIjxoNCBjbGFzcz1cIm5hbWVPZlRvb2xcIj5cbiAge3tcbiAgICAnaWdvLmludGVncmF0aW9uLmFkdmFuY2VkLW1hcC10b29sLmFkdmFuY2VkLXN3aXBlLnN3aXBlLXRvb2wnIHwgdHJhbnNsYXRlXG4gIH19XG48L2g0PlxuPGlnby1hZHZhbmNlZC1zd2lwZT48L2lnby1hZHZhbmNlZC1zd2lwZT5cbjxtYXQtZGl2aWRlciBjbGFzcz1cImFkdmFuY2VkLXRvb2wtbGluZVwiPjwvbWF0LWRpdmlkZXI+XG48aDQgY2xhc3M9XCJuYW1lT2ZUb29sXCI+XG4gIHt7XG4gICAgJ2lnby5pbnRlZ3JhdGlvbi5hZHZhbmNlZC1tYXAtdG9vbC5hZHZhbmNlZC1jb29yZGluYXRlcy5jb29yZGluYXRlcydcbiAgICAgIHwgdHJhbnNsYXRlXG4gIH19XG48L2g0PlxuPGlnby1hZHZhbmNlZC1jb29yZGluYXRlcz48L2lnby1hZHZhbmNlZC1jb29yZGluYXRlcz5cbjxtYXQtZGl2aWRlciBjbGFzcz1cImFkdmFuY2VkLXRvb2wtbGluZVwiPjwvbWF0LWRpdmlkZXI+XG5cbjxoNCBjbGFzcz1cIm5hbWVPZlRvb2xcIj5cbiAge3sgJ2lnby5pbnRlZ3JhdGlvbi5hZHZhbmNlZC1tYXAtdG9vbC5nZW9sb2NhdGlvbi50aXRsZScgfCB0cmFuc2xhdGUgfX1cbjwvaDQ+XG5cbjxkaXYgY2xhc3M9XCJpZ28taW5wdXQtY29udGFpbmVyXCI+XG4gIDxkaXYgY2xhc3M9XCJnZW9sb2NhdGlvbi1zbGlkZS10b2dnbGUtY29udGFpbmVyXCI+XG4gICAgPG1hdC1zbGlkZS10b2dnbGVcbiAgICAgIGNsYXNzPVwiZ2VvbG9jYXRpb24tb3B0aW9uXCJcbiAgICAgIFtjaGVja2VkXT1cInRyYWNraW5nJCB8IGFzeW5jXCJcbiAgICAgIFtsYWJlbFBvc2l0aW9uXT1cIidiZWZvcmUnXCJcbiAgICAgIChjaGFuZ2UpPVwidG9nZ2xlVHJhY2tpbmcoJGV2ZW50LmNoZWNrZWQpXCJcbiAgICA+XG4gICAgICB7eyAnaWdvLmludGVncmF0aW9uLmFkdmFuY2VkLW1hcC10b29sLmdlb2xvY2F0aW9uLnRyYWNraW5nJyB8IHRyYW5zbGF0ZSB9fVxuICAgIDwvbWF0LXNsaWRlLXRvZ2dsZT5cblxuICAgIDxtYXQtc2xpZGUtdG9nZ2xlXG4gICAgICBjbGFzcz1cImdlb2xvY2F0aW9uLW9wdGlvblwiXG4gICAgICBbZGlzYWJsZWRdPVwiKHRyYWNraW5nJCB8IGFzeW5jKSAhPT0gdHJ1ZVwiXG4gICAgICBbbGFiZWxQb3NpdGlvbl09XCInYmVmb3JlJ1wiXG4gICAgICBbY2hlY2tlZF09XCJmb2xsb3dQb3NpdGlvbiQgfCBhc3luY1wiXG4gICAgICAoY2hhbmdlKT1cInRvZ2dsZUZvbGxvdygkZXZlbnQuY2hlY2tlZClcIlxuICAgID5cbiAgICAgIHt7ICdpZ28uaW50ZWdyYXRpb24uYWR2YW5jZWQtbWFwLXRvb2wuZ2VvbG9jYXRpb24uZm9sbG93JyB8IHRyYW5zbGF0ZSB9fVxuICAgIDwvbWF0LXNsaWRlLXRvZ2dsZT5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
@@ -0,0 +1,157 @@
1
+ import { NgFor, NgIf } from '@angular/common';
2
+ import { Component } from '@angular/core';
3
+ import { FormsModule, ReactiveFormsModule, UntypedFormBuilder, Validators } from '@angular/forms';
4
+ import { MatOptionModule } from '@angular/material/core';
5
+ import { MatDividerModule } from '@angular/material/divider';
6
+ import { MatFormFieldModule } from '@angular/material/form-field';
7
+ import { MatIconModule } from '@angular/material/icon';
8
+ import { MatListModule } from '@angular/material/list';
9
+ import { MatSelectModule } from '@angular/material/select';
10
+ import { MatSlideToggleModule } from '@angular/material/slide-toggle';
11
+ import { IgoIconComponent } from '@igo2/common/icon';
12
+ import { IgoLanguageModule } from '@igo2/core/language';
13
+ import { isLayerItem } from '@igo2/geo';
14
+ import { ToolState } from '../../../tool/tool.state';
15
+ import { MapState } from '../../map.state';
16
+ import * as i0 from "@angular/core";
17
+ import * as i1 from "../../map.state";
18
+ import * as i2 from "@angular/forms";
19
+ import * as i3 from "../../../tool/tool.state";
20
+ import * as i4 from "@angular/material/form-field";
21
+ import * as i5 from "@angular/material/select";
22
+ import * as i6 from "@angular/material/core";
23
+ import * as i7 from "@angular/material/divider";
24
+ import * as i8 from "@angular/material/slide-toggle";
25
+ import * as i9 from "@angular/material/list";
26
+ import * as i10 from "@angular/material/icon";
27
+ import * as i11 from "@ngx-translate/core";
28
+ export class AdvancedSwipeComponent {
29
+ mapState;
30
+ formBuilder;
31
+ toolState;
32
+ swipe = false;
33
+ layerList;
34
+ userControlledLayerList;
35
+ form;
36
+ layers;
37
+ res;
38
+ listForSwipe;
39
+ /**
40
+ * Get an active map state
41
+ */
42
+ get map() {
43
+ return this.mapState.map;
44
+ }
45
+ constructor(mapState, formBuilder, toolState) {
46
+ this.mapState = mapState;
47
+ this.formBuilder = formBuilder;
48
+ this.toolState = toolState;
49
+ this.buildForm();
50
+ }
51
+ /**
52
+ * Get the list of layers for swipe
53
+ * @internal
54
+ */
55
+ ngOnInit() {
56
+ this.map.layerController.all$.subscribe((layers) => (this.userControlledLayerList = layers.filter((layer) => isLayerItem(layer) &&
57
+ !layer.baseLayer &&
58
+ layer.showInLayerList &&
59
+ layer.displayed)));
60
+ }
61
+ /**
62
+ * Desactivate the swipe
63
+ * @internal
64
+ */
65
+ ngOnDestroy() {
66
+ this.swipe = false;
67
+ this.map.swipeEnabled$.next(this.swipe);
68
+ }
69
+ /**
70
+ * Build a form for choise of the layers
71
+ */
72
+ buildForm() {
73
+ this.form = this.formBuilder.group({
74
+ layers: ['', [Validators.required]]
75
+ });
76
+ }
77
+ /**
78
+ * Activate the swipe, send a list of layers for a swipe-tool
79
+ */
80
+ startSwipe(toggle) {
81
+ this.swipe = toggle;
82
+ this.map.swipeEnabled$.next(toggle);
83
+ this.listForSwipe = [];
84
+ for (const layer of this.form.value.layers) {
85
+ this.listForSwipe.push(layer);
86
+ }
87
+ this.map.selectedFeatures$.next(this.listForSwipe);
88
+ }
89
+ /**
90
+ * Restart a swipe for a new layers-list
91
+ */
92
+ applyNewLayers(e) {
93
+ this.startSwipe(false); // l'approche KISS
94
+ this.startSwipe(true);
95
+ if (e._selected) {
96
+ e._selected = false;
97
+ }
98
+ const allLayers = this.userControlledLayerList?.length;
99
+ const selectedLayers = this.form.controls.layers.value.length;
100
+ if (selectedLayers === allLayers) {
101
+ e._selected = true;
102
+ }
103
+ }
104
+ /**
105
+ * Select all list of layers and restart a tool
106
+ */
107
+ selectAll(e) {
108
+ if (e._selected) {
109
+ this.form.controls.layers.setValue(this.userControlledLayerList);
110
+ e._selected = true;
111
+ }
112
+ else {
113
+ this.form.controls.layers.setValue([]);
114
+ }
115
+ this.startSwipe(false);
116
+ this.startSwipe(true);
117
+ }
118
+ /**
119
+ * Open search tool
120
+ */
121
+ searchEmit() {
122
+ this.toolState.toolbox.activateTool('searchResults');
123
+ }
124
+ /**
125
+ * Open catalog
126
+ */
127
+ catalogEmit() {
128
+ this.toolState.toolbox.activateTool('catalog');
129
+ }
130
+ /**
131
+ * Open context manager
132
+ */
133
+ contextEmit() {
134
+ this.toolState.toolbox.activateTool('contextManager');
135
+ }
136
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AdvancedSwipeComponent, deps: [{ token: i1.MapState }, { token: i2.UntypedFormBuilder }, { token: i3.ToolState }], target: i0.ɵɵFactoryTarget.Component });
137
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: AdvancedSwipeComponent, isStandalone: true, selector: "igo-advanced-swipe", ngImport: i0, template: "<div\n *ngIf=\"userControlledLayerList?.length; else noLayersBlock\"\n class=\"igo-swipe-select-container\"\n>\n <form class=\"igo-form\" [formGroup]=\"form\">\n <mat-form-field>\n <mat-label>{{\n 'igo.integration.advanced-map-tool.advanced-swipe.swipe-select'\n | translate\n }}</mat-label>\n <mat-select formControlName=\"layers\" multiple>\n <mat-option [value]=\"1\" (click)=\"selectAll(e)\" #e>\n {{\n 'igo.integration.advanced-map-tool.advanced-swipe.selectAll'\n | translate\n }}\n </mat-option>\n <mat-divider></mat-divider>\n <mat-option\n *ngFor=\"let layer of userControlledLayerList\"\n [value]=\"layer\"\n (click)=\"applyNewLayers(e)\"\n >{{ layer.title }}</mat-option\n >\n </mat-select>\n </mat-form-field>\n <mat-slide-toggle\n class=\"swipe-toggle mat-typography\"\n [checked]=\"swipe\"\n [labelPosition]=\"'before'\"\n (change)=\"startSwipe($event.checked)\"\n >\n {{ 'igo.integration.advanced-map-tool.advanced-swipe.swipe' | translate }}\n </mat-slide-toggle>\n </form>\n</div>\n\n<ng-template #noLayersBlock>\n <mat-list>\n <p class=\"map-empty mat-typography\">\n {{ 'igo.integration.advanced-map-tool.advanced-swipe.empty' | translate }}\n </p>\n <p class=\"map-empty mat-typography\">\n {{\n 'igo.integration.advanced-map-tool.advanced-swipe.customize' | translate\n }}\n </p>\n <mat-list-item>\n <mat-icon matListItemIcon>search</mat-icon>\n <span\n matListItemTitle\n class=\"search-tool mat-typography\"\n (click)=\"searchEmit()\"\n >\n {{\n 'igo.integration.advanced-map-tool.advanced-swipe.search-tool'\n | translate\n }}\n </span>\n </mat-list-item>\n <mat-list-item>\n <mat-icon matListItemIcon>library_add</mat-icon>\n <span\n matListItemTitle\n class=\"catalog-tool mat-typography\"\n (click)=\"catalogEmit()\"\n >\n {{\n 'igo.integration.advanced-map-tool.advanced-swipe.catalog-tool'\n | translate\n }}\n </span>\n </mat-list-item>\n <mat-list-item>\n <mat-icon matListItemIcon>star</mat-icon>\n <span\n matListItemTitle\n class=\"context-tool mat-typography\"\n (click)=\"contextEmit()\"\n >\n {{\n 'igo.integration.advanced-map-tool.advanced-swipe.context-tool'\n | translate\n }}\n </span>\n </mat-list-item>\n </mat-list>\n</ng-template>\n", styles: [":host{padding:12px 0}:host .igo-swipe-select-container{padding:12px 0}:host .igo-swipe-select-container mat-form-field{width:100%}:host .igo-form{display:flex;flex-direction:column;width:100%}:host mat-slide-toggle{flex:1}:host mat-slide-toggle ::ng-deep .mdc-form-field{display:flex;justify-content:space-between}:host mat-slide-toggle ::ng-deep .mdc-label{flex:1}:host .map-empty,:host .search-tool,:host .catalog-tool,:host .context-tool{margin:4px}:host .map-empty{padding:12px 0;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 .advanced-tool-line{height:2px;background-color:gray}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "ngmodule", type: MatFormFieldModule }, { kind: "component", type: i4.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i4.MatLabel, selector: "mat-label" }, { kind: "ngmodule", type: MatSelectModule }, { kind: "component", type: i5.MatSelect, selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "component", type: i6.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "ngmodule", type: MatOptionModule }, { kind: "ngmodule", type: MatDividerModule }, { kind: "component", type: i7.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "ngmodule", type: MatSlideToggleModule }, { kind: "component", type: i8.MatSlideToggle, selector: "mat-slide-toggle", inputs: ["name", "id", "labelPosition", "aria-label", "aria-labelledby", "aria-describedby", "required", "color", "disabled", "disableRipple", "tabIndex", "checked", "hideIcon", "disabledInteractive"], outputs: ["change", "toggleChange"], exportAs: ["matSlideToggle"] }, { kind: "ngmodule", type: MatListModule }, { kind: "component", type: i9.MatList, selector: "mat-list", exportAs: ["matList"] }, { kind: "component", type: i9.MatListItem, selector: "mat-list-item, a[mat-list-item], button[mat-list-item]", inputs: ["activated"], exportAs: ["matListItem"] }, { kind: "directive", type: i9.MatListItemIcon, selector: "[matListItemIcon]" }, { kind: "directive", type: i9.MatListItemTitle, selector: "[matListItemTitle]" }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i10.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: IgoLanguageModule }, { kind: "pipe", type: i11.TranslatePipe, name: "translate" }] });
138
+ }
139
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AdvancedSwipeComponent, decorators: [{
140
+ type: Component,
141
+ args: [{ selector: 'igo-advanced-swipe', standalone: true, imports: [
142
+ NgIf,
143
+ FormsModule,
144
+ ReactiveFormsModule,
145
+ MatFormFieldModule,
146
+ MatSelectModule,
147
+ MatOptionModule,
148
+ MatDividerModule,
149
+ NgFor,
150
+ MatSlideToggleModule,
151
+ MatListModule,
152
+ MatIconModule,
153
+ IgoLanguageModule,
154
+ IgoIconComponent
155
+ ], template: "<div\n *ngIf=\"userControlledLayerList?.length; else noLayersBlock\"\n class=\"igo-swipe-select-container\"\n>\n <form class=\"igo-form\" [formGroup]=\"form\">\n <mat-form-field>\n <mat-label>{{\n 'igo.integration.advanced-map-tool.advanced-swipe.swipe-select'\n | translate\n }}</mat-label>\n <mat-select formControlName=\"layers\" multiple>\n <mat-option [value]=\"1\" (click)=\"selectAll(e)\" #e>\n {{\n 'igo.integration.advanced-map-tool.advanced-swipe.selectAll'\n | translate\n }}\n </mat-option>\n <mat-divider></mat-divider>\n <mat-option\n *ngFor=\"let layer of userControlledLayerList\"\n [value]=\"layer\"\n (click)=\"applyNewLayers(e)\"\n >{{ layer.title }}</mat-option\n >\n </mat-select>\n </mat-form-field>\n <mat-slide-toggle\n class=\"swipe-toggle mat-typography\"\n [checked]=\"swipe\"\n [labelPosition]=\"'before'\"\n (change)=\"startSwipe($event.checked)\"\n >\n {{ 'igo.integration.advanced-map-tool.advanced-swipe.swipe' | translate }}\n </mat-slide-toggle>\n </form>\n</div>\n\n<ng-template #noLayersBlock>\n <mat-list>\n <p class=\"map-empty mat-typography\">\n {{ 'igo.integration.advanced-map-tool.advanced-swipe.empty' | translate }}\n </p>\n <p class=\"map-empty mat-typography\">\n {{\n 'igo.integration.advanced-map-tool.advanced-swipe.customize' | translate\n }}\n </p>\n <mat-list-item>\n <mat-icon matListItemIcon>search</mat-icon>\n <span\n matListItemTitle\n class=\"search-tool mat-typography\"\n (click)=\"searchEmit()\"\n >\n {{\n 'igo.integration.advanced-map-tool.advanced-swipe.search-tool'\n | translate\n }}\n </span>\n </mat-list-item>\n <mat-list-item>\n <mat-icon matListItemIcon>library_add</mat-icon>\n <span\n matListItemTitle\n class=\"catalog-tool mat-typography\"\n (click)=\"catalogEmit()\"\n >\n {{\n 'igo.integration.advanced-map-tool.advanced-swipe.catalog-tool'\n | translate\n }}\n </span>\n </mat-list-item>\n <mat-list-item>\n <mat-icon matListItemIcon>star</mat-icon>\n <span\n matListItemTitle\n class=\"context-tool mat-typography\"\n (click)=\"contextEmit()\"\n >\n {{\n 'igo.integration.advanced-map-tool.advanced-swipe.context-tool'\n | translate\n }}\n </span>\n </mat-list-item>\n </mat-list>\n</ng-template>\n", styles: [":host{padding:12px 0}:host .igo-swipe-select-container{padding:12px 0}:host .igo-swipe-select-container mat-form-field{width:100%}:host .igo-form{display:flex;flex-direction:column;width:100%}:host mat-slide-toggle{flex:1}:host mat-slide-toggle ::ng-deep .mdc-form-field{display:flex;justify-content:space-between}:host mat-slide-toggle ::ng-deep .mdc-label{flex:1}:host .map-empty,:host .search-tool,:host .catalog-tool,:host .context-tool{margin:4px}:host .map-empty{padding:12px 0;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 .advanced-tool-line{height:2px;background-color:gray}\n"] }]
156
+ }], ctorParameters: () => [{ type: i1.MapState }, { type: i2.UntypedFormBuilder }, { type: i3.ToolState }] });
157
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWR2YW5jZWQtc3dpcGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvaW50ZWdyYXRpb24vc3JjL2xpYi9tYXAvYWR2YW5jZWQtbWFwLXRvb2wvYWR2YW5jZWQtc3dpcGUvYWR2YW5jZWQtc3dpcGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvaW50ZWdyYXRpb24vc3JjL2xpYi9tYXAvYWR2YW5jZWQtbWFwLXRvb2wvYWR2YW5jZWQtc3dpcGUvYWR2YW5jZWQtc3dpcGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUM5QyxPQUFPLEVBQUUsU0FBUyxFQUFxQixNQUFNLGVBQWUsQ0FBQztBQUM3RCxPQUFPLEVBQ0wsV0FBVyxFQUNYLG1CQUFtQixFQUNuQixrQkFBa0IsRUFFbEIsVUFBVSxFQUNYLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEIsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzdELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBRXRFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRXJELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHFCQUFx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QiwrVUFDbkIsa0JBQWtCLDBTQUNsQixlQUFlLG1yQkFDZixlQUFlLDhCQUNmLGdCQUFnQixtSUFDaEIsS0FBSyxrSEFDTCxvQkFBb0IseVhBQ3BCLGFBQWEseWJBQ2IsYUFBYSxvTEFDYixpQkFBaUI7OzRGQUlSLHNCQUFzQjtrQkFyQmxDLFNBQVM7K0JBQ0Usb0JBQW9CLGNBR2xCLElBQUksV0FDUDt3QkFDUCxJQUFJO3dCQUNKLFdBQVc7d0JBQ1gsbUJBQW1CO3dCQUNuQixrQkFBa0I7d0JBQ2xCLGVBQWU7d0JBQ2YsZUFBZTt3QkFDZixnQkFBZ0I7d0JBQ2hCLEtBQUs7d0JBQ0wsb0JBQW9CO3dCQUNwQixhQUFhO3dCQUNiLGFBQWE7d0JBQ2IsaUJBQWlCO3dCQUNqQixnQkFBZ0I7cUJBQ2pCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdGb3IsIE5nSWYgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBPbkRlc3Ryb3ksIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgRm9ybXNNb2R1bGUsXG4gIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG4gIFVudHlwZWRGb3JtQnVpbGRlcixcbiAgVW50eXBlZEZvcm1Hcm91cCxcbiAgVmFsaWRhdG9yc1xufSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBNYXRPcHRpb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jb3JlJztcbmltcG9ydCB7IE1hdERpdmlkZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaXZpZGVyJztcbmltcG9ydCB7IE1hdEZvcm1GaWVsZE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2Zvcm0tZmllbGQnO1xuaW1wb3J0IHsgTWF0SWNvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xuaW1wb3J0IHsgTWF0TGlzdE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2xpc3QnO1xuaW1wb3J0IHsgTWF0U2VsZWN0TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc2VsZWN0JztcbmltcG9ydCB7IE1hdFNsaWRlVG9nZ2xlTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc2xpZGUtdG9nZ2xlJztcblxuaW1wb3J0IHsgSWdvSWNvbkNvbXBvbmVudCB9IGZyb20gJ0BpZ28yL2NvbW1vbi9pY29uJztcbmltcG9ydCB7IERldGFpbGVkQ29udGV4dCB9IGZyb20gJ0BpZ28yL2NvbnRleHQnO1xuaW1wb3J0IHsgSWdvTGFuZ3VhZ2VNb2R1bGUgfSBmcm9tICdAaWdvMi9jb3JlL2xhbmd1YWdlJztcbmltcG9ydCB7IEFueUxheWVyLCBJZ29NYXAsIExheWVyLCBWZWN0b3JMYXllciwgaXNMYXllckl0ZW0gfSBmcm9tICdAaWdvMi9nZW8nO1xuXG5pbXBvcnQgeyBUb29sU3RhdGUgfSBmcm9tICcuLi8uLi8uLi90b29sL3Rvb2wuc3RhdGUnO1xuaW1wb3J0IHsgTWFwU3RhdGUgfSBmcm9tICcuLi8uLi9tYXAuc3RhdGUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdpZ28tYWR2YW5jZWQtc3dpcGUnLFxuICB0ZW1wbGF0ZVVybDogJy4vYWR2YW5jZWQtc3dpcGUuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9hZHZhbmNlZC1zd2lwZS5jb21wb25lbnQuc2NzcyddLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgTmdJZixcbiAgICBGb3Jtc01vZHVsZSxcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICAgIE1hdEZvcm1GaWVsZE1vZHVsZSxcbiAgICBNYXRTZWxlY3RNb2R1bGUsXG4gICAgTWF0T3B0aW9uTW9kdWxlLFxuICAgIE1hdERpdmlkZXJNb2R1bGUsXG4gICAgTmdGb3IsXG4gICAgTWF0U2xpZGVUb2dnbGVNb2R1bGUsXG4gICAgTWF0TGlzdE1vZHVsZSxcbiAgICBNYXRJY29uTW9kdWxlLFxuICAgIElnb0xhbmd1YWdlTW9kdWxlLFxuICAgIElnb0ljb25Db21wb25lbnRcbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBBZHZhbmNlZFN3aXBlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICBwdWJsaWMgc3dpcGUgPSBmYWxzZTtcbiAgcHVibGljIGxheWVyTGlzdDogQW55TGF5ZXJbXTtcbiAgcHVibGljIHVzZXJDb250cm9sbGVkTGF5ZXJMaXN0OiBBbnlMYXllcltdO1xuICBwdWJsaWMgZm9ybTogVW50eXBlZEZvcm1Hcm91cDtcbiAgcHVibGljIGxheWVyczogVmVjdG9yTGF5ZXJbXTtcbiAgcHVibGljIHJlczogRGV0YWlsZWRDb250ZXh0O1xuICBwdWJsaWMgbGlzdEZvclN3aXBlOiBMYXllcltdO1xuXG4gIC8qKlxuICAgKiBHZXQgYW4gYWN0aXZlIG1hcCBzdGF0ZVxuICAgKi9cbiAgZ2V0IG1hcCgpOiBJZ29NYXAge1xuICAgIHJldHVybiB0aGlzLm1hcFN0YXRlLm1hcDtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyBtYXBTdGF0ZTogTWFwU3RhdGUsXG4gICAgcHJpdmF0ZSBmb3JtQnVpbGRlcjogVW50eXBlZEZvcm1CdWlsZGVyLFxuICAgIHByaXZhdGUgdG9vbFN0YXRlOiBUb29sU3RhdGVcbiAgKSB7XG4gICAgdGhpcy5idWlsZEZvcm0oKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgdGhlIGxpc3Qgb2YgbGF5ZXJzIGZvciBzd2lwZVxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMubWFwLmxheWVyQ29udHJvbGxlci5hbGwkLnN1YnNjcmliZShcbiAgICAgIChsYXllcnMpID0+XG4gICAgICAgICh0aGlzLnVzZXJDb250cm9sbGVkTGF5ZXJMaXN0ID0gbGF5ZXJzLmZpbHRlcihcbiAgICAgICAgICAobGF5ZXIpID0+XG4gICAgICAgICAgICBpc0xheWVySXRlbShsYXllcikgJiZcbiAgICAgICAgICAgICFsYXllci5iYXNlTGF5ZXIgJiZcbiAgICAgICAgICAgIGxheWVyLnNob3dJbkxheWVyTGlzdCAmJlxuICAgICAgICAgICAgbGF5ZXIuZGlzcGxheWVkXG4gICAgICAgICkpXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBEZXNhY3RpdmF0ZSB0aGUgc3dpcGVcbiAgICogQGludGVybmFsXG4gICAqL1xuICBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLnN3aXBlID0gZmFsc2U7XG4gICAgdGhpcy5tYXAuc3dpcGVFbmFibGVkJC5uZXh0KHRoaXMuc3dpcGUpO1xuICB9XG5cbiAgLyoqXG4gICAqIEJ1aWxkIGEgZm9ybSBmb3IgY2hvaXNlIG9mIHRoZSBsYXllcnNcbiAgICovXG4gIHByaXZhdGUgYnVpbGRGb3JtKCkge1xuICAgIHRoaXMuZm9ybSA9IHRoaXMuZm9ybUJ1aWxkZXIuZ3JvdXAoe1xuICAgICAgbGF5ZXJzOiBbJycsIFtWYWxpZGF0b3JzLnJlcXVpcmVkXV1cbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBY3RpdmF0ZSB0aGUgc3dpcGUsIHNlbmQgYSBsaXN0IG9mIGxheWVycyBmb3IgYSBzd2lwZS10b29sXG4gICAqL1xuICBzdGFydFN3aXBlKHRvZ2dsZTogYm9vbGVhbikge1xuICAgIHRoaXMuc3dpcGUgPSB0b2dnbGU7XG4gICAgdGhpcy5tYXAuc3dpcGVFbmFibGVkJC5uZXh0KHRvZ2dsZSk7XG4gICAgdGhpcy5saXN0Rm9yU3dpcGUgPSBbXTtcbiAgICBmb3IgKGNvbnN0IGxheWVyIG9mIHRoaXMuZm9ybS52YWx1ZS5sYXllcnMpIHtcbiAgICAgIHRoaXMubGlzdEZvclN3aXBlLnB1c2gobGF5ZXIpO1xuICAgIH1cbiAgICB0aGlzLm1hcC5zZWxlY3RlZEZlYXR1cmVzJC5uZXh0KHRoaXMubGlzdEZvclN3aXBlKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXN0YXJ0IGEgc3dpcGUgZm9yIGEgbmV3IGxheWVycy1saXN0XG4gICAqL1xuICBhcHBseU5ld0xheWVycyhlKSB7XG4gICAgdGhpcy5zdGFydFN3aXBlKGZhbHNlKTsgLy8gbCdhcHByb2NoZSBLSVNTXG4gICAgdGhpcy5zdGFydFN3aXBlKHRydWUpO1xuICAgIGlmIChlLl9zZWxlY3RlZCkge1xuICAgICAgZS5fc2VsZWN0ZWQgPSBmYWxzZTtcbiAgICB9XG4gICAgY29uc3QgYWxsTGF5ZXJzID0gdGhpcy51c2VyQ29udHJvbGxlZExheWVyTGlzdD8ubGVuZ3RoO1xuICAgIGNvbnN0IHNlbGVjdGVkTGF5ZXJzID0gdGhpcy5mb3JtLmNvbnRyb2xzLmxheWVycy52YWx1ZS5sZW5ndGg7XG4gICAgaWYgKHNlbGVjdGVkTGF5ZXJzID09PSBhbGxMYXllcnMpIHtcbiAgICAgIGUuX3NlbGVjdGVkID0gdHJ1ZTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogU2VsZWN0IGFsbCBsaXN0IG9mIGxheWVycyBhbmQgcmVzdGFydCBhIHRvb2xcbiAgICovXG4gIHNlbGVjdEFsbChlKSB7XG4gICAgaWYgKGUuX3NlbGVjdGVkKSB7XG4gICAgICB0aGlzLmZvcm0uY29udHJvbHMubGF5ZXJzLnNldFZhbHVlKHRoaXMudXNlckNvbnRyb2xsZWRMYXllckxpc3QpO1xuICAgICAgZS5fc2VsZWN0ZWQgPSB0cnVlO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmZvcm0uY29udHJvbHMubGF5ZXJzLnNldFZhbHVlKFtdKTtcbiAgICB9XG4gICAgdGhpcy5zdGFydFN3aXBlKGZhbHNlKTtcbiAgICB0aGlzLnN0YXJ0U3dpcGUodHJ1ZSk7XG4gIH1cblxuICAvKipcbiAgICogT3BlbiBzZWFyY2ggdG9vbFxuICAgKi9cbiAgc2VhcmNoRW1pdCgpIHtcbiAgICB0aGlzLnRvb2xTdGF0ZS50b29sYm94LmFjdGl2YXRlVG9vbCgnc2VhcmNoUmVzdWx0cycpO1xuICB9XG5cbiAgLyoqXG4gICAqIE9wZW4gY2F0YWxvZ1xuICAgKi9cbiAgY2F0YWxvZ0VtaXQoKSB7XG4gICAgdGhpcy50b29sU3RhdGUudG9vbGJveC5hY3RpdmF0ZVRvb2woJ2NhdGFsb2cnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBPcGVuIGNvbnRleHQgbWFuYWdlclxuICAgKi9cbiAgY29udGV4dEVtaXQoKSB7XG4gICAgdGhpcy50b29sU3RhdGUudG9vbGJveC5hY3RpdmF0ZVRvb2woJ2NvbnRleHRNYW5hZ2VyJyk7XG4gIH1cbn1cbiIsIjxkaXZcbiAgKm5nSWY9XCJ1c2VyQ29udHJvbGxlZExheWVyTGlzdD8ubGVuZ3RoOyBlbHNlIG5vTGF5ZXJzQmxvY2tcIlxuICBjbGFzcz1cImlnby1zd2lwZS1zZWxlY3QtY29udGFpbmVyXCJcbj5cbiAgPGZvcm0gY2xhc3M9XCJpZ28tZm9ybVwiIFtmb3JtR3JvdXBdPVwiZm9ybVwiPlxuICAgIDxtYXQtZm9ybS1maWVsZD5cbiAgICAgIDxtYXQtbGFiZWw+e3tcbiAgICAgICAgJ2lnby5pbnRlZ3JhdGlvbi5hZHZhbmNlZC1tYXAtdG9vbC5hZHZhbmNlZC1zd2lwZS5zd2lwZS1zZWxlY3QnXG4gICAgICAgICAgfCB0cmFuc2xhdGVcbiAgICAgIH19PC9tYXQtbGFiZWw+XG4gICAgICA8bWF0LXNlbGVjdCBmb3JtQ29udHJvbE5hbWU9XCJsYXllcnNcIiBtdWx0aXBsZT5cbiAgICAgICAgPG1hdC1vcHRpb24gW3ZhbHVlXT1cIjFcIiAoY2xpY2spPVwic2VsZWN0QWxsKGUpXCIgI2U+XG4gICAgICAgICAge3tcbiAgICAgICAgICAgICdpZ28uaW50ZWdyYXRpb24uYWR2YW5jZWQtbWFwLXRvb2wuYWR2YW5jZWQtc3dpcGUuc2VsZWN0QWxsJ1xuICAgICAgICAgICAgICB8IHRyYW5zbGF0ZVxuICAgICAgICAgIH19XG4gICAgICAgIDwvbWF0LW9wdGlvbj5cbiAgICAgICAgPG1hdC1kaXZpZGVyPjwvbWF0LWRpdmlkZXI+XG4gICAgICAgIDxtYXQtb3B0aW9uXG4gICAgICAgICAgKm5nRm9yPVwibGV0IGxheWVyIG9mIHVzZXJDb250cm9sbGVkTGF5ZXJMaXN0XCJcbiAgICAgICAgICBbdmFsdWVdPVwibGF5ZXJcIlxuICAgICAgICAgIChjbGljayk9XCJhcHBseU5ld0xheWVycyhlKVwiXG4gICAgICAgICAgPnt7IGxheWVyLnRpdGxlIH19PC9tYXQtb3B0aW9uXG4gICAgICAgID5cbiAgICAgIDwvbWF0LXNlbGVjdD5cbiAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgIDxtYXQtc2xpZGUtdG9nZ2xlXG4gICAgICBjbGFzcz1cInN3aXBlLXRvZ2dsZSBtYXQtdHlwb2dyYXBoeVwiXG4gICAgICBbY2hlY2tlZF09XCJzd2lwZVwiXG4gICAgICBbbGFiZWxQb3NpdGlvbl09XCInYmVmb3JlJ1wiXG4gICAgICAoY2hhbmdlKT1cInN0YXJ0U3dpcGUoJGV2ZW50LmNoZWNrZWQpXCJcbiAgICA+XG4gICAgICB7eyAnaWdvLmludGVncmF0aW9uLmFkdmFuY2VkLW1hcC10b29sLmFkdmFuY2VkLXN3aXBlLnN3aXBlJyB8IHRyYW5zbGF0ZSB9fVxuICAgIDwvbWF0LXNsaWRlLXRvZ2dsZT5cbiAgPC9mb3JtPlxuPC9kaXY+XG5cbjxuZy10ZW1wbGF0ZSAjbm9MYXllcnNCbG9jaz5cbiAgPG1hdC1saXN0PlxuICAgIDxwIGNsYXNzPVwibWFwLWVtcHR5IG1hdC10eXBvZ3JhcGh5XCI+XG4gICAgICB7eyAnaWdvLmludGVncmF0aW9uLmFkdmFuY2VkLW1hcC10b29sLmFkdmFuY2VkLXN3aXBlLmVtcHR5JyB8IHRyYW5zbGF0ZSB9fVxuICAgIDwvcD5cbiAgICA8cCBjbGFzcz1cIm1hcC1lbXB0eSBtYXQtdHlwb2dyYXBoeVwiPlxuICAgICAge3tcbiAgICAgICAgJ2lnby5pbnRlZ3JhdGlvbi5hZHZhbmNlZC1tYXAtdG9vbC5hZHZhbmNlZC1zd2lwZS5jdXN0b21pemUnIHwgdHJhbnNsYXRlXG4gICAgICB9fVxuICAgIDwvcD5cbiAgICA8bWF0LWxpc3QtaXRlbT5cbiAgICAgIDxtYXQtaWNvbiBtYXRMaXN0SXRlbUljb24+c2VhcmNoPC9tYXQtaWNvbj5cbiAgICAgIDxzcGFuXG4gICAgICAgIG1hdExpc3RJdGVtVGl0bGVcbiAgICAgICAgY2xhc3M9XCJzZWFyY2gtdG9vbCBtYXQtdHlwb2dyYXBoeVwiXG4gICAgICAgIChjbGljayk9XCJzZWFyY2hFbWl0KClcIlxuICAgICAgPlxuICAgICAgICB7e1xuICAgICAgICAgICdpZ28uaW50ZWdyYXRpb24uYWR2YW5jZWQtbWFwLXRvb2wuYWR2YW5jZWQtc3dpcGUuc2VhcmNoLXRvb2wnXG4gICAgICAgICAgICB8IHRyYW5zbGF0ZVxuICAgICAgICB9fVxuICAgICAgPC9zcGFuPlxuICAgIDwvbWF0LWxpc3QtaXRlbT5cbiAgICA8bWF0LWxpc3QtaXRlbT5cbiAgICAgIDxtYXQtaWNvbiBtYXRMaXN0SXRlbUljb24+bGlicmFyeV9hZGQ8L21hdC1pY29uPlxuICAgICAgPHNwYW5cbiAgICAgICAgbWF0TGlzdEl0ZW1UaXRsZVxuICAgICAgICBjbGFzcz1cImNhdGFsb2ctdG9vbCBtYXQtdHlwb2dyYXBoeVwiXG4gICAgICAgIChjbGljayk9XCJjYXRhbG9nRW1pdCgpXCJcbiAgICAgID5cbiAgICAgICAge3tcbiAgICAgICAgICAnaWdvLmludGVncmF0aW9uLmFkdmFuY2VkLW1hcC10b29sLmFkdmFuY2VkLXN3aXBlLmNhdGFsb2ctdG9vbCdcbiAgICAgICAgICAgIHwgdHJhbnNsYXRlXG4gICAgICAgIH19XG4gICAgICA8L3NwYW4+XG4gICAgPC9tYXQtbGlzdC1pdGVtPlxuICAgIDxtYXQtbGlzdC1pdGVtPlxuICAgICAgPG1hdC1pY29uIG1hdExpc3RJdGVtSWNvbj5zdGFyPC9tYXQtaWNvbj5cbiAgICAgIDxzcGFuXG4gICAgICAgIG1hdExpc3RJdGVtVGl0bGVcbiAgICAgICAgY2xhc3M9XCJjb250ZXh0LXRvb2wgbWF0LXR5cG9ncmFwaHlcIlxuICAgICAgICAoY2xpY2spPVwiY29udGV4dEVtaXQoKVwiXG4gICAgICA+XG4gICAgICAgIHt7XG4gICAgICAgICAgJ2lnby5pbnRlZ3JhdGlvbi5hZHZhbmNlZC1tYXAtdG9vbC5hZHZhbmNlZC1zd2lwZS5jb250ZXh0LXRvb2wnXG4gICAgICAgICAgICB8IHRyYW5zbGF0ZVxuICAgICAgICB9fVxuICAgICAgPC9zcGFuPlxuICAgIDwvbWF0LWxpc3QtaXRlbT5cbiAgPC9tYXQtbGlzdD5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
@@ -0,0 +1,2 @@
1
+ export * from './advanced-map-tool.component';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9pbnRlZ3JhdGlvbi9zcmMvbGliL21hcC9hZHZhbmNlZC1tYXAtdG9vbC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLCtCQUErQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9hZHZhbmNlZC1tYXAtdG9vbC5jb21wb25lbnQnO1xuIl19
@@ -0,0 +1,10 @@
1
+ export * from './advanced-map-tool';
2
+ export * from './map-proximity-tool';
3
+ export * from './map-details-tool';
4
+ export * from './map-legend';
5
+ export * from './map-tool';
6
+ export * from './map-tools';
7
+ export * from './map.state';
8
+ export * from './map-proximity.state';
9
+ export * from './map.directive';
10
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9pbnRlZ3JhdGlvbi9zcmMvbGliL21hcC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMsc0JBQXNCLENBQUM7QUFDckMsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLGNBQWMsQ0FBQztBQUM3QixjQUFjLFlBQVksQ0FBQztBQUMzQixjQUFjLGFBQWEsQ0FBQztBQUM1QixjQUFjLGFBQWEsQ0FBQztBQUM1QixjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLGNBQWMsaUJBQWlCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2FkdmFuY2VkLW1hcC10b29sJztcbmV4cG9ydCAqIGZyb20gJy4vbWFwLXByb3hpbWl0eS10b29sJztcbmV4cG9ydCAqIGZyb20gJy4vbWFwLWRldGFpbHMtdG9vbCc7XG5leHBvcnQgKiBmcm9tICcuL21hcC1sZWdlbmQnO1xuZXhwb3J0ICogZnJvbSAnLi9tYXAtdG9vbCc7XG5leHBvcnQgKiBmcm9tICcuL21hcC10b29scyc7XG5leHBvcnQgKiBmcm9tICcuL21hcC5zdGF0ZSc7XG5leHBvcnQgKiBmcm9tICcuL21hcC1wcm94aW1pdHkuc3RhdGUnO1xuZXhwb3J0ICogZnJvbSAnLi9tYXAuZGlyZWN0aXZlJztcbiJdfQ==
@@ -0,0 +1,40 @@
1
+ import { Injectable } from '@angular/core';
2
+ import { BehaviorSubject } from 'rxjs';
3
+ import * as i0 from "@angular/core";
4
+ /**
5
+ * Service that holds the state of layer list tool values
6
+ */
7
+ export class LayerListToolState {
8
+ keyword$ = new BehaviorSubject('');
9
+ sortAlpha$ = new BehaviorSubject(undefined);
10
+ onlyVisible$ = new BehaviorSubject(undefined);
11
+ selectedTab$ = new BehaviorSubject(undefined);
12
+ setKeyword(keyword) {
13
+ this.keyword$.next(keyword);
14
+ }
15
+ setSortAlpha(sort) {
16
+ this.sortAlpha$.next(sort);
17
+ }
18
+ setOnlyVisible(onlyVisible) {
19
+ this.onlyVisible$.next(onlyVisible);
20
+ }
21
+ setSelectedTab(tab) {
22
+ this.selectedTab$.next(tab);
23
+ }
24
+ getLayerListControls() {
25
+ return {
26
+ keyword: this.keyword$.value,
27
+ onlyVisible: this.onlyVisible$.value,
28
+ sortAlpha: this.sortAlpha$.value
29
+ };
30
+ }
31
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: LayerListToolState, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
32
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: LayerListToolState, providedIn: 'root' });
33
+ }
34
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: LayerListToolState, decorators: [{
35
+ type: Injectable,
36
+ args: [{
37
+ providedIn: 'root'
38
+ }]
39
+ }] });
40
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF5ZXItbGlzdC10b29sLnN0YXRlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvaW50ZWdyYXRpb24vc3JjL2xpYi9tYXAvbGF5ZXItbGlzdC10b29sLnN0YXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFJM0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7QUFFdkM7O0dBRUc7QUFJSCxNQUFNLE9BQU8sa0JBQWtCO0lBQ3BCLFFBQVEsR0FBRyxJQUFJLGVBQWUsQ0FBUyxFQUFFLENBQUMsQ0FBQztJQUMzQyxVQUFVLEdBQUcsSUFBSSxlQUFlLENBQVUsU0FBUyxDQUFDLENBQUM7SUFDckQsWUFBWSxHQUFHLElBQUksZUFBZSxDQUFVLFNBQVMsQ0FBQyxDQUFDO0lBQ3ZELFlBQVksR0FBRyxJQUFJLGVBQWUsQ0FBUyxTQUFTLENBQUMsQ0FBQztJQUUvRCxVQUFVLENBQUMsT0FBZTtRQUN4QixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUM5QixDQUFDO0lBRUQsWUFBWSxDQUFDLElBQWE7UUFDeEIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDN0IsQ0FBQztJQUVELGNBQWMsQ0FBQyxXQUFvQjtRQUNqQyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUN0QyxDQUFDO0lBRUQsY0FBYyxDQUFDLEdBQVc7UUFDeEIsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDOUIsQ0FBQztJQUVELG9CQUFvQjtRQUNsQixPQUFPO1lBQ0wsT0FBTyxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSztZQUM1QixXQUFXLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLO1lBQ3BDLFNBQVMsRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUs7U0FDakMsQ0FBQztJQUNKLENBQUM7d0dBNUJVLGtCQUFrQjs0R0FBbEIsa0JBQWtCLGNBRmpCLE1BQU07OzRGQUVQLGtCQUFrQjtrQkFIOUIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IExheWVyTGlzdENvbnRyb2xzT3B0aW9ucyB9IGZyb20gJ0BpZ28yL2dlbyc7XG5cbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuXG4vKipcbiAqIFNlcnZpY2UgdGhhdCBob2xkcyB0aGUgc3RhdGUgb2YgbGF5ZXIgbGlzdCB0b29sIHZhbHVlc1xuICovXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBMYXllckxpc3RUb29sU3RhdGUge1xuICByZWFkb25seSBrZXl3b3JkJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8c3RyaW5nPignJyk7XG4gIHJlYWRvbmx5IHNvcnRBbHBoYSQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KHVuZGVmaW5lZCk7XG4gIHJlYWRvbmx5IG9ubHlWaXNpYmxlJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4odW5kZWZpbmVkKTtcbiAgcmVhZG9ubHkgc2VsZWN0ZWRUYWIkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxudW1iZXI+KHVuZGVmaW5lZCk7XG5cbiAgc2V0S2V5d29yZChrZXl3b3JkOiBzdHJpbmcpIHtcbiAgICB0aGlzLmtleXdvcmQkLm5leHQoa2V5d29yZCk7XG4gIH1cblxuICBzZXRTb3J0QWxwaGEoc29ydDogYm9vbGVhbikge1xuICAgIHRoaXMuc29ydEFscGhhJC5uZXh0KHNvcnQpO1xuICB9XG5cbiAgc2V0T25seVZpc2libGUob25seVZpc2libGU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLm9ubHlWaXNpYmxlJC5uZXh0KG9ubHlWaXNpYmxlKTtcbiAgfVxuXG4gIHNldFNlbGVjdGVkVGFiKHRhYjogbnVtYmVyKSB7XG4gICAgdGhpcy5zZWxlY3RlZFRhYiQubmV4dCh0YWIpO1xuICB9XG5cbiAgZ2V0TGF5ZXJMaXN0Q29udHJvbHMoKTogTGF5ZXJMaXN0Q29udHJvbHNPcHRpb25zIHtcbiAgICByZXR1cm4ge1xuICAgICAga2V5d29yZDogdGhpcy5rZXl3b3JkJC52YWx1ZSxcbiAgICAgIG9ubHlWaXNpYmxlOiB0aGlzLm9ubHlWaXNpYmxlJC52YWx1ZSxcbiAgICAgIHNvcnRBbHBoYTogdGhpcy5zb3J0QWxwaGEkLnZhbHVlXG4gICAgfTtcbiAgfVxufVxuIl19
@@ -0,0 +1,2 @@
1
+ export * from './map-details-tool.component';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9pbnRlZ3JhdGlvbi9zcmMvbGliL21hcC9tYXAtZGV0YWlscy10b29sL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsOEJBQThCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL21hcC1kZXRhaWxzLXRvb2wuY29tcG9uZW50JztcbiJdfQ==
@@ -0,0 +1,190 @@
1
+ import { __decorate, __metadata } from "tslib";
2
+ import { AsyncPipe, NgIf } from '@angular/common';
3
+ import { ChangeDetectorRef, Component, Input } from '@angular/core';
4
+ import { MatIconModule } from '@angular/material/icon';
5
+ import { MatListModule } from '@angular/material/list';
6
+ import { ToolComponent } from '@igo2/common/tool';
7
+ import { ConfigService } from '@igo2/core/config';
8
+ import { IgoLanguageModule } from '@igo2/core/language';
9
+ import { Media, MediaService } from '@igo2/core/media';
10
+ import { ExportButtonComponent, LayerListControlsEnum, LayerViewerComponent, MetadataButtonComponent, OgcFilterButtonComponent, SearchSourceService, TimeFilterButtonComponent, TrackFeatureButtonComponent, sourceCanSearch } from '@igo2/geo';
11
+ import { ImportExportMode, ImportExportState } from '../../import-export/import-export.state';
12
+ import { WorkspaceButtonComponent } from '../../workspace';
13
+ import { ToolState } from './../../tool/tool.state';
14
+ import { MapState } from './../map.state';
15
+ import * as i0 from "@angular/core";
16
+ import * as i1 from "./../map.state";
17
+ import * as i2 from "./../../tool/tool.state";
18
+ import * as i3 from "@igo2/geo";
19
+ import * as i4 from "../../import-export/import-export.state";
20
+ import * as i5 from "@igo2/core/config";
21
+ import * as i6 from "@igo2/core/media";
22
+ import * as i7 from "@angular/material/list";
23
+ import * as i8 from "@angular/material/icon";
24
+ import * as i9 from "@ngx-translate/core";
25
+ let MapDetailsToolComponent = class MapDetailsToolComponent {
26
+ mapState;
27
+ toolState;
28
+ searchSourceService;
29
+ importExportState;
30
+ configService;
31
+ mediaService;
32
+ cdr;
33
+ isDesktop;
34
+ delayedShowEmptyMapContent = false;
35
+ toggleLegendOnVisibilityChange = false;
36
+ expandLegendOfVisibleLayers = false;
37
+ updateLegendOnResolutionChange = false;
38
+ ogcButton = true;
39
+ timeButton = true;
40
+ layerListControls = {};
41
+ queryBadge = false;
42
+ layerAdditionAllowed = true;
43
+ _layerViewerOptions;
44
+ get layerViewerOptions() {
45
+ return {
46
+ filterAndSortOptions: this.layerFilterAndSortOptions,
47
+ legend: {
48
+ showForVisibleLayers: this.expandLegendOfVisibleLayers,
49
+ showOnVisibilityChange: this.toggleLegendOnVisibilityChange,
50
+ updateOnResolutionChange: this.updateLegendOnResolutionChange
51
+ },
52
+ queryBadge: this.queryBadge,
53
+ ...this._layerViewerOptions
54
+ };
55
+ }
56
+ get map() {
57
+ return this.mapState.map;
58
+ }
59
+ get layers$() {
60
+ return this.map.layerController.all$;
61
+ }
62
+ get excludeBaseLayers() {
63
+ return this.layerListControls.excludeBaseLayers || false;
64
+ }
65
+ get layerFilterAndSortOptions() {
66
+ const filterSortOptions = Object.assign({
67
+ showToolbar: LayerListControlsEnum.default
68
+ }, this.layerListControls);
69
+ switch (this.layerListControls.showToolbar) {
70
+ case LayerListControlsEnum.always:
71
+ filterSortOptions.showToolbar = LayerListControlsEnum.always;
72
+ break;
73
+ case LayerListControlsEnum.never:
74
+ filterSortOptions.showToolbar = LayerListControlsEnum.never;
75
+ break;
76
+ default:
77
+ break;
78
+ }
79
+ return filterSortOptions;
80
+ }
81
+ get searchToolInToolbar() {
82
+ return (this.toolState.toolbox.getToolbar().indexOf('searchResults') !== -1 &&
83
+ this.searchSourceService
84
+ .getSources()
85
+ .filter(sourceCanSearch)
86
+ .filter((s) => s.available && s.getType() === 'Layer').length > 0);
87
+ }
88
+ get catalogToolInToolbar() {
89
+ return this.toolState.toolbox.getToolbar().indexOf('catalog') !== -1;
90
+ }
91
+ get contextToolInToolbar() {
92
+ return this.toolState.toolbox.getToolbar().indexOf('contextManager') !== -1;
93
+ }
94
+ constructor(mapState, toolState, searchSourceService, importExportState, configService, mediaService, cdr) {
95
+ this.mapState = mapState;
96
+ this.toolState = toolState;
97
+ this.searchSourceService = searchSourceService;
98
+ this.importExportState = importExportState;
99
+ this.configService = configService;
100
+ this.mediaService = mediaService;
101
+ this.cdr = cdr;
102
+ this._layerViewerOptions = this.configService.getConfig('layer');
103
+ }
104
+ ngOnInit() {
105
+ this.handleMedia();
106
+ // prevent message to be shown too quickly. Waiting for layers
107
+ setTimeout(() => {
108
+ this.delayedShowEmptyMapContent = true;
109
+ this.cdr.detectChanges();
110
+ }, 250);
111
+ }
112
+ searchEmit() {
113
+ this.toolState.toolbox.activateTool('searchResults');
114
+ }
115
+ catalogEmit() {
116
+ this.toolState.toolbox.activateTool('catalog');
117
+ }
118
+ contextEmit() {
119
+ this.toolState.toolbox.activateTool('contextManager');
120
+ }
121
+ activateExport(layer) {
122
+ let id = layer.id;
123
+ if (layer.options.workspace?.workspaceId) {
124
+ id =
125
+ layer.options.workspace.workspaceId !== layer.id
126
+ ? layer.options.workspace.workspaceId
127
+ : layer.id;
128
+ }
129
+ this.importExportState.setsExportOptions({ layers: [id] });
130
+ this.importExportState.setMode(ImportExportMode.export);
131
+ this.toolState.toolbox.activateTool('importExport');
132
+ }
133
+ handleMedia() {
134
+ this.mediaService.media$.subscribe((result) => {
135
+ this.isDesktop = result === Media.Desktop;
136
+ this.cdr.detectChanges();
137
+ });
138
+ }
139
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MapDetailsToolComponent, deps: [{ token: i1.MapState }, { token: i2.ToolState }, { token: i3.SearchSourceService }, { token: i4.ImportExportState }, { token: i5.ConfigService }, { token: i6.MediaService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
140
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: MapDetailsToolComponent, isStandalone: true, selector: "igo-map-details-tool", inputs: { toggleLegendOnVisibilityChange: "toggleLegendOnVisibilityChange", expandLegendOfVisibleLayers: "expandLegendOfVisibleLayers", updateLegendOnResolutionChange: "updateLegendOnResolutionChange", ogcButton: "ogcButton", timeButton: "timeButton", layerListControls: "layerListControls", queryBadge: "queryBadge", layerAdditionAllowed: "layerAdditionAllowed" }, ngImport: i0, template: "<igo-layer-viewer\n class=\"mapDetailsList\"\n *ngIf=\"(layers$ | async).length; else empty\"\n [map]=\"map\"\n [options]=\"layerViewerOptions\"\n [excludeBaseLayers]=\"excludeBaseLayers\"\n [isDesktop]=\"isDesktop\"\n>\n <ng-template #customBottomActions let-layer=\"layer\">\n <igo-workspace-button [layer]=\"layer\"></igo-workspace-button>\n <igo-export-button\n [layer]=\"layer\"\n (click)=\"activateExport(layer)\"\n ></igo-export-button>\n <igo-ogc-filter-button\n [header]=\"ogcButton\"\n [layer]=\"layer\"\n ></igo-ogc-filter-button>\n <igo-time-filter-button\n [header]=\"timeButton\"\n [layer]=\"layer\"\n ></igo-time-filter-button>\n <igo-track-feature-button\n [trackFeature]=\"true\"\n [layer]=\"layer\"\n ></igo-track-feature-button>\n <igo-metadata-button [layer]=\"layer\"></igo-metadata-button>\n </ng-template>\n</igo-layer-viewer>\n\n<ng-template #empty>\n <mat-list *ngIf=\"delayedShowEmptyMapContent\">\n <p class=\"map-empty mat-typography\">\n {{ 'igo.integration.mapTool.empty' | translate }}\n </p>\n <p\n *ngIf=\"\n layerAdditionAllowed &&\n (searchToolInToolbar || catalogToolInToolbar || contextToolInToolbar)\n \"\n class=\"map-empty mat-typography\"\n >\n {{ 'igo.integration.mapTool.customize' | translate }}\n </p>\n <mat-list-item *ngIf=\"layerAdditionAllowed && searchToolInToolbar\">\n <mat-icon matListItemIcon>search</mat-icon>\n <span\n matListItemTitle\n class=\"search-tool mat-typography\"\n (click)=\"searchEmit()\"\n >\n {{ 'igo.integration.mapTool.search-tool' | translate }}\n </span>\n </mat-list-item>\n <mat-list-item *ngIf=\"layerAdditionAllowed && catalogToolInToolbar\">\n <mat-icon matListItemIcon>library_add</mat-icon>\n <span\n matListItemTitle\n class=\"catalog-tool mat-typography\"\n (click)=\"catalogEmit()\"\n >\n {{ 'igo.integration.mapTool.catalog-tool' | translate }}\n </span>\n </mat-list-item>\n <mat-list-item *ngIf=\"layerAdditionAllowed && contextToolInToolbar\">\n <mat-icon matListItemIcon>star</mat-icon>\n <span\n matListItemTitle\n class=\"context-tool mat-typography\"\n (click)=\"contextEmit()\"\n >\n {{ 'igo.integration.mapTool.context-tool' | translate }}\n </span>\n </mat-list-item>\n </mat-list>\n</ng-template>\n", styles: [":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}:host .mapDetailsList{overflow:hidden}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: LayerViewerComponent, selector: "igo-layer-viewer", inputs: ["map", "options", "isDesktop", "excludeBaseLayers"], outputs: ["appliedFilterAndSort"] }, { kind: "component", type: WorkspaceButtonComponent, selector: "igo-workspace-button", inputs: ["layer", "color"] }, { kind: "component", type: ExportButtonComponent, selector: "igo-export-button", inputs: ["layer", "color"] }, { kind: "component", type: OgcFilterButtonComponent, selector: "igo-ogc-filter-button", inputs: ["layer", "map", "color", "header"] }, { kind: "component", type: TimeFilterButtonComponent, selector: "igo-time-filter-button", inputs: ["layer", "map", "color", "header"] }, { kind: "component", type: TrackFeatureButtonComponent, selector: "igo-track-feature-button", inputs: ["layer", "trackFeature"] }, { kind: "component", type: MetadataButtonComponent, selector: "igo-metadata-button", inputs: ["layer", "color"] }, { kind: "ngmodule", type: MatListModule }, { kind: "component", type: i7.MatList, selector: "mat-list", exportAs: ["matList"] }, { kind: "component", type: i7.MatListItem, selector: "mat-list-item, a[mat-list-item], button[mat-list-item]", inputs: ["activated"], exportAs: ["matListItem"] }, { kind: "directive", type: i7.MatListItemIcon, selector: "[matListItemIcon]" }, { kind: "directive", type: i7.MatListItemTitle, selector: "[matListItemTitle]" }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i8.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "ngmodule", type: IgoLanguageModule }, { kind: "pipe", type: i9.TranslatePipe, name: "translate" }] });
141
+ };
142
+ MapDetailsToolComponent = __decorate([
143
+ ToolComponent({
144
+ name: 'mapDetails',
145
+ title: 'igo.integration.tools.map',
146
+ icon: 'map'
147
+ }),
148
+ __metadata("design:paramtypes", [MapState,
149
+ ToolState,
150
+ SearchSourceService,
151
+ ImportExportState,
152
+ ConfigService,
153
+ MediaService,
154
+ ChangeDetectorRef])
155
+ ], MapDetailsToolComponent);
156
+ export { MapDetailsToolComponent };
157
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MapDetailsToolComponent, decorators: [{
158
+ type: Component,
159
+ args: [{ selector: 'igo-map-details-tool', standalone: true, imports: [
160
+ NgIf,
161
+ LayerViewerComponent,
162
+ WorkspaceButtonComponent,
163
+ ExportButtonComponent,
164
+ OgcFilterButtonComponent,
165
+ TimeFilterButtonComponent,
166
+ TrackFeatureButtonComponent,
167
+ MetadataButtonComponent,
168
+ MatListModule,
169
+ MatIconModule,
170
+ AsyncPipe,
171
+ IgoLanguageModule
172
+ ], template: "<igo-layer-viewer\n class=\"mapDetailsList\"\n *ngIf=\"(layers$ | async).length; else empty\"\n [map]=\"map\"\n [options]=\"layerViewerOptions\"\n [excludeBaseLayers]=\"excludeBaseLayers\"\n [isDesktop]=\"isDesktop\"\n>\n <ng-template #customBottomActions let-layer=\"layer\">\n <igo-workspace-button [layer]=\"layer\"></igo-workspace-button>\n <igo-export-button\n [layer]=\"layer\"\n (click)=\"activateExport(layer)\"\n ></igo-export-button>\n <igo-ogc-filter-button\n [header]=\"ogcButton\"\n [layer]=\"layer\"\n ></igo-ogc-filter-button>\n <igo-time-filter-button\n [header]=\"timeButton\"\n [layer]=\"layer\"\n ></igo-time-filter-button>\n <igo-track-feature-button\n [trackFeature]=\"true\"\n [layer]=\"layer\"\n ></igo-track-feature-button>\n <igo-metadata-button [layer]=\"layer\"></igo-metadata-button>\n </ng-template>\n</igo-layer-viewer>\n\n<ng-template #empty>\n <mat-list *ngIf=\"delayedShowEmptyMapContent\">\n <p class=\"map-empty mat-typography\">\n {{ 'igo.integration.mapTool.empty' | translate }}\n </p>\n <p\n *ngIf=\"\n layerAdditionAllowed &&\n (searchToolInToolbar || catalogToolInToolbar || contextToolInToolbar)\n \"\n class=\"map-empty mat-typography\"\n >\n {{ 'igo.integration.mapTool.customize' | translate }}\n </p>\n <mat-list-item *ngIf=\"layerAdditionAllowed && searchToolInToolbar\">\n <mat-icon matListItemIcon>search</mat-icon>\n <span\n matListItemTitle\n class=\"search-tool mat-typography\"\n (click)=\"searchEmit()\"\n >\n {{ 'igo.integration.mapTool.search-tool' | translate }}\n </span>\n </mat-list-item>\n <mat-list-item *ngIf=\"layerAdditionAllowed && catalogToolInToolbar\">\n <mat-icon matListItemIcon>library_add</mat-icon>\n <span\n matListItemTitle\n class=\"catalog-tool mat-typography\"\n (click)=\"catalogEmit()\"\n >\n {{ 'igo.integration.mapTool.catalog-tool' | translate }}\n </span>\n </mat-list-item>\n <mat-list-item *ngIf=\"layerAdditionAllowed && contextToolInToolbar\">\n <mat-icon matListItemIcon>star</mat-icon>\n <span\n matListItemTitle\n class=\"context-tool mat-typography\"\n (click)=\"contextEmit()\"\n >\n {{ 'igo.integration.mapTool.context-tool' | translate }}\n </span>\n </mat-list-item>\n </mat-list>\n</ng-template>\n", styles: [":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}:host .mapDetailsList{overflow:hidden}\n"] }]
173
+ }], ctorParameters: () => [{ type: i1.MapState }, { type: i2.ToolState }, { type: i3.SearchSourceService }, { type: i4.ImportExportState }, { type: i5.ConfigService }, { type: i6.MediaService }, { type: i0.ChangeDetectorRef }], propDecorators: { toggleLegendOnVisibilityChange: [{
174
+ type: Input
175
+ }], expandLegendOfVisibleLayers: [{
176
+ type: Input
177
+ }], updateLegendOnResolutionChange: [{
178
+ type: Input
179
+ }], ogcButton: [{
180
+ type: Input
181
+ }], timeButton: [{
182
+ type: Input
183
+ }], layerListControls: [{
184
+ type: Input
185
+ }], queryBadge: [{
186
+ type: Input
187
+ }], layerAdditionAllowed: [{
188
+ type: Input
189
+ }] } });
190
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFwLWRldGFpbHMtdG9vbC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9pbnRlZ3JhdGlvbi9zcmMvbGliL21hcC9tYXAtZGV0YWlscy10b29sL21hcC1kZXRhaWxzLXRvb2wuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvaW50ZWdyYXRpb24vc3JjL2xpYi9tYXAvbWFwLWRldGFpbHMtdG9vbC9tYXAtZGV0YWlscy10b29sLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQzVFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFFdkQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNsRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN4RCxPQUFPLEVBQUUsS0FBSyxFQUFFLFlBQVksRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ3ZELE9BQU8sRUFFTCxxQkFBcUIsRUFJckIscUJBQXFCLEVBRXJCLG9CQUFvQixFQUVwQix1QkFBdUIsRUFDdkIsd0JBQXdCLEVBQ3hCLG1CQUFtQixFQUNuQix5QkFBeUIsRUFDekIsMkJBQTJCLEVBQzNCLGVBQWUsRUFDaEIsTUFBTSxXQUFXLENBQUM7QUFJbkIsT0FBTyxFQUNMLGdCQUFnQixFQUNoQixpQkFBaUIsRUFDbEIsTUFBTSx5Q0FBeUMsQ0FBQztBQUNq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LDBGQUNyQix3QkFBd0IsK0dBQ3hCLHlCQUF5QixnSEFDekIsMkJBQTJCLHdHQUMzQix1QkFBdUIsMkZBQ3ZCLGFBQWEseWJBQ2IsYUFBYSwrS0FDYixTQUFTLDZDQUNULGlCQUFpQjs7QUFHUix1QkFBdUI7SUF6Qm5DLGFBQWEsQ0FBQztRQUNiLElBQUksRUFBRSxZQUFZO1FBQ2xCLEtBQUssRUFBRSwyQkFBMkI7UUFDbEMsSUFBSSxFQUFFLEtBQUs7S0FDWixDQUFDO3FDQTJHb0IsUUFBUTtRQUNQLFNBQVM7UUFDQyxtQkFBbUI7UUFDckIsaUJBQWlCO1FBQ3JCLGFBQWE7UUFDZixZQUFZO1FBQ3BCLGlCQUFpQjtHQTVGckIsdUJBQXVCLENBMEluQzs7NEZBMUlZLHVCQUF1QjtrQkFwQm5DLFNBQVM7K0JBQ0Usc0JBQXNCLGNBR3BCLElBQUksV0FDUDt3QkFDUCxJQUFJO3dCQUNKLG9CQUFvQjt3QkFDcEIsd0JBQXdCO3dCQUN4QixxQkFBcUI7d0JBQ3JCLHdCQUF3Qjt3QkFDeEIseUJBQXlCO3dCQUN6QiwyQkFBMkI7d0JBQzNCLHVCQUF1Qjt3QkFDdkIsYUFBYTt3QkFDYixhQUFhO3dCQUNiLFNBQVM7d0JBQ1QsaUJBQWlCO3FCQUNsQjs4UEFNUSw4QkFBOEI7c0JBQXRDLEtBQUs7Z0JBRUcsMkJBQTJCO3NCQUFuQyxLQUFLO2dCQUVHLDhCQUE4QjtzQkFBdEMsS0FBSztnQkFFRyxTQUFTO3NCQUFqQixLQUFLO2dCQUVHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBRUcsaUJBQWlCO3NCQUF6QixLQUFLO2dCQUVHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBRUcsb0JBQW9CO3NCQUE1QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQXN5bmNQaXBlLCBOZ0lmIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIElucHV0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcbmltcG9ydCB7IE1hdExpc3RNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9saXN0JztcblxuaW1wb3J0IHsgVG9vbENvbXBvbmVudCB9IGZyb20gJ0BpZ28yL2NvbW1vbi90b29sJztcbmltcG9ydCB7IENvbmZpZ1NlcnZpY2UgfSBmcm9tICdAaWdvMi9jb3JlL2NvbmZpZyc7XG5pbXBvcnQgeyBJZ29MYW5ndWFnZU1vZHVsZSB9IGZyb20gJ0BpZ28yL2NvcmUvbGFuZ3VhZ2UnO1xuaW1wb3J0IHsgTWVkaWEsIE1lZGlhU2VydmljZSB9IGZyb20gJ0BpZ28yL2NvcmUvbWVkaWEnO1xuaW1wb3J0IHtcbiAgQW55TGF5ZXIsXG4gIEV4cG9ydEJ1dHRvbkNvbXBvbmVudCxcbiAgRXhwb3J0T3B0aW9ucyxcbiAgSWdvTWFwLFxuICBMYXllcixcbiAgTGF5ZXJMaXN0Q29udHJvbHNFbnVtLFxuICBMYXllckxpc3RDb250cm9sc09wdGlvbnMsXG4gIExheWVyVmlld2VyQ29tcG9uZW50LFxuICBMYXllclZpZXdlck9wdGlvbnMsXG4gIE1ldGFkYXRhQnV0dG9uQ29tcG9uZW50LFxuICBPZ2NGaWx0ZXJCdXR0b25Db21wb25lbnQsXG4gIFNlYXJjaFNvdXJjZVNlcnZpY2UsXG4gIFRpbWVGaWx0ZXJCdXR0b25Db21wb25lbnQsXG4gIFRyYWNrRmVhdHVyZUJ1dHRvbkNvbXBvbmVudCxcbiAgc291cmNlQ2FuU2VhcmNoXG59IGZyb20gJ0BpZ28yL2dlbyc7XG5cbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHtcbiAgSW1wb3J0RXhwb3J0TW9kZSxcbiAgSW1wb3J0RXhwb3J0U3RhdGVcbn0gZnJvbSAnLi4vLi4vaW1wb3J0LWV4cG9ydC9pbXBvcnQtZXhwb3J0LnN0YXRlJztcbmltcG9ydCB7IFdvcmtzcGFjZUJ1dHRvbkNvbXBvbmVudCB9IGZyb20gJy4uLy4uL3dvcmtzcGFjZSc7XG5pbXBvcnQgeyBUb29sU3RhdGUgfSBmcm9tICcuLy4uLy4uL3Rvb2wvdG9vbC5zdGF0ZSc7XG5pbXBvcnQgeyBNYXBTdGF0ZSB9IGZyb20gJy4vLi4vbWFwLnN0YXRlJztcblxuQFRvb2xDb21wb25lbnQoe1xuICBuYW1lOiAnbWFwRGV0YWlscycsXG4gIHRpdGxlOiAnaWdvLmludGVncmF0aW9uLnRvb2xzLm1hcCcsXG4gIGljb246ICdtYXAnXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnaWdvLW1hcC1kZXRhaWxzLXRvb2wnLFxuICB0ZW1wbGF0ZVVybDogJy4vbWFwLWRldGFpbHMtdG9vbC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL21hcC1kZXRhaWxzLXRvb2wuY29tcG9uZW50LnNjc3MnXSxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIE5nSWYsXG4gICAgTGF5ZXJWaWV3ZXJDb21wb25lbnQsXG4gICAgV29ya3NwYWNlQnV0dG9uQ29tcG9uZW50LFxuICAgIEV4cG9ydEJ1dHRvbkNvbXBvbmVudCxcbiAgICBPZ2NGaWx0ZXJCdXR0b25Db21wb25lbnQsXG4gICAgVGltZUZpbHRlckJ1dHRvbkNvbXBvbmVudCxcbiAgICBUcmFja0ZlYXR1cmVCdXR0b25Db21wb25lbnQsXG4gICAgTWV0YWRhdGFCdXR0b25Db21wb25lbnQsXG4gICAgTWF0TGlzdE1vZHVsZSxcbiAgICBNYXRJY29uTW9kdWxlLFxuICAgIEFzeW5jUGlwZSxcbiAgICBJZ29MYW5ndWFnZU1vZHVsZVxuICBdXG59KVxuZXhwb3J0IGNsYXNzIE1hcERldGFpbHNUb29sQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgaXNEZXNrdG9wOiBib29sZWFuO1xuICBwdWJsaWMgZGVsYXllZFNob3dFbXB0eU1hcENvbnRlbnQgPSBmYWxzZTtcblxuICBASW5wdXQoKSB0b2dnbGVMZWdlbmRPblZpc2liaWxpdHlDaGFuZ2UgPSBmYWxzZTtcblxuICBASW5wdXQoKSBleHBhbmRMZWdlbmRPZlZpc2libGVMYXllcnMgPSBmYWxzZTtcblxuICBASW5wdXQoKSB1cGRhdGVMZWdlbmRPblJlc29sdXRpb25DaGFuZ2UgPSBmYWxzZTtcblxuICBASW5wdXQoKSBvZ2NCdXR0b24gPSB0cnVlO1xuXG4gIEBJbnB1dCgpIHRpbWVCdXR0b24gPSB0cnVlO1xuXG4gIEBJbnB1dCgpIGxheWVyTGlzdENvbnRyb2xzOiBMYXllckxpc3RDb250cm9sc09wdGlvbnMgPSB7fTtcblxuICBASW5wdXQoKSBxdWVyeUJhZGdlID0gZmFsc2U7XG5cbiAgQElucHV0KCkgbGF5ZXJBZGRpdGlvbkFsbG93ZWQgPSB0cnVlO1xuXG4gIHByaXZhdGUgX2xheWVyVmlld2VyT3B0aW9uczogUGFydGlhbDxMYXllclZpZXdlck9wdGlvbnM+O1xuICBnZXQgbGF5ZXJWaWV3ZXJPcHRpb25zKCk6IExheWVyVmlld2VyT3B0aW9ucyB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGZpbHRlckFuZFNvcnRPcHRpb25zOiB0aGlzLmxheWVyRmlsdGVyQW5kU29ydE9wdGlvbnMsXG4gICAgICBsZWdlbmQ6IHtcbiAgICAgICAgc2hvd0ZvclZpc2libGVMYXllcnM6IHRoaXMuZXhwYW5kTGVnZW5kT2ZWaXNpYmxlTGF5ZXJzLFxuICAgICAgICBzaG93T25WaXNpYmlsaXR5Q2hhbmdlOiB0aGlzLnRvZ2dsZUxlZ2VuZE9uVmlzaWJpbGl0eUNoYW5nZSxcbiAgICAgICAgdXBkYXRlT25SZXNvbHV0aW9uQ2hhbmdlOiB0aGlzLnVwZGF0ZUxlZ2VuZE9uUmVzb2x1dGlvbkNoYW5nZVxuICAgICAgfSxcbiAgICAgIHF1ZXJ5QmFkZ2U6IHRoaXMucXVlcnlCYWRnZSxcbiAgICAgIC4uLnRoaXMuX2xheWVyVmlld2VyT3B0aW9uc1xuICAgIH07XG4gIH1cblxuICBnZXQgbWFwKCk6IElnb01hcCB7XG4gICAgcmV0dXJuIHRoaXMubWFwU3RhdGUubWFwO1xuICB9XG5cbiAgZ2V0IGxheWVycyQoKTogT2JzZXJ2YWJsZTxBbnlMYXllcltdPiB7XG4gICAgcmV0dXJuIHRoaXMubWFwLmxheWVyQ29udHJvbGxlci5hbGwkO1xuICB9XG5cbiAgZ2V0IGV4Y2x1ZGVCYXNlTGF5ZXJzKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmxheWVyTGlzdENvbnRyb2xzLmV4Y2x1ZGVCYXNlTGF5ZXJzIHx8IGZhbHNlO1xuICB9XG5cbiAgZ2V0IGxheWVyRmlsdGVyQW5kU29ydE9wdGlvbnMoKTogYW55IHtcbiAgICBjb25zdCBmaWx0ZXJTb3J0T3B0aW9ucyA9IE9iamVjdC5hc3NpZ24oXG4gICAgICB7XG4gICAgICAgIHNob3dUb29sYmFyOiBMYXllckxpc3RDb250cm9sc0VudW0uZGVmYXVsdFxuICAgICAgfSxcbiAgICAgIHRoaXMubGF5ZXJMaXN0Q29udHJvbHNcbiAgICApO1xuXG4gICAgc3dpdGNoICh0aGlzLmxheWVyTGlzdENvbnRyb2xzLnNob3dUb29sYmFyKSB7XG4gICAgICBjYXNlIExheWVyTGlzdENvbnRyb2xzRW51bS5hbHdheXM6XG4gICAgICAgIGZpbHRlclNvcnRPcHRpb25zLnNob3dUb29sYmFyID0gTGF5ZXJMaXN0Q29udHJvbHNFbnVtLmFsd2F5cztcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIExheWVyTGlzdENvbnRyb2xzRW51bS5uZXZlcjpcbiAgICAgICAgZmlsdGVyU29ydE9wdGlvbnMuc2hvd1Rvb2xiYXIgPSBMYXllckxpc3RDb250cm9sc0VudW0ubmV2ZXI7XG4gICAgICAgIGJyZWFrO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgYnJlYWs7XG4gICAgfVxuICAgIHJldHVybiBmaWx0ZXJTb3J0T3B0aW9ucztcbiAgfVxuXG4gIGdldCBzZWFyY2hUb29sSW5Ub29sYmFyKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAoXG4gICAgICB0aGlzLnRvb2xTdGF0ZS50b29sYm94LmdldFRvb2xiYXIoKS5pbmRleE9mKCdzZWFyY2hSZXN1bHRzJykgIT09IC0xICYmXG4gICAgICB0aGlzLnNlYXJjaFNvdXJjZVNlcnZpY2VcbiAgICAgICAgLmdldFNvdXJjZXMoKVxuICAgICAgICAuZmlsdGVyKHNvdXJjZUNhblNlYXJjaClcbiAgICAgICAgLmZpbHRlcigocykgPT4gcy5hdmFpbGFibGUgJiYgcy5nZXRUeXBlKCkgPT09ICdMYXllcicpLmxlbmd0aCA+IDBcbiAgICApO1xuICB9XG5cbiAgZ2V0IGNhdGFsb2dUb29sSW5Ub29sYmFyKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnRvb2xTdGF0ZS50b29sYm94LmdldFRvb2xiYXIoKS5pbmRleE9mKCdjYXRhbG9nJykgIT09IC0xO1xuICB9XG5cbiAgZ2V0IGNvbnRleHRUb29sSW5Ub29sYmFyKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnRvb2xTdGF0ZS50b29sYm94LmdldFRvb2xiYXIoKS5pbmRleE9mKCdjb250ZXh0TWFuYWdlcicpICE9PSAtMTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgbWFwU3RhdGU6IE1hcFN0YXRlLFxuICAgIHByaXZhdGUgdG9vbFN0YXRlOiBUb29sU3RhdGUsXG4gICAgcHJpdmF0ZSBzZWFyY2hTb3VyY2VTZXJ2aWNlOiBTZWFyY2hTb3VyY2VTZXJ2aWNlLFxuICAgIHByaXZhdGUgaW1wb3J0RXhwb3J0U3RhdGU6IEltcG9ydEV4cG9ydFN0YXRlLFxuICAgIHByaXZhdGUgY29uZmlnU2VydmljZTogQ29uZmlnU2VydmljZSxcbiAgICBwdWJsaWMgbWVkaWFTZXJ2aWNlOiBNZWRpYVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBjZHI6IENoYW5nZURldGVjdG9yUmVmXG4gICkge1xuICAgIHRoaXMuX2xheWVyVmlld2VyT3B0aW9ucyA9IHRoaXMuY29uZmlnU2VydmljZS5nZXRDb25maWcoJ2xheWVyJyk7XG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmhhbmRsZU1lZGlhKCk7XG5cbiAgICAvLyBwcmV2ZW50IG1lc3NhZ2UgdG8gYmUgc2hvd24gdG9vIHF1aWNrbHkuIFdhaXRpbmcgZm9yIGxheWVyc1xuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgdGhpcy5kZWxheWVkU2hvd0VtcHR5TWFwQ29udGVudCA9IHRydWU7XG4gICAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgfSwgMjUwKTtcbiAgfVxuXG4gIHNlYXJjaEVtaXQoKSB7XG4gICAgdGhpcy50b29sU3RhdGUudG9vbGJveC5hY3RpdmF0ZVRvb2woJ3NlYXJjaFJlc3VsdHMnKTtcbiAgfVxuXG4gIGNhdGFsb2dFbWl0KCkge1xuICAgIHRoaXMudG9vbFN0YXRlLnRvb2xib3guYWN0aXZhdGVUb29sKCdjYXRhbG9nJyk7XG4gIH1cblxuICBjb250ZXh0RW1pdCgpIHtcbiAgICB0aGlzLnRvb2xTdGF0ZS50b29sYm94LmFjdGl2YXRlVG9vbCgnY29udGV4dE1hbmFnZXInKTtcbiAgfVxuXG4gIGFjdGl2YXRlRXhwb3J0KGxheWVyOiBMYXllcikge1xuICAgIGxldCBpZCA9IGxheWVyLmlkO1xuICAgIGlmIChsYXllci5vcHRpb25zLndvcmtzcGFjZT8ud29ya3NwYWNlSWQpIHtcbiAgICAgIGlkID1cbiAgICAgICAgbGF5ZXIub3B0aW9ucy53b3Jrc3BhY2Uud29ya3NwYWNlSWQgIT09IGxheWVyLmlkXG4gICAgICAgICAgPyBsYXllci5vcHRpb25zLndvcmtzcGFjZS53b3Jrc3BhY2VJZFxuICAgICAgICAgIDogbGF5ZXIuaWQ7XG4gICAgfVxuICAgIHRoaXMuaW1wb3J0RXhwb3J0U3RhdGUuc2V0c0V4cG9ydE9wdGlvbnMoeyBsYXllcnM6IFtpZF0gfSBhcyBFeHBvcnRPcHRpb25zKTtcbiAgICB0aGlzLmltcG9ydEV4cG9ydFN0YXRlLnNldE1vZGUoSW1wb3J0RXhwb3J0TW9kZS5leHBvcnQpO1xuICAgIHRoaXMudG9vbFN0YXRlLnRvb2xib3guYWN0aXZhdGVUb29sKCdpbXBvcnRFeHBvcnQnKTtcbiAgfVxuXG4gIHByaXZhdGUgaGFuZGxlTWVkaWEoKTogdm9pZCB7XG4gICAgdGhpcy5tZWRpYVNlcnZpY2UubWVkaWEkLnN1YnNjcmliZSgocmVzdWx0KSA9PiB7XG4gICAgICB0aGlzLmlzRGVza3RvcCA9IHJlc3VsdCA9PT0gTWVkaWEuRGVza3RvcDtcbiAgICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgICB9KTtcbiAgfVxufVxuIiwiPGlnby1sYXllci12aWV3ZXJcbiAgY2xhc3M9XCJtYXBEZXRhaWxzTGlzdFwiXG4gICpuZ0lmPVwiKGxheWVycyQgfCBhc3luYykubGVuZ3RoOyBlbHNlIGVtcHR5XCJcbiAgW21hcF09XCJtYXBcIlxuICBbb3B0aW9uc109XCJsYXllclZpZXdlck9wdGlvbnNcIlxuICBbZXhjbHVkZUJhc2VMYXllcnNdPVwiZXhjbHVkZUJhc2VMYXllcnNcIlxuICBbaXNEZXNrdG9wXT1cImlzRGVza3RvcFwiXG4+XG4gIDxuZy10ZW1wbGF0ZSAjY3VzdG9tQm90dG9tQWN0aW9ucyBsZXQtbGF5ZXI9XCJsYXllclwiPlxuICAgIDxpZ28td29ya3NwYWNlLWJ1dHRvbiBbbGF5ZXJdPVwibGF5ZXJcIj48L2lnby13b3Jrc3BhY2UtYnV0dG9uPlxuICAgIDxpZ28tZXhwb3J0LWJ1dHRvblxuICAgICAgW2xheWVyXT1cImxheWVyXCJcbiAgICAgIChjbGljayk9XCJhY3RpdmF0ZUV4cG9ydChsYXllcilcIlxuICAgID48L2lnby1leHBvcnQtYnV0dG9uPlxuICAgIDxpZ28tb2djLWZpbHRlci1idXR0b25cbiAgICAgIFtoZWFkZXJdPVwib2djQnV0dG9uXCJcbiAgICAgIFtsYXllcl09XCJsYXllclwiXG4gICAgPjwvaWdvLW9nYy1maWx0ZXItYnV0dG9uPlxuICAgIDxpZ28tdGltZS1maWx0ZXItYnV0dG9uXG4gICAgICBbaGVhZGVyXT1cInRpbWVCdXR0b25cIlxuICAgICAgW2xheWVyXT1cImxheWVyXCJcbiAgICA+PC9pZ28tdGltZS1maWx0ZXItYnV0dG9uPlxuICAgIDxpZ28tdHJhY2stZmVhdHVyZS1idXR0b25cbiAgICAgIFt0cmFja0ZlYXR1cmVdPVwidHJ1ZVwiXG4gICAgICBbbGF5ZXJdPVwibGF5ZXJcIlxuICAgID48L2lnby10cmFjay1mZWF0dXJlLWJ1dHRvbj5cbiAgICA8aWdvLW1ldGFkYXRhLWJ1dHRvbiBbbGF5ZXJdPVwibGF5ZXJcIj48L2lnby1tZXRhZGF0YS1idXR0b24+XG4gIDwvbmctdGVtcGxhdGU+XG48L2lnby1sYXllci12aWV3ZXI+XG5cbjxuZy10ZW1wbGF0ZSAjZW1wdHk+XG4gIDxtYXQtbGlzdCAqbmdJZj1cImRlbGF5ZWRTaG93RW1wdHlNYXBDb250ZW50XCI+XG4gICAgPHAgY2xhc3M9XCJtYXAtZW1wdHkgbWF0LXR5cG9ncmFwaHlcIj5cbiAgICAgIHt7ICdpZ28uaW50ZWdyYXRpb24ubWFwVG9vbC5lbXB0eScgfCB0cmFuc2xhdGUgfX1cbiAgICA8L3A+XG4gICAgPHBcbiAgICAgICpuZ0lmPVwiXG4gICAgICAgIGxheWVyQWRkaXRpb25BbGxvd2VkICYmXG4gICAgICAgIChzZWFyY2hUb29sSW5Ub29sYmFyIHx8IGNhdGFsb2dUb29sSW5Ub29sYmFyIHx8IGNvbnRleHRUb29sSW5Ub29sYmFyKVxuICAgICAgXCJcbiAgICAgIGNsYXNzPVwibWFwLWVtcHR5IG1hdC10eXBvZ3JhcGh5XCJcbiAgICA+XG4gICAgICB7eyAnaWdvLmludGVncmF0aW9uLm1hcFRvb2wuY3VzdG9taXplJyB8IHRyYW5zbGF0ZSB9fVxuICAgIDwvcD5cbiAgICA8bWF0LWxpc3QtaXRlbSAqbmdJZj1cImxheWVyQWRkaXRpb25BbGxvd2VkICYmIHNlYXJjaFRvb2xJblRvb2xiYXJcIj5cbiAgICAgIDxtYXQtaWNvbiBtYXRMaXN0SXRlbUljb24+c2VhcmNoPC9tYXQtaWNvbj5cbiAgICAgIDxzcGFuXG4gICAgICAgIG1hdExpc3RJdGVtVGl0bGVcbiAgICAgICAgY2xhc3M9XCJzZWFyY2gtdG9vbCBtYXQtdHlwb2dyYXBoeVwiXG4gICAgICAgIChjbGljayk9XCJzZWFyY2hFbWl0KClcIlxuICAgICAgPlxuICAgICAgICB7eyAnaWdvLmludGVncmF0aW9uLm1hcFRvb2wuc2VhcmNoLXRvb2wnIHwgdHJhbnNsYXRlIH19XG4gICAgICA8L3NwYW4+XG4gICAgPC9tYXQtbGlzdC1pdGVtPlxuICAgIDxtYXQtbGlzdC1pdGVtICpuZ0lmPVwibGF5ZXJBZGRpdGlvbkFsbG93ZWQgJiYgY2F0YWxvZ1Rvb2xJblRvb2xiYXJcIj5cbiAgICAgIDxtYXQtaWNvbiBtYXRMaXN0SXRlbUljb24+bGlicmFyeV9hZGQ8L21hdC1pY29uPlxuICAgICAgPHNwYW5cbiAgICAgICAgbWF0TGlzdEl0ZW1UaXRsZVxuICAgICAgICBjbGFzcz1cImNhdGFsb2ctdG9vbCBtYXQtdHlwb2dyYXBoeVwiXG4gICAgICAgIChjbGljayk9XCJjYXRhbG9nRW1pdCgpXCJcbiAgICAgID5cbiAgICAgICAge3sgJ2lnby5pbnRlZ3JhdGlvbi5tYXBUb29sLmNhdGFsb2ctdG9vbCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgIDwvc3Bhbj5cbiAgICA8L21hdC1saXN0LWl0ZW0+XG4gICAgPG1hdC1saXN0LWl0ZW0gKm5nSWY9XCJsYXllckFkZGl0aW9uQWxsb3dlZCAmJiBjb250ZXh0VG9vbEluVG9vbGJhclwiPlxuICAgICAgPG1hdC1pY29uIG1hdExpc3RJdGVtSWNvbj5zdGFyPC9tYXQtaWNvbj5cbiAgICAgIDxzcGFuXG4gICAgICAgIG1hdExpc3RJdGVtVGl0bGVcbiAgICAgICAgY2xhc3M9XCJjb250ZXh0LXRvb2wgbWF0LXR5cG9ncmFwaHlcIlxuICAgICAgICAoY2xpY2spPVwiY29udGV4dEVtaXQoKVwiXG4gICAgICA+XG4gICAgICAgIHt7ICdpZ28uaW50ZWdyYXRpb24ubWFwVG9vbC5jb250ZXh0LXRvb2wnIHwgdHJhbnNsYXRlIH19XG4gICAgICA8L3NwYW4+XG4gICAgPC9tYXQtbGlzdC1pdGVtPlxuICA8L21hdC1saXN0PlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
@@ -0,0 +1,2 @@
1
+ export * from './map-legend-tool.component';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9pbnRlZ3JhdGlvbi9zcmMvbGliL21hcC9tYXAtbGVnZW5kL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsNkJBQTZCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL21hcC1sZWdlbmQtdG9vbC5jb21wb25lbnQnO1xuIl19