@igo2/integration 1.14.2 → 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 (86) 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 -2
  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 +20 -20
  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 +317 -216
  73. package/fesm2015/igo2-integration.mjs.map +1 -1
  74. package/fesm2020/igo2-integration.mjs +314 -216
  75. package/fesm2020/igo2-integration.mjs.map +1 -1
  76. package/lib/analytics/analytics-listener.service.d.ts +7 -1
  77. package/lib/draw/draw.state.d.ts +0 -1
  78. package/lib/import-export/import-export-tool/import-export-tool.component.d.ts +3 -1
  79. package/lib/import-export/import-export.module.d.ts +1 -1
  80. package/lib/map/map-proximity.state.d.ts +4 -1
  81. package/lib/map/map-tools/map-tools.component.d.ts +1 -0
  82. package/lib/map/map.module.d.ts +1 -1
  83. package/lib/search/search-results-tool/search-results-tool.component.d.ts +4 -5
  84. package/lib/search/search.state.d.ts +8 -2
  85. package/ngcc.config.js +3 -3
  86. package/package.json +8 -5
@@ -7,30 +7,30 @@ 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
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';
17
- import * as i8$1 from '@angular/material/icon';
17
+ import * as i7 from '@angular/material/icon';
18
18
  import { MatIconModule } from '@angular/material/icon';
19
- import * as i11 from '@angular/material/button';
19
+ 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$2 from '@ngx-translate/core';
24
- import * as i7 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
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
31
  import * as i8$4 from '@angular/material/menu';
32
32
  import { MatMenuModule } from '@angular/material/menu';
33
- import * as i8$3 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';
@@ -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 i9$1 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: [{
@@ -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
 
@@ -991,7 +988,6 @@ IgoAppDirectionsModule.ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ imports: [I
991
988
  class DrawState {
992
989
  constructor(mapState) {
993
990
  this.mapState = mapState;
994
- this.searchLayerStores = [];
995
991
  this.stores = [];
996
992
  this.layersID = [];
997
993
  this.drawControls = [];
@@ -1088,7 +1084,7 @@ DrawingToolComponent = __decorate([
1088
1084
  (function () {
1089
1085
  (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(DrawingToolComponent, [{
1090
1086
  type: Component,
1091
- 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" }]
1092
1088
  }], function () { return [{ type: DrawState }, { type: MapState }]; }, null);
1093
1089
  })();
1094
1090
 
@@ -1813,11 +1809,11 @@ WorkspaceButtonComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: Wo
1813
1809
  if (rf & 2) {
1814
1810
  i0.ɵɵproperty("ngIf", i0.ɵɵpipeBind1(1, 1, ctx.hasWorkspace$));
1815
1811
  }
1816
- }, dependencies: [i8.NgIf, i8$1.MatIcon, i11.MatButton, i5.MatTooltip, i8.AsyncPipe, i8$2.TranslatePipe], changeDetection: 0 });
1812
+ }, dependencies: [i8.NgIf, i7.MatIcon, i10.MatButton, i5.MatTooltip, i8.AsyncPipe, i12.TranslatePipe], changeDetection: 0 });
1817
1813
  (function () {
1818
1814
  (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(WorkspaceButtonComponent, [{
1819
1815
  type: Component,
1820
- 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" }]
1821
1817
  }], function () { return [{ type: WorkspaceState }]; }, { layer: [{
1822
1818
  type: Input
1823
1819
  }], color: [{
@@ -1866,20 +1862,21 @@ function ImportExportToolComponent_mat_tab_group_0_Template(rf, ctx) {
1866
1862
  i0.ɵɵelementStart(3, "igo-import-export", 4);
1867
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)); });
1868
1864
  i0.ɵɵpipe(4, "async");
1865
+ i0.ɵɵpipe(5, "async");
1869
1866
  i0.ɵɵelementEnd()();
1870
- i0.ɵɵelementStart(5, "mat-tab", 3);
1871
- i0.ɵɵpipe(6, "translate");
1872
- 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);
1873
1870
  i0.ɵɵelementEnd()();
1874
1871
  }
1875
1872
  if (rf & 2) {
1876
1873
  const ctx_r0 = i0.ɵɵnextContext();
1877
1874
  i0.ɵɵadvance(1);
1878
- i0.ɵɵproperty("label", i0.ɵɵpipeBind1(2, 9, "igo.integration.importExportTool.importExportData"));
1875
+ i0.ɵɵproperty("label", i0.ɵɵpipeBind1(2, 10, "igo.integration.importExportTool.importExportData"));
1879
1876
  i0.ɵɵadvance(2);
1880
- 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$);
1881
- i0.ɵɵadvance(2);
1882
- 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"));
1883
1880
  i0.ɵɵadvance(2);
1884
1881
  i0.ɵɵproperty("map", ctx_r0.map);
1885
1882
  }
@@ -1890,11 +1887,12 @@ function ImportExportToolComponent_igo_import_export_1_Template(rf, ctx) {
1890
1887
  i0.ɵɵelementStart(0, "igo-import-export", 6);
1891
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)); });
1892
1889
  i0.ɵɵpipe(1, "async");
1890
+ i0.ɵɵpipe(2, "async");
1893
1891
  i0.ɵɵelementEnd();
1894
1892
  }
1895
1893
  if (rf & 2) {
1896
1894
  const ctx_r1 = i0.ɵɵnextContext();
1897
- 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$);
1898
1896
  }
1899
1897
  }
1900
1898
  function ImportExportToolComponent_igo_context_import_export_2_Template(rf, ctx) {
@@ -1907,10 +1905,11 @@ function ImportExportToolComponent_igo_context_import_export_2_Template(rf, ctx)
1907
1905
  }
1908
1906
  }
1909
1907
  let ImportExportToolComponent = class ImportExportToolComponent {
1910
- constructor(mapState, importExportState, workspaceState) {
1908
+ constructor(mapState, importExportState, workspaceState, contextState) {
1911
1909
  this.mapState = mapState;
1912
1910
  this.importExportState = importExportState;
1913
1911
  this.workspaceState = workspaceState;
1912
+ this.contextState = contextState;
1914
1913
  this.selectFirstProj = false;
1915
1914
  this.importExportType = ImportExportType.layer;
1916
1915
  this.importExportShowBothType = true;
@@ -1958,11 +1957,11 @@ let ImportExportToolComponent = class ImportExportToolComponent {
1958
1957
  this.importExportType = event.value;
1959
1958
  }
1960
1959
  };
1961
- ImportExportToolComponent.ɵfac = function ImportExportToolComponent_Factory(t) { return new (t || ImportExportToolComponent)(i0.ɵɵdirectiveInject(MapState), i0.ɵɵdirectiveInject(ImportExportState), i0.ɵɵdirectiveInject(WorkspaceState)); };
1962
- 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) {
1963
1962
  if (rf & 1) {
1964
- i0.ɵɵtemplate(0, ImportExportToolComponent_mat_tab_group_0_Template, 8, 15, "mat-tab-group", 0);
1965
- 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);
1966
1965
  i0.ɵɵtemplate(2, ImportExportToolComponent_igo_context_import_export_2_Template, 1, 1, "igo-context-import-export", 2);
1967
1966
  }
1968
1967
  if (rf & 2) {
@@ -1972,7 +1971,7 @@ ImportExportToolComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: I
1972
1971
  i0.ɵɵadvance(1);
1973
1972
  i0.ɵɵproperty("ngIf", !ctx.importExportShowBothType && ctx.importExportType === "context");
1974
1973
  }
1975
- }, dependencies: [i1$1.ImportExportComponent, i1.ContextImportExportComponent, i8.NgIf, i7.MatTabGroup, i7.MatTab, i8.AsyncPipe, i8$2.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 });
1976
1975
  ImportExportToolComponent = __decorate([
1977
1976
  ToolComponent({
1978
1977
  name: 'importExport',
@@ -1983,8 +1982,8 @@ ImportExportToolComponent = __decorate([
1983
1982
  (function () {
1984
1983
  (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ImportExportToolComponent, [{
1985
1984
  type: Component,
1986
- 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"] }]
1987
- }], 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: [{
1988
1987
  type: Input
1989
1988
  }], selectFirstProj: [{
1990
1989
  type: Input
@@ -2010,7 +2009,8 @@ IgoAppImportExportModule.ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ imports:
2010
2009
  CommonModule,
2011
2010
  IgoLanguageModule,
2012
2011
  MatButtonToggleModule,
2013
- MatTabsModule] });
2012
+ MatTabsModule,
2013
+ IgoStyleModule] });
2014
2014
  (function () {
2015
2015
  (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(IgoAppImportExportModule, [{
2016
2016
  type: NgModule,
@@ -2021,7 +2021,8 @@ IgoAppImportExportModule.ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ imports:
2021
2021
  CommonModule,
2022
2022
  IgoLanguageModule,
2023
2023
  MatButtonToggleModule,
2024
- MatTabsModule
2024
+ MatTabsModule,
2025
+ IgoStyleModule
2025
2026
  ],
2026
2027
  declarations: [ImportExportToolComponent],
2027
2028
  exports: [ImportExportToolComponent],
@@ -2035,7 +2036,8 @@ IgoAppImportExportModule.ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ imports:
2035
2036
  CommonModule,
2036
2037
  IgoLanguageModule,
2037
2038
  MatButtonToggleModule,
2038
- MatTabsModule], exports: [ImportExportToolComponent] });
2039
+ MatTabsModule,
2040
+ IgoStyleModule], exports: [ImportExportToolComponent] });
2039
2041
  })();
2040
2042
 
2041
2043
  function MapDetailsToolComponent_igo_layer_list_0_ng_template_1_Template(rf, ctx) {
@@ -2275,7 +2277,7 @@ MapDetailsToolComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: Map
2275
2277
  const _r1 = i0.ɵɵreference(3);
2276
2278
  i0.ɵɵproperty("ngIf", i0.ɵɵpipeBind1(1, 2, ctx.layers$).length)("ngIfElse", _r1);
2277
2279
  }
2278
- }, dependencies: [i8.NgIf, i6.MatList, i6.MatListItem, i8$3.MatLine, i6.MatListIconCssMatStyler, i8$1.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, i8$2.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}"] });
2279
2281
  MapDetailsToolComponent = __decorate([
2280
2282
  ToolComponent({
2281
2283
  name: 'mapDetails',
@@ -2286,7 +2288,7 @@ MapDetailsToolComponent = __decorate([
2286
2288
  (function () {
2287
2289
  (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(MapDetailsToolComponent, [{
2288
2290
  type: Component,
2289
- 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"] }]
2290
2292
  }], function () { return [{ type: MapState }, { type: ToolState }, { type: i1$1.SearchSourceService }, { type: i0.ChangeDetectorRef }, { type: ImportExportState }]; }, { toggleLegendOnVisibilityChange: [{
2291
2293
  type: Input
2292
2294
  }], expandLegendOfVisibleLayers: [{
@@ -2401,7 +2403,7 @@ MapToolComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: MapToolCom
2401
2403
  i0.ɵɵadvance(3);
2402
2404
  i0.ɵɵproperty("label", i0.ɵɵpipeBind1(7, 12, "igo.integration.tools.contexts"));
2403
2405
  }
2404
- }, dependencies: [i7.MatTabGroup, i7.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$2.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 });
2405
2407
  MapToolComponent = __decorate([
2406
2408
  ToolComponent({
2407
2409
  name: 'map',
@@ -2412,7 +2414,7 @@ MapToolComponent = __decorate([
2412
2414
  (function () {
2413
2415
  (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(MapToolComponent, [{
2414
2416
  type: Component,
2415
- 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"] }]
2416
2418
  }], function () { return [{ type: MapState }, { type: ToolState }, { type: ImportExportState }]; }, { toggleLegendOnVisibilityChange: [{
2417
2419
  type: Input
2418
2420
  }], expandLegendOfVisibleLayers: [{
@@ -2431,37 +2433,46 @@ MapToolComponent = __decorate([
2431
2433
  })();
2432
2434
 
2433
2435
  const _c0$2 = ["tabGroup"];
2434
- 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) {
2435
2437
  if (rf & 1) {
2436
- const _r14 = i0.ɵɵgetCurrentView();
2437
- i0.ɵɵelementStart(0, "igo-time-filter-button", 14);
2438
- 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()); });
2439
- i0.ɵɵelementEnd();
2438
+ i0.ɵɵelement(0, "igo-style-modal-layer-button", 11);
2440
2439
  }
2441
2440
  if (rf & 2) {
2442
2441
  const layer_r9 = i0.ɵɵnextContext().layer;
2443
- const ctx_r10 = i0.ɵɵnextContext(2);
2444
- i0.ɵɵproperty("header", ctx_r10.timeButton)("layer", layer_r9);
2442
+ i0.ɵɵproperty("layer", layer_r9);
2445
2443
  }
2446
2444
  }
2447
- 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) {
2448
2446
  if (rf & 1) {
2449
- const _r17 = i0.ɵɵgetCurrentView();
2450
- i0.ɵɵelementStart(0, "igo-ogc-filter-button", 14);
2451
- 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()); });
2452
2450
  i0.ɵɵelementEnd();
2453
2451
  }
2454
2452
  if (rf & 2) {
2455
2453
  const layer_r9 = i0.ɵɵnextContext().layer;
2456
2454
  const ctx_r11 = i0.ɵɵnextContext(2);
2457
- i0.ɵɵproperty("header", ctx_r11.ogcButton)("layer", layer_r9);
2455
+ i0.ɵɵproperty("header", ctx_r11.timeButton)("layer", layer_r9);
2458
2456
  }
2459
2457
  }
2460
- function MapToolsComponent_igo_layer_list_5_ng_template_1_igo_export_button_4_Template(rf, ctx) {
2458
+ function MapToolsComponent_igo_layer_list_5_ng_template_1_igo_ogc_filter_button_4_Template(rf, ctx) {
2461
2459
  if (rf & 1) {
2462
- const _r21 = i0.ɵɵgetCurrentView();
2463
- i0.ɵɵelementStart(0, "igo-export-button", 15);
2464
- 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)); });
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);
2469
+ }
2470
+ }
2471
+ function MapToolsComponent_igo_layer_list_5_ng_template_1_igo_export_button_5_Template(rf, ctx) {
2472
+ if (rf & 1) {
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)); });
2465
2476
  i0.ɵɵelementEnd();
2466
2477
  }
2467
2478
  if (rf & 2) {
@@ -2471,15 +2482,18 @@ function MapToolsComponent_igo_layer_list_5_ng_template_1_igo_export_button_4_Te
2471
2482
  }
2472
2483
  function MapToolsComponent_igo_layer_list_5_ng_template_1_Template(rf, ctx) {
2473
2484
  if (rf & 1) {
2474
- i0.ɵɵelement(0, "igo-metadata-button", 10)(1, "igo-track-feature-button", 11);
2475
- i0.ɵɵtemplate(2, MapToolsComponent_igo_layer_list_5_ng_template_1_igo_time_filter_button_2_Template, 1, 2, "igo-time-filter-button", 12);
2476
- i0.ɵɵtemplate(3, MapToolsComponent_igo_layer_list_5_ng_template_1_igo_ogc_filter_button_3_Template, 1, 2, "igo-ogc-filter-button", 12);
2477
- i0.ɵɵtemplate(4, MapToolsComponent_igo_layer_list_5_ng_template_1_igo_export_button_4_Template, 1, 1, "igo-export-button", 13);
2478
- 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);
2479
2491
  }
2480
2492
  if (rf & 2) {
2481
2493
  const layer_r9 = ctx.layer;
2482
2494
  const ctx_r8 = i0.ɵɵnextContext(2);
2495
+ i0.ɵɵproperty("ngIf", ctx_r8.isStyleEditButton(layer_r9));
2496
+ i0.ɵɵadvance(1);
2483
2497
  i0.ɵɵproperty("layer", layer_r9);
2484
2498
  i0.ɵɵadvance(1);
2485
2499
  i0.ɵɵproperty("trackFeature", true)("layer", layer_r9);
@@ -2495,10 +2509,10 @@ function MapToolsComponent_igo_layer_list_5_ng_template_1_Template(rf, ctx) {
2495
2509
  }
2496
2510
  function MapToolsComponent_igo_layer_list_5_Template(rf, ctx) {
2497
2511
  if (rf & 1) {
2498
- const _r24 = i0.ɵɵgetCurrentView();
2512
+ const _r26 = i0.ɵɵgetCurrentView();
2499
2513
  i0.ɵɵelementStart(0, "igo-layer-list", 8);
2500
- 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)); });
2501
- 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);
2502
2516
  i0.ɵɵelementEnd();
2503
2517
  }
2504
2518
  if (rf & 2) {
@@ -2508,9 +2522,9 @@ function MapToolsComponent_igo_layer_list_5_Template(rf, ctx) {
2508
2522
  }
2509
2523
  function MapToolsComponent_igo_layer_legend_list_9_Template(rf, ctx) {
2510
2524
  if (rf & 1) {
2511
- const _r26 = i0.ɵɵgetCurrentView();
2512
- i0.ɵɵelementStart(0, "igo-layer-legend-list", 16);
2513
- 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)); });
2514
2528
  i0.ɵɵpipe(1, "async");
2515
2529
  i0.ɵɵelementEnd();
2516
2530
  }
@@ -2527,7 +2541,7 @@ function MapToolsComponent_10_Template(rf, ctx) {
2527
2541
  }
2528
2542
  function MapToolsComponent_p_12_Template(rf, ctx) {
2529
2543
  if (rf & 1) {
2530
- i0.ɵɵelementStart(0, "p", 17);
2544
+ i0.ɵɵelementStart(0, "p", 18);
2531
2545
  i0.ɵɵtext(1);
2532
2546
  i0.ɵɵpipe(2, "async");
2533
2547
  i0.ɵɵpipe(3, "translate");
@@ -2542,7 +2556,7 @@ function MapToolsComponent_p_12_Template(rf, ctx) {
2542
2556
  }
2543
2557
  function MapToolsComponent_ng_template_15_mat_list_0_p_4_Template(rf, ctx) {
2544
2558
  if (rf & 1) {
2545
- i0.ɵɵelementStart(0, "p", 17);
2559
+ i0.ɵɵelementStart(0, "p", 18);
2546
2560
  i0.ɵɵtext(1);
2547
2561
  i0.ɵɵpipe(2, "translate");
2548
2562
  i0.ɵɵelementEnd();
@@ -2554,15 +2568,15 @@ function MapToolsComponent_ng_template_15_mat_list_0_p_4_Template(rf, ctx) {
2554
2568
  }
2555
2569
  function MapToolsComponent_ng_template_15_mat_list_0_mat_list_item_5_Template(rf, ctx) {
2556
2570
  if (rf & 1) {
2557
- const _r34 = i0.ɵɵgetCurrentView();
2558
- 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);
2559
2573
  i0.ɵɵnamespaceSVG();
2560
- i0.ɵɵelementStart(2, "svg", 20);
2561
- i0.ɵɵelement(3, "path", 21);
2574
+ i0.ɵɵelementStart(2, "svg", 21);
2575
+ i0.ɵɵelement(3, "path", 22);
2562
2576
  i0.ɵɵelementEnd()();
2563
2577
  i0.ɵɵnamespaceHTML();
2564
- i0.ɵɵelementStart(4, "h4", 22);
2565
- 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()); });
2566
2580
  i0.ɵɵtext(5);
2567
2581
  i0.ɵɵpipe(6, "translate");
2568
2582
  i0.ɵɵelementEnd()();
@@ -2574,15 +2588,15 @@ function MapToolsComponent_ng_template_15_mat_list_0_mat_list_item_5_Template(rf
2574
2588
  }
2575
2589
  function MapToolsComponent_ng_template_15_mat_list_0_mat_list_item_6_Template(rf, ctx) {
2576
2590
  if (rf & 1) {
2577
- const _r36 = i0.ɵɵgetCurrentView();
2578
- 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);
2579
2593
  i0.ɵɵnamespaceSVG();
2580
- i0.ɵɵelementStart(2, "svg", 20);
2581
- i0.ɵɵelement(3, "path", 23);
2594
+ i0.ɵɵelementStart(2, "svg", 21);
2595
+ i0.ɵɵelement(3, "path", 24);
2582
2596
  i0.ɵɵelementEnd()();
2583
2597
  i0.ɵɵnamespaceHTML();
2584
- i0.ɵɵelementStart(4, "h4", 24);
2585
- 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()); });
2586
2600
  i0.ɵɵtext(5);
2587
2601
  i0.ɵɵpipe(6, "translate");
2588
2602
  i0.ɵɵelementEnd()();
@@ -2594,15 +2608,15 @@ function MapToolsComponent_ng_template_15_mat_list_0_mat_list_item_6_Template(rf
2594
2608
  }
2595
2609
  function MapToolsComponent_ng_template_15_mat_list_0_mat_list_item_7_Template(rf, ctx) {
2596
2610
  if (rf & 1) {
2597
- const _r38 = i0.ɵɵgetCurrentView();
2598
- 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);
2599
2613
  i0.ɵɵnamespaceSVG();
2600
- i0.ɵɵelementStart(2, "svg", 20);
2601
- i0.ɵɵelement(3, "path", 25);
2614
+ i0.ɵɵelementStart(2, "svg", 21);
2615
+ i0.ɵɵelement(3, "path", 26);
2602
2616
  i0.ɵɵelementEnd()();
2603
2617
  i0.ɵɵnamespaceHTML();
2604
- i0.ɵɵelementStart(4, "h4", 26);
2605
- 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()); });
2606
2620
  i0.ɵɵtext(5);
2607
2621
  i0.ɵɵpipe(6, "translate");
2608
2622
  i0.ɵɵelementEnd()();
@@ -2614,33 +2628,33 @@ function MapToolsComponent_ng_template_15_mat_list_0_mat_list_item_7_Template(rf
2614
2628
  }
2615
2629
  function MapToolsComponent_ng_template_15_mat_list_0_Template(rf, ctx) {
2616
2630
  if (rf & 1) {
2617
- i0.ɵɵelementStart(0, "mat-list")(1, "p", 17);
2631
+ i0.ɵɵelementStart(0, "mat-list")(1, "p", 18);
2618
2632
  i0.ɵɵtext(2);
2619
2633
  i0.ɵɵpipe(3, "translate");
2620
2634
  i0.ɵɵelementEnd();
2621
2635
  i0.ɵɵtemplate(4, MapToolsComponent_ng_template_15_mat_list_0_p_4_Template, 3, 3, "p", 6);
2622
- i0.ɵɵtemplate(5, MapToolsComponent_ng_template_15_mat_list_0_mat_list_item_5_Template, 7, 3, "mat-list-item", 18);
2623
- i0.ɵɵtemplate(6, MapToolsComponent_ng_template_15_mat_list_0_mat_list_item_6_Template, 7, 3, "mat-list-item", 18);
2624
- 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);
2625
2639
  i0.ɵɵelementEnd();
2626
2640
  }
2627
2641
  if (rf & 2) {
2628
- const ctx_r28 = i0.ɵɵnextContext(2);
2642
+ const ctx_r30 = i0.ɵɵnextContext(2);
2629
2643
  i0.ɵɵadvance(2);
2630
2644
  i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(3, 5, "igo.integration.mapTool.empty"), "");
2631
2645
  i0.ɵɵadvance(2);
2632
- 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));
2633
2647
  i0.ɵɵadvance(1);
2634
- i0.ɵɵproperty("ngIf", ctx_r28.layerAdditionAllowed && ctx_r28.searchToolInToolbar);
2648
+ i0.ɵɵproperty("ngIf", ctx_r30.layerAdditionAllowed && ctx_r30.searchToolInToolbar);
2635
2649
  i0.ɵɵadvance(1);
2636
- i0.ɵɵproperty("ngIf", ctx_r28.layerAdditionAllowed && ctx_r28.catalogToolInToolbar);
2650
+ i0.ɵɵproperty("ngIf", ctx_r30.layerAdditionAllowed && ctx_r30.catalogToolInToolbar);
2637
2651
  i0.ɵɵadvance(1);
2638
- i0.ɵɵproperty("ngIf", ctx_r28.layerAdditionAllowed && ctx_r28.contextToolInToolbar);
2652
+ i0.ɵɵproperty("ngIf", ctx_r30.layerAdditionAllowed && ctx_r30.contextToolInToolbar);
2639
2653
  }
2640
2654
  }
2641
2655
  function MapToolsComponent_ng_template_15_Template(rf, ctx) {
2642
2656
  if (rf & 1) {
2643
- 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);
2644
2658
  }
2645
2659
  if (rf & 2) {
2646
2660
  const ctx_r6 = i0.ɵɵnextContext();
@@ -2850,6 +2864,14 @@ let MapToolsComponent = class MapToolsComponent {
2850
2864
  }
2851
2865
  return false;
2852
2866
  }
2867
+ isStyleEditButton(layer) {
2868
+ if (layer instanceof VectorLayer) {
2869
+ if (layer.options.igoStyle.editable) {
2870
+ return true;
2871
+ }
2872
+ }
2873
+ return false;
2874
+ }
2853
2875
  };
2854
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)); };
2855
2877
  MapToolsComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: MapToolsComponent, selectors: [["igo-map-tools"]], viewQuery: function MapToolsComponent_Query(rf, ctx) {
@@ -2860,7 +2882,7 @@ MapToolsComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: MapToolsC
2860
2882
  let _t;
2861
2883
  i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.tabGroup = _t.first);
2862
2884
  }
2863
- }, 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) {
2864
2886
  if (rf & 1) {
2865
2887
  i0.ɵɵelementStart(0, "mat-tab-group", 0, 1);
2866
2888
  i0.ɵɵlistener("selectedTabChange", function MapToolsComponent_Template_mat_tab_group_selectedTabChange_0_listener($event) { return ctx.tabChanged($event); });
@@ -2898,7 +2920,7 @@ MapToolsComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: MapToolsC
2898
2920
  i0.ɵɵadvance(2);
2899
2921
  i0.ɵɵproperty("ngIf", !ctx.allowShowAllLegends && i0.ɵɵpipeBind1(13, 19, ctx.layers$).length !== 0 && i0.ɵɵpipeBind1(14, 21, ctx.visibleOrInRangeLayers$).length === 0);
2900
2922
  }
2901
- }, dependencies: [i8.NgIf, i7.MatTabGroup, i7.MatTab, i6.MatList, i6.MatListItem, i8$3.MatLine, i6.MatListIconCssMatStyler, i8$1.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, i8.AsyncPipe, i8$2.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 });
2902
2924
  MapToolsComponent = __decorate([
2903
2925
  ToolComponent({
2904
2926
  name: 'mapTools',
@@ -2909,7 +2931,7 @@ MapToolsComponent = __decorate([
2909
2931
  (function () {
2910
2932
  (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(MapToolsComponent, [{
2911
2933
  type: Component,
2912
- 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"] }]
2913
2935
  }], function () { return [{ type: LayerListToolState }, { type: ToolState }, { type: MapState }, { type: i1$1.SearchSourceService }, { type: ImportExportState }]; }, { allowShowAllLegends: [{
2914
2936
  type: Input
2915
2937
  }], showAllLegendsValue: [{
@@ -3203,7 +3225,7 @@ MapLegendToolComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: MapL
3203
3225
  i0.ɵɵadvance(2);
3204
3226
  i0.ɵɵproperty("ngIf", !ctx.allowShowAllLegends && i0.ɵɵpipeBind1(4, 6, ctx.layers$).length !== 0 && i0.ɵɵpipeBind1(5, 8, ctx.visibleOrInRangeLayers$).length === 0);
3205
3227
  }
3206
- }, dependencies: [i8.NgIf, i6.MatList, i6.MatListItem, i8$3.MatLine, i6.MatListIconCssMatStyler, i8$1.MatIcon, i1$1.LayerLegendListComponent, i1$1.LayerLegendListBindingDirective, i8.AsyncPipe, i8$2.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}"] });
3207
3229
  MapLegendToolComponent = __decorate([
3208
3230
  ToolComponent({
3209
3231
  name: 'mapLegend',
@@ -3214,7 +3236,7 @@ MapLegendToolComponent = __decorate([
3214
3236
  (function () {
3215
3237
  (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(MapLegendToolComponent, [{
3216
3238
  type: Component,
3217
- 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"] }]
3218
3240
  }], function () { return [{ type: MapState }, { type: ToolState }, { type: i1$1.SearchSourceService }, { type: i0.ChangeDetectorRef }]; }, { updateLegendOnResolutionChange: [{
3219
3241
  type: Input
3220
3242
  }], layerAdditionAllowed: [{
@@ -3436,18 +3458,18 @@ AdvancedSwipeComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: Adva
3436
3458
  const _r1 = i0.ɵɵreference(2);
3437
3459
  i0.ɵɵproperty("ngIf", ctx.userControlledLayerList.length)("ngIfElse", _r1);
3438
3460
  }
3439
- }, dependencies: [i3.ɵNgNoValidate, i3.NgControlStatus, i3.NgControlStatusGroup, i3.FormGroupDirective, i3.FormControlName, i5$1.MatDivider, i6$1.MatFormField, i6$1.MatLabel, i7$1.MatSelect, i8$3.MatOption, i8.NgForOf, i8.NgIf, i6.MatList, i6.MatListItem, i8$3.MatLine, i6.MatListIconCssMatStyler, i8$1.MatIcon, i12.MatSlideToggle, i8$2.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}"] });
3440
3462
  (function () {
3441
3463
  (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(AdvancedSwipeComponent, [{
3442
3464
  type: Component,
3443
- 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"] }]
3444
3466
  }], function () { return [{ type: MapState }, { type: i1.ContextService }, { type: i3.UntypedFormBuilder }, { type: ToolState }]; }, null);
3445
3467
  })();
3446
3468
 
3447
- function AdvancedCoordinatesComponent_mat_form_field_0_Template(rf, ctx) {
3469
+ function AdvancedCoordinatesComponent_mat_form_field_2_Template(rf, ctx) {
3448
3470
  if (rf & 1) {
3449
- i0.ɵɵelementStart(0, "mat-form-field", 12);
3450
- i0.ɵɵelement(1, "textarea", 13, 14);
3471
+ i0.ɵɵelementStart(0, "mat-form-field", 14);
3472
+ i0.ɵɵelement(1, "textarea", 15, 16);
3451
3473
  i0.ɵɵpipe(3, "translate");
3452
3474
  i0.ɵɵelementEnd();
3453
3475
  }
@@ -3457,10 +3479,10 @@ function AdvancedCoordinatesComponent_mat_form_field_0_Template(rf, ctx) {
3457
3479
  i0.ɵɵproperty("placeholder", i0.ɵɵpipeBind1(3, 2, "igo.integration.advanced-map-tool.advanced-coordinates.lon"))("value", ctx_r0.coordinates[0]);
3458
3480
  }
3459
3481
  }
3460
- function AdvancedCoordinatesComponent_ng_template_1_Template(rf, ctx) {
3482
+ function AdvancedCoordinatesComponent_ng_template_3_Template(rf, ctx) {
3461
3483
  if (rf & 1) {
3462
- i0.ɵɵelementStart(0, "mat-form-field", 12);
3463
- i0.ɵɵelement(1, "textarea", 13, 14);
3484
+ i0.ɵɵelementStart(0, "mat-form-field", 14);
3485
+ i0.ɵɵelement(1, "textarea", 15, 16);
3464
3486
  i0.ɵɵpipe(3, "translate");
3465
3487
  i0.ɵɵelementEnd();
3466
3488
  }
@@ -3470,10 +3492,10 @@ function AdvancedCoordinatesComponent_ng_template_1_Template(rf, ctx) {
3470
3492
  i0.ɵɵproperty("placeholder", i0.ɵɵpipeBind1(3, 2, "igo.integration.advanced-map-tool.advanced-coordinates.est"))("value", ctx_r2.coordinates[0]);
3471
3493
  }
3472
3494
  }
3473
- function AdvancedCoordinatesComponent_mat_form_field_3_Template(rf, ctx) {
3495
+ function AdvancedCoordinatesComponent_mat_form_field_5_Template(rf, ctx) {
3474
3496
  if (rf & 1) {
3475
- i0.ɵɵelementStart(0, "mat-form-field", 15);
3476
- i0.ɵɵelement(1, "textarea", 13, 14);
3497
+ i0.ɵɵelementStart(0, "mat-form-field", 17);
3498
+ i0.ɵɵelement(1, "textarea", 15, 16);
3477
3499
  i0.ɵɵpipe(3, "translate");
3478
3500
  i0.ɵɵelementEnd();
3479
3501
  }
@@ -3483,10 +3505,10 @@ function AdvancedCoordinatesComponent_mat_form_field_3_Template(rf, ctx) {
3483
3505
  i0.ɵɵproperty("placeholder", i0.ɵɵpipeBind1(3, 2, "igo.integration.advanced-map-tool.advanced-coordinates.lat"))("value", ctx_r3.coordinates[1]);
3484
3506
  }
3485
3507
  }
3486
- function AdvancedCoordinatesComponent_ng_template_4_Template(rf, ctx) {
3508
+ function AdvancedCoordinatesComponent_ng_template_6_Template(rf, ctx) {
3487
3509
  if (rf & 1) {
3488
- i0.ɵɵelementStart(0, "mat-form-field", 15);
3489
- i0.ɵɵelement(1, "textarea", 13, 14);
3510
+ i0.ɵɵelementStart(0, "mat-form-field", 17);
3511
+ i0.ɵɵelement(1, "textarea", 15, 16);
3490
3512
  i0.ɵɵpipe(3, "translate");
3491
3513
  i0.ɵɵelementEnd();
3492
3514
  }
@@ -3496,10 +3518,10 @@ function AdvancedCoordinatesComponent_ng_template_4_Template(rf, ctx) {
3496
3518
  i0.ɵɵproperty("placeholder", i0.ɵɵpipeBind1(3, 2, "igo.integration.advanced-map-tool.advanced-coordinates.nord"))("value", ctx_r5.coordinates[1]);
3497
3519
  }
3498
3520
  }
3499
- function AdvancedCoordinatesComponent_mat_option_16_Template(rf, ctx) {
3521
+ function AdvancedCoordinatesComponent_mat_option_17_Template(rf, ctx) {
3500
3522
  if (rf & 1) {
3501
- i0.ɵɵelementStart(0, "mat-option", 16);
3502
- 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(); });
3503
3525
  i0.ɵɵtext(1);
3504
3526
  i0.ɵɵelementEnd();
3505
3527
  }
@@ -3623,10 +3645,7 @@ class AdvancedCoordinatesComponent {
3623
3645
  copyTextToClipboard() {
3624
3646
  const successful = Clipboard.copy(this.coordinates.toString());
3625
3647
  if (successful) {
3626
- const translate = this.languageService.translate;
3627
- const title = translate.instant('igo.integration.advanced-map-tool.advanced-coordinates.copyTitle');
3628
- const msg = translate.instant('igo.integration.advanced-map-tool.advanced-coordinates.copyMsg');
3629
- 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');
3630
3649
  }
3631
3650
  }
3632
3651
  /**
@@ -3837,79 +3856,81 @@ class AdvancedCoordinatesComponent {
3837
3856
  }
3838
3857
  }
3839
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)); };
3840
- 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) {
3841
3860
  if (rf & 1) {
3842
- i0.ɵɵtemplate(0, AdvancedCoordinatesComponent_mat_form_field_0_Template, 4, 4, "mat-form-field", 0);
3843
- i0.ɵɵtemplate(1, AdvancedCoordinatesComponent_ng_template_1_Template, 4, 4, "ng-template", null, 1, i0.ɵɵtemplateRefExtractor);
3844
- i0.ɵɵtemplate(3, AdvancedCoordinatesComponent_mat_form_field_3_Template, 4, 4, "mat-form-field", 2);
3845
- i0.ɵɵtemplate(4, AdvancedCoordinatesComponent_ng_template_4_Template, 4, 4, "ng-template", null, 3, i0.ɵɵtemplateRefExtractor);
3846
- i0.ɵɵelementStart(6, "button", 4);
3847
- i0.ɵɵlistener("click", function AdvancedCoordinatesComponent_Template_button_click_6_listener() { return ctx.copyTextToClipboard(); });
3848
- i0.ɵɵelement(7, "mat-icon", 5);
3849
- i0.ɵɵtext(8);
3850
- 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);
3851
3866
  i0.ɵɵelementEnd();
3852
- i0.ɵɵelementStart(10, "form", 6)(11, "mat-form-field", 7)(12, "mat-label");
3853
- i0.ɵɵtext(13);
3854
- 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");
3855
3875
  i0.ɵɵelementEnd();
3856
- i0.ɵɵelementStart(15, "mat-select", 8);
3857
- i0.ɵɵlistener("valueChange", function AdvancedCoordinatesComponent_Template_mat_select_valueChange_15_listener($event) { return ctx.inputProj = $event; });
3858
- i0.ɵɵtemplate(16, AdvancedCoordinatesComponent_mat_option_16_Template, 2, 2, "mat-option", 9);
3859
- 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");
3860
3880
  i0.ɵɵelementEnd()();
3861
- i0.ɵɵelementStart(18, "mat-slide-toggle", 10);
3862
- i0.ɵɵlistener("change", function AdvancedCoordinatesComponent_Template_mat_slide_toggle_change_18_listener($event) { return ctx.displayCenter($event.checked); });
3863
- i0.ɵɵtext(19);
3864
- 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");
3865
3885
  i0.ɵɵelementEnd()();
3866
- i0.ɵɵelementStart(21, "p", 11);
3867
- i0.ɵɵtext(22);
3868
- i0.ɵɵpipe(23, "translate");
3886
+ i0.ɵɵelementStart(22, "p", 13);
3887
+ i0.ɵɵtext(23);
3888
+ i0.ɵɵpipe(24, "translate");
3869
3889
  i0.ɵɵelementEnd();
3870
- i0.ɵɵelementStart(24, "p", 11);
3871
- i0.ɵɵtext(25);
3872
- i0.ɵɵpipe(26, "translate");
3873
- i0.ɵɵpipe(27, "async");
3890
+ i0.ɵɵelementStart(25, "p", 13);
3891
+ i0.ɵɵtext(26);
3892
+ i0.ɵɵpipe(27, "translate");
3893
+ i0.ɵɵpipe(28, "async");
3874
3894
  i0.ɵɵelementEnd();
3875
- i0.ɵɵelementStart(28, "p", 11);
3876
- i0.ɵɵtext(29);
3877
- i0.ɵɵpipe(30, "translate");
3878
- i0.ɵɵpipe(31, "number");
3895
+ i0.ɵɵelementStart(29, "p", 13);
3896
+ i0.ɵɵtext(30);
3897
+ i0.ɵɵpipe(31, "translate");
3898
+ i0.ɵɵpipe(32, "number");
3879
3899
  i0.ɵɵelementEnd();
3880
3900
  }
3881
3901
  if (rf & 2) {
3882
- const _r1 = i0.ɵɵreference(2);
3883
- const _r4 = i0.ɵɵreference(5);
3902
+ const _r1 = i0.ɵɵreference(4);
3903
+ const _r4 = i0.ɵɵreference(7);
3904
+ i0.ɵɵadvance(2);
3884
3905
  i0.ɵɵproperty("ngIf", ctx.units)("ngIfElse", _r1);
3885
3906
  i0.ɵɵadvance(3);
3886
3907
  i0.ɵɵproperty("ngIf", ctx.units)("ngIfElse", _r4);
3887
- i0.ɵɵadvance(5);
3888
- i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(9, 18, "igo.integration.advanced-map-tool.advanced-coordinates.copy"), "\n");
3889
- 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);
3890
3911
  i0.ɵɵproperty("formGroup", ctx.form);
3891
3912
  i0.ɵɵadvance(3);
3892
- 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"));
3893
3914
  i0.ɵɵadvance(2);
3894
3915
  i0.ɵɵproperty("value", ctx.inputProj);
3895
3916
  i0.ɵɵadvance(1);
3896
- i0.ɵɵproperty("ngForOf", i0.ɵɵpipeBind1(17, 22, ctx.projections$));
3917
+ i0.ɵɵproperty("ngForOf", i0.ɵɵpipeBind1(18, 22, ctx.projections$));
3897
3918
  i0.ɵɵadvance(2);
3898
3919
  i0.ɵɵproperty("checked", ctx.center)("labelPosition", "before");
3899
3920
  i0.ɵɵadvance(1);
3900
- 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"), " ");
3901
3922
  i0.ɵɵadvance(3);
3902
- 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(), "");
3903
3924
  i0.ɵɵadvance(3);
3904
- 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$), "");
3905
3926
  i0.ɵɵadvance(4);
3906
- 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"), "");
3907
3928
  }
3908
- }, dependencies: [i3.ɵNgNoValidate, i3.NgControlStatusGroup, i3.FormGroupDirective, i6$1.MatFormField, i6$1.MatLabel, i7$1.MatSelect, i8$3.MatOption, i7$2.MatInput, i8.NgForOf, i8.NgIf, i8$1.MatIcon, i12.MatSlideToggle, i11.MatButton, i8.AsyncPipe, i8.DecimalPipe, i8$2.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%}"] });
3909
3930
  (function () {
3910
3931
  (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(AdvancedCoordinatesComponent, [{
3911
3932
  type: Component,
3912
- 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"] }]
3913
3934
  }], function () { return [{ type: MapState }, { type: i2.LanguageService }, { type: i2.MessageService }, { type: i0.ChangeDetectorRef }, { type: i2.StorageService }, { type: i2.ConfigService }, { type: i3.UntypedFormBuilder }]; }, { projectionsLimitations: [{
3914
3935
  type: Input
3915
3936
  }] });
@@ -3979,7 +4000,7 @@ AdvancedMapToolComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: Ad
3979
4000
  i0.ɵɵadvance(3);
3980
4001
  i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(23, 24, "igo.integration.advanced-map-tool.geolocation.follow"), " ");
3981
4002
  }
3982
- }, dependencies: [i5$1.MatDivider, i12.MatSlideToggle, AdvancedSwipeComponent, AdvancedCoordinatesComponent, i8.AsyncPipe, i8$2.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}"] });
3983
4004
  AdvancedMapToolComponent = __decorate([
3984
4005
  ToolComponent({
3985
4006
  name: 'advancedMap',
@@ -3993,7 +4014,7 @@ AdvancedMapToolComponent = __decorate([
3993
4014
  (function () {
3994
4015
  (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(AdvancedMapToolComponent, [{
3995
4016
  type: Component,
3996
- 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"] }]
3997
4018
  }], function () { return [{ type: MapState }]; }, null);
3998
4019
  })();
3999
4020
 
@@ -4001,10 +4022,12 @@ AdvancedMapToolComponent = __decorate([
4001
4022
  * Service that holds the state of the direction module
4002
4023
  */
4003
4024
  class MapProximityState {
4004
- constructor(mapState) {
4025
+ constructor(mapState, storageService) {
4005
4026
  this.mapState = mapState;
4027
+ this.storageService = storageService;
4028
+ this.defaultProximityRadiusValue = 30;
4006
4029
  this.enabled$ = new BehaviorSubject(false);
4007
- this.proximityRadiusValue$ = new BehaviorSubject(30);
4030
+ this.proximityRadiusValue$ = new BehaviorSubject(this.storageService.get('mapProximityRadius') || this.defaultProximityRadiusValue);
4008
4031
  this.proximitylocationType$ = new BehaviorSubject('geolocation');
4009
4032
  this.proximityFeatureStore = new FeatureStore([], { map: this.mapState.map });
4010
4033
  this.subs$$ = [];
@@ -4032,6 +4055,7 @@ class MapProximityState {
4032
4055
  const currentPos = this.map.geolocationController.position$.value;
4033
4056
  const locationType = bunch[1];
4034
4057
  const proximityRadiusValue = bunch[2];
4058
+ this.storageService.set('mapProximityRadius', proximityRadiusValue || this.defaultProximityRadiusValue);
4035
4059
  if (!enabled) {
4036
4060
  return;
4037
4061
  }
@@ -4141,7 +4165,7 @@ class MapProximityState {
4141
4165
  return label;
4142
4166
  }
4143
4167
  }
4144
- 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)); };
4145
4169
  MapProximityState.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: MapProximityState, factory: MapProximityState.ɵfac, providedIn: 'root' });
4146
4170
  (function () {
4147
4171
  (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(MapProximityState, [{
@@ -4149,7 +4173,7 @@ MapProximityState.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: MapPro
4149
4173
  args: [{
4150
4174
  providedIn: 'root'
4151
4175
  }]
4152
- }], function () { return [{ type: MapState }]; }, null);
4176
+ }], function () { return [{ type: MapState }, { type: i2.StorageService }]; }, null);
4153
4177
  })();
4154
4178
 
4155
4179
  const _c0$1 = ["table"];
@@ -4261,10 +4285,7 @@ let MapProximityToolComponent = class MapProximityToolComponent {
4261
4285
  var _a;
4262
4286
  const successful = Clipboard.copy((_a = this.mapProximityState.currentPositionCoordinate$) === null || _a === void 0 ? void 0 : _a.value.toString());
4263
4287
  if (successful) {
4264
- const translate = this.languageService.translate;
4265
- const title = translate.instant('igo.integration.map-proximity-tool.copyTitle');
4266
- const msg = translate.instant('igo.integration.map-proximity-tool.copyMsg');
4267
- this.messageService.success(msg, title);
4288
+ this.messageService.success('igo.integration.map-proximity-tool.copyMsg', 'igo.integration.map-proximity-tool.copyTitle');
4268
4289
  }
4269
4290
  }
4270
4291
  };
@@ -4277,7 +4298,7 @@ MapProximityToolComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: M
4277
4298
  let _t;
4278
4299
  i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.table = _t.first);
4279
4300
  }
4280
- }, 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) {
4281
4302
  if (rf & 1) {
4282
4303
  i0.ɵɵelement(0, "igo-entity-table", 0, 1)(2, "br");
4283
4304
  i0.ɵɵtemplate(3, MapProximityToolComponent_mat_form_field_3_Template, 4, 4, "mat-form-field", 2);
@@ -4336,7 +4357,7 @@ MapProximityToolComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: M
4336
4357
  i0.ɵɵpropertyInterpolate("placeholder", i0.ɵɵpipeBind1(30, 33, "igo.integration.map-proximity-tool.radiusM"));
4337
4358
  i0.ɵɵproperty("ngModel", ctx.maxDistance);
4338
4359
  }
4339
- }, dependencies: [i3.DefaultValueAccessor, i3.NumberValueAccessor, i3.NgControlStatus, i3.PatternValidator, i3.NgModel, i6$1.MatFormField, i6$1.MatLabel, i7$2.MatInput, i8.NgIf, i8$1.MatIcon, i9.MatRadioGroup, i9.MatRadioButton, i11.MatButton, i4.EntityTableComponent, i8.AsyncPipe, i8$2.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}"] });
4340
4361
  MapProximityToolComponent = __decorate([
4341
4362
  ToolComponent({
4342
4363
  name: 'map-proximity',
@@ -4350,7 +4371,7 @@ MapProximityToolComponent = __decorate([
4350
4371
  (function () {
4351
4372
  (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(MapProximityToolComponent, [{
4352
4373
  type: Component,
4353
- 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"] }]
4354
4375
  }], function () { return [{ type: MapState }, { type: MapProximityState }, { type: i2.LanguageService }, { type: i2.MessageService }]; }, { table: [{
4355
4376
  type: ViewChild,
4356
4377
  args: ['table', { static: true }]
@@ -4386,6 +4407,7 @@ IgoAppMapModule.ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ imports: [FormsMod
4386
4407
  IgoMetadataModule,
4387
4408
  IgoDownloadModule,
4388
4409
  IgoImportExportModule,
4410
+ IgoStyleModule,
4389
4411
  IgoFilterModule,
4390
4412
  MatRadioModule,
4391
4413
  IgoContextModule,
@@ -4419,6 +4441,7 @@ IgoAppMapModule.ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ imports: [FormsMod
4419
4441
  IgoMetadataModule,
4420
4442
  IgoDownloadModule,
4421
4443
  IgoImportExportModule,
4444
+ IgoStyleModule,
4422
4445
  IgoFilterModule,
4423
4446
  MatRadioModule,
4424
4447
  IgoContextModule,
@@ -4458,6 +4481,7 @@ IgoAppMapModule.ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ imports: [FormsMod
4458
4481
  IgoMetadataModule,
4459
4482
  IgoDownloadModule,
4460
4483
  IgoImportExportModule,
4484
+ IgoStyleModule,
4461
4485
  IgoFilterModule,
4462
4486
  MatRadioModule,
4463
4487
  IgoContextModule,
@@ -4541,7 +4565,7 @@ MeasurerToolComponent = __decorate([
4541
4565
  (function () {
4542
4566
  (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(MeasurerToolComponent, [{
4543
4567
  type: Component,
4544
- 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" }]
4545
4569
  }], function () { return [{ type: MeasureState }, { type: MapState }]; }, null);
4546
4570
  })();
4547
4571
 
@@ -4614,7 +4638,7 @@ PrintToolComponent = __decorate([
4614
4638
  (function () {
4615
4639
  (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(PrintToolComponent, [{
4616
4640
  type: Component,
4617
- 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" }]
4618
4642
  }], function () { return [{ type: MapState }]; }, null);
4619
4643
  })();
4620
4644
 
@@ -4646,10 +4670,13 @@ IgoAppPrintModule.ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ imports: [IgoPri
4646
4670
  * Service that holds the state of the search module
4647
4671
  */
4648
4672
  class SearchState {
4649
- constructor(searchSourceService, storageService, configService) {
4673
+ constructor(searchSourceService, storageService, workspaceState, configService, mapState) {
4650
4674
  this.searchSourceService = searchSourceService;
4651
4675
  this.storageService = storageService;
4676
+ this.workspaceState = workspaceState;
4652
4677
  this.configService = configService;
4678
+ this.mapState = mapState;
4679
+ this.searchLayerStores = [];
4653
4680
  this.searchOverlayStyle = {};
4654
4681
  this.searchOverlayStyleSelection = {};
4655
4682
  this.searchOverlayStyleFocus = {};
@@ -4675,6 +4702,13 @@ class SearchState {
4675
4702
  this.searchResultsGeometryEnabled$.next(searchResultsGeometryEnabled);
4676
4703
  }
4677
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();
4678
4712
  }
4679
4713
  /**
4680
4714
  * Search types currently enabled in the search source service
@@ -4684,6 +4718,18 @@ class SearchState {
4684
4718
  .getEnabledSources()
4685
4719
  .map((source) => source.constructor.type);
4686
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
+ }
4687
4733
  createCustomFilterTermStrategy() {
4688
4734
  const filterClauseFunc = (record) => {
4689
4735
  return record.entity.meta.score === 100;
@@ -4734,7 +4780,7 @@ class SearchState {
4734
4780
  this.searchResultsGeometryEnabled$.next(value);
4735
4781
  }
4736
4782
  }
4737
- 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)); };
4738
4784
  SearchState.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: SearchState, factory: SearchState.ɵfac, providedIn: 'root' });
4739
4785
  (function () {
4740
4786
  (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(SearchState, [{
@@ -4742,7 +4788,7 @@ SearchState.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: SearchState,
4742
4788
  args: [{
4743
4789
  providedIn: 'root'
4744
4790
  }]
4745
- }], 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);
4746
4792
  })();
4747
4793
 
4748
4794
  class SearchBarBindingDirective {
@@ -4859,7 +4905,7 @@ function SearchResultsToolComponent_igo_flexible_2_ng_template_5_Template(rf, ct
4859
4905
  if (rf & 2) {
4860
4906
  const result_r6 = ctx.result;
4861
4907
  const ctx_r4 = i0.ɵɵnextContext(2);
4862
- i0.ɵɵproperty("map", ctx_r4.map)("store", ctx_r4.store)("stores", ctx_r4.stores)("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);
4863
4909
  }
4864
4910
  }
4865
4911
  function SearchResultsToolComponent_igo_flexible_2_igo_panel_8_button_4_Template(rf, ctx) {
@@ -4915,7 +4961,7 @@ function SearchResultsToolComponent_igo_flexible_2_Template(rf, ctx) {
4915
4961
  i0.ɵɵpipe(2, "async");
4916
4962
  i0.ɵɵelementStart(3, "div", 7)(4, "igo-search-results", 8);
4917
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)); });
4918
- i0.ɵɵtemplate(5, SearchResultsToolComponent_igo_flexible_2_ng_template_5_Template, 1, 4, "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);
4919
4965
  i0.ɵɵelementEnd()();
4920
4966
  i0.ɵɵelementStart(7, "div", 10);
4921
4967
  i0.ɵɵtemplate(8, SearchResultsToolComponent_igo_flexible_2_igo_panel_8_Template, 7, 11, "igo-panel", 11);
@@ -4935,13 +4981,12 @@ function SearchResultsToolComponent_igo_flexible_2_Template(rf, ctx) {
4935
4981
  * Tool to browse the search results
4936
4982
  */
4937
4983
  let SearchResultsToolComponent = class SearchResultsToolComponent {
4938
- constructor(mapState, searchState, elRef, toolState, directionState, configService, drawState) {
4984
+ constructor(mapState, searchState, elRef, toolState, directionState, configService) {
4939
4985
  this.mapState = mapState;
4940
4986
  this.searchState = searchState;
4941
4987
  this.elRef = elRef;
4942
4988
  this.toolState = toolState;
4943
4989
  this.directionState = directionState;
4944
- this.drawState = drawState;
4945
4990
  /**
4946
4991
  * to show hide results icons
4947
4992
  */
@@ -4951,6 +4996,7 @@ let SearchResultsToolComponent = class SearchResultsToolComponent {
4951
4996
  */
4952
4997
  this.topPanelStateDefault = 'expanded';
4953
4998
  this.hasFeatureEmphasisOnSelection = false;
4999
+ this.saveSearchResultInLayer = false;
4954
5000
  this.shownResultsGeometries = [];
4955
5001
  this.shownResultsEmphasisGeometries = [];
4956
5002
  this.focusedResult$ = new BehaviorSubject(undefined);
@@ -4961,6 +5007,7 @@ let SearchResultsToolComponent = class SearchResultsToolComponent {
4961
5007
  this.topPanelState$ = new BehaviorSubject('initial');
4962
5008
  this.format = new olFormatGeoJSON();
4963
5009
  this.hasFeatureEmphasisOnSelection = configService.getConfig('hasFeatureEmphasisOnSelection');
5010
+ this.saveSearchResultInLayer = configService.getConfig('saveSearchResultInLayer');
4964
5011
  }
4965
5012
  /**
4966
5013
  * Store holding the search results
@@ -4996,7 +5043,7 @@ let SearchResultsToolComponent = class SearchResultsToolComponent {
4996
5043
  return this.searchState.searchTermSplitter$.value;
4997
5044
  }
4998
5045
  get stores() {
4999
- return this.drawState.searchLayerStores;
5046
+ return this.searchState.searchLayerStores;
5000
5047
  }
5001
5048
  ngOnInit() {
5002
5049
  this.searchTerm$$ = this.searchState.searchTerm$.subscribe((searchTerm) => {
@@ -5386,8 +5433,8 @@ let SearchResultsToolComponent = class SearchResultsToolComponent {
5386
5433
  }, 250);
5387
5434
  }
5388
5435
  };
5389
- 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), i0.ɵɵdirectiveInject(DrawState)); };
5390
- 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"], [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) {
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)); };
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) {
5391
5438
  if (rf & 1) {
5392
5439
  i0.ɵɵtemplate(0, SearchResultsToolComponent_div_0_Template, 13, 11, "div", 0);
5393
5440
  i0.ɵɵpipe(1, "async");
@@ -5399,7 +5446,7 @@ SearchResultsToolComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type:
5399
5446
  i0.ɵɵadvance(2);
5400
5447
  i0.ɵɵproperty("ngIf", i0.ɵɵpipeBind1(3, 4, ctx.debouncedEmpty$) === false);
5401
5448
  }
5402
- }, dependencies: [i8.NgIf, i8$1.MatIcon, i9$1.MatBadge, i5.MatTooltip, i11.MatButton, i1$1.FeatureDetailsComponent, i1$1.FeatureDetailsDirective, i1$1.SearchResultsComponent, i1$1.SearchResultAddButtonComponent, i4.FlexibleComponent, i4.PanelComponent, i8.AsyncPipe, i8$2.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 });
5403
5450
  SearchResultsToolComponent = __decorate([
5404
5451
  ToolComponent({
5405
5452
  name: 'searchResults',
@@ -5410,8 +5457,8 @@ SearchResultsToolComponent = __decorate([
5410
5457
  (function () {
5411
5458
  (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(SearchResultsToolComponent, [{
5412
5459
  type: Component,
5413
- 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 [map]=\"map\">\n <ng-template #igoSearchItemToolbar let-result=\"result\">\n <igo-search-add-button\n [map]=\"map\"\n [store]=\"store\"\n [stores]=\"stores\"\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" }]
5414
- }], function () { return [{ type: MapState }, { type: SearchState }, { type: i0.ElementRef }, { type: ToolState }, { type: DirectionState }, { type: i2.ConfigService }, { type: DrawState }]; }, { showIcons: [{
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" }]
5461
+ }], function () { return [{ type: MapState }, { type: SearchState }, { type: i0.ElementRef }, { type: ToolState }, { type: DirectionState }, { type: i2.ConfigService }]; }, { showIcons: [{
5415
5462
  type: Input
5416
5463
  }], topPanelStateDefault: [{
5417
5464
  type: Input
@@ -5521,7 +5568,7 @@ OgcFilterToolComponent = __decorate([
5521
5568
  (function () {
5522
5569
  (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(OgcFilterToolComponent, [{
5523
5570
  type: Component,
5524
- 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" }]
5525
5572
  }], function () { return []; }, null);
5526
5573
  })();
5527
5574
 
@@ -5544,7 +5591,7 @@ TimeFilterToolComponent = __decorate([
5544
5591
  (function () {
5545
5592
  (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(TimeFilterToolComponent, [{
5546
5593
  type: Component,
5547
- 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" }]
5548
5595
  }], function () { return []; }, null);
5549
5596
  })();
5550
5597
 
@@ -5760,14 +5807,14 @@ let SpatialFilterToolComponent = class SpatialFilterToolComponent {
5760
5807
  thematic.zeroResults = true;
5761
5808
  }
5762
5809
  if (features.length >= 10000) {
5763
- 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 });
5764
5811
  }
5765
5812
  })));
5766
5813
  });
5767
5814
  forkJoin(observables$).pipe(takeUntil(this.unsubscribe$)).subscribe(() => {
5768
5815
  this.loading = false;
5769
5816
  if (zeroResults) {
5770
- 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 });
5771
5818
  }
5772
5819
  });
5773
5820
  }
@@ -6028,7 +6075,7 @@ let SpatialFilterToolComponent = class SpatialFilterToolComponent {
6028
6075
  this.activeLayers.push(layer);
6029
6076
  }
6030
6077
  };
6031
- SpatialFilterToolComponent.ɵfac = function SpatialFilterToolComponent_Factory(t) { return new (t || SpatialFilterToolComponent)(i0.ɵɵdirectiveInject(i8$1.MatIconRegistry), i0.ɵɵdirectiveInject(i1$1.SpatialFilterService), i0.ɵɵdirectiveInject(i1$1.DataSourceService), i0.ɵɵdirectiveInject(i1$1.LayerService), i0.ɵɵdirectiveInject(MapState), i0.ɵɵdirectiveInject(i2.MessageService), i0.ɵɵdirectiveInject(i2.LanguageService), i0.ɵɵdirectiveInject(ImportExportState), i0.ɵɵdirectiveInject(ToolState), i0.ɵɵdirectiveInject(WorkspaceState), i0.ɵɵdirectiveInject(i0.ChangeDetectorRef)); };
6078
+ SpatialFilterToolComponent.ɵfac = function SpatialFilterToolComponent_Factory(t) { return new (t || SpatialFilterToolComponent)(i0.ɵɵdirectiveInject(i7.MatIconRegistry), i0.ɵɵdirectiveInject(i1$1.SpatialFilterService), i0.ɵɵdirectiveInject(i1$1.DataSourceService), i0.ɵɵdirectiveInject(i1$1.LayerService), i0.ɵɵdirectiveInject(MapState), i0.ɵɵdirectiveInject(i2.MessageService), i0.ɵɵdirectiveInject(i2.LanguageService), i0.ɵɵdirectiveInject(ImportExportState), i0.ɵɵdirectiveInject(ToolState), i0.ɵɵdirectiveInject(WorkspaceState), i0.ɵɵdirectiveInject(i0.ChangeDetectorRef)); };
6032
6079
  SpatialFilterToolComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: SpatialFilterToolComponent, selectors: [["igo-spatial-filter-tool"]], inputs: { type: "type", itemType: "itemType", freehandDrawIsActive: "freehandDrawIsActive" }, decls: 6, vars: 16, consts: [[3, "store", "selectedQueryType", "zone", "layers", "eventType", "eventQueryType", "zoneChange", "zoneWithBufferChange", "bufferChange", "measureUnitChange"], [3, "type", "queryType", "map", "zone", "loading", "store", "layers", "allLayers", "thematicLength", "radiusEvent", "bufferEvent", "measureUnitChange", "freehandControl", "drawZoneEvent", "zoneWithBufferChange", "itemTypeChange", "thematicChange", "toggleSearch", "clearButtonEvent", "clearSearchEvent", "export", "openWorkspace", "entityChange"], [4, "ngIf"], [3, "feature"]], template: function SpatialFilterToolComponent_Template(rf, ctx) {
6033
6080
  if (rf & 1) {
6034
6081
  i0.ɵɵelementStart(0, "igo-panel")(1, "igo-spatial-filter-type", 0);
@@ -6064,8 +6111,8 @@ SpatialFilterToolComponent = __decorate([
6064
6111
  (function () {
6065
6112
  (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(SpatialFilterToolComponent, [{
6066
6113
  type: Component,
6067
- 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>" }]
6068
- }], function () { return [{ type: i8$1.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: [{
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>" }]
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: [{
6069
6116
  type: Input
6070
6117
  }], itemType: [{
6071
6118
  type: Input
@@ -6120,7 +6167,7 @@ ActiveTimeFilterToolComponent = __decorate([
6120
6167
  (function () {
6121
6168
  (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ActiveTimeFilterToolComponent, [{
6122
6169
  type: Component,
6123
- 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" }]
6124
6171
  }], function () { return [{ type: MapState }]; }, null);
6125
6172
  })();
6126
6173
 
@@ -6170,7 +6217,7 @@ ActiveOgcFilterToolComponent = __decorate([
6170
6217
  (function () {
6171
6218
  (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ActiveOgcFilterToolComponent, [{
6172
6219
  type: Component,
6173
- 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" }]
6174
6221
  }], function () { return [{ type: MapState }]; }, null);
6175
6222
  })();
6176
6223
 
@@ -6383,7 +6430,7 @@ AboutToolComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: AboutToo
6383
6430
  i0.ɵɵadvance(1);
6384
6431
  i0.ɵɵproperty("html", i0.ɵɵpipeBind2(9, 6, ctx.html, i0.ɵɵpureFunction1(9, _c0, ctx.version)));
6385
6432
  }
6386
- }, dependencies: [i4.CustomHtmlComponent, i11.MatButton, i5.MatTooltip, i8$1.MatIcon, i8$4.MatMenu, i8$4.MatMenuItem, i8$4.MatMenuTrigger, i4.InteractiveTourComponent, i8.NgForOf, i8.NgIf, i8$2.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}"] });
6387
6434
  AboutToolComponent = __decorate([
6388
6435
  ToolComponent({
6389
6436
  name: 'about',
@@ -6394,7 +6441,7 @@ AboutToolComponent = __decorate([
6394
6441
  (function () {
6395
6442
  (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(AboutToolComponent, [{
6396
6443
  type: Component,
6397
- 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"] }]
6398
6445
  }], function () { return [{ type: i2.ConfigService }, { type: i2$1.AuthService }, { type: i3$1.HttpClient }, { type: i0.ChangeDetectorRef }, { type: i2.LanguageService }]; }, { headerHtml: [{
6399
6446
  type: Input
6400
6447
  }], html: [{
@@ -6554,18 +6601,20 @@ class AnalyticsListenerService {
6554
6601
  /**
6555
6602
  * Toolbox that holds main tools
6556
6603
  */
6557
- constructor(analyticsService, authService, contextState, searchState, toolState) {
6604
+ constructor(analyticsService, authService, contextState, searchState, toolState, mapState) {
6558
6605
  this.analyticsService = analyticsService;
6559
6606
  this.authService = authService;
6560
6607
  this.contextState = contextState;
6561
6608
  this.searchState = searchState;
6562
6609
  this.toolState = toolState;
6610
+ this.mapState = mapState;
6563
6611
  }
6564
6612
  listen() {
6565
6613
  this.listenUser();
6566
6614
  this.listenContext();
6567
6615
  this.listenTool();
6568
6616
  this.listenSearch();
6617
+ this.listenLayer();
6569
6618
  }
6570
6619
  listenUser() {
6571
6620
  this.authService.authenticate$.subscribe(() => {
@@ -6601,8 +6650,60 @@ class AnalyticsListenerService {
6601
6650
  }
6602
6651
  });
6603
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
+ }
6604
6705
  }
6605
- 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)); };
6606
6707
  AnalyticsListenerService.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: AnalyticsListenerService, factory: AnalyticsListenerService.ɵfac, providedIn: 'root' });
6607
6708
  (function () {
6608
6709
  (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(AnalyticsListenerService, [{
@@ -6610,7 +6711,7 @@ AnalyticsListenerService.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token:
6610
6711
  args: [{
6611
6712
  providedIn: 'root'
6612
6713
  }]
6613
- }], 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);
6614
6715
  })();
6615
6716
 
6616
6717
  /**