@igo2/integration 1.14.1 → 1.15.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (85) hide show
  1. package/esm2020/lib/about/about-tool/about-tool.component.mjs +2 -2
  2. package/esm2020/lib/about/about.module.mjs +1 -1
  3. package/esm2020/lib/analytics/analytics-listener.service.mjs +59 -4
  4. package/esm2020/lib/analytics/analytics.module.mjs +1 -1
  5. package/esm2020/lib/catalog/catalog-browser-tool/catalog-browser-tool.component.mjs +2 -2
  6. package/esm2020/lib/catalog/catalog-browser-tool/catalog-browser-tool.module.mjs +1 -1
  7. package/esm2020/lib/catalog/catalog-library-tool/catalog-library-tool.component.mjs +2 -2
  8. package/esm2020/lib/catalog/catalog-library-tool/catalog-library-tool.module.mjs +1 -1
  9. package/esm2020/lib/catalog/catalog.module.mjs +1 -1
  10. package/esm2020/lib/catalog/catalog.state.mjs +1 -1
  11. package/esm2020/lib/context/context-editor-tool/context-editor-tool.component.mjs +2 -2
  12. package/esm2020/lib/context/context-manager-tool/context-manager-tool.component.mjs +2 -2
  13. package/esm2020/lib/context/context-permission-manager-tool/context-permission-manager-tool.component.mjs +2 -2
  14. package/esm2020/lib/context/context-share-tool/context-share-tool.component.mjs +2 -2
  15. package/esm2020/lib/context/context.module.mjs +1 -1
  16. package/esm2020/lib/context/context.state.mjs +1 -1
  17. package/esm2020/lib/directions/directions-tool/directions-tool.component.mjs +3 -6
  18. package/esm2020/lib/directions/directions.module.mjs +1 -1
  19. package/esm2020/lib/directions/directions.state.mjs +1 -1
  20. package/esm2020/lib/draw/draw.module.mjs +1 -1
  21. package/esm2020/lib/draw/draw.state.mjs +1 -1
  22. package/esm2020/lib/draw/drawing-tool/drawing-tool.component.mjs +2 -2
  23. package/esm2020/lib/filter/active-ogc-filter-tool/active-ogc-filter-tool.animation.mjs +1 -1
  24. package/esm2020/lib/filter/active-ogc-filter-tool/active-ogc-filter-tool.component.mjs +2 -2
  25. package/esm2020/lib/filter/active-time-filter-tool/active-time-filter-tool.animation.mjs +1 -1
  26. package/esm2020/lib/filter/active-time-filter-tool/active-time-filter-tool.component.mjs +2 -2
  27. package/esm2020/lib/filter/filter.module.mjs +1 -1
  28. package/esm2020/lib/filter/ogc-filter-tool/ogc-filter-tool.component.mjs +2 -2
  29. package/esm2020/lib/filter/spatial-filter-tool/spatial-filter-tool.component.mjs +4 -4
  30. package/esm2020/lib/filter/time-filter-tool/time-filter-tool.component.mjs +2 -2
  31. package/esm2020/lib/import-export/import-export-tool/import-export-tool.component.mjs +26 -22
  32. package/esm2020/lib/import-export/import-export.module.mjs +8 -5
  33. package/esm2020/lib/import-export/import-export.state.mjs +1 -1
  34. package/esm2020/lib/integration.module.mjs +1 -1
  35. package/esm2020/lib/map/advanced-map-tool/advanced-coordinates/advanced-coordinates.component.mjs +64 -65
  36. package/esm2020/lib/map/advanced-map-tool/advanced-map-tool.component.mjs +2 -2
  37. package/esm2020/lib/map/advanced-map-tool/advanced-swipe/advanced-swipe.component.mjs +2 -2
  38. package/esm2020/lib/map/layer-list-tool.state.mjs +1 -1
  39. package/esm2020/lib/map/map-details-tool/map-details-tool.component.mjs +2 -2
  40. package/esm2020/lib/map/map-legend/map-legend-tool.component.mjs +2 -2
  41. package/esm2020/lib/map/map-proximity-tool/map-proximity-tool.component.mjs +5 -8
  42. package/esm2020/lib/map/map-proximity.state.mjs +9 -5
  43. package/esm2020/lib/map/map-tool/map-tool.component.mjs +2 -2
  44. package/esm2020/lib/map/map-tools/map-tools.component.mjs +78 -61
  45. package/esm2020/lib/map/map.module.mjs +5 -2
  46. package/esm2020/lib/map/map.state.mjs +1 -1
  47. package/esm2020/lib/measure/measure.module.mjs +1 -1
  48. package/esm2020/lib/measure/measure.state.mjs +1 -1
  49. package/esm2020/lib/measure/measurer-tool/measurer-tool.component.mjs +2 -2
  50. package/esm2020/lib/measure/measurer-tool/measurer-tool.module.mjs +1 -1
  51. package/esm2020/lib/print/print-tool/print-tool.component.mjs +2 -2
  52. package/esm2020/lib/print/print.module.mjs +1 -1
  53. package/esm2020/lib/search/query.state.mjs +1 -1
  54. package/esm2020/lib/search/search-bar/search-bar-binding.directive.mjs +1 -1
  55. package/esm2020/lib/search/search-bar/search-bar.module.mjs +1 -1
  56. package/esm2020/lib/search/search-results-tool/search-results-tool.component.mjs +14 -9
  57. package/esm2020/lib/search/search-results-tool/search-results-tool.module.mjs +1 -1
  58. package/esm2020/lib/search/search.module.mjs +1 -1
  59. package/esm2020/lib/search/search.state.mjs +29 -4
  60. package/esm2020/lib/storage/storage.module.mjs +1 -1
  61. package/esm2020/lib/storage/storage.state.mjs +1 -1
  62. package/esm2020/lib/tool/tool.module.mjs +1 -1
  63. package/esm2020/lib/tool/tool.state.mjs +1 -1
  64. package/esm2020/lib/workspace/shared/edition-actions.service.mjs +1 -1
  65. package/esm2020/lib/workspace/shared/feature-actions.service.mjs +1 -1
  66. package/esm2020/lib/workspace/shared/index.mjs +1 -1
  67. package/esm2020/lib/workspace/shared/wfs-actions.service.mjs +1 -1
  68. package/esm2020/lib/workspace/shared/workspace.utils.mjs +1 -1
  69. package/esm2020/lib/workspace/workspace-button/workspace-button.component.mjs +2 -2
  70. package/esm2020/lib/workspace/workspace.module.mjs +1 -1
  71. package/esm2020/lib/workspace/workspace.state.mjs +1 -1
  72. package/fesm2015/igo2-integration.mjs +324 -218
  73. package/fesm2015/igo2-integration.mjs.map +1 -1
  74. package/fesm2020/igo2-integration.mjs +321 -218
  75. package/fesm2020/igo2-integration.mjs.map +1 -1
  76. package/lib/analytics/analytics-listener.service.d.ts +7 -1
  77. package/lib/import-export/import-export-tool/import-export-tool.component.d.ts +3 -1
  78. package/lib/import-export/import-export.module.d.ts +1 -1
  79. package/lib/map/map-proximity.state.d.ts +4 -1
  80. package/lib/map/map-tools/map-tools.component.d.ts +1 -0
  81. package/lib/map/map.module.d.ts +1 -1
  82. package/lib/search/search-results-tool/search-results-tool.component.d.ts +3 -1
  83. package/lib/search/search.state.d.ts +8 -2
  84. package/ngcc.config.js +3 -3
  85. package/package.json +8 -5
@@ -7,10 +7,10 @@ import * as i4 from '@igo2/common';
7
7
  import { ToolComponent, EntityStore, EntityStoreFilterCustomFuncStrategy, EntityStoreFilterSelectionStrategy, WorkspaceStore, IgoSpinnerModule, IgoEntityTableModule, getEntityTitle, FlexibleComponent, IgoFlexibleModule, IgoPanelModule, IgoCustomHtmlModule, IgoInteractiveTourModule } from '@igo2/common';
8
8
  import { BehaviorSubject, Subject, of, combineLatest, ReplaySubject, interval, forkJoin } from 'rxjs';
9
9
  import * as i1$1 from '@igo2/geo';
10
- import { IgoMap, IgoCatalogLibraryModule, IgoCatalogBrowserModule, StopsStore, StopsFeatureStore, RoutesFeatureStore, StepFeatureStore, IgoDirectionsModule, FeatureStore, IgoDrawingToolModule, FeatureStoreSelectionStrategy, FeatureMotion, mapExtentStrategyActiveToolTip, noElementSelected, OgcFilterWidget, WfsWorkspace, FeatureWorkspace, EditionWorkspace, IgoImportExportModule, LayerListControlsEnum, sourceCanSearch, VectorLayer, zoneMtm, zoneUtm, formatScale, computeProjectionsConstraints, roundCoordTo, featureFromOl, measureOlGeometryLength, FEATURE, IgoLayerModule, IgoMetadataModule, IgoDownloadModule, IgoFilterModule, IgoMeasurerModule, IgoPrintModule, IgoSearchModule, getCommonVectorStyle, featureToOl, computeOlFeaturesExtent, featuresAreOutOfView, featuresAreTooDeepInView, getCommonVectorSelectedStyle, moveToOlFeatures, IgoFeatureModule, IgoFeatureDetailsModule, SpatialFilterItemType, MeasureLengthUnit, SpatialFilterType, createOverlayMarkerStyle, IgoQueryModule } from '@igo2/geo';
10
+ import { IgoMap, IgoCatalogLibraryModule, IgoCatalogBrowserModule, StopsStore, StopsFeatureStore, RoutesFeatureStore, StepFeatureStore, IgoDirectionsModule, FeatureStore, IgoDrawingToolModule, FeatureStoreSelectionStrategy, FeatureMotion, mapExtentStrategyActiveToolTip, noElementSelected, OgcFilterWidget, WfsWorkspace, FeatureWorkspace, EditionWorkspace, IgoImportExportModule, IgoStyleModule, LayerListControlsEnum, sourceCanSearch, VectorLayer, zoneMtm, zoneUtm, formatScale, computeProjectionsConstraints, roundCoordTo, featureFromOl, measureOlGeometryLength, FEATURE, IgoLayerModule, IgoMetadataModule, IgoDownloadModule, IgoFilterModule, IgoMeasurerModule, IgoPrintModule, IgoSearchModule, getCommonVectorStyle, featureToOl, computeOlFeaturesExtent, featuresAreOutOfView, featuresAreTooDeepInView, getCommonVectorSelectedStyle, moveToOlFeatures, IgoFeatureModule, IgoFeatureDetailsModule, SpatialFilterItemType, MeasureLengthUnit, SpatialFilterType, createOverlayMarkerStyle, IgoQueryModule } from '@igo2/geo';
11
11
  import * as i2 from '@igo2/core';
12
12
  import { StorageScope, StorageServiceEventEnum, IgoLanguageModule } from '@igo2/core';
13
- import * as i6 from '@angular/common';
13
+ import * as i8 from '@angular/common';
14
14
  import { CommonModule } from '@angular/common';
15
15
  import { take, skipWhile, map, debounceTime, takeUntil, tap, skip } from 'rxjs/operators';
16
16
  import * as i2$1 from '@igo2/auth';
@@ -20,29 +20,29 @@ import * as i10 from '@angular/material/button';
20
20
  import { MatButtonModule } from '@angular/material/button';
21
21
  import * as i5 from '@angular/material/tooltip';
22
22
  import { MatTooltipModule } from '@angular/material/tooltip';
23
- import * as i8 from '@ngx-translate/core';
24
- import * as i7$1 from '@angular/material/tabs';
23
+ import * as i12 from '@ngx-translate/core';
24
+ import * as i8$1 from '@angular/material/tabs';
25
25
  import { MatTabsModule } from '@angular/material/tabs';
26
26
  import { MatButtonToggleModule } from '@angular/material/button-toggle';
27
- import * as i6$1 from '@angular/material/list';
27
+ import * as i6 from '@angular/material/list';
28
28
  import { MatListModule } from '@angular/material/list';
29
- import * as i12 from '@angular/material/slide-toggle';
29
+ import * as i12$1 from '@angular/material/slide-toggle';
30
30
  import { MatSlideToggleModule } from '@angular/material/slide-toggle';
31
- import * as i8$3 from '@angular/material/menu';
31
+ import * as i8$4 from '@angular/material/menu';
32
32
  import { MatMenuModule } from '@angular/material/menu';
33
- import * as i8$1 from '@angular/material/core';
33
+ import * as i8$2 from '@angular/material/core';
34
34
  import { MatOptionModule } from '@angular/material/core';
35
35
  import * as i5$1 from '@angular/material/divider';
36
36
  import { MatDividerModule } from '@angular/material/divider';
37
37
  import * as i3 from '@angular/forms';
38
38
  import { Validators, FormsModule, ReactiveFormsModule } from '@angular/forms';
39
- import * as i6$2 from '@angular/material/form-field';
39
+ import * as i6$1 from '@angular/material/form-field';
40
40
  import { MatFormFieldModule } from '@angular/material/form-field';
41
- import * as i7$2 from '@angular/material/select';
41
+ import * as i7$1 from '@angular/material/select';
42
42
  import { MatSelectModule } from '@angular/material/select';
43
43
  import { Clipboard, uuid, NumberUtils } from '@igo2/utils';
44
44
  import * as olProj from 'ol/proj';
45
- import * as i7$3 from '@angular/material/input';
45
+ import * as i7$2 from '@angular/material/input';
46
46
  import { MatInputModule } from '@angular/material/input';
47
47
  import { MatCheckboxModule } from '@angular/material/checkbox';
48
48
  import * as i9 from '@angular/material/radio';
@@ -50,7 +50,7 @@ import { MatRadioModule } from '@angular/material/radio';
50
50
  import olFormatGeoJSON from 'ol/format/GeoJSON';
51
51
  import olLayerVector from 'ol/layer/Vector';
52
52
  import olLineString from 'ol/geom/LineString';
53
- import * as i8$2 from '@angular/material/badge';
53
+ import * as i8$3 from '@angular/material/badge';
54
54
  import { MatBadgeModule } from '@angular/material/badge';
55
55
  import olFeature from 'ol/Feature';
56
56
  import olPoint from 'ol/geom/Point';
@@ -181,7 +181,7 @@ ContextEditorToolComponent = __decorate([
181
181
  ], ContextEditorToolComponent);
182
182
  (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ContextEditorToolComponent, [{
183
183
  type: Component,
184
- args: [{ selector: 'igo-context-editor-tool', template: "<igo-context-edit\n igoContextEditBinding\n (submitSuccessed)=\"submitSuccessed()\"\n></igo-context-edit>\n" }]
184
+ args: [{ selector: 'igo-context-editor-tool', template: "<igo-context-edit\r\n igoContextEditBinding\r\n (submitSuccessed)=\"submitSuccessed()\"\r\n></igo-context-edit>\r\n" }]
185
185
  }], function () { return [{ type: ToolState }]; }, null); })();
186
186
 
187
187
  // import { BehaviorSubject } from 'rxjs';
@@ -257,7 +257,7 @@ ContextManagerToolComponent = __decorate([
257
257
  ], ContextManagerToolComponent);
258
258
  (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ContextManagerToolComponent, [{
259
259
  type: Component,
260
- 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" }]
260
+ 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" }]
261
261
  }], function () { return [{ type: ToolState }, { type: MapState }]; }, { toolToOpenOnContextChange: [{
262
262
  type: Input
263
263
  }] }); })();
@@ -278,7 +278,7 @@ ContextPermissionManagerToolComponent = __decorate([
278
278
  ], ContextPermissionManagerToolComponent);
279
279
  (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ContextPermissionManagerToolComponent, [{
280
280
  type: Component,
281
- args: [{ selector: 'igo-context-permission-manager-tool', template: "<igo-context-permissions igoContextPermissionsBinding></igo-context-permissions>\n" }]
281
+ args: [{ selector: 'igo-context-permission-manager-tool', template: "<igo-context-permissions igoContextPermissionsBinding></igo-context-permissions>\r\n" }]
282
282
  }], null, null); })();
283
283
 
284
284
  /**
@@ -343,7 +343,7 @@ ContextShareToolComponent = __decorate([
343
343
  ], ContextShareToolComponent);
344
344
  (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ContextShareToolComponent, [{
345
345
  type: Component,
346
- args: [{ selector: 'igo-context-share-tool', template: "<igo-share-map\n [map]=\"map\"></igo-share-map>\n" }]
346
+ args: [{ selector: 'igo-context-share-tool', template: "<igo-share-map\r\n [map]=\"map\"></igo-share-map>\r\n" }]
347
347
  }], function () { return [{ type: MapState }, { type: LayerListToolState }]; }, null); })();
348
348
 
349
349
  class IgoAppContextModule {
@@ -500,7 +500,7 @@ CatalogLibraryToolComponent = __decorate([
500
500
  ], CatalogLibraryToolComponent);
501
501
  (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(CatalogLibraryToolComponent, [{
502
502
  type: Component,
503
- 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" }]
503
+ 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" }]
504
504
  }], function () { return [{ type: i1$1.CatalogService }, { type: CatalogState }, { type: ToolState }, { type: i2.StorageService }]; }, { addCatalogAllowed: [{
505
505
  type: Input
506
506
  }], predefinedCatalogs: [{
@@ -616,7 +616,7 @@ CatalogBrowserToolComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type:
616
616
  i0.ɵɵpipe(1, "async");
617
617
  } if (rf & 2) {
618
618
  i0.ɵɵproperty("ngIf", i0.ɵɵpipeBind1(1, 1, ctx.store$));
619
- } }, dependencies: [i6.NgIf, i1$1.CatalogBrowserComponent, i6.AsyncPipe], encapsulation: 2, changeDetection: 0 });
619
+ } }, dependencies: [i8.NgIf, i1$1.CatalogBrowserComponent, i8.AsyncPipe], encapsulation: 2, changeDetection: 0 });
620
620
  CatalogBrowserToolComponent = __decorate([
621
621
  ToolComponent({
622
622
  name: 'catalogBrowser',
@@ -627,7 +627,7 @@ CatalogBrowserToolComponent = __decorate([
627
627
  ], CatalogBrowserToolComponent);
628
628
  (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(CatalogBrowserToolComponent, [{
629
629
  type: Component,
630
- 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" }]
630
+ 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" }]
631
631
  }], function () { return [{ type: i1$1.CatalogService }, { type: CatalogState }, { type: MapState }, { type: i2$1.AuthService }]; }, { toggleCollapsedGroup: [{
632
632
  type: Input
633
633
  }] }); })();
@@ -860,10 +860,7 @@ let DirectionsToolComponent = class DirectionsToolComponent {
860
860
  ngOnInit() {
861
861
  const warningShown = this.storageService.get('direction.warning.shown');
862
862
  if (!warningShown) {
863
- const translate = this.languageService.translate;
864
- const title = translate.instant('igo.integration.directions.warning.title');
865
- const msg = translate.instant('igo.integration.directions.warning.message');
866
- this.messageService.info(msg, title, { timeOut: 20000 });
863
+ this.messageService.info('igo.integration.directions.warning.message', 'igo.integration.directions.warning.title', { timeOut: 20000 });
867
864
  this.storageService.set('direction.warning.shown', true, StorageScope.SESSION);
868
865
  }
869
866
  this.contextState.context$.subscribe(c => {
@@ -888,7 +885,7 @@ DirectionsToolComponent = __decorate([
888
885
  ], DirectionsToolComponent);
889
886
  (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(DirectionsToolComponent, [{
890
887
  type: Component,
891
- 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>" }]
888
+ 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>" }]
892
889
  }], function () { return [{ type: DirectionState }, { type: MapState }, { type: i2.LanguageService }, { type: i2.MessageService }, { type: i2.StorageService }, { type: ContextState }, { type: i2$1.AuthService }]; }, null); })();
893
890
 
894
891
  class IgoAppDirectionsModule {
@@ -1009,7 +1006,7 @@ DrawingToolComponent = __decorate([
1009
1006
  ], DrawingToolComponent);
1010
1007
  (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(DrawingToolComponent, [{
1011
1008
  type: Component,
1012
- 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" }]
1009
+ 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" }]
1013
1010
  }], function () { return [{ type: DrawState }, { type: MapState }]; }, null); })();
1014
1011
 
1015
1012
  class IgoAppDrawModule {
@@ -1707,10 +1704,10 @@ WorkspaceButtonComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: Wo
1707
1704
  i0.ɵɵpipe(1, "async");
1708
1705
  } if (rf & 2) {
1709
1706
  i0.ɵɵproperty("ngIf", i0.ɵɵpipeBind1(1, 1, ctx.hasWorkspace$));
1710
- } }, dependencies: [i6.NgIf, i7.MatIcon, i10.MatButton, i5.MatTooltip, i6.AsyncPipe, i8.TranslatePipe], changeDetection: 0 });
1707
+ } }, dependencies: [i8.NgIf, i7.MatIcon, i10.MatButton, i5.MatTooltip, i8.AsyncPipe, i12.TranslatePipe], changeDetection: 0 });
1711
1708
  (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(WorkspaceButtonComponent, [{
1712
1709
  type: Component,
1713
- 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" }]
1710
+ 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" }]
1714
1711
  }], function () { return [{ type: WorkspaceState }]; }, { layer: [{
1715
1712
  type: Input
1716
1713
  }], color: [{
@@ -1753,19 +1750,20 @@ function ImportExportToolComponent_mat_tab_group_0_Template(rf, ctx) { if (rf &
1753
1750
  i0.ɵɵelementStart(3, "igo-import-export", 4);
1754
1751
  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)); });
1755
1752
  i0.ɵɵpipe(4, "async");
1753
+ i0.ɵɵpipe(5, "async");
1756
1754
  i0.ɵɵelementEnd()();
1757
- i0.ɵɵelementStart(5, "mat-tab", 3);
1758
- i0.ɵɵpipe(6, "translate");
1759
- i0.ɵɵelement(7, "igo-context-import-export", 5);
1755
+ i0.ɵɵelementStart(6, "mat-tab", 3);
1756
+ i0.ɵɵpipe(7, "translate");
1757
+ i0.ɵɵelement(8, "igo-context-import-export", 5);
1760
1758
  i0.ɵɵelementEnd()();
1761
1759
  } if (rf & 2) {
1762
1760
  const ctx_r0 = i0.ɵɵnextContext();
1763
1761
  i0.ɵɵadvance(1);
1764
- i0.ɵɵproperty("label", i0.ɵɵpipeBind1(2, 9, "igo.integration.importExportTool.importExportData"));
1765
- i0.ɵɵadvance(2);
1766
- 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$);
1762
+ i0.ɵɵproperty("label", i0.ɵɵpipeBind1(2, 10, "igo.integration.importExportTool.importExportData"));
1767
1763
  i0.ɵɵadvance(2);
1768
- i0.ɵɵproperty("label", i0.ɵɵpipeBind1(6, 13, "igo.integration.importExportTool.importExportContext"));
1764
+ 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$);
1765
+ i0.ɵɵadvance(3);
1766
+ i0.ɵɵproperty("label", i0.ɵɵpipeBind1(7, 16, "igo.integration.importExportTool.importExportContext"));
1769
1767
  i0.ɵɵadvance(2);
1770
1768
  i0.ɵɵproperty("map", ctx_r0.map);
1771
1769
  } }
@@ -1774,10 +1772,11 @@ function ImportExportToolComponent_igo_import_export_1_Template(rf, ctx) { if (r
1774
1772
  i0.ɵɵelementStart(0, "igo-import-export", 6);
1775
1773
  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)); });
1776
1774
  i0.ɵɵpipe(1, "async");
1775
+ i0.ɵɵpipe(2, "async");
1777
1776
  i0.ɵɵelementEnd();
1778
1777
  } if (rf & 2) {
1779
1778
  const ctx_r1 = i0.ɵɵnextContext();
1780
- i0.ɵɵproperty("map", ctx_r1.map)("store", ctx_r1.workspaceStore)("selectedMode", i0.ɵɵpipeBind1(1, 4, ctx_r1.importExportState.selectedMode$))("exportOptions$", ctx_r1.importExportState.exportOptions$);
1779
+ 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$);
1781
1780
  } }
1782
1781
  function ImportExportToolComponent_igo_context_import_export_2_Template(rf, ctx) { if (rf & 1) {
1783
1782
  i0.ɵɵelement(0, "igo-context-import-export", 5);
@@ -1786,10 +1785,11 @@ function ImportExportToolComponent_igo_context_import_export_2_Template(rf, ctx)
1786
1785
  i0.ɵɵproperty("map", ctx_r2.map);
1787
1786
  } }
1788
1787
  let ImportExportToolComponent = class ImportExportToolComponent {
1789
- constructor(mapState, importExportState, workspaceState) {
1788
+ constructor(mapState, importExportState, workspaceState, contextState) {
1790
1789
  this.mapState = mapState;
1791
1790
  this.importExportState = importExportState;
1792
1791
  this.workspaceState = workspaceState;
1792
+ this.contextState = contextState;
1793
1793
  this.selectFirstProj = false;
1794
1794
  this.importExportType = ImportExportType.layer;
1795
1795
  this.importExportShowBothType = true;
@@ -1837,10 +1837,10 @@ let ImportExportToolComponent = class ImportExportToolComponent {
1837
1837
  this.importExportType = event.value;
1838
1838
  }
1839
1839
  };
1840
- ImportExportToolComponent.ɵfac = function ImportExportToolComponent_Factory(t) { return new (t || ImportExportToolComponent)(i0.ɵɵdirectiveInject(MapState), i0.ɵɵdirectiveInject(ImportExportState), i0.ɵɵdirectiveInject(WorkspaceState)); };
1841
- 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) { if (rf & 1) {
1842
- i0.ɵɵtemplate(0, ImportExportToolComponent_mat_tab_group_0_Template, 8, 15, "mat-tab-group", 0);
1843
- i0.ɵɵtemplate(1, ImportExportToolComponent_igo_import_export_1_Template, 2, 6, "igo-import-export", 1);
1840
+ ImportExportToolComponent.ɵfac = function ImportExportToolComponent_Factory(t) { return new (t || ImportExportToolComponent)(i0.ɵɵdirectiveInject(MapState), i0.ɵɵdirectiveInject(ImportExportState), i0.ɵɵdirectiveInject(WorkspaceState), i0.ɵɵdirectiveInject(ContextState)); };
1841
+ 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) { if (rf & 1) {
1842
+ i0.ɵɵtemplate(0, ImportExportToolComponent_mat_tab_group_0_Template, 9, 18, "mat-tab-group", 0);
1843
+ i0.ɵɵtemplate(1, ImportExportToolComponent_igo_import_export_1_Template, 3, 9, "igo-import-export", 1);
1844
1844
  i0.ɵɵtemplate(2, ImportExportToolComponent_igo_context_import_export_2_Template, 1, 1, "igo-context-import-export", 2);
1845
1845
  } if (rf & 2) {
1846
1846
  i0.ɵɵproperty("ngIf", ctx.importExportShowBothType);
@@ -1848,7 +1848,7 @@ ImportExportToolComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: I
1848
1848
  i0.ɵɵproperty("ngIf", !ctx.importExportShowBothType && ctx.importExportType === "layer");
1849
1849
  i0.ɵɵadvance(1);
1850
1850
  i0.ɵɵproperty("ngIf", !ctx.importExportShowBothType && ctx.importExportType === "context");
1851
- } }, dependencies: [i1$1.ImportExportComponent, i1.ContextImportExportComponent, i6.NgIf, i7$1.MatTabGroup, i7$1.MatTab, i6.AsyncPipe, i8.TranslatePipe], styles: ["mat-form-field[_ngcontent-%COMP%]{width:100%}"], changeDetection: 0 });
1851
+ } }, 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 });
1852
1852
  ImportExportToolComponent = __decorate([
1853
1853
  ToolComponent({
1854
1854
  name: 'importExport',
@@ -1858,8 +1858,8 @@ ImportExportToolComponent = __decorate([
1858
1858
  ], ImportExportToolComponent);
1859
1859
  (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ImportExportToolComponent, [{
1860
1860
  type: Component,
1861
- 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"] }]
1862
- }], function () { return [{ type: MapState }, { type: ImportExportState }, { type: WorkspaceState }]; }, { projectionsLimitations: [{
1861
+ 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"] }]
1862
+ }], function () { return [{ type: MapState }, { type: ImportExportState }, { type: WorkspaceState }, { type: ContextState }]; }, { projectionsLimitations: [{
1863
1863
  type: Input
1864
1864
  }], selectFirstProj: [{
1865
1865
  type: Input
@@ -1884,7 +1884,8 @@ IgoAppImportExportModule.ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ imports:
1884
1884
  CommonModule,
1885
1885
  IgoLanguageModule,
1886
1886
  MatButtonToggleModule,
1887
- MatTabsModule] });
1887
+ MatTabsModule,
1888
+ IgoStyleModule] });
1888
1889
  (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(IgoAppImportExportModule, [{
1889
1890
  type: NgModule,
1890
1891
  args: [{
@@ -1894,7 +1895,8 @@ IgoAppImportExportModule.ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ imports:
1894
1895
  CommonModule,
1895
1896
  IgoLanguageModule,
1896
1897
  MatButtonToggleModule,
1897
- MatTabsModule
1898
+ MatTabsModule,
1899
+ IgoStyleModule
1898
1900
  ],
1899
1901
  declarations: [ImportExportToolComponent],
1900
1902
  exports: [ImportExportToolComponent],
@@ -1906,7 +1908,8 @@ IgoAppImportExportModule.ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ imports:
1906
1908
  CommonModule,
1907
1909
  IgoLanguageModule,
1908
1910
  MatButtonToggleModule,
1909
- MatTabsModule], exports: [ImportExportToolComponent] }); })();
1911
+ MatTabsModule,
1912
+ IgoStyleModule], exports: [ImportExportToolComponent] }); })();
1910
1913
 
1911
1914
  function MapDetailsToolComponent_igo_layer_list_0_ng_template_1_Template(rf, ctx) { if (rf & 1) {
1912
1915
  const _r7 = i0.ɵɵgetCurrentView();
@@ -2117,7 +2120,7 @@ MapDetailsToolComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: Map
2117
2120
  } if (rf & 2) {
2118
2121
  const _r1 = i0.ɵɵreference(3);
2119
2122
  i0.ɵɵproperty("ngIf", i0.ɵɵpipeBind1(1, 2, ctx.layers$).length)("ngIfElse", _r1);
2120
- } }, dependencies: [i6.NgIf, i6$1.MatList, i6$1.MatListItem, i8$1.MatLine, i6$1.MatListIconCssMatStyler, i7.MatIcon, i1$1.LayerListComponent, i1$1.LayerListBindingDirective, i1$1.TrackFeatureButtonComponent, i1$1.MetadataButtonComponent, i1$1.ExportButtonComponent, i1$1.TimeFilterButtonComponent, i1$1.OgcFilterButtonComponent, WorkspaceButtonComponent, i6.AsyncPipe, i8.TranslatePipe], styles: [".map-empty[_ngcontent-%COMP%], .search-tool[_ngcontent-%COMP%], .catalog-tool[_ngcontent-%COMP%], .context-tool[_ngcontent-%COMP%]{margin:10px}.map-empty[_ngcontent-%COMP%]{text-align:justify}.search-tool[_ngcontent-%COMP%], .catalog-tool[_ngcontent-%COMP%], .context-tool[_ngcontent-%COMP%]{cursor:pointer}mat-list[_ngcontent-%COMP%] mat-list-item[_ngcontent-%COMP%] h4[_ngcontent-%COMP%]{font-weight:700}mat-list-item[_ngcontent-%COMP%] .mat-list-text{font-size:smaller}mat-list.mat-list-base[_ngcontent-%COMP%] mat-list-item.mat-list-item[_ngcontent-%COMP%] div.mat-list-item-content div.mat-list-text{padding-left:5px}.mapDetailsList[_ngcontent-%COMP%]{overflow:hidden}"] });
2123
+ } }, 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}"] });
2121
2124
  MapDetailsToolComponent = __decorate([
2122
2125
  ToolComponent({
2123
2126
  name: 'mapDetails',
@@ -2127,7 +2130,7 @@ MapDetailsToolComponent = __decorate([
2127
2130
  ], MapDetailsToolComponent);
2128
2131
  (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(MapDetailsToolComponent, [{
2129
2132
  type: Component,
2130
- 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"] }]
2133
+ 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"] }]
2131
2134
  }], function () { return [{ type: MapState }, { type: ToolState }, { type: i1$1.SearchSourceService }, { type: i0.ChangeDetectorRef }, { type: ImportExportState }]; }, { toggleLegendOnVisibilityChange: [{
2132
2135
  type: Input
2133
2136
  }], expandLegendOfVisibleLayers: [{
@@ -2234,7 +2237,7 @@ MapToolComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: MapToolCom
2234
2237
  i0.ɵɵproperty("map", ctx.map)("excludeBaseLayers", ctx.excludeBaseLayers)("layerFilterAndSortOptions", ctx.layerFilterAndSortOptions)("expandLegendOfVisibleLayers", ctx.expandLegendOfVisibleLayers)("toggleLegendOnVisibilityChange", ctx.toggleLegendOnVisibilityChange)("updateLegendOnResolutionChange", ctx.updateLegendOnResolutionChange)("floatLabel", false)("queryBadge", ctx.queryBadge);
2235
2238
  i0.ɵɵadvance(3);
2236
2239
  i0.ɵɵproperty("label", i0.ɵɵpipeBind1(7, 12, "igo.integration.tools.contexts"));
2237
- } }, dependencies: [i7$1.MatTabGroup, i7$1.MatTab, i1$1.LayerListComponent, i1$1.LayerListBindingDirective, i1$1.TrackFeatureButtonComponent, i1$1.MetadataButtonComponent, i1$1.ExportButtonComponent, i1$1.TimeFilterButtonComponent, i1$1.OgcFilterButtonComponent, i1.ContextListComponent, i1.ContextListBindingDirective, WorkspaceButtonComponent, i8.TranslatePipe], styles: ["mat-tab-group[_ngcontent-%COMP%], mat-tab-group[_ngcontent-%COMP%] .mat-tab-body-wrapper{height:100%;overflow:hidden}[_nghost-%COMP%] .mat-tab-body-content{overflow:hidden}"], changeDetection: 0 });
2240
+ } }, 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 });
2238
2241
  MapToolComponent = __decorate([
2239
2242
  ToolComponent({
2240
2243
  name: 'map',
@@ -2244,7 +2247,7 @@ MapToolComponent = __decorate([
2244
2247
  ], MapToolComponent);
2245
2248
  (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(MapToolComponent, [{
2246
2249
  type: Component,
2247
- 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"] }]
2250
+ 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"] }]
2248
2251
  }], function () { return [{ type: MapState }, { type: ToolState }, { type: ImportExportState }]; }, { toggleLegendOnVisibilityChange: [{
2249
2252
  type: Input
2250
2253
  }], expandLegendOfVisibleLayers: [{
@@ -2262,44 +2265,53 @@ MapToolComponent = __decorate([
2262
2265
  }] }); })();
2263
2266
 
2264
2267
  const _c0$2 = ["tabGroup"];
2265
- function MapToolsComponent_igo_layer_list_5_ng_template_1_igo_time_filter_button_2_Template(rf, ctx) { if (rf & 1) {
2266
- const _r14 = i0.ɵɵgetCurrentView();
2267
- i0.ɵɵelementStart(0, "igo-time-filter-button", 14);
2268
- 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()); });
2269
- i0.ɵɵelementEnd();
2268
+ function MapToolsComponent_igo_layer_list_5_ng_template_1_igo_style_modal_layer_button_0_Template(rf, ctx) { if (rf & 1) {
2269
+ i0.ɵɵelement(0, "igo-style-modal-layer-button", 11);
2270
2270
  } if (rf & 2) {
2271
2271
  const layer_r9 = i0.ɵɵnextContext().layer;
2272
- const ctx_r10 = i0.ɵɵnextContext(2);
2273
- i0.ɵɵproperty("header", ctx_r10.timeButton)("layer", layer_r9);
2272
+ i0.ɵɵproperty("layer", layer_r9);
2274
2273
  } }
2275
- function MapToolsComponent_igo_layer_list_5_ng_template_1_igo_ogc_filter_button_3_Template(rf, ctx) { if (rf & 1) {
2276
- const _r17 = i0.ɵɵgetCurrentView();
2277
- i0.ɵɵelementStart(0, "igo-ogc-filter-button", 14);
2278
- 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()); });
2274
+ function MapToolsComponent_igo_layer_list_5_ng_template_1_igo_time_filter_button_3_Template(rf, ctx) { if (rf & 1) {
2275
+ const _r16 = i0.ɵɵgetCurrentView();
2276
+ i0.ɵɵelementStart(0, "igo-time-filter-button", 15);
2277
+ 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()); });
2279
2278
  i0.ɵɵelementEnd();
2280
2279
  } if (rf & 2) {
2281
2280
  const layer_r9 = i0.ɵɵnextContext().layer;
2282
2281
  const ctx_r11 = i0.ɵɵnextContext(2);
2283
- i0.ɵɵproperty("header", ctx_r11.ogcButton)("layer", layer_r9);
2282
+ i0.ɵɵproperty("header", ctx_r11.timeButton)("layer", layer_r9);
2284
2283
  } }
2285
- function MapToolsComponent_igo_layer_list_5_ng_template_1_igo_export_button_4_Template(rf, ctx) { if (rf & 1) {
2286
- const _r21 = i0.ɵɵgetCurrentView();
2287
- i0.ɵɵelementStart(0, "igo-export-button", 15);
2288
- 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)); });
2284
+ function MapToolsComponent_igo_layer_list_5_ng_template_1_igo_ogc_filter_button_4_Template(rf, ctx) { if (rf & 1) {
2285
+ const _r19 = i0.ɵɵgetCurrentView();
2286
+ i0.ɵɵelementStart(0, "igo-ogc-filter-button", 15);
2287
+ 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()); });
2288
+ i0.ɵɵelementEnd();
2289
+ } if (rf & 2) {
2290
+ const layer_r9 = i0.ɵɵnextContext().layer;
2291
+ const ctx_r12 = i0.ɵɵnextContext(2);
2292
+ i0.ɵɵproperty("header", ctx_r12.ogcButton)("layer", layer_r9);
2293
+ } }
2294
+ function MapToolsComponent_igo_layer_list_5_ng_template_1_igo_export_button_5_Template(rf, ctx) { if (rf & 1) {
2295
+ const _r23 = i0.ɵɵgetCurrentView();
2296
+ i0.ɵɵelementStart(0, "igo-export-button", 16);
2297
+ 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)); });
2289
2298
  i0.ɵɵelementEnd();
2290
2299
  } if (rf & 2) {
2291
2300
  const layer_r9 = i0.ɵɵnextContext().layer;
2292
2301
  i0.ɵɵproperty("layer", layer_r9);
2293
2302
  } }
2294
2303
  function MapToolsComponent_igo_layer_list_5_ng_template_1_Template(rf, ctx) { if (rf & 1) {
2295
- i0.ɵɵelement(0, "igo-metadata-button", 10)(1, "igo-track-feature-button", 11);
2296
- i0.ɵɵtemplate(2, MapToolsComponent_igo_layer_list_5_ng_template_1_igo_time_filter_button_2_Template, 1, 2, "igo-time-filter-button", 12);
2297
- i0.ɵɵtemplate(3, MapToolsComponent_igo_layer_list_5_ng_template_1_igo_ogc_filter_button_3_Template, 1, 2, "igo-ogc-filter-button", 12);
2298
- i0.ɵɵtemplate(4, MapToolsComponent_igo_layer_list_5_ng_template_1_igo_export_button_4_Template, 1, 1, "igo-export-button", 13);
2299
- i0.ɵɵelement(5, "igo-workspace-button", 10);
2304
+ 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);
2305
+ i0.ɵɵelement(1, "igo-metadata-button", 11)(2, "igo-track-feature-button", 12);
2306
+ i0.ɵɵtemplate(3, MapToolsComponent_igo_layer_list_5_ng_template_1_igo_time_filter_button_3_Template, 1, 2, "igo-time-filter-button", 13);
2307
+ i0.ɵɵtemplate(4, MapToolsComponent_igo_layer_list_5_ng_template_1_igo_ogc_filter_button_4_Template, 1, 2, "igo-ogc-filter-button", 13);
2308
+ i0.ɵɵtemplate(5, MapToolsComponent_igo_layer_list_5_ng_template_1_igo_export_button_5_Template, 1, 1, "igo-export-button", 14);
2309
+ i0.ɵɵelement(6, "igo-workspace-button", 11);
2300
2310
  } if (rf & 2) {
2301
2311
  const layer_r9 = ctx.layer;
2302
2312
  const ctx_r8 = i0.ɵɵnextContext(2);
2313
+ i0.ɵɵproperty("ngIf", ctx_r8.isStyleEditButton(layer_r9));
2314
+ i0.ɵɵadvance(1);
2303
2315
  i0.ɵɵproperty("layer", layer_r9);
2304
2316
  i0.ɵɵadvance(1);
2305
2317
  i0.ɵɵproperty("trackFeature", true)("layer", layer_r9);
@@ -2313,19 +2325,19 @@ function MapToolsComponent_igo_layer_list_5_ng_template_1_Template(rf, ctx) { if
2313
2325
  i0.ɵɵproperty("layer", layer_r9);
2314
2326
  } }
2315
2327
  function MapToolsComponent_igo_layer_list_5_Template(rf, ctx) { if (rf & 1) {
2316
- const _r24 = i0.ɵɵgetCurrentView();
2328
+ const _r26 = i0.ɵɵgetCurrentView();
2317
2329
  i0.ɵɵelementStart(0, "igo-layer-list", 8);
2318
- 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)); });
2319
- i0.ɵɵtemplate(1, MapToolsComponent_igo_layer_list_5_ng_template_1_Template, 6, 7, "ng-template", null, 9, i0.ɵɵtemplateRefExtractor);
2330
+ 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)); });
2331
+ i0.ɵɵtemplate(1, MapToolsComponent_igo_layer_list_5_ng_template_1_Template, 7, 8, "ng-template", null, 9, i0.ɵɵtemplateRefExtractor);
2320
2332
  i0.ɵɵelementEnd();
2321
2333
  } if (rf & 2) {
2322
2334
  const ctx_r1 = i0.ɵɵnextContext();
2323
2335
  i0.ɵɵproperty("excludeBaseLayers", ctx_r1.excludeBaseLayers)("layerFilterAndSortOptions", ctx_r1.layerFilterAndSortOptions)("expandLegendOfVisibleLayers", ctx_r1.expandLegendOfVisibleLayers)("toggleLegendOnVisibilityChange", ctx_r1.toggleLegendOnVisibilityChange)("updateLegendOnResolutionChange", ctx_r1.updateLegendOnResolutionChange)("floatLabel", false)("queryBadge", ctx_r1.queryBadge)("map", ctx_r1.map);
2324
2336
  } }
2325
2337
  function MapToolsComponent_igo_layer_legend_list_9_Template(rf, ctx) { if (rf & 1) {
2326
- const _r26 = i0.ɵɵgetCurrentView();
2327
- i0.ɵɵelementStart(0, "igo-layer-legend-list", 16);
2328
- 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)); });
2338
+ const _r28 = i0.ɵɵgetCurrentView();
2339
+ i0.ɵɵelementStart(0, "igo-layer-legend-list", 17);
2340
+ 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)); });
2329
2341
  i0.ɵɵpipe(1, "async");
2330
2342
  i0.ɵɵelementEnd();
2331
2343
  } if (rf & 2) {
@@ -2337,7 +2349,7 @@ function MapToolsComponent_10_Template(rf, ctx) { if (rf & 1) {
2337
2349
  i0.ɵɵtemplate(0, MapToolsComponent_10_ng_template_0_Template, 0, 0, "ng-template");
2338
2350
  } }
2339
2351
  function MapToolsComponent_p_12_Template(rf, ctx) { if (rf & 1) {
2340
- i0.ɵɵelementStart(0, "p", 17);
2352
+ i0.ɵɵelementStart(0, "p", 18);
2341
2353
  i0.ɵɵtext(1);
2342
2354
  i0.ɵɵpipe(2, "async");
2343
2355
  i0.ɵɵpipe(3, "translate");
@@ -2349,7 +2361,7 @@ function MapToolsComponent_p_12_Template(rf, ctx) { if (rf & 1) {
2349
2361
  i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(2, 1, ctx_r4.visibleLayers$).length ? i0.ɵɵpipeBind1(3, 3, "igo.integration.mapTool.noLayersInRange") : i0.ɵɵpipeBind1(4, 5, "igo.integration.mapTool.noLayersVisible"), " ");
2350
2362
  } }
2351
2363
  function MapToolsComponent_ng_template_15_mat_list_0_p_4_Template(rf, ctx) { if (rf & 1) {
2352
- i0.ɵɵelementStart(0, "p", 17);
2364
+ i0.ɵɵelementStart(0, "p", 18);
2353
2365
  i0.ɵɵtext(1);
2354
2366
  i0.ɵɵpipe(2, "translate");
2355
2367
  i0.ɵɵelementEnd();
@@ -2358,15 +2370,15 @@ function MapToolsComponent_ng_template_15_mat_list_0_p_4_Template(rf, ctx) { if
2358
2370
  i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(2, 1, "igo.integration.mapTool.customize"), "");
2359
2371
  } }
2360
2372
  function MapToolsComponent_ng_template_15_mat_list_0_mat_list_item_5_Template(rf, ctx) { if (rf & 1) {
2361
- const _r34 = i0.ɵɵgetCurrentView();
2362
- i0.ɵɵelementStart(0, "mat-list-item")(1, "mat-icon", 19);
2373
+ const _r36 = i0.ɵɵgetCurrentView();
2374
+ i0.ɵɵelementStart(0, "mat-list-item")(1, "mat-icon", 20);
2363
2375
  i0.ɵɵnamespaceSVG();
2364
- i0.ɵɵelementStart(2, "svg", 20);
2365
- i0.ɵɵelement(3, "path", 21);
2376
+ i0.ɵɵelementStart(2, "svg", 21);
2377
+ i0.ɵɵelement(3, "path", 22);
2366
2378
  i0.ɵɵelementEnd()();
2367
2379
  i0.ɵɵnamespaceHTML();
2368
- i0.ɵɵelementStart(4, "h4", 22);
2369
- 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()); });
2380
+ i0.ɵɵelementStart(4, "h4", 23);
2381
+ 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()); });
2370
2382
  i0.ɵɵtext(5);
2371
2383
  i0.ɵɵpipe(6, "translate");
2372
2384
  i0.ɵɵelementEnd()();
@@ -2375,15 +2387,15 @@ function MapToolsComponent_ng_template_15_mat_list_0_mat_list_item_5_Template(rf
2375
2387
  i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(6, 1, "igo.integration.mapTool.search-tool"), " ");
2376
2388
  } }
2377
2389
  function MapToolsComponent_ng_template_15_mat_list_0_mat_list_item_6_Template(rf, ctx) { if (rf & 1) {
2378
- const _r36 = i0.ɵɵgetCurrentView();
2379
- i0.ɵɵelementStart(0, "mat-list-item")(1, "mat-icon", 19);
2390
+ const _r38 = i0.ɵɵgetCurrentView();
2391
+ i0.ɵɵelementStart(0, "mat-list-item")(1, "mat-icon", 20);
2380
2392
  i0.ɵɵnamespaceSVG();
2381
- i0.ɵɵelementStart(2, "svg", 20);
2382
- i0.ɵɵelement(3, "path", 23);
2393
+ i0.ɵɵelementStart(2, "svg", 21);
2394
+ i0.ɵɵelement(3, "path", 24);
2383
2395
  i0.ɵɵelementEnd()();
2384
2396
  i0.ɵɵnamespaceHTML();
2385
- i0.ɵɵelementStart(4, "h4", 24);
2386
- 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()); });
2397
+ i0.ɵɵelementStart(4, "h4", 25);
2398
+ 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()); });
2387
2399
  i0.ɵɵtext(5);
2388
2400
  i0.ɵɵpipe(6, "translate");
2389
2401
  i0.ɵɵelementEnd()();
@@ -2392,15 +2404,15 @@ function MapToolsComponent_ng_template_15_mat_list_0_mat_list_item_6_Template(rf
2392
2404
  i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(6, 1, "igo.integration.mapTool.catalog-tool"), " ");
2393
2405
  } }
2394
2406
  function MapToolsComponent_ng_template_15_mat_list_0_mat_list_item_7_Template(rf, ctx) { if (rf & 1) {
2395
- const _r38 = i0.ɵɵgetCurrentView();
2396
- i0.ɵɵelementStart(0, "mat-list-item")(1, "mat-icon", 19);
2407
+ const _r40 = i0.ɵɵgetCurrentView();
2408
+ i0.ɵɵelementStart(0, "mat-list-item")(1, "mat-icon", 20);
2397
2409
  i0.ɵɵnamespaceSVG();
2398
- i0.ɵɵelementStart(2, "svg", 20);
2399
- i0.ɵɵelement(3, "path", 25);
2410
+ i0.ɵɵelementStart(2, "svg", 21);
2411
+ i0.ɵɵelement(3, "path", 26);
2400
2412
  i0.ɵɵelementEnd()();
2401
2413
  i0.ɵɵnamespaceHTML();
2402
- i0.ɵɵelementStart(4, "h4", 26);
2403
- 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()); });
2414
+ i0.ɵɵelementStart(4, "h4", 27);
2415
+ 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()); });
2404
2416
  i0.ɵɵtext(5);
2405
2417
  i0.ɵɵpipe(6, "translate");
2406
2418
  i0.ɵɵelementEnd()();
@@ -2409,30 +2421,30 @@ function MapToolsComponent_ng_template_15_mat_list_0_mat_list_item_7_Template(rf
2409
2421
  i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(6, 1, "igo.integration.mapTool.context-tool"), " ");
2410
2422
  } }
2411
2423
  function MapToolsComponent_ng_template_15_mat_list_0_Template(rf, ctx) { if (rf & 1) {
2412
- i0.ɵɵelementStart(0, "mat-list")(1, "p", 17);
2424
+ i0.ɵɵelementStart(0, "mat-list")(1, "p", 18);
2413
2425
  i0.ɵɵtext(2);
2414
2426
  i0.ɵɵpipe(3, "translate");
2415
2427
  i0.ɵɵelementEnd();
2416
2428
  i0.ɵɵtemplate(4, MapToolsComponent_ng_template_15_mat_list_0_p_4_Template, 3, 3, "p", 6);
2417
- i0.ɵɵtemplate(5, MapToolsComponent_ng_template_15_mat_list_0_mat_list_item_5_Template, 7, 3, "mat-list-item", 18);
2418
- i0.ɵɵtemplate(6, MapToolsComponent_ng_template_15_mat_list_0_mat_list_item_6_Template, 7, 3, "mat-list-item", 18);
2419
- i0.ɵɵtemplate(7, MapToolsComponent_ng_template_15_mat_list_0_mat_list_item_7_Template, 7, 3, "mat-list-item", 18);
2429
+ i0.ɵɵtemplate(5, MapToolsComponent_ng_template_15_mat_list_0_mat_list_item_5_Template, 7, 3, "mat-list-item", 19);
2430
+ i0.ɵɵtemplate(6, MapToolsComponent_ng_template_15_mat_list_0_mat_list_item_6_Template, 7, 3, "mat-list-item", 19);
2431
+ i0.ɵɵtemplate(7, MapToolsComponent_ng_template_15_mat_list_0_mat_list_item_7_Template, 7, 3, "mat-list-item", 19);
2420
2432
  i0.ɵɵelementEnd();
2421
2433
  } if (rf & 2) {
2422
- const ctx_r28 = i0.ɵɵnextContext(2);
2434
+ const ctx_r30 = i0.ɵɵnextContext(2);
2423
2435
  i0.ɵɵadvance(2);
2424
2436
  i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(3, 5, "igo.integration.mapTool.empty"), "");
2425
2437
  i0.ɵɵadvance(2);
2426
- i0.ɵɵproperty("ngIf", ctx_r28.layerAdditionAllowed && (ctx_r28.searchToolInToolbar || ctx_r28.catalogToolInToolbar || ctx_r28.contextToolInToolbar));
2438
+ i0.ɵɵproperty("ngIf", ctx_r30.layerAdditionAllowed && (ctx_r30.searchToolInToolbar || ctx_r30.catalogToolInToolbar || ctx_r30.contextToolInToolbar));
2427
2439
  i0.ɵɵadvance(1);
2428
- i0.ɵɵproperty("ngIf", ctx_r28.layerAdditionAllowed && ctx_r28.searchToolInToolbar);
2440
+ i0.ɵɵproperty("ngIf", ctx_r30.layerAdditionAllowed && ctx_r30.searchToolInToolbar);
2429
2441
  i0.ɵɵadvance(1);
2430
- i0.ɵɵproperty("ngIf", ctx_r28.layerAdditionAllowed && ctx_r28.catalogToolInToolbar);
2442
+ i0.ɵɵproperty("ngIf", ctx_r30.layerAdditionAllowed && ctx_r30.catalogToolInToolbar);
2431
2443
  i0.ɵɵadvance(1);
2432
- i0.ɵɵproperty("ngIf", ctx_r28.layerAdditionAllowed && ctx_r28.contextToolInToolbar);
2444
+ i0.ɵɵproperty("ngIf", ctx_r30.layerAdditionAllowed && ctx_r30.contextToolInToolbar);
2433
2445
  } }
2434
2446
  function MapToolsComponent_ng_template_15_Template(rf, ctx) { if (rf & 1) {
2435
- i0.ɵɵtemplate(0, MapToolsComponent_ng_template_15_mat_list_0_Template, 8, 7, "mat-list", 18);
2447
+ i0.ɵɵtemplate(0, MapToolsComponent_ng_template_15_mat_list_0_Template, 8, 7, "mat-list", 19);
2436
2448
  } if (rf & 2) {
2437
2449
  const ctx_r6 = i0.ɵɵnextContext();
2438
2450
  i0.ɵɵproperty("ngIf", ctx_r6.delayedShowEmptyMapContent);
@@ -2638,6 +2650,14 @@ let MapToolsComponent = class MapToolsComponent {
2638
2650
  }
2639
2651
  return false;
2640
2652
  }
2653
+ isStyleEditButton(layer) {
2654
+ if (layer instanceof VectorLayer) {
2655
+ if (layer.options.igoStyle.editable) {
2656
+ return true;
2657
+ }
2658
+ }
2659
+ return false;
2660
+ }
2641
2661
  };
2642
2662
  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)); };
2643
2663
  MapToolsComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: MapToolsComponent, selectors: [["igo-map-tools"]], viewQuery: function MapToolsComponent_Query(rf, ctx) { if (rf & 1) {
@@ -2645,7 +2665,7 @@ MapToolsComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: MapToolsC
2645
2665
  } if (rf & 2) {
2646
2666
  let _t;
2647
2667
  i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.tabGroup = _t.first);
2648
- } }, 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) { if (rf & 1) {
2668
+ } }, 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) { if (rf & 1) {
2649
2669
  i0.ɵɵelementStart(0, "mat-tab-group", 0, 1);
2650
2670
  i0.ɵɵlistener("selectedTabChange", function MapToolsComponent_Template_mat_tab_group_selectedTabChange_0_listener($event) { return ctx.tabChanged($event); });
2651
2671
  i0.ɵɵpipe(2, "async");
@@ -2680,7 +2700,7 @@ MapToolsComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: MapToolsC
2680
2700
  i0.ɵɵproperty("ngIf", i0.ɵɵpipeBind1(11, 17, ctx.layers$).length !== 0)("ngIfElse", _r5);
2681
2701
  i0.ɵɵadvance(2);
2682
2702
  i0.ɵɵproperty("ngIf", !ctx.allowShowAllLegends && i0.ɵɵpipeBind1(13, 19, ctx.layers$).length !== 0 && i0.ɵɵpipeBind1(14, 21, ctx.visibleOrInRangeLayers$).length === 0);
2683
- } }, dependencies: [i6.NgIf, i7$1.MatTabGroup, i7$1.MatTab, i6$1.MatList, i6$1.MatListItem, i8$1.MatLine, i6$1.MatListIconCssMatStyler, i7.MatIcon, i1$1.LayerListComponent, i1$1.LayerLegendListComponent, i1$1.LayerListBindingDirective, i1$1.LayerLegendListBindingDirective, i1$1.TrackFeatureButtonComponent, i1$1.MetadataButtonComponent, i1$1.ExportButtonComponent, i1$1.TimeFilterButtonComponent, i1$1.OgcFilterButtonComponent, WorkspaceButtonComponent, i6.AsyncPipe, i8.TranslatePipe], styles: [".map-empty[_ngcontent-%COMP%], .search-tool[_ngcontent-%COMP%], .catalog-tool[_ngcontent-%COMP%], .context-tool[_ngcontent-%COMP%]{margin:10px}.map-empty[_ngcontent-%COMP%]{text-align:justify}.search-tool[_ngcontent-%COMP%], .catalog-tool[_ngcontent-%COMP%], .context-tool[_ngcontent-%COMP%]{cursor:pointer}mat-list[_ngcontent-%COMP%] mat-list-item[_ngcontent-%COMP%] h4[_ngcontent-%COMP%]{font-weight:700}mat-list-item[_ngcontent-%COMP%] .mat-list-text{font-size:smaller}mat-list.mat-list-base[_ngcontent-%COMP%] mat-list-item.mat-list-item[_ngcontent-%COMP%] div.mat-list-item-content div.mat-list-text{padding-left:5px}mat-tab-group[_ngcontent-%COMP%], mat-tab-group[_ngcontent-%COMP%] .mat-tab-body-wrapper{height:100%;overflow:hidden}[_nghost-%COMP%] .mat-tab-body-content{overflow:hidden}"], changeDetection: 0 });
2703
+ } }, 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 });
2684
2704
  MapToolsComponent = __decorate([
2685
2705
  ToolComponent({
2686
2706
  name: 'mapTools',
@@ -2690,7 +2710,7 @@ MapToolsComponent = __decorate([
2690
2710
  ], MapToolsComponent);
2691
2711
  (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(MapToolsComponent, [{
2692
2712
  type: Component,
2693
- 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"] }]
2713
+ 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"] }]
2694
2714
  }], function () { return [{ type: LayerListToolState }, { type: ToolState }, { type: MapState }, { type: i1$1.SearchSourceService }, { type: ImportExportState }]; }, { allowShowAllLegends: [{
2695
2715
  type: Input
2696
2716
  }], showAllLegendsValue: [{
@@ -2954,7 +2974,7 @@ MapLegendToolComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: MapL
2954
2974
  i0.ɵɵproperty("ngIf", i0.ɵɵpipeBind1(2, 4, ctx.layers$).length !== 0)("ngIfElse", _r3);
2955
2975
  i0.ɵɵadvance(2);
2956
2976
  i0.ɵɵproperty("ngIf", !ctx.allowShowAllLegends && i0.ɵɵpipeBind1(4, 6, ctx.layers$).length !== 0 && i0.ɵɵpipeBind1(5, 8, ctx.visibleOrInRangeLayers$).length === 0);
2957
- } }, dependencies: [i6.NgIf, i6$1.MatList, i6$1.MatListItem, i8$1.MatLine, i6$1.MatListIconCssMatStyler, i7.MatIcon, i1$1.LayerLegendListComponent, i1$1.LayerLegendListBindingDirective, i6.AsyncPipe, i8.TranslatePipe], styles: [".map-empty[_ngcontent-%COMP%], .search-tool[_ngcontent-%COMP%], .catalog-tool[_ngcontent-%COMP%], .context-tool[_ngcontent-%COMP%]{margin:10px}.map-empty[_ngcontent-%COMP%]{text-align:justify}.search-tool[_ngcontent-%COMP%], .catalog-tool[_ngcontent-%COMP%], .context-tool[_ngcontent-%COMP%]{cursor:pointer}mat-list[_ngcontent-%COMP%] mat-list-item[_ngcontent-%COMP%] h4[_ngcontent-%COMP%]{font-weight:700}mat-list-item[_ngcontent-%COMP%] .mat-list-text{font-size:smaller}mat-list.mat-list-base[_ngcontent-%COMP%] mat-list-item.mat-list-item[_ngcontent-%COMP%] div.mat-list-item-content div.mat-list-text{padding-left:5px}"] });
2977
+ } }, 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}"] });
2958
2978
  MapLegendToolComponent = __decorate([
2959
2979
  ToolComponent({
2960
2980
  name: 'mapLegend',
@@ -2964,7 +2984,7 @@ MapLegendToolComponent = __decorate([
2964
2984
  ], MapLegendToolComponent);
2965
2985
  (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(MapLegendToolComponent, [{
2966
2986
  type: Component,
2967
- 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"] }]
2987
+ 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"] }]
2968
2988
  }], function () { return [{ type: MapState }, { type: ToolState }, { type: i1$1.SearchSourceService }, { type: i0.ChangeDetectorRef }]; }, { updateLegendOnResolutionChange: [{
2969
2989
  type: Input
2970
2990
  }], layerAdditionAllowed: [{
@@ -3173,15 +3193,15 @@ AdvancedSwipeComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: Adva
3173
3193
  } if (rf & 2) {
3174
3194
  const _r1 = i0.ɵɵreference(2);
3175
3195
  i0.ɵɵproperty("ngIf", ctx.userControlledLayerList.length)("ngIfElse", _r1);
3176
- } }, dependencies: [i3.ɵNgNoValidate, i3.NgControlStatus, i3.NgControlStatusGroup, i3.FormGroupDirective, i3.FormControlName, i5$1.MatDivider, i6$2.MatFormField, i6$2.MatLabel, i7$2.MatSelect, i8$1.MatOption, i6.NgForOf, i6.NgIf, i6$1.MatList, i6$1.MatListItem, i8$1.MatLine, i6$1.MatListIconCssMatStyler, i7.MatIcon, i12.MatSlideToggle, i8.TranslatePipe], styles: [".nameOfTool[_ngcontent-%COMP%]{text-align:center;font-weight:700;font-size:small;margin:15px 10px 0}.igo-swipe-select-container[_ngcontent-%COMP%]{padding:10px}.igo-swipe-select-container[_ngcontent-%COMP%] mat-form-field[_ngcontent-%COMP%]{width:100%}.igo-form[_ngcontent-%COMP%]{padding:1px 5px;width:100%}.swipe-toggle[_ngcontent-%COMP%]{padding:10px 5px 35px}.map-empty[_ngcontent-%COMP%], .search-tool[_ngcontent-%COMP%], .catalog-tool[_ngcontent-%COMP%], .context-tool[_ngcontent-%COMP%]{margin:5px}.map-empty[_ngcontent-%COMP%]{padding:10px;text-align:justify}.search-tool[_ngcontent-%COMP%], .catalog-tool[_ngcontent-%COMP%], .context-tool[_ngcontent-%COMP%]{cursor:pointer}mat-list[_ngcontent-%COMP%] mat-list-item[_ngcontent-%COMP%] h4[_ngcontent-%COMP%]{font-weight:700}mat-list-item[_ngcontent-%COMP%] .mat-list-text{font-size:smaller}mat-list.mat-list-base[_ngcontent-%COMP%] mat-list-item.mat-list-item[_ngcontent-%COMP%] div.mat-list-item-content div.mat-list-text{padding-left:15px}.advanced-tool-line[_ngcontent-%COMP%]{height:2px;background-color:gray}"] });
3196
+ } }, 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}"] });
3177
3197
  (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(AdvancedSwipeComponent, [{
3178
3198
  type: Component,
3179
- 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"] }]
3199
+ 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"] }]
3180
3200
  }], function () { return [{ type: MapState }, { type: i1.ContextService }, { type: i3.UntypedFormBuilder }, { type: ToolState }]; }, null); })();
3181
3201
 
3182
- function AdvancedCoordinatesComponent_mat_form_field_0_Template(rf, ctx) { if (rf & 1) {
3183
- i0.ɵɵelementStart(0, "mat-form-field", 12);
3184
- i0.ɵɵelement(1, "textarea", 13, 14);
3202
+ function AdvancedCoordinatesComponent_mat_form_field_2_Template(rf, ctx) { if (rf & 1) {
3203
+ i0.ɵɵelementStart(0, "mat-form-field", 14);
3204
+ i0.ɵɵelement(1, "textarea", 15, 16);
3185
3205
  i0.ɵɵpipe(3, "translate");
3186
3206
  i0.ɵɵelementEnd();
3187
3207
  } if (rf & 2) {
@@ -3189,9 +3209,9 @@ function AdvancedCoordinatesComponent_mat_form_field_0_Template(rf, ctx) { if (r
3189
3209
  i0.ɵɵadvance(1);
3190
3210
  i0.ɵɵproperty("placeholder", i0.ɵɵpipeBind1(3, 2, "igo.integration.advanced-map-tool.advanced-coordinates.lon"))("value", ctx_r0.coordinates[0]);
3191
3211
  } }
3192
- function AdvancedCoordinatesComponent_ng_template_1_Template(rf, ctx) { if (rf & 1) {
3193
- i0.ɵɵelementStart(0, "mat-form-field", 12);
3194
- i0.ɵɵelement(1, "textarea", 13, 14);
3212
+ function AdvancedCoordinatesComponent_ng_template_3_Template(rf, ctx) { if (rf & 1) {
3213
+ i0.ɵɵelementStart(0, "mat-form-field", 14);
3214
+ i0.ɵɵelement(1, "textarea", 15, 16);
3195
3215
  i0.ɵɵpipe(3, "translate");
3196
3216
  i0.ɵɵelementEnd();
3197
3217
  } if (rf & 2) {
@@ -3199,9 +3219,9 @@ function AdvancedCoordinatesComponent_ng_template_1_Template(rf, ctx) { if (rf &
3199
3219
  i0.ɵɵadvance(1);
3200
3220
  i0.ɵɵproperty("placeholder", i0.ɵɵpipeBind1(3, 2, "igo.integration.advanced-map-tool.advanced-coordinates.est"))("value", ctx_r2.coordinates[0]);
3201
3221
  } }
3202
- function AdvancedCoordinatesComponent_mat_form_field_3_Template(rf, ctx) { if (rf & 1) {
3203
- i0.ɵɵelementStart(0, "mat-form-field", 15);
3204
- i0.ɵɵelement(1, "textarea", 13, 14);
3222
+ function AdvancedCoordinatesComponent_mat_form_field_5_Template(rf, ctx) { if (rf & 1) {
3223
+ i0.ɵɵelementStart(0, "mat-form-field", 17);
3224
+ i0.ɵɵelement(1, "textarea", 15, 16);
3205
3225
  i0.ɵɵpipe(3, "translate");
3206
3226
  i0.ɵɵelementEnd();
3207
3227
  } if (rf & 2) {
@@ -3209,9 +3229,9 @@ function AdvancedCoordinatesComponent_mat_form_field_3_Template(rf, ctx) { if (r
3209
3229
  i0.ɵɵadvance(1);
3210
3230
  i0.ɵɵproperty("placeholder", i0.ɵɵpipeBind1(3, 2, "igo.integration.advanced-map-tool.advanced-coordinates.lat"))("value", ctx_r3.coordinates[1]);
3211
3231
  } }
3212
- function AdvancedCoordinatesComponent_ng_template_4_Template(rf, ctx) { if (rf & 1) {
3213
- i0.ɵɵelementStart(0, "mat-form-field", 15);
3214
- i0.ɵɵelement(1, "textarea", 13, 14);
3232
+ function AdvancedCoordinatesComponent_ng_template_6_Template(rf, ctx) { if (rf & 1) {
3233
+ i0.ɵɵelementStart(0, "mat-form-field", 17);
3234
+ i0.ɵɵelement(1, "textarea", 15, 16);
3215
3235
  i0.ɵɵpipe(3, "translate");
3216
3236
  i0.ɵɵelementEnd();
3217
3237
  } if (rf & 2) {
@@ -3219,9 +3239,9 @@ function AdvancedCoordinatesComponent_ng_template_4_Template(rf, ctx) { if (rf &
3219
3239
  i0.ɵɵadvance(1);
3220
3240
  i0.ɵɵproperty("placeholder", i0.ɵɵpipeBind1(3, 2, "igo.integration.advanced-map-tool.advanced-coordinates.nord"))("value", ctx_r5.coordinates[1]);
3221
3241
  } }
3222
- function AdvancedCoordinatesComponent_mat_option_16_Template(rf, ctx) { if (rf & 1) {
3223
- i0.ɵɵelementStart(0, "mat-option", 16);
3224
- i0.ɵɵlistener("click", function AdvancedCoordinatesComponent_mat_option_16_Template_mat_option_click_0_listener($event) { return $event.stopPropagation(); });
3242
+ function AdvancedCoordinatesComponent_mat_option_17_Template(rf, ctx) { if (rf & 1) {
3243
+ i0.ɵɵelementStart(0, "mat-option", 18);
3244
+ i0.ɵɵlistener("click", function AdvancedCoordinatesComponent_mat_option_17_Template_mat_option_click_0_listener($event) { return $event.stopPropagation(); });
3225
3245
  i0.ɵɵtext(1);
3226
3246
  i0.ɵɵelementEnd();
3227
3247
  } if (rf & 2) {
@@ -3343,10 +3363,7 @@ class AdvancedCoordinatesComponent {
3343
3363
  copyTextToClipboard() {
3344
3364
  const successful = Clipboard.copy(this.coordinates.toString());
3345
3365
  if (successful) {
3346
- const translate = this.languageService.translate;
3347
- const title = translate.instant('igo.integration.advanced-map-tool.advanced-coordinates.copyTitle');
3348
- const msg = translate.instant('igo.integration.advanced-map-tool.advanced-coordinates.copyMsg');
3349
- this.messageService.success(msg, title);
3366
+ this.messageService.success('igo.integration.advanced-map-tool.advanced-coordinates.copyMsg', 'igo.integration.advanced-map-tool.advanced-coordinates.copyTitle');
3350
3367
  }
3351
3368
  }
3352
3369
  /**
@@ -3557,75 +3574,77 @@ class AdvancedCoordinatesComponent {
3557
3574
  }
3558
3575
  }
3559
3576
  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)); };
3560
- 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) { if (rf & 1) {
3561
- i0.ɵɵtemplate(0, AdvancedCoordinatesComponent_mat_form_field_0_Template, 4, 4, "mat-form-field", 0);
3562
- i0.ɵɵtemplate(1, AdvancedCoordinatesComponent_ng_template_1_Template, 4, 4, "ng-template", null, 1, i0.ɵɵtemplateRefExtractor);
3563
- i0.ɵɵtemplate(3, AdvancedCoordinatesComponent_mat_form_field_3_Template, 4, 4, "mat-form-field", 2);
3564
- i0.ɵɵtemplate(4, AdvancedCoordinatesComponent_ng_template_4_Template, 4, 4, "ng-template", null, 3, i0.ɵɵtemplateRefExtractor);
3565
- i0.ɵɵelementStart(6, "button", 4);
3566
- i0.ɵɵlistener("click", function AdvancedCoordinatesComponent_Template_button_click_6_listener() { return ctx.copyTextToClipboard(); });
3567
- i0.ɵɵelement(7, "mat-icon", 5);
3568
- i0.ɵɵtext(8);
3569
- i0.ɵɵpipe(9, "translate");
3577
+ 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) { if (rf & 1) {
3578
+ i0.ɵɵelementStart(0, "div", 0)(1, "div", 1);
3579
+ i0.ɵɵtemplate(2, AdvancedCoordinatesComponent_mat_form_field_2_Template, 4, 4, "mat-form-field", 2);
3580
+ i0.ɵɵtemplate(3, AdvancedCoordinatesComponent_ng_template_3_Template, 4, 4, "ng-template", null, 3, i0.ɵɵtemplateRefExtractor);
3581
+ i0.ɵɵtemplate(5, AdvancedCoordinatesComponent_mat_form_field_5_Template, 4, 4, "mat-form-field", 4);
3582
+ i0.ɵɵtemplate(6, AdvancedCoordinatesComponent_ng_template_6_Template, 4, 4, "ng-template", null, 5, i0.ɵɵtemplateRefExtractor);
3570
3583
  i0.ɵɵelementEnd();
3571
- i0.ɵɵelementStart(10, "form", 6)(11, "mat-form-field", 7)(12, "mat-label");
3572
- i0.ɵɵtext(13);
3573
- i0.ɵɵpipe(14, "translate");
3584
+ i0.ɵɵelementStart(8, "button", 6);
3585
+ i0.ɵɵlistener("click", function AdvancedCoordinatesComponent_Template_button_click_8_listener() { return ctx.copyTextToClipboard(); });
3586
+ i0.ɵɵpipe(9, "translate");
3587
+ i0.ɵɵelement(10, "mat-icon", 7);
3588
+ i0.ɵɵelementEnd()();
3589
+ i0.ɵɵelementStart(11, "form", 8)(12, "mat-form-field", 9)(13, "mat-label");
3590
+ i0.ɵɵtext(14);
3591
+ i0.ɵɵpipe(15, "translate");
3574
3592
  i0.ɵɵelementEnd();
3575
- i0.ɵɵelementStart(15, "mat-select", 8);
3576
- i0.ɵɵlistener("valueChange", function AdvancedCoordinatesComponent_Template_mat_select_valueChange_15_listener($event) { return ctx.inputProj = $event; });
3577
- i0.ɵɵtemplate(16, AdvancedCoordinatesComponent_mat_option_16_Template, 2, 2, "mat-option", 9);
3578
- i0.ɵɵpipe(17, "async");
3593
+ i0.ɵɵelementStart(16, "mat-select", 10);
3594
+ i0.ɵɵlistener("valueChange", function AdvancedCoordinatesComponent_Template_mat_select_valueChange_16_listener($event) { return ctx.inputProj = $event; });
3595
+ i0.ɵɵtemplate(17, AdvancedCoordinatesComponent_mat_option_17_Template, 2, 2, "mat-option", 11);
3596
+ i0.ɵɵpipe(18, "async");
3579
3597
  i0.ɵɵelementEnd()();
3580
- i0.ɵɵelementStart(18, "mat-slide-toggle", 10);
3581
- i0.ɵɵlistener("change", function AdvancedCoordinatesComponent_Template_mat_slide_toggle_change_18_listener($event) { return ctx.displayCenter($event.checked); });
3582
- i0.ɵɵtext(19);
3583
- i0.ɵɵpipe(20, "translate");
3598
+ i0.ɵɵelementStart(19, "mat-slide-toggle", 12);
3599
+ i0.ɵɵlistener("change", function AdvancedCoordinatesComponent_Template_mat_slide_toggle_change_19_listener($event) { return ctx.displayCenter($event.checked); });
3600
+ i0.ɵɵtext(20);
3601
+ i0.ɵɵpipe(21, "translate");
3584
3602
  i0.ɵɵelementEnd()();
3585
- i0.ɵɵelementStart(21, "p", 11);
3586
- i0.ɵɵtext(22);
3587
- i0.ɵɵpipe(23, "translate");
3603
+ i0.ɵɵelementStart(22, "p", 13);
3604
+ i0.ɵɵtext(23);
3605
+ i0.ɵɵpipe(24, "translate");
3588
3606
  i0.ɵɵelementEnd();
3589
- i0.ɵɵelementStart(24, "p", 11);
3590
- i0.ɵɵtext(25);
3591
- i0.ɵɵpipe(26, "translate");
3592
- i0.ɵɵpipe(27, "async");
3607
+ i0.ɵɵelementStart(25, "p", 13);
3608
+ i0.ɵɵtext(26);
3609
+ i0.ɵɵpipe(27, "translate");
3610
+ i0.ɵɵpipe(28, "async");
3593
3611
  i0.ɵɵelementEnd();
3594
- i0.ɵɵelementStart(28, "p", 11);
3595
- i0.ɵɵtext(29);
3596
- i0.ɵɵpipe(30, "translate");
3597
- i0.ɵɵpipe(31, "number");
3612
+ i0.ɵɵelementStart(29, "p", 13);
3613
+ i0.ɵɵtext(30);
3614
+ i0.ɵɵpipe(31, "translate");
3615
+ i0.ɵɵpipe(32, "number");
3598
3616
  i0.ɵɵelementEnd();
3599
3617
  } if (rf & 2) {
3600
- const _r1 = i0.ɵɵreference(2);
3601
- const _r4 = i0.ɵɵreference(5);
3618
+ const _r1 = i0.ɵɵreference(4);
3619
+ const _r4 = i0.ɵɵreference(7);
3620
+ i0.ɵɵadvance(2);
3602
3621
  i0.ɵɵproperty("ngIf", ctx.units)("ngIfElse", _r1);
3603
3622
  i0.ɵɵadvance(3);
3604
3623
  i0.ɵɵproperty("ngIf", ctx.units)("ngIfElse", _r4);
3605
- i0.ɵɵadvance(5);
3606
- i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(9, 18, "igo.integration.advanced-map-tool.advanced-coordinates.copy"), "\n");
3607
- i0.ɵɵadvance(2);
3624
+ i0.ɵɵadvance(3);
3625
+ i0.ɵɵattribute("aria-label", i0.ɵɵpipeBind1(9, 18, "igo.integration.advanced-map-tool.advanced-coordinates.copy"));
3626
+ i0.ɵɵadvance(3);
3608
3627
  i0.ɵɵproperty("formGroup", ctx.form);
3609
3628
  i0.ɵɵadvance(3);
3610
- i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(14, 20, "igo.integration.advanced-map-tool.advanced-coordinates.coordSystem"));
3629
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(15, 20, "igo.integration.advanced-map-tool.advanced-coordinates.coordSystem"));
3611
3630
  i0.ɵɵadvance(2);
3612
3631
  i0.ɵɵproperty("value", ctx.inputProj);
3613
3632
  i0.ɵɵadvance(1);
3614
- i0.ɵɵproperty("ngForOf", i0.ɵɵpipeBind1(17, 22, ctx.projections$));
3633
+ i0.ɵɵproperty("ngForOf", i0.ɵɵpipeBind1(18, 22, ctx.projections$));
3615
3634
  i0.ɵɵadvance(2);
3616
3635
  i0.ɵɵproperty("checked", ctx.center)("labelPosition", "before");
3617
3636
  i0.ɵɵadvance(1);
3618
- i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(20, 24, "igo.integration.advanced-map-tool.advanced-coordinates.center"), " ");
3637
+ i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(21, 24, "igo.integration.advanced-map-tool.advanced-coordinates.center"), " ");
3619
3638
  i0.ɵɵadvance(3);
3620
- i0.ɵɵtextInterpolate2("", i0.ɵɵpipeBind1(23, 26, "igo.integration.advanced-map-tool.advanced-coordinates.zoom"), " ", ctx.map.viewController.getZoom(), "");
3639
+ i0.ɵɵtextInterpolate2("", i0.ɵɵpipeBind1(24, 26, "igo.integration.advanced-map-tool.advanced-coordinates.zoom"), " ", ctx.map.viewController.getZoom(), "");
3621
3640
  i0.ɵɵadvance(3);
3622
- i0.ɵɵtextInterpolate2("", i0.ɵɵpipeBind1(26, 28, "igo.integration.advanced-map-tool.advanced-coordinates.scale"), " ", i0.ɵɵpipeBind1(27, 30, ctx.formattedScale$), "");
3641
+ i0.ɵɵtextInterpolate2("", i0.ɵɵpipeBind1(27, 28, "igo.integration.advanced-map-tool.advanced-coordinates.scale"), " ", i0.ɵɵpipeBind1(28, 30, ctx.formattedScale$), "");
3623
3642
  i0.ɵɵadvance(4);
3624
- 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"), "");
3625
- } }, dependencies: [i3.ɵNgNoValidate, i3.NgControlStatusGroup, i3.FormGroupDirective, i6$2.MatFormField, i6$2.MatLabel, i7$2.MatSelect, i8$1.MatOption, i7$3.MatInput, i6.NgForOf, i6.NgIf, i7.MatIcon, i12.MatSlideToggle, i10.MatButton, i6.AsyncPipe, i6.DecimalPipe, i8.TranslatePipe], styles: ["textarea[_ngcontent-%COMP%]{resize:none}mat-form-field[_ngcontent-%COMP%]{padding:10px 15px}mat-form-field.coordinates[_ngcontent-%COMP%]{width:120px}mat-form-field.coordinates2[_ngcontent-%COMP%]{width:120px;padding:0 10px 0 3px}mat-form-field.igo-input-container[_ngcontent-%COMP%]{width:60%;padding:0 15px}.igo-form-button-group[_ngcontent-%COMP%]{padding:0 10px;margin:0 10px}.center-toggle[_ngcontent-%COMP%]{padding:10px 15px 35px}mat-slide-toggle[_ngcontent-%COMP%]{font-size:small}.igo-zoom[_ngcontent-%COMP%]{padding:0 15px}"] });
3643
+ 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"), "");
3644
+ } }, 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%}"] });
3626
3645
  (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(AdvancedCoordinatesComponent, [{
3627
3646
  type: Component,
3628
- 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"] }]
3647
+ 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"] }]
3629
3648
  }], function () { return [{ type: MapState }, { type: i2.LanguageService }, { type: i2.MessageService }, { type: i0.ChangeDetectorRef }, { type: i2.StorageService }, { type: i2.ConfigService }, { type: i3.UntypedFormBuilder }]; }, { projectionsLimitations: [{
3630
3649
  type: Input
3631
3650
  }] }); })();
@@ -3691,7 +3710,7 @@ AdvancedMapToolComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: Ad
3691
3710
  i0.ɵɵproperty("disabled", i0.ɵɵpipeBind1(20, 20, ctx.tracking$) !== true)("checked", i0.ɵɵpipeBind1(21, 22, ctx.followPosition$))("labelPosition", "before");
3692
3711
  i0.ɵɵadvance(3);
3693
3712
  i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(23, 24, "igo.integration.advanced-map-tool.geolocation.follow"), " ");
3694
- } }, dependencies: [i5$1.MatDivider, i12.MatSlideToggle, AdvancedSwipeComponent, AdvancedCoordinatesComponent, i6.AsyncPipe, i8.TranslatePipe], styles: [".nameOfTool[_ngcontent-%COMP%]{text-align:center;font-weight:700;font-size:small;margin:15px 10px 0}.advanced-tool-line[_ngcontent-%COMP%]{height:2px;background-color:gray}.geolocation-slide-toggle-container[_ngcontent-%COMP%]{overflow-x:hidden}.geolocation-slide-toggle-container[_ngcontent-%COMP%] mat-slide-toggle[_ngcontent-%COMP%]{width:100%;margin:10px}.geolocation-slide-toggle-container[_ngcontent-%COMP%] mat-slide-toggle[_ngcontent-%COMP%] .mat-slide-toggle-content{width:calc(100% - 60px)}.geolocation-option[_ngcontent-%COMP%]{display:block;margin-right:10px;margin-bottom:15px}"] });
3713
+ } }, 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}"] });
3695
3714
  AdvancedMapToolComponent = __decorate([
3696
3715
  ToolComponent({
3697
3716
  name: 'advancedMap',
@@ -3704,17 +3723,19 @@ AdvancedMapToolComponent = __decorate([
3704
3723
  ], AdvancedMapToolComponent);
3705
3724
  (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(AdvancedMapToolComponent, [{
3706
3725
  type: Component,
3707
- 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"] }]
3726
+ 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"] }]
3708
3727
  }], function () { return [{ type: MapState }]; }, null); })();
3709
3728
 
3710
3729
  /**
3711
3730
  * Service that holds the state of the direction module
3712
3731
  */
3713
3732
  class MapProximityState {
3714
- constructor(mapState) {
3733
+ constructor(mapState, storageService) {
3715
3734
  this.mapState = mapState;
3735
+ this.storageService = storageService;
3736
+ this.defaultProximityRadiusValue = 30;
3716
3737
  this.enabled$ = new BehaviorSubject(false);
3717
- this.proximityRadiusValue$ = new BehaviorSubject(30);
3738
+ this.proximityRadiusValue$ = new BehaviorSubject(this.storageService.get('mapProximityRadius') || this.defaultProximityRadiusValue);
3718
3739
  this.proximitylocationType$ = new BehaviorSubject('geolocation');
3719
3740
  this.proximityFeatureStore = new FeatureStore([], { map: this.mapState.map });
3720
3741
  this.subs$$ = [];
@@ -3742,6 +3763,7 @@ class MapProximityState {
3742
3763
  const currentPos = this.map.geolocationController.position$.value;
3743
3764
  const locationType = bunch[1];
3744
3765
  const proximityRadiusValue = bunch[2];
3766
+ this.storageService.set('mapProximityRadius', proximityRadiusValue || this.defaultProximityRadiusValue);
3745
3767
  if (!enabled) {
3746
3768
  return;
3747
3769
  }
@@ -3850,14 +3872,14 @@ class MapProximityState {
3850
3872
  return label;
3851
3873
  }
3852
3874
  }
3853
- MapProximityState.ɵfac = function MapProximityState_Factory(t) { return new (t || MapProximityState)(i0.ɵɵinject(MapState)); };
3875
+ MapProximityState.ɵfac = function MapProximityState_Factory(t) { return new (t || MapProximityState)(i0.ɵɵinject(MapState), i0.ɵɵinject(i2.StorageService)); };
3854
3876
  MapProximityState.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: MapProximityState, factory: MapProximityState.ɵfac, providedIn: 'root' });
3855
3877
  (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(MapProximityState, [{
3856
3878
  type: Injectable,
3857
3879
  args: [{
3858
3880
  providedIn: 'root'
3859
3881
  }]
3860
- }], function () { return [{ type: MapState }]; }, null); })();
3882
+ }], function () { return [{ type: MapState }, { type: i2.StorageService }]; }, null); })();
3861
3883
 
3862
3884
  const _c0$1 = ["table"];
3863
3885
  function MapProximityToolComponent_mat_form_field_3_Template(rf, ctx) { if (rf & 1) {
@@ -3959,10 +3981,7 @@ let MapProximityToolComponent = class MapProximityToolComponent {
3959
3981
  copyTextToClipboard() {
3960
3982
  const successful = Clipboard.copy(this.mapProximityState.currentPositionCoordinate$?.value.toString());
3961
3983
  if (successful) {
3962
- const translate = this.languageService.translate;
3963
- const title = translate.instant('igo.integration.map-proximity-tool.copyTitle');
3964
- const msg = translate.instant('igo.integration.map-proximity-tool.copyMsg');
3965
- this.messageService.success(msg, title);
3984
+ this.messageService.success('igo.integration.map-proximity-tool.copyMsg', 'igo.integration.map-proximity-tool.copyTitle');
3966
3985
  }
3967
3986
  }
3968
3987
  };
@@ -3972,7 +3991,7 @@ MapProximityToolComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: M
3972
3991
  } if (rf & 2) {
3973
3992
  let _t;
3974
3993
  i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.table = _t.first);
3975
- } }, 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) { if (rf & 1) {
3994
+ } }, 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) { if (rf & 1) {
3976
3995
  i0.ɵɵelement(0, "igo-entity-table", 0, 1)(2, "br");
3977
3996
  i0.ɵɵtemplate(3, MapProximityToolComponent_mat_form_field_3_Template, 4, 4, "mat-form-field", 2);
3978
3997
  i0.ɵɵpipe(4, "async");
@@ -4028,7 +4047,7 @@ MapProximityToolComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: M
4028
4047
  i0.ɵɵadvance(2);
4029
4048
  i0.ɵɵpropertyInterpolate("placeholder", i0.ɵɵpipeBind1(30, 33, "igo.integration.map-proximity-tool.radiusM"));
4030
4049
  i0.ɵɵproperty("ngModel", ctx.maxDistance);
4031
- } }, dependencies: [i3.DefaultValueAccessor, i3.NumberValueAccessor, i3.NgControlStatus, i3.PatternValidator, i3.NgModel, i6$2.MatFormField, i6$2.MatLabel, i7$3.MatInput, i6.NgIf, i7.MatIcon, i9.MatRadioGroup, i9.MatRadioButton, i10.MatButton, i4.EntityTableComponent, i6.AsyncPipe, i8.TranslatePipe], styles: [".table-compact[_ngcontent-%COMP%]{height:auto}.table-compact[_ngcontent-%COMP%] .mat-header-cell.mat-column-selectionCheckbox{width:52px}textarea[_ngcontent-%COMP%]{resize:none}mat-form-field[_ngcontent-%COMP%]{padding:10px 15px}mat-form-field.coordinates[_ngcontent-%COMP%]{width:110px}mat-form-field.coordinates2[_ngcontent-%COMP%]{width:100px;padding:0 10px 0 3px}mat-form-field.igo-input-container[_ngcontent-%COMP%]{width:60%;padding:0 15px}.radius-unit[_ngcontent-%COMP%]{display:flex;width:90%;margin-left:2px;padding:5px}.radius-field[_ngcontent-%COMP%]{display:flex;flex-flow:column nowrap;width:60%}.title-container[_ngcontent-%COMP%]{padding:10px}.title[_ngcontent-%COMP%]{margin-left:5px;font-size:medium;font-size:initial}.mat-radio-group[_ngcontent-%COMP%]{display:flex;flex-direction:column;padding-top:10px}.mat-radio-button[_ngcontent-%COMP%]{display:inline-flex;position:relative;margin-left:16px;margin-top:10px}"] });
4050
+ } }, 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}"] });
4032
4051
  MapProximityToolComponent = __decorate([
4033
4052
  ToolComponent({
4034
4053
  name: 'map-proximity',
@@ -4041,7 +4060,7 @@ MapProximityToolComponent = __decorate([
4041
4060
  ], MapProximityToolComponent);
4042
4061
  (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(MapProximityToolComponent, [{
4043
4062
  type: Component,
4044
- 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"] }]
4063
+ 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"] }]
4045
4064
  }], function () { return [{ type: MapState }, { type: MapProximityState }, { type: i2.LanguageService }, { type: i2.MessageService }]; }, { table: [{
4046
4065
  type: ViewChild,
4047
4066
  args: ['table', { static: true }]
@@ -4076,6 +4095,7 @@ IgoAppMapModule.ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ imports: [FormsMod
4076
4095
  IgoMetadataModule,
4077
4096
  IgoDownloadModule,
4078
4097
  IgoImportExportModule,
4098
+ IgoStyleModule,
4079
4099
  IgoFilterModule,
4080
4100
  MatRadioModule,
4081
4101
  IgoContextModule,
@@ -4108,6 +4128,7 @@ IgoAppMapModule.ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ imports: [FormsMod
4108
4128
  IgoMetadataModule,
4109
4129
  IgoDownloadModule,
4110
4130
  IgoImportExportModule,
4131
+ IgoStyleModule,
4111
4132
  IgoFilterModule,
4112
4133
  MatRadioModule,
4113
4134
  IgoContextModule,
@@ -4145,6 +4166,7 @@ IgoAppMapModule.ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ imports: [FormsMod
4145
4166
  IgoMetadataModule,
4146
4167
  IgoDownloadModule,
4147
4168
  IgoImportExportModule,
4169
+ IgoStyleModule,
4148
4170
  IgoFilterModule,
4149
4171
  MatRadioModule,
4150
4172
  IgoContextModule,
@@ -4221,7 +4243,7 @@ MeasurerToolComponent = __decorate([
4221
4243
  ], MeasurerToolComponent);
4222
4244
  (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(MeasurerToolComponent, [{
4223
4245
  type: Component,
4224
- args: [{ selector: 'igo-measurer-tool', changeDetection: ChangeDetectionStrategy.OnPush, template: "<igo-measurer [store]=\"store\" [map]=\"map\"></igo-measurer>\n" }]
4246
+ args: [{ selector: 'igo-measurer-tool', changeDetection: ChangeDetectionStrategy.OnPush, template: "<igo-measurer [store]=\"store\" [map]=\"map\"></igo-measurer>\r\n" }]
4225
4247
  }], function () { return [{ type: MeasureState }, { type: MapState }]; }, null); })();
4226
4248
 
4227
4249
  /**
@@ -4285,7 +4307,7 @@ PrintToolComponent = __decorate([
4285
4307
  ], PrintToolComponent);
4286
4308
  (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(PrintToolComponent, [{
4287
4309
  type: Component,
4288
- args: [{ selector: 'igo-print-tool', template: "<igo-print [map]=\"map\"></igo-print>\n" }]
4310
+ args: [{ selector: 'igo-print-tool', template: "<igo-print [map]=\"map\"></igo-print>\r\n" }]
4289
4311
  }], function () { return [{ type: MapState }]; }, null); })();
4290
4312
 
4291
4313
  class IgoAppPrintModule {
@@ -4314,10 +4336,13 @@ IgoAppPrintModule.ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ imports: [IgoPri
4314
4336
  * Service that holds the state of the search module
4315
4337
  */
4316
4338
  class SearchState {
4317
- constructor(searchSourceService, storageService, configService) {
4339
+ constructor(searchSourceService, storageService, workspaceState, configService, mapState) {
4318
4340
  this.searchSourceService = searchSourceService;
4319
4341
  this.storageService = storageService;
4342
+ this.workspaceState = workspaceState;
4320
4343
  this.configService = configService;
4344
+ this.mapState = mapState;
4345
+ this.searchLayerStores = [];
4321
4346
  this.searchOverlayStyle = {};
4322
4347
  this.searchOverlayStyleSelection = {};
4323
4348
  this.searchOverlayStyleFocus = {};
@@ -4343,6 +4368,13 @@ class SearchState {
4343
4368
  this.searchResultsGeometryEnabled$.next(searchResultsGeometryEnabled);
4344
4369
  }
4345
4370
  this.store.addStrategy(this.createCustomFilterTermStrategy(), false);
4371
+ const wksSource = this.searchSourceService.getSources().find(source => source.getId() === 'workspace');
4372
+ this.workspaceState.store.entities$
4373
+ .subscribe(e => {
4374
+ const searchableWks = e.filter(fw => fw instanceof FeatureWorkspace && fw.layer.options.workspace.searchIndexEnabled);
4375
+ this.searchSourceService.setWorkspaces(wksSource, searchableWks);
4376
+ });
4377
+ this.monitorLayerDeletion();
4346
4378
  }
4347
4379
  /**
4348
4380
  * Search types currently enabled in the search source service
@@ -4352,6 +4384,18 @@ class SearchState {
4352
4384
  .getEnabledSources()
4353
4385
  .map((source) => source.constructor.type);
4354
4386
  }
4387
+ monitorLayerDeletion() {
4388
+ this.mapState.map.layers$
4389
+ .subscribe((layers) => {
4390
+ this.searchLayerStores.forEach((store) => {
4391
+ let layer = layers.find(l => l.id === store.layer.id);
4392
+ if (!layer) {
4393
+ const index = this.searchLayerStores.indexOf(store);
4394
+ this.searchLayerStores.splice(index, 1);
4395
+ }
4396
+ });
4397
+ });
4398
+ }
4355
4399
  createCustomFilterTermStrategy() {
4356
4400
  const filterClauseFunc = (record) => {
4357
4401
  return record.entity.meta.score === 100;
@@ -4402,14 +4446,14 @@ class SearchState {
4402
4446
  this.searchResultsGeometryEnabled$.next(value);
4403
4447
  }
4404
4448
  }
4405
- SearchState.ɵfac = function SearchState_Factory(t) { return new (t || SearchState)(i0.ɵɵinject(i1$1.SearchSourceService), i0.ɵɵinject(i2.StorageService), i0.ɵɵinject(i2.ConfigService)); };
4449
+ 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)); };
4406
4450
  SearchState.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: SearchState, factory: SearchState.ɵfac, providedIn: 'root' });
4407
4451
  (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(SearchState, [{
4408
4452
  type: Injectable,
4409
4453
  args: [{
4410
4454
  providedIn: 'root'
4411
4455
  }]
4412
- }], function () { return [{ type: i1$1.SearchSourceService }, { type: i2.StorageService }, { type: i2.ConfigService }]; }, null); })();
4456
+ }], function () { return [{ type: i1$1.SearchSourceService }, { type: i2.StorageService }, { type: WorkspaceState }, { type: i2.ConfigService }, { type: MapState }]; }, null); })();
4413
4457
 
4414
4458
  class SearchBarBindingDirective {
4415
4459
  constructor(component, searchState) {
@@ -4512,7 +4556,7 @@ function SearchResultsToolComponent_igo_flexible_2_ng_template_5_Template(rf, ct
4512
4556
  } if (rf & 2) {
4513
4557
  const result_r6 = ctx.result;
4514
4558
  const ctx_r4 = i0.ɵɵnextContext(2);
4515
- i0.ɵɵproperty("map", ctx_r4.map)("layer", result_r6);
4559
+ i0.ɵɵproperty("map", ctx_r4.map)("store", ctx_r4.store)("stores", ctx_r4.stores)("layer", result_r6)("saveSearchResultInLayer", ctx_r4.saveSearchResultInLayer);
4516
4560
  } }
4517
4561
  function SearchResultsToolComponent_igo_flexible_2_igo_panel_8_button_4_Template(rf, ctx) { if (rf & 1) {
4518
4562
  const _r9 = i0.ɵɵgetCurrentView();
@@ -4560,7 +4604,7 @@ function SearchResultsToolComponent_igo_flexible_2_Template(rf, ctx) { if (rf &
4560
4604
  i0.ɵɵpipe(2, "async");
4561
4605
  i0.ɵɵelementStart(3, "div", 7)(4, "igo-search-results", 8);
4562
4606
  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)); });
4563
- i0.ɵɵtemplate(5, SearchResultsToolComponent_igo_flexible_2_ng_template_5_Template, 1, 2, "ng-template", null, 9, i0.ɵɵtemplateRefExtractor);
4607
+ i0.ɵɵtemplate(5, SearchResultsToolComponent_igo_flexible_2_ng_template_5_Template, 1, 5, "ng-template", null, 9, i0.ɵɵtemplateRefExtractor);
4564
4608
  i0.ɵɵelementEnd()();
4565
4609
  i0.ɵɵelementStart(7, "div", 10);
4566
4610
  i0.ɵɵtemplate(8, SearchResultsToolComponent_igo_flexible_2_igo_panel_8_Template, 7, 11, "igo-panel", 11);
@@ -4568,11 +4612,11 @@ function SearchResultsToolComponent_igo_flexible_2_Template(rf, ctx) { if (rf &
4568
4612
  i0.ɵɵelementEnd()();
4569
4613
  } if (rf & 2) {
4570
4614
  const ctx_r1 = i0.ɵɵnextContext();
4571
- i0.ɵɵproperty("state", i0.ɵɵpipeBind1(2, 7, ctx_r1.feature$) ? ctx_r1.topPanelState : "initial");
4615
+ i0.ɵɵproperty("state", i0.ɵɵpipeBind1(2, 8, ctx_r1.feature$) ? ctx_r1.topPanelState : "initial");
4572
4616
  i0.ɵɵadvance(4);
4573
- i0.ɵɵproperty("store", ctx_r1.store)("showIcons", ctx_r1.showIcons)("term", ctx_r1.term)("termSplitter", ctx_r1.termSplitter)("settingsChange$", ctx_r1.settingsChange$);
4617
+ i0.ɵɵproperty("store", ctx_r1.store)("showIcons", ctx_r1.showIcons)("term", ctx_r1.term)("termSplitter", ctx_r1.termSplitter)("settingsChange$", ctx_r1.settingsChange$)("map", ctx_r1.map);
4574
4618
  i0.ɵɵadvance(4);
4575
- i0.ɵɵproperty("ngIf", i0.ɵɵpipeBind1(9, 9, ctx_r1.feature$));
4619
+ i0.ɵɵproperty("ngIf", i0.ɵɵpipeBind1(9, 10, ctx_r1.feature$));
4576
4620
  } }
4577
4621
  /**
4578
4622
  * Tool to browse the search results
@@ -4593,6 +4637,7 @@ let SearchResultsToolComponent = class SearchResultsToolComponent {
4593
4637
  */
4594
4638
  this.topPanelStateDefault = 'expanded';
4595
4639
  this.hasFeatureEmphasisOnSelection = false;
4640
+ this.saveSearchResultInLayer = false;
4596
4641
  this.shownResultsGeometries = [];
4597
4642
  this.shownResultsEmphasisGeometries = [];
4598
4643
  this.focusedResult$ = new BehaviorSubject(undefined);
@@ -4603,6 +4648,7 @@ let SearchResultsToolComponent = class SearchResultsToolComponent {
4603
4648
  this.topPanelState$ = new BehaviorSubject('initial');
4604
4649
  this.format = new olFormatGeoJSON();
4605
4650
  this.hasFeatureEmphasisOnSelection = configService.getConfig('hasFeatureEmphasisOnSelection');
4651
+ this.saveSearchResultInLayer = configService.getConfig('saveSearchResultInLayer');
4606
4652
  }
4607
4653
  /**
4608
4654
  * Store holding the search results
@@ -4637,6 +4683,9 @@ let SearchResultsToolComponent = class SearchResultsToolComponent {
4637
4683
  get termSplitter() {
4638
4684
  return this.searchState.searchTermSplitter$.value;
4639
4685
  }
4686
+ get stores() {
4687
+ return this.searchState.searchLayerStores;
4688
+ }
4640
4689
  ngOnInit() {
4641
4690
  this.searchTerm$$ = this.searchState.searchTerm$.subscribe((searchTerm) => {
4642
4691
  if (searchTerm !== undefined && searchTerm !== null && searchTerm !== '') {
@@ -5020,16 +5069,16 @@ let SearchResultsToolComponent = class SearchResultsToolComponent {
5020
5069
  }
5021
5070
  };
5022
5071
  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)); };
5023
- SearchResultsToolComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: SearchResultsToolComponent, selectors: [["igo-search-results-tool"]], inputs: { showIcons: "showIcons", topPanelStateDefault: "topPanelStateDefault", topPanelState: "topPanelState" }, decls: 4, vars: 6, consts: [["style", "margin: 10px;", 4, "ngIf"], ["initial", "100%", "initialMobile", "100%", "collapsed", "calc(100% - 58px)", "collapsedMobile", "calc(100% - 58px)", "expanded", "60%", "expandedMobile", "60%", 3, "state", 4, "ngIf"], [2, "margin", "10px"], [1, "mat-typography"], [3, "innerHTML"], ["initial", "100%", "initialMobile", "100%", "collapsed", "calc(100% - 58px)", "collapsedMobile", "calc(100% - 58px)", "expanded", "60%", "expandedMobile", "60%", 3, "state"], ["topPanel", ""], [1, "igo-content"], ["placeholder", "false", 3, "store", "showIcons", "term", "termSplitter", "settingsChange$", "resultFocus", "resultSelect", "resultUnfocus", "resultMouseenter", "resultMouseleave", "moreResults"], ["igoSearchItemToolbar", ""], ["igoFlexibleFill", "", 1, "igo-content"], [3, "title", "cursorPointer", "click", 4, "ngIf"], [3, "map", "layer"], [3, "title", "cursorPointer", "click"], ["mat-icon-button", "", "panelLeftButton", "", 1, "igo-icon-button", 3, "click"], [3, "svgIcon"], ["mat-icon-button", "", "panelRightButton", "", "class", "igo-icon-button", "matTooltipShowDelay", "500", 3, "matTooltip", "click", 4, "ngIf"], ["igoFeatureDetailsDirective", "", 3, "feature", "map", "toolbox", "routingEvent"], ["mat-icon-button", "", "panelRightButton", "", "matTooltipShowDelay", "500", 1, "igo-icon-button", 3, "matTooltip", "click"], ["matBadgeColor", "accent", "matBadgeSize", "small", "svgIcon", "magnify-plus-outline", 3, "matBadge", "matBadgeHidden"]], template: function SearchResultsToolComponent_Template(rf, ctx) { if (rf & 1) {
5072
+ 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) { if (rf & 1) {
5024
5073
  i0.ɵɵtemplate(0, SearchResultsToolComponent_div_0_Template, 13, 11, "div", 0);
5025
5074
  i0.ɵɵpipe(1, "async");
5026
- i0.ɵɵtemplate(2, SearchResultsToolComponent_igo_flexible_2_Template, 10, 11, "igo-flexible", 1);
5075
+ i0.ɵɵtemplate(2, SearchResultsToolComponent_igo_flexible_2_Template, 10, 12, "igo-flexible", 1);
5027
5076
  i0.ɵɵpipe(3, "async");
5028
5077
  } if (rf & 2) {
5029
5078
  i0.ɵɵproperty("ngIf", (!ctx.store || ctx.store.stateView.empty) && i0.ɵɵpipeBind1(1, 2, ctx.debouncedEmpty$));
5030
5079
  i0.ɵɵadvance(2);
5031
5080
  i0.ɵɵproperty("ngIf", i0.ɵɵpipeBind1(3, 4, ctx.debouncedEmpty$) === false);
5032
- } }, dependencies: [i6.NgIf, i7.MatIcon, i8$2.MatBadge, i5.MatTooltip, i10.MatButton, i1$1.FeatureDetailsComponent, i1$1.FeatureDetailsDirective, i1$1.SearchResultsComponent, i1$1.SearchResultAddButtonComponent, i4.FlexibleComponent, i4.PanelComponent, i6.AsyncPipe, i8.TranslatePipe, i4.SanitizeHtmlPipe], encapsulation: 2, changeDetection: 0 });
5081
+ } }, 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 });
5033
5082
  SearchResultsToolComponent = __decorate([
5034
5083
  ToolComponent({
5035
5084
  name: 'searchResults',
@@ -5039,7 +5088,7 @@ SearchResultsToolComponent = __decorate([
5039
5088
  ], SearchResultsToolComponent);
5040
5089
  (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(SearchResultsToolComponent, [{
5041
5090
  type: Component,
5042
- args: [{ selector: 'igo-search-results-tool', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div *ngIf=\"(!store || store.stateView.empty) && (debouncedEmpty$ | async)\" style=\"margin: 10px;\">\n <section class=\"mat-typography\">\n <h4><strong>{{ 'igo.integration.searchResultsTool.noResults' | translate }}</strong></h4>\n <p><strong>{{ 'igo.integration.searchResultsTool.doSearch' | translate }}</strong></p>\n <div [innerHTML]=\"'igo.integration.searchResultsTool.examples' | translate | sanitizeHtml\"></div>\n</section>\n</div>\n\n<igo-flexible\n *ngIf=\"(debouncedEmpty$ | async) === false\"\n #topPanel\n initial=\"100%\"\n initialMobile=\"100%\"\n collapsed=\"calc(100% - 58px)\"\n collapsedMobile=\"calc(100% - 58px)\"\n expanded=\"60%\"\n expandedMobile=\"60%\"\n [state]=\"(feature$ |\u00A0async) ? topPanelState : 'initial'\">\n\n <div class=\"igo-content\">\n <igo-search-results\n [store]=\"store\"\n [showIcons]=\"showIcons\"\n [term]=\"term\"\n [termSplitter]=\"termSplitter\"\n [settingsChange$]=\"settingsChange$\"\n placeholder=\"false\"\n (resultFocus)=\"onResultFocus($event)\"\n (resultSelect)=\"onResultSelect($event)\"\n (resultUnfocus)=\"onResultUnfocus($event)\"\n (resultMouseenter)=\"onResultFocus($event)\"\n (resultMouseleave)=\"onResultUnfocus($event)\"\n (moreResults)=\"onSearch($event)\">\n <ng-template #igoSearchItemToolbar let-result=\"result\">\n <igo-search-add-button\n [map]=\"map\"\n [layer]=\"result\">\n </igo-search-add-button>\n </ng-template>\n </igo-search-results>\n </div>\n\n <div igoFlexibleFill class=\"igo-content\">\n <igo-panel [title]=\"featureTitle\" *ngIf=\"feature$ |\u00A0async\" (click)=\"toggleTopPanel($event)\" [cursorPointer]=\"true\">\n\n <button\n mat-icon-button\n panelLeftButton\n class=\"igo-icon-button\"\n (click)=\"toggleTopPanel()\">\n <mat-icon [svgIcon]=\"(topPanelState$ | async) === 'collapsed' ? 'arrow-up' : 'arrow-down'\"></mat-icon>\n </button>\n\n <button\n *ngIf=\"feature.geometry\"\n mat-icon-button\n panelRightButton\n class=\"igo-icon-button\"\n [matTooltip]=\"((isSelectedResultOutOfView$ | async) ? 'igo.integration.searchResultsTool.zoomOnFeatureTooltipOutOfView' : 'igo.integration.searchResultsTool.zoomOnFeatureTooltip') | translate\"\n matTooltipShowDelay=\"500\"\n (click)=\"zoomToFeatureExtent()\">\n <mat-icon\n [matBadge]=\"(isSelectedResultOutOfView$ | async) ? '!' : ''\"\n matBadgeColor=\"accent\"\n matBadgeSize=\"small\"\n [matBadgeHidden]=\"(isSelectedResultOutOfView$ | async)===false\" \n svgIcon=\"magnify-plus-outline\"></mat-icon>\n </button>\n\n <igo-feature-details\n igoFeatureDetailsDirective\n [feature]=\"feature$ | async\"\n [map]=\"map\"\n [toolbox]=\"toolState.toolbox\"\n (routingEvent)=\"getRoute()\">\n </igo-feature-details>\n </igo-panel>\n </div>\n\n</igo-flexible>\n" }]
5091
+ 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" }]
5043
5092
  }], function () { return [{ type: MapState }, { type: SearchState }, { type: i0.ElementRef }, { type: ToolState }, { type: DirectionState }, { type: i2.ConfigService }]; }, { showIcons: [{
5044
5093
  type: Input
5045
5094
  }], topPanelStateDefault: [{
@@ -5138,7 +5187,7 @@ OgcFilterToolComponent = __decorate([
5138
5187
  ], OgcFilterToolComponent);
5139
5188
  (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(OgcFilterToolComponent, [{
5140
5189
  type: Component,
5141
- args: [{ selector: 'igo-ogc-filter-tool', template: "<igo-ogc-filterable-list igoOgcFilterableListBinding></igo-ogc-filterable-list>\n\n\n" }]
5190
+ args: [{ selector: 'igo-ogc-filter-tool', template: "<igo-ogc-filterable-list igoOgcFilterableListBinding></igo-ogc-filterable-list>\r\n\r\n\r\n" }]
5142
5191
  }], function () { return []; }, null); })();
5143
5192
 
5144
5193
  let TimeFilterToolComponent = class TimeFilterToolComponent {
@@ -5157,7 +5206,7 @@ TimeFilterToolComponent = __decorate([
5157
5206
  ], TimeFilterToolComponent);
5158
5207
  (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(TimeFilterToolComponent, [{
5159
5208
  type: Component,
5160
- args: [{ selector: 'igo-time-filter-tool', template: "<igo-time-filter-list igoTimeFilterListBinding></igo-time-filter-list>\n" }]
5209
+ args: [{ selector: 'igo-time-filter-tool', template: "<igo-time-filter-list igoTimeFilterListBinding></igo-time-filter-list>\r\n" }]
5161
5210
  }], function () { return []; }, null); })();
5162
5211
 
5163
5212
  function SpatialFilterToolComponent_ng_container_4_Template(rf, ctx) { if (rf & 1) {
@@ -5369,14 +5418,14 @@ let SpatialFilterToolComponent = class SpatialFilterToolComponent {
5369
5418
  thematic.zeroResults = true;
5370
5419
  }
5371
5420
  if (features.length >= 10000) {
5372
- this.messageService.alert(this.languageService.translate.instant('igo.geo.spatialFilter.maxSizeAlert'), this.languageService.translate.instant('igo.geo.spatialFilter.warning'), { timeOut: 10000 });
5421
+ this.messageService.alert('igo.geo.spatialFilter.maxSizeAlert', 'igo.geo.spatialFilter.warning', { timeOut: 10000 });
5373
5422
  }
5374
5423
  })));
5375
5424
  });
5376
5425
  forkJoin(observables$).pipe(takeUntil(this.unsubscribe$)).subscribe(() => {
5377
5426
  this.loading = false;
5378
5427
  if (zeroResults) {
5379
- this.messageService.alert(this.languageService.translate.instant('igo.geo.spatialFilter.zeroResults'), this.languageService.translate.instant('igo.geo.spatialFilter.warning'), { timeOut: 10000 });
5428
+ this.messageService.alert('igo.geo.spatialFilter.zeroResults', 'igo.geo.spatialFilter.warning', { timeOut: 10000 });
5380
5429
  }
5381
5430
  });
5382
5431
  }
@@ -5653,7 +5702,7 @@ SpatialFilterToolComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type:
5653
5702
  i0.ɵɵproperty("type", ctx.type)("queryType", ctx.queryType)("map", ctx.map)("zone", ctx.zone)("loading", ctx.loading)("store", ctx.store)("layers", ctx.activeLayers)("allLayers", ctx.layers)("thematicLength", ctx.thematicLength);
5654
5703
  i0.ɵɵadvance(2);
5655
5704
  i0.ɵɵproperty("ngIf", i0.ɵɵpipeBind1(5, 14, ctx.selectedFeature$));
5656
- } }, dependencies: [i1$1.SpatialFilterTypeComponent, i1$1.SpatialFilterItemComponent, i6.NgIf, i6.AsyncPipe], changeDetection: 0 });
5705
+ } }, dependencies: [i1$1.SpatialFilterTypeComponent, i1$1.SpatialFilterItemComponent, i8.NgIf, i8.AsyncPipe], changeDetection: 0 });
5657
5706
  SpatialFilterToolComponent = __decorate([
5658
5707
  ToolComponent({
5659
5708
  name: 'spatialFilter',
@@ -5666,7 +5715,7 @@ SpatialFilterToolComponent = __decorate([
5666
5715
  ], SpatialFilterToolComponent);
5667
5716
  (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(SpatialFilterToolComponent, [{
5668
5717
  type: Component,
5669
- 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>" }]
5718
+ 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>" }]
5670
5719
  }], 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: [{
5671
5720
  type: Input
5672
5721
  }], itemType: [{
@@ -5717,7 +5766,7 @@ ActiveTimeFilterToolComponent = __decorate([
5717
5766
  ], ActiveTimeFilterToolComponent);
5718
5767
  (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ActiveTimeFilterToolComponent, [{
5719
5768
  type: Component,
5720
- 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" }]
5769
+ 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" }]
5721
5770
  }], function () { return [{ type: MapState }]; }, null); })();
5722
5771
 
5723
5772
  function toolSlideInOut(speed = '300ms', type = 'ease-in-out') {
@@ -5762,7 +5811,7 @@ ActiveOgcFilterToolComponent = __decorate([
5762
5811
  ], ActiveOgcFilterToolComponent);
5763
5812
  (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ActiveOgcFilterToolComponent, [{
5764
5813
  type: Component,
5765
- 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" }]
5814
+ 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" }]
5766
5815
  }], function () { return [{ type: MapState }]; }, null); })();
5767
5816
 
5768
5817
  class IgoAppFilterModule {
@@ -5955,7 +6004,7 @@ AboutToolComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: AboutToo
5955
6004
  i0.ɵɵproperty("ngIf", ctx.headerHtml !== "");
5956
6005
  i0.ɵɵadvance(1);
5957
6006
  i0.ɵɵproperty("html", i0.ɵɵpipeBind2(9, 6, ctx.html, i0.ɵɵpureFunction1(9, _c0, ctx.version)));
5958
- } }, dependencies: [i4.CustomHtmlComponent, i10.MatButton, i5.MatTooltip, i7.MatIcon, i8$3.MatMenu, i8$3.MatMenuItem, i8$3.MatMenuTrigger, i4.InteractiveTourComponent, i6.NgForOf, i6.NgIf, i8.TranslatePipe], styles: ["igo-interactive-tour[_ngcontent-%COMP%]{margin-left:20px}.training-guide-button[_ngcontent-%COMP%]{margin-left:5px;background-color:#1976d2;color:#fff;padding:0 12px}"] });
6007
+ } }, 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}"] });
5959
6008
  AboutToolComponent = __decorate([
5960
6009
  ToolComponent({
5961
6010
  name: 'about',
@@ -5965,7 +6014,7 @@ AboutToolComponent = __decorate([
5965
6014
  ], AboutToolComponent);
5966
6015
  (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(AboutToolComponent, [{
5967
6016
  type: Component,
5968
- 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"] }]
6017
+ 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"] }]
5969
6018
  }], function () { return [{ type: i2.ConfigService }, { type: i2$1.AuthService }, { type: i3$1.HttpClient }, { type: i0.ChangeDetectorRef }, { type: i2.LanguageService }]; }, { headerHtml: [{
5970
6019
  type: Input
5971
6020
  }], html: [{
@@ -6112,18 +6161,20 @@ class AnalyticsListenerService {
6112
6161
  /**
6113
6162
  * Toolbox that holds main tools
6114
6163
  */
6115
- constructor(analyticsService, authService, contextState, searchState, toolState) {
6164
+ constructor(analyticsService, authService, contextState, searchState, toolState, mapState) {
6116
6165
  this.analyticsService = analyticsService;
6117
6166
  this.authService = authService;
6118
6167
  this.contextState = contextState;
6119
6168
  this.searchState = searchState;
6120
6169
  this.toolState = toolState;
6170
+ this.mapState = mapState;
6121
6171
  }
6122
6172
  listen() {
6123
6173
  this.listenUser();
6124
6174
  this.listenContext();
6125
6175
  this.listenTool();
6126
6176
  this.listenSearch();
6177
+ this.listenLayer();
6127
6178
  }
6128
6179
  listenUser() {
6129
6180
  this.authService.authenticate$.subscribe(() => {
@@ -6159,15 +6210,67 @@ class AnalyticsListenerService {
6159
6210
  }
6160
6211
  });
6161
6212
  }
6213
+ /**
6214
+ * Listener for adding layers to the map
6215
+ */
6216
+ listenLayer() {
6217
+ this.mapState.map.layersAddedByClick$.subscribe((layers) => {
6218
+ if (!layers) {
6219
+ return;
6220
+ }
6221
+ layers.map(layer => {
6222
+ let wmsParams;
6223
+ let wmtsParams;
6224
+ let xyzParams;
6225
+ let restParams;
6226
+ switch (layer.dataSource.options.type) {
6227
+ case 'wms':
6228
+ const wmsDataSource = layer.dataSource.options;
6229
+ const wmsLayerName = wmsDataSource.params.LAYERS;
6230
+ const wmsUrl = wmsDataSource.url;
6231
+ const wmsType = wmsDataSource.type;
6232
+ wmsParams = JSON.stringify({ layer: wmsLayerName, type: wmsType, url: wmsUrl });
6233
+ break;
6234
+ case 'wmts':
6235
+ const wmtsDataSource = layer.dataSource.options;
6236
+ const wmtsLayerName = wmtsDataSource.layer;
6237
+ const wmtsUrl = wmtsDataSource.url;
6238
+ const matrixSet = wmtsDataSource.matrixSet;
6239
+ const wmtsType = wmtsDataSource.type;
6240
+ wmtsParams = JSON.stringify({ layer: wmtsLayerName, type: wmtsType, url: wmtsUrl, matrixSet });
6241
+ break;
6242
+ case 'arcgisrest':
6243
+ case 'tilearcgisrest':
6244
+ case 'imagearcgisrest':
6245
+ const restDataSource = layer.options.sourceOptions;
6246
+ const restName = restDataSource.layer;
6247
+ const restUrl = restDataSource.url;
6248
+ const restType = restDataSource.type;
6249
+ restParams = JSON.stringify({ layer: restName, type: restType, url: restUrl });
6250
+ break;
6251
+ case 'xyz':
6252
+ /* const xyzDataSource = layer.dataSource.options as XYZDataSourceOptions;
6253
+ const xyzName: string = layer.title;
6254
+ const xyzUrl: string = xyzDataSource.url;
6255
+ const xyzType: string = layer.dataSource.options.type;
6256
+ xyzParams = JSON.stringify({layer: xyzName, type: xyzType, url: xyzUrl});
6257
+ */
6258
+ // todo
6259
+ break;
6260
+ }
6261
+ this.analyticsService.trackLayer('layer', 'addLayer', wmsParams || wmtsParams || xyzParams || restParams);
6262
+ });
6263
+ });
6264
+ }
6162
6265
  }
6163
- 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)); };
6266
+ 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)); };
6164
6267
  AnalyticsListenerService.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: AnalyticsListenerService, factory: AnalyticsListenerService.ɵfac, providedIn: 'root' });
6165
6268
  (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(AnalyticsListenerService, [{
6166
6269
  type: Injectable,
6167
6270
  args: [{
6168
6271
  providedIn: 'root'
6169
6272
  }]
6170
- }], function () { return [{ type: i2.AnalyticsService }, { type: i2$1.AuthService }, { type: ContextState }, { type: SearchState }, { type: ToolState }]; }, null); })();
6273
+ }], function () { return [{ type: i2.AnalyticsService }, { type: i2$1.AuthService }, { type: ContextState }, { type: SearchState }, { type: ToolState }, { type: MapState }]; }, null); })();
6171
6274
 
6172
6275
  /**
6173
6276
  * Service that holds the state of the query module