@igo2/integration 1.11.1 → 1.12.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 (118) hide show
  1. package/bundles/igo2-integration.umd.js +670 -166
  2. package/bundles/igo2-integration.umd.js.map +1 -1
  3. package/esm2015/lib/about/about-tool/about-tool.component.js +1 -1
  4. package/esm2015/lib/about/about-tool/index.js +1 -1
  5. package/esm2015/lib/about/about.module.js +1 -1
  6. package/esm2015/lib/about/index.js +1 -1
  7. package/esm2015/lib/analytics/analytics-listener.service.js +1 -1
  8. package/esm2015/lib/analytics/analytics.module.js +1 -1
  9. package/esm2015/lib/analytics/index.js +1 -1
  10. package/esm2015/lib/catalog/catalog-browser-tool/catalog-browser-tool.component.js +1 -1
  11. package/esm2015/lib/catalog/catalog-browser-tool/catalog-browser-tool.module.js +1 -1
  12. package/esm2015/lib/catalog/catalog-library-tool/catalog-library-tool.component.js +1 -1
  13. package/esm2015/lib/catalog/catalog-library-tool/catalog-library-tool.module.js +1 -1
  14. package/esm2015/lib/catalog/catalog.module.js +1 -1
  15. package/esm2015/lib/catalog/catalog.state.js +1 -1
  16. package/esm2015/lib/catalog/index.js +1 -1
  17. package/esm2015/lib/context/context-editor-tool/context-editor-tool.component.js +1 -1
  18. package/esm2015/lib/context/context-manager-tool/context-manager-tool.component.js +1 -1
  19. package/esm2015/lib/context/context-permission-manager-tool/context-permission-manager-tool.component.js +1 -1
  20. package/esm2015/lib/context/context-share-tool/context-share-tool.component.js +1 -1
  21. package/esm2015/lib/context/context.module.js +1 -1
  22. package/esm2015/lib/context/context.state.js +1 -1
  23. package/esm2015/lib/context/index.js +1 -1
  24. package/esm2015/lib/directions/directions-tool/directions-tool.component.js +1 -1
  25. package/esm2015/lib/directions/directions-tool/index.js +1 -1
  26. package/esm2015/lib/directions/directions.module.js +1 -1
  27. package/esm2015/lib/directions/directions.state.js +1 -1
  28. package/esm2015/lib/directions/index.js +1 -1
  29. package/esm2015/lib/draw/draw.module.js +1 -1
  30. package/esm2015/lib/draw/draw.state.js +1 -1
  31. package/esm2015/lib/draw/drawing-tool/drawing-tool.component.js +1 -1
  32. package/esm2015/lib/draw/index.js +1 -1
  33. package/esm2015/lib/filter/active-ogc-filter-tool/active-ogc-filter-tool.animation.js +1 -1
  34. package/esm2015/lib/filter/active-ogc-filter-tool/active-ogc-filter-tool.component.js +1 -1
  35. package/esm2015/lib/filter/active-ogc-filter-tool/index.js +1 -1
  36. package/esm2015/lib/filter/active-time-filter-tool/active-time-filter-tool.animation.js +1 -1
  37. package/esm2015/lib/filter/active-time-filter-tool/active-time-filter-tool.component.js +1 -1
  38. package/esm2015/lib/filter/active-time-filter-tool/index.js +1 -1
  39. package/esm2015/lib/filter/filter.module.js +1 -1
  40. package/esm2015/lib/filter/index.js +1 -1
  41. package/esm2015/lib/filter/ogc-filter-tool/index.js +1 -1
  42. package/esm2015/lib/filter/ogc-filter-tool/ogc-filter-tool.component.js +1 -1
  43. package/esm2015/lib/filter/spatial-filter-tool/index.js +1 -1
  44. package/esm2015/lib/filter/spatial-filter-tool/spatial-filter-tool.component.js +1 -1
  45. package/esm2015/lib/filter/time-filter-tool/index.js +1 -1
  46. package/esm2015/lib/filter/time-filter-tool/time-filter-tool.component.js +1 -1
  47. package/esm2015/lib/import-export/import-export-tool/import-export-tool.component.js +1 -1
  48. package/esm2015/lib/import-export/import-export-tool/index.js +1 -1
  49. package/esm2015/lib/import-export/import-export.module.js +1 -1
  50. package/esm2015/lib/import-export/import-export.state.js +1 -1
  51. package/esm2015/lib/import-export/index.js +1 -1
  52. package/esm2015/lib/integration.module.js +1 -1
  53. package/esm2015/lib/map/advanced-map-tool/advanced-coordinates/advanced-coordinates.component.js +1 -1
  54. package/esm2015/lib/map/advanced-map-tool/advanced-map-tool.component.js +60 -11
  55. package/esm2015/lib/map/advanced-map-tool/advanced-swipe/advanced-swipe.component.js +1 -1
  56. package/esm2015/lib/map/advanced-map-tool/index.js +1 -1
  57. package/esm2015/lib/map/index.js +3 -1
  58. package/esm2015/lib/map/layer-list-tool.state.js +1 -1
  59. package/esm2015/lib/map/map-details-tool/index.js +1 -1
  60. package/esm2015/lib/map/map-details-tool/map-details-tool.component.js +1 -1
  61. package/esm2015/lib/map/map-legend/index.js +1 -1
  62. package/esm2015/lib/map/map-legend/map-legend-tool.component.js +1 -1
  63. package/esm2015/lib/map/map-proximity-tool/index.js +2 -0
  64. package/esm2015/lib/map/map-proximity-tool/map-proximity-tool.component.js +221 -0
  65. package/esm2015/lib/map/map-proximity.state.js +164 -0
  66. package/esm2015/lib/map/map-tool/index.js +1 -1
  67. package/esm2015/lib/map/map-tool/map-tool.component.js +1 -1
  68. package/esm2015/lib/map/map-tools/index.js +1 -1
  69. package/esm2015/lib/map/map-tools/map-tools.component.js +2 -2
  70. package/esm2015/lib/map/map.module.js +18 -8
  71. package/esm2015/lib/map/map.state.js +8 -6
  72. package/esm2015/lib/measure/index.js +1 -1
  73. package/esm2015/lib/measure/measure.module.js +1 -1
  74. package/esm2015/lib/measure/measure.state.js +1 -1
  75. package/esm2015/lib/measure/measurer-tool/measurer-tool.component.js +1 -1
  76. package/esm2015/lib/measure/measurer-tool/measurer-tool.module.js +1 -1
  77. package/esm2015/lib/print/index.js +1 -1
  78. package/esm2015/lib/print/print-tool/index.js +1 -1
  79. package/esm2015/lib/print/print-tool/print-tool.component.js +1 -1
  80. package/esm2015/lib/print/print.module.js +1 -1
  81. package/esm2015/lib/search/index.js +1 -1
  82. package/esm2015/lib/search/query.state.js +1 -1
  83. package/esm2015/lib/search/search-bar/search-bar-binding.directive.js +1 -1
  84. package/esm2015/lib/search/search-bar/search-bar.module.js +1 -1
  85. package/esm2015/lib/search/search-results-tool/search-results-tool.component.js +52 -28
  86. package/esm2015/lib/search/search-results-tool/search-results-tool.module.js +1 -1
  87. package/esm2015/lib/search/search.module.js +1 -1
  88. package/esm2015/lib/search/search.state.js +1 -1
  89. package/esm2015/lib/storage/index.js +1 -1
  90. package/esm2015/lib/storage/storage.module.js +1 -1
  91. package/esm2015/lib/storage/storage.state.js +1 -1
  92. package/esm2015/lib/tool/index.js +1 -1
  93. package/esm2015/lib/tool/tool.module.js +1 -1
  94. package/esm2015/lib/tool/tool.state.js +1 -1
  95. package/esm2015/lib/workspace/index.js +1 -1
  96. package/esm2015/lib/workspace/shared/edition-actions.service.js +1 -1
  97. package/esm2015/lib/workspace/shared/feature-actions.service.js +1 -1
  98. package/esm2015/lib/workspace/shared/index.js +1 -1
  99. package/esm2015/lib/workspace/shared/wfs-actions.service.js +1 -1
  100. package/esm2015/lib/workspace/shared/workspace.utils.js +1 -1
  101. package/esm2015/lib/workspace/workspace-button/index.js +1 -1
  102. package/esm2015/lib/workspace/workspace-button/workspace-button.component.js +1 -1
  103. package/esm2015/lib/workspace/workspace.module.js +1 -1
  104. package/esm2015/lib/workspace/workspace.state.js +20 -2
  105. package/esm2015/public_api.js +1 -1
  106. package/fesm2015/igo2-integration.js +562 -106
  107. package/fesm2015/igo2-integration.js.map +1 -1
  108. package/lib/map/advanced-map-tool/advanced-map-tool.component.d.ts +7 -0
  109. package/lib/map/index.d.ts +2 -0
  110. package/lib/map/map-proximity-tool/index.d.ts +1 -0
  111. package/lib/map/map-proximity-tool/map-proximity-tool.component.d.ts +36 -0
  112. package/lib/map/map-proximity.state.d.ts +28 -0
  113. package/lib/map/map.module.d.ts +30 -28
  114. package/lib/map/map.state.d.ts +4 -1
  115. package/lib/search/search-results-tool/search-results-tool.component.d.ts +7 -1
  116. package/lib/workspace/workspace.state.d.ts +4 -2
  117. package/ngcc.config.js +3 -3
  118. package/package.json +3 -3
@@ -4,24 +4,24 @@ import * as i1 from '@igo2/context';
4
4
  import { IgoContextModule, IgoContextImportExportModule } from '@igo2/context';
5
5
  import { __decorate } from 'tslib';
6
6
  import * as i4 from '@igo2/common';
7
- import { ToolComponent, EntityStore, EntityStoreFilterCustomFuncStrategy, EntityStoreFilterSelectionStrategy, WorkspaceStore, IgoSpinnerModule, getEntityTitle, FlexibleComponent, IgoFlexibleModule, IgoPanelModule, IgoCustomHtmlModule, IgoInteractiveTourModule } from '@igo2/common';
8
- import { BehaviorSubject, Subject, combineLatest, ReplaySubject, forkJoin, of } from 'rxjs';
7
+ import { ToolComponent, EntityStore, EntityStoreFilterCustomFuncStrategy, EntityStoreFilterSelectionStrategy, WorkspaceStore, IgoSpinnerModule, IgoEntityTableModule, getEntityTitle, FlexibleComponent, IgoFlexibleModule, IgoPanelModule, IgoCustomHtmlModule, IgoInteractiveTourModule } from '@igo2/common';
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, IgoLayerModule, IgoMetadataModule, IgoDownloadModule, IgoFilterModule, IgoMeasurerModule, IgoPrintModule, IgoSearchModule, FEATURE, getCommonVectorStyle, featureToOl, computeOlFeaturesExtent, featuresAreOutOfView, featuresAreTooDeepInView, featureFromOl, getCommonVectorSelectedStyle, moveToOlFeatures, IgoFeatureModule, IgoFeatureDetailsModule, SpatialFilterItemType, MeasureLengthUnit, SpatialFilterType, createOverlayMarkerStyle, IgoQueryModule } from '@igo2/geo';
11
- import * as i4$1 from '@angular/common';
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';
11
+ import * as i2 from '@igo2/core';
12
+ import { StorageScope, StorageServiceEventEnum, IgoLanguageModule } from '@igo2/core';
13
+ import * as i5 from '@angular/common';
12
14
  import { CommonModule } from '@angular/common';
13
15
  import { take, skipWhile, map, debounceTime, takeUntil, tap, skip } from 'rxjs/operators';
14
- import * as i2 from '@igo2/auth';
15
- import * as i2$1 from '@igo2/core';
16
- import { StorageScope, StorageServiceEventEnum, IgoLanguageModule } from '@igo2/core';
16
+ import * as i2$1 from '@igo2/auth';
17
17
  import * as i3 from '@angular/material/button';
18
18
  import { MatButtonModule } from '@angular/material/button';
19
- import * as i4$2 from '@angular/material/tooltip';
19
+ import * as i4$1 from '@angular/material/tooltip';
20
20
  import { MatTooltipModule } from '@angular/material/tooltip';
21
21
  import * as i6 from '@angular/material/icon';
22
22
  import { MatIconModule } from '@angular/material/icon';
23
23
  import * as i8 from '@ngx-translate/core';
24
- import * as i5 from '@angular/material/tabs';
24
+ import * as i5$1 from '@angular/material/tabs';
25
25
  import { MatTabsModule } from '@angular/material/tabs';
26
26
  import { MatButtonToggleModule } from '@angular/material/button-toggle';
27
27
  import * as i7 from '@angular/material/list';
@@ -40,14 +40,18 @@ import * as i7$1 from '@angular/material/select';
40
40
  import { MatSelectModule } from '@angular/material/select';
41
41
  import * as i9 from '@angular/material/divider';
42
42
  import { MatDividerModule } from '@angular/material/divider';
43
- import { Clipboard } from '@igo2/utils';
44
- import * as olproj from 'ol/proj';
43
+ import { Clipboard, uuid, NumberUtils } from '@igo2/utils';
44
+ import * as olProj from 'ol/proj';
45
45
  import * as i10$1 from '@angular/material/input';
46
46
  import { MatInputModule } from '@angular/material/input';
47
47
  import { MatCheckboxModule } from '@angular/material/checkbox';
48
+ import * as i7$2 from '@angular/material/radio';
49
+ import { MatRadioModule } from '@angular/material/radio';
50
+ import olFormatGeoJSON from 'ol/format/GeoJSON';
51
+ import olLayerVector from 'ol/layer/Vector';
52
+ import olLineString from 'ol/geom/LineString';
48
53
  import * as i12 from '@angular/material/badge';
49
54
  import { MatBadgeModule } from '@angular/material/badge';
50
- import olFormatGeoJSON from 'ol/format/GeoJSON';
51
55
  import olFeature from 'ol/Feature';
52
56
  import olPoint from 'ol/geom/Point';
53
57
  import pointOnFeature from '@turf/point-on-feature';
@@ -188,10 +192,11 @@ ContextEditorToolComponent = __decorate([
188
192
  * Service that holds the state of the map module
189
193
  */
190
194
  class MapState {
191
- constructor(mapService, projectionService // Don't remove this or it'll never be injected
192
- ) {
195
+ constructor(mapService, projectionService, // Don't remove this or it'll never be injected,
196
+ storageService) {
193
197
  this.mapService = mapService;
194
198
  this.projectionService = projectionService;
199
+ this.storageService = storageService;
195
200
  this._map = new IgoMap({
196
201
  controls: {
197
202
  scaleLine: true,
@@ -199,7 +204,7 @@ class MapState {
199
204
  collapsed: true
200
205
  }
201
206
  }
202
- });
207
+ }, this.storageService);
203
208
  this.mapService.setMap(this.map);
204
209
  }
205
210
  // public mapCenter$ = new BehaviorSubject<boolean>(false);
@@ -214,14 +219,14 @@ class MapState {
214
219
  */
215
220
  get map() { return this._map; }
216
221
  }
217
- MapState.ɵfac = function MapState_Factory(t) { return new (t || MapState)(i0.ɵɵinject(i1$1.MapService), i0.ɵɵinject(i1$1.ProjectionService)); };
222
+ MapState.ɵfac = function MapState_Factory(t) { return new (t || MapState)(i0.ɵɵinject(i1$1.MapService), i0.ɵɵinject(i1$1.ProjectionService), i0.ɵɵinject(i2.StorageService)); };
218
223
  MapState.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: MapState, factory: MapState.ɵfac, providedIn: 'root' });
219
224
  (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(MapState, [{
220
225
  type: Injectable,
221
226
  args: [{
222
227
  providedIn: 'root'
223
228
  }]
224
- }], function () { return [{ type: i1$1.MapService }, { type: i1$1.ProjectionService }]; }, null); })();
229
+ }], function () { return [{ type: i1$1.MapService }, { type: i1$1.ProjectionService }, { type: i2.StorageService }]; }, null); })();
225
230
 
226
231
  let ContextManagerToolComponent = class ContextManagerToolComponent {
227
232
  constructor(toolState, mapState) {
@@ -425,14 +430,14 @@ class CatalogState {
425
430
  this.catalogItemsStores.clear();
426
431
  }
427
432
  }
428
- CatalogState.ɵfac = function CatalogState_Factory(t) { return new (t || CatalogState)(i0.ɵɵinject(i2.AuthService)); };
433
+ CatalogState.ɵfac = function CatalogState_Factory(t) { return new (t || CatalogState)(i0.ɵɵinject(i2$1.AuthService)); };
429
434
  CatalogState.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: CatalogState, factory: CatalogState.ɵfac, providedIn: 'root' });
430
435
  (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(CatalogState, [{
431
436
  type: Injectable,
432
437
  args: [{
433
438
  providedIn: 'root'
434
439
  }]
435
- }], function () { return [{ type: i2.AuthService }]; }, null); })();
440
+ }], function () { return [{ type: i2$1.AuthService }]; }, null); })();
436
441
 
437
442
  /**
438
443
  * Tool to browse the list of available catalogs.
@@ -489,7 +494,7 @@ let CatalogLibraryToolComponent = class CatalogLibraryToolComponent {
489
494
  });
490
495
  }
491
496
  };
492
- CatalogLibraryToolComponent.ɵfac = function CatalogLibraryToolComponent_Factory(t) { return new (t || CatalogLibraryToolComponent)(i0.ɵɵdirectiveInject(i1$1.CatalogService), i0.ɵɵdirectiveInject(CatalogState), i0.ɵɵdirectiveInject(ToolState), i0.ɵɵdirectiveInject(i2$1.StorageService)); };
497
+ CatalogLibraryToolComponent.ɵfac = function CatalogLibraryToolComponent_Factory(t) { return new (t || CatalogLibraryToolComponent)(i0.ɵɵdirectiveInject(i1$1.CatalogService), i0.ɵɵdirectiveInject(CatalogState), i0.ɵɵdirectiveInject(ToolState), i0.ɵɵdirectiveInject(i2.StorageService)); };
493
498
  CatalogLibraryToolComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: CatalogLibraryToolComponent, selectors: [["igo-catalog-library-tool"]], inputs: { addCatalogAllowed: "addCatalogAllowed", predefinedCatalogs: "predefinedCatalogs" }, decls: 1, vars: 3, consts: [[3, "predefinedCatalogs", "addCatalogAllowed", "store", "catalogSelectChange"]], template: function CatalogLibraryToolComponent_Template(rf, ctx) { if (rf & 1) {
494
499
  i0.ɵɵelementStart(0, "igo-catalog-library", 0);
495
500
  i0.ɵɵlistener("catalogSelectChange", function CatalogLibraryToolComponent_Template_igo_catalog_library_catalogSelectChange_0_listener($event) { return ctx.onCatalogSelectChange($event); });
@@ -511,7 +516,7 @@ CatalogLibraryToolComponent = __decorate([
511
516
  templateUrl: './catalog-library-tool.component.html',
512
517
  changeDetection: ChangeDetectionStrategy.OnPush
513
518
  }]
514
- }], function () { return [{ type: i1$1.CatalogService }, { type: CatalogState }, { type: ToolState }, { type: i2$1.StorageService }]; }, { addCatalogAllowed: [{
519
+ }], function () { return [{ type: i1$1.CatalogService }, { type: CatalogState }, { type: ToolState }, { type: i2.StorageService }]; }, { addCatalogAllowed: [{
515
520
  type: Input
516
521
  }], predefinedCatalogs: [{
517
522
  type: Input
@@ -622,13 +627,13 @@ let CatalogBrowserToolComponent = class CatalogBrowserToolComponent {
622
627
  });
623
628
  }
624
629
  };
625
- CatalogBrowserToolComponent.ɵfac = function CatalogBrowserToolComponent_Factory(t) { return new (t || CatalogBrowserToolComponent)(i0.ɵɵdirectiveInject(i1$1.CatalogService), i0.ɵɵdirectiveInject(CatalogState), i0.ɵɵdirectiveInject(MapState), i0.ɵɵdirectiveInject(i2.AuthService)); };
630
+ CatalogBrowserToolComponent.ɵfac = function CatalogBrowserToolComponent_Factory(t) { return new (t || CatalogBrowserToolComponent)(i0.ɵɵdirectiveInject(i1$1.CatalogService), i0.ɵɵdirectiveInject(CatalogState), i0.ɵɵdirectiveInject(MapState), i0.ɵɵdirectiveInject(i2$1.AuthService)); };
626
631
  CatalogBrowserToolComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: CatalogBrowserToolComponent, selectors: [["igo-catalog-browser-tool"]], inputs: { toggleCollapsedGroup: "toggleCollapsedGroup" }, decls: 2, vars: 3, consts: [[3, "catalog", "store", "map", "toggleCollapsedGroup", 4, "ngIf"], [3, "catalog", "store", "map", "toggleCollapsedGroup"]], template: function CatalogBrowserToolComponent_Template(rf, ctx) { if (rf & 1) {
627
632
  i0.ɵɵtemplate(0, CatalogBrowserToolComponent_igo_catalog_browser_0_Template, 1, 4, "igo-catalog-browser", 0);
628
633
  i0.ɵɵpipe(1, "async");
629
634
  } if (rf & 2) {
630
635
  i0.ɵɵproperty("ngIf", i0.ɵɵpipeBind1(1, 1, ctx.store$));
631
- } }, directives: [i4$1.NgIf, i1$1.CatalogBrowserComponent], pipes: [i4$1.AsyncPipe], encapsulation: 2, changeDetection: 0 });
636
+ } }, directives: [i5.NgIf, i1$1.CatalogBrowserComponent], pipes: [i5.AsyncPipe], encapsulation: 2, changeDetection: 0 });
632
637
  CatalogBrowserToolComponent = __decorate([
633
638
  ToolComponent({
634
639
  name: 'catalogBrowser',
@@ -644,7 +649,7 @@ CatalogBrowserToolComponent = __decorate([
644
649
  templateUrl: './catalog-browser-tool.component.html',
645
650
  changeDetection: ChangeDetectionStrategy.OnPush
646
651
  }]
647
- }], function () { return [{ type: i1$1.CatalogService }, { type: CatalogState }, { type: MapState }, { type: i2.AuthService }]; }, { toggleCollapsedGroup: [{
652
+ }], function () { return [{ type: i1$1.CatalogService }, { type: CatalogState }, { type: MapState }, { type: i2$1.AuthService }]; }, { toggleCollapsedGroup: [{
648
653
  type: Input
649
654
  }] }); })();
650
655
 
@@ -827,14 +832,14 @@ class ContextState {
827
832
  this.setContext(context);
828
833
  }
829
834
  }
830
- ContextState.ɵfac = function ContextState_Factory(t) { return new (t || ContextState)(i0.ɵɵinject(i1.ContextService), i0.ɵɵinject(i4.ToolService), i0.ɵɵinject(ToolState), i0.ɵɵinject(i2$1.LanguageService)); };
835
+ ContextState.ɵfac = function ContextState_Factory(t) { return new (t || ContextState)(i0.ɵɵinject(i1.ContextService), i0.ɵɵinject(i4.ToolService), i0.ɵɵinject(ToolState), i0.ɵɵinject(i2.LanguageService)); };
831
836
  ContextState.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: ContextState, factory: ContextState.ɵfac, providedIn: 'root' });
832
837
  (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ContextState, [{
833
838
  type: Injectable,
834
839
  args: [{
835
840
  providedIn: 'root'
836
841
  }]
837
- }], function () { return [{ type: i1.ContextService }, { type: i4.ToolService }, { type: ToolState }, { type: i2$1.LanguageService }]; }, null); })();
842
+ }], function () { return [{ type: i1.ContextService }, { type: i4.ToolService }, { type: ToolState }, { type: i2.LanguageService }]; }, null); })();
838
843
 
839
844
  let DirectionsToolComponent = class DirectionsToolComponent {
840
845
  constructor(directionState, mapState, languageService, messageService, storageService, contextState, authService) {
@@ -893,7 +898,7 @@ let DirectionsToolComponent = class DirectionsToolComponent {
893
898
  });
894
899
  }
895
900
  };
896
- DirectionsToolComponent.ɵfac = function DirectionsToolComponent_Factory(t) { return new (t || DirectionsToolComponent)(i0.ɵɵdirectiveInject(DirectionState), i0.ɵɵdirectiveInject(MapState), i0.ɵɵdirectiveInject(i2$1.LanguageService), i0.ɵɵdirectiveInject(i2$1.MessageService), i0.ɵɵdirectiveInject(i2$1.StorageService), i0.ɵɵdirectiveInject(ContextState), i0.ɵɵdirectiveInject(i2.AuthService)); };
901
+ DirectionsToolComponent.ɵfac = function DirectionsToolComponent_Factory(t) { return new (t || DirectionsToolComponent)(i0.ɵɵdirectiveInject(DirectionState), i0.ɵɵdirectiveInject(MapState), i0.ɵɵdirectiveInject(i2.LanguageService), i0.ɵɵdirectiveInject(i2.MessageService), i0.ɵɵdirectiveInject(i2.StorageService), i0.ɵɵdirectiveInject(ContextState), i0.ɵɵdirectiveInject(i2$1.AuthService)); };
897
902
  DirectionsToolComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: DirectionsToolComponent, selectors: [["igo-directions-tool"]], decls: 1, vars: 7, consts: [[3, "contextUri", "debounceTime", "stopsStore", "stopsFeatureStore", "stepFeatureStore", "routesFeatureStore", "zoomToActiveRoute$"]], template: function DirectionsToolComponent_Template(rf, ctx) { if (rf & 1) {
898
903
  i0.ɵɵelement(0, "igo-directions", 0);
899
904
  } if (rf & 2) {
@@ -912,7 +917,7 @@ DirectionsToolComponent = __decorate([
912
917
  selector: 'igo-directions-tool',
913
918
  templateUrl: './directions-tool.component.html'
914
919
  }]
915
- }], function () { return [{ type: DirectionState }, { type: MapState }, { type: i2$1.LanguageService }, { type: i2$1.MessageService }, { type: i2$1.StorageService }, { type: ContextState }, { type: i2.AuthService }]; }, null); })();
920
+ }], function () { return [{ type: DirectionState }, { type: MapState }, { type: i2.LanguageService }, { type: i2.MessageService }, { type: i2.StorageService }, { type: ContextState }, { type: i2$1.AuthService }]; }, null); })();
916
921
 
917
922
  class IgoAppDirectionsModule {
918
923
  static forRoot() {
@@ -1039,14 +1044,14 @@ class StorageState {
1039
1044
  return this.igoStorageService;
1040
1045
  }
1041
1046
  }
1042
- StorageState.ɵfac = function StorageState_Factory(t) { return new (t || StorageState)(i0.ɵɵinject(i2$1.StorageService)); };
1047
+ StorageState.ɵfac = function StorageState_Factory(t) { return new (t || StorageState)(i0.ɵɵinject(i2.StorageService)); };
1043
1048
  StorageState.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: StorageState, factory: StorageState.ɵfac, providedIn: 'root' });
1044
1049
  (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(StorageState, [{
1045
1050
  type: Injectable,
1046
1051
  args: [{
1047
1052
  providedIn: 'root'
1048
1053
  }]
1049
- }], function () { return [{ type: i2$1.StorageService }]; }, null); })();
1054
+ }], function () { return [{ type: i2.StorageService }]; }, null); })();
1050
1055
 
1051
1056
  class FeatureActionsService {
1052
1057
  constructor(storageState, languageService, toolState, mediaService) {
@@ -1172,14 +1177,14 @@ class FeatureActionsService {
1172
1177
  ];
1173
1178
  }
1174
1179
  }
1175
- FeatureActionsService.ɵfac = function FeatureActionsService_Factory(t) { return new (t || FeatureActionsService)(i0.ɵɵinject(StorageState), i0.ɵɵinject(i2$1.LanguageService), i0.ɵɵinject(ToolState), i0.ɵɵinject(i2$1.MediaService)); };
1180
+ FeatureActionsService.ɵfac = function FeatureActionsService_Factory(t) { return new (t || FeatureActionsService)(i0.ɵɵinject(StorageState), i0.ɵɵinject(i2.LanguageService), i0.ɵɵinject(ToolState), i0.ɵɵinject(i2.MediaService)); };
1176
1181
  FeatureActionsService.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: FeatureActionsService, factory: FeatureActionsService.ɵfac, providedIn: 'root' });
1177
1182
  (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(FeatureActionsService, [{
1178
1183
  type: Injectable,
1179
1184
  args: [{
1180
1185
  providedIn: 'root'
1181
1186
  }]
1182
- }], function () { return [{ type: StorageState }, { type: i2$1.LanguageService }, { type: ToolState }, { type: i2$1.MediaService }]; }, null); })();
1187
+ }], function () { return [{ type: StorageState }, { type: i2.LanguageService }, { type: ToolState }, { type: i2.MediaService }]; }, null); })();
1183
1188
 
1184
1189
  class WfsActionsService {
1185
1190
  constructor(ogcFilterWidget, storageState, languageService, mediaService, toolState) {
@@ -1316,7 +1321,7 @@ class WfsActionsService {
1316
1321
  actions : actions.filter(action => action.id !== 'ogcFilter');
1317
1322
  }
1318
1323
  }
1319
- WfsActionsService.ɵfac = function WfsActionsService_Factory(t) { return new (t || WfsActionsService)(i0.ɵɵinject(OgcFilterWidget), i0.ɵɵinject(StorageState), i0.ɵɵinject(i2$1.LanguageService), i0.ɵɵinject(i2$1.MediaService), i0.ɵɵinject(ToolState)); };
1324
+ WfsActionsService.ɵfac = function WfsActionsService_Factory(t) { return new (t || WfsActionsService)(i0.ɵɵinject(OgcFilterWidget), i0.ɵɵinject(StorageState), i0.ɵɵinject(i2.LanguageService), i0.ɵɵinject(i2.MediaService), i0.ɵɵinject(ToolState)); };
1320
1325
  WfsActionsService.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: WfsActionsService, factory: WfsActionsService.ɵfac, providedIn: 'root' });
1321
1326
  (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(WfsActionsService, [{
1322
1327
  type: Injectable,
@@ -1326,7 +1331,7 @@ WfsActionsService.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: WfsAct
1326
1331
  }], function () { return [{ type: i4.Widget, decorators: [{
1327
1332
  type: Inject,
1328
1333
  args: [OgcFilterWidget]
1329
- }] }, { type: StorageState }, { type: i2$1.LanguageService }, { type: i2$1.MediaService }, { type: ToolState }]; }, null); })();
1334
+ }] }, { type: StorageState }, { type: i2.LanguageService }, { type: i2.MediaService }, { type: ToolState }]; }, null); })();
1330
1335
 
1331
1336
  class EditionActionsService {
1332
1337
  constructor(ogcFilterWidget, storageState, languageService, mediaService, toolState) {
@@ -1461,7 +1466,7 @@ class EditionActionsService {
1461
1466
  actions : actions.filter(action => action.id !== 'ogcFilter');
1462
1467
  }
1463
1468
  }
1464
- EditionActionsService.ɵfac = function EditionActionsService_Factory(t) { return new (t || EditionActionsService)(i0.ɵɵinject(OgcFilterWidget), i0.ɵɵinject(StorageState), i0.ɵɵinject(i2$1.LanguageService), i0.ɵɵinject(i2$1.MediaService), i0.ɵɵinject(ToolState)); };
1469
+ EditionActionsService.ɵfac = function EditionActionsService_Factory(t) { return new (t || EditionActionsService)(i0.ɵɵinject(OgcFilterWidget), i0.ɵɵinject(StorageState), i0.ɵɵinject(i2.LanguageService), i0.ɵɵinject(i2.MediaService), i0.ɵɵinject(ToolState)); };
1465
1470
  EditionActionsService.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: EditionActionsService, factory: EditionActionsService.ɵfac, providedIn: 'root' });
1466
1471
  (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(EditionActionsService, [{
1467
1472
  type: Injectable,
@@ -1471,7 +1476,7 @@ EditionActionsService.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: Ed
1471
1476
  }], function () { return [{ type: i4.Widget, decorators: [{
1472
1477
  type: Inject,
1473
1478
  args: [OgcFilterWidget]
1474
- }] }, { type: StorageState }, { type: i2$1.LanguageService }, { type: i2$1.MediaService }, { type: ToolState }]; }, null); })();
1479
+ }] }, { type: StorageState }, { type: i2.LanguageService }, { type: i2.MediaService }, { type: ToolState }]; }, null); })();
1475
1480
 
1476
1481
  /**
1477
1482
  * Service that holds the state of the workspace module
@@ -1500,6 +1505,24 @@ class WorkspaceState {
1500
1505
  * Store that holds all the available workspaces
1501
1506
  */
1502
1507
  get store() { return this._store; }
1508
+ get workspaceSelection() {
1509
+ var _a;
1510
+ if (this.workspace$.value) {
1511
+ return (_a = this.workspace$.value) === null || _a === void 0 ? void 0 : _a.entityStore.stateView.manyBy((r) => r.state.selected === true);
1512
+ }
1513
+ else {
1514
+ return [];
1515
+ }
1516
+ }
1517
+ get workspaceSelection$() {
1518
+ var _a, _b;
1519
+ if (this.workspace$.value) {
1520
+ return (_b = (_a = this.workspace$.value) === null || _a === void 0 ? void 0 : _a.entityStore) === null || _b === void 0 ? void 0 : _b.stateView.manyBy$((r) => r.state.selected === true);
1521
+ }
1522
+ else {
1523
+ return of([]);
1524
+ }
1525
+ }
1503
1526
  /**
1504
1527
  * Initialize the workspace store. Each time a workspace is activated,
1505
1528
  * subscribe to it's active widget. Tracking the active widget is useful
@@ -1627,14 +1650,14 @@ class WorkspaceState {
1627
1650
  }
1628
1651
  }
1629
1652
  }
1630
- WorkspaceState.ɵfac = function WorkspaceState_Factory(t) { return new (t || WorkspaceState)(i0.ɵɵinject(FeatureActionsService), i0.ɵɵinject(WfsActionsService), i0.ɵɵinject(EditionActionsService), i0.ɵɵinject(i2$1.StorageService)); };
1653
+ WorkspaceState.ɵfac = function WorkspaceState_Factory(t) { return new (t || WorkspaceState)(i0.ɵɵinject(FeatureActionsService), i0.ɵɵinject(WfsActionsService), i0.ɵɵinject(EditionActionsService), i0.ɵɵinject(i2.StorageService)); };
1631
1654
  WorkspaceState.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: WorkspaceState, factory: WorkspaceState.ɵfac, providedIn: 'root' });
1632
1655
  (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(WorkspaceState, [{
1633
1656
  type: Injectable,
1634
1657
  args: [{
1635
1658
  providedIn: 'root'
1636
1659
  }]
1637
- }], function () { return [{ type: FeatureActionsService }, { type: WfsActionsService }, { type: EditionActionsService }, { type: i2$1.StorageService }]; }, null); })();
1660
+ }], function () { return [{ type: FeatureActionsService }, { type: WfsActionsService }, { type: EditionActionsService }, { type: i2.StorageService }]; }, null); })();
1638
1661
 
1639
1662
  function WorkspaceButtonComponent_button_0_Template(rf, ctx) { if (rf & 1) {
1640
1663
  const _r2 = i0.ɵɵgetCurrentView();
@@ -1686,7 +1709,7 @@ WorkspaceButtonComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: Wo
1686
1709
  i0.ɵɵpipe(1, "async");
1687
1710
  } if (rf & 2) {
1688
1711
  i0.ɵɵproperty("ngIf", i0.ɵɵpipeBind1(1, 1, ctx.hasWorkspace$));
1689
- } }, directives: [i4$1.NgIf, i3.MatButton, i4$2.MatTooltip, i6.MatIcon], pipes: [i4$1.AsyncPipe, i8.TranslatePipe], styles: [""], changeDetection: 0 });
1712
+ } }, directives: [i5.NgIf, i3.MatButton, i4$1.MatTooltip, i6.MatIcon], pipes: [i5.AsyncPipe, i8.TranslatePipe], styles: [""], changeDetection: 0 });
1690
1713
  (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(WorkspaceButtonComponent, [{
1691
1714
  type: Component,
1692
1715
  args: [{
@@ -1837,7 +1860,7 @@ ImportExportToolComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: I
1837
1860
  i0.ɵɵproperty("ngIf", !ctx.importExportShowBothType && ctx.importExportType === "layer");
1838
1861
  i0.ɵɵadvance(1);
1839
1862
  i0.ɵɵproperty("ngIf", !ctx.importExportShowBothType && ctx.importExportType === "context");
1840
- } }, directives: [i4$1.NgIf, i5.MatTabGroup, i5.MatTab, i1$1.ImportExportComponent, i1.ContextImportExportComponent], pipes: [i8.TranslatePipe, i4$1.AsyncPipe], styles: ["mat-form-field[_ngcontent-%COMP%]{width:100%}"], changeDetection: 0 });
1863
+ } }, directives: [i5.NgIf, i5$1.MatTabGroup, i5$1.MatTab, i1$1.ImportExportComponent, i1.ContextImportExportComponent], pipes: [i8.TranslatePipe, i5.AsyncPipe], styles: ["mat-form-field[_ngcontent-%COMP%]{width:100%}"], changeDetection: 0 });
1841
1864
  ImportExportToolComponent = __decorate([
1842
1865
  ToolComponent({
1843
1866
  name: 'importExport',
@@ -2127,7 +2150,7 @@ MapDetailsToolComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: Map
2127
2150
  } if (rf & 2) {
2128
2151
  const _r1 = i0.ɵɵreference(3);
2129
2152
  i0.ɵɵproperty("ngIf", i0.ɵɵpipeBind1(1, 2, ctx.layers$).length)("ngIfElse", _r1);
2130
- } }, directives: [i4$1.NgIf, i1$1.LayerListComponent, i1$1.LayerListBindingDirective, WorkspaceButtonComponent, i1$1.ExportButtonComponent, i1$1.OgcFilterButtonComponent, i1$1.TimeFilterButtonComponent, i1$1.TrackFeatureButtonComponent, i1$1.MetadataButtonComponent, i7.MatList, i7.MatListItem, i6.MatIcon, i7.MatListIconCssMatStyler, i8$1.MatLine], pipes: [i4$1.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:bold}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}"] });
2153
+ } }, directives: [i5.NgIf, i1$1.LayerListComponent, i1$1.LayerListBindingDirective, WorkspaceButtonComponent, i1$1.ExportButtonComponent, i1$1.OgcFilterButtonComponent, i1$1.TimeFilterButtonComponent, i1$1.TrackFeatureButtonComponent, i1$1.MetadataButtonComponent, i7.MatList, i7.MatListItem, i6.MatIcon, i7.MatListIconCssMatStyler, i8$1.MatLine], pipes: [i5.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:bold}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}"] });
2131
2154
  MapDetailsToolComponent = __decorate([
2132
2155
  ToolComponent({
2133
2156
  name: 'mapDetails',
@@ -2255,7 +2278,7 @@ MapToolComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: MapToolCom
2255
2278
  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);
2256
2279
  i0.ɵɵadvance(3);
2257
2280
  i0.ɵɵproperty("label", i0.ɵɵpipeBind1(7, 12, "igo.integration.tools.contexts"));
2258
- } }, directives: [i5.MatTabGroup, i5.MatTab, i1$1.LayerListComponent, i1$1.LayerListBindingDirective, i1.ContextListComponent, i1.ContextListBindingDirective, WorkspaceButtonComponent, i1$1.ExportButtonComponent, i1$1.OgcFilterButtonComponent, i1$1.TimeFilterButtonComponent, i1$1.TrackFeatureButtonComponent, i1$1.MetadataButtonComponent], pipes: [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 });
2281
+ } }, directives: [i5$1.MatTabGroup, i5$1.MatTab, i1$1.LayerListComponent, i1$1.LayerListBindingDirective, i1.ContextListComponent, i1.ContextListBindingDirective, WorkspaceButtonComponent, i1$1.ExportButtonComponent, i1$1.OgcFilterButtonComponent, i1$1.TimeFilterButtonComponent, i1$1.TrackFeatureButtonComponent, i1$1.MetadataButtonComponent], pipes: [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 });
2259
2282
  MapToolComponent = __decorate([
2260
2283
  ToolComponent({
2261
2284
  name: 'map',
@@ -2287,7 +2310,7 @@ MapToolComponent = __decorate([
2287
2310
  type: Input
2288
2311
  }] }); })();
2289
2312
 
2290
- const _c0$1 = ["tabGroup"];
2313
+ const _c0$2 = ["tabGroup"];
2291
2314
  function MapToolsComponent_igo_layer_list_5_ng_template_1_igo_time_filter_button_2_Template(rf, ctx) { if (rf & 1) {
2292
2315
  const _r14 = i0.ɵɵgetCurrentView();
2293
2316
  i0.ɵɵelementStart(0, "igo-time-filter-button", 14);
@@ -2666,7 +2689,7 @@ let MapToolsComponent = class MapToolsComponent {
2666
2689
  const options = layer.dataSource.options;
2667
2690
  return this.ogcButton && options.ogcFilters && options.ogcFilters.enabled &&
2668
2691
  (options.ogcFilters.pushButtons || options.ogcFilters.checkboxes || options.ogcFilters.radioButtons
2669
- || options.ogcFilters.select || options.ogcFilters.editable);
2692
+ || options.ogcFilters.select || options.ogcFilters.autocomplete || options.ogcFilters.editable);
2670
2693
  }
2671
2694
  isExportButton(layer) {
2672
2695
  var _a, _b;
@@ -2680,7 +2703,7 @@ let MapToolsComponent = class MapToolsComponent {
2680
2703
  };
2681
2704
  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)); };
2682
2705
  MapToolsComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: MapToolsComponent, selectors: [["igo-map-tools"]], viewQuery: function MapToolsComponent_Query(rf, ctx) { if (rf & 1) {
2683
- i0.ɵɵviewQuery(_c0$1, 7);
2706
+ i0.ɵɵviewQuery(_c0$2, 7);
2684
2707
  } if (rf & 2) {
2685
2708
  let _t;
2686
2709
  i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.tabGroup = _t.first);
@@ -2719,7 +2742,7 @@ MapToolsComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: MapToolsC
2719
2742
  i0.ɵɵproperty("ngIf", i0.ɵɵpipeBind1(11, 17, ctx.layers$).length !== 0)("ngIfElse", _r5);
2720
2743
  i0.ɵɵadvance(2);
2721
2744
  i0.ɵɵproperty("ngIf", !ctx.allowShowAllLegends && i0.ɵɵpipeBind1(13, 19, ctx.layers$).length !== 0 && i0.ɵɵpipeBind1(14, 21, ctx.visibleOrInRangeLayers$).length === 0);
2722
- } }, directives: [i5.MatTabGroup, i5.MatTab, i4$1.NgIf, i1$1.LayerListComponent, i1$1.LayerListBindingDirective, i1$1.MetadataButtonComponent, i1$1.TrackFeatureButtonComponent, WorkspaceButtonComponent, i1$1.TimeFilterButtonComponent, i1$1.OgcFilterButtonComponent, i1$1.ExportButtonComponent, i1$1.LayerLegendListComponent, i1$1.LayerLegendListBindingDirective, i7.MatList, i7.MatListItem, i6.MatIcon, i7.MatListIconCssMatStyler, i8$1.MatLine], pipes: [i4$1.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:bold}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 });
2745
+ } }, directives: [i5$1.MatTabGroup, i5$1.MatTab, i5.NgIf, i1$1.LayerListComponent, i1$1.LayerListBindingDirective, i1$1.MetadataButtonComponent, i1$1.TrackFeatureButtonComponent, WorkspaceButtonComponent, i1$1.TimeFilterButtonComponent, i1$1.OgcFilterButtonComponent, i1$1.ExportButtonComponent, i1$1.LayerLegendListComponent, i1$1.LayerLegendListBindingDirective, i7.MatList, i7.MatListItem, i6.MatIcon, i7.MatListIconCssMatStyler, i8$1.MatLine], pipes: [i5.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:bold}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 });
2723
2746
  MapToolsComponent = __decorate([
2724
2747
  ToolComponent({
2725
2748
  name: 'mapTools',
@@ -3008,7 +3031,7 @@ MapLegendToolComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: MapL
3008
3031
  i0.ɵɵproperty("ngIf", i0.ɵɵpipeBind1(2, 4, ctx.layers$).length !== 0)("ngIfElse", _r3);
3009
3032
  i0.ɵɵadvance(2);
3010
3033
  i0.ɵɵproperty("ngIf", !ctx.allowShowAllLegends && i0.ɵɵpipeBind1(4, 6, ctx.layers$).length !== 0 && i0.ɵɵpipeBind1(5, 8, ctx.visibleOrInRangeLayers$).length === 0);
3011
- } }, directives: [i4$1.NgIf, i1$1.LayerLegendListComponent, i1$1.LayerLegendListBindingDirective, i7.MatList, i7.MatListItem, i6.MatIcon, i7.MatListIconCssMatStyler, i8$1.MatLine], pipes: [i4$1.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:bold}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}"] });
3034
+ } }, directives: [i5.NgIf, i1$1.LayerLegendListComponent, i1$1.LayerLegendListBindingDirective, i7.MatList, i7.MatListItem, i6.MatIcon, i7.MatListIconCssMatStyler, i8$1.MatLine], pipes: [i5.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:bold}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}"] });
3012
3035
  MapLegendToolComponent = __decorate([
3013
3036
  ToolComponent({
3014
3037
  name: 'mapLegend',
@@ -3243,7 +3266,7 @@ AdvancedSwipeComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: Adva
3243
3266
  } if (rf & 2) {
3244
3267
  const _r1 = i0.ɵɵreference(2);
3245
3268
  i0.ɵɵproperty("ngIf", ctx.userControlledLayerList.length)("ngIfElse", _r1);
3246
- } }, directives: [i4$1.NgIf, i3$1.ɵNgNoValidate, i3$1.NgControlStatusGroup, i3$1.FormGroupDirective, i6$1.MatFormField, i6$1.MatLabel, i7$1.MatSelect, i3$1.NgControlStatus, i3$1.FormControlName, i8$1.MatOption, i9.MatDivider, i4$1.NgForOf, i10.MatSlideToggle, i7.MatList, i7.MatListItem, i6.MatIcon, i7.MatListIconCssMatStyler, i8$1.MatLine], pipes: [i8.TranslatePipe], styles: [".nameOfTool[_ngcontent-%COMP%]{text-align:center;font-weight:bold;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:bold}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}"] });
3269
+ } }, directives: [i5.NgIf, i3$1.ɵNgNoValidate, i3$1.NgControlStatusGroup, i3$1.FormGroupDirective, i6$1.MatFormField, i6$1.MatLabel, i7$1.MatSelect, i3$1.NgControlStatus, i3$1.FormControlName, i8$1.MatOption, i9.MatDivider, i5.NgForOf, i10.MatSlideToggle, i7.MatList, i7.MatListItem, i6.MatIcon, i7.MatListIconCssMatStyler, i8$1.MatLine], pipes: [i8.TranslatePipe], styles: [".nameOfTool[_ngcontent-%COMP%]{text-align:center;font-weight:bold;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:bold}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}"] });
3247
3270
  (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(AdvancedSwipeComponent, [{
3248
3271
  type: Component,
3249
3272
  args: [{
@@ -3611,7 +3634,7 @@ class AdvancedCoordinatesComponent {
3611
3634
  let modifiedProj = this.projections$.value;
3612
3635
  const extent = projection.extent;
3613
3636
  const code = projection.code.match(/\d+/);
3614
- const currentExtentWGS = olproj.transformExtent(extent, projection.code, this.defaultProj.code);
3637
+ const currentExtentWGS = olProj.transformExtent(extent, projection.code, this.defaultProj.code);
3615
3638
  if (coordinates[0] < currentExtentWGS[0] || coordinates[0] > currentExtentWGS[2] ||
3616
3639
  coordinates[1] < currentExtentWGS[1] || coordinates[1] > currentExtentWGS[3]) {
3617
3640
  this.inLambert2[code] = false;
@@ -3630,7 +3653,7 @@ class AdvancedCoordinatesComponent {
3630
3653
  });
3631
3654
  }
3632
3655
  }
3633
- AdvancedCoordinatesComponent.ɵfac = function AdvancedCoordinatesComponent_Factory(t) { return new (t || AdvancedCoordinatesComponent)(i0.ɵɵdirectiveInject(MapState), i0.ɵɵdirectiveInject(i2$1.LanguageService), i0.ɵɵdirectiveInject(i2$1.MessageService), i0.ɵɵdirectiveInject(i0.ChangeDetectorRef), i0.ɵɵdirectiveInject(i2$1.StorageService), i0.ɵɵdirectiveInject(i2$1.ConfigService), i0.ɵɵdirectiveInject(i3$1.FormBuilder)); };
3656
+ 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$1.FormBuilder)); };
3634
3657
  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) {
3635
3658
  i0.ɵɵtemplate(0, AdvancedCoordinatesComponent_mat_form_field_0_Template, 4, 4, "mat-form-field", 0);
3636
3659
  i0.ɵɵtemplate(1, AdvancedCoordinatesComponent_ng_template_1_Template, 4, 4, "ng-template", null, 1, i0.ɵɵtemplateRefExtractor);
@@ -3700,7 +3723,7 @@ AdvancedCoordinatesComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type
3700
3723
  i0.ɵɵtextInterpolate2("", i0.ɵɵpipeBind1(26, 28, "igo.integration.advanced-map-tool.advanced-coordinates.scale"), " ", i0.ɵɵpipeBind1(27, 30, ctx.formattedScale$), "");
3701
3724
  i0.ɵɵadvance(4);
3702
3725
  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"), "");
3703
- } }, directives: [i4$1.NgIf, i3.MatButton, i6.MatIcon, i3$1.ɵNgNoValidate, i3$1.NgControlStatusGroup, i3$1.FormGroupDirective, i6$1.MatFormField, i6$1.MatLabel, i7$1.MatSelect, i4$1.NgForOf, i10.MatSlideToggle, i10$1.MatInput, i8$1.MatOption], pipes: [i8.TranslatePipe, i4$1.AsyncPipe, i4$1.DecimalPipe], 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}"] });
3726
+ } }, directives: [i5.NgIf, i3.MatButton, i6.MatIcon, i3$1.ɵNgNoValidate, i3$1.NgControlStatusGroup, i3$1.FormGroupDirective, i6$1.MatFormField, i6$1.MatLabel, i7$1.MatSelect, i5.NgForOf, i10.MatSlideToggle, i10$1.MatInput, i8$1.MatOption], pipes: [i8.TranslatePipe, i5.AsyncPipe, i5.DecimalPipe], 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}"] });
3704
3727
  (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(AdvancedCoordinatesComponent, [{
3705
3728
  type: Component,
3706
3729
  args: [{
@@ -3708,14 +3731,29 @@ AdvancedCoordinatesComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type
3708
3731
  templateUrl: './advanced-coordinates.component.html',
3709
3732
  styleUrls: ['./advanced-coordinates.component.scss']
3710
3733
  }]
3711
- }], function () { return [{ type: MapState }, { type: i2$1.LanguageService }, { type: i2$1.MessageService }, { type: i0.ChangeDetectorRef }, { type: i2$1.StorageService }, { type: i2$1.ConfigService }, { type: i3$1.FormBuilder }]; }, { projectionsLimitations: [{
3734
+ }], function () { return [{ type: MapState }, { type: i2.LanguageService }, { type: i2.MessageService }, { type: i0.ChangeDetectorRef }, { type: i2.StorageService }, { type: i2.ConfigService }, { type: i3$1.FormBuilder }]; }, { projectionsLimitations: [{
3712
3735
  type: Input
3713
3736
  }] }); })();
3714
3737
 
3715
3738
  let AdvancedMapToolComponent = class AdvancedMapToolComponent {
3739
+ constructor(mapState) {
3740
+ this.mapState = mapState;
3741
+ }
3742
+ get tracking$() {
3743
+ return this.mapState.map.geolocationController.tracking$;
3744
+ }
3745
+ get followPosition$() {
3746
+ return this.mapState.map.geolocationController.followPosition$;
3747
+ }
3748
+ toggleTracking(value) {
3749
+ this.mapState.map.geolocationController.tracking = value;
3750
+ }
3751
+ toggleFollow(value) {
3752
+ this.mapState.map.geolocationController.followPosition = value;
3753
+ }
3716
3754
  };
3717
- AdvancedMapToolComponent.ɵfac = function AdvancedMapToolComponent_Factory(t) { return new (t || AdvancedMapToolComponent)(); };
3718
- AdvancedMapToolComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: AdvancedMapToolComponent, selectors: [["igo-advanced-map-tool"]], decls: 10, vars: 6, consts: [[1, "nameOfTool"], [1, "advanced-tool-line"]], template: function AdvancedMapToolComponent_Template(rf, ctx) { if (rf & 1) {
3755
+ AdvancedMapToolComponent.ɵfac = function AdvancedMapToolComponent_Factory(t) { return new (t || AdvancedMapToolComponent)(i0.ɵɵdirectiveInject(MapState)); };
3756
+ AdvancedMapToolComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: AdvancedMapToolComponent, selectors: [["igo-advanced-map-tool"]], decls: 24, vars: 26, consts: [[1, "nameOfTool"], [1, "advanced-tool-line"], [1, "igo-input-container"], [1, "geolocation-slide-toggle-container", "mat-typography"], [1, "geolocation-option", "mat-typography", 3, "checked", "labelPosition", "change"], [1, "geolocation-option", "mat-typography", 3, "disabled", "checked", "labelPosition", "change"]], template: function AdvancedMapToolComponent_Template(rf, ctx) { if (rf & 1) {
3719
3757
  i0.ɵɵelementStart(0, "h4", 0);
3720
3758
  i0.ɵɵtext(1);
3721
3759
  i0.ɵɵpipe(2, "translate");
@@ -3728,12 +3766,43 @@ AdvancedMapToolComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: Ad
3728
3766
  i0.ɵɵelementEnd();
3729
3767
  i0.ɵɵelement(8, "igo-advanced-coordinates");
3730
3768
  i0.ɵɵelement(9, "mat-divider", 1);
3769
+ i0.ɵɵelementStart(10, "h4", 0);
3770
+ i0.ɵɵtext(11);
3771
+ i0.ɵɵpipe(12, "translate");
3772
+ i0.ɵɵelementEnd();
3773
+ i0.ɵɵelementStart(13, "div", 2);
3774
+ i0.ɵɵelementStart(14, "div", 3);
3775
+ i0.ɵɵelementStart(15, "mat-slide-toggle", 4);
3776
+ i0.ɵɵlistener("change", function AdvancedMapToolComponent_Template_mat_slide_toggle_change_15_listener($event) { return ctx.toggleTracking($event.checked); });
3777
+ i0.ɵɵpipe(16, "async");
3778
+ i0.ɵɵtext(17);
3779
+ i0.ɵɵpipe(18, "translate");
3780
+ i0.ɵɵelementEnd();
3781
+ i0.ɵɵelementStart(19, "mat-slide-toggle", 5);
3782
+ i0.ɵɵlistener("change", function AdvancedMapToolComponent_Template_mat_slide_toggle_change_19_listener($event) { return ctx.toggleFollow($event.checked); });
3783
+ i0.ɵɵpipe(20, "async");
3784
+ i0.ɵɵpipe(21, "async");
3785
+ i0.ɵɵtext(22);
3786
+ i0.ɵɵpipe(23, "translate");
3787
+ i0.ɵɵelementEnd();
3788
+ i0.ɵɵelementEnd();
3789
+ i0.ɵɵelementEnd();
3731
3790
  } if (rf & 2) {
3732
3791
  i0.ɵɵadvance(1);
3733
- i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(2, 2, "igo.integration.advanced-map-tool.advanced-swipe.swipe-tool"));
3792
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(2, 10, "igo.integration.advanced-map-tool.advanced-swipe.swipe-tool"));
3793
+ i0.ɵɵadvance(5);
3794
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(7, 12, "igo.integration.advanced-map-tool.advanced-coordinates.coordinates"));
3734
3795
  i0.ɵɵadvance(5);
3735
- i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(7, 4, "igo.integration.advanced-map-tool.advanced-coordinates.coordinates"));
3736
- } }, directives: [AdvancedSwipeComponent, i9.MatDivider, AdvancedCoordinatesComponent], pipes: [i8.TranslatePipe], styles: [".nameOfTool[_ngcontent-%COMP%]{text-align:center;font-weight:bold;font-size:small;margin:15px 10px 0}.advanced-tool-line[_ngcontent-%COMP%]{height:2px;background-color:gray}"] });
3796
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(12, 14, "igo.integration.advanced-map-tool.geolocation.title"));
3797
+ i0.ɵɵadvance(4);
3798
+ i0.ɵɵproperty("checked", i0.ɵɵpipeBind1(16, 16, ctx.tracking$))("labelPosition", "before");
3799
+ i0.ɵɵadvance(2);
3800
+ i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(18, 18, "igo.integration.advanced-map-tool.geolocation.tracking"), " ");
3801
+ i0.ɵɵadvance(2);
3802
+ i0.ɵɵproperty("disabled", i0.ɵɵpipeBind1(20, 20, ctx.tracking$) !== true)("checked", i0.ɵɵpipeBind1(21, 22, ctx.followPosition$))("labelPosition", "before");
3803
+ i0.ɵɵadvance(3);
3804
+ i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(23, 24, "igo.integration.advanced-map-tool.geolocation.follow"), " ");
3805
+ } }, directives: [AdvancedSwipeComponent, i9.MatDivider, AdvancedCoordinatesComponent, i10.MatSlideToggle], pipes: [i8.TranslatePipe, i5.AsyncPipe], styles: [".nameOfTool[_ngcontent-%COMP%]{text-align:center;font-weight:bold;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}"] });
3737
3806
  AdvancedMapToolComponent = __decorate([
3738
3807
  ToolComponent({
3739
3808
  name: 'advancedMap',
@@ -3751,7 +3820,363 @@ AdvancedMapToolComponent = __decorate([
3751
3820
  templateUrl: './advanced-map-tool.component.html',
3752
3821
  styleUrls: ['./advanced-map-tool.component.scss']
3753
3822
  }]
3754
- }], null, null); })();
3823
+ }], function () { return [{ type: MapState }]; }, null); })();
3824
+
3825
+ /**
3826
+ * Service that holds the state of the direction module
3827
+ */
3828
+ class MapProximityState {
3829
+ constructor(mapState) {
3830
+ this.mapState = mapState;
3831
+ this.enabled$ = new BehaviorSubject(false);
3832
+ this.proximityRadiusValue$ = new BehaviorSubject(30);
3833
+ this.proximitylocationType$ = new BehaviorSubject('geolocation');
3834
+ this.proximityFeatureStore = new FeatureStore([], { map: this.mapState.map });
3835
+ this.subs$$ = [];
3836
+ this.currentPositionCoordinate$ = new BehaviorSubject(undefined);
3837
+ this.mapState.map.ol.once('rendercomplete', () => {
3838
+ this.subscribeProximityMonitor();
3839
+ });
3840
+ }
3841
+ get map() {
3842
+ return this.mapState.map;
3843
+ }
3844
+ subscribeProximityMonitor() {
3845
+ this.subs$$.push(combineLatest([
3846
+ this.enabled$,
3847
+ this.proximitylocationType$,
3848
+ this.proximityRadiusValue$,
3849
+ interval(5000),
3850
+ this.map.geolocationController.position$
3851
+ ])
3852
+ .pipe(debounceTime(750))
3853
+ .subscribe((bunch) => {
3854
+ this.proximityFeatureStore.clear();
3855
+ const enabled = bunch[0];
3856
+ const layers = this.map.layers;
3857
+ const currentPos = this.map.geolocationController.position$.value;
3858
+ const locationType = bunch[1];
3859
+ const proximityRadiusValue = bunch[2];
3860
+ if (!enabled) {
3861
+ return;
3862
+ }
3863
+ let coord;
3864
+ if (locationType === 'geolocation') {
3865
+ if (!currentPos || !currentPos.position) {
3866
+ return;
3867
+ }
3868
+ coord = olProj.transform(currentPos.position, currentPos.projection, this.map.projection);
3869
+ this.map.mapCenter$.next(false);
3870
+ }
3871
+ else {
3872
+ coord = this.map.viewController.getCenter();
3873
+ ;
3874
+ this.map.mapCenter$.next(true);
3875
+ }
3876
+ const coordLonLat = olProj.transform(coord, this.map.projection, 'EPSG:4269');
3877
+ const roundedCoordLonLat = roundCoordTo(coordLonLat, 6);
3878
+ this.currentPositionCoordinate$.next(roundedCoordLonLat);
3879
+ const layersToMonitor = layers
3880
+ .filter(layer => layer.ol instanceof olLayerVector &&
3881
+ layer.dataSource.options.queryable &&
3882
+ layer.visible &&
3883
+ layer.isInResolutionsRange);
3884
+ layersToMonitor.map(layerToMonitor => {
3885
+ const layerSource = layerToMonitor.ol.getSource();
3886
+ // Mostly for polygon features.
3887
+ const olFeaturesAtCoordinate = layerSource.getFeaturesAtCoordinate(coord);
3888
+ if (olFeaturesAtCoordinate && olFeaturesAtCoordinate.length) {
3889
+ olFeaturesAtCoordinate.map(olFeatureAtCoordinate => {
3890
+ const featureAtThisPosition = featureFromOl(olFeatureAtCoordinate, this.map.projection);
3891
+ let title = this.getQueryTitle(featureAtThisPosition, layerToMonitor);
3892
+ // todo handle imported layers without querytitle? prompt title or detect first column?
3893
+ this.addFeatureToStore(layerToMonitor, coord, featureAtThisPosition, title, 0);
3894
+ });
3895
+ }
3896
+ else {
3897
+ // compute proximity for remaining sources
3898
+ const closestOlFeature = layerSource.getClosestFeatureToCoordinate(coord);
3899
+ if (closestOlFeature) {
3900
+ const closestOlGeom = closestOlFeature.getGeometry();
3901
+ const closestFeature = featureFromOl(closestOlFeature, this.map.projection);
3902
+ const geometryClosestPoint = closestOlGeom.getClosestPoint(coord);
3903
+ const linebetween = new olLineString([coord, geometryClosestPoint]);
3904
+ const lineLength = measureOlGeometryLength(linebetween, 'EPSG:3857');
3905
+ if (lineLength <= proximityRadiusValue) {
3906
+ let title = this.getQueryTitle(closestFeature, layerToMonitor);
3907
+ // todo handle imported layers without querytitle? prompt title or detect first column?
3908
+ this.addFeatureToStore(layerToMonitor, coord, closestFeature, title, lineLength);
3909
+ }
3910
+ }
3911
+ }
3912
+ });
3913
+ }));
3914
+ }
3915
+ /**
3916
+ * Add a feature with proximity properties to the store
3917
+ * @internal
3918
+ */
3919
+ addFeatureToStore(layer, coordFromCalculatedDistance, feature, title, distance) {
3920
+ const featureId = uuid();
3921
+ const projection = this.map.ol.getView().getProjection();
3922
+ const olGeometry = feature.ol.getGeometry();
3923
+ const geometry = new olFormatGeoJSON().writeGeometryObject(olGeometry, {
3924
+ featureProjection: projection,
3925
+ dataProjection: projection
3926
+ });
3927
+ this.proximityFeatureStore.update({
3928
+ type: FEATURE,
3929
+ geometry,
3930
+ projection: projection.getCode(),
3931
+ properties: Object.assign(Object.assign({}, feature.properties), {
3932
+ id: featureId,
3933
+ element: title,
3934
+ distance,
3935
+ coordFromCalculatedDistance,
3936
+ layerSrcId: layer.id,
3937
+ layerSrcTitle: layer.title
3938
+ }),
3939
+ meta: {
3940
+ id: featureId
3941
+ }
3942
+ });
3943
+ }
3944
+ getQueryTitle(feature, layer) {
3945
+ var _a, _b;
3946
+ let title;
3947
+ if ((_b = (_a = layer.options) === null || _a === void 0 ? void 0 : _a.source) === null || _b === void 0 ? void 0 : _b.options) {
3948
+ const dataSourceOptions = layer.options.source
3949
+ .options;
3950
+ if (dataSourceOptions.queryTitle) {
3951
+ title = this.getLabelMatch(feature, dataSourceOptions.queryTitle);
3952
+ }
3953
+ }
3954
+ return title;
3955
+ }
3956
+ getLabelMatch(feature, labelMatch) {
3957
+ let label = labelMatch;
3958
+ const labelToGet = Array.from(labelMatch.matchAll(/\$\{([^\{\}]+)\}/g));
3959
+ labelToGet.forEach(v => {
3960
+ label = label.replace(v[0], feature.properties[v[1]]);
3961
+ });
3962
+ // Nothing done? check feature's attribute
3963
+ if (labelToGet.length === 0 && label === labelMatch) {
3964
+ label = feature.properties[labelMatch] || labelMatch;
3965
+ }
3966
+ return label;
3967
+ }
3968
+ }
3969
+ MapProximityState.ɵfac = function MapProximityState_Factory(t) { return new (t || MapProximityState)(i0.ɵɵinject(MapState)); };
3970
+ MapProximityState.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: MapProximityState, factory: MapProximityState.ɵfac, providedIn: 'root' });
3971
+ (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(MapProximityState, [{
3972
+ type: Injectable,
3973
+ args: [{
3974
+ providedIn: 'root'
3975
+ }]
3976
+ }], function () { return [{ type: MapState }]; }, null); })();
3977
+
3978
+ const _c0$1 = ["table"];
3979
+ function MapProximityToolComponent_mat_form_field_3_Template(rf, ctx) { if (rf & 1) {
3980
+ i0.ɵɵelementStart(0, "mat-form-field", 14);
3981
+ i0.ɵɵelement(1, "textarea", 15, 16);
3982
+ i0.ɵɵpipe(3, "translate");
3983
+ i0.ɵɵelementEnd();
3984
+ } if (rf & 2) {
3985
+ const coord_r4 = ctx.ngIf;
3986
+ i0.ɵɵadvance(1);
3987
+ i0.ɵɵproperty("placeholder", i0.ɵɵpipeBind1(3, 2, "igo.integration.map-proximity-tool.lon"))("value", coord_r4[0]);
3988
+ } }
3989
+ function MapProximityToolComponent_mat_form_field_5_Template(rf, ctx) { if (rf & 1) {
3990
+ i0.ɵɵelementStart(0, "mat-form-field", 17);
3991
+ i0.ɵɵelement(1, "textarea", 15, 16);
3992
+ i0.ɵɵpipe(3, "translate");
3993
+ i0.ɵɵelementEnd();
3994
+ } if (rf & 2) {
3995
+ const coord2_r6 = ctx.ngIf;
3996
+ i0.ɵɵadvance(1);
3997
+ i0.ɵɵproperty("placeholder", i0.ɵɵpipeBind1(3, 2, "igo.integration.map-proximity-tool.lat"))("value", coord2_r6[1]);
3998
+ } }
3999
+ function MapProximityToolComponent_button_7_Template(rf, ctx) { if (rf & 1) {
4000
+ const _r9 = i0.ɵɵgetCurrentView();
4001
+ i0.ɵɵelementStart(0, "button", 18);
4002
+ i0.ɵɵlistener("click", function MapProximityToolComponent_button_7_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r9); const ctx_r8 = i0.ɵɵnextContext(); return ctx_r8.copyTextToClipboard(); });
4003
+ i0.ɵɵelement(1, "mat-icon", 19);
4004
+ i0.ɵɵelementEnd();
4005
+ } }
4006
+ let MapProximityToolComponent = class MapProximityToolComponent {
4007
+ constructor(mapState, mapProximityState, languageService, messageService) {
4008
+ this.mapState = mapState;
4009
+ this.mapProximityState = mapProximityState;
4010
+ this.languageService = languageService;
4011
+ this.messageService = messageService;
4012
+ this.subs$$ = [];
4013
+ /**
4014
+ * Table template
4015
+ * @internal
4016
+ */
4017
+ this.tableTemplate = {
4018
+ selection: true,
4019
+ selectMany: false,
4020
+ selectionCheckbox: false,
4021
+ sort: true,
4022
+ columns: [
4023
+ {
4024
+ name: 'element',
4025
+ title: this.languageService.translate.instant('igo.integration.map-proximity-tool.feature'),
4026
+ valueAccessor: (localFeature) => {
4027
+ return localFeature.properties.element;
4028
+ }
4029
+ },
4030
+ {
4031
+ name: 'distance',
4032
+ title: this.languageService.translate.instant('igo.integration.map-proximity-tool.distance'),
4033
+ valueAccessor: (localFeature) => {
4034
+ return `${NumberUtils.roundToNDecimal(localFeature.properties.distance, 1)}m`;
4035
+ }
4036
+ }
4037
+ ]
4038
+ };
4039
+ }
4040
+ get maxDistance() {
4041
+ return this.mapProximityState.proximityRadiusValue$.value;
4042
+ }
4043
+ set maxDistance(value) {
4044
+ this.mapProximityState.proximityRadiusValue$.next(value);
4045
+ }
4046
+ get map() {
4047
+ return this.mapState.map;
4048
+ }
4049
+ ngOnInit() {
4050
+ this.mapProximityState.enabled$.next(true);
4051
+ this.userDefinedFollowPosition = this.map.geolocationController.followPosition === true;
4052
+ this.userDefinedMapCenter = this.map.mapCenter$.value === true;
4053
+ this.subs$$.push(this.mapProximityState.proximitylocationType$.subscribe(v => {
4054
+ this.map.mapCenter$.next(v !== 'geolocation');
4055
+ if (v === 'geolocation') {
4056
+ this.map.geolocationController.followPosition = true;
4057
+ }
4058
+ else {
4059
+ this.map.geolocationController.followPosition = false;
4060
+ }
4061
+ }));
4062
+ }
4063
+ ngOnDestroy() {
4064
+ this.mapProximityState.enabled$.next(false);
4065
+ this.map.mapCenter$.next(this.userDefinedMapCenter);
4066
+ this.subs$$.map(s => s.unsubscribe());
4067
+ this.map.geolocationController.followPosition = this.userDefinedFollowPosition;
4068
+ }
4069
+ onLocationTypeChange(e) {
4070
+ this.mapProximityState.proximitylocationType$.next(e.value);
4071
+ }
4072
+ /**
4073
+ * Copy the coordinates to a clipboard
4074
+ */
4075
+ copyTextToClipboard() {
4076
+ var _a;
4077
+ const successful = Clipboard.copy((_a = this.mapProximityState.currentPositionCoordinate$) === null || _a === void 0 ? void 0 : _a.value.toString());
4078
+ if (successful) {
4079
+ const translate = this.languageService.translate;
4080
+ const title = translate.instant('igo.integration.map-proximity-tool.copyTitle');
4081
+ const msg = translate.instant('igo.integration.map-proximity-tool.copyMsg');
4082
+ this.messageService.success(msg, title);
4083
+ }
4084
+ }
4085
+ };
4086
+ MapProximityToolComponent.ɵfac = function MapProximityToolComponent_Factory(t) { return new (t || MapProximityToolComponent)(i0.ɵɵdirectiveInject(MapState), i0.ɵɵdirectiveInject(MapProximityState), i0.ɵɵdirectiveInject(i2.LanguageService), i0.ɵɵdirectiveInject(i2.MessageService)); };
4087
+ MapProximityToolComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: MapProximityToolComponent, selectors: [["igo-map-proximity-tool"]], viewQuery: function MapProximityToolComponent_Query(rf, ctx) { if (rf & 1) {
4088
+ i0.ɵɵviewQuery(_c0$1, 7);
4089
+ } if (rf & 2) {
4090
+ let _t;
4091
+ i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.table = _t.first);
4092
+ } }, 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) {
4093
+ i0.ɵɵelement(0, "igo-entity-table", 0, 1);
4094
+ i0.ɵɵelement(2, "br");
4095
+ i0.ɵɵtemplate(3, MapProximityToolComponent_mat_form_field_3_Template, 4, 4, "mat-form-field", 2);
4096
+ i0.ɵɵpipe(4, "async");
4097
+ i0.ɵɵtemplate(5, MapProximityToolComponent_mat_form_field_5_Template, 4, 4, "mat-form-field", 3);
4098
+ i0.ɵɵpipe(6, "async");
4099
+ i0.ɵɵtemplate(7, MapProximityToolComponent_button_7_Template, 2, 0, "button", 4);
4100
+ i0.ɵɵpipe(8, "async");
4101
+ i0.ɵɵpipe(9, "async");
4102
+ i0.ɵɵelementStart(10, "div", 5);
4103
+ i0.ɵɵelementStart(11, "mat-label", 6);
4104
+ i0.ɵɵtext(12);
4105
+ i0.ɵɵpipe(13, "translate");
4106
+ i0.ɵɵelementEnd();
4107
+ i0.ɵɵelementEnd();
4108
+ i0.ɵɵelementStart(14, "div", 7);
4109
+ i0.ɵɵelementStart(15, "mat-radio-group", 8);
4110
+ i0.ɵɵlistener("change", function MapProximityToolComponent_Template_mat_radio_group_change_15_listener($event) { return ctx.onLocationTypeChange($event); });
4111
+ i0.ɵɵelementStart(16, "mat-radio-button", 9);
4112
+ i0.ɵɵpipe(17, "async");
4113
+ i0.ɵɵtext(18);
4114
+ i0.ɵɵpipe(19, "translate");
4115
+ i0.ɵɵelementEnd();
4116
+ i0.ɵɵelementStart(20, "mat-radio-button", 10);
4117
+ i0.ɵɵpipe(21, "async");
4118
+ i0.ɵɵtext(22);
4119
+ i0.ɵɵpipe(23, "translate");
4120
+ i0.ɵɵelementEnd();
4121
+ i0.ɵɵelementEnd();
4122
+ i0.ɵɵelementEnd();
4123
+ i0.ɵɵelementStart(24, "div", 11);
4124
+ i0.ɵɵelementStart(25, "mat-form-field", 12);
4125
+ i0.ɵɵelementStart(26, "mat-label");
4126
+ i0.ɵɵtext(27);
4127
+ i0.ɵɵpipe(28, "translate");
4128
+ i0.ɵɵelementEnd();
4129
+ i0.ɵɵelementStart(29, "input", 13);
4130
+ i0.ɵɵlistener("ngModelChange", function MapProximityToolComponent_Template_input_ngModelChange_29_listener($event) { return ctx.maxDistance = $event; });
4131
+ i0.ɵɵpipe(30, "translate");
4132
+ i0.ɵɵelementEnd();
4133
+ i0.ɵɵelementEnd();
4134
+ i0.ɵɵelementEnd();
4135
+ } if (rf & 2) {
4136
+ i0.ɵɵproperty("store", ctx.mapProximityState.proximityFeatureStore)("template", ctx.tableTemplate);
4137
+ i0.ɵɵadvance(3);
4138
+ i0.ɵɵproperty("ngIf", i0.ɵɵpipeBind1(4, 13, ctx.mapProximityState.currentPositionCoordinate$));
4139
+ i0.ɵɵadvance(2);
4140
+ i0.ɵɵproperty("ngIf", i0.ɵɵpipeBind1(6, 15, ctx.mapProximityState.currentPositionCoordinate$));
4141
+ i0.ɵɵadvance(2);
4142
+ i0.ɵɵproperty("ngIf", i0.ɵɵpipeBind1(8, 17, ctx.mapProximityState.currentPositionCoordinate$) && i0.ɵɵpipeBind1(9, 19, ctx.mapProximityState.currentPositionCoordinate$).length);
4143
+ i0.ɵɵadvance(5);
4144
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(13, 21, "igo.integration.map-proximity-tool.method"));
4145
+ i0.ɵɵadvance(4);
4146
+ i0.ɵɵproperty("checked", i0.ɵɵpipeBind1(17, 23, ctx.mapProximityState.proximitylocationType$) === "geolocation");
4147
+ i0.ɵɵadvance(2);
4148
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(19, 25, "igo.integration.map-proximity-tool.geolocation"));
4149
+ i0.ɵɵadvance(2);
4150
+ i0.ɵɵproperty("checked", i0.ɵɵpipeBind1(21, 27, ctx.mapProximityState.proximitylocationType$) === "mapCenter");
4151
+ i0.ɵɵadvance(2);
4152
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(23, 29, "igo.integration.map-proximity-tool.mapCenter"));
4153
+ i0.ɵɵadvance(5);
4154
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(28, 31, "igo.integration.map-proximity-tool.radiusM"));
4155
+ i0.ɵɵadvance(2);
4156
+ i0.ɵɵpropertyInterpolate("placeholder", i0.ɵɵpipeBind1(30, 33, "igo.integration.map-proximity-tool.radiusM"));
4157
+ i0.ɵɵproperty("ngModel", ctx.maxDistance);
4158
+ } }, directives: [i4.EntityTableComponent, i5.NgIf, i6$1.MatLabel, i7$2.MatRadioGroup, i7$2.MatRadioButton, i6$1.MatFormField, i3$1.NumberValueAccessor, i10$1.MatInput, i3$1.DefaultValueAccessor, i3$1.PatternValidator, i3$1.NgControlStatus, i3$1.NgModel, i3.MatButton, i6.MatIcon], pipes: [i5.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}"] });
4159
+ MapProximityToolComponent = __decorate([
4160
+ ToolComponent({
4161
+ name: 'map-proximity',
4162
+ title: 'igo.integration.tools.closestFeature',
4163
+ icon: 'radius'
4164
+ })
4165
+ /**
4166
+ * Tool to handle the advanced map tools
4167
+ */
4168
+ ], MapProximityToolComponent);
4169
+ (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(MapProximityToolComponent, [{
4170
+ type: Component,
4171
+ args: [{
4172
+ selector: 'igo-map-proximity-tool',
4173
+ templateUrl: './map-proximity-tool.component.html',
4174
+ styleUrls: ['./map-proximity-tool.component.scss']
4175
+ }]
4176
+ }], function () { return [{ type: MapState }, { type: MapProximityState }, { type: i2.LanguageService }, { type: i2.MessageService }]; }, { table: [{
4177
+ type: ViewChild,
4178
+ args: ['table', { static: true }]
4179
+ }] }); })();
3755
4180
 
3756
4181
  class IgoAppMapModule {
3757
4182
  static forRoot() {
@@ -3784,12 +4209,14 @@ IgoAppMapModule.ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ imports: [[
3784
4209
  IgoDownloadModule,
3785
4210
  IgoImportExportModule,
3786
4211
  IgoFilterModule,
4212
+ MatRadioModule,
3787
4213
  IgoContextModule,
3788
4214
  IgoAppWorkspaceModule,
3789
4215
  MatSlideToggleModule,
3790
4216
  MatMenuModule,
3791
4217
  MatButtonModule,
3792
- MatTooltipModule
4218
+ MatTooltipModule,
4219
+ IgoEntityTableModule
3793
4220
  ]] });
3794
4221
  (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(IgoAppMapModule, [{
3795
4222
  type: NgModule,
@@ -3815,20 +4242,23 @@ IgoAppMapModule.ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ imports: [[
3815
4242
  IgoDownloadModule,
3816
4243
  IgoImportExportModule,
3817
4244
  IgoFilterModule,
4245
+ MatRadioModule,
3818
4246
  IgoContextModule,
3819
4247
  IgoAppWorkspaceModule,
3820
4248
  MatSlideToggleModule,
3821
4249
  MatMenuModule,
3822
4250
  MatButtonModule,
3823
- MatTooltipModule
4251
+ MatTooltipModule,
4252
+ IgoEntityTableModule
3824
4253
  ],
3825
- declarations: [AdvancedMapToolComponent, MapToolComponent,
4254
+ declarations: [AdvancedMapToolComponent, MapProximityToolComponent, MapToolComponent,
3826
4255
  MapToolsComponent, MapDetailsToolComponent, MapLegendToolComponent, AdvancedSwipeComponent, AdvancedCoordinatesComponent],
3827
- exports: [AdvancedMapToolComponent, MapToolComponent, MapToolsComponent, MapDetailsToolComponent, MapLegendToolComponent],
4256
+ exports: [AdvancedMapToolComponent, MapProximityToolComponent, MapToolComponent,
4257
+ MapToolsComponent, MapDetailsToolComponent, MapLegendToolComponent],
3828
4258
  schemas: [CUSTOM_ELEMENTS_SCHEMA]
3829
4259
  }]
3830
4260
  }], null, null); })();
3831
- (function () { (typeof ngJitMode === "undefined" || ngJitMode) && i0.ɵɵsetNgModuleScope(IgoAppMapModule, { declarations: [AdvancedMapToolComponent, MapToolComponent,
4261
+ (function () { (typeof ngJitMode === "undefined" || ngJitMode) && i0.ɵɵsetNgModuleScope(IgoAppMapModule, { declarations: [AdvancedMapToolComponent, MapProximityToolComponent, MapToolComponent,
3832
4262
  MapToolsComponent, MapDetailsToolComponent, MapLegendToolComponent, AdvancedSwipeComponent, AdvancedCoordinatesComponent], imports: [FormsModule,
3833
4263
  ReactiveFormsModule,
3834
4264
  MatButtonToggleModule,
@@ -3849,12 +4279,15 @@ IgoAppMapModule.ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ imports: [[
3849
4279
  IgoDownloadModule,
3850
4280
  IgoImportExportModule,
3851
4281
  IgoFilterModule,
4282
+ MatRadioModule,
3852
4283
  IgoContextModule,
3853
4284
  IgoAppWorkspaceModule,
3854
4285
  MatSlideToggleModule,
3855
4286
  MatMenuModule,
3856
4287
  MatButtonModule,
3857
- MatTooltipModule], exports: [AdvancedMapToolComponent, MapToolComponent, MapToolsComponent, MapDetailsToolComponent, MapLegendToolComponent] }); })();
4288
+ MatTooltipModule,
4289
+ IgoEntityTableModule], exports: [AdvancedMapToolComponent, MapProximityToolComponent, MapToolComponent,
4290
+ MapToolsComponent, MapDetailsToolComponent, MapLegendToolComponent] }); })();
3858
4291
 
3859
4292
  /**
3860
4293
  * Service that holds the state of the measure module
@@ -4111,14 +4544,14 @@ class SearchState {
4111
4544
  this.searchResultsGeometryEnabled$.next(value);
4112
4545
  }
4113
4546
  }
4114
- SearchState.ɵfac = function SearchState_Factory(t) { return new (t || SearchState)(i0.ɵɵinject(i1$1.SearchSourceService), i0.ɵɵinject(i2$1.StorageService), i0.ɵɵinject(i2$1.ConfigService)); };
4547
+ SearchState.ɵfac = function SearchState_Factory(t) { return new (t || SearchState)(i0.ɵɵinject(i1$1.SearchSourceService), i0.ɵɵinject(i2.StorageService), i0.ɵɵinject(i2.ConfigService)); };
4115
4548
  SearchState.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: SearchState, factory: SearchState.ɵfac, providedIn: 'root' });
4116
4549
  (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(SearchState, [{
4117
4550
  type: Injectable,
4118
4551
  args: [{
4119
4552
  providedIn: 'root'
4120
4553
  }]
4121
- }], function () { return [{ type: i1$1.SearchSourceService }, { type: i2$1.StorageService }, { type: i2$1.ConfigService }]; }, null); })();
4554
+ }], function () { return [{ type: i1$1.SearchSourceService }, { type: i2.StorageService }, { type: i2.ConfigService }]; }, null); })();
4122
4555
 
4123
4556
  class SearchBarBindingDirective {
4124
4557
  constructor(component, searchState) {
@@ -4223,17 +4656,17 @@ function SearchResultsToolComponent_div_0_Template(rf, ctx) { if (rf & 1) {
4223
4656
  i0.ɵɵadvance(2);
4224
4657
  i0.ɵɵproperty("innerHTML", i0.ɵɵpipeBind1(11, 7, i0.ɵɵpipeBind1(12, 9, "igo.integration.searchResultsTool.examples")), i0.ɵɵsanitizeHtml);
4225
4658
  } }
4226
- function SearchResultsToolComponent_igo_flexible_1_ng_template_5_Template(rf, ctx) { if (rf & 1) {
4659
+ function SearchResultsToolComponent_igo_flexible_2_ng_template_5_Template(rf, ctx) { if (rf & 1) {
4227
4660
  i0.ɵɵelement(0, "igo-search-add-button", 12);
4228
4661
  } if (rf & 2) {
4229
4662
  const result_r6 = ctx.result;
4230
4663
  const ctx_r4 = i0.ɵɵnextContext(2);
4231
4664
  i0.ɵɵproperty("map", ctx_r4.map)("layer", result_r6);
4232
4665
  } }
4233
- function SearchResultsToolComponent_igo_flexible_1_igo_panel_8_button_4_Template(rf, ctx) { if (rf & 1) {
4666
+ function SearchResultsToolComponent_igo_flexible_2_igo_panel_8_button_4_Template(rf, ctx) { if (rf & 1) {
4234
4667
  const _r9 = i0.ɵɵgetCurrentView();
4235
4668
  i0.ɵɵelementStart(0, "button", 18);
4236
- i0.ɵɵlistener("click", function SearchResultsToolComponent_igo_flexible_1_igo_panel_8_button_4_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r9); const ctx_r8 = i0.ɵɵnextContext(3); return ctx_r8.zoomToFeatureExtent(); });
4669
+ i0.ɵɵlistener("click", function SearchResultsToolComponent_igo_flexible_2_igo_panel_8_button_4_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r9); const ctx_r8 = i0.ɵɵnextContext(3); return ctx_r8.zoomToFeatureExtent(); });
4237
4670
  i0.ɵɵpipe(1, "translate");
4238
4671
  i0.ɵɵpipe(2, "async");
4239
4672
  i0.ɵɵelement(3, "mat-icon", 19);
@@ -4246,17 +4679,17 @@ function SearchResultsToolComponent_igo_flexible_1_igo_panel_8_button_4_Template
4246
4679
  i0.ɵɵadvance(3);
4247
4680
  i0.ɵɵproperty("matBadge", i0.ɵɵpipeBind1(4, 7, ctx_r7.isSelectedResultOutOfView$) ? "!" : "")("matBadgeHidden", i0.ɵɵpipeBind1(5, 9, ctx_r7.isSelectedResultOutOfView$) === false);
4248
4681
  } }
4249
- function SearchResultsToolComponent_igo_flexible_1_igo_panel_8_Template(rf, ctx) { if (rf & 1) {
4682
+ function SearchResultsToolComponent_igo_flexible_2_igo_panel_8_Template(rf, ctx) { if (rf & 1) {
4250
4683
  const _r11 = i0.ɵɵgetCurrentView();
4251
4684
  i0.ɵɵelementStart(0, "igo-panel", 13);
4252
4685
  i0.ɵɵelementStart(1, "button", 14);
4253
- i0.ɵɵlistener("click", function SearchResultsToolComponent_igo_flexible_1_igo_panel_8_Template_button_click_1_listener() { i0.ɵɵrestoreView(_r11); const ctx_r10 = i0.ɵɵnextContext(2); return ctx_r10.toggleTopPanel(); });
4686
+ i0.ɵɵlistener("click", function SearchResultsToolComponent_igo_flexible_2_igo_panel_8_Template_button_click_1_listener() { i0.ɵɵrestoreView(_r11); const ctx_r10 = i0.ɵɵnextContext(2); return ctx_r10.toggleTopPanel(); });
4254
4687
  i0.ɵɵelement(2, "mat-icon", 15);
4255
4688
  i0.ɵɵpipe(3, "async");
4256
4689
  i0.ɵɵelementEnd();
4257
- i0.ɵɵtemplate(4, SearchResultsToolComponent_igo_flexible_1_igo_panel_8_button_4_Template, 6, 11, "button", 16);
4690
+ i0.ɵɵtemplate(4, SearchResultsToolComponent_igo_flexible_2_igo_panel_8_button_4_Template, 6, 11, "button", 16);
4258
4691
  i0.ɵɵelementStart(5, "igo-feature-details", 17);
4259
- i0.ɵɵlistener("routingEvent", function SearchResultsToolComponent_igo_flexible_1_igo_panel_8_Template_igo_feature_details_routingEvent_5_listener() { i0.ɵɵrestoreView(_r11); const ctx_r12 = i0.ɵɵnextContext(2); return ctx_r12.getRoute(); });
4692
+ i0.ɵɵlistener("routingEvent", function SearchResultsToolComponent_igo_flexible_2_igo_panel_8_Template_igo_feature_details_routingEvent_5_listener() { i0.ɵɵrestoreView(_r11); const ctx_r12 = i0.ɵɵnextContext(2); return ctx_r12.getRoute(); });
4260
4693
  i0.ɵɵpipe(6, "async");
4261
4694
  i0.ɵɵelementEnd();
4262
4695
  i0.ɵɵelementEnd();
@@ -4270,18 +4703,18 @@ function SearchResultsToolComponent_igo_flexible_1_igo_panel_8_Template(rf, ctx)
4270
4703
  i0.ɵɵadvance(1);
4271
4704
  i0.ɵɵproperty("feature", i0.ɵɵpipeBind1(6, 8, ctx_r5.feature$))("map", ctx_r5.map)("toolbox", ctx_r5.toolState.toolbox);
4272
4705
  } }
4273
- function SearchResultsToolComponent_igo_flexible_1_Template(rf, ctx) { if (rf & 1) {
4706
+ function SearchResultsToolComponent_igo_flexible_2_Template(rf, ctx) { if (rf & 1) {
4274
4707
  const _r14 = i0.ɵɵgetCurrentView();
4275
4708
  i0.ɵɵelementStart(0, "igo-flexible", 5, 6);
4276
4709
  i0.ɵɵpipe(2, "async");
4277
4710
  i0.ɵɵelementStart(3, "div", 7);
4278
4711
  i0.ɵɵelementStart(4, "igo-search-results", 8);
4279
- i0.ɵɵlistener("resultFocus", function SearchResultsToolComponent_igo_flexible_1_Template_igo_search_results_resultFocus_4_listener($event) { i0.ɵɵrestoreView(_r14); const ctx_r13 = i0.ɵɵnextContext(); return ctx_r13.onResultFocus($event); })("resultSelect", function SearchResultsToolComponent_igo_flexible_1_Template_igo_search_results_resultSelect_4_listener($event) { i0.ɵɵrestoreView(_r14); const ctx_r15 = i0.ɵɵnextContext(); return ctx_r15.onResultSelect($event); })("resultUnfocus", function SearchResultsToolComponent_igo_flexible_1_Template_igo_search_results_resultUnfocus_4_listener($event) { i0.ɵɵrestoreView(_r14); const ctx_r16 = i0.ɵɵnextContext(); return ctx_r16.onResultUnfocus($event); })("resultMouseenter", function SearchResultsToolComponent_igo_flexible_1_Template_igo_search_results_resultMouseenter_4_listener($event) { i0.ɵɵrestoreView(_r14); const ctx_r17 = i0.ɵɵnextContext(); return ctx_r17.onResultFocus($event); })("resultMouseleave", function SearchResultsToolComponent_igo_flexible_1_Template_igo_search_results_resultMouseleave_4_listener($event) { i0.ɵɵrestoreView(_r14); const ctx_r18 = i0.ɵɵnextContext(); return ctx_r18.onResultUnfocus($event); })("moreResults", function SearchResultsToolComponent_igo_flexible_1_Template_igo_search_results_moreResults_4_listener($event) { i0.ɵɵrestoreView(_r14); const ctx_r19 = i0.ɵɵnextContext(); return ctx_r19.onSearch($event); });
4280
- i0.ɵɵtemplate(5, SearchResultsToolComponent_igo_flexible_1_ng_template_5_Template, 1, 2, "ng-template", null, 9, i0.ɵɵtemplateRefExtractor);
4712
+ i0.ɵɵlistener("resultFocus", function SearchResultsToolComponent_igo_flexible_2_Template_igo_search_results_resultFocus_4_listener($event) { i0.ɵɵrestoreView(_r14); const ctx_r13 = i0.ɵɵnextContext(); return ctx_r13.onResultFocus($event); })("resultSelect", function SearchResultsToolComponent_igo_flexible_2_Template_igo_search_results_resultSelect_4_listener($event) { i0.ɵɵrestoreView(_r14); const ctx_r15 = i0.ɵɵnextContext(); return ctx_r15.onResultSelect($event); })("resultUnfocus", function SearchResultsToolComponent_igo_flexible_2_Template_igo_search_results_resultUnfocus_4_listener($event) { i0.ɵɵrestoreView(_r14); const ctx_r16 = i0.ɵɵnextContext(); return ctx_r16.onResultUnfocus($event); })("resultMouseenter", function SearchResultsToolComponent_igo_flexible_2_Template_igo_search_results_resultMouseenter_4_listener($event) { i0.ɵɵrestoreView(_r14); const ctx_r17 = i0.ɵɵnextContext(); return ctx_r17.onResultFocus($event); })("resultMouseleave", function SearchResultsToolComponent_igo_flexible_2_Template_igo_search_results_resultMouseleave_4_listener($event) { i0.ɵɵrestoreView(_r14); const ctx_r18 = i0.ɵɵnextContext(); return ctx_r18.onResultUnfocus($event); })("moreResults", function SearchResultsToolComponent_igo_flexible_2_Template_igo_search_results_moreResults_4_listener($event) { i0.ɵɵrestoreView(_r14); const ctx_r19 = i0.ɵɵnextContext(); return ctx_r19.onSearch($event); });
4713
+ i0.ɵɵtemplate(5, SearchResultsToolComponent_igo_flexible_2_ng_template_5_Template, 1, 2, "ng-template", null, 9, i0.ɵɵtemplateRefExtractor);
4281
4714
  i0.ɵɵelementEnd();
4282
4715
  i0.ɵɵelementEnd();
4283
4716
  i0.ɵɵelementStart(7, "div", 10);
4284
- i0.ɵɵtemplate(8, SearchResultsToolComponent_igo_flexible_1_igo_panel_8_Template, 7, 10, "igo-panel", 11);
4717
+ i0.ɵɵtemplate(8, SearchResultsToolComponent_igo_flexible_2_igo_panel_8_Template, 7, 10, "igo-panel", 11);
4285
4718
  i0.ɵɵpipe(9, "async");
4286
4719
  i0.ɵɵelementEnd();
4287
4720
  i0.ɵɵelementEnd();
@@ -4307,11 +4740,16 @@ let SearchResultsToolComponent = class SearchResultsToolComponent {
4307
4740
  * to show hide results icons
4308
4741
  */
4309
4742
  this.showIcons = true;
4743
+ /**
4744
+ * Determine the top panel default state
4745
+ */
4746
+ this.topPanelStateDefault = 'expanded';
4310
4747
  this.hasFeatureEmphasisOnSelection = false;
4311
4748
  this.shownResultsGeometries = [];
4312
4749
  this.shownResultsEmphasisGeometries = [];
4313
4750
  this.focusedResult$ = new BehaviorSubject(undefined);
4314
4751
  this.isSelectedResultOutOfView$ = new BehaviorSubject(false);
4752
+ this.debouncedEmpty$ = new BehaviorSubject(true);
4315
4753
  this.term = '';
4316
4754
  this.settingsChange$ = new BehaviorSubject(undefined);
4317
4755
  this.topPanelState$ = new BehaviorSubject('initial');
@@ -4424,6 +4862,7 @@ let SearchResultsToolComponent = class SearchResultsToolComponent {
4424
4862
  }
4425
4863
  });
4426
4864
  });
4865
+ this.debouncedEmpty$$ = this.store.stateView.empty$.pipe(debounceTime(1500)).subscribe(empty => this.debouncedEmpty$.next(empty));
4427
4866
  }
4428
4867
  monitorResultOutOfView() {
4429
4868
  this.isSelectedResultOutOfView$$ = combineLatest([
@@ -4523,6 +4962,9 @@ let SearchResultsToolComponent = class SearchResultsToolComponent {
4523
4962
  if (this.getRoute$$) {
4524
4963
  this.getRoute$$.unsubscribe();
4525
4964
  }
4965
+ if (this.debouncedEmpty$$) {
4966
+ this.debouncedEmpty$$.unsubscribe();
4967
+ }
4526
4968
  }
4527
4969
  /**
4528
4970
  * Try to add a feature to the map when it's being focused
@@ -4567,18 +5009,20 @@ let SearchResultsToolComponent = class SearchResultsToolComponent {
4567
5009
  this.map.searchResultsOverlay.dataSource.ol.clear();
4568
5010
  this.tryAddFeatureToMap(result);
4569
5011
  this.searchState.setSelectedResult(result);
5012
+ if (this.topPanelState === 'initial') {
5013
+ if (this.topPanelStateDefault !== 'collapsed') {
5014
+ this.topPanelState = 'expanded';
5015
+ }
5016
+ else {
5017
+ this.topPanelState = 'collapsed';
5018
+ }
5019
+ }
4570
5020
  if (this.topPanelState === 'expanded') {
4571
5021
  const igoList = this.computeElementRef()[0];
4572
5022
  const selected = this.computeElementRef()[1];
4573
- setTimeout(() => {
4574
- // To be sure the flexible component has been displayed yet
4575
- if (!this.isScrolledIntoView(igoList, selected)) {
4576
- this.adjustTopPanel(igoList, selected);
4577
- }
4578
- }, FlexibleComponent.transitionTime + 50);
4579
- }
4580
- if (this.topPanelState === 'initial') {
4581
- this.topPanelState = 'expanded';
5023
+ if (!this.isScrolledIntoView(igoList, selected)) {
5024
+ this.adjustTopPanel(igoList, selected);
5025
+ }
4582
5026
  }
4583
5027
  }
4584
5028
  onSearch(event) {
@@ -4709,21 +5153,31 @@ let SearchResultsToolComponent = class SearchResultsToolComponent {
4709
5153
  stop.text = this.featureTitle;
4710
5154
  stop.coordinates = coord;
4711
5155
  this.directionState.stopsStore.update(stop);
5156
+ if (this.map.geolocationController.position$.value) {
5157
+ const currentPos = this.map.geolocationController.position$.value;
5158
+ const stop = this.directionState.stopsStore.all().find((e) => e.position === 0);
5159
+ const currentCoord = olProj.transform(currentPos.position, currentPos.projection, 'EPSG:4326');
5160
+ const coord = roundCoordTo([currentCoord[0], currentCoord[1]], 6);
5161
+ stop.text = coord.join(',');
5162
+ stop.coordinates = coord;
5163
+ this.directionState.stopsStore.update(stop);
5164
+ }
4712
5165
  }
4713
5166
  });
4714
5167
  }, 250);
4715
5168
  }
4716
5169
  };
4717
- 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$1.ConfigService)); };
4718
- SearchResultsToolComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: SearchResultsToolComponent, selectors: [["igo-search-results-tool"]], inputs: { showIcons: "showIcons", topPanelState: "topPanelState" }, decls: 3, vars: 4, 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", 4, "ngIf"], [3, "map", "layer"], [3, "title"], ["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) {
5170
+ 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)); };
5171
+ 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", 4, "ngIf"], [3, "map", "layer"], [3, "title"], ["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) {
4719
5172
  i0.ɵɵtemplate(0, SearchResultsToolComponent_div_0_Template, 13, 11, "div", 0);
4720
- i0.ɵɵtemplate(1, SearchResultsToolComponent_igo_flexible_1_Template, 10, 11, "igo-flexible", 1);
4721
- i0.ɵɵpipe(2, "async");
5173
+ i0.ɵɵpipe(1, "async");
5174
+ i0.ɵɵtemplate(2, SearchResultsToolComponent_igo_flexible_2_Template, 10, 11, "igo-flexible", 1);
5175
+ i0.ɵɵpipe(3, "async");
4722
5176
  } if (rf & 2) {
4723
- i0.ɵɵproperty("ngIf", !ctx.store || ctx.store.stateView.empty);
4724
- i0.ɵɵadvance(1);
4725
- i0.ɵɵproperty("ngIf", ctx.store && i0.ɵɵpipeBind1(2, 2, ctx.store.stateView.empty$) === false);
4726
- } }, directives: [i4$1.NgIf, i4.FlexibleComponent, i1$1.SearchResultsComponent, i1$1.SearchResultAddButtonComponent, i4.PanelComponent, i3.MatButton, i6.MatIcon, i1$1.FeatureDetailsComponent, i1$1.FeatureDetailsDirective, i4$2.MatTooltip, i12.MatBadge], pipes: [i4$1.AsyncPipe, i8.TranslatePipe, i4.SanitizeHtmlPipe], encapsulation: 2, changeDetection: 0 });
5177
+ i0.ɵɵproperty("ngIf", (!ctx.store || ctx.store.stateView.empty) && i0.ɵɵpipeBind1(1, 2, ctx.debouncedEmpty$));
5178
+ i0.ɵɵadvance(2);
5179
+ i0.ɵɵproperty("ngIf", ctx.store && i0.ɵɵpipeBind1(3, 4, ctx.store.stateView.empty$) === false);
5180
+ } }, directives: [i5.NgIf, i4.FlexibleComponent, i1$1.SearchResultsComponent, i1$1.SearchResultAddButtonComponent, i4.PanelComponent, i3.MatButton, i6.MatIcon, i1$1.FeatureDetailsComponent, i1$1.FeatureDetailsDirective, i4$1.MatTooltip, i12.MatBadge], pipes: [i5.AsyncPipe, i8.TranslatePipe, i4.SanitizeHtmlPipe], encapsulation: 2, changeDetection: 0 });
4727
5181
  SearchResultsToolComponent = __decorate([
4728
5182
  ToolComponent({
4729
5183
  name: 'searchResults',
@@ -4738,7 +5192,9 @@ SearchResultsToolComponent = __decorate([
4738
5192
  templateUrl: './search-results-tool.component.html',
4739
5193
  changeDetection: ChangeDetectionStrategy.OnPush
4740
5194
  }]
4741
- }], function () { return [{ type: MapState }, { type: SearchState }, { type: i0.ElementRef }, { type: ToolState }, { type: DirectionState }, { type: i2$1.ConfigService }]; }, { showIcons: [{
5195
+ }], function () { return [{ type: MapState }, { type: SearchState }, { type: i0.ElementRef }, { type: ToolState }, { type: DirectionState }, { type: i2.ConfigService }]; }, { showIcons: [{
5196
+ type: Input
5197
+ }], topPanelStateDefault: [{
4742
5198
  type: Input
4743
5199
  }], topPanelState: [{
4744
5200
  type: Input
@@ -5340,7 +5796,7 @@ let SpatialFilterToolComponent = class SpatialFilterToolComponent {
5340
5796
  this.activeLayers.push(layer);
5341
5797
  }
5342
5798
  };
5343
- SpatialFilterToolComponent.ɵfac = function SpatialFilterToolComponent_Factory(t) { return new (t || SpatialFilterToolComponent)(i0.ɵɵdirectiveInject(i6.MatIconRegistry), i0.ɵɵdirectiveInject(i1$1.SpatialFilterService), i0.ɵɵdirectiveInject(i1$1.DataSourceService), i0.ɵɵdirectiveInject(i1$1.LayerService), i0.ɵɵdirectiveInject(MapState), i0.ɵɵdirectiveInject(i2$1.MessageService), i0.ɵɵdirectiveInject(i2$1.LanguageService), i0.ɵɵdirectiveInject(ImportExportState), i0.ɵɵdirectiveInject(ToolState), i0.ɵɵdirectiveInject(WorkspaceState), i0.ɵɵdirectiveInject(i0.ChangeDetectorRef)); };
5799
+ SpatialFilterToolComponent.ɵfac = function SpatialFilterToolComponent_Factory(t) { return new (t || SpatialFilterToolComponent)(i0.ɵɵdirectiveInject(i6.MatIconRegistry), i0.ɵɵdirectiveInject(i1$1.SpatialFilterService), i0.ɵɵdirectiveInject(i1$1.DataSourceService), i0.ɵɵdirectiveInject(i1$1.LayerService), i0.ɵɵdirectiveInject(MapState), i0.ɵɵdirectiveInject(i2.MessageService), i0.ɵɵdirectiveInject(i2.LanguageService), i0.ɵɵdirectiveInject(ImportExportState), i0.ɵɵdirectiveInject(ToolState), i0.ɵɵdirectiveInject(WorkspaceState), i0.ɵɵdirectiveInject(i0.ChangeDetectorRef)); };
5344
5800
  SpatialFilterToolComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: SpatialFilterToolComponent, selectors: [["igo-spatial-filter-tool"]], inputs: { type: "type", itemType: "itemType", freehandDrawIsActive: "freehandDrawIsActive" }, decls: 6, vars: 16, consts: [[3, "store", "selectedQueryType", "zone", "layers", "eventType", "eventQueryType", "zoneChange", "zoneWithBufferChange", "bufferChange", "measureUnitChange"], [3, "type", "queryType", "map", "zone", "loading", "store", "layers", "allLayers", "thematicLength", "radiusEvent", "bufferEvent", "measureUnitChange", "freehandControl", "drawZoneEvent", "zoneWithBufferChange", "itemTypeChange", "thematicChange", "toggleSearch", "clearButtonEvent", "clearSearchEvent", "export", "openWorkspace", "entityChange"], [4, "ngIf"], [3, "feature"]], template: function SpatialFilterToolComponent_Template(rf, ctx) { if (rf & 1) {
5345
5801
  i0.ɵɵelementStart(0, "igo-panel");
5346
5802
  i0.ɵɵelementStart(1, "igo-spatial-filter-type", 0);
@@ -5361,7 +5817,7 @@ SpatialFilterToolComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type:
5361
5817
  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);
5362
5818
  i0.ɵɵadvance(2);
5363
5819
  i0.ɵɵproperty("ngIf", i0.ɵɵpipeBind1(5, 14, ctx.selectedFeature$));
5364
- } }, directives: [i1$1.SpatialFilterTypeComponent, i1$1.SpatialFilterItemComponent, i4$1.NgIf], pipes: [i4$1.AsyncPipe], styles: [""], changeDetection: 0 });
5820
+ } }, directives: [i1$1.SpatialFilterTypeComponent, i1$1.SpatialFilterItemComponent, i5.NgIf], pipes: [i5.AsyncPipe], styles: [""], changeDetection: 0 });
5365
5821
  SpatialFilterToolComponent = __decorate([
5366
5822
  ToolComponent({
5367
5823
  name: 'spatialFilter',
@@ -5380,7 +5836,7 @@ SpatialFilterToolComponent = __decorate([
5380
5836
  styleUrls: ['./spatial-filter-tool.component.scss'],
5381
5837
  changeDetection: ChangeDetectionStrategy.OnPush
5382
5838
  }]
5383
- }], function () { return [{ type: i6.MatIconRegistry }, { type: i1$1.SpatialFilterService }, { type: i1$1.DataSourceService }, { type: i1$1.LayerService }, { type: MapState }, { type: i2$1.MessageService }, { type: i2$1.LanguageService }, { type: ImportExportState }, { type: ToolState }, { type: WorkspaceState }, { type: i0.ChangeDetectorRef }]; }, { type: [{
5839
+ }], function () { return [{ type: i6.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: [{
5384
5840
  type: Input
5385
5841
  }], itemType: [{
5386
5842
  type: Input
@@ -5652,7 +6108,7 @@ let AboutToolComponent = class AboutToolComponent {
5652
6108
  return name;
5653
6109
  }
5654
6110
  };
5655
- AboutToolComponent.ɵfac = function AboutToolComponent_Factory(t) { return new (t || AboutToolComponent)(i0.ɵɵdirectiveInject(i2$1.ConfigService), i0.ɵɵdirectiveInject(i2.AuthService), i0.ɵɵdirectiveInject(i3$2.HttpClient), i0.ɵɵdirectiveInject(i0.ChangeDetectorRef), i0.ɵɵdirectiveInject(i2$1.LanguageService)); };
6111
+ AboutToolComponent.ɵfac = function AboutToolComponent_Factory(t) { return new (t || AboutToolComponent)(i0.ɵɵdirectiveInject(i2.ConfigService), i0.ɵɵdirectiveInject(i2$1.AuthService), i0.ɵɵdirectiveInject(i3$2.HttpClient), i0.ɵɵdirectiveInject(i0.ChangeDetectorRef), i0.ɵɵdirectiveInject(i2.LanguageService)); };
5656
6112
  AboutToolComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: AboutToolComponent, selectors: [["igo-about-tool"]], inputs: { headerHtml: "headerHtml", html: "html", discoverTitleInLocale: "discoverTitleInLocale", trainingGuideURLs: "trainingGuideURLs" }, decls: 10, vars: 11, consts: [["mat-raised-button", "", "tourToStart", "global", "menuIsOpen", "true", "styleButton", "raised", 3, "discoverTitleInLocale$"], ["class", "training-guide-button", "mat-raised-button", "", "tooltip-position", "below", "matTooltipShowDelay", "500", 3, "disabled", "matTooltip", "click", 4, "ngIf"], ["class", "training-guide-button", "mat-raised-button", "", "tooltip-position", "below", "matTooltipShowDelay", "500", 3, "disabled", "matTooltip", "matMenuTriggerFor", 4, "ngIf"], ["menu", "matMenu"], ["mat-menu-item", "", 3, "click", 4, "ngFor", "ngForOf"], ["class", "mat-typography", 3, "html", 4, "ngIf"], [1, "mat-typography", 3, "html"], ["mat-raised-button", "", "tooltip-position", "below", "matTooltipShowDelay", "500", 1, "training-guide-button", 3, "disabled", "matTooltip", "click"], ["svgIcon", "file-document"], ["mat-raised-button", "", "tooltip-position", "below", "matTooltipShowDelay", "500", 1, "training-guide-button", 3, "disabled", "matTooltip", "matMenuTriggerFor"], ["mat-menu-item", "", 3, "click"]], template: function AboutToolComponent_Template(rf, ctx) { if (rf & 1) {
5657
6113
  i0.ɵɵelement(0, "p");
5658
6114
  i0.ɵɵelement(1, "igo-interactive-tour", 0);
@@ -5677,7 +6133,7 @@ AboutToolComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: AboutToo
5677
6133
  i0.ɵɵproperty("ngIf", ctx.headerHtml !== "");
5678
6134
  i0.ɵɵadvance(1);
5679
6135
  i0.ɵɵproperty("html", i0.ɵɵpipeBind2(9, 6, ctx.html, i0.ɵɵpureFunction1(9, _c0, ctx.version)));
5680
- } }, directives: [i4.InteractiveTourComponent, i4$1.NgIf, i6$2.MatMenu, i4$1.NgForOf, i4.CustomHtmlComponent, i3.MatButton, i4$2.MatTooltip, i6.MatIcon, i6$2.MatMenuTrigger, i6$2.MatMenuItem], pipes: [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}"] });
6136
+ } }, directives: [i4.InteractiveTourComponent, i5.NgIf, i6$2.MatMenu, i5.NgForOf, i4.CustomHtmlComponent, i3.MatButton, i4$1.MatTooltip, i6.MatIcon, i6$2.MatMenuTrigger, i6$2.MatMenuItem], pipes: [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}"] });
5681
6137
  AboutToolComponent = __decorate([
5682
6138
  ToolComponent({
5683
6139
  name: 'about',
@@ -5692,7 +6148,7 @@ AboutToolComponent = __decorate([
5692
6148
  templateUrl: './about-tool.component.html',
5693
6149
  styleUrls: ['./about-tool.component.scss']
5694
6150
  }]
5695
- }], function () { return [{ type: i2$1.ConfigService }, { type: i2.AuthService }, { type: i3$2.HttpClient }, { type: i0.ChangeDetectorRef }, { type: i2$1.LanguageService }]; }, { headerHtml: [{
6151
+ }], function () { return [{ type: i2.ConfigService }, { type: i2$1.AuthService }, { type: i3$2.HttpClient }, { type: i0.ChangeDetectorRef }, { type: i2.LanguageService }]; }, { headerHtml: [{
5696
6152
  type: Input
5697
6153
  }], html: [{
5698
6154
  type: Input
@@ -5888,14 +6344,14 @@ class AnalyticsListenerService {
5888
6344
  });
5889
6345
  }
5890
6346
  }
5891
- AnalyticsListenerService.ɵfac = function AnalyticsListenerService_Factory(t) { return new (t || AnalyticsListenerService)(i0.ɵɵinject(i2$1.AnalyticsService), i0.ɵɵinject(i2.AuthService), i0.ɵɵinject(ContextState), i0.ɵɵinject(SearchState), i0.ɵɵinject(ToolState)); };
6347
+ 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)); };
5892
6348
  AnalyticsListenerService.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: AnalyticsListenerService, factory: AnalyticsListenerService.ɵfac, providedIn: 'root' });
5893
6349
  (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(AnalyticsListenerService, [{
5894
6350
  type: Injectable,
5895
6351
  args: [{
5896
6352
  providedIn: 'root'
5897
6353
  }]
5898
- }], function () { return [{ type: i2$1.AnalyticsService }, { type: i2.AuthService }, { type: ContextState }, { type: SearchState }, { type: ToolState }]; }, null); })();
6354
+ }], function () { return [{ type: i2.AnalyticsService }, { type: i2$1.AuthService }, { type: ContextState }, { type: SearchState }, { type: ToolState }]; }, null); })();
5899
6355
 
5900
6356
  /**
5901
6357
  * Service that holds the state of the query module
@@ -5918,14 +6374,14 @@ class QueryState {
5918
6374
  }
5919
6375
  }
5920
6376
  }
5921
- QueryState.ɵfac = function QueryState_Factory(t) { return new (t || QueryState)(i0.ɵɵinject(i2$1.ConfigService)); };
6377
+ QueryState.ɵfac = function QueryState_Factory(t) { return new (t || QueryState)(i0.ɵɵinject(i2.ConfigService)); };
5922
6378
  QueryState.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: QueryState, factory: QueryState.ɵfac, providedIn: 'root' });
5923
6379
  (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(QueryState, [{
5924
6380
  type: Injectable,
5925
6381
  args: [{
5926
6382
  providedIn: 'root'
5927
6383
  }]
5928
- }], function () { return [{ type: i2$1.ConfigService }]; }, null); })();
6384
+ }], function () { return [{ type: i2.ConfigService }]; }, null); })();
5929
6385
 
5930
6386
  /*
5931
6387
  * Public API Surface of tools
@@ -5935,5 +6391,5 @@ QueryState.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: QueryState, f
5935
6391
  * Generated bundle index. Do not edit.
5936
6392
  */
5937
6393
 
5938
- export { AboutToolComponent, ActiveOgcFilterToolComponent, ActiveTimeFilterToolComponent, AdvancedMapToolComponent, AnalyticsListenerService, CatalogBrowserToolComponent, CatalogLibraryToolComponent, CatalogState, ContextEditorToolComponent, ContextManagerToolComponent, ContextPermissionManagerToolComponent, ContextShareToolComponent, ContextState, DirectionState, DirectionsToolComponent, DrawState, DrawingToolComponent, FeatureActionsService, IgoAppAboutModule, IgoAppAnalyticsModule, IgoAppCatalogBrowserToolModule, IgoAppCatalogLibraryToolModule, IgoAppCatalogModule, IgoAppContextModule, IgoAppDirectionsModule, IgoAppDrawModule, IgoAppFilterModule, IgoAppImportExportModule, IgoAppMapModule, IgoAppMeasureModule, IgoAppMeasurerToolModule, IgoAppPrintModule, IgoAppSearchBarModule, IgoAppSearchModule, IgoAppSearchResultsToolModule, IgoAppStorageModule, IgoAppToolModule, IgoAppWorkspaceModule, IgoIntegrationModule, ImportExportMode, ImportExportState, ImportExportToolComponent, ImportExportType, MapDetailsToolComponent, MapLegendToolComponent, MapState, MapToolComponent, MapToolsComponent, MeasureState, MeasurerToolComponent, OgcFilterToolComponent, PrintToolComponent, QueryState, SearchBarBindingDirective, SearchResultsToolComponent, SearchState, SpatialFilterToolComponent, StorageState, TimeFilterToolComponent, ToolState, WfsActionsService, WorkspaceButtonComponent, WorkspaceState };
6394
+ export { AboutToolComponent, ActiveOgcFilterToolComponent, ActiveTimeFilterToolComponent, AdvancedMapToolComponent, AnalyticsListenerService, CatalogBrowserToolComponent, CatalogLibraryToolComponent, CatalogState, ContextEditorToolComponent, ContextManagerToolComponent, ContextPermissionManagerToolComponent, ContextShareToolComponent, ContextState, DirectionState, DirectionsToolComponent, DrawState, DrawingToolComponent, FeatureActionsService, IgoAppAboutModule, IgoAppAnalyticsModule, IgoAppCatalogBrowserToolModule, IgoAppCatalogLibraryToolModule, IgoAppCatalogModule, IgoAppContextModule, IgoAppDirectionsModule, IgoAppDrawModule, IgoAppFilterModule, IgoAppImportExportModule, IgoAppMapModule, IgoAppMeasureModule, IgoAppMeasurerToolModule, IgoAppPrintModule, IgoAppSearchBarModule, IgoAppSearchModule, IgoAppSearchResultsToolModule, IgoAppStorageModule, IgoAppToolModule, IgoAppWorkspaceModule, IgoIntegrationModule, ImportExportMode, ImportExportState, ImportExportToolComponent, ImportExportType, MapDetailsToolComponent, MapLegendToolComponent, MapProximityState, MapProximityToolComponent, MapState, MapToolComponent, MapToolsComponent, MeasureState, MeasurerToolComponent, OgcFilterToolComponent, PrintToolComponent, QueryState, SearchBarBindingDirective, SearchResultsToolComponent, SearchState, SpatialFilterToolComponent, StorageState, TimeFilterToolComponent, ToolState, WfsActionsService, WorkspaceButtonComponent, WorkspaceState };
5939
6395
  //# sourceMappingURL=igo2-integration.js.map