@igo2/integration 1.14.1 → 1.15.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.
Files changed (85) hide show
  1. package/esm2020/lib/about/about-tool/about-tool.component.mjs +2 -2
  2. package/esm2020/lib/about/about.module.mjs +1 -1
  3. package/esm2020/lib/analytics/analytics-listener.service.mjs +59 -4
  4. package/esm2020/lib/analytics/analytics.module.mjs +1 -1
  5. package/esm2020/lib/catalog/catalog-browser-tool/catalog-browser-tool.component.mjs +2 -2
  6. package/esm2020/lib/catalog/catalog-browser-tool/catalog-browser-tool.module.mjs +1 -1
  7. package/esm2020/lib/catalog/catalog-library-tool/catalog-library-tool.component.mjs +2 -2
  8. package/esm2020/lib/catalog/catalog-library-tool/catalog-library-tool.module.mjs +1 -1
  9. package/esm2020/lib/catalog/catalog.module.mjs +1 -1
  10. package/esm2020/lib/catalog/catalog.state.mjs +1 -1
  11. package/esm2020/lib/context/context-editor-tool/context-editor-tool.component.mjs +2 -2
  12. package/esm2020/lib/context/context-manager-tool/context-manager-tool.component.mjs +2 -2
  13. package/esm2020/lib/context/context-permission-manager-tool/context-permission-manager-tool.component.mjs +2 -2
  14. package/esm2020/lib/context/context-share-tool/context-share-tool.component.mjs +2 -2
  15. package/esm2020/lib/context/context.module.mjs +1 -1
  16. package/esm2020/lib/context/context.state.mjs +1 -1
  17. package/esm2020/lib/directions/directions-tool/directions-tool.component.mjs +3 -6
  18. package/esm2020/lib/directions/directions.module.mjs +1 -1
  19. package/esm2020/lib/directions/directions.state.mjs +1 -1
  20. package/esm2020/lib/draw/draw.module.mjs +1 -1
  21. package/esm2020/lib/draw/draw.state.mjs +1 -1
  22. package/esm2020/lib/draw/drawing-tool/drawing-tool.component.mjs +2 -2
  23. package/esm2020/lib/filter/active-ogc-filter-tool/active-ogc-filter-tool.animation.mjs +1 -1
  24. package/esm2020/lib/filter/active-ogc-filter-tool/active-ogc-filter-tool.component.mjs +2 -2
  25. package/esm2020/lib/filter/active-time-filter-tool/active-time-filter-tool.animation.mjs +1 -1
  26. package/esm2020/lib/filter/active-time-filter-tool/active-time-filter-tool.component.mjs +2 -2
  27. package/esm2020/lib/filter/filter.module.mjs +1 -1
  28. package/esm2020/lib/filter/ogc-filter-tool/ogc-filter-tool.component.mjs +2 -2
  29. package/esm2020/lib/filter/spatial-filter-tool/spatial-filter-tool.component.mjs +4 -4
  30. package/esm2020/lib/filter/time-filter-tool/time-filter-tool.component.mjs +2 -2
  31. package/esm2020/lib/import-export/import-export-tool/import-export-tool.component.mjs +26 -22
  32. package/esm2020/lib/import-export/import-export.module.mjs +8 -5
  33. package/esm2020/lib/import-export/import-export.state.mjs +1 -1
  34. package/esm2020/lib/integration.module.mjs +1 -1
  35. package/esm2020/lib/map/advanced-map-tool/advanced-coordinates/advanced-coordinates.component.mjs +64 -65
  36. package/esm2020/lib/map/advanced-map-tool/advanced-map-tool.component.mjs +2 -2
  37. package/esm2020/lib/map/advanced-map-tool/advanced-swipe/advanced-swipe.component.mjs +2 -2
  38. package/esm2020/lib/map/layer-list-tool.state.mjs +1 -1
  39. package/esm2020/lib/map/map-details-tool/map-details-tool.component.mjs +2 -2
  40. package/esm2020/lib/map/map-legend/map-legend-tool.component.mjs +2 -2
  41. package/esm2020/lib/map/map-proximity-tool/map-proximity-tool.component.mjs +5 -8
  42. package/esm2020/lib/map/map-proximity.state.mjs +9 -5
  43. package/esm2020/lib/map/map-tool/map-tool.component.mjs +2 -2
  44. package/esm2020/lib/map/map-tools/map-tools.component.mjs +78 -61
  45. package/esm2020/lib/map/map.module.mjs +5 -2
  46. package/esm2020/lib/map/map.state.mjs +1 -1
  47. package/esm2020/lib/measure/measure.module.mjs +1 -1
  48. package/esm2020/lib/measure/measure.state.mjs +1 -1
  49. package/esm2020/lib/measure/measurer-tool/measurer-tool.component.mjs +2 -2
  50. package/esm2020/lib/measure/measurer-tool/measurer-tool.module.mjs +1 -1
  51. package/esm2020/lib/print/print-tool/print-tool.component.mjs +2 -2
  52. package/esm2020/lib/print/print.module.mjs +1 -1
  53. package/esm2020/lib/search/query.state.mjs +1 -1
  54. package/esm2020/lib/search/search-bar/search-bar-binding.directive.mjs +1 -1
  55. package/esm2020/lib/search/search-bar/search-bar.module.mjs +1 -1
  56. package/esm2020/lib/search/search-results-tool/search-results-tool.component.mjs +14 -9
  57. package/esm2020/lib/search/search-results-tool/search-results-tool.module.mjs +1 -1
  58. package/esm2020/lib/search/search.module.mjs +1 -1
  59. package/esm2020/lib/search/search.state.mjs +29 -4
  60. package/esm2020/lib/storage/storage.module.mjs +1 -1
  61. package/esm2020/lib/storage/storage.state.mjs +1 -1
  62. package/esm2020/lib/tool/tool.module.mjs +1 -1
  63. package/esm2020/lib/tool/tool.state.mjs +1 -1
  64. package/esm2020/lib/workspace/shared/edition-actions.service.mjs +1 -1
  65. package/esm2020/lib/workspace/shared/feature-actions.service.mjs +1 -1
  66. package/esm2020/lib/workspace/shared/index.mjs +1 -1
  67. package/esm2020/lib/workspace/shared/wfs-actions.service.mjs +1 -1
  68. package/esm2020/lib/workspace/shared/workspace.utils.mjs +1 -1
  69. package/esm2020/lib/workspace/workspace-button/workspace-button.component.mjs +2 -2
  70. package/esm2020/lib/workspace/workspace.module.mjs +1 -1
  71. package/esm2020/lib/workspace/workspace.state.mjs +1 -1
  72. package/fesm2015/igo2-integration.mjs +324 -218
  73. package/fesm2015/igo2-integration.mjs.map +1 -1
  74. package/fesm2020/igo2-integration.mjs +321 -218
  75. package/fesm2020/igo2-integration.mjs.map +1 -1
  76. package/lib/analytics/analytics-listener.service.d.ts +7 -1
  77. package/lib/import-export/import-export-tool/import-export-tool.component.d.ts +3 -1
  78. package/lib/import-export/import-export.module.d.ts +1 -1
  79. package/lib/map/map-proximity.state.d.ts +4 -1
  80. package/lib/map/map-tools/map-tools.component.d.ts +1 -0
  81. package/lib/map/map.module.d.ts +1 -1
  82. package/lib/search/search-results-tool/search-results-tool.component.d.ts +3 -1
  83. package/lib/search/search.state.d.ts +8 -2
  84. package/ngcc.config.js +3 -3
  85. package/package.json +8 -5
@@ -7,10 +7,10 @@ import * as i4 from '@igo2/common';
7
7
  import { ToolComponent, EntityStore, EntityStoreFilterCustomFuncStrategy, EntityStoreFilterSelectionStrategy, WorkspaceStore, IgoSpinnerModule, IgoEntityTableModule, getEntityTitle, FlexibleComponent, IgoFlexibleModule, IgoPanelModule, IgoCustomHtmlModule, IgoInteractiveTourModule } from '@igo2/common';
8
8
  import { BehaviorSubject, Subject, of, combineLatest, ReplaySubject, interval, forkJoin } from 'rxjs';
9
9
  import * as i1$1 from '@igo2/geo';
10
- import { IgoMap, IgoCatalogLibraryModule, IgoCatalogBrowserModule, StopsStore, StopsFeatureStore, RoutesFeatureStore, StepFeatureStore, IgoDirectionsModule, FeatureStore, IgoDrawingToolModule, FeatureStoreSelectionStrategy, FeatureMotion, mapExtentStrategyActiveToolTip, noElementSelected, OgcFilterWidget, WfsWorkspace, FeatureWorkspace, EditionWorkspace, IgoImportExportModule, LayerListControlsEnum, sourceCanSearch, VectorLayer, zoneMtm, zoneUtm, formatScale, computeProjectionsConstraints, roundCoordTo, featureFromOl, measureOlGeometryLength, FEATURE, IgoLayerModule, IgoMetadataModule, IgoDownloadModule, IgoFilterModule, IgoMeasurerModule, IgoPrintModule, IgoSearchModule, getCommonVectorStyle, featureToOl, computeOlFeaturesExtent, featuresAreOutOfView, featuresAreTooDeepInView, getCommonVectorSelectedStyle, moveToOlFeatures, IgoFeatureModule, IgoFeatureDetailsModule, SpatialFilterItemType, MeasureLengthUnit, SpatialFilterType, createOverlayMarkerStyle, IgoQueryModule } from '@igo2/geo';
10
+ import { IgoMap, IgoCatalogLibraryModule, IgoCatalogBrowserModule, StopsStore, StopsFeatureStore, RoutesFeatureStore, StepFeatureStore, IgoDirectionsModule, FeatureStore, IgoDrawingToolModule, FeatureStoreSelectionStrategy, FeatureMotion, mapExtentStrategyActiveToolTip, noElementSelected, OgcFilterWidget, WfsWorkspace, FeatureWorkspace, EditionWorkspace, IgoImportExportModule, IgoStyleModule, LayerListControlsEnum, sourceCanSearch, VectorLayer, zoneMtm, zoneUtm, formatScale, computeProjectionsConstraints, roundCoordTo, featureFromOl, measureOlGeometryLength, FEATURE, IgoLayerModule, IgoMetadataModule, IgoDownloadModule, IgoFilterModule, IgoMeasurerModule, IgoPrintModule, IgoSearchModule, getCommonVectorStyle, featureToOl, computeOlFeaturesExtent, featuresAreOutOfView, featuresAreTooDeepInView, getCommonVectorSelectedStyle, moveToOlFeatures, IgoFeatureModule, IgoFeatureDetailsModule, SpatialFilterItemType, MeasureLengthUnit, SpatialFilterType, createOverlayMarkerStyle, IgoQueryModule } from '@igo2/geo';
11
11
  import * as i2 from '@igo2/core';
12
12
  import { StorageScope, StorageServiceEventEnum, IgoLanguageModule } from '@igo2/core';
13
- import * as i6 from '@angular/common';
13
+ import * as i8 from '@angular/common';
14
14
  import { CommonModule } from '@angular/common';
15
15
  import { take, skipWhile, map, debounceTime, takeUntil, tap, skip } from 'rxjs/operators';
16
16
  import * as i2$1 from '@igo2/auth';
@@ -20,29 +20,29 @@ import * as i10 from '@angular/material/button';
20
20
  import { MatButtonModule } from '@angular/material/button';
21
21
  import * as i5 from '@angular/material/tooltip';
22
22
  import { MatTooltipModule } from '@angular/material/tooltip';
23
- import * as i8 from '@ngx-translate/core';
24
- import * as i7$1 from '@angular/material/tabs';
23
+ import * as i12 from '@ngx-translate/core';
24
+ import * as i8$1 from '@angular/material/tabs';
25
25
  import { MatTabsModule } from '@angular/material/tabs';
26
26
  import { MatButtonToggleModule } from '@angular/material/button-toggle';
27
- import * as i6$1 from '@angular/material/list';
27
+ import * as i6 from '@angular/material/list';
28
28
  import { MatListModule } from '@angular/material/list';
29
- import * as i12 from '@angular/material/slide-toggle';
29
+ import * as i12$1 from '@angular/material/slide-toggle';
30
30
  import { MatSlideToggleModule } from '@angular/material/slide-toggle';
31
- import * as i8$3 from '@angular/material/menu';
31
+ import * as i8$4 from '@angular/material/menu';
32
32
  import { MatMenuModule } from '@angular/material/menu';
33
- import * as i8$1 from '@angular/material/core';
33
+ import * as i8$2 from '@angular/material/core';
34
34
  import { MatOptionModule } from '@angular/material/core';
35
35
  import * as i5$1 from '@angular/material/divider';
36
36
  import { MatDividerModule } from '@angular/material/divider';
37
37
  import * as i3 from '@angular/forms';
38
38
  import { Validators, FormsModule, ReactiveFormsModule } from '@angular/forms';
39
- import * as i6$2 from '@angular/material/form-field';
39
+ import * as i6$1 from '@angular/material/form-field';
40
40
  import { MatFormFieldModule } from '@angular/material/form-field';
41
- import * as i7$2 from '@angular/material/select';
41
+ import * as i7$1 from '@angular/material/select';
42
42
  import { MatSelectModule } from '@angular/material/select';
43
43
  import { Clipboard, uuid, NumberUtils } from '@igo2/utils';
44
44
  import * as olProj from 'ol/proj';
45
- import * as i7$3 from '@angular/material/input';
45
+ import * as i7$2 from '@angular/material/input';
46
46
  import { MatInputModule } from '@angular/material/input';
47
47
  import { MatCheckboxModule } from '@angular/material/checkbox';
48
48
  import * as i9 from '@angular/material/radio';
@@ -50,7 +50,7 @@ import { MatRadioModule } from '@angular/material/radio';
50
50
  import olFormatGeoJSON from 'ol/format/GeoJSON';
51
51
  import olLayerVector from 'ol/layer/Vector';
52
52
  import olLineString from 'ol/geom/LineString';
53
- import * as i8$2 from '@angular/material/badge';
53
+ import * as i8$3 from '@angular/material/badge';
54
54
  import { MatBadgeModule } from '@angular/material/badge';
55
55
  import olFeature from 'ol/Feature';
56
56
  import olPoint from 'ol/geom/Point';
@@ -190,7 +190,7 @@ ContextEditorToolComponent = __decorate([
190
190
  (function () {
191
191
  (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ContextEditorToolComponent, [{
192
192
  type: Component,
193
- args: [{ selector: 'igo-context-editor-tool', template: "<igo-context-edit\n igoContextEditBinding\n (submitSuccessed)=\"submitSuccessed()\"\n></igo-context-edit>\n" }]
193
+ args: [{ selector: 'igo-context-editor-tool', template: "<igo-context-edit\r\n igoContextEditBinding\r\n (submitSuccessed)=\"submitSuccessed()\"\r\n></igo-context-edit>\r\n" }]
194
194
  }], function () { return [{ type: ToolState }]; }, null);
195
195
  })();
196
196
 
@@ -273,7 +273,7 @@ ContextManagerToolComponent = __decorate([
273
273
  (function () {
274
274
  (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ContextManagerToolComponent, [{
275
275
  type: Component,
276
- args: [{ selector: 'igo-context-manager-tool', template: "<igo-context-list\n igoContextListBinding\n [map]=\"map\"\n (edit)=\"editContext()\"\n (managePermissions)=\"managePermissions()\">\n</igo-context-list>\n" }]
276
+ args: [{ selector: 'igo-context-manager-tool', template: "<igo-context-list\r\n igoContextListBinding\r\n [map]=\"map\"\r\n (edit)=\"editContext()\"\r\n (managePermissions)=\"managePermissions()\">\r\n</igo-context-list>\r\n" }]
277
277
  }], function () { return [{ type: ToolState }, { type: MapState }]; }, { toolToOpenOnContextChange: [{
278
278
  type: Input
279
279
  }] });
@@ -298,7 +298,7 @@ ContextPermissionManagerToolComponent = __decorate([
298
298
  (function () {
299
299
  (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ContextPermissionManagerToolComponent, [{
300
300
  type: Component,
301
- args: [{ selector: 'igo-context-permission-manager-tool', template: "<igo-context-permissions igoContextPermissionsBinding></igo-context-permissions>\n" }]
301
+ args: [{ selector: 'igo-context-permission-manager-tool', template: "<igo-context-permissions igoContextPermissionsBinding></igo-context-permissions>\r\n" }]
302
302
  }], null, null);
303
303
  })();
304
304
 
@@ -370,7 +370,7 @@ ContextShareToolComponent = __decorate([
370
370
  (function () {
371
371
  (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ContextShareToolComponent, [{
372
372
  type: Component,
373
- args: [{ selector: 'igo-context-share-tool', template: "<igo-share-map\n [map]=\"map\"></igo-share-map>\n" }]
373
+ args: [{ selector: 'igo-context-share-tool', template: "<igo-share-map\r\n [map]=\"map\"></igo-share-map>\r\n" }]
374
374
  }], function () { return [{ type: MapState }, { type: LayerListToolState }]; }, null);
375
375
  })();
376
376
 
@@ -538,7 +538,7 @@ CatalogLibraryToolComponent = __decorate([
538
538
  (function () {
539
539
  (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(CatalogLibraryToolComponent, [{
540
540
  type: Component,
541
- args: [{ selector: 'igo-catalog-library-tool', changeDetection: ChangeDetectionStrategy.OnPush, template: "<igo-catalog-library\n [predefinedCatalogs]=\"predefinedCatalogs\"\n [addCatalogAllowed]=\"addCatalogAllowed\"\n [store]=\"store\"\n (catalogSelectChange)=\"onCatalogSelectChange($event)\">\n</igo-catalog-library>\n" }]
541
+ args: [{ selector: 'igo-catalog-library-tool', changeDetection: ChangeDetectionStrategy.OnPush, template: "<igo-catalog-library\r\n [predefinedCatalogs]=\"predefinedCatalogs\"\r\n [addCatalogAllowed]=\"addCatalogAllowed\"\r\n [store]=\"store\"\r\n (catalogSelectChange)=\"onCatalogSelectChange($event)\">\r\n</igo-catalog-library>\r\n" }]
542
542
  }], function () { return [{ type: i1$1.CatalogService }, { type: CatalogState }, { type: ToolState }, { type: i2.StorageService }]; }, { addCatalogAllowed: [{
543
543
  type: Input
544
544
  }], predefinedCatalogs: [{
@@ -665,7 +665,7 @@ CatalogBrowserToolComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type:
665
665
  if (rf & 2) {
666
666
  i0.ɵɵproperty("ngIf", i0.ɵɵpipeBind1(1, 1, ctx.store$));
667
667
  }
668
- }, dependencies: [i6.NgIf, i1$1.CatalogBrowserComponent, i6.AsyncPipe], encapsulation: 2, changeDetection: 0 });
668
+ }, dependencies: [i8.NgIf, i1$1.CatalogBrowserComponent, i8.AsyncPipe], encapsulation: 2, changeDetection: 0 });
669
669
  CatalogBrowserToolComponent = __decorate([
670
670
  ToolComponent({
671
671
  name: 'catalogBrowser',
@@ -677,7 +677,7 @@ CatalogBrowserToolComponent = __decorate([
677
677
  (function () {
678
678
  (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(CatalogBrowserToolComponent, [{
679
679
  type: Component,
680
- args: [{ selector: 'igo-catalog-browser-tool', changeDetection: ChangeDetectionStrategy.OnPush, template: "<igo-catalog-browser\n *ngIf=\"store$ | async as store\"\n [catalog]=\"catalog\"\n [store]=\"store\"\n [map]=\"map\"\n [toggleCollapsedGroup]=\"toggleCollapsedGroup\">\n</igo-catalog-browser>\n" }]
680
+ args: [{ selector: 'igo-catalog-browser-tool', changeDetection: ChangeDetectionStrategy.OnPush, template: "<igo-catalog-browser\r\n *ngIf=\"store$ | async as store\"\r\n [catalog]=\"catalog\"\r\n [store]=\"store\"\r\n [map]=\"map\"\r\n [toggleCollapsedGroup]=\"toggleCollapsedGroup\">\r\n</igo-catalog-browser>\r\n" }]
681
681
  }], function () { return [{ type: i1$1.CatalogService }, { type: CatalogState }, { type: MapState }, { type: i2$1.AuthService }]; }, { toggleCollapsedGroup: [{
682
682
  type: Input
683
683
  }] });
@@ -925,10 +925,7 @@ let DirectionsToolComponent = class DirectionsToolComponent {
925
925
  ngOnInit() {
926
926
  const warningShown = this.storageService.get('direction.warning.shown');
927
927
  if (!warningShown) {
928
- const translate = this.languageService.translate;
929
- const title = translate.instant('igo.integration.directions.warning.title');
930
- const msg = translate.instant('igo.integration.directions.warning.message');
931
- this.messageService.info(msg, title, { timeOut: 20000 });
928
+ this.messageService.info('igo.integration.directions.warning.message', 'igo.integration.directions.warning.title', { timeOut: 20000 });
932
929
  this.storageService.set('direction.warning.shown', true, StorageScope.SESSION);
933
930
  }
934
931
  this.contextState.context$.subscribe(c => {
@@ -957,7 +954,7 @@ DirectionsToolComponent = __decorate([
957
954
  (function () {
958
955
  (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(DirectionsToolComponent, [{
959
956
  type: Component,
960
- args: [{ selector: 'igo-directions-tool', template: "<igo-directions\n [contextUri]=\"currentContextUri\"\n [debounceTime]=\"debounceTime\"\n [stopsStore]=\"stopsStore\"\n [stopsFeatureStore]=\"stopsFeatureStore\"\n [stepFeatureStore]=\"stepFeatureStore\"\n [routesFeatureStore]=\"routesFeatureStore\"\n [zoomToActiveRoute$]=\"zoomToActiveRoute$\"> \n</igo-directions>" }]
957
+ args: [{ selector: 'igo-directions-tool', template: "<igo-directions\r\n [contextUri]=\"currentContextUri\"\r\n [debounceTime]=\"debounceTime\"\r\n [stopsStore]=\"stopsStore\"\r\n [stopsFeatureStore]=\"stopsFeatureStore\"\r\n [stepFeatureStore]=\"stepFeatureStore\"\r\n [routesFeatureStore]=\"routesFeatureStore\"\r\n [zoomToActiveRoute$]=\"zoomToActiveRoute$\"> \r\n</igo-directions>" }]
961
958
  }], function () { return [{ type: DirectionState }, { type: MapState }, { type: i2.LanguageService }, { type: i2.MessageService }, { type: i2.StorageService }, { type: ContextState }, { type: i2$1.AuthService }]; }, null);
962
959
  })();
963
960
 
@@ -1087,7 +1084,7 @@ DrawingToolComponent = __decorate([
1087
1084
  (function () {
1088
1085
  (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(DrawingToolComponent, [{
1089
1086
  type: Component,
1090
- args: [{ selector: 'igo-drawing-tool', changeDetection: ChangeDetectionStrategy.OnPush, template: "<igo-draw\n [stores]=\"stores\"\n [map]=\"map\"\n (layersIDEvent)=\"addLayersID($event)\"\n [activeDrawingLayer]=\"activeDrawingLayer\"\n [drawControls]=\"drawControls\"\n (drawControlsEvent)=\"addDrawControls($event)\"\n (activeLayerChange)=\"activeDrawingLayer = $event\">\n</igo-draw>\n" }]
1087
+ args: [{ selector: 'igo-drawing-tool', changeDetection: ChangeDetectionStrategy.OnPush, template: "<igo-draw\r\n [stores]=\"stores\"\r\n [map]=\"map\"\r\n (layersIDEvent)=\"addLayersID($event)\"\r\n [activeDrawingLayer]=\"activeDrawingLayer\"\r\n [drawControls]=\"drawControls\"\r\n (drawControlsEvent)=\"addDrawControls($event)\"\r\n (activeLayerChange)=\"activeDrawingLayer = $event\">\r\n</igo-draw>\r\n" }]
1091
1088
  }], function () { return [{ type: DrawState }, { type: MapState }]; }, null);
1092
1089
  })();
1093
1090
 
@@ -1812,11 +1809,11 @@ WorkspaceButtonComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: Wo
1812
1809
  if (rf & 2) {
1813
1810
  i0.ɵɵproperty("ngIf", i0.ɵɵpipeBind1(1, 1, ctx.hasWorkspace$));
1814
1811
  }
1815
- }, dependencies: [i6.NgIf, i7.MatIcon, i10.MatButton, i5.MatTooltip, i6.AsyncPipe, i8.TranslatePipe], changeDetection: 0 });
1812
+ }, dependencies: [i8.NgIf, i7.MatIcon, i10.MatButton, i5.MatTooltip, i8.AsyncPipe, i12.TranslatePipe], changeDetection: 0 });
1816
1813
  (function () {
1817
1814
  (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(WorkspaceButtonComponent, [{
1818
1815
  type: Component,
1819
- args: [{ selector: 'igo-workspace-button', changeDetection: ChangeDetectionStrategy.OnPush, template: "<button\n *ngIf=\"hasWorkspace$ | async\"\n mat-icon-button\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"'igo.integration.workspace.toggleWorkspace' | translate\"\n [color]=\"color\"\n (click)=\"activateWorkspace()\"\n >\n <mat-icon svgIcon=\"table\"></mat-icon>\n</button>\n" }]
1816
+ args: [{ selector: 'igo-workspace-button', changeDetection: ChangeDetectionStrategy.OnPush, template: "<button\r\n *ngIf=\"hasWorkspace$ | async\"\r\n mat-icon-button\r\n tooltip-position=\"below\"\r\n matTooltipShowDelay=\"500\"\r\n [matTooltip]=\"'igo.integration.workspace.toggleWorkspace' | translate\"\r\n [color]=\"color\"\r\n (click)=\"activateWorkspace()\"\r\n >\r\n <mat-icon svgIcon=\"table\"></mat-icon>\r\n</button>\r\n" }]
1820
1817
  }], function () { return [{ type: WorkspaceState }]; }, { layer: [{
1821
1818
  type: Input
1822
1819
  }], color: [{
@@ -1865,20 +1862,21 @@ function ImportExportToolComponent_mat_tab_group_0_Template(rf, ctx) {
1865
1862
  i0.ɵɵelementStart(3, "igo-import-export", 4);
1866
1863
  i0.ɵɵlistener("selectMode", function ImportExportToolComponent_mat_tab_group_0_Template_igo_import_export_selectMode_3_listener($event) { i0.ɵɵrestoreView(_r4); const ctx_r3 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r3.modeChanged($event)); })("exportOptionsChange", function ImportExportToolComponent_mat_tab_group_0_Template_igo_import_export_exportOptionsChange_3_listener($event) { i0.ɵɵrestoreView(_r4); const ctx_r5 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r5.exportOptionsChange($event)); });
1867
1864
  i0.ɵɵpipe(4, "async");
1865
+ i0.ɵɵpipe(5, "async");
1868
1866
  i0.ɵɵelementEnd()();
1869
- i0.ɵɵelementStart(5, "mat-tab", 3);
1870
- i0.ɵɵpipe(6, "translate");
1871
- i0.ɵɵelement(7, "igo-context-import-export", 5);
1867
+ i0.ɵɵelementStart(6, "mat-tab", 3);
1868
+ i0.ɵɵpipe(7, "translate");
1869
+ i0.ɵɵelement(8, "igo-context-import-export", 5);
1872
1870
  i0.ɵɵelementEnd()();
1873
1871
  }
1874
1872
  if (rf & 2) {
1875
1873
  const ctx_r0 = i0.ɵɵnextContext();
1876
1874
  i0.ɵɵadvance(1);
1877
- i0.ɵɵproperty("label", i0.ɵɵpipeBind1(2, 9, "igo.integration.importExportTool.importExportData"));
1878
- i0.ɵɵadvance(2);
1879
- i0.ɵɵproperty("map", ctx_r0.map)("selectFirstProj", ctx_r0.selectFirstProj)("projectionsLimitations", ctx_r0.projectionsLimitations)("store", ctx_r0.workspaceStore)("selectedMode", i0.ɵɵpipeBind1(4, 11, ctx_r0.importExportState.selectedMode$))("exportOptions$", ctx_r0.importExportState.exportOptions$);
1875
+ i0.ɵɵproperty("label", i0.ɵɵpipeBind1(2, 10, "igo.integration.importExportTool.importExportData"));
1880
1876
  i0.ɵɵadvance(2);
1881
- i0.ɵɵproperty("label", i0.ɵɵpipeBind1(6, 13, "igo.integration.importExportTool.importExportContext"));
1877
+ i0.ɵɵproperty("contextUri", i0.ɵɵpipeBind1(4, 12, ctx_r0.contextState.context$).uri)("map", ctx_r0.map)("selectFirstProj", ctx_r0.selectFirstProj)("projectionsLimitations", ctx_r0.projectionsLimitations)("store", ctx_r0.workspaceStore)("selectedMode", i0.ɵɵpipeBind1(5, 14, ctx_r0.importExportState.selectedMode$))("exportOptions$", ctx_r0.importExportState.exportOptions$);
1878
+ i0.ɵɵadvance(3);
1879
+ i0.ɵɵproperty("label", i0.ɵɵpipeBind1(7, 16, "igo.integration.importExportTool.importExportContext"));
1882
1880
  i0.ɵɵadvance(2);
1883
1881
  i0.ɵɵproperty("map", ctx_r0.map);
1884
1882
  }
@@ -1889,11 +1887,12 @@ function ImportExportToolComponent_igo_import_export_1_Template(rf, ctx) {
1889
1887
  i0.ɵɵelementStart(0, "igo-import-export", 6);
1890
1888
  i0.ɵɵlistener("selectMode", function ImportExportToolComponent_igo_import_export_1_Template_igo_import_export_selectMode_0_listener($event) { i0.ɵɵrestoreView(_r7); const ctx_r6 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r6.modeChanged($event)); })("exportOptionsChange", function ImportExportToolComponent_igo_import_export_1_Template_igo_import_export_exportOptionsChange_0_listener($event) { i0.ɵɵrestoreView(_r7); const ctx_r8 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r8.exportOptionsChange($event)); });
1891
1889
  i0.ɵɵpipe(1, "async");
1890
+ i0.ɵɵpipe(2, "async");
1892
1891
  i0.ɵɵelementEnd();
1893
1892
  }
1894
1893
  if (rf & 2) {
1895
1894
  const ctx_r1 = i0.ɵɵnextContext();
1896
- i0.ɵɵproperty("map", ctx_r1.map)("store", ctx_r1.workspaceStore)("selectedMode", i0.ɵɵpipeBind1(1, 4, ctx_r1.importExportState.selectedMode$))("exportOptions$", ctx_r1.importExportState.exportOptions$);
1895
+ i0.ɵɵproperty("contextUri", i0.ɵɵpipeBind1(1, 5, ctx_r1.contextState.context$).uri)("map", ctx_r1.map)("store", ctx_r1.workspaceStore)("selectedMode", i0.ɵɵpipeBind1(2, 7, ctx_r1.importExportState.selectedMode$))("exportOptions$", ctx_r1.importExportState.exportOptions$);
1897
1896
  }
1898
1897
  }
1899
1898
  function ImportExportToolComponent_igo_context_import_export_2_Template(rf, ctx) {
@@ -1906,10 +1905,11 @@ function ImportExportToolComponent_igo_context_import_export_2_Template(rf, ctx)
1906
1905
  }
1907
1906
  }
1908
1907
  let ImportExportToolComponent = class ImportExportToolComponent {
1909
- constructor(mapState, importExportState, workspaceState) {
1908
+ constructor(mapState, importExportState, workspaceState, contextState) {
1910
1909
  this.mapState = mapState;
1911
1910
  this.importExportState = importExportState;
1912
1911
  this.workspaceState = workspaceState;
1912
+ this.contextState = contextState;
1913
1913
  this.selectFirstProj = false;
1914
1914
  this.importExportType = ImportExportType.layer;
1915
1915
  this.importExportShowBothType = true;
@@ -1957,11 +1957,11 @@ let ImportExportToolComponent = class ImportExportToolComponent {
1957
1957
  this.importExportType = event.value;
1958
1958
  }
1959
1959
  };
1960
- ImportExportToolComponent.ɵfac = function ImportExportToolComponent_Factory(t) { return new (t || ImportExportToolComponent)(i0.ɵɵdirectiveInject(MapState), i0.ɵɵdirectiveInject(ImportExportState), i0.ɵɵdirectiveInject(WorkspaceState)); };
1961
- ImportExportToolComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: ImportExportToolComponent, selectors: [["igo-import-export-tool"]], inputs: { projectionsLimitations: "projectionsLimitations", selectFirstProj: "selectFirstProj", importExportType: "importExportType", importExportShowBothType: "importExportShowBothType" }, decls: 3, vars: 3, consts: [[4, "ngIf"], [3, "map", "store", "selectedMode", "exportOptions$", "selectMode", "exportOptionsChange", 4, "ngIf"], [3, "map", 4, "ngIf"], [3, "label"], [3, "map", "selectFirstProj", "projectionsLimitations", "store", "selectedMode", "exportOptions$", "selectMode", "exportOptionsChange"], [3, "map"], [3, "map", "store", "selectedMode", "exportOptions$", "selectMode", "exportOptionsChange"]], template: function ImportExportToolComponent_Template(rf, ctx) {
1960
+ ImportExportToolComponent.ɵfac = function ImportExportToolComponent_Factory(t) { return new (t || ImportExportToolComponent)(i0.ɵɵdirectiveInject(MapState), i0.ɵɵdirectiveInject(ImportExportState), i0.ɵɵdirectiveInject(WorkspaceState), i0.ɵɵdirectiveInject(ContextState)); };
1961
+ ImportExportToolComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: ImportExportToolComponent, selectors: [["igo-import-export-tool"]], inputs: { projectionsLimitations: "projectionsLimitations", selectFirstProj: "selectFirstProj", importExportType: "importExportType", importExportShowBothType: "importExportShowBothType" }, decls: 3, vars: 3, consts: [[4, "ngIf"], [3, "contextUri", "map", "store", "selectedMode", "exportOptions$", "selectMode", "exportOptionsChange", 4, "ngIf"], [3, "map", 4, "ngIf"], [3, "label"], [3, "contextUri", "map", "selectFirstProj", "projectionsLimitations", "store", "selectedMode", "exportOptions$", "selectMode", "exportOptionsChange"], [3, "map"], [3, "contextUri", "map", "store", "selectedMode", "exportOptions$", "selectMode", "exportOptionsChange"]], template: function ImportExportToolComponent_Template(rf, ctx) {
1962
1962
  if (rf & 1) {
1963
- i0.ɵɵtemplate(0, ImportExportToolComponent_mat_tab_group_0_Template, 8, 15, "mat-tab-group", 0);
1964
- i0.ɵɵtemplate(1, ImportExportToolComponent_igo_import_export_1_Template, 2, 6, "igo-import-export", 1);
1963
+ i0.ɵɵtemplate(0, ImportExportToolComponent_mat_tab_group_0_Template, 9, 18, "mat-tab-group", 0);
1964
+ i0.ɵɵtemplate(1, ImportExportToolComponent_igo_import_export_1_Template, 3, 9, "igo-import-export", 1);
1965
1965
  i0.ɵɵtemplate(2, ImportExportToolComponent_igo_context_import_export_2_Template, 1, 1, "igo-context-import-export", 2);
1966
1966
  }
1967
1967
  if (rf & 2) {
@@ -1971,7 +1971,7 @@ ImportExportToolComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: I
1971
1971
  i0.ɵɵadvance(1);
1972
1972
  i0.ɵɵproperty("ngIf", !ctx.importExportShowBothType && ctx.importExportType === "context");
1973
1973
  }
1974
- }, dependencies: [i1$1.ImportExportComponent, i1.ContextImportExportComponent, i6.NgIf, i7$1.MatTabGroup, i7$1.MatTab, i6.AsyncPipe, i8.TranslatePipe], styles: ["mat-form-field[_ngcontent-%COMP%]{width:100%}"], changeDetection: 0 });
1974
+ }, dependencies: [i1$1.ImportExportComponent, i1.ContextImportExportComponent, i8.NgIf, i8$1.MatTabGroup, i8$1.MatTab, i8.AsyncPipe, i12.TranslatePipe], styles: ["mat-form-field[_ngcontent-%COMP%]{width:100%}"], changeDetection: 0 });
1975
1975
  ImportExportToolComponent = __decorate([
1976
1976
  ToolComponent({
1977
1977
  name: 'importExport',
@@ -1982,8 +1982,8 @@ ImportExportToolComponent = __decorate([
1982
1982
  (function () {
1983
1983
  (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ImportExportToolComponent, [{
1984
1984
  type: Component,
1985
- args: [{ selector: 'igo-import-export-tool', changeDetection: ChangeDetectionStrategy.OnPush, template: "<mat-tab-group *ngIf=\"importExportShowBothType\" >\n <mat-tab [label]=\"'igo.integration.importExportTool.importExportData' | translate\">\n <igo-import-export \n [map]=\"map\"\n [selectFirstProj]=\"selectFirstProj\"\n [projectionsLimitations]=\"projectionsLimitations\"\n [store]=\"workspaceStore\"\n [selectedMode]=\"importExportState.selectedMode$ | async\"\n (selectMode)=\"modeChanged($event)\"\n [exportOptions$]=\"importExportState.exportOptions$\"\n (exportOptionsChange)=\"exportOptionsChange($event)\">\n </igo-import-export>\n </mat-tab>\n <mat-tab [label]=\"'igo.integration.importExportTool.importExportContext' | translate\">\n <igo-context-import-export [map]=\"map\"></igo-context-import-export>\n </mat-tab>\n</mat-tab-group>\n\n<igo-import-export \n *ngIf=\"!importExportShowBothType && importExportType === 'layer'\"\n [map]=\"map\"\n [store]=\"workspaceStore\"\n [selectedMode]=\"importExportState.selectedMode$ | async\"\n (selectMode)=\"modeChanged($event)\"\n [exportOptions$]=\"importExportState.exportOptions$\"\n (exportOptionsChange)=\"exportOptionsChange($event)\">\n</igo-import-export>\n\n<igo-context-import-export \n *ngIf=\"!importExportShowBothType && importExportType === 'context'\"\n [map]=\"map\">\n</igo-context-import-export>", styles: ["mat-form-field{width:100%}\n"] }]
1986
- }], function () { return [{ type: MapState }, { type: ImportExportState }, { type: WorkspaceState }]; }, { projectionsLimitations: [{
1985
+ args: [{ selector: 'igo-import-export-tool', changeDetection: ChangeDetectionStrategy.OnPush, template: "<mat-tab-group *ngIf=\"importExportShowBothType\" >\r\n <mat-tab [label]=\"'igo.integration.importExportTool.importExportData' | translate\">\r\n <igo-import-export \r\n [contextUri]=\"(contextState.context$ | async).uri\"\r\n [map]=\"map\"\r\n [selectFirstProj]=\"selectFirstProj\"\r\n [projectionsLimitations]=\"projectionsLimitations\"\r\n [store]=\"workspaceStore\"\r\n [selectedMode]=\"importExportState.selectedMode$ | async\"\r\n (selectMode)=\"modeChanged($event)\"\r\n [exportOptions$]=\"importExportState.exportOptions$\"\r\n (exportOptionsChange)=\"exportOptionsChange($event)\">\r\n </igo-import-export>\r\n </mat-tab>\r\n <mat-tab [label]=\"'igo.integration.importExportTool.importExportContext' | translate\">\r\n <igo-context-import-export [map]=\"map\"></igo-context-import-export>\r\n </mat-tab>\r\n</mat-tab-group>\r\n\r\n<igo-import-export \r\n *ngIf=\"!importExportShowBothType && importExportType === 'layer'\"\r\n [contextUri]=\"(contextState.context$ | async).uri\"\r\n [map]=\"map\"\r\n [store]=\"workspaceStore\"\r\n [selectedMode]=\"importExportState.selectedMode$ | async\"\r\n (selectMode)=\"modeChanged($event)\"\r\n [exportOptions$]=\"importExportState.exportOptions$\"\r\n (exportOptionsChange)=\"exportOptionsChange($event)\">\r\n</igo-import-export>\r\n\r\n<igo-context-import-export \r\n *ngIf=\"!importExportShowBothType && importExportType === 'context'\"\r\n [map]=\"map\">\r\n</igo-context-import-export>", styles: ["mat-form-field{width:100%}\n"] }]
1986
+ }], function () { return [{ type: MapState }, { type: ImportExportState }, { type: WorkspaceState }, { type: ContextState }]; }, { projectionsLimitations: [{
1987
1987
  type: Input
1988
1988
  }], selectFirstProj: [{
1989
1989
  type: Input
@@ -2009,7 +2009,8 @@ IgoAppImportExportModule.ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ imports:
2009
2009
  CommonModule,
2010
2010
  IgoLanguageModule,
2011
2011
  MatButtonToggleModule,
2012
- MatTabsModule] });
2012
+ MatTabsModule,
2013
+ IgoStyleModule] });
2013
2014
  (function () {
2014
2015
  (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(IgoAppImportExportModule, [{
2015
2016
  type: NgModule,
@@ -2020,7 +2021,8 @@ IgoAppImportExportModule.ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ imports:
2020
2021
  CommonModule,
2021
2022
  IgoLanguageModule,
2022
2023
  MatButtonToggleModule,
2023
- MatTabsModule
2024
+ MatTabsModule,
2025
+ IgoStyleModule
2024
2026
  ],
2025
2027
  declarations: [ImportExportToolComponent],
2026
2028
  exports: [ImportExportToolComponent],
@@ -2034,7 +2036,8 @@ IgoAppImportExportModule.ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ imports:
2034
2036
  CommonModule,
2035
2037
  IgoLanguageModule,
2036
2038
  MatButtonToggleModule,
2037
- MatTabsModule], exports: [ImportExportToolComponent] });
2039
+ MatTabsModule,
2040
+ IgoStyleModule], exports: [ImportExportToolComponent] });
2038
2041
  })();
2039
2042
 
2040
2043
  function MapDetailsToolComponent_igo_layer_list_0_ng_template_1_Template(rf, ctx) {
@@ -2274,7 +2277,7 @@ MapDetailsToolComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: Map
2274
2277
  const _r1 = i0.ɵɵreference(3);
2275
2278
  i0.ɵɵproperty("ngIf", i0.ɵɵpipeBind1(1, 2, ctx.layers$).length)("ngIfElse", _r1);
2276
2279
  }
2277
- }, dependencies: [i6.NgIf, i6$1.MatList, i6$1.MatListItem, i8$1.MatLine, i6$1.MatListIconCssMatStyler, i7.MatIcon, i1$1.LayerListComponent, i1$1.LayerListBindingDirective, i1$1.TrackFeatureButtonComponent, i1$1.MetadataButtonComponent, i1$1.ExportButtonComponent, i1$1.TimeFilterButtonComponent, i1$1.OgcFilterButtonComponent, WorkspaceButtonComponent, i6.AsyncPipe, i8.TranslatePipe], styles: [".map-empty[_ngcontent-%COMP%], .search-tool[_ngcontent-%COMP%], .catalog-tool[_ngcontent-%COMP%], .context-tool[_ngcontent-%COMP%]{margin:10px}.map-empty[_ngcontent-%COMP%]{text-align:justify}.search-tool[_ngcontent-%COMP%], .catalog-tool[_ngcontent-%COMP%], .context-tool[_ngcontent-%COMP%]{cursor:pointer}mat-list[_ngcontent-%COMP%] mat-list-item[_ngcontent-%COMP%] h4[_ngcontent-%COMP%]{font-weight:700}mat-list-item[_ngcontent-%COMP%] .mat-list-text{font-size:smaller}mat-list.mat-list-base[_ngcontent-%COMP%] mat-list-item.mat-list-item[_ngcontent-%COMP%] div.mat-list-item-content div.mat-list-text{padding-left:5px}.mapDetailsList[_ngcontent-%COMP%]{overflow:hidden}"] });
2280
+ }, dependencies: [i8.NgIf, i6.MatList, i6.MatListItem, i8$2.MatLine, i6.MatListIconCssMatStyler, i7.MatIcon, i1$1.LayerListComponent, i1$1.LayerListBindingDirective, i1$1.TrackFeatureButtonComponent, i1$1.MetadataButtonComponent, i1$1.ExportButtonComponent, i1$1.TimeFilterButtonComponent, i1$1.OgcFilterButtonComponent, WorkspaceButtonComponent, i8.AsyncPipe, i12.TranslatePipe], styles: [".map-empty[_ngcontent-%COMP%], .search-tool[_ngcontent-%COMP%], .catalog-tool[_ngcontent-%COMP%], .context-tool[_ngcontent-%COMP%]{margin:10px}.map-empty[_ngcontent-%COMP%]{text-align:justify}.search-tool[_ngcontent-%COMP%], .catalog-tool[_ngcontent-%COMP%], .context-tool[_ngcontent-%COMP%]{cursor:pointer}mat-list[_ngcontent-%COMP%] mat-list-item[_ngcontent-%COMP%] h4[_ngcontent-%COMP%]{font-weight:700}mat-list-item[_ngcontent-%COMP%] .mat-list-text{font-size:smaller}mat-list.mat-list-base[_ngcontent-%COMP%] mat-list-item.mat-list-item[_ngcontent-%COMP%] div.mat-list-item-content div.mat-list-text{padding-left:5px}.mapDetailsList[_ngcontent-%COMP%]{overflow:hidden}"] });
2278
2281
  MapDetailsToolComponent = __decorate([
2279
2282
  ToolComponent({
2280
2283
  name: 'mapDetails',
@@ -2285,7 +2288,7 @@ MapDetailsToolComponent = __decorate([
2285
2288
  (function () {
2286
2289
  (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(MapDetailsToolComponent, [{
2287
2290
  type: Component,
2288
- args: [{ selector: 'igo-map-details-tool', template: "<igo-layer-list class=\"mapDetailsList\" *ngIf=\"(layers$ | async).length; else empty\"\n [map]=\"map\"\n igoLayerListBinding\n [excludeBaseLayers]=\"excludeBaseLayers\"\n [layerFilterAndSortOptions]=\"layerFilterAndSortOptions\"\n [expandLegendOfVisibleLayers]=\"expandLegendOfVisibleLayers\"\n [toggleLegendOnVisibilityChange]=\"toggleLegendOnVisibilityChange\"\n [updateLegendOnResolutionChange]=\"updateLegendOnResolutionChange\"\n floatLabel=\"never\"\n [queryBadge]=\"queryBadge\">\n\n <ng-template #igoLayerItemToolbar let-layer=\"layer\">\n <!-- <igo-download-button [layer]=\"layer\"></igo-download-button> -->\n <igo-workspace-button [layer]=\"layer\"></igo-workspace-button>\n <igo-export-button [layer]=\"layer\" (click)=\"activateExport(layer)\"></igo-export-button>\n <igo-ogc-filter-button [header]=\"ogcButton\" [layer]=\"layer\"></igo-ogc-filter-button>\n <igo-time-filter-button [header]=\"timeButton\" [layer]=\"layer\"></igo-time-filter-button>\n <igo-track-feature-button [trackFeature]=\"true\" [layer]=\"layer\"></igo-track-feature-button>\n <igo-metadata-button [layer]=\"layer\"></igo-metadata-button>\n </ng-template>\n\n</igo-layer-list>\n\n<ng-template #empty>\n <mat-list *ngIf=\"delayedShowEmptyMapContent\">\n <p class=\"map-empty mat-typography\">\n {{'igo.integration.mapTool.empty' | translate}}</p>\n <p *ngIf=\"layerAdditionAllowed && (searchToolInToolbar || catalogToolInToolbar || contextToolInToolbar)\" class=\"map-empty mat-typography\">\n {{'igo.integration.mapTool.customize' | translate}}</p>\n <mat-list-item *ngIf=\"layerAdditionAllowed && searchToolInToolbar\">\n <mat-icon mat-list-icon> <svg viewBox='0 0 24 24' fit='' height='100%' width='100%' preserveAspectRatio='xMidYMid meet' focusable='false'> <path 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'> </path> </svg></mat-icon>\n <h4 matLine class=\"search-tool mat-typography\" (click)=\"searchEmit()\">\n {{'igo.integration.mapTool.search-tool' | translate}}\n </h4>\n </mat-list-item>\n <mat-list-item *ngIf=\"layerAdditionAllowed && catalogToolInToolbar\">\n <mat-icon mat-list-icon> <svg viewBox='0 0 24 24' fit='' height='100%' width='100%' preserveAspectRatio='xMidYMid meet' focusable='false'> <path 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'></path> </svg></mat-icon>\n <h4 matLine class=\"catalog-tool mat-typography\" (click)=\"catalogEmit()\">\n {{'igo.integration.mapTool.catalog-tool' | translate}}\n </h4>\n </mat-list-item>\n <mat-list-item *ngIf=\"layerAdditionAllowed && contextToolInToolbar\">\n <mat-icon mat-list-icon> <svg viewBox='0 0 24 24' fit='' height='100%' width='100%' preserveAspectRatio='xMidYMid meet' focusable='false'> <path 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'></path> </svg></mat-icon>\n <h4 matLine class=\"context-tool mat-typography\" (click)=\"contextEmit()\">\n {{'igo.integration.mapTool.context-tool' | translate}}\n </h4>\n </mat-list-item>\n </mat-list>\n</ng-template>\n", styles: [".map-empty,.search-tool,.catalog-tool,.context-tool{margin:10px}.map-empty{text-align:justify}.search-tool,.catalog-tool,.context-tool{cursor:pointer}mat-list mat-list-item h4{font-weight:700}mat-list-item ::ng-deep .mat-list-text{font-size:smaller}mat-list.mat-list-base mat-list-item.mat-list-item ::ng-deep div.mat-list-item-content div.mat-list-text{padding-left:5px}.mapDetailsList{overflow:hidden}\n"] }]
2291
+ args: [{ selector: 'igo-map-details-tool', template: "<igo-layer-list class=\"mapDetailsList\" *ngIf=\"(layers$ | async).length; else empty\"\r\n [map]=\"map\"\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=\"never\"\r\n [queryBadge]=\"queryBadge\">\r\n\r\n <ng-template #igoLayerItemToolbar let-layer=\"layer\">\r\n <!-- <igo-download-button [layer]=\"layer\"></igo-download-button> -->\r\n <igo-workspace-button [layer]=\"layer\"></igo-workspace-button>\r\n <igo-export-button [layer]=\"layer\" (click)=\"activateExport(layer)\"></igo-export-button>\r\n <igo-ogc-filter-button [header]=\"ogcButton\" [layer]=\"layer\"></igo-ogc-filter-button>\r\n <igo-time-filter-button [header]=\"timeButton\" [layer]=\"layer\"></igo-time-filter-button>\r\n <igo-track-feature-button [trackFeature]=\"true\" [layer]=\"layer\"></igo-track-feature-button>\r\n <igo-metadata-button [layer]=\"layer\"></igo-metadata-button>\r\n </ng-template>\r\n\r\n</igo-layer-list>\r\n\r\n<ng-template #empty>\r\n <mat-list *ngIf=\"delayedShowEmptyMapContent\">\r\n <p class=\"map-empty mat-typography\">\r\n {{'igo.integration.mapTool.empty' | translate}}</p>\r\n <p *ngIf=\"layerAdditionAllowed && (searchToolInToolbar || catalogToolInToolbar || contextToolInToolbar)\" class=\"map-empty mat-typography\">\r\n {{'igo.integration.mapTool.customize' | translate}}</p>\r\n <mat-list-item *ngIf=\"layerAdditionAllowed && searchToolInToolbar\">\r\n <mat-icon mat-list-icon> <svg viewBox='0 0 24 24' fit='' height='100%' width='100%' preserveAspectRatio='xMidYMid meet' focusable='false'> <path 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'> </path> </svg></mat-icon>\r\n <h4 matLine class=\"search-tool mat-typography\" (click)=\"searchEmit()\">\r\n {{'igo.integration.mapTool.search-tool' | translate}}\r\n </h4>\r\n </mat-list-item>\r\n <mat-list-item *ngIf=\"layerAdditionAllowed && catalogToolInToolbar\">\r\n <mat-icon mat-list-icon> <svg viewBox='0 0 24 24' fit='' height='100%' width='100%' preserveAspectRatio='xMidYMid meet' focusable='false'> <path 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'></path> </svg></mat-icon>\r\n <h4 matLine class=\"catalog-tool mat-typography\" (click)=\"catalogEmit()\">\r\n {{'igo.integration.mapTool.catalog-tool' | translate}}\r\n </h4>\r\n </mat-list-item>\r\n <mat-list-item *ngIf=\"layerAdditionAllowed && contextToolInToolbar\">\r\n <mat-icon mat-list-icon> <svg viewBox='0 0 24 24' fit='' height='100%' width='100%' preserveAspectRatio='xMidYMid meet' focusable='false'> <path 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'></path> </svg></mat-icon>\r\n <h4 matLine class=\"context-tool mat-typography\" (click)=\"contextEmit()\">\r\n {{'igo.integration.mapTool.context-tool' | translate}}\r\n </h4>\r\n </mat-list-item>\r\n </mat-list>\r\n</ng-template>\r\n", styles: [".map-empty,.search-tool,.catalog-tool,.context-tool{margin:10px}.map-empty{text-align:justify}.search-tool,.catalog-tool,.context-tool{cursor:pointer}mat-list mat-list-item h4{font-weight:700}mat-list-item ::ng-deep .mat-list-text{font-size:smaller}mat-list.mat-list-base mat-list-item.mat-list-item ::ng-deep div.mat-list-item-content div.mat-list-text{padding-left:5px}.mapDetailsList{overflow:hidden}\n"] }]
2289
2292
  }], function () { return [{ type: MapState }, { type: ToolState }, { type: i1$1.SearchSourceService }, { type: i0.ChangeDetectorRef }, { type: ImportExportState }]; }, { toggleLegendOnVisibilityChange: [{
2290
2293
  type: Input
2291
2294
  }], expandLegendOfVisibleLayers: [{
@@ -2400,7 +2403,7 @@ MapToolComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: MapToolCom
2400
2403
  i0.ɵɵadvance(3);
2401
2404
  i0.ɵɵproperty("label", i0.ɵɵpipeBind1(7, 12, "igo.integration.tools.contexts"));
2402
2405
  }
2403
- }, dependencies: [i7$1.MatTabGroup, i7$1.MatTab, i1$1.LayerListComponent, i1$1.LayerListBindingDirective, i1$1.TrackFeatureButtonComponent, i1$1.MetadataButtonComponent, i1$1.ExportButtonComponent, i1$1.TimeFilterButtonComponent, i1$1.OgcFilterButtonComponent, i1.ContextListComponent, i1.ContextListBindingDirective, WorkspaceButtonComponent, i8.TranslatePipe], styles: ["mat-tab-group[_ngcontent-%COMP%], mat-tab-group[_ngcontent-%COMP%] .mat-tab-body-wrapper{height:100%;overflow:hidden}[_nghost-%COMP%] .mat-tab-body-content{overflow:hidden}"], changeDetection: 0 });
2406
+ }, dependencies: [i8$1.MatTabGroup, i8$1.MatTab, i1$1.LayerListComponent, i1$1.LayerListBindingDirective, i1$1.TrackFeatureButtonComponent, i1$1.MetadataButtonComponent, i1$1.ExportButtonComponent, i1$1.TimeFilterButtonComponent, i1$1.OgcFilterButtonComponent, i1.ContextListComponent, i1.ContextListBindingDirective, WorkspaceButtonComponent, i12.TranslatePipe], styles: ["mat-tab-group[_ngcontent-%COMP%], mat-tab-group[_ngcontent-%COMP%] .mat-tab-body-wrapper{height:100%;overflow:hidden}[_nghost-%COMP%] .mat-tab-body-content{overflow:hidden}"], changeDetection: 0 });
2404
2407
  MapToolComponent = __decorate([
2405
2408
  ToolComponent({
2406
2409
  name: 'map',
@@ -2411,7 +2414,7 @@ MapToolComponent = __decorate([
2411
2414
  (function () {
2412
2415
  (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(MapToolComponent, [{
2413
2416
  type: Component,
2414
- args: [{ selector: 'igo-map-tool', changeDetection: ChangeDetectionStrategy.OnPush, template: "<mat-tab-group>\n\n <mat-tab [label]=\"'igo.integration.tools.map' |\u00A0translate\">\n <igo-layer-list\n [map]=\"map\"\n igoLayerListBinding\n [excludeBaseLayers]=\"excludeBaseLayers\"\n [layerFilterAndSortOptions]=\"layerFilterAndSortOptions\"\n [expandLegendOfVisibleLayers]=\"expandLegendOfVisibleLayers\"\n [toggleLegendOnVisibilityChange]=\"toggleLegendOnVisibilityChange\"\n [updateLegendOnResolutionChange]=\"updateLegendOnResolutionChange\"\n [floatLabel]=\"false\"\n [queryBadge]=\"queryBadge\">\n\n <ng-template #igoLayerItemToolbar let-layer=\"layer\">\n <!-- <igo-download-button [layer]=\"layer\"></igo-download-button> -->\n <igo-workspace-button [layer]=\"layer\"></igo-workspace-button>\n <igo-export-button [layer]=\"layer\" (click)=\"activateExport(layer)\"></igo-export-button>\n <igo-ogc-filter-button [header]=\"ogcButton\" [layer]=\"layer\"></igo-ogc-filter-button>\n <igo-time-filter-button [header]=\"timeButton\" [layer]=\"layer\"></igo-time-filter-button>\n <igo-track-feature-button [trackFeature]=\"true\" [layer]=\"layer\"></igo-track-feature-button>\n <igo-metadata-button [layer]=\"layer\"></igo-metadata-button>\n </ng-template>\n\n </igo-layer-list>\n </mat-tab>\n\n <mat-tab [label]=\"'igo.integration.tools.contexts' |\u00A0translate\">\n <igo-context-list igoContextListBinding></igo-context-list>\n </mat-tab>\n\n</mat-tab-group>\n", styles: ["mat-tab-group,mat-tab-group ::ng-deep .mat-tab-body-wrapper{height:100%;overflow:hidden}:host ::ng-deep .mat-tab-body-content{overflow:hidden}\n"] }]
2417
+ args: [{ selector: 'igo-map-tool', changeDetection: ChangeDetectionStrategy.OnPush, template: "<mat-tab-group>\r\n\r\n <mat-tab [label]=\"'igo.integration.tools.map' |\u00A0translate\">\r\n <igo-layer-list\r\n [map]=\"map\"\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\r\n <ng-template #igoLayerItemToolbar let-layer=\"layer\">\r\n <!-- <igo-download-button [layer]=\"layer\"></igo-download-button> -->\r\n <igo-workspace-button [layer]=\"layer\"></igo-workspace-button>\r\n <igo-export-button [layer]=\"layer\" (click)=\"activateExport(layer)\"></igo-export-button>\r\n <igo-ogc-filter-button [header]=\"ogcButton\" [layer]=\"layer\"></igo-ogc-filter-button>\r\n <igo-time-filter-button [header]=\"timeButton\" [layer]=\"layer\"></igo-time-filter-button>\r\n <igo-track-feature-button [trackFeature]=\"true\" [layer]=\"layer\"></igo-track-feature-button>\r\n <igo-metadata-button [layer]=\"layer\"></igo-metadata-button>\r\n </ng-template>\r\n\r\n </igo-layer-list>\r\n </mat-tab>\r\n\r\n <mat-tab [label]=\"'igo.integration.tools.contexts' |\u00A0translate\">\r\n <igo-context-list igoContextListBinding></igo-context-list>\r\n </mat-tab>\r\n\r\n</mat-tab-group>\r\n", styles: ["mat-tab-group,mat-tab-group ::ng-deep .mat-tab-body-wrapper{height:100%;overflow:hidden}:host ::ng-deep .mat-tab-body-content{overflow:hidden}\n"] }]
2415
2418
  }], function () { return [{ type: MapState }, { type: ToolState }, { type: ImportExportState }]; }, { toggleLegendOnVisibilityChange: [{
2416
2419
  type: Input
2417
2420
  }], expandLegendOfVisibleLayers: [{
@@ -2430,37 +2433,46 @@ MapToolComponent = __decorate([
2430
2433
  })();
2431
2434
 
2432
2435
  const _c0$2 = ["tabGroup"];
2433
- function MapToolsComponent_igo_layer_list_5_ng_template_1_igo_time_filter_button_2_Template(rf, ctx) {
2436
+ function MapToolsComponent_igo_layer_list_5_ng_template_1_igo_style_modal_layer_button_0_Template(rf, ctx) {
2434
2437
  if (rf & 1) {
2435
- const _r14 = i0.ɵɵgetCurrentView();
2436
- i0.ɵɵelementStart(0, "igo-time-filter-button", 14);
2437
- i0.ɵɵlistener("click", function MapToolsComponent_igo_layer_list_5_ng_template_1_igo_time_filter_button_2_Template_igo_time_filter_button_click_0_listener() { i0.ɵɵrestoreView(_r14); const ctx_r13 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r13.activateTimeFilter()); });
2438
- i0.ɵɵelementEnd();
2438
+ i0.ɵɵelement(0, "igo-style-modal-layer-button", 11);
2439
2439
  }
2440
2440
  if (rf & 2) {
2441
2441
  const layer_r9 = i0.ɵɵnextContext().layer;
2442
- const ctx_r10 = i0.ɵɵnextContext(2);
2443
- i0.ɵɵproperty("header", ctx_r10.timeButton)("layer", layer_r9);
2442
+ i0.ɵɵproperty("layer", layer_r9);
2444
2443
  }
2445
2444
  }
2446
- function MapToolsComponent_igo_layer_list_5_ng_template_1_igo_ogc_filter_button_3_Template(rf, ctx) {
2445
+ function MapToolsComponent_igo_layer_list_5_ng_template_1_igo_time_filter_button_3_Template(rf, ctx) {
2447
2446
  if (rf & 1) {
2448
- const _r17 = i0.ɵɵgetCurrentView();
2449
- i0.ɵɵelementStart(0, "igo-ogc-filter-button", 14);
2450
- i0.ɵɵlistener("click", function MapToolsComponent_igo_layer_list_5_ng_template_1_igo_ogc_filter_button_3_Template_igo_ogc_filter_button_click_0_listener() { i0.ɵɵrestoreView(_r17); const ctx_r16 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r16.activateOgcFilter()); });
2447
+ const _r16 = i0.ɵɵgetCurrentView();
2448
+ i0.ɵɵelementStart(0, "igo-time-filter-button", 15);
2449
+ 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()); });
2451
2450
  i0.ɵɵelementEnd();
2452
2451
  }
2453
2452
  if (rf & 2) {
2454
2453
  const layer_r9 = i0.ɵɵnextContext().layer;
2455
2454
  const ctx_r11 = i0.ɵɵnextContext(2);
2456
- i0.ɵɵproperty("header", ctx_r11.ogcButton)("layer", layer_r9);
2455
+ i0.ɵɵproperty("header", ctx_r11.timeButton)("layer", layer_r9);
2456
+ }
2457
+ }
2458
+ function MapToolsComponent_igo_layer_list_5_ng_template_1_igo_ogc_filter_button_4_Template(rf, ctx) {
2459
+ if (rf & 1) {
2460
+ const _r19 = i0.ɵɵgetCurrentView();
2461
+ i0.ɵɵelementStart(0, "igo-ogc-filter-button", 15);
2462
+ 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()); });
2463
+ i0.ɵɵelementEnd();
2464
+ }
2465
+ if (rf & 2) {
2466
+ const layer_r9 = i0.ɵɵnextContext().layer;
2467
+ const ctx_r12 = i0.ɵɵnextContext(2);
2468
+ i0.ɵɵproperty("header", ctx_r12.ogcButton)("layer", layer_r9);
2457
2469
  }
2458
2470
  }
2459
- function MapToolsComponent_igo_layer_list_5_ng_template_1_igo_export_button_4_Template(rf, ctx) {
2471
+ function MapToolsComponent_igo_layer_list_5_ng_template_1_igo_export_button_5_Template(rf, ctx) {
2460
2472
  if (rf & 1) {
2461
- const _r21 = i0.ɵɵgetCurrentView();
2462
- i0.ɵɵelementStart(0, "igo-export-button", 15);
2463
- i0.ɵɵlistener("click", function MapToolsComponent_igo_layer_list_5_ng_template_1_igo_export_button_4_Template_igo_export_button_click_0_listener() { i0.ɵɵrestoreView(_r21); const layer_r9 = i0.ɵɵnextContext().layer; const ctx_r19 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r19.activateExport(layer_r9)); });
2473
+ const _r23 = i0.ɵɵgetCurrentView();
2474
+ i0.ɵɵelementStart(0, "igo-export-button", 16);
2475
+ 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)); });
2464
2476
  i0.ɵɵelementEnd();
2465
2477
  }
2466
2478
  if (rf & 2) {
@@ -2470,15 +2482,18 @@ function MapToolsComponent_igo_layer_list_5_ng_template_1_igo_export_button_4_Te
2470
2482
  }
2471
2483
  function MapToolsComponent_igo_layer_list_5_ng_template_1_Template(rf, ctx) {
2472
2484
  if (rf & 1) {
2473
- i0.ɵɵelement(0, "igo-metadata-button", 10)(1, "igo-track-feature-button", 11);
2474
- i0.ɵɵtemplate(2, MapToolsComponent_igo_layer_list_5_ng_template_1_igo_time_filter_button_2_Template, 1, 2, "igo-time-filter-button", 12);
2475
- i0.ɵɵtemplate(3, MapToolsComponent_igo_layer_list_5_ng_template_1_igo_ogc_filter_button_3_Template, 1, 2, "igo-ogc-filter-button", 12);
2476
- i0.ɵɵtemplate(4, MapToolsComponent_igo_layer_list_5_ng_template_1_igo_export_button_4_Template, 1, 1, "igo-export-button", 13);
2477
- i0.ɵɵelement(5, "igo-workspace-button", 10);
2485
+ 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);
2486
+ i0.ɵɵelement(1, "igo-metadata-button", 11)(2, "igo-track-feature-button", 12);
2487
+ i0.ɵɵtemplate(3, MapToolsComponent_igo_layer_list_5_ng_template_1_igo_time_filter_button_3_Template, 1, 2, "igo-time-filter-button", 13);
2488
+ i0.ɵɵtemplate(4, MapToolsComponent_igo_layer_list_5_ng_template_1_igo_ogc_filter_button_4_Template, 1, 2, "igo-ogc-filter-button", 13);
2489
+ i0.ɵɵtemplate(5, MapToolsComponent_igo_layer_list_5_ng_template_1_igo_export_button_5_Template, 1, 1, "igo-export-button", 14);
2490
+ i0.ɵɵelement(6, "igo-workspace-button", 11);
2478
2491
  }
2479
2492
  if (rf & 2) {
2480
2493
  const layer_r9 = ctx.layer;
2481
2494
  const ctx_r8 = i0.ɵɵnextContext(2);
2495
+ i0.ɵɵproperty("ngIf", ctx_r8.isStyleEditButton(layer_r9));
2496
+ i0.ɵɵadvance(1);
2482
2497
  i0.ɵɵproperty("layer", layer_r9);
2483
2498
  i0.ɵɵadvance(1);
2484
2499
  i0.ɵɵproperty("trackFeature", true)("layer", layer_r9);
@@ -2494,10 +2509,10 @@ function MapToolsComponent_igo_layer_list_5_ng_template_1_Template(rf, ctx) {
2494
2509
  }
2495
2510
  function MapToolsComponent_igo_layer_list_5_Template(rf, ctx) {
2496
2511
  if (rf & 1) {
2497
- const _r24 = i0.ɵɵgetCurrentView();
2512
+ const _r26 = i0.ɵɵgetCurrentView();
2498
2513
  i0.ɵɵelementStart(0, "igo-layer-list", 8);
2499
- i0.ɵɵlistener("appliedFilterAndSort", function MapToolsComponent_igo_layer_list_5_Template_igo_layer_list_appliedFilterAndSort_0_listener($event) { i0.ɵɵrestoreView(_r24); const ctx_r23 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r23.onLayerListChange($event)); });
2500
- i0.ɵɵtemplate(1, MapToolsComponent_igo_layer_list_5_ng_template_1_Template, 6, 7, "ng-template", null, 9, i0.ɵɵtemplateRefExtractor);
2514
+ 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)); });
2515
+ i0.ɵɵtemplate(1, MapToolsComponent_igo_layer_list_5_ng_template_1_Template, 7, 8, "ng-template", null, 9, i0.ɵɵtemplateRefExtractor);
2501
2516
  i0.ɵɵelementEnd();
2502
2517
  }
2503
2518
  if (rf & 2) {
@@ -2507,9 +2522,9 @@ function MapToolsComponent_igo_layer_list_5_Template(rf, ctx) {
2507
2522
  }
2508
2523
  function MapToolsComponent_igo_layer_legend_list_9_Template(rf, ctx) {
2509
2524
  if (rf & 1) {
2510
- const _r26 = i0.ɵɵgetCurrentView();
2511
- i0.ɵɵelementStart(0, "igo-layer-legend-list", 16);
2512
- i0.ɵɵlistener("allLegendsShown", function MapToolsComponent_igo_layer_legend_list_9_Template_igo_layer_legend_list_allLegendsShown_0_listener($event) { i0.ɵɵrestoreView(_r26); const ctx_r25 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r25.onShowAllLegends($event)); });
2525
+ const _r28 = i0.ɵɵgetCurrentView();
2526
+ i0.ɵɵelementStart(0, "igo-layer-legend-list", 17);
2527
+ 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)); });
2513
2528
  i0.ɵɵpipe(1, "async");
2514
2529
  i0.ɵɵelementEnd();
2515
2530
  }
@@ -2526,7 +2541,7 @@ function MapToolsComponent_10_Template(rf, ctx) {
2526
2541
  }
2527
2542
  function MapToolsComponent_p_12_Template(rf, ctx) {
2528
2543
  if (rf & 1) {
2529
- i0.ɵɵelementStart(0, "p", 17);
2544
+ i0.ɵɵelementStart(0, "p", 18);
2530
2545
  i0.ɵɵtext(1);
2531
2546
  i0.ɵɵpipe(2, "async");
2532
2547
  i0.ɵɵpipe(3, "translate");
@@ -2541,7 +2556,7 @@ function MapToolsComponent_p_12_Template(rf, ctx) {
2541
2556
  }
2542
2557
  function MapToolsComponent_ng_template_15_mat_list_0_p_4_Template(rf, ctx) {
2543
2558
  if (rf & 1) {
2544
- i0.ɵɵelementStart(0, "p", 17);
2559
+ i0.ɵɵelementStart(0, "p", 18);
2545
2560
  i0.ɵɵtext(1);
2546
2561
  i0.ɵɵpipe(2, "translate");
2547
2562
  i0.ɵɵelementEnd();
@@ -2553,15 +2568,15 @@ function MapToolsComponent_ng_template_15_mat_list_0_p_4_Template(rf, ctx) {
2553
2568
  }
2554
2569
  function MapToolsComponent_ng_template_15_mat_list_0_mat_list_item_5_Template(rf, ctx) {
2555
2570
  if (rf & 1) {
2556
- const _r34 = i0.ɵɵgetCurrentView();
2557
- i0.ɵɵelementStart(0, "mat-list-item")(1, "mat-icon", 19);
2571
+ const _r36 = i0.ɵɵgetCurrentView();
2572
+ i0.ɵɵelementStart(0, "mat-list-item")(1, "mat-icon", 20);
2558
2573
  i0.ɵɵnamespaceSVG();
2559
- i0.ɵɵelementStart(2, "svg", 20);
2560
- i0.ɵɵelement(3, "path", 21);
2574
+ i0.ɵɵelementStart(2, "svg", 21);
2575
+ i0.ɵɵelement(3, "path", 22);
2561
2576
  i0.ɵɵelementEnd()();
2562
2577
  i0.ɵɵnamespaceHTML();
2563
- i0.ɵɵelementStart(4, "h4", 22);
2564
- i0.ɵɵlistener("click", function MapToolsComponent_ng_template_15_mat_list_0_mat_list_item_5_Template_h4_click_4_listener() { i0.ɵɵrestoreView(_r34); const ctx_r33 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r33.searchEmit()); });
2578
+ i0.ɵɵelementStart(4, "h4", 23);
2579
+ i0.ɵɵlistener("click", function MapToolsComponent_ng_template_15_mat_list_0_mat_list_item_5_Template_h4_click_4_listener() { i0.ɵɵrestoreView(_r36); const ctx_r35 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r35.searchEmit()); });
2565
2580
  i0.ɵɵtext(5);
2566
2581
  i0.ɵɵpipe(6, "translate");
2567
2582
  i0.ɵɵelementEnd()();
@@ -2573,15 +2588,15 @@ function MapToolsComponent_ng_template_15_mat_list_0_mat_list_item_5_Template(rf
2573
2588
  }
2574
2589
  function MapToolsComponent_ng_template_15_mat_list_0_mat_list_item_6_Template(rf, ctx) {
2575
2590
  if (rf & 1) {
2576
- const _r36 = i0.ɵɵgetCurrentView();
2577
- i0.ɵɵelementStart(0, "mat-list-item")(1, "mat-icon", 19);
2591
+ const _r38 = i0.ɵɵgetCurrentView();
2592
+ i0.ɵɵelementStart(0, "mat-list-item")(1, "mat-icon", 20);
2578
2593
  i0.ɵɵnamespaceSVG();
2579
- i0.ɵɵelementStart(2, "svg", 20);
2580
- i0.ɵɵelement(3, "path", 23);
2594
+ i0.ɵɵelementStart(2, "svg", 21);
2595
+ i0.ɵɵelement(3, "path", 24);
2581
2596
  i0.ɵɵelementEnd()();
2582
2597
  i0.ɵɵnamespaceHTML();
2583
- i0.ɵɵelementStart(4, "h4", 24);
2584
- i0.ɵɵlistener("click", function MapToolsComponent_ng_template_15_mat_list_0_mat_list_item_6_Template_h4_click_4_listener() { i0.ɵɵrestoreView(_r36); const ctx_r35 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r35.catalogEmit()); });
2598
+ i0.ɵɵelementStart(4, "h4", 25);
2599
+ i0.ɵɵlistener("click", function MapToolsComponent_ng_template_15_mat_list_0_mat_list_item_6_Template_h4_click_4_listener() { i0.ɵɵrestoreView(_r38); const ctx_r37 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r37.catalogEmit()); });
2585
2600
  i0.ɵɵtext(5);
2586
2601
  i0.ɵɵpipe(6, "translate");
2587
2602
  i0.ɵɵelementEnd()();
@@ -2593,15 +2608,15 @@ function MapToolsComponent_ng_template_15_mat_list_0_mat_list_item_6_Template(rf
2593
2608
  }
2594
2609
  function MapToolsComponent_ng_template_15_mat_list_0_mat_list_item_7_Template(rf, ctx) {
2595
2610
  if (rf & 1) {
2596
- const _r38 = i0.ɵɵgetCurrentView();
2597
- i0.ɵɵelementStart(0, "mat-list-item")(1, "mat-icon", 19);
2611
+ const _r40 = i0.ɵɵgetCurrentView();
2612
+ i0.ɵɵelementStart(0, "mat-list-item")(1, "mat-icon", 20);
2598
2613
  i0.ɵɵnamespaceSVG();
2599
- i0.ɵɵelementStart(2, "svg", 20);
2600
- i0.ɵɵelement(3, "path", 25);
2614
+ i0.ɵɵelementStart(2, "svg", 21);
2615
+ i0.ɵɵelement(3, "path", 26);
2601
2616
  i0.ɵɵelementEnd()();
2602
2617
  i0.ɵɵnamespaceHTML();
2603
- i0.ɵɵelementStart(4, "h4", 26);
2604
- i0.ɵɵlistener("click", function MapToolsComponent_ng_template_15_mat_list_0_mat_list_item_7_Template_h4_click_4_listener() { i0.ɵɵrestoreView(_r38); const ctx_r37 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r37.contextEmit()); });
2618
+ i0.ɵɵelementStart(4, "h4", 27);
2619
+ i0.ɵɵlistener("click", function MapToolsComponent_ng_template_15_mat_list_0_mat_list_item_7_Template_h4_click_4_listener() { i0.ɵɵrestoreView(_r40); const ctx_r39 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r39.contextEmit()); });
2605
2620
  i0.ɵɵtext(5);
2606
2621
  i0.ɵɵpipe(6, "translate");
2607
2622
  i0.ɵɵelementEnd()();
@@ -2613,33 +2628,33 @@ function MapToolsComponent_ng_template_15_mat_list_0_mat_list_item_7_Template(rf
2613
2628
  }
2614
2629
  function MapToolsComponent_ng_template_15_mat_list_0_Template(rf, ctx) {
2615
2630
  if (rf & 1) {
2616
- i0.ɵɵelementStart(0, "mat-list")(1, "p", 17);
2631
+ i0.ɵɵelementStart(0, "mat-list")(1, "p", 18);
2617
2632
  i0.ɵɵtext(2);
2618
2633
  i0.ɵɵpipe(3, "translate");
2619
2634
  i0.ɵɵelementEnd();
2620
2635
  i0.ɵɵtemplate(4, MapToolsComponent_ng_template_15_mat_list_0_p_4_Template, 3, 3, "p", 6);
2621
- i0.ɵɵtemplate(5, MapToolsComponent_ng_template_15_mat_list_0_mat_list_item_5_Template, 7, 3, "mat-list-item", 18);
2622
- i0.ɵɵtemplate(6, MapToolsComponent_ng_template_15_mat_list_0_mat_list_item_6_Template, 7, 3, "mat-list-item", 18);
2623
- i0.ɵɵtemplate(7, MapToolsComponent_ng_template_15_mat_list_0_mat_list_item_7_Template, 7, 3, "mat-list-item", 18);
2636
+ i0.ɵɵtemplate(5, MapToolsComponent_ng_template_15_mat_list_0_mat_list_item_5_Template, 7, 3, "mat-list-item", 19);
2637
+ i0.ɵɵtemplate(6, MapToolsComponent_ng_template_15_mat_list_0_mat_list_item_6_Template, 7, 3, "mat-list-item", 19);
2638
+ i0.ɵɵtemplate(7, MapToolsComponent_ng_template_15_mat_list_0_mat_list_item_7_Template, 7, 3, "mat-list-item", 19);
2624
2639
  i0.ɵɵelementEnd();
2625
2640
  }
2626
2641
  if (rf & 2) {
2627
- const ctx_r28 = i0.ɵɵnextContext(2);
2642
+ const ctx_r30 = i0.ɵɵnextContext(2);
2628
2643
  i0.ɵɵadvance(2);
2629
2644
  i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(3, 5, "igo.integration.mapTool.empty"), "");
2630
2645
  i0.ɵɵadvance(2);
2631
- i0.ɵɵproperty("ngIf", ctx_r28.layerAdditionAllowed && (ctx_r28.searchToolInToolbar || ctx_r28.catalogToolInToolbar || ctx_r28.contextToolInToolbar));
2646
+ i0.ɵɵproperty("ngIf", ctx_r30.layerAdditionAllowed && (ctx_r30.searchToolInToolbar || ctx_r30.catalogToolInToolbar || ctx_r30.contextToolInToolbar));
2632
2647
  i0.ɵɵadvance(1);
2633
- i0.ɵɵproperty("ngIf", ctx_r28.layerAdditionAllowed && ctx_r28.searchToolInToolbar);
2648
+ i0.ɵɵproperty("ngIf", ctx_r30.layerAdditionAllowed && ctx_r30.searchToolInToolbar);
2634
2649
  i0.ɵɵadvance(1);
2635
- i0.ɵɵproperty("ngIf", ctx_r28.layerAdditionAllowed && ctx_r28.catalogToolInToolbar);
2650
+ i0.ɵɵproperty("ngIf", ctx_r30.layerAdditionAllowed && ctx_r30.catalogToolInToolbar);
2636
2651
  i0.ɵɵadvance(1);
2637
- i0.ɵɵproperty("ngIf", ctx_r28.layerAdditionAllowed && ctx_r28.contextToolInToolbar);
2652
+ i0.ɵɵproperty("ngIf", ctx_r30.layerAdditionAllowed && ctx_r30.contextToolInToolbar);
2638
2653
  }
2639
2654
  }
2640
2655
  function MapToolsComponent_ng_template_15_Template(rf, ctx) {
2641
2656
  if (rf & 1) {
2642
- i0.ɵɵtemplate(0, MapToolsComponent_ng_template_15_mat_list_0_Template, 8, 7, "mat-list", 18);
2657
+ i0.ɵɵtemplate(0, MapToolsComponent_ng_template_15_mat_list_0_Template, 8, 7, "mat-list", 19);
2643
2658
  }
2644
2659
  if (rf & 2) {
2645
2660
  const ctx_r6 = i0.ɵɵnextContext();
@@ -2849,6 +2864,14 @@ let MapToolsComponent = class MapToolsComponent {
2849
2864
  }
2850
2865
  return false;
2851
2866
  }
2867
+ isStyleEditButton(layer) {
2868
+ if (layer instanceof VectorLayer) {
2869
+ if (layer.options.igoStyle.editable) {
2870
+ return true;
2871
+ }
2872
+ }
2873
+ return false;
2874
+ }
2852
2875
  };
2853
2876
  MapToolsComponent.ɵfac = function MapToolsComponent_Factory(t) { return new (t || MapToolsComponent)(i0.ɵɵdirectiveInject(LayerListToolState), i0.ɵɵdirectiveInject(ToolState), i0.ɵɵdirectiveInject(MapState), i0.ɵɵdirectiveInject(i1$1.SearchSourceService), i0.ɵɵdirectiveInject(ImportExportState)); };
2854
2877
  MapToolsComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: MapToolsComponent, selectors: [["igo-map-tools"]], viewQuery: function MapToolsComponent_Query(rf, ctx) {
@@ -2859,7 +2882,7 @@ MapToolsComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: MapToolsC
2859
2882
  let _t;
2860
2883
  i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.tabGroup = _t.first);
2861
2884
  }
2862
- }, 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"], [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"], ["mat-list-icon", ""], ["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"], ["matLine", "", 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"], ["matLine", "", 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"], ["matLine", "", 1, "context-tool", "mat-typography", 3, "click"]], template: function MapToolsComponent_Template(rf, ctx) {
2885
+ }, 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"], ["mat-list-icon", ""], ["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"], ["matLine", "", 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"], ["matLine", "", 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"], ["matLine", "", 1, "context-tool", "mat-typography", 3, "click"]], template: function MapToolsComponent_Template(rf, ctx) {
2863
2886
  if (rf & 1) {
2864
2887
  i0.ɵɵelementStart(0, "mat-tab-group", 0, 1);
2865
2888
  i0.ɵɵlistener("selectedTabChange", function MapToolsComponent_Template_mat_tab_group_selectedTabChange_0_listener($event) { return ctx.tabChanged($event); });
@@ -2897,7 +2920,7 @@ MapToolsComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: MapToolsC
2897
2920
  i0.ɵɵadvance(2);
2898
2921
  i0.ɵɵproperty("ngIf", !ctx.allowShowAllLegends && i0.ɵɵpipeBind1(13, 19, ctx.layers$).length !== 0 && i0.ɵɵpipeBind1(14, 21, ctx.visibleOrInRangeLayers$).length === 0);
2899
2922
  }
2900
- }, dependencies: [i6.NgIf, i7$1.MatTabGroup, i7$1.MatTab, i6$1.MatList, i6$1.MatListItem, i8$1.MatLine, i6$1.MatListIconCssMatStyler, i7.MatIcon, i1$1.LayerListComponent, i1$1.LayerLegendListComponent, i1$1.LayerListBindingDirective, i1$1.LayerLegendListBindingDirective, i1$1.TrackFeatureButtonComponent, i1$1.MetadataButtonComponent, i1$1.ExportButtonComponent, i1$1.TimeFilterButtonComponent, i1$1.OgcFilterButtonComponent, WorkspaceButtonComponent, i6.AsyncPipe, i8.TranslatePipe], styles: [".map-empty[_ngcontent-%COMP%], .search-tool[_ngcontent-%COMP%], .catalog-tool[_ngcontent-%COMP%], .context-tool[_ngcontent-%COMP%]{margin:10px}.map-empty[_ngcontent-%COMP%]{text-align:justify}.search-tool[_ngcontent-%COMP%], .catalog-tool[_ngcontent-%COMP%], .context-tool[_ngcontent-%COMP%]{cursor:pointer}mat-list[_ngcontent-%COMP%] mat-list-item[_ngcontent-%COMP%] h4[_ngcontent-%COMP%]{font-weight:700}mat-list-item[_ngcontent-%COMP%] .mat-list-text{font-size:smaller}mat-list.mat-list-base[_ngcontent-%COMP%] mat-list-item.mat-list-item[_ngcontent-%COMP%] div.mat-list-item-content div.mat-list-text{padding-left:5px}mat-tab-group[_ngcontent-%COMP%], mat-tab-group[_ngcontent-%COMP%] .mat-tab-body-wrapper{height:100%;overflow:hidden}[_nghost-%COMP%] .mat-tab-body-content{overflow:hidden}"], changeDetection: 0 });
2923
+ }, dependencies: [i8.NgIf, i8$1.MatTabGroup, i8$1.MatTab, i6.MatList, i6.MatListItem, i8$2.MatLine, i6.MatListIconCssMatStyler, i7.MatIcon, i1$1.LayerListComponent, i1$1.LayerLegendListComponent, i1$1.LayerListBindingDirective, i1$1.LayerLegendListBindingDirective, i1$1.TrackFeatureButtonComponent, i1$1.MetadataButtonComponent, i1$1.ExportButtonComponent, i1$1.StyleModalLayerButtonComponent, i1$1.TimeFilterButtonComponent, i1$1.OgcFilterButtonComponent, WorkspaceButtonComponent, i8.AsyncPipe, i12.TranslatePipe], styles: [".map-empty[_ngcontent-%COMP%], .search-tool[_ngcontent-%COMP%], .catalog-tool[_ngcontent-%COMP%], .context-tool[_ngcontent-%COMP%]{margin:10px}.map-empty[_ngcontent-%COMP%]{text-align:justify}.search-tool[_ngcontent-%COMP%], .catalog-tool[_ngcontent-%COMP%], .context-tool[_ngcontent-%COMP%]{cursor:pointer}mat-list[_ngcontent-%COMP%] mat-list-item[_ngcontent-%COMP%] h4[_ngcontent-%COMP%]{font-weight:700}mat-list-item[_ngcontent-%COMP%] .mat-list-text{font-size:smaller}mat-list.mat-list-base[_ngcontent-%COMP%] mat-list-item.mat-list-item[_ngcontent-%COMP%] div.mat-list-item-content div.mat-list-text{padding-left:5px}mat-tab-group[_ngcontent-%COMP%], mat-tab-group[_ngcontent-%COMP%] .mat-tab-body-wrapper{height:100%;overflow:hidden}[_nghost-%COMP%] .mat-tab-body-content{overflow:hidden}"], changeDetection: 0 });
2901
2924
  MapToolsComponent = __decorate([
2902
2925
  ToolComponent({
2903
2926
  name: 'mapTools',
@@ -2908,7 +2931,7 @@ MapToolsComponent = __decorate([
2908
2931
  (function () {
2909
2932
  (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(MapToolsComponent, [{
2910
2933
  type: Component,
2911
- args: [{ selector: 'igo-map-tools', changeDetection: ChangeDetectionStrategy.OnPush, template: "<mat-tab-group\n #tabGroup\n [selectedIndex]=\"layerListToolState.selectedTab$ | async\"\n (selectedTabChange)=\"tabChanged($event)\">\n\n <mat-tab [label]=\"'igo.integration.tools.layers' |\u00A0translate\">\n <igo-layer-list *ngIf=\"(layers$ | async).length !== 0; else emptyLayers\"\n igoLayerListBinding\n [excludeBaseLayers]=\"excludeBaseLayers\"\n [layerFilterAndSortOptions]=\"layerFilterAndSortOptions\"\n [expandLegendOfVisibleLayers]=\"expandLegendOfVisibleLayers\"\n [toggleLegendOnVisibilityChange]=\"toggleLegendOnVisibilityChange\"\n [updateLegendOnResolutionChange]=\"updateLegendOnResolutionChange\"\n [floatLabel]=\"false\"\n [queryBadge]=\"queryBadge\"\n [map]=\"map\"\n (appliedFilterAndSort)= onLayerListChange($event)>\n\n <ng-template #igoLayerItemToolbar let-layer=\"layer\">\n <igo-metadata-button [layer]=\"layer\"></igo-metadata-button>\n <igo-track-feature-button [trackFeature]=\"true\" [layer]=\"layer\"></igo-track-feature-button>\n <igo-time-filter-button *ngIf=\"isTimeFilterButton(layer)\" [header]=\"timeButton\" [layer]=\"layer\"\n (click)=\"activateTimeFilter()\"></igo-time-filter-button>\n <igo-ogc-filter-button *ngIf=\"isOGCFilterButton(layer)\" [header]=\"ogcButton\" [layer]=\"layer\"\n (click)=\"activateOgcFilter()\"></igo-ogc-filter-button>\n <igo-export-button *ngIf=\"isExportButton(layer)\" [layer]=\"layer\" (click)=\"activateExport(layer)\"></igo-export-button>\n <igo-workspace-button [layer]=\"layer\"></igo-workspace-button>\n </ng-template>\n </igo-layer-list>\n </mat-tab>\n\n <mat-tab [label]=\"'igo.integration.tools.legend' |\u00A0translate\">\n <igo-layer-legend-list *ngIf=\"showAllLegend()\"\n igoLayerLegendListBinding\n [allowShowAllLegends]=\"allowShowAllLegends\"\n [showAllLegendsValue]=\"(showAllLegendsValue$ | async)\"\n (allLegendsShown)=\"onShowAllLegends($event)\"\n [excludeBaseLayers]=\"excludeBaseLayers\"\n [updateLegendOnResolutionChange]=\"updateLegendOnResolutionChange\">\n </igo-layer-legend-list>\n <ng-template *ngIf=\"(layers$ | async).length !== 0; else emptyLayers\"></ng-template>\n\n <p class=\"map-empty mat-typography\"\n *ngIf=\"!allowShowAllLegends && (layers$ | async).length !== 0 && (visibleOrInRangeLayers$ | async).length === 0\">\n {{ ((visibleLayers$ | async).length) ? ('igo.integration.mapTool.noLayersInRange' | translate) : ('igo.integration.mapTool.noLayersVisible' | translate) }}\n </p>\n </mat-tab>\n\n <ng-template #emptyLayers>\n <mat-list *ngIf=\"delayedShowEmptyMapContent\">\n <p class=\"map-empty mat-typography\">\n {{'igo.integration.mapTool.empty' | translate}}</p>\n <p *ngIf=\"layerAdditionAllowed && (searchToolInToolbar || catalogToolInToolbar || contextToolInToolbar)\"\n class=\"map-empty mat-typography\">\n {{'igo.integration.mapTool.customize' | translate}}</p>\n\n <mat-list-item *ngIf=\"layerAdditionAllowed && searchToolInToolbar\">\n <mat-icon mat-list-icon> <svg viewBox='0 0 24 24' fit='' height='100%' width='100%'\n preserveAspectRatio='xMidYMid meet' focusable='false'>\n <path\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'>\n </path>\n </svg></mat-icon>\n <h4 matLine class=\"search-tool mat-typography\" (click)=\"searchEmit()\">\n {{'igo.integration.mapTool.search-tool' | translate}}\n </h4>\n </mat-list-item>\n <mat-list-item *ngIf=\"layerAdditionAllowed && catalogToolInToolbar\">\n <mat-icon mat-list-icon> <svg viewBox='0 0 24 24' fit='' height='100%' width='100%'\n preserveAspectRatio='xMidYMid meet' focusable='false'>\n <path\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'>\n </path>\n </svg></mat-icon>\n <h4 matLine class=\"catalog-tool mat-typography\" (click)=\"catalogEmit()\">\n {{'igo.integration.mapTool.catalog-tool' | translate}}\n </h4>\n </mat-list-item>\n <mat-list-item *ngIf=\"layerAdditionAllowed && contextToolInToolbar\">\n <mat-icon mat-list-icon> <svg viewBox='0 0 24 24' fit='' height='100%' width='100%'\n preserveAspectRatio='xMidYMid meet' focusable='false'>\n <path\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'>\n </path>\n </svg></mat-icon>\n <h4 matLine class=\"context-tool mat-typography\" (click)=\"contextEmit()\">\n {{'igo.integration.mapTool.context-tool' | translate}}\n </h4>\n </mat-list-item>\n </mat-list>\n </ng-template>\n</mat-tab-group>\n", styles: [".map-empty,.search-tool,.catalog-tool,.context-tool{margin:10px}.map-empty{text-align:justify}.search-tool,.catalog-tool,.context-tool{cursor:pointer}mat-list mat-list-item h4{font-weight:700}mat-list-item ::ng-deep .mat-list-text{font-size:smaller}mat-list.mat-list-base mat-list-item.mat-list-item ::ng-deep div.mat-list-item-content div.mat-list-text{padding-left:5px}mat-tab-group,mat-tab-group ::ng-deep .mat-tab-body-wrapper{height:100%;overflow:hidden}:host ::ng-deep .mat-tab-body-content{overflow:hidden}\n"] }]
2934
+ 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' |\u00A0translate\">\r\n <igo-layer-list *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 *ngIf=\"isStyleEditButton(layer)\" [layer]=\"layer\"></igo-style-modal-layer-button>\r\n <igo-metadata-button [layer]=\"layer\"></igo-metadata-button>\r\n <igo-track-feature-button [trackFeature]=\"true\" [layer]=\"layer\"></igo-track-feature-button>\r\n <igo-time-filter-button *ngIf=\"isTimeFilterButton(layer)\" [header]=\"timeButton\" [layer]=\"layer\"\r\n (click)=\"activateTimeFilter()\"></igo-time-filter-button>\r\n <igo-ogc-filter-button *ngIf=\"isOGCFilterButton(layer)\" [header]=\"ogcButton\" [layer]=\"layer\"\r\n (click)=\"activateOgcFilter()\"></igo-ogc-filter-button>\r\n <igo-export-button *ngIf=\"isExportButton(layer)\" [layer]=\"layer\" (click)=\"activateExport(layer)\"></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' |\u00A0translate\">\r\n <igo-layer-legend-list *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 </igo-layer-legend-list>\r\n <ng-template *ngIf=\"(layers$ | async).length !== 0; else emptyLayers\"></ng-template>\r\n\r\n <p class=\"map-empty mat-typography\"\r\n *ngIf=\"!allowShowAllLegends && (layers$ | async).length !== 0 && (visibleOrInRangeLayers$ | async).length === 0\">\r\n {{ ((visibleLayers$ | async).length) ? ('igo.integration.mapTool.noLayersInRange' | translate) : ('igo.integration.mapTool.noLayersVisible' | translate) }}\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}}</p>\r\n <p *ngIf=\"layerAdditionAllowed && (searchToolInToolbar || catalogToolInToolbar || contextToolInToolbar)\"\r\n class=\"map-empty mat-typography\">\r\n {{'igo.integration.mapTool.customize' | translate}}</p>\r\n\r\n <mat-list-item *ngIf=\"layerAdditionAllowed && searchToolInToolbar\">\r\n <mat-icon mat-list-icon> <svg viewBox='0 0 24 24' fit='' height='100%' width='100%'\r\n preserveAspectRatio='xMidYMid meet' focusable='false'>\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>\r\n </svg></mat-icon>\r\n <h4 matLine class=\"search-tool mat-typography\" (click)=\"searchEmit()\">\r\n {{'igo.integration.mapTool.search-tool' | translate}}\r\n </h4>\r\n </mat-list-item>\r\n <mat-list-item *ngIf=\"layerAdditionAllowed && catalogToolInToolbar\">\r\n <mat-icon mat-list-icon> <svg viewBox='0 0 24 24' fit='' height='100%' width='100%'\r\n preserveAspectRatio='xMidYMid meet' focusable='false'>\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>\r\n </svg></mat-icon>\r\n <h4 matLine class=\"catalog-tool mat-typography\" (click)=\"catalogEmit()\">\r\n {{'igo.integration.mapTool.catalog-tool' | translate}}\r\n </h4>\r\n </mat-list-item>\r\n <mat-list-item *ngIf=\"layerAdditionAllowed && contextToolInToolbar\">\r\n <mat-icon mat-list-icon> <svg viewBox='0 0 24 24' fit='' height='100%' width='100%'\r\n preserveAspectRatio='xMidYMid meet' focusable='false'>\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>\r\n </svg></mat-icon>\r\n <h4 matLine class=\"context-tool mat-typography\" (click)=\"contextEmit()\">\r\n {{'igo.integration.mapTool.context-tool' | translate}}\r\n </h4>\r\n </mat-list-item>\r\n </mat-list>\r\n </ng-template>\r\n</mat-tab-group>\r\n", styles: [".map-empty,.search-tool,.catalog-tool,.context-tool{margin:10px}.map-empty{text-align:justify}.search-tool,.catalog-tool,.context-tool{cursor:pointer}mat-list mat-list-item h4{font-weight:700}mat-list-item ::ng-deep .mat-list-text{font-size:smaller}mat-list.mat-list-base mat-list-item.mat-list-item ::ng-deep div.mat-list-item-content div.mat-list-text{padding-left:5px}mat-tab-group,mat-tab-group ::ng-deep .mat-tab-body-wrapper{height:100%;overflow:hidden}:host ::ng-deep .mat-tab-body-content{overflow:hidden}\n"] }]
2912
2935
  }], function () { return [{ type: LayerListToolState }, { type: ToolState }, { type: MapState }, { type: i1$1.SearchSourceService }, { type: ImportExportState }]; }, { allowShowAllLegends: [{
2913
2936
  type: Input
2914
2937
  }], showAllLegendsValue: [{
@@ -3202,7 +3225,7 @@ MapLegendToolComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: MapL
3202
3225
  i0.ɵɵadvance(2);
3203
3226
  i0.ɵɵproperty("ngIf", !ctx.allowShowAllLegends && i0.ɵɵpipeBind1(4, 6, ctx.layers$).length !== 0 && i0.ɵɵpipeBind1(5, 8, ctx.visibleOrInRangeLayers$).length === 0);
3204
3227
  }
3205
- }, dependencies: [i6.NgIf, i6$1.MatList, i6$1.MatListItem, i8$1.MatLine, i6$1.MatListIconCssMatStyler, i7.MatIcon, i1$1.LayerLegendListComponent, i1$1.LayerLegendListBindingDirective, i6.AsyncPipe, i8.TranslatePipe], styles: [".map-empty[_ngcontent-%COMP%], .search-tool[_ngcontent-%COMP%], .catalog-tool[_ngcontent-%COMP%], .context-tool[_ngcontent-%COMP%]{margin:10px}.map-empty[_ngcontent-%COMP%]{text-align:justify}.search-tool[_ngcontent-%COMP%], .catalog-tool[_ngcontent-%COMP%], .context-tool[_ngcontent-%COMP%]{cursor:pointer}mat-list[_ngcontent-%COMP%] mat-list-item[_ngcontent-%COMP%] h4[_ngcontent-%COMP%]{font-weight:700}mat-list-item[_ngcontent-%COMP%] .mat-list-text{font-size:smaller}mat-list.mat-list-base[_ngcontent-%COMP%] mat-list-item.mat-list-item[_ngcontent-%COMP%] div.mat-list-item-content div.mat-list-text{padding-left:5px}"] });
3228
+ }, dependencies: [i8.NgIf, i6.MatList, i6.MatListItem, i8$2.MatLine, i6.MatListIconCssMatStyler, i7.MatIcon, i1$1.LayerLegendListComponent, i1$1.LayerLegendListBindingDirective, i8.AsyncPipe, i12.TranslatePipe], styles: [".map-empty[_ngcontent-%COMP%], .search-tool[_ngcontent-%COMP%], .catalog-tool[_ngcontent-%COMP%], .context-tool[_ngcontent-%COMP%]{margin:10px}.map-empty[_ngcontent-%COMP%]{text-align:justify}.search-tool[_ngcontent-%COMP%], .catalog-tool[_ngcontent-%COMP%], .context-tool[_ngcontent-%COMP%]{cursor:pointer}mat-list[_ngcontent-%COMP%] mat-list-item[_ngcontent-%COMP%] h4[_ngcontent-%COMP%]{font-weight:700}mat-list-item[_ngcontent-%COMP%] .mat-list-text{font-size:smaller}mat-list.mat-list-base[_ngcontent-%COMP%] mat-list-item.mat-list-item[_ngcontent-%COMP%] div.mat-list-item-content div.mat-list-text{padding-left:5px}"] });
3206
3229
  MapLegendToolComponent = __decorate([
3207
3230
  ToolComponent({
3208
3231
  name: 'mapLegend',
@@ -3213,7 +3236,7 @@ MapLegendToolComponent = __decorate([
3213
3236
  (function () {
3214
3237
  (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(MapLegendToolComponent, [{
3215
3238
  type: Component,
3216
- args: [{ selector: 'igo-map-legend-tool', template: "<igo-layer-legend-list *ngIf=\"showAllLegend()\"\n igoLayerLegendListBinding\n [excludeBaseLayers]=\"excludeBaseLayers\"\n [allowShowAllLegends]=\"allowShowAllLegends\"\n [updateLegendOnResolutionChange]=\"updateLegendOnResolutionChange\"\n [showAllLegendsValue]=\"(showAllLegendsValue$ | async)\"\n (allLegendsShown)=\"onShowAllLegends($event)\">\n</igo-layer-legend-list>\n<ng-template *ngIf=\"(layers$ | async).length !== 0; else emptyLayers\"></ng-template>\n\n<p class=\"map-empty mat-typography\"\n *ngIf=\"!allowShowAllLegends && (layers$ | async).length !== 0 && (visibleOrInRangeLayers$ | async).length === 0\">\n {{ ((visibleLayers$ | async).length) ? ('igo.integration.mapTool.noLayersInRange' | translate) : ('igo.integration.mapTool.noLayersVisible' | translate) }}\n</p>\n\n\n<ng-template #emptyLayers>\n <mat-list *ngIf=\"delayedShowEmptyMapContent\">\n <p class=\"map-empty mat-typography\">\n {{'igo.integration.mapTool.empty' | translate}}</p>\n <p *ngIf=\"layerAdditionAllowed && (searchToolInToolbar || catalogToolInToolbar || contextToolInToolbar)\" class=\"map-empty mat-typography\">\n {{'igo.integration.mapTool.customize' | translate}}</p>\n\n <mat-list-item *ngIf=\"layerAdditionAllowed && searchToolInToolbar\">\n <mat-icon mat-list-icon> <svg viewBox='0 0 24 24' fit='' height='100%' width='100%' preserveAspectRatio='xMidYMid meet' focusable='false'> <path 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'> </path> </svg></mat-icon>\n <h4 matLine class=\"search-tool mat-typography\" (click)=\"searchEmit()\">\n {{'igo.integration.mapTool.search-tool' | translate}}\n </h4>\n </mat-list-item>\n <mat-list-item *ngIf=\"layerAdditionAllowed && catalogToolInToolbar\">\n <mat-icon mat-list-icon> <svg viewBox='0 0 24 24' fit='' height='100%' width='100%' preserveAspectRatio='xMidYMid meet' focusable='false'> <path 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'></path> </svg></mat-icon>\n <h4 matLine class=\"catalog-tool mat-typography\" (click)=\"catalogEmit()\">\n {{'igo.integration.mapTool.catalog-tool' | translate}}\n </h4>\n </mat-list-item>\n <mat-list-item *ngIf=\"layerAdditionAllowed && contextToolInToolbar\">\n <mat-icon mat-list-icon> <svg viewBox='0 0 24 24' fit='' height='100%' width='100%' preserveAspectRatio='xMidYMid meet' focusable='false'> <path 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'></path> </svg></mat-icon>\n <h4 matLine class=\"context-tool mat-typography\" (click)=\"contextEmit()\">\n {{'igo.integration.mapTool.context-tool' | translate}}\n </h4>\n </mat-list-item>\n </mat-list>\n</ng-template>\n", styles: [".map-empty,.search-tool,.catalog-tool,.context-tool{margin:10px}.map-empty{text-align:justify}.search-tool,.catalog-tool,.context-tool{cursor:pointer}mat-list mat-list-item h4{font-weight:700}mat-list-item ::ng-deep .mat-list-text{font-size:smaller}mat-list.mat-list-base mat-list-item.mat-list-item ::ng-deep div.mat-list-item-content div.mat-list-text{padding-left:5px}\n"] }]
3239
+ args: [{ selector: 'igo-map-legend-tool', template: "<igo-layer-legend-list *ngIf=\"showAllLegend()\"\r\n igoLayerLegendListBinding\r\n [excludeBaseLayers]=\"excludeBaseLayers\"\r\n [allowShowAllLegends]=\"allowShowAllLegends\"\r\n [updateLegendOnResolutionChange]=\"updateLegendOnResolutionChange\"\r\n [showAllLegendsValue]=\"(showAllLegendsValue$ | async)\"\r\n (allLegendsShown)=\"onShowAllLegends($event)\">\r\n</igo-layer-legend-list>\r\n<ng-template *ngIf=\"(layers$ | async).length !== 0; else emptyLayers\"></ng-template>\r\n\r\n<p class=\"map-empty mat-typography\"\r\n *ngIf=\"!allowShowAllLegends && (layers$ | async).length !== 0 && (visibleOrInRangeLayers$ | async).length === 0\">\r\n {{ ((visibleLayers$ | async).length) ? ('igo.integration.mapTool.noLayersInRange' | translate) : ('igo.integration.mapTool.noLayersVisible' | translate) }}\r\n</p>\r\n\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}}</p>\r\n <p *ngIf=\"layerAdditionAllowed && (searchToolInToolbar || catalogToolInToolbar || contextToolInToolbar)\" class=\"map-empty mat-typography\">\r\n {{'igo.integration.mapTool.customize' | translate}}</p>\r\n\r\n <mat-list-item *ngIf=\"layerAdditionAllowed && searchToolInToolbar\">\r\n <mat-icon mat-list-icon> <svg viewBox='0 0 24 24' fit='' height='100%' width='100%' preserveAspectRatio='xMidYMid meet' focusable='false'> <path 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'> </path> </svg></mat-icon>\r\n <h4 matLine class=\"search-tool mat-typography\" (click)=\"searchEmit()\">\r\n {{'igo.integration.mapTool.search-tool' | translate}}\r\n </h4>\r\n </mat-list-item>\r\n <mat-list-item *ngIf=\"layerAdditionAllowed && catalogToolInToolbar\">\r\n <mat-icon mat-list-icon> <svg viewBox='0 0 24 24' fit='' height='100%' width='100%' preserveAspectRatio='xMidYMid meet' focusable='false'> <path 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'></path> </svg></mat-icon>\r\n <h4 matLine class=\"catalog-tool mat-typography\" (click)=\"catalogEmit()\">\r\n {{'igo.integration.mapTool.catalog-tool' | translate}}\r\n </h4>\r\n </mat-list-item>\r\n <mat-list-item *ngIf=\"layerAdditionAllowed && contextToolInToolbar\">\r\n <mat-icon mat-list-icon> <svg viewBox='0 0 24 24' fit='' height='100%' width='100%' preserveAspectRatio='xMidYMid meet' focusable='false'> <path 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'></path> </svg></mat-icon>\r\n <h4 matLine class=\"context-tool mat-typography\" (click)=\"contextEmit()\">\r\n {{'igo.integration.mapTool.context-tool' | translate}}\r\n </h4>\r\n </mat-list-item>\r\n </mat-list>\r\n</ng-template>\r\n", styles: [".map-empty,.search-tool,.catalog-tool,.context-tool{margin:10px}.map-empty{text-align:justify}.search-tool,.catalog-tool,.context-tool{cursor:pointer}mat-list mat-list-item h4{font-weight:700}mat-list-item ::ng-deep .mat-list-text{font-size:smaller}mat-list.mat-list-base mat-list-item.mat-list-item ::ng-deep div.mat-list-item-content div.mat-list-text{padding-left:5px}\n"] }]
3217
3240
  }], function () { return [{ type: MapState }, { type: ToolState }, { type: i1$1.SearchSourceService }, { type: i0.ChangeDetectorRef }]; }, { updateLegendOnResolutionChange: [{
3218
3241
  type: Input
3219
3242
  }], layerAdditionAllowed: [{
@@ -3435,18 +3458,18 @@ AdvancedSwipeComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: Adva
3435
3458
  const _r1 = i0.ɵɵreference(2);
3436
3459
  i0.ɵɵproperty("ngIf", ctx.userControlledLayerList.length)("ngIfElse", _r1);
3437
3460
  }
3438
- }, dependencies: [i3.ɵNgNoValidate, i3.NgControlStatus, i3.NgControlStatusGroup, i3.FormGroupDirective, i3.FormControlName, i5$1.MatDivider, i6$2.MatFormField, i6$2.MatLabel, i7$2.MatSelect, i8$1.MatOption, i6.NgForOf, i6.NgIf, i6$1.MatList, i6$1.MatListItem, i8$1.MatLine, i6$1.MatListIconCssMatStyler, i7.MatIcon, i12.MatSlideToggle, i8.TranslatePipe], styles: [".nameOfTool[_ngcontent-%COMP%]{text-align:center;font-weight:700;font-size:small;margin:15px 10px 0}.igo-swipe-select-container[_ngcontent-%COMP%]{padding:10px}.igo-swipe-select-container[_ngcontent-%COMP%] mat-form-field[_ngcontent-%COMP%]{width:100%}.igo-form[_ngcontent-%COMP%]{padding:1px 5px;width:100%}.swipe-toggle[_ngcontent-%COMP%]{padding:10px 5px 35px}.map-empty[_ngcontent-%COMP%], .search-tool[_ngcontent-%COMP%], .catalog-tool[_ngcontent-%COMP%], .context-tool[_ngcontent-%COMP%]{margin:5px}.map-empty[_ngcontent-%COMP%]{padding:10px;text-align:justify}.search-tool[_ngcontent-%COMP%], .catalog-tool[_ngcontent-%COMP%], .context-tool[_ngcontent-%COMP%]{cursor:pointer}mat-list[_ngcontent-%COMP%] mat-list-item[_ngcontent-%COMP%] h4[_ngcontent-%COMP%]{font-weight:700}mat-list-item[_ngcontent-%COMP%] .mat-list-text{font-size:smaller}mat-list.mat-list-base[_ngcontent-%COMP%] mat-list-item.mat-list-item[_ngcontent-%COMP%] div.mat-list-item-content div.mat-list-text{padding-left:15px}.advanced-tool-line[_ngcontent-%COMP%]{height:2px;background-color:gray}"] });
3461
+ }, dependencies: [i3.ɵNgNoValidate, i3.NgControlStatus, i3.NgControlStatusGroup, i3.FormGroupDirective, i3.FormControlName, i5$1.MatDivider, i6$1.MatFormField, i6$1.MatLabel, i7$1.MatSelect, i8$2.MatOption, i8.NgForOf, i8.NgIf, i6.MatList, i6.MatListItem, i8$2.MatLine, i6.MatListIconCssMatStyler, i7.MatIcon, i12$1.MatSlideToggle, i12.TranslatePipe], styles: [".nameOfTool[_ngcontent-%COMP%]{text-align:center;font-weight:700;font-size:small;margin:15px 10px 0}.igo-swipe-select-container[_ngcontent-%COMP%]{padding:10px}.igo-swipe-select-container[_ngcontent-%COMP%] mat-form-field[_ngcontent-%COMP%]{width:100%}.igo-form[_ngcontent-%COMP%]{padding:1px 5px;width:100%}.swipe-toggle[_ngcontent-%COMP%]{padding:10px 5px 35px}.map-empty[_ngcontent-%COMP%], .search-tool[_ngcontent-%COMP%], .catalog-tool[_ngcontent-%COMP%], .context-tool[_ngcontent-%COMP%]{margin:5px}.map-empty[_ngcontent-%COMP%]{padding:10px;text-align:justify}.search-tool[_ngcontent-%COMP%], .catalog-tool[_ngcontent-%COMP%], .context-tool[_ngcontent-%COMP%]{cursor:pointer}mat-list[_ngcontent-%COMP%] mat-list-item[_ngcontent-%COMP%] h4[_ngcontent-%COMP%]{font-weight:700}mat-list-item[_ngcontent-%COMP%] .mat-list-text{font-size:smaller}mat-list.mat-list-base[_ngcontent-%COMP%] mat-list-item.mat-list-item[_ngcontent-%COMP%] div.mat-list-item-content div.mat-list-text{padding-left:15px}.advanced-tool-line[_ngcontent-%COMP%]{height:2px;background-color:gray}"] });
3439
3462
  (function () {
3440
3463
  (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(AdvancedSwipeComponent, [{
3441
3464
  type: Component,
3442
- args: [{ selector: 'igo-advanced-swipe', template: "<div *ngIf=\"userControlledLayerList.length; else noLayersBlock\" class=\"igo-swipe-select-container\">\n <form class=\"igo-form\" [formGroup]=\"form\">\n <mat-form-field>\n <mat-label>{{'igo.integration.advanced-map-tool.advanced-swipe.swipe-select' | translate}}</mat-label>\n <mat-select formControlName=\"layers\" multiple>\n <mat-option [value]=\"1\" (click)=\"selectAll(e)\" #e>\n {{'igo.integration.advanced-map-tool.advanced-swipe.selectAll' | translate}}\n </mat-option>\n <mat-divider></mat-divider>\n <mat-option *ngFor=\"let layer of userControlledLayerList\" [value]=\"layer\" (click)=\"applyNewLayers(e)\">{{layer.title}}</mat-option>\n </mat-select>\n </mat-form-field>\n </form>\n\n <mat-slide-toggle class=\"swipe-toggle mat-typography\"\n [checked]=\"swipe\"\n [labelPosition]=\"'before'\"\n (change)=\"startSwipe($event.checked)\">\n {{'igo.integration.advanced-map-tool.advanced-swipe.swipe' | translate}}\n </mat-slide-toggle> \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}}</p>\n <p class=\"map-empty mat-typography\">\n {{'igo.integration.advanced-map-tool.advanced-swipe.customize' | translate}}</p>\n <mat-list-item>\n <mat-icon mat-list-icon svgIcon=\"magnify\"></mat-icon>\n <h4 matLine class=\"search-tool mat-typography\" (click)=\"searchEmit()\">\n {{'igo.integration.advanced-map-tool.advanced-swipe.search-tool' | translate}}\n </h4>\n </mat-list-item>\n <mat-list-item>\n <mat-icon mat-list-icon svgIcon=\"layers-plus\"></mat-icon>\n <h4 matLine class=\"catalog-tool mat-typography\" (click)=\"catalogEmit()\">\n {{'igo.integration.advanced-map-tool.advanced-swipe.catalog-tool' | translate}}\n </h4>\n </mat-list-item>\n <mat-list-item>\n <mat-icon mat-list-icon svgIcon=\"star\"></mat-icon>\n <h4 matLine class=\"context-tool mat-typography\" (click)=\"contextEmit()\">\n {{'igo.integration.advanced-map-tool.advanced-swipe.context-tool' | translate}}\n </h4>\n </mat-list-item>\n </mat-list>\n</ng-template>\n", styles: [".nameOfTool{text-align:center;font-weight:700;font-size:small;margin:15px 10px 0}.igo-swipe-select-container{padding:10px}.igo-swipe-select-container mat-form-field{width:100%}.igo-form{padding:1px 5px;width:100%}.swipe-toggle{padding:10px 5px 35px}.map-empty,.search-tool,.catalog-tool,.context-tool{margin:5px}.map-empty{padding:10px;text-align:justify}.search-tool,.catalog-tool,.context-tool{cursor:pointer}mat-list mat-list-item h4{font-weight:700}mat-list-item ::ng-deep .mat-list-text{font-size:smaller}mat-list.mat-list-base mat-list-item.mat-list-item ::ng-deep div.mat-list-item-content div.mat-list-text{padding-left:15px}.advanced-tool-line{height:2px;background-color:gray}\n"] }]
3465
+ args: [{ selector: 'igo-advanced-swipe', template: "<div *ngIf=\"userControlledLayerList.length; else noLayersBlock\" class=\"igo-swipe-select-container\">\r\n <form class=\"igo-form\" [formGroup]=\"form\">\r\n <mat-form-field>\r\n <mat-label>{{'igo.integration.advanced-map-tool.advanced-swipe.swipe-select' | translate}}</mat-label>\r\n <mat-select formControlName=\"layers\" multiple>\r\n <mat-option [value]=\"1\" (click)=\"selectAll(e)\" #e>\r\n {{'igo.integration.advanced-map-tool.advanced-swipe.selectAll' | translate}}\r\n </mat-option>\r\n <mat-divider></mat-divider>\r\n <mat-option *ngFor=\"let layer of userControlledLayerList\" [value]=\"layer\" (click)=\"applyNewLayers(e)\">{{layer.title}}</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n </form>\r\n\r\n <mat-slide-toggle class=\"swipe-toggle mat-typography\"\r\n [checked]=\"swipe\"\r\n [labelPosition]=\"'before'\"\r\n (change)=\"startSwipe($event.checked)\">\r\n {{'igo.integration.advanced-map-tool.advanced-swipe.swipe' | translate}}\r\n </mat-slide-toggle> \r\n</div>\r\n\r\n<ng-template #noLayersBlock>\r\n <mat-list>\r\n <p class=\"map-empty mat-typography\">\r\n {{'igo.integration.advanced-map-tool.advanced-swipe.empty' | translate}}</p>\r\n <p class=\"map-empty mat-typography\">\r\n {{'igo.integration.advanced-map-tool.advanced-swipe.customize' | translate}}</p>\r\n <mat-list-item>\r\n <mat-icon mat-list-icon svgIcon=\"magnify\"></mat-icon>\r\n <h4 matLine class=\"search-tool mat-typography\" (click)=\"searchEmit()\">\r\n {{'igo.integration.advanced-map-tool.advanced-swipe.search-tool' | translate}}\r\n </h4>\r\n </mat-list-item>\r\n <mat-list-item>\r\n <mat-icon mat-list-icon svgIcon=\"layers-plus\"></mat-icon>\r\n <h4 matLine class=\"catalog-tool mat-typography\" (click)=\"catalogEmit()\">\r\n {{'igo.integration.advanced-map-tool.advanced-swipe.catalog-tool' | translate}}\r\n </h4>\r\n </mat-list-item>\r\n <mat-list-item>\r\n <mat-icon mat-list-icon svgIcon=\"star\"></mat-icon>\r\n <h4 matLine class=\"context-tool mat-typography\" (click)=\"contextEmit()\">\r\n {{'igo.integration.advanced-map-tool.advanced-swipe.context-tool' | translate}}\r\n </h4>\r\n </mat-list-item>\r\n </mat-list>\r\n</ng-template>\r\n", styles: [".nameOfTool{text-align:center;font-weight:700;font-size:small;margin:15px 10px 0}.igo-swipe-select-container{padding:10px}.igo-swipe-select-container mat-form-field{width:100%}.igo-form{padding:1px 5px;width:100%}.swipe-toggle{padding:10px 5px 35px}.map-empty,.search-tool,.catalog-tool,.context-tool{margin:5px}.map-empty{padding:10px;text-align:justify}.search-tool,.catalog-tool,.context-tool{cursor:pointer}mat-list mat-list-item h4{font-weight:700}mat-list-item ::ng-deep .mat-list-text{font-size:smaller}mat-list.mat-list-base mat-list-item.mat-list-item ::ng-deep div.mat-list-item-content div.mat-list-text{padding-left:15px}.advanced-tool-line{height:2px;background-color:gray}\n"] }]
3443
3466
  }], function () { return [{ type: MapState }, { type: i1.ContextService }, { type: i3.UntypedFormBuilder }, { type: ToolState }]; }, null);
3444
3467
  })();
3445
3468
 
3446
- function AdvancedCoordinatesComponent_mat_form_field_0_Template(rf, ctx) {
3469
+ function AdvancedCoordinatesComponent_mat_form_field_2_Template(rf, ctx) {
3447
3470
  if (rf & 1) {
3448
- i0.ɵɵelementStart(0, "mat-form-field", 12);
3449
- i0.ɵɵelement(1, "textarea", 13, 14);
3471
+ i0.ɵɵelementStart(0, "mat-form-field", 14);
3472
+ i0.ɵɵelement(1, "textarea", 15, 16);
3450
3473
  i0.ɵɵpipe(3, "translate");
3451
3474
  i0.ɵɵelementEnd();
3452
3475
  }
@@ -3456,10 +3479,10 @@ function AdvancedCoordinatesComponent_mat_form_field_0_Template(rf, ctx) {
3456
3479
  i0.ɵɵproperty("placeholder", i0.ɵɵpipeBind1(3, 2, "igo.integration.advanced-map-tool.advanced-coordinates.lon"))("value", ctx_r0.coordinates[0]);
3457
3480
  }
3458
3481
  }
3459
- function AdvancedCoordinatesComponent_ng_template_1_Template(rf, ctx) {
3482
+ function AdvancedCoordinatesComponent_ng_template_3_Template(rf, ctx) {
3460
3483
  if (rf & 1) {
3461
- i0.ɵɵelementStart(0, "mat-form-field", 12);
3462
- i0.ɵɵelement(1, "textarea", 13, 14);
3484
+ i0.ɵɵelementStart(0, "mat-form-field", 14);
3485
+ i0.ɵɵelement(1, "textarea", 15, 16);
3463
3486
  i0.ɵɵpipe(3, "translate");
3464
3487
  i0.ɵɵelementEnd();
3465
3488
  }
@@ -3469,10 +3492,10 @@ function AdvancedCoordinatesComponent_ng_template_1_Template(rf, ctx) {
3469
3492
  i0.ɵɵproperty("placeholder", i0.ɵɵpipeBind1(3, 2, "igo.integration.advanced-map-tool.advanced-coordinates.est"))("value", ctx_r2.coordinates[0]);
3470
3493
  }
3471
3494
  }
3472
- function AdvancedCoordinatesComponent_mat_form_field_3_Template(rf, ctx) {
3495
+ function AdvancedCoordinatesComponent_mat_form_field_5_Template(rf, ctx) {
3473
3496
  if (rf & 1) {
3474
- i0.ɵɵelementStart(0, "mat-form-field", 15);
3475
- i0.ɵɵelement(1, "textarea", 13, 14);
3497
+ i0.ɵɵelementStart(0, "mat-form-field", 17);
3498
+ i0.ɵɵelement(1, "textarea", 15, 16);
3476
3499
  i0.ɵɵpipe(3, "translate");
3477
3500
  i0.ɵɵelementEnd();
3478
3501
  }
@@ -3482,10 +3505,10 @@ function AdvancedCoordinatesComponent_mat_form_field_3_Template(rf, ctx) {
3482
3505
  i0.ɵɵproperty("placeholder", i0.ɵɵpipeBind1(3, 2, "igo.integration.advanced-map-tool.advanced-coordinates.lat"))("value", ctx_r3.coordinates[1]);
3483
3506
  }
3484
3507
  }
3485
- function AdvancedCoordinatesComponent_ng_template_4_Template(rf, ctx) {
3508
+ function AdvancedCoordinatesComponent_ng_template_6_Template(rf, ctx) {
3486
3509
  if (rf & 1) {
3487
- i0.ɵɵelementStart(0, "mat-form-field", 15);
3488
- i0.ɵɵelement(1, "textarea", 13, 14);
3510
+ i0.ɵɵelementStart(0, "mat-form-field", 17);
3511
+ i0.ɵɵelement(1, "textarea", 15, 16);
3489
3512
  i0.ɵɵpipe(3, "translate");
3490
3513
  i0.ɵɵelementEnd();
3491
3514
  }
@@ -3495,10 +3518,10 @@ function AdvancedCoordinatesComponent_ng_template_4_Template(rf, ctx) {
3495
3518
  i0.ɵɵproperty("placeholder", i0.ɵɵpipeBind1(3, 2, "igo.integration.advanced-map-tool.advanced-coordinates.nord"))("value", ctx_r5.coordinates[1]);
3496
3519
  }
3497
3520
  }
3498
- function AdvancedCoordinatesComponent_mat_option_16_Template(rf, ctx) {
3521
+ function AdvancedCoordinatesComponent_mat_option_17_Template(rf, ctx) {
3499
3522
  if (rf & 1) {
3500
- i0.ɵɵelementStart(0, "mat-option", 16);
3501
- i0.ɵɵlistener("click", function AdvancedCoordinatesComponent_mat_option_16_Template_mat_option_click_0_listener($event) { return $event.stopPropagation(); });
3523
+ i0.ɵɵelementStart(0, "mat-option", 18);
3524
+ i0.ɵɵlistener("click", function AdvancedCoordinatesComponent_mat_option_17_Template_mat_option_click_0_listener($event) { return $event.stopPropagation(); });
3502
3525
  i0.ɵɵtext(1);
3503
3526
  i0.ɵɵelementEnd();
3504
3527
  }
@@ -3622,10 +3645,7 @@ class AdvancedCoordinatesComponent {
3622
3645
  copyTextToClipboard() {
3623
3646
  const successful = Clipboard.copy(this.coordinates.toString());
3624
3647
  if (successful) {
3625
- const translate = this.languageService.translate;
3626
- const title = translate.instant('igo.integration.advanced-map-tool.advanced-coordinates.copyTitle');
3627
- const msg = translate.instant('igo.integration.advanced-map-tool.advanced-coordinates.copyMsg');
3628
- this.messageService.success(msg, title);
3648
+ this.messageService.success('igo.integration.advanced-map-tool.advanced-coordinates.copyMsg', 'igo.integration.advanced-map-tool.advanced-coordinates.copyTitle');
3629
3649
  }
3630
3650
  }
3631
3651
  /**
@@ -3836,79 +3856,81 @@ class AdvancedCoordinatesComponent {
3836
3856
  }
3837
3857
  }
3838
3858
  AdvancedCoordinatesComponent.ɵfac = function AdvancedCoordinatesComponent_Factory(t) { return new (t || AdvancedCoordinatesComponent)(i0.ɵɵdirectiveInject(MapState), i0.ɵɵdirectiveInject(i2.LanguageService), i0.ɵɵdirectiveInject(i2.MessageService), i0.ɵɵdirectiveInject(i0.ChangeDetectorRef), i0.ɵɵdirectiveInject(i2.StorageService), i0.ɵɵdirectiveInject(i2.ConfigService), i0.ɵɵdirectiveInject(i3.UntypedFormBuilder)); };
3839
- AdvancedCoordinatesComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: AdvancedCoordinatesComponent, selectors: [["igo-advanced-coordinates"]], inputs: { projectionsLimitations: "projectionsLimitations" }, decls: 32, vars: 37, consts: [["class", "coordinates", 4, "ngIf", "ngIfElse"], ["elseBlock", ""], ["class", "coordinates2", 4, "ngIf", "ngIfElse"], ["elseBlock2", ""], ["mat-raised-button", "", 1, "igo-form-button-group", 3, "click"], ["svgIcon", "content-copy"], [1, "igo-form", 3, "formGroup"], [1, "igo-input-container"], [3, "value", "valueChange"], ["matTooltipShowDelay", "500", 3, "value", "click", 4, "ngFor", "ngForOf"], [1, "center-toggle", "mat-typography", 3, "checked", "labelPosition", "change"], [1, "igo-zoom", "mat-typography"], [1, "coordinates"], ["matInput", "", "readonly", "", "rows", "1", 3, "placeholder", "value"], ["textArea", ""], [1, "coordinates2"], ["matTooltipShowDelay", "500", 3, "value", "click"]], template: function AdvancedCoordinatesComponent_Template(rf, ctx) {
3859
+ AdvancedCoordinatesComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: AdvancedCoordinatesComponent, selectors: [["igo-advanced-coordinates"]], inputs: { projectionsLimitations: "projectionsLimitations" }, decls: 33, vars: 37, consts: [[1, "advanced-coordinates__coordinates-container"], [1, "advanced-coordinates__coordinates-container__inner"], ["class", "coordinates", 4, "ngIf", "ngIfElse"], ["elseBlock", ""], ["class", "coordinates2", 4, "ngIf", "ngIfElse"], ["elseBlock2", ""], ["mat-icon-button", "", 1, "igo-form-button-group", "advanced-coordinates__copy-coordinates", 3, "click"], ["svgIcon", "content-copy"], [1, "igo-form", "advanced-coordinates__form", 3, "formGroup"], [1, "igo-input-container"], [3, "value", "valueChange"], ["matTooltipShowDelay", "500", 3, "value", "click", 4, "ngFor", "ngForOf"], [1, "center-toggle", "mat-typography", 3, "checked", "labelPosition", "change"], [1, "igo-zoom", "mat-typography"], [1, "coordinates"], ["matInput", "", "readonly", "", "rows", "1", 3, "placeholder", "value"], ["textArea", ""], [1, "coordinates2"], ["matTooltipShowDelay", "500", 3, "value", "click"]], template: function AdvancedCoordinatesComponent_Template(rf, ctx) {
3840
3860
  if (rf & 1) {
3841
- i0.ɵɵtemplate(0, AdvancedCoordinatesComponent_mat_form_field_0_Template, 4, 4, "mat-form-field", 0);
3842
- i0.ɵɵtemplate(1, AdvancedCoordinatesComponent_ng_template_1_Template, 4, 4, "ng-template", null, 1, i0.ɵɵtemplateRefExtractor);
3843
- i0.ɵɵtemplate(3, AdvancedCoordinatesComponent_mat_form_field_3_Template, 4, 4, "mat-form-field", 2);
3844
- i0.ɵɵtemplate(4, AdvancedCoordinatesComponent_ng_template_4_Template, 4, 4, "ng-template", null, 3, i0.ɵɵtemplateRefExtractor);
3845
- i0.ɵɵelementStart(6, "button", 4);
3846
- i0.ɵɵlistener("click", function AdvancedCoordinatesComponent_Template_button_click_6_listener() { return ctx.copyTextToClipboard(); });
3847
- i0.ɵɵelement(7, "mat-icon", 5);
3848
- i0.ɵɵtext(8);
3849
- i0.ɵɵpipe(9, "translate");
3861
+ i0.ɵɵelementStart(0, "div", 0)(1, "div", 1);
3862
+ i0.ɵɵtemplate(2, AdvancedCoordinatesComponent_mat_form_field_2_Template, 4, 4, "mat-form-field", 2);
3863
+ i0.ɵɵtemplate(3, AdvancedCoordinatesComponent_ng_template_3_Template, 4, 4, "ng-template", null, 3, i0.ɵɵtemplateRefExtractor);
3864
+ i0.ɵɵtemplate(5, AdvancedCoordinatesComponent_mat_form_field_5_Template, 4, 4, "mat-form-field", 4);
3865
+ i0.ɵɵtemplate(6, AdvancedCoordinatesComponent_ng_template_6_Template, 4, 4, "ng-template", null, 5, i0.ɵɵtemplateRefExtractor);
3850
3866
  i0.ɵɵelementEnd();
3851
- i0.ɵɵelementStart(10, "form", 6)(11, "mat-form-field", 7)(12, "mat-label");
3852
- i0.ɵɵtext(13);
3853
- i0.ɵɵpipe(14, "translate");
3867
+ i0.ɵɵelementStart(8, "button", 6);
3868
+ i0.ɵɵlistener("click", function AdvancedCoordinatesComponent_Template_button_click_8_listener() { return ctx.copyTextToClipboard(); });
3869
+ i0.ɵɵpipe(9, "translate");
3870
+ i0.ɵɵelement(10, "mat-icon", 7);
3871
+ i0.ɵɵelementEnd()();
3872
+ i0.ɵɵelementStart(11, "form", 8)(12, "mat-form-field", 9)(13, "mat-label");
3873
+ i0.ɵɵtext(14);
3874
+ i0.ɵɵpipe(15, "translate");
3854
3875
  i0.ɵɵelementEnd();
3855
- i0.ɵɵelementStart(15, "mat-select", 8);
3856
- i0.ɵɵlistener("valueChange", function AdvancedCoordinatesComponent_Template_mat_select_valueChange_15_listener($event) { return ctx.inputProj = $event; });
3857
- i0.ɵɵtemplate(16, AdvancedCoordinatesComponent_mat_option_16_Template, 2, 2, "mat-option", 9);
3858
- i0.ɵɵpipe(17, "async");
3876
+ i0.ɵɵelementStart(16, "mat-select", 10);
3877
+ i0.ɵɵlistener("valueChange", function AdvancedCoordinatesComponent_Template_mat_select_valueChange_16_listener($event) { return ctx.inputProj = $event; });
3878
+ i0.ɵɵtemplate(17, AdvancedCoordinatesComponent_mat_option_17_Template, 2, 2, "mat-option", 11);
3879
+ i0.ɵɵpipe(18, "async");
3859
3880
  i0.ɵɵelementEnd()();
3860
- i0.ɵɵelementStart(18, "mat-slide-toggle", 10);
3861
- i0.ɵɵlistener("change", function AdvancedCoordinatesComponent_Template_mat_slide_toggle_change_18_listener($event) { return ctx.displayCenter($event.checked); });
3862
- i0.ɵɵtext(19);
3863
- i0.ɵɵpipe(20, "translate");
3881
+ i0.ɵɵelementStart(19, "mat-slide-toggle", 12);
3882
+ i0.ɵɵlistener("change", function AdvancedCoordinatesComponent_Template_mat_slide_toggle_change_19_listener($event) { return ctx.displayCenter($event.checked); });
3883
+ i0.ɵɵtext(20);
3884
+ i0.ɵɵpipe(21, "translate");
3864
3885
  i0.ɵɵelementEnd()();
3865
- i0.ɵɵelementStart(21, "p", 11);
3866
- i0.ɵɵtext(22);
3867
- i0.ɵɵpipe(23, "translate");
3886
+ i0.ɵɵelementStart(22, "p", 13);
3887
+ i0.ɵɵtext(23);
3888
+ i0.ɵɵpipe(24, "translate");
3868
3889
  i0.ɵɵelementEnd();
3869
- i0.ɵɵelementStart(24, "p", 11);
3870
- i0.ɵɵtext(25);
3871
- i0.ɵɵpipe(26, "translate");
3872
- i0.ɵɵpipe(27, "async");
3890
+ i0.ɵɵelementStart(25, "p", 13);
3891
+ i0.ɵɵtext(26);
3892
+ i0.ɵɵpipe(27, "translate");
3893
+ i0.ɵɵpipe(28, "async");
3873
3894
  i0.ɵɵelementEnd();
3874
- i0.ɵɵelementStart(28, "p", 11);
3875
- i0.ɵɵtext(29);
3876
- i0.ɵɵpipe(30, "translate");
3877
- i0.ɵɵpipe(31, "number");
3895
+ i0.ɵɵelementStart(29, "p", 13);
3896
+ i0.ɵɵtext(30);
3897
+ i0.ɵɵpipe(31, "translate");
3898
+ i0.ɵɵpipe(32, "number");
3878
3899
  i0.ɵɵelementEnd();
3879
3900
  }
3880
3901
  if (rf & 2) {
3881
- const _r1 = i0.ɵɵreference(2);
3882
- const _r4 = i0.ɵɵreference(5);
3902
+ const _r1 = i0.ɵɵreference(4);
3903
+ const _r4 = i0.ɵɵreference(7);
3904
+ i0.ɵɵadvance(2);
3883
3905
  i0.ɵɵproperty("ngIf", ctx.units)("ngIfElse", _r1);
3884
3906
  i0.ɵɵadvance(3);
3885
3907
  i0.ɵɵproperty("ngIf", ctx.units)("ngIfElse", _r4);
3886
- i0.ɵɵadvance(5);
3887
- i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(9, 18, "igo.integration.advanced-map-tool.advanced-coordinates.copy"), "\n");
3888
- i0.ɵɵadvance(2);
3908
+ i0.ɵɵadvance(3);
3909
+ i0.ɵɵattribute("aria-label", i0.ɵɵpipeBind1(9, 18, "igo.integration.advanced-map-tool.advanced-coordinates.copy"));
3910
+ i0.ɵɵadvance(3);
3889
3911
  i0.ɵɵproperty("formGroup", ctx.form);
3890
3912
  i0.ɵɵadvance(3);
3891
- i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(14, 20, "igo.integration.advanced-map-tool.advanced-coordinates.coordSystem"));
3913
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(15, 20, "igo.integration.advanced-map-tool.advanced-coordinates.coordSystem"));
3892
3914
  i0.ɵɵadvance(2);
3893
3915
  i0.ɵɵproperty("value", ctx.inputProj);
3894
3916
  i0.ɵɵadvance(1);
3895
- i0.ɵɵproperty("ngForOf", i0.ɵɵpipeBind1(17, 22, ctx.projections$));
3917
+ i0.ɵɵproperty("ngForOf", i0.ɵɵpipeBind1(18, 22, ctx.projections$));
3896
3918
  i0.ɵɵadvance(2);
3897
3919
  i0.ɵɵproperty("checked", ctx.center)("labelPosition", "before");
3898
3920
  i0.ɵɵadvance(1);
3899
- i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(20, 24, "igo.integration.advanced-map-tool.advanced-coordinates.center"), " ");
3921
+ i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(21, 24, "igo.integration.advanced-map-tool.advanced-coordinates.center"), " ");
3900
3922
  i0.ɵɵadvance(3);
3901
- i0.ɵɵtextInterpolate2("", i0.ɵɵpipeBind1(23, 26, "igo.integration.advanced-map-tool.advanced-coordinates.zoom"), " ", ctx.map.viewController.getZoom(), "");
3923
+ i0.ɵɵtextInterpolate2("", i0.ɵɵpipeBind1(24, 26, "igo.integration.advanced-map-tool.advanced-coordinates.zoom"), " ", ctx.map.viewController.getZoom(), "");
3902
3924
  i0.ɵɵadvance(3);
3903
- i0.ɵɵtextInterpolate2("", i0.ɵɵpipeBind1(26, 28, "igo.integration.advanced-map-tool.advanced-coordinates.scale"), " ", i0.ɵɵpipeBind1(27, 30, ctx.formattedScale$), "");
3925
+ i0.ɵɵtextInterpolate2("", i0.ɵɵpipeBind1(27, 28, "igo.integration.advanced-map-tool.advanced-coordinates.scale"), " ", i0.ɵɵpipeBind1(28, 30, ctx.formattedScale$), "");
3904
3926
  i0.ɵɵadvance(4);
3905
- i0.ɵɵtextInterpolate2("", i0.ɵɵpipeBind1(30, 32, "igo.integration.advanced-map-tool.advanced-coordinates.resolution"), " ", i0.ɵɵpipeBind2(31, 34, ctx.map.viewController.getResolution(), "1.0-0"), "");
3927
+ i0.ɵɵtextInterpolate2("", i0.ɵɵpipeBind1(31, 32, "igo.integration.advanced-map-tool.advanced-coordinates.resolution"), " ", i0.ɵɵpipeBind2(32, 34, ctx.map.viewController.getResolution(), "1.0-0"), "");
3906
3928
  }
3907
- }, dependencies: [i3.ɵNgNoValidate, i3.NgControlStatusGroup, i3.FormGroupDirective, i6$2.MatFormField, i6$2.MatLabel, i7$2.MatSelect, i8$1.MatOption, i7$3.MatInput, i6.NgForOf, i6.NgIf, i7.MatIcon, i12.MatSlideToggle, i10.MatButton, i6.AsyncPipe, i6.DecimalPipe, i8.TranslatePipe], styles: ["textarea[_ngcontent-%COMP%]{resize:none}mat-form-field[_ngcontent-%COMP%]{padding:10px 15px}mat-form-field.coordinates[_ngcontent-%COMP%]{width:120px}mat-form-field.coordinates2[_ngcontent-%COMP%]{width:120px;padding:0 10px 0 3px}mat-form-field.igo-input-container[_ngcontent-%COMP%]{width:60%;padding:0 15px}.igo-form-button-group[_ngcontent-%COMP%]{padding:0 10px;margin:0 10px}.center-toggle[_ngcontent-%COMP%]{padding:10px 15px 35px}mat-slide-toggle[_ngcontent-%COMP%]{font-size:small}.igo-zoom[_ngcontent-%COMP%]{padding:0 15px}"] });
3929
+ }, dependencies: [i3.ɵNgNoValidate, i3.NgControlStatusGroup, i3.FormGroupDirective, i6$1.MatFormField, i6$1.MatLabel, i7$1.MatSelect, i8$2.MatOption, i7$2.MatInput, i8.NgForOf, i8.NgIf, i7.MatIcon, i12$1.MatSlideToggle, i10.MatButton, i8.AsyncPipe, i8.DecimalPipe, i12.TranslatePipe], styles: ["textarea[_ngcontent-%COMP%]{resize:none}mat-form-field[_ngcontent-%COMP%]{padding:10px 15px}mat-form-field.coordinates2[_ngcontent-%COMP%]{padding:0 10px 0 3px}mat-form-field.igo-input-container[_ngcontent-%COMP%]{width:100%;padding:0 15px}.igo-form-button-group[_ngcontent-%COMP%]{padding:0 10px;margin:0 10px}.igo-zoom[_ngcontent-%COMP%]{padding:0 15px}.advanced-coordinates__coordinates-container[_ngcontent-%COMP%]{display:flex;flex-direction:row;align-items:center}.advanced-coordinates__coordinates-container__inner[_ngcontent-%COMP%]{flex:1 1 0}.advanced-coordinates__coordinates-container__inner[_ngcontent-%COMP%] .mat-form-field[_ngcontent-%COMP%]{width:50%}.advanced-coordinates__form[_ngcontent-%COMP%] .mat-slide-toggle{padding:10px 15px 35px;width:100%}.advanced-coordinates__form[_ngcontent-%COMP%] .mat-slide-toggle-content{width:100%}"] });
3908
3930
  (function () {
3909
3931
  (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(AdvancedCoordinatesComponent, [{
3910
3932
  type: Component,
3911
- args: [{ selector: 'igo-advanced-coordinates', template: "<mat-form-field *ngIf=\"units; else elseBlock\" class=\"coordinates\">\n <textarea #textArea matInput readonly rows=\"1\"\n [placeholder]=\"'igo.integration.advanced-map-tool.advanced-coordinates.lon' | translate\"\n [value]=\"coordinates[0]\"></textarea>\n</mat-form-field>\n<ng-template #elseBlock >\n <mat-form-field class=\"coordinates\">\n <textarea #textArea matInput readonly rows=\"1\"\n [placeholder]=\"'igo.integration.advanced-map-tool.advanced-coordinates.est' | translate\"\n [value]=\"coordinates[0]\"></textarea></mat-form-field>\n</ng-template>\n\n<mat-form-field *ngIf=\"units; else elseBlock2\" class=\"coordinates2\">\n <textarea #textArea matInput readonly rows=\"1\"\n [placeholder]=\"'igo.integration.advanced-map-tool.advanced-coordinates.lat' | translate\"\n [value]=\"coordinates[1]\"></textarea>\n</mat-form-field>\n<ng-template #elseBlock2 >\n <mat-form-field class=\"coordinates2\"> <textarea #textArea matInput readonly rows=\"1\"\n [placeholder]=\"'igo.integration.advanced-map-tool.advanced-coordinates.nord' | translate\"\n [value]=\"coordinates[1]\"></textarea></mat-form-field>\n</ng-template>\n\n<button class=\"igo-form-button-group\"\n mat-raised-button\n (click)=\"copyTextToClipboard()\">\n <mat-icon svgIcon=\"content-copy\"></mat-icon>\n {{ 'igo.integration.advanced-map-tool.advanced-coordinates.copy' | translate }}\n</button>\n\n<form class=\"igo-form\" [formGroup]=\"form\">\n <mat-form-field class=\"igo-input-container\">\n <mat-label>{{'igo.integration.advanced-map-tool.advanced-coordinates.coordSystem' | translate}}</mat-label>\n <mat-select [(value)]=\"inputProj\">\n <mat-option matTooltipShowDelay=\"500\"\n *ngFor=\"let projection of (projections$ | async)\"\n [value]=\"projection\"\n (click)=\"$event.stopPropagation()\">\n {{projection.translatedValue || projection.alias }}\n </mat-option>\n </mat-select>\n </mat-form-field>\n <mat-slide-toggle class=\"center-toggle mat-typography\"\n [checked]=\"center\"\n [labelPosition]=\"'before'\"\n (change)=\"displayCenter($event.checked)\">\n {{'igo.integration.advanced-map-tool.advanced-coordinates.center' | translate}}\n </mat-slide-toggle> \n</form>\n\n<p class=\"igo-zoom mat-typography\">{{'igo.integration.advanced-map-tool.advanced-coordinates.zoom' | translate}} {{map.viewController.getZoom() }}</p>\n<p class=\"igo-zoom mat-typography\">{{'igo.integration.advanced-map-tool.advanced-coordinates.scale' | translate}} {{ formattedScale$ | async }}</p>\n<p class=\"igo-zoom mat-typography\">{{'igo.integration.advanced-map-tool.advanced-coordinates.resolution' | translate}} {{map.viewController.getResolution() | number: '1.0-0' }}</p>", styles: ["textarea{resize:none}mat-form-field{padding:10px 15px}mat-form-field.coordinates{width:120px}mat-form-field.coordinates2{width:120px;padding:0 10px 0 3px}mat-form-field.igo-input-container{width:60%;padding:0 15px}.igo-form-button-group{padding:0 10px;margin:0 10px}.center-toggle{padding:10px 15px 35px}mat-slide-toggle{font-size:small}.igo-zoom{padding:0 15px}\n"] }]
3933
+ args: [{ selector: 'igo-advanced-coordinates', template: "<div class=\"advanced-coordinates__coordinates-container\">\r\n <div class=\"advanced-coordinates__coordinates-container__inner\">\r\n <mat-form-field *ngIf=\"units; else elseBlock\" class=\"coordinates\">\r\n <textarea #textArea matInput readonly rows=\"1\"\r\n [placeholder]=\"'igo.integration.advanced-map-tool.advanced-coordinates.lon' | translate\"\r\n [value]=\"coordinates[0]\"></textarea>\r\n </mat-form-field>\r\n <ng-template #elseBlock >\r\n <mat-form-field class=\"coordinates\">\r\n <textarea #textArea matInput readonly rows=\"1\"\r\n [placeholder]=\"'igo.integration.advanced-map-tool.advanced-coordinates.est' | translate\"\r\n [value]=\"coordinates[0]\"></textarea></mat-form-field>\r\n </ng-template>\r\n\r\n <mat-form-field *ngIf=\"units; else elseBlock2\" class=\"coordinates2\">\r\n <textarea #textArea matInput readonly rows=\"1\"\r\n [placeholder]=\"'igo.integration.advanced-map-tool.advanced-coordinates.lat' | translate\"\r\n [value]=\"coordinates[1]\"></textarea>\r\n </mat-form-field>\r\n <ng-template #elseBlock2 >\r\n <mat-form-field class=\"coordinates2\"> <textarea #textArea matInput readonly rows=\"1\"\r\n [placeholder]=\"'igo.integration.advanced-map-tool.advanced-coordinates.nord' | translate\"\r\n [value]=\"coordinates[1]\"></textarea></mat-form-field>\r\n </ng-template>\r\n </div>\r\n\r\n <button mat-icon-button [attr.aria-label]=\"'igo.integration.advanced-map-tool.advanced-coordinates.copy' | translate\" class=\"igo-form-button-group advanced-coordinates__copy-coordinates\"\r\n (click)=\"copyTextToClipboard()\">\r\n <mat-icon svgIcon=\"content-copy\"></mat-icon>\r\n</button>\r\n</div>\r\n<form class=\"igo-form advanced-coordinates__form\" [formGroup]=\"form\">\r\n <mat-form-field class=\"igo-input-container\">\r\n <mat-label>{{'igo.integration.advanced-map-tool.advanced-coordinates.coordSystem' | translate}}</mat-label>\r\n <mat-select [(value)]=\"inputProj\">\r\n <mat-option matTooltipShowDelay=\"500\"\r\n *ngFor=\"let projection of (projections$ | async)\"\r\n [value]=\"projection\"\r\n (click)=\"$event.stopPropagation()\">\r\n {{projection.translatedValue || projection.alias }}\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n <mat-slide-toggle class=\"center-toggle mat-typography\"\r\n [checked]=\"center\"\r\n [labelPosition]=\"'before'\"\r\n (change)=\"displayCenter($event.checked)\">\r\n {{'igo.integration.advanced-map-tool.advanced-coordinates.center' | translate}}\r\n </mat-slide-toggle> \r\n</form>\r\n\r\n<p class=\"igo-zoom mat-typography\">{{'igo.integration.advanced-map-tool.advanced-coordinates.zoom' | translate}} {{map.viewController.getZoom() }}</p>\r\n<p class=\"igo-zoom mat-typography\">{{'igo.integration.advanced-map-tool.advanced-coordinates.scale' | translate}} {{ formattedScale$ | async }}</p>\r\n<p class=\"igo-zoom mat-typography\">{{'igo.integration.advanced-map-tool.advanced-coordinates.resolution' | translate}} {{map.viewController.getResolution() | number: '1.0-0' }}</p>", styles: ["textarea{resize:none}mat-form-field{padding:10px 15px}mat-form-field.coordinates2{padding:0 10px 0 3px}mat-form-field.igo-input-container{width:100%;padding:0 15px}.igo-form-button-group{padding:0 10px;margin:0 10px}.igo-zoom{padding:0 15px}.advanced-coordinates__coordinates-container{display:flex;flex-direction:row;align-items:center}.advanced-coordinates__coordinates-container__inner{flex:1 1 0}.advanced-coordinates__coordinates-container__inner .mat-form-field{width:50%}.advanced-coordinates__form ::ng-deep .mat-slide-toggle{padding:10px 15px 35px;width:100%}.advanced-coordinates__form ::ng-deep .mat-slide-toggle-content{width:100%}\n"] }]
3912
3934
  }], function () { return [{ type: MapState }, { type: i2.LanguageService }, { type: i2.MessageService }, { type: i0.ChangeDetectorRef }, { type: i2.StorageService }, { type: i2.ConfigService }, { type: i3.UntypedFormBuilder }]; }, { projectionsLimitations: [{
3913
3935
  type: Input
3914
3936
  }] });
@@ -3978,7 +4000,7 @@ AdvancedMapToolComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: Ad
3978
4000
  i0.ɵɵadvance(3);
3979
4001
  i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(23, 24, "igo.integration.advanced-map-tool.geolocation.follow"), " ");
3980
4002
  }
3981
- }, dependencies: [i5$1.MatDivider, i12.MatSlideToggle, AdvancedSwipeComponent, AdvancedCoordinatesComponent, i6.AsyncPipe, i8.TranslatePipe], styles: [".nameOfTool[_ngcontent-%COMP%]{text-align:center;font-weight:700;font-size:small;margin:15px 10px 0}.advanced-tool-line[_ngcontent-%COMP%]{height:2px;background-color:gray}.geolocation-slide-toggle-container[_ngcontent-%COMP%]{overflow-x:hidden}.geolocation-slide-toggle-container[_ngcontent-%COMP%] mat-slide-toggle[_ngcontent-%COMP%]{width:100%;margin:10px}.geolocation-slide-toggle-container[_ngcontent-%COMP%] mat-slide-toggle[_ngcontent-%COMP%] .mat-slide-toggle-content{width:calc(100% - 60px)}.geolocation-option[_ngcontent-%COMP%]{display:block;margin-right:10px;margin-bottom:15px}"] });
4003
+ }, dependencies: [i5$1.MatDivider, i12$1.MatSlideToggle, AdvancedSwipeComponent, AdvancedCoordinatesComponent, i8.AsyncPipe, i12.TranslatePipe], styles: [".nameOfTool[_ngcontent-%COMP%]{text-align:center;font-weight:700;font-size:small;margin:15px 10px 0}.advanced-tool-line[_ngcontent-%COMP%]{height:2px;background-color:gray}.geolocation-slide-toggle-container[_ngcontent-%COMP%]{overflow-x:hidden}.geolocation-slide-toggle-container[_ngcontent-%COMP%] mat-slide-toggle[_ngcontent-%COMP%]{width:100%;margin:10px}.geolocation-slide-toggle-container[_ngcontent-%COMP%] mat-slide-toggle[_ngcontent-%COMP%] .mat-slide-toggle-content{width:calc(100% - 60px)}.geolocation-option[_ngcontent-%COMP%]{display:block;margin-right:10px;margin-bottom:15px}"] });
3982
4004
  AdvancedMapToolComponent = __decorate([
3983
4005
  ToolComponent({
3984
4006
  name: 'advancedMap',
@@ -3992,7 +4014,7 @@ AdvancedMapToolComponent = __decorate([
3992
4014
  (function () {
3993
4015
  (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(AdvancedMapToolComponent, [{
3994
4016
  type: Component,
3995
- args: [{ selector: 'igo-advanced-map-tool', template: "<h4 class=\"nameOfTool\">{{'igo.integration.advanced-map-tool.advanced-swipe.swipe-tool' | translate}}</h4>\n<igo-advanced-swipe></igo-advanced-swipe>\n<mat-divider class=\"advanced-tool-line\"></mat-divider>\n\n<h4 class=\"nameOfTool\">{{'igo.integration.advanced-map-tool.advanced-coordinates.coordinates' | translate}}</h4>\n<igo-advanced-coordinates></igo-advanced-coordinates>\n<mat-divider class=\"advanced-tool-line\"></mat-divider>\n\n<h4 class=\"nameOfTool\">{{'igo.integration.advanced-map-tool.geolocation.title' | translate}}</h4>\n\n<div class=\"igo-input-container\">\n <div class=\"geolocation-slide-toggle-container mat-typography\">\n <mat-slide-toggle \n class=\"geolocation-option mat-typography\"\n [checked]=\"tracking$ | async\"\n [labelPosition]=\"'before'\"\n (change)=\"toggleTracking($event.checked)\">\n {{'igo.integration.advanced-map-tool.geolocation.tracking' | translate}}\n </mat-slide-toggle>\n\n <mat-slide-toggle\n class=\"geolocation-option mat-typography\"\n [disabled]=\"(tracking$ | async) !== true\"\n [checked]=\"followPosition$ | async\"\n [labelPosition]=\"'before'\"\n (change)=\"toggleFollow($event.checked)\">\n {{'igo.integration.advanced-map-tool.geolocation.follow' | translate}}\n </mat-slide-toggle>\n </div>\n</div>", styles: [".nameOfTool{text-align:center;font-weight:700;font-size:small;margin:15px 10px 0}.advanced-tool-line{height:2px;background-color:gray}.geolocation-slide-toggle-container{overflow-x:hidden}.geolocation-slide-toggle-container mat-slide-toggle{width:100%;margin:10px}.geolocation-slide-toggle-container mat-slide-toggle ::ng-deep .mat-slide-toggle-content{width:calc(100% - 60px)}.geolocation-option{display:block;margin-right:10px;margin-bottom:15px}\n"] }]
4017
+ args: [{ selector: 'igo-advanced-map-tool', template: "<h4 class=\"nameOfTool\">{{'igo.integration.advanced-map-tool.advanced-swipe.swipe-tool' | translate}}</h4>\r\n<igo-advanced-swipe></igo-advanced-swipe>\r\n<mat-divider class=\"advanced-tool-line\"></mat-divider>\r\n<h4 class=\"nameOfTool\">{{'igo.integration.advanced-map-tool.advanced-coordinates.coordinates' | translate}}</h4>\r\n<igo-advanced-coordinates></igo-advanced-coordinates>\r\n<mat-divider class=\"advanced-tool-line\"></mat-divider>\r\n\r\n<h4 class=\"nameOfTool\">{{'igo.integration.advanced-map-tool.geolocation.title' | translate}}</h4>\r\n\r\n<div class=\"igo-input-container\">\r\n <div class=\"geolocation-slide-toggle-container mat-typography\">\r\n <mat-slide-toggle \r\n class=\"geolocation-option mat-typography\"\r\n [checked]=\"tracking$ | async\"\r\n [labelPosition]=\"'before'\"\r\n (change)=\"toggleTracking($event.checked)\">\r\n {{'igo.integration.advanced-map-tool.geolocation.tracking' | translate}}\r\n </mat-slide-toggle>\r\n\r\n <mat-slide-toggle\r\n class=\"geolocation-option mat-typography\"\r\n [disabled]=\"(tracking$ | async) !== true\"\r\n [checked]=\"followPosition$ | async\"\r\n [labelPosition]=\"'before'\"\r\n (change)=\"toggleFollow($event.checked)\">\r\n {{'igo.integration.advanced-map-tool.geolocation.follow' | translate}}\r\n </mat-slide-toggle>\r\n </div>\r\n</div>", styles: [".nameOfTool{text-align:center;font-weight:700;font-size:small;margin:15px 10px 0}.advanced-tool-line{height:2px;background-color:gray}.geolocation-slide-toggle-container{overflow-x:hidden}.geolocation-slide-toggle-container mat-slide-toggle{width:100%;margin:10px}.geolocation-slide-toggle-container mat-slide-toggle ::ng-deep .mat-slide-toggle-content{width:calc(100% - 60px)}.geolocation-option{display:block;margin-right:10px;margin-bottom:15px}\n"] }]
3996
4018
  }], function () { return [{ type: MapState }]; }, null);
3997
4019
  })();
3998
4020
 
@@ -4000,10 +4022,12 @@ AdvancedMapToolComponent = __decorate([
4000
4022
  * Service that holds the state of the direction module
4001
4023
  */
4002
4024
  class MapProximityState {
4003
- constructor(mapState) {
4025
+ constructor(mapState, storageService) {
4004
4026
  this.mapState = mapState;
4027
+ this.storageService = storageService;
4028
+ this.defaultProximityRadiusValue = 30;
4005
4029
  this.enabled$ = new BehaviorSubject(false);
4006
- this.proximityRadiusValue$ = new BehaviorSubject(30);
4030
+ this.proximityRadiusValue$ = new BehaviorSubject(this.storageService.get('mapProximityRadius') || this.defaultProximityRadiusValue);
4007
4031
  this.proximitylocationType$ = new BehaviorSubject('geolocation');
4008
4032
  this.proximityFeatureStore = new FeatureStore([], { map: this.mapState.map });
4009
4033
  this.subs$$ = [];
@@ -4031,6 +4055,7 @@ class MapProximityState {
4031
4055
  const currentPos = this.map.geolocationController.position$.value;
4032
4056
  const locationType = bunch[1];
4033
4057
  const proximityRadiusValue = bunch[2];
4058
+ this.storageService.set('mapProximityRadius', proximityRadiusValue || this.defaultProximityRadiusValue);
4034
4059
  if (!enabled) {
4035
4060
  return;
4036
4061
  }
@@ -4140,7 +4165,7 @@ class MapProximityState {
4140
4165
  return label;
4141
4166
  }
4142
4167
  }
4143
- MapProximityState.ɵfac = function MapProximityState_Factory(t) { return new (t || MapProximityState)(i0.ɵɵinject(MapState)); };
4168
+ MapProximityState.ɵfac = function MapProximityState_Factory(t) { return new (t || MapProximityState)(i0.ɵɵinject(MapState), i0.ɵɵinject(i2.StorageService)); };
4144
4169
  MapProximityState.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: MapProximityState, factory: MapProximityState.ɵfac, providedIn: 'root' });
4145
4170
  (function () {
4146
4171
  (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(MapProximityState, [{
@@ -4148,7 +4173,7 @@ MapProximityState.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: MapPro
4148
4173
  args: [{
4149
4174
  providedIn: 'root'
4150
4175
  }]
4151
- }], function () { return [{ type: MapState }]; }, null);
4176
+ }], function () { return [{ type: MapState }, { type: i2.StorageService }]; }, null);
4152
4177
  })();
4153
4178
 
4154
4179
  const _c0$1 = ["table"];
@@ -4260,10 +4285,7 @@ let MapProximityToolComponent = class MapProximityToolComponent {
4260
4285
  var _a;
4261
4286
  const successful = Clipboard.copy((_a = this.mapProximityState.currentPositionCoordinate$) === null || _a === void 0 ? void 0 : _a.value.toString());
4262
4287
  if (successful) {
4263
- const translate = this.languageService.translate;
4264
- const title = translate.instant('igo.integration.map-proximity-tool.copyTitle');
4265
- const msg = translate.instant('igo.integration.map-proximity-tool.copyMsg');
4266
- this.messageService.success(msg, title);
4288
+ this.messageService.success('igo.integration.map-proximity-tool.copyMsg', 'igo.integration.map-proximity-tool.copyTitle');
4267
4289
  }
4268
4290
  }
4269
4291
  };
@@ -4276,7 +4298,7 @@ MapProximityToolComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: M
4276
4298
  let _t;
4277
4299
  i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.table = _t.first);
4278
4300
  }
4279
- }, decls: 31, vars: 35, consts: [[1, "table-compact", 3, "store", "template"], ["table", ""], ["class", "coordinates", 4, "ngIf"], ["class", "coordinates2", 4, "ngIf"], ["mat-icon-button", "", 3, "click", 4, "ngIf"], [1, "title-container"], [1, "title", "mat-typography"], [1, "igo-input-container", "mat-typography"], [3, "change"], ["value", "geolocation", 3, "checked"], ["value", "mapCenter", 3, "checked"], [1, "radius-unit"], ["appearance", "outline", "floatLabel", "always", 1, "measure-field"], ["type", "number", "pattern", "[0-9]*", "matInput", "", 3, "ngModel", "placeholder", "ngModelChange"], [1, "coordinates"], ["matInput", "", "readonly", "", "rows", "1", 3, "placeholder", "value"], ["textArea", ""], [1, "coordinates2"], ["mat-icon-button", "", 3, "click"], ["svgIcon", "content-copy"]], template: function MapProximityToolComponent_Template(rf, ctx) {
4301
+ }, decls: 31, vars: 35, consts: [[1, "table-compact", 3, "store", "template"], ["table", ""], ["class", "coordinates", 4, "ngIf"], ["class", "coordinates2", 4, "ngIf"], ["mat-icon-button", "", 3, "click", 4, "ngIf"], [1, "title-container"], [1, "title", "mat-typography"], [1, "igo-input-container", "mat-typography"], [3, "change"], ["value", "geolocation", 3, "checked"], ["value", "mapCenter", 3, "checked"], [1, "radius-unit"], ["appearance", "outline", "floatLabel", "always", 1, "radius-field"], ["type", "number", "pattern", "[0-9]*", "matInput", "", 3, "ngModel", "placeholder", "ngModelChange"], [1, "coordinates"], ["matInput", "", "readonly", "", "rows", "1", 3, "placeholder", "value"], ["textArea", ""], [1, "coordinates2"], ["mat-icon-button", "", 3, "click"], ["svgIcon", "content-copy"]], template: function MapProximityToolComponent_Template(rf, ctx) {
4280
4302
  if (rf & 1) {
4281
4303
  i0.ɵɵelement(0, "igo-entity-table", 0, 1)(2, "br");
4282
4304
  i0.ɵɵtemplate(3, MapProximityToolComponent_mat_form_field_3_Template, 4, 4, "mat-form-field", 2);
@@ -4335,7 +4357,7 @@ MapProximityToolComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: M
4335
4357
  i0.ɵɵpropertyInterpolate("placeholder", i0.ɵɵpipeBind1(30, 33, "igo.integration.map-proximity-tool.radiusM"));
4336
4358
  i0.ɵɵproperty("ngModel", ctx.maxDistance);
4337
4359
  }
4338
- }, dependencies: [i3.DefaultValueAccessor, i3.NumberValueAccessor, i3.NgControlStatus, i3.PatternValidator, i3.NgModel, i6$2.MatFormField, i6$2.MatLabel, i7$3.MatInput, i6.NgIf, i7.MatIcon, i9.MatRadioGroup, i9.MatRadioButton, i10.MatButton, i4.EntityTableComponent, i6.AsyncPipe, i8.TranslatePipe], styles: [".table-compact[_ngcontent-%COMP%]{height:auto}.table-compact[_ngcontent-%COMP%] .mat-header-cell.mat-column-selectionCheckbox{width:52px}textarea[_ngcontent-%COMP%]{resize:none}mat-form-field[_ngcontent-%COMP%]{padding:10px 15px}mat-form-field.coordinates[_ngcontent-%COMP%]{width:110px}mat-form-field.coordinates2[_ngcontent-%COMP%]{width:100px;padding:0 10px 0 3px}mat-form-field.igo-input-container[_ngcontent-%COMP%]{width:60%;padding:0 15px}.radius-unit[_ngcontent-%COMP%]{display:flex;width:90%;margin-left:2px;padding:5px}.radius-field[_ngcontent-%COMP%]{display:flex;flex-flow:column nowrap;width:60%}.title-container[_ngcontent-%COMP%]{padding:10px}.title[_ngcontent-%COMP%]{margin-left:5px;font-size:medium;font-size:initial}.mat-radio-group[_ngcontent-%COMP%]{display:flex;flex-direction:column;padding-top:10px}.mat-radio-button[_ngcontent-%COMP%]{display:inline-flex;position:relative;margin-left:16px;margin-top:10px}"] });
4360
+ }, dependencies: [i3.DefaultValueAccessor, i3.NumberValueAccessor, i3.NgControlStatus, i3.PatternValidator, i3.NgModel, i6$1.MatFormField, i6$1.MatLabel, i7$2.MatInput, i8.NgIf, i7.MatIcon, i9.MatRadioGroup, i9.MatRadioButton, i10.MatButton, i4.EntityTableComponent, i8.AsyncPipe, i12.TranslatePipe], styles: [".table-compact[_ngcontent-%COMP%]{height:auto}.table-compact[_ngcontent-%COMP%] .mat-header-cell.mat-column-selectionCheckbox{width:52px}textarea[_ngcontent-%COMP%]{resize:none}mat-form-field[_ngcontent-%COMP%]{padding:10px 15px}mat-form-field.coordinates[_ngcontent-%COMP%]{width:110px}mat-form-field.coordinates2[_ngcontent-%COMP%]{width:100px;padding:0 10px 0 3px}mat-form-field.igo-input-container[_ngcontent-%COMP%]{width:60%;padding:0 15px}.radius-unit[_ngcontent-%COMP%]{display:flex;width:90%;margin-left:2px;padding:5px}.radius-unit[_ngcontent-%COMP%] mat-form-field.radius-field[_ngcontent-%COMP%]{display:flex;flex-flow:column nowrap;width:100%}.title-container[_ngcontent-%COMP%]{padding:10px}.title[_ngcontent-%COMP%]{margin-left:5px;font-size:medium;font-size:initial}.mat-radio-group[_ngcontent-%COMP%]{display:flex;flex-direction:column;padding-top:10px}.mat-radio-button[_ngcontent-%COMP%]{display:inline-flex;position:relative;margin-left:16px;margin-top:10px}"] });
4339
4361
  MapProximityToolComponent = __decorate([
4340
4362
  ToolComponent({
4341
4363
  name: 'map-proximity',
@@ -4349,7 +4371,7 @@ MapProximityToolComponent = __decorate([
4349
4371
  (function () {
4350
4372
  (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(MapProximityToolComponent, [{
4351
4373
  type: Component,
4352
- args: [{ selector: 'igo-map-proximity-tool', template: "<igo-entity-table #table class=\"table-compact\" [store]=\"mapProximityState.proximityFeatureStore\" [template]=\"tableTemplate\"></igo-entity-table>\n<br>\n<mat-form-field *ngIf=\"mapProximityState.currentPositionCoordinate$ | async as coord\" class=\"coordinates\">\n <textarea #textArea matInput readonly rows=\"1\"\n [placeholder]=\"'igo.integration.map-proximity-tool.lon' | translate\"\n [value]=\"coord[0]\"></textarea>\n</mat-form-field>\n<mat-form-field *ngIf=\"mapProximityState.currentPositionCoordinate$ | async as coord2\" class=\"coordinates2\">\n <textarea #textArea matInput readonly rows=\"1\"\n [placeholder]=\"'igo.integration.map-proximity-tool.lat' | translate\"\n [value]=\"coord2[1]\"></textarea>\n</mat-form-field>\n\n<button *ngIf=\"(mapProximityState.currentPositionCoordinate$ | async) && (mapProximityState.currentPositionCoordinate$ | async).length\" mat-icon-button\n (click)=\"copyTextToClipboard()\">\n <mat-icon svgIcon=\"content-copy\"></mat-icon>\n</button>\n<div class=\"title-container\">\n <mat-label class=\"title mat-typography\">{{'igo.integration.map-proximity-tool.method' | translate}}</mat-label>\n</div>\n<div class=\"igo-input-container mat-typography\">\n <mat-radio-group (change)=\"onLocationTypeChange($event)\">\n <mat-radio-button [checked]=\"(mapProximityState.proximitylocationType$|async)==='geolocation'\" value=\"geolocation\">{{'igo.integration.map-proximity-tool.geolocation' | translate}}</mat-radio-button>\n <mat-radio-button [checked]=\"(mapProximityState.proximitylocationType$|async)==='mapCenter'\" value=\"mapCenter\">{{'igo.integration.map-proximity-tool.mapCenter' | translate}}</mat-radio-button>\n </mat-radio-group>\n</div>\n\n<div class=\"radius-unit\"> \n \n <mat-form-field appearance=\"outline\" class=\"measure-field\" floatLabel=\"always\">\n <mat-label>{{'igo.integration.map-proximity-tool.radiusM' | translate}}</mat-label>\n <input type=\"number\" pattern=\"[0-9]*\" [(ngModel)]=\"maxDistance\" matInput placeholder=\"{{'igo.integration.map-proximity-tool.radiusM' | translate}}\">\n </mat-form-field>\n\n \n</div>", styles: [".table-compact{height:auto}.table-compact ::ng-deep .mat-header-cell.mat-column-selectionCheckbox{width:52px}textarea{resize:none}mat-form-field{padding:10px 15px}mat-form-field.coordinates{width:110px}mat-form-field.coordinates2{width:100px;padding:0 10px 0 3px}mat-form-field.igo-input-container{width:60%;padding:0 15px}.radius-unit{display:flex;width:90%;margin-left:2px;padding:5px}.radius-field{display:flex;flex-flow:column nowrap;width:60%}.title-container{padding:10px}.title{margin-left:5px;font-size:medium;font-size:initial}.mat-radio-group{display:flex;flex-direction:column;padding-top:10px}.mat-radio-button{display:inline-flex;position:relative;margin-left:16px;margin-top:10px}\n"] }]
4374
+ args: [{ selector: 'igo-map-proximity-tool', template: "<igo-entity-table #table class=\"table-compact\" [store]=\"mapProximityState.proximityFeatureStore\" [template]=\"tableTemplate\"></igo-entity-table>\r\n<br>\r\n<mat-form-field *ngIf=\"mapProximityState.currentPositionCoordinate$ | async as coord\" class=\"coordinates\">\r\n <textarea #textArea matInput readonly rows=\"1\"\r\n [placeholder]=\"'igo.integration.map-proximity-tool.lon' | translate\"\r\n [value]=\"coord[0]\"></textarea>\r\n</mat-form-field>\r\n<mat-form-field *ngIf=\"mapProximityState.currentPositionCoordinate$ | async as coord2\" class=\"coordinates2\">\r\n <textarea #textArea matInput readonly rows=\"1\"\r\n [placeholder]=\"'igo.integration.map-proximity-tool.lat' | translate\"\r\n [value]=\"coord2[1]\"></textarea>\r\n</mat-form-field>\r\n\r\n<button *ngIf=\"(mapProximityState.currentPositionCoordinate$ | async) && (mapProximityState.currentPositionCoordinate$ | async).length\" mat-icon-button\r\n (click)=\"copyTextToClipboard()\">\r\n <mat-icon svgIcon=\"content-copy\"></mat-icon>\r\n</button>\r\n<div class=\"title-container\">\r\n <mat-label class=\"title mat-typography\">{{'igo.integration.map-proximity-tool.method' | translate}}</mat-label>\r\n</div>\r\n<div class=\"igo-input-container mat-typography\">\r\n <mat-radio-group (change)=\"onLocationTypeChange($event)\">\r\n <mat-radio-button [checked]=\"(mapProximityState.proximitylocationType$|async)==='geolocation'\" value=\"geolocation\">{{'igo.integration.map-proximity-tool.geolocation' | translate}}</mat-radio-button>\r\n <mat-radio-button [checked]=\"(mapProximityState.proximitylocationType$|async)==='mapCenter'\" value=\"mapCenter\">{{'igo.integration.map-proximity-tool.mapCenter' | translate}}</mat-radio-button>\r\n </mat-radio-group>\r\n</div>\r\n\r\n<div class=\"radius-unit\"> \r\n \r\n <mat-form-field appearance=\"outline\" class=\"radius-field\" floatLabel=\"always\">\r\n <mat-label>{{'igo.integration.map-proximity-tool.radiusM' | translate}}</mat-label>\r\n <input type=\"number\" pattern=\"[0-9]*\" [(ngModel)]=\"maxDistance\" matInput placeholder=\"{{'igo.integration.map-proximity-tool.radiusM' | translate}}\">\r\n </mat-form-field>\r\n\r\n \r\n</div>", styles: [".table-compact{height:auto}.table-compact ::ng-deep .mat-header-cell.mat-column-selectionCheckbox{width:52px}textarea{resize:none}mat-form-field{padding:10px 15px}mat-form-field.coordinates{width:110px}mat-form-field.coordinates2{width:100px;padding:0 10px 0 3px}mat-form-field.igo-input-container{width:60%;padding:0 15px}.radius-unit{display:flex;width:90%;margin-left:2px;padding:5px}.radius-unit mat-form-field.radius-field{display:flex;flex-flow:column nowrap;width:100%}.title-container{padding:10px}.title{margin-left:5px;font-size:medium;font-size:initial}.mat-radio-group{display:flex;flex-direction:column;padding-top:10px}.mat-radio-button{display:inline-flex;position:relative;margin-left:16px;margin-top:10px}\n"] }]
4353
4375
  }], function () { return [{ type: MapState }, { type: MapProximityState }, { type: i2.LanguageService }, { type: i2.MessageService }]; }, { table: [{
4354
4376
  type: ViewChild,
4355
4377
  args: ['table', { static: true }]
@@ -4385,6 +4407,7 @@ IgoAppMapModule.ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ imports: [FormsMod
4385
4407
  IgoMetadataModule,
4386
4408
  IgoDownloadModule,
4387
4409
  IgoImportExportModule,
4410
+ IgoStyleModule,
4388
4411
  IgoFilterModule,
4389
4412
  MatRadioModule,
4390
4413
  IgoContextModule,
@@ -4418,6 +4441,7 @@ IgoAppMapModule.ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ imports: [FormsMod
4418
4441
  IgoMetadataModule,
4419
4442
  IgoDownloadModule,
4420
4443
  IgoImportExportModule,
4444
+ IgoStyleModule,
4421
4445
  IgoFilterModule,
4422
4446
  MatRadioModule,
4423
4447
  IgoContextModule,
@@ -4457,6 +4481,7 @@ IgoAppMapModule.ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ imports: [FormsMod
4457
4481
  IgoMetadataModule,
4458
4482
  IgoDownloadModule,
4459
4483
  IgoImportExportModule,
4484
+ IgoStyleModule,
4460
4485
  IgoFilterModule,
4461
4486
  MatRadioModule,
4462
4487
  IgoContextModule,
@@ -4540,7 +4565,7 @@ MeasurerToolComponent = __decorate([
4540
4565
  (function () {
4541
4566
  (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(MeasurerToolComponent, [{
4542
4567
  type: Component,
4543
- args: [{ selector: 'igo-measurer-tool', changeDetection: ChangeDetectionStrategy.OnPush, template: "<igo-measurer [store]=\"store\" [map]=\"map\"></igo-measurer>\n" }]
4568
+ args: [{ selector: 'igo-measurer-tool', changeDetection: ChangeDetectionStrategy.OnPush, template: "<igo-measurer [store]=\"store\" [map]=\"map\"></igo-measurer>\r\n" }]
4544
4569
  }], function () { return [{ type: MeasureState }, { type: MapState }]; }, null);
4545
4570
  })();
4546
4571
 
@@ -4613,7 +4638,7 @@ PrintToolComponent = __decorate([
4613
4638
  (function () {
4614
4639
  (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(PrintToolComponent, [{
4615
4640
  type: Component,
4616
- args: [{ selector: 'igo-print-tool', template: "<igo-print [map]=\"map\"></igo-print>\n" }]
4641
+ args: [{ selector: 'igo-print-tool', template: "<igo-print [map]=\"map\"></igo-print>\r\n" }]
4617
4642
  }], function () { return [{ type: MapState }]; }, null);
4618
4643
  })();
4619
4644
 
@@ -4645,10 +4670,13 @@ IgoAppPrintModule.ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ imports: [IgoPri
4645
4670
  * Service that holds the state of the search module
4646
4671
  */
4647
4672
  class SearchState {
4648
- constructor(searchSourceService, storageService, configService) {
4673
+ constructor(searchSourceService, storageService, workspaceState, configService, mapState) {
4649
4674
  this.searchSourceService = searchSourceService;
4650
4675
  this.storageService = storageService;
4676
+ this.workspaceState = workspaceState;
4651
4677
  this.configService = configService;
4678
+ this.mapState = mapState;
4679
+ this.searchLayerStores = [];
4652
4680
  this.searchOverlayStyle = {};
4653
4681
  this.searchOverlayStyleSelection = {};
4654
4682
  this.searchOverlayStyleFocus = {};
@@ -4674,6 +4702,13 @@ class SearchState {
4674
4702
  this.searchResultsGeometryEnabled$.next(searchResultsGeometryEnabled);
4675
4703
  }
4676
4704
  this.store.addStrategy(this.createCustomFilterTermStrategy(), false);
4705
+ const wksSource = this.searchSourceService.getSources().find(source => source.getId() === 'workspace');
4706
+ this.workspaceState.store.entities$
4707
+ .subscribe(e => {
4708
+ const searchableWks = e.filter(fw => fw instanceof FeatureWorkspace && fw.layer.options.workspace.searchIndexEnabled);
4709
+ this.searchSourceService.setWorkspaces(wksSource, searchableWks);
4710
+ });
4711
+ this.monitorLayerDeletion();
4677
4712
  }
4678
4713
  /**
4679
4714
  * Search types currently enabled in the search source service
@@ -4683,6 +4718,18 @@ class SearchState {
4683
4718
  .getEnabledSources()
4684
4719
  .map((source) => source.constructor.type);
4685
4720
  }
4721
+ monitorLayerDeletion() {
4722
+ this.mapState.map.layers$
4723
+ .subscribe((layers) => {
4724
+ this.searchLayerStores.forEach((store) => {
4725
+ let layer = layers.find(l => l.id === store.layer.id);
4726
+ if (!layer) {
4727
+ const index = this.searchLayerStores.indexOf(store);
4728
+ this.searchLayerStores.splice(index, 1);
4729
+ }
4730
+ });
4731
+ });
4732
+ }
4686
4733
  createCustomFilterTermStrategy() {
4687
4734
  const filterClauseFunc = (record) => {
4688
4735
  return record.entity.meta.score === 100;
@@ -4733,7 +4780,7 @@ class SearchState {
4733
4780
  this.searchResultsGeometryEnabled$.next(value);
4734
4781
  }
4735
4782
  }
4736
- SearchState.ɵfac = function SearchState_Factory(t) { return new (t || SearchState)(i0.ɵɵinject(i1$1.SearchSourceService), i0.ɵɵinject(i2.StorageService), i0.ɵɵinject(i2.ConfigService)); };
4783
+ SearchState.ɵfac = function SearchState_Factory(t) { return new (t || SearchState)(i0.ɵɵinject(i1$1.SearchSourceService), i0.ɵɵinject(i2.StorageService), i0.ɵɵinject(WorkspaceState), i0.ɵɵinject(i2.ConfigService), i0.ɵɵinject(MapState)); };
4737
4784
  SearchState.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: SearchState, factory: SearchState.ɵfac, providedIn: 'root' });
4738
4785
  (function () {
4739
4786
  (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(SearchState, [{
@@ -4741,7 +4788,7 @@ SearchState.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: SearchState,
4741
4788
  args: [{
4742
4789
  providedIn: 'root'
4743
4790
  }]
4744
- }], function () { return [{ type: i1$1.SearchSourceService }, { type: i2.StorageService }, { type: i2.ConfigService }]; }, null);
4791
+ }], function () { return [{ type: i1$1.SearchSourceService }, { type: i2.StorageService }, { type: WorkspaceState }, { type: i2.ConfigService }, { type: MapState }]; }, null);
4745
4792
  })();
4746
4793
 
4747
4794
  class SearchBarBindingDirective {
@@ -4858,7 +4905,7 @@ function SearchResultsToolComponent_igo_flexible_2_ng_template_5_Template(rf, ct
4858
4905
  if (rf & 2) {
4859
4906
  const result_r6 = ctx.result;
4860
4907
  const ctx_r4 = i0.ɵɵnextContext(2);
4861
- i0.ɵɵproperty("map", ctx_r4.map)("layer", result_r6);
4908
+ i0.ɵɵproperty("map", ctx_r4.map)("store", ctx_r4.store)("stores", ctx_r4.stores)("layer", result_r6)("saveSearchResultInLayer", ctx_r4.saveSearchResultInLayer);
4862
4909
  }
4863
4910
  }
4864
4911
  function SearchResultsToolComponent_igo_flexible_2_igo_panel_8_button_4_Template(rf, ctx) {
@@ -4914,7 +4961,7 @@ function SearchResultsToolComponent_igo_flexible_2_Template(rf, ctx) {
4914
4961
  i0.ɵɵpipe(2, "async");
4915
4962
  i0.ɵɵelementStart(3, "div", 7)(4, "igo-search-results", 8);
4916
4963
  i0.ɵɵlistener("resultFocus", function SearchResultsToolComponent_igo_flexible_2_Template_igo_search_results_resultFocus_4_listener($event) { i0.ɵɵrestoreView(_r15); const ctx_r14 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r14.onResultFocus($event)); })("resultSelect", function SearchResultsToolComponent_igo_flexible_2_Template_igo_search_results_resultSelect_4_listener($event) { i0.ɵɵrestoreView(_r15); const ctx_r16 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r16.onResultSelect($event)); })("resultUnfocus", function SearchResultsToolComponent_igo_flexible_2_Template_igo_search_results_resultUnfocus_4_listener($event) { i0.ɵɵrestoreView(_r15); const ctx_r17 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r17.onResultUnfocus($event)); })("resultMouseenter", function SearchResultsToolComponent_igo_flexible_2_Template_igo_search_results_resultMouseenter_4_listener($event) { i0.ɵɵrestoreView(_r15); const ctx_r18 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r18.onResultFocus($event)); })("resultMouseleave", function SearchResultsToolComponent_igo_flexible_2_Template_igo_search_results_resultMouseleave_4_listener($event) { i0.ɵɵrestoreView(_r15); const ctx_r19 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r19.onResultUnfocus($event)); })("moreResults", function SearchResultsToolComponent_igo_flexible_2_Template_igo_search_results_moreResults_4_listener($event) { i0.ɵɵrestoreView(_r15); const ctx_r20 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r20.onSearch($event)); });
4917
- i0.ɵɵtemplate(5, SearchResultsToolComponent_igo_flexible_2_ng_template_5_Template, 1, 2, "ng-template", null, 9, i0.ɵɵtemplateRefExtractor);
4964
+ i0.ɵɵtemplate(5, SearchResultsToolComponent_igo_flexible_2_ng_template_5_Template, 1, 5, "ng-template", null, 9, i0.ɵɵtemplateRefExtractor);
4918
4965
  i0.ɵɵelementEnd()();
4919
4966
  i0.ɵɵelementStart(7, "div", 10);
4920
4967
  i0.ɵɵtemplate(8, SearchResultsToolComponent_igo_flexible_2_igo_panel_8_Template, 7, 11, "igo-panel", 11);
@@ -4923,11 +4970,11 @@ function SearchResultsToolComponent_igo_flexible_2_Template(rf, ctx) {
4923
4970
  }
4924
4971
  if (rf & 2) {
4925
4972
  const ctx_r1 = i0.ɵɵnextContext();
4926
- i0.ɵɵproperty("state", i0.ɵɵpipeBind1(2, 7, ctx_r1.feature$) ? ctx_r1.topPanelState : "initial");
4973
+ i0.ɵɵproperty("state", i0.ɵɵpipeBind1(2, 8, ctx_r1.feature$) ? ctx_r1.topPanelState : "initial");
4927
4974
  i0.ɵɵadvance(4);
4928
- i0.ɵɵproperty("store", ctx_r1.store)("showIcons", ctx_r1.showIcons)("term", ctx_r1.term)("termSplitter", ctx_r1.termSplitter)("settingsChange$", ctx_r1.settingsChange$);
4975
+ i0.ɵɵproperty("store", ctx_r1.store)("showIcons", ctx_r1.showIcons)("term", ctx_r1.term)("termSplitter", ctx_r1.termSplitter)("settingsChange$", ctx_r1.settingsChange$)("map", ctx_r1.map);
4929
4976
  i0.ɵɵadvance(4);
4930
- i0.ɵɵproperty("ngIf", i0.ɵɵpipeBind1(9, 9, ctx_r1.feature$));
4977
+ i0.ɵɵproperty("ngIf", i0.ɵɵpipeBind1(9, 10, ctx_r1.feature$));
4931
4978
  }
4932
4979
  }
4933
4980
  /**
@@ -4949,6 +4996,7 @@ let SearchResultsToolComponent = class SearchResultsToolComponent {
4949
4996
  */
4950
4997
  this.topPanelStateDefault = 'expanded';
4951
4998
  this.hasFeatureEmphasisOnSelection = false;
4999
+ this.saveSearchResultInLayer = false;
4952
5000
  this.shownResultsGeometries = [];
4953
5001
  this.shownResultsEmphasisGeometries = [];
4954
5002
  this.focusedResult$ = new BehaviorSubject(undefined);
@@ -4959,6 +5007,7 @@ let SearchResultsToolComponent = class SearchResultsToolComponent {
4959
5007
  this.topPanelState$ = new BehaviorSubject('initial');
4960
5008
  this.format = new olFormatGeoJSON();
4961
5009
  this.hasFeatureEmphasisOnSelection = configService.getConfig('hasFeatureEmphasisOnSelection');
5010
+ this.saveSearchResultInLayer = configService.getConfig('saveSearchResultInLayer');
4962
5011
  }
4963
5012
  /**
4964
5013
  * Store holding the search results
@@ -4993,6 +5042,9 @@ let SearchResultsToolComponent = class SearchResultsToolComponent {
4993
5042
  get termSplitter() {
4994
5043
  return this.searchState.searchTermSplitter$.value;
4995
5044
  }
5045
+ get stores() {
5046
+ return this.searchState.searchLayerStores;
5047
+ }
4996
5048
  ngOnInit() {
4997
5049
  this.searchTerm$$ = this.searchState.searchTerm$.subscribe((searchTerm) => {
4998
5050
  if (searchTerm !== undefined && searchTerm !== null && searchTerm !== '') {
@@ -5382,11 +5434,11 @@ let SearchResultsToolComponent = class SearchResultsToolComponent {
5382
5434
  }
5383
5435
  };
5384
5436
  SearchResultsToolComponent.ɵfac = function SearchResultsToolComponent_Factory(t) { return new (t || SearchResultsToolComponent)(i0.ɵɵdirectiveInject(MapState), i0.ɵɵdirectiveInject(SearchState), i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(ToolState), i0.ɵɵdirectiveInject(DirectionState), i0.ɵɵdirectiveInject(i2.ConfigService)); };
5385
- SearchResultsToolComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: SearchResultsToolComponent, selectors: [["igo-search-results-tool"]], inputs: { showIcons: "showIcons", topPanelStateDefault: "topPanelStateDefault", topPanelState: "topPanelState" }, decls: 4, vars: 6, consts: [["style", "margin: 10px;", 4, "ngIf"], ["initial", "100%", "initialMobile", "100%", "collapsed", "calc(100% - 58px)", "collapsedMobile", "calc(100% - 58px)", "expanded", "60%", "expandedMobile", "60%", 3, "state", 4, "ngIf"], [2, "margin", "10px"], [1, "mat-typography"], [3, "innerHTML"], ["initial", "100%", "initialMobile", "100%", "collapsed", "calc(100% - 58px)", "collapsedMobile", "calc(100% - 58px)", "expanded", "60%", "expandedMobile", "60%", 3, "state"], ["topPanel", ""], [1, "igo-content"], ["placeholder", "false", 3, "store", "showIcons", "term", "termSplitter", "settingsChange$", "resultFocus", "resultSelect", "resultUnfocus", "resultMouseenter", "resultMouseleave", "moreResults"], ["igoSearchItemToolbar", ""], ["igoFlexibleFill", "", 1, "igo-content"], [3, "title", "cursorPointer", "click", 4, "ngIf"], [3, "map", "layer"], [3, "title", "cursorPointer", "click"], ["mat-icon-button", "", "panelLeftButton", "", 1, "igo-icon-button", 3, "click"], [3, "svgIcon"], ["mat-icon-button", "", "panelRightButton", "", "class", "igo-icon-button", "matTooltipShowDelay", "500", 3, "matTooltip", "click", 4, "ngIf"], ["igoFeatureDetailsDirective", "", 3, "feature", "map", "toolbox", "routingEvent"], ["mat-icon-button", "", "panelRightButton", "", "matTooltipShowDelay", "500", 1, "igo-icon-button", 3, "matTooltip", "click"], ["matBadgeColor", "accent", "matBadgeSize", "small", "svgIcon", "magnify-plus-outline", 3, "matBadge", "matBadgeHidden"]], template: function SearchResultsToolComponent_Template(rf, ctx) {
5437
+ SearchResultsToolComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: SearchResultsToolComponent, selectors: [["igo-search-results-tool"]], inputs: { showIcons: "showIcons", topPanelStateDefault: "topPanelStateDefault", topPanelState: "topPanelState" }, decls: 4, vars: 6, consts: [["style", "margin: 10px;", 4, "ngIf"], ["initial", "100%", "initialMobile", "100%", "collapsed", "calc(100% - 58px)", "collapsedMobile", "calc(100% - 58px)", "expanded", "60%", "expandedMobile", "60%", 3, "state", 4, "ngIf"], [2, "margin", "10px"], [1, "mat-typography"], [3, "innerHTML"], ["initial", "100%", "initialMobile", "100%", "collapsed", "calc(100% - 58px)", "collapsedMobile", "calc(100% - 58px)", "expanded", "60%", "expandedMobile", "60%", 3, "state"], ["topPanel", ""], [1, "igo-content"], ["placeholder", "false", 3, "store", "showIcons", "term", "termSplitter", "settingsChange$", "map", "resultFocus", "resultSelect", "resultUnfocus", "resultMouseenter", "resultMouseleave", "moreResults"], ["igoSearchItemToolbar", ""], ["igoFlexibleFill", "", 1, "igo-content"], [3, "title", "cursorPointer", "click", 4, "ngIf"], [3, "map", "store", "stores", "layer", "saveSearchResultInLayer"], [3, "title", "cursorPointer", "click"], ["mat-icon-button", "", "panelLeftButton", "", 1, "igo-icon-button", 3, "click"], [3, "svgIcon"], ["mat-icon-button", "", "panelRightButton", "", "class", "igo-icon-button", "matTooltipShowDelay", "500", 3, "matTooltip", "click", 4, "ngIf"], ["igoFeatureDetailsDirective", "", 3, "feature", "map", "toolbox", "routingEvent"], ["mat-icon-button", "", "panelRightButton", "", "matTooltipShowDelay", "500", 1, "igo-icon-button", 3, "matTooltip", "click"], ["matBadgeColor", "accent", "matBadgeSize", "small", "svgIcon", "magnify-plus-outline", 3, "matBadge", "matBadgeHidden"]], template: function SearchResultsToolComponent_Template(rf, ctx) {
5386
5438
  if (rf & 1) {
5387
5439
  i0.ɵɵtemplate(0, SearchResultsToolComponent_div_0_Template, 13, 11, "div", 0);
5388
5440
  i0.ɵɵpipe(1, "async");
5389
- i0.ɵɵtemplate(2, SearchResultsToolComponent_igo_flexible_2_Template, 10, 11, "igo-flexible", 1);
5441
+ i0.ɵɵtemplate(2, SearchResultsToolComponent_igo_flexible_2_Template, 10, 12, "igo-flexible", 1);
5390
5442
  i0.ɵɵpipe(3, "async");
5391
5443
  }
5392
5444
  if (rf & 2) {
@@ -5394,7 +5446,7 @@ SearchResultsToolComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type:
5394
5446
  i0.ɵɵadvance(2);
5395
5447
  i0.ɵɵproperty("ngIf", i0.ɵɵpipeBind1(3, 4, ctx.debouncedEmpty$) === false);
5396
5448
  }
5397
- }, dependencies: [i6.NgIf, i7.MatIcon, i8$2.MatBadge, i5.MatTooltip, i10.MatButton, i1$1.FeatureDetailsComponent, i1$1.FeatureDetailsDirective, i1$1.SearchResultsComponent, i1$1.SearchResultAddButtonComponent, i4.FlexibleComponent, i4.PanelComponent, i6.AsyncPipe, i8.TranslatePipe, i4.SanitizeHtmlPipe], encapsulation: 2, changeDetection: 0 });
5449
+ }, dependencies: [i8.NgIf, i7.MatIcon, i8$3.MatBadge, i5.MatTooltip, i10.MatButton, i1$1.FeatureDetailsComponent, i1$1.FeatureDetailsDirective, i1$1.SearchResultsComponent, i1$1.SearchResultAddButtonComponent, i4.FlexibleComponent, i4.PanelComponent, i8.AsyncPipe, i12.TranslatePipe, i4.SanitizeHtmlPipe], encapsulation: 2, changeDetection: 0 });
5398
5450
  SearchResultsToolComponent = __decorate([
5399
5451
  ToolComponent({
5400
5452
  name: 'searchResults',
@@ -5405,7 +5457,7 @@ SearchResultsToolComponent = __decorate([
5405
5457
  (function () {
5406
5458
  (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(SearchResultsToolComponent, [{
5407
5459
  type: Component,
5408
- args: [{ selector: 'igo-search-results-tool', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div *ngIf=\"(!store || store.stateView.empty) && (debouncedEmpty$ | async)\" style=\"margin: 10px;\">\n <section class=\"mat-typography\">\n <h4><strong>{{ 'igo.integration.searchResultsTool.noResults' | translate }}</strong></h4>\n <p><strong>{{ 'igo.integration.searchResultsTool.doSearch' | translate }}</strong></p>\n <div [innerHTML]=\"'igo.integration.searchResultsTool.examples' | translate | sanitizeHtml\"></div>\n</section>\n</div>\n\n<igo-flexible\n *ngIf=\"(debouncedEmpty$ | async) === false\"\n #topPanel\n initial=\"100%\"\n initialMobile=\"100%\"\n collapsed=\"calc(100% - 58px)\"\n collapsedMobile=\"calc(100% - 58px)\"\n expanded=\"60%\"\n expandedMobile=\"60%\"\n [state]=\"(feature$ |\u00A0async) ? topPanelState : 'initial'\">\n\n <div class=\"igo-content\">\n <igo-search-results\n [store]=\"store\"\n [showIcons]=\"showIcons\"\n [term]=\"term\"\n [termSplitter]=\"termSplitter\"\n [settingsChange$]=\"settingsChange$\"\n placeholder=\"false\"\n (resultFocus)=\"onResultFocus($event)\"\n (resultSelect)=\"onResultSelect($event)\"\n (resultUnfocus)=\"onResultUnfocus($event)\"\n (resultMouseenter)=\"onResultFocus($event)\"\n (resultMouseleave)=\"onResultUnfocus($event)\"\n (moreResults)=\"onSearch($event)\">\n <ng-template #igoSearchItemToolbar let-result=\"result\">\n <igo-search-add-button\n [map]=\"map\"\n [layer]=\"result\">\n </igo-search-add-button>\n </ng-template>\n </igo-search-results>\n </div>\n\n <div igoFlexibleFill class=\"igo-content\">\n <igo-panel [title]=\"featureTitle\" *ngIf=\"feature$ |\u00A0async\" (click)=\"toggleTopPanel($event)\" [cursorPointer]=\"true\">\n\n <button\n mat-icon-button\n panelLeftButton\n class=\"igo-icon-button\"\n (click)=\"toggleTopPanel()\">\n <mat-icon [svgIcon]=\"(topPanelState$ | async) === 'collapsed' ? 'arrow-up' : 'arrow-down'\"></mat-icon>\n </button>\n\n <button\n *ngIf=\"feature.geometry\"\n mat-icon-button\n panelRightButton\n class=\"igo-icon-button\"\n [matTooltip]=\"((isSelectedResultOutOfView$ | async) ? 'igo.integration.searchResultsTool.zoomOnFeatureTooltipOutOfView' : 'igo.integration.searchResultsTool.zoomOnFeatureTooltip') | translate\"\n matTooltipShowDelay=\"500\"\n (click)=\"zoomToFeatureExtent()\">\n <mat-icon\n [matBadge]=\"(isSelectedResultOutOfView$ | async) ? '!' : ''\"\n matBadgeColor=\"accent\"\n matBadgeSize=\"small\"\n [matBadgeHidden]=\"(isSelectedResultOutOfView$ | async)===false\" \n svgIcon=\"magnify-plus-outline\"></mat-icon>\n </button>\n\n <igo-feature-details\n igoFeatureDetailsDirective\n [feature]=\"feature$ | async\"\n [map]=\"map\"\n [toolbox]=\"toolState.toolbox\"\n (routingEvent)=\"getRoute()\">\n </igo-feature-details>\n </igo-panel>\n </div>\n\n</igo-flexible>\n" }]
5460
+ args: [{ selector: 'igo-search-results-tool', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div *ngIf=\"(!store || store.stateView.empty) && (debouncedEmpty$ | async)\" style=\"margin: 10px;\">\r\n <section class=\"mat-typography\">\r\n <h4><strong>{{ 'igo.integration.searchResultsTool.noResults' | translate }}</strong></h4>\r\n <p><strong>{{ 'igo.integration.searchResultsTool.doSearch' | translate }}</strong></p>\r\n <div [innerHTML]=\"'igo.integration.searchResultsTool.examples' | translate | sanitizeHtml\"></div>\r\n</section>\r\n</div>\r\n\r\n<igo-flexible\r\n *ngIf=\"(debouncedEmpty$ | async) === false\"\r\n #topPanel\r\n initial=\"100%\"\r\n initialMobile=\"100%\"\r\n collapsed=\"calc(100% - 58px)\"\r\n collapsedMobile=\"calc(100% - 58px)\"\r\n expanded=\"60%\"\r\n expandedMobile=\"60%\"\r\n [state]=\"(feature$ |\u00A0async) ? topPanelState : 'initial'\">\r\n\r\n <div class=\"igo-content\">\r\n <igo-search-results\r\n [store]=\"store\"\r\n [showIcons]=\"showIcons\"\r\n [term]=\"term\"\r\n [termSplitter]=\"termSplitter\"\r\n [settingsChange$]=\"settingsChange$\"\r\n placeholder=\"false\"\r\n (resultFocus)=\"onResultFocus($event)\"\r\n (resultSelect)=\"onResultSelect($event)\"\r\n (resultUnfocus)=\"onResultUnfocus($event)\"\r\n (resultMouseenter)=\"onResultFocus($event)\"\r\n (resultMouseleave)=\"onResultUnfocus($event)\"\r\n (moreResults)=\"onSearch($event)\"\r\n [map]=\"map\">\r\n <ng-template #igoSearchItemToolbar let-result=\"result\">\r\n <igo-search-add-button\r\n [map]=\"map\"\r\n [store]=\"store\"\r\n [stores]=\"stores\"\r\n [layer]=\"result\"\r\n [saveSearchResultInLayer]=\"saveSearchResultInLayer\">\r\n </igo-search-add-button>\r\n </ng-template>\r\n </igo-search-results>\r\n </div>\r\n\r\n <div igoFlexibleFill class=\"igo-content\">\r\n <igo-panel [title]=\"featureTitle\" *ngIf=\"feature$ |\u00A0async\" (click)=\"toggleTopPanel($event)\" [cursorPointer]=\"true\">\r\n\r\n <button\r\n mat-icon-button\r\n panelLeftButton\r\n class=\"igo-icon-button\"\r\n (click)=\"toggleTopPanel()\">\r\n <mat-icon [svgIcon]=\"(topPanelState$ | async) === 'collapsed' ? 'arrow-up' : 'arrow-down'\"></mat-icon>\r\n </button>\r\n\r\n <button\r\n *ngIf=\"feature.geometry\"\r\n mat-icon-button\r\n panelRightButton\r\n class=\"igo-icon-button\"\r\n [matTooltip]=\"((isSelectedResultOutOfView$ | async) ? 'igo.integration.searchResultsTool.zoomOnFeatureTooltipOutOfView' : 'igo.integration.searchResultsTool.zoomOnFeatureTooltip') | translate\"\r\n matTooltipShowDelay=\"500\"\r\n (click)=\"zoomToFeatureExtent()\">\r\n <mat-icon\r\n [matBadge]=\"(isSelectedResultOutOfView$ | async) ? '!' : ''\"\r\n matBadgeColor=\"accent\"\r\n matBadgeSize=\"small\"\r\n [matBadgeHidden]=\"(isSelectedResultOutOfView$ | async)===false\" \r\n svgIcon=\"magnify-plus-outline\"></mat-icon>\r\n </button>\r\n\r\n <igo-feature-details\r\n igoFeatureDetailsDirective\r\n [feature]=\"feature$ | async\"\r\n [map]=\"map\"\r\n [toolbox]=\"toolState.toolbox\"\r\n (routingEvent)=\"getRoute()\">\r\n </igo-feature-details>\r\n </igo-panel>\r\n </div>\r\n\r\n</igo-flexible>\r\n" }]
5409
5461
  }], function () { return [{ type: MapState }, { type: SearchState }, { type: i0.ElementRef }, { type: ToolState }, { type: DirectionState }, { type: i2.ConfigService }]; }, { showIcons: [{
5410
5462
  type: Input
5411
5463
  }], topPanelStateDefault: [{
@@ -5516,7 +5568,7 @@ OgcFilterToolComponent = __decorate([
5516
5568
  (function () {
5517
5569
  (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(OgcFilterToolComponent, [{
5518
5570
  type: Component,
5519
- args: [{ selector: 'igo-ogc-filter-tool', template: "<igo-ogc-filterable-list igoOgcFilterableListBinding></igo-ogc-filterable-list>\n\n\n" }]
5571
+ args: [{ selector: 'igo-ogc-filter-tool', template: "<igo-ogc-filterable-list igoOgcFilterableListBinding></igo-ogc-filterable-list>\r\n\r\n\r\n" }]
5520
5572
  }], function () { return []; }, null);
5521
5573
  })();
5522
5574
 
@@ -5539,7 +5591,7 @@ TimeFilterToolComponent = __decorate([
5539
5591
  (function () {
5540
5592
  (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(TimeFilterToolComponent, [{
5541
5593
  type: Component,
5542
- args: [{ selector: 'igo-time-filter-tool', template: "<igo-time-filter-list igoTimeFilterListBinding></igo-time-filter-list>\n" }]
5594
+ args: [{ selector: 'igo-time-filter-tool', template: "<igo-time-filter-list igoTimeFilterListBinding></igo-time-filter-list>\r\n" }]
5543
5595
  }], function () { return []; }, null);
5544
5596
  })();
5545
5597
 
@@ -5755,14 +5807,14 @@ let SpatialFilterToolComponent = class SpatialFilterToolComponent {
5755
5807
  thematic.zeroResults = true;
5756
5808
  }
5757
5809
  if (features.length >= 10000) {
5758
- this.messageService.alert(this.languageService.translate.instant('igo.geo.spatialFilter.maxSizeAlert'), this.languageService.translate.instant('igo.geo.spatialFilter.warning'), { timeOut: 10000 });
5810
+ this.messageService.alert('igo.geo.spatialFilter.maxSizeAlert', 'igo.geo.spatialFilter.warning', { timeOut: 10000 });
5759
5811
  }
5760
5812
  })));
5761
5813
  });
5762
5814
  forkJoin(observables$).pipe(takeUntil(this.unsubscribe$)).subscribe(() => {
5763
5815
  this.loading = false;
5764
5816
  if (zeroResults) {
5765
- this.messageService.alert(this.languageService.translate.instant('igo.geo.spatialFilter.zeroResults'), this.languageService.translate.instant('igo.geo.spatialFilter.warning'), { timeOut: 10000 });
5817
+ this.messageService.alert('igo.geo.spatialFilter.zeroResults', 'igo.geo.spatialFilter.warning', { timeOut: 10000 });
5766
5818
  }
5767
5819
  });
5768
5820
  }
@@ -6045,7 +6097,7 @@ SpatialFilterToolComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type:
6045
6097
  i0.ɵɵadvance(2);
6046
6098
  i0.ɵɵproperty("ngIf", i0.ɵɵpipeBind1(5, 14, ctx.selectedFeature$));
6047
6099
  }
6048
- }, dependencies: [i1$1.SpatialFilterTypeComponent, i1$1.SpatialFilterItemComponent, i6.NgIf, i6.AsyncPipe], changeDetection: 0 });
6100
+ }, dependencies: [i1$1.SpatialFilterTypeComponent, i1$1.SpatialFilterItemComponent, i8.NgIf, i8.AsyncPipe], changeDetection: 0 });
6049
6101
  SpatialFilterToolComponent = __decorate([
6050
6102
  ToolComponent({
6051
6103
  name: 'spatialFilter',
@@ -6059,7 +6111,7 @@ SpatialFilterToolComponent = __decorate([
6059
6111
  (function () {
6060
6112
  (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(SpatialFilterToolComponent, [{
6061
6113
  type: Component,
6062
- args: [{ selector: 'igo-spatial-filter-tool', changeDetection: ChangeDetectionStrategy.OnPush, template: "<igo-panel>\n <igo-spatial-filter-type\n [store]=\"spatialListStore\"\n [selectedQueryType]=\"queryType\"\n [zone]=\"zone\"\n [layers]=\"activeLayers\"\n (eventType)=\"getOutputType($event)\"\n (eventQueryType)=\"getOutputQueryType($event)\"\n (zoneChange)=\"onZoneChange($event)\"\n (zoneWithBufferChange)=\"onZoneChange($event, true)\"\n (bufferChange)=\"buffer = $event\"\n (measureUnitChange)=\"measureUnit = $event\">\n </igo-spatial-filter-type>\n\n <igo-spatial-filter-item\n [type]=\"type\"\n [queryType]=\"queryType\"\n [map]=\"map\"\n [zone]=\"zone\"\n [loading]=\"loading\"\n [store]=\"store\"\n [layers]=\"activeLayers\"\n [allLayers]=\"layers\"\n [thematicLength]=\"thematicLength\"\n (radiusEvent)=\"buffer = $event\"\n (bufferEvent)=\"buffer = $event\"\n (measureUnitChange)=\"measureUnit = $event\"\n (freehandControl)=\"freehandDrawIsActive = $event\"\n (drawZoneEvent)=\"zone = $event\"\n (zoneWithBufferChange)=\"onZoneChange($event, true)\"\n (itemTypeChange)=\"itemType = $event\"\n (thematicChange)=\"thematics = $event\"\n (toggleSearch)=\"getOutputToggleSearch()\"\n (clearButtonEvent)=\"clearMap()\"\n (clearSearchEvent)=\"getOutputClearSearch()\"\n (export)=\"activateExportTool()\"\n (openWorkspace)=\"activateWorkspace()\"\n (entityChange)=\"activateWorkspace($event)\">\n </igo-spatial-filter-item>\n</igo-panel>\n\n<igo-panel>\n <ng-container *ngIf=\"selectedFeature$ | async as feature\">\n <igo-feature-details [feature]=\"feature\"></igo-feature-details>\n </ng-container>\n</igo-panel>" }]
6114
+ args: [{ selector: 'igo-spatial-filter-tool', changeDetection: ChangeDetectionStrategy.OnPush, template: "<igo-panel>\r\n <igo-spatial-filter-type\r\n [store]=\"spatialListStore\"\r\n [selectedQueryType]=\"queryType\"\r\n [zone]=\"zone\"\r\n [layers]=\"activeLayers\"\r\n (eventType)=\"getOutputType($event)\"\r\n (eventQueryType)=\"getOutputQueryType($event)\"\r\n (zoneChange)=\"onZoneChange($event)\"\r\n (zoneWithBufferChange)=\"onZoneChange($event, true)\"\r\n (bufferChange)=\"buffer = $event\"\r\n (measureUnitChange)=\"measureUnit = $event\">\r\n </igo-spatial-filter-type>\r\n\r\n <igo-spatial-filter-item\r\n [type]=\"type\"\r\n [queryType]=\"queryType\"\r\n [map]=\"map\"\r\n [zone]=\"zone\"\r\n [loading]=\"loading\"\r\n [store]=\"store\"\r\n [layers]=\"activeLayers\"\r\n [allLayers]=\"layers\"\r\n [thematicLength]=\"thematicLength\"\r\n (radiusEvent)=\"buffer = $event\"\r\n (bufferEvent)=\"buffer = $event\"\r\n (measureUnitChange)=\"measureUnit = $event\"\r\n (freehandControl)=\"freehandDrawIsActive = $event\"\r\n (drawZoneEvent)=\"zone = $event\"\r\n (zoneWithBufferChange)=\"onZoneChange($event, true)\"\r\n (itemTypeChange)=\"itemType = $event\"\r\n (thematicChange)=\"thematics = $event\"\r\n (toggleSearch)=\"getOutputToggleSearch()\"\r\n (clearButtonEvent)=\"clearMap()\"\r\n (clearSearchEvent)=\"getOutputClearSearch()\"\r\n (export)=\"activateExportTool()\"\r\n (openWorkspace)=\"activateWorkspace()\"\r\n (entityChange)=\"activateWorkspace($event)\">\r\n </igo-spatial-filter-item>\r\n</igo-panel>\r\n\r\n<igo-panel>\r\n <ng-container *ngIf=\"selectedFeature$ | async as feature\">\r\n <igo-feature-details [feature]=\"feature\"></igo-feature-details>\r\n </ng-container>\r\n</igo-panel>" }]
6063
6115
  }], function () { return [{ type: i7.MatIconRegistry }, { type: i1$1.SpatialFilterService }, { type: i1$1.DataSourceService }, { type: i1$1.LayerService }, { type: MapState }, { type: i2.MessageService }, { type: i2.LanguageService }, { type: ImportExportState }, { type: ToolState }, { type: WorkspaceState }, { type: i0.ChangeDetectorRef }]; }, { type: [{
6064
6116
  type: Input
6065
6117
  }], itemType: [{
@@ -6115,7 +6167,7 @@ ActiveTimeFilterToolComponent = __decorate([
6115
6167
  (function () {
6116
6168
  (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ActiveTimeFilterToolComponent, [{
6117
6169
  type: Component,
6118
- args: [{ selector: 'igo-active-time-filter-tool', animations: [toolSlideInOut$1()], template: "<igo-time-filter-item\n [map]=\"map\"\n [layer]=\"layer\"\n [header]=\"false\"\n [@toolSlideInOut]=\"animate\">\n</igo-time-filter-item>\n" }]
6170
+ args: [{ selector: 'igo-active-time-filter-tool', animations: [toolSlideInOut$1()], template: "<igo-time-filter-item\r\n [map]=\"map\"\r\n [layer]=\"layer\"\r\n [header]=\"false\"\r\n [@toolSlideInOut]=\"animate\">\r\n</igo-time-filter-item>\r\n" }]
6119
6171
  }], function () { return [{ type: MapState }]; }, null);
6120
6172
  })();
6121
6173
 
@@ -6165,7 +6217,7 @@ ActiveOgcFilterToolComponent = __decorate([
6165
6217
  (function () {
6166
6218
  (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ActiveOgcFilterToolComponent, [{
6167
6219
  type: Component,
6168
- args: [{ selector: 'igo-active-ogc-filter-tool', animations: [toolSlideInOut()], template: "<igo-ogc-filterable-item\n [map]=\"map\"\n [layer]=\"layer\"\n [header]=\"false\"\n [@toolSlideInOut]=\"animate\">\n</igo-ogc-filterable-item>\n\n\n" }]
6220
+ args: [{ selector: 'igo-active-ogc-filter-tool', animations: [toolSlideInOut()], template: "<igo-ogc-filterable-item\r\n [map]=\"map\"\r\n [layer]=\"layer\"\r\n [header]=\"false\"\r\n [@toolSlideInOut]=\"animate\">\r\n</igo-ogc-filterable-item>\r\n\r\n\r\n" }]
6169
6221
  }], function () { return [{ type: MapState }]; }, null);
6170
6222
  })();
6171
6223
 
@@ -6378,7 +6430,7 @@ AboutToolComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: AboutToo
6378
6430
  i0.ɵɵadvance(1);
6379
6431
  i0.ɵɵproperty("html", i0.ɵɵpipeBind2(9, 6, ctx.html, i0.ɵɵpureFunction1(9, _c0, ctx.version)));
6380
6432
  }
6381
- }, dependencies: [i4.CustomHtmlComponent, i10.MatButton, i5.MatTooltip, i7.MatIcon, i8$3.MatMenu, i8$3.MatMenuItem, i8$3.MatMenuTrigger, i4.InteractiveTourComponent, i6.NgForOf, i6.NgIf, i8.TranslatePipe], styles: ["igo-interactive-tour[_ngcontent-%COMP%]{margin-left:20px}.training-guide-button[_ngcontent-%COMP%]{margin-left:5px;background-color:#1976d2;color:#fff;padding:0 12px}"] });
6433
+ }, dependencies: [i4.CustomHtmlComponent, i10.MatButton, i5.MatTooltip, i7.MatIcon, i8$4.MatMenu, i8$4.MatMenuItem, i8$4.MatMenuTrigger, i4.InteractiveTourComponent, i8.NgForOf, i8.NgIf, i12.TranslatePipe], styles: ["igo-interactive-tour[_ngcontent-%COMP%]{margin-left:20px}.training-guide-button[_ngcontent-%COMP%]{margin-left:5px;background-color:#1976d2;color:#fff;padding:0 12px}"] });
6382
6434
  AboutToolComponent = __decorate([
6383
6435
  ToolComponent({
6384
6436
  name: 'about',
@@ -6389,7 +6441,7 @@ AboutToolComponent = __decorate([
6389
6441
  (function () {
6390
6442
  (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(AboutToolComponent, [{
6391
6443
  type: Component,
6392
- args: [{ selector: 'igo-about-tool', template: "<p></p>\n<igo-interactive-tour\n mat-raised-button\n tourToStart=\"global\"\n menuIsOpen=true\n styleButton=\"raised\"\n [discoverTitleInLocale$]=\"discoverTitleInLocale$\">\n</igo-interactive-tour>\n\n<button *ngIf=\"auth.authenticated && trainingGuideURLs && trainingGuideURLs.length === 1\"\n class=\"training-guide-button\"\n mat-raised-button\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [disabled]=\"loading\"\n [matTooltip]=\"'igo.integration.aboutTool.trainingGuideTooltip' | translate\"\n (click)=\"openGuide()\">\n <span>{{'igo.integration.aboutTool.trainingGuide' | translate}}</span>\n <mat-icon svgIcon=\"file-document\"></mat-icon>\n</button>\n\n<button *ngIf=\"auth.authenticated && trainingGuideURLs && trainingGuideURLs.length > 1\"\n class=\"training-guide-button\"\n mat-raised-button\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [disabled]=\"loading\"\n [matTooltip]=\"'igo.integration.aboutTool.trainingGuideTooltip' | translate\"\n [matMenuTriggerFor]=\"menu\">\n <span>{{'igo.integration.aboutTool.trainingGuide' | translate}}</span>\n <mat-icon svgIcon=\"file-document\"></mat-icon>\n</button>\n\n<mat-menu #menu=\"matMenu\">\n <button *ngFor=\"let guide of trainingGuideURLs\" mat-menu-item (click)=\"openGuide(guide)\">{{formatFileName(guide)}}</button>\n</mat-menu>\n\n<igo-custom-html *ngIf=\"headerHtml !== ''\" class=\"mat-typography\"\n [html]=\"headerHtml | translate\">\n</igo-custom-html>\n\n<igo-custom-html class=\"mat-typography\"\n [html]=\"html | translate: {version: version}\">\n</igo-custom-html>\n", styles: ["igo-interactive-tour{margin-left:20px}.training-guide-button{margin-left:5px;background-color:#1976d2;color:#fff;padding:0 12px}\n"] }]
6444
+ args: [{ selector: 'igo-about-tool', template: "<p></p>\r\n<igo-interactive-tour\r\n mat-raised-button\r\n tourToStart=\"global\"\r\n menuIsOpen=true\r\n styleButton=\"raised\"\r\n [discoverTitleInLocale$]=\"discoverTitleInLocale$\">\r\n</igo-interactive-tour>\r\n\r\n<button *ngIf=\"auth.authenticated && trainingGuideURLs && trainingGuideURLs.length === 1\"\r\n class=\"training-guide-button\"\r\n mat-raised-button\r\n tooltip-position=\"below\"\r\n matTooltipShowDelay=\"500\"\r\n [disabled]=\"loading\"\r\n [matTooltip]=\"'igo.integration.aboutTool.trainingGuideTooltip' | translate\"\r\n (click)=\"openGuide()\">\r\n <span>{{'igo.integration.aboutTool.trainingGuide' | translate}}</span>\r\n <mat-icon svgIcon=\"file-document\"></mat-icon>\r\n</button>\r\n\r\n<button *ngIf=\"auth.authenticated && trainingGuideURLs && trainingGuideURLs.length > 1\"\r\n class=\"training-guide-button\"\r\n mat-raised-button\r\n tooltip-position=\"below\"\r\n matTooltipShowDelay=\"500\"\r\n [disabled]=\"loading\"\r\n [matTooltip]=\"'igo.integration.aboutTool.trainingGuideTooltip' | translate\"\r\n [matMenuTriggerFor]=\"menu\">\r\n <span>{{'igo.integration.aboutTool.trainingGuide' | translate}}</span>\r\n <mat-icon svgIcon=\"file-document\"></mat-icon>\r\n</button>\r\n\r\n<mat-menu #menu=\"matMenu\">\r\n <button *ngFor=\"let guide of trainingGuideURLs\" mat-menu-item (click)=\"openGuide(guide)\">{{formatFileName(guide)}}</button>\r\n</mat-menu>\r\n\r\n<igo-custom-html *ngIf=\"headerHtml !== ''\" class=\"mat-typography\"\r\n [html]=\"headerHtml | translate\">\r\n</igo-custom-html>\r\n\r\n<igo-custom-html class=\"mat-typography\"\r\n [html]=\"html | translate: {version: version}\">\r\n</igo-custom-html>\r\n", styles: ["igo-interactive-tour{margin-left:20px}.training-guide-button{margin-left:5px;background-color:#1976d2;color:#fff;padding:0 12px}\n"] }]
6393
6445
  }], function () { return [{ type: i2.ConfigService }, { type: i2$1.AuthService }, { type: i3$1.HttpClient }, { type: i0.ChangeDetectorRef }, { type: i2.LanguageService }]; }, { headerHtml: [{
6394
6446
  type: Input
6395
6447
  }], html: [{
@@ -6549,18 +6601,20 @@ class AnalyticsListenerService {
6549
6601
  /**
6550
6602
  * Toolbox that holds main tools
6551
6603
  */
6552
- constructor(analyticsService, authService, contextState, searchState, toolState) {
6604
+ constructor(analyticsService, authService, contextState, searchState, toolState, mapState) {
6553
6605
  this.analyticsService = analyticsService;
6554
6606
  this.authService = authService;
6555
6607
  this.contextState = contextState;
6556
6608
  this.searchState = searchState;
6557
6609
  this.toolState = toolState;
6610
+ this.mapState = mapState;
6558
6611
  }
6559
6612
  listen() {
6560
6613
  this.listenUser();
6561
6614
  this.listenContext();
6562
6615
  this.listenTool();
6563
6616
  this.listenSearch();
6617
+ this.listenLayer();
6564
6618
  }
6565
6619
  listenUser() {
6566
6620
  this.authService.authenticate$.subscribe(() => {
@@ -6596,8 +6650,60 @@ class AnalyticsListenerService {
6596
6650
  }
6597
6651
  });
6598
6652
  }
6653
+ /**
6654
+ * Listener for adding layers to the map
6655
+ */
6656
+ listenLayer() {
6657
+ this.mapState.map.layersAddedByClick$.subscribe((layers) => {
6658
+ if (!layers) {
6659
+ return;
6660
+ }
6661
+ layers.map(layer => {
6662
+ let wmsParams;
6663
+ let wmtsParams;
6664
+ let xyzParams;
6665
+ let restParams;
6666
+ switch (layer.dataSource.options.type) {
6667
+ case 'wms':
6668
+ const wmsDataSource = layer.dataSource.options;
6669
+ const wmsLayerName = wmsDataSource.params.LAYERS;
6670
+ const wmsUrl = wmsDataSource.url;
6671
+ const wmsType = wmsDataSource.type;
6672
+ wmsParams = JSON.stringify({ layer: wmsLayerName, type: wmsType, url: wmsUrl });
6673
+ break;
6674
+ case 'wmts':
6675
+ const wmtsDataSource = layer.dataSource.options;
6676
+ const wmtsLayerName = wmtsDataSource.layer;
6677
+ const wmtsUrl = wmtsDataSource.url;
6678
+ const matrixSet = wmtsDataSource.matrixSet;
6679
+ const wmtsType = wmtsDataSource.type;
6680
+ wmtsParams = JSON.stringify({ layer: wmtsLayerName, type: wmtsType, url: wmtsUrl, matrixSet });
6681
+ break;
6682
+ case 'arcgisrest':
6683
+ case 'tilearcgisrest':
6684
+ case 'imagearcgisrest':
6685
+ const restDataSource = layer.options.sourceOptions;
6686
+ const restName = restDataSource.layer;
6687
+ const restUrl = restDataSource.url;
6688
+ const restType = restDataSource.type;
6689
+ restParams = JSON.stringify({ layer: restName, type: restType, url: restUrl });
6690
+ break;
6691
+ case 'xyz':
6692
+ /* const xyzDataSource = layer.dataSource.options as XYZDataSourceOptions;
6693
+ const xyzName: string = layer.title;
6694
+ const xyzUrl: string = xyzDataSource.url;
6695
+ const xyzType: string = layer.dataSource.options.type;
6696
+ xyzParams = JSON.stringify({layer: xyzName, type: xyzType, url: xyzUrl});
6697
+ */
6698
+ // todo
6699
+ break;
6700
+ }
6701
+ this.analyticsService.trackLayer('layer', 'addLayer', wmsParams || wmtsParams || xyzParams || restParams);
6702
+ });
6703
+ });
6704
+ }
6599
6705
  }
6600
- AnalyticsListenerService.ɵfac = function AnalyticsListenerService_Factory(t) { return new (t || AnalyticsListenerService)(i0.ɵɵinject(i2.AnalyticsService), i0.ɵɵinject(i2$1.AuthService), i0.ɵɵinject(ContextState), i0.ɵɵinject(SearchState), i0.ɵɵinject(ToolState)); };
6706
+ AnalyticsListenerService.ɵfac = function AnalyticsListenerService_Factory(t) { return new (t || AnalyticsListenerService)(i0.ɵɵinject(i2.AnalyticsService), i0.ɵɵinject(i2$1.AuthService), i0.ɵɵinject(ContextState), i0.ɵɵinject(SearchState), i0.ɵɵinject(ToolState), i0.ɵɵinject(MapState)); };
6601
6707
  AnalyticsListenerService.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: AnalyticsListenerService, factory: AnalyticsListenerService.ɵfac, providedIn: 'root' });
6602
6708
  (function () {
6603
6709
  (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(AnalyticsListenerService, [{
@@ -6605,7 +6711,7 @@ AnalyticsListenerService.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token:
6605
6711
  args: [{
6606
6712
  providedIn: 'root'
6607
6713
  }]
6608
- }], function () { return [{ type: i2.AnalyticsService }, { type: i2$1.AuthService }, { type: ContextState }, { type: SearchState }, { type: ToolState }]; }, null);
6714
+ }], function () { return [{ type: i2.AnalyticsService }, { type: i2$1.AuthService }, { type: ContextState }, { type: SearchState }, { type: ToolState }, { type: MapState }]; }, null);
6609
6715
  })();
6610
6716
 
6611
6717
  /**