@igo2/integration 19.0.0-next.12 → 19.0.0-next.13

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.
@@ -1,17 +1,17 @@
1
1
  import * as i0 from '@angular/core';
2
2
  import { ChangeDetectorRef, Input, Component, CUSTOM_ELEMENTS_SCHEMA, NgModule, Injectable, ChangeDetectionStrategy, Optional, Inject, ViewChild, HostListener, Self, Directive, ElementRef } from '@angular/core';
3
3
  import { __decorate, __metadata } from 'tslib';
4
- import * as i6$2 from '@angular/common';
5
- import { NgIf, NgFor, AsyncPipe, CommonModule, DecimalPipe, NgTemplateOutlet } from '@angular/common';
4
+ import * as i6$1 from '@angular/common';
5
+ import { NgIf, NgFor, AsyncPipe, formatDate, CommonModule, DecimalPipe, NgTemplateOutlet } from '@angular/common';
6
6
  import * as i3 from '@angular/common/http';
7
7
  import { HttpClient } from '@angular/common/http';
8
- import * as i5 from '@angular/material/button';
8
+ import * as i7 from '@angular/material/button';
9
9
  import { MatButtonModule } from '@angular/material/button';
10
10
  import * as i1 from '@angular/material/icon';
11
11
  import { MatIconModule, MatIconRegistry } from '@angular/material/icon';
12
- import * as i8 from '@angular/material/menu';
12
+ import * as i8$1 from '@angular/material/menu';
13
13
  import { MatMenuModule } from '@angular/material/menu';
14
- import * as i6$1 from '@angular/material/tooltip';
14
+ import * as i8 from '@angular/material/tooltip';
15
15
  import { MatTooltipModule } from '@angular/material/tooltip';
16
16
  import * as i2 from '@igo2/auth';
17
17
  import { AuthService } from '@igo2/auth';
@@ -23,16 +23,18 @@ import * as i6 from '@igo2/core/config';
23
23
  import { version, ConfigService } from '@igo2/core/config';
24
24
  import * as i2$1 from '@igo2/core/language';
25
25
  import { IgoLanguageModule, LanguageService } from '@igo2/core/language';
26
- import { of, BehaviorSubject, combineLatest, Subject, map, forkJoin, ReplaySubject, interval } from 'rxjs';
26
+ import { of, BehaviorSubject, combineLatest, forkJoin, Subject, map as map$1, ReplaySubject, interval } from 'rxjs';
27
27
  import * as i9 from '@ngx-translate/core';
28
+ import { TranslateModule } from '@ngx-translate/core';
28
29
  import { EntityStore, EntityStoreFilterCustomFuncStrategy, EntityStoreFilterSelectionStrategy, EntityTableComponent, getEntityTitle } from '@igo2/common/entity';
29
30
  import * as i1$1 from '@igo2/geo';
30
- import { IgoMap, CatalogBrowserComponent, CatalogService, CatalogLibaryComponent, StopsStore, StopsFeatureStore, RoutesFeatureStore, StepsFeatureStore, IgoDirectionsModule, FeatureStore, DrawComponent, isLayerItem, OgcFilterableItemComponent, TimeFilterItemComponent, OgcFilterableListComponent, OgcFilterableListBindingDirective, FeatureStoreSelectionStrategy, FeatureMotion, mapExtentStrategyActiveToolTip, noElementSelected, OgcFilterWidget, WfsWorkspace, FeatureWorkspace, EditionWorkspace, SpatialFilterItemType, MeasureLengthUnit, SpatialFilterType, featureToOl, createOverlayMarkerStyle, moveToOlFeatures, SpatialFilterTypeComponent, SpatialFilterItemComponent, FeatureDetailsComponent, SpatialFilterService, LayerService, TimeFilterListComponent, TimeFilterListBindingDirective, isBaseLayer, ImportExportComponent, formatScale, zoneMtm, zoneUtm, computeProjectionsConstraints, LayerListControlsEnum, sourceCanSearch, LayerViewerComponent, ExportButtonComponent, OgcFilterButtonComponent, TimeFilterButtonComponent, TrackFeatureButtonComponent, MetadataButtonComponent, SearchSourceService, LayerLegendListComponent, LayerLegendListBindingDirective, roundCoordTo, featureFromOl, measureOlGeometryLength, FEATURE, VectorLayer, StyleModalLayerButtonComponent, MeasurerComponent, PrintComponent, getCommonVectorStyle, computeOlFeaturesExtent, featuresAreOutOfView, featuresAreTooDeepInView, getCommonVectorSelectedStyle, SearchResultsComponent, SearchResultAddButtonComponent, isLayerGroup, GeoPropertiesStrategy } from '@igo2/geo';
31
- import { take, skipWhile, takeUntil, tap, debounceTime, map as map$1, skip } from 'rxjs/operators';
32
- import * as i2$2 from '@igo2/core/storage';
31
+ import { IgoMap, CatalogBrowserComponent, CatalogService, generateIdFromSourceOptions, isLayerItemOptions, CatalogItemType, CatalogLibraryComponent, StopsStore, StopsFeatureStore, RoutesFeatureStore, StepsFeatureStore, IgoDirectionsModule, FeatureStore, DrawComponent, isLayerItem, OgcFilterableItemComponent, TimeFilterItemComponent, OgcFilterableListComponent, OgcFilterableListBindingDirective, FeatureStoreSelectionStrategy, FeatureMotion, mapExtentStrategyActiveToolTip, noElementSelected, OgcFilterWidget, WfsWorkspace, FeatureWorkspace, EditionWorkspace, SpatialFilterItemType, MeasureLengthUnit, SpatialFilterType, featureToOl, createOverlayMarkerStyle, moveToOlFeatures, SpatialFilterTypeComponent, SpatialFilterItemComponent, FeatureDetailsComponent, SpatialFilterService, LayerService, TimeFilterListComponent, TimeFilterListBindingDirective, isBaseLayer, ImportExportComponent, formatScale, zoneMtm, zoneUtm, computeProjectionsConstraints, LayerListControlsEnum, sourceCanSearch, LayerViewerComponent, ExportButtonComponent, OgcFilterButtonComponent, TimeFilterButtonComponent, TrackFeatureButtonComponent, MetadataButtonComponent, SearchSourceService, LayerLegendListComponent, LayerLegendListBindingDirective, roundCoordTo, featureFromOl, measureOlGeometryLength, FEATURE, VectorLayer, StyleModalLayerButtonComponent, MeasurerComponent, PrintComponent, getCommonVectorStyle, computeOlFeaturesExtent, featuresAreOutOfView, featuresAreTooDeepInView, getCommonVectorSelectedStyle, SearchResultsComponent, SearchResultAddButtonComponent, isLayerGroup, GeoPropertiesStrategy } from '@igo2/geo';
32
+ import { take, switchMap, concatAll, map, toArray, skipWhile, takeUntil, tap, debounceTime, skip } from 'rxjs/operators';
33
+ import * as i5 from '@igo2/core/storage';
33
34
  import { StorageScope, StorageService, StorageServiceEventEnum } from '@igo2/core/storage';
34
35
  import * as i1$3 from '@igo2/context';
35
- import { ContextEditComponent, ContextEditBindingDirective, ContextListComponent, ContextListBindingDirective, ContextPermissionsComponent, ContextPermissionsBindingDirective, ShareMapComponent, ContextImportExportComponent } from '@igo2/context';
36
+ import { ContextService, ContextEditComponent, ContextEditBindingDirective, ContextListComponent, ContextListBindingDirective, ContextPermissionsComponent, ContextPermissionsBindingDirective, ShareMapComponent, ContextImportExportComponent } from '@igo2/context';
37
+ import { createExcelWorkBook, addExcelSheetToWorkBook, writeExcelFile, uuid, NumberUtils } from '@igo2/utils';
36
38
  import * as i4 from '@igo2/core/message';
37
39
  import { MessageService, IgoMessageModule } from '@igo2/core/message';
38
40
  import { trigger, state, transition, style, animate } from '@angular/animations';
@@ -46,31 +48,30 @@ import { Media, MediaService } from '@igo2/core/media';
46
48
  import { jsPDF } from 'jspdf';
47
49
  import { autoTable } from 'jspdf-autotable';
48
50
  import moment from 'moment';
49
- import * as i2$3 from '@igo2/common/form';
51
+ import * as i2$2 from '@igo2/common/form';
50
52
  import { FormService, IgoFormModule } from '@igo2/common/form';
51
- import * as i2$4 from '@angular/forms';
53
+ import * as i2$3 from '@angular/forms';
52
54
  import { Validators, FormsModule, ReactiveFormsModule } from '@angular/forms';
53
55
  import * as i5$2 from '@angular/material/tabs';
54
56
  import { MatTabsModule } from '@angular/material/tabs';
55
- import * as i6$3 from '@angular/material/divider';
57
+ import * as i6$2 from '@angular/material/divider';
56
58
  import { MatDividerModule } from '@angular/material/divider';
57
59
  import * as i13 from '@angular/material/slide-toggle';
58
60
  import { MatSlideToggleModule } from '@angular/material/slide-toggle';
59
61
  import * as i1$4 from '@angular/cdk/clipboard';
60
62
  import { Clipboard } from '@angular/cdk/clipboard';
61
63
  import { MatOptionModule } from '@angular/material/core';
62
- import * as i8$1 from '@angular/material/form-field';
64
+ import * as i8$2 from '@angular/material/form-field';
63
65
  import { MatFormFieldModule } from '@angular/material/form-field';
64
66
  import * as i9$1 from '@angular/material/input';
65
67
  import { MatInputModule } from '@angular/material/input';
66
68
  import * as i12 from '@angular/material/select';
67
69
  import { MatSelectModule } from '@angular/material/select';
68
70
  import * as olProj from 'ol/proj';
69
- import * as i8$2 from '@angular/material/list';
71
+ import * as i8$3 from '@angular/material/list';
70
72
  import { MatListModule } from '@angular/material/list';
71
73
  import * as i10 from '@angular/material/radio';
72
74
  import { MatRadioModule } from '@angular/material/radio';
73
- import { uuid, NumberUtils } from '@igo2/utils';
74
75
  import olLineString from 'ol/geom/LineString';
75
76
  import olLayerVector from 'ol/layer/Vector';
76
77
  import * as i9$2 from '@angular/material/badge';
@@ -170,7 +171,7 @@ let AboutToolComponent = class AboutToolComponent {
170
171
  return name;
171
172
  }
172
173
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: AboutToolComponent, deps: [{ token: i6.ConfigService }, { token: i2.AuthService }, { token: i3.HttpClient }, { token: i0.ChangeDetectorRef }, { token: i2$1.LanguageService }], target: i0.ɵɵFactoryTarget.Component });
173
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.5", type: AboutToolComponent, isStandalone: true, selector: "igo-about-tool", inputs: { headerHtml: "headerHtml", html: "html", discoverTitleInLocale: "discoverTitleInLocale", trainingGuideURLs: "trainingGuideURLs" }, ngImport: i0, template: "<p></p>\n<igo-interactive-tour\n mat-raised-button\n tourToStart=\"global\"\n menuIsOpen=\"true\"\n styleButton=\"raised\"\n [discoverTitleInLocale$]=\"discoverTitleInLocale$\"\n>\n</igo-interactive-tour>\n\n<button\n *ngIf=\"\n auth.authenticated && trainingGuideURLs && trainingGuideURLs.length === 1\n \"\n class=\"training-guide-button\"\n mat-raised-button\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [disabled]=\"loading\"\n [matTooltip]=\"'igo.integration.aboutTool.trainingGuideTooltip' | translate\"\n (click)=\"openGuide()\"\n>\n <span>{{ 'igo.integration.aboutTool.trainingGuide' | translate }}</span>\n <mat-icon>description</mat-icon>\n</button>\n\n<button\n *ngIf=\"\n auth.authenticated && trainingGuideURLs && trainingGuideURLs.length > 1\n \"\n class=\"training-guide-button\"\n mat-raised-button\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [disabled]=\"loading\"\n [matTooltip]=\"'igo.integration.aboutTool.trainingGuideTooltip' | translate\"\n [matMenuTriggerFor]=\"menu\"\n>\n <span>{{ 'igo.integration.aboutTool.trainingGuide' | translate }}</span>\n <mat-icon>description</mat-icon>\n</button>\n\n<mat-menu #menu=\"matMenu\">\n <button\n *ngFor=\"let guide of trainingGuideURLs\"\n mat-menu-item\n (click)=\"openGuide(guide)\"\n >\n {{ formatFileName(guide) }}\n </button>\n</mat-menu>\n\n<igo-custom-html\n *ngIf=\"headerHtml !== ''\"\n class=\"mat-typography\"\n [html]=\"headerHtml | translate\"\n>\n</igo-custom-html>\n\n<igo-custom-html\n class=\"mat-typography\"\n [html]=\"html | translate: { version: effectiveVersion }\"\n>\n</igo-custom-html>\n", styles: ["igo-interactive-tour button{margin-left:20px}.training-guide-button{margin-left:5px;background-color:#1976d2;color:#fff;padding:0 12px}\n"], dependencies: [{ kind: "component", type: InteractiveTourComponent, selector: "igo-interactive-tour", inputs: ["tourToStart", "styleButton", "discoverTitleInLocale$"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i5.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i6$1.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatMenuModule }, { kind: "component", type: i8.MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "component", type: i8.MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i8.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: CustomHtmlComponent, selector: "igo-custom-html", inputs: ["html"] }, { kind: "ngmodule", type: IgoLanguageModule }, { kind: "pipe", type: i9.TranslatePipe, name: "translate" }] });
174
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.5", type: AboutToolComponent, isStandalone: true, selector: "igo-about-tool", inputs: { headerHtml: "headerHtml", html: "html", discoverTitleInLocale: "discoverTitleInLocale", trainingGuideURLs: "trainingGuideURLs" }, ngImport: i0, template: "<p></p>\n<igo-interactive-tour\n mat-raised-button\n tourToStart=\"global\"\n menuIsOpen=\"true\"\n styleButton=\"raised\"\n [discoverTitleInLocale$]=\"discoverTitleInLocale$\"\n>\n</igo-interactive-tour>\n\n<button\n *ngIf=\"\n auth.authenticated && trainingGuideURLs && trainingGuideURLs.length === 1\n \"\n class=\"training-guide-button\"\n mat-raised-button\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [disabled]=\"loading\"\n [matTooltip]=\"'igo.integration.aboutTool.trainingGuideTooltip' | translate\"\n (click)=\"openGuide()\"\n>\n <span>{{ 'igo.integration.aboutTool.trainingGuide' | translate }}</span>\n <mat-icon>description</mat-icon>\n</button>\n\n<button\n *ngIf=\"\n auth.authenticated && trainingGuideURLs && trainingGuideURLs.length > 1\n \"\n class=\"training-guide-button\"\n mat-raised-button\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [disabled]=\"loading\"\n [matTooltip]=\"'igo.integration.aboutTool.trainingGuideTooltip' | translate\"\n [matMenuTriggerFor]=\"menu\"\n>\n <span>{{ 'igo.integration.aboutTool.trainingGuide' | translate }}</span>\n <mat-icon>description</mat-icon>\n</button>\n\n<mat-menu #menu=\"matMenu\">\n <button\n *ngFor=\"let guide of trainingGuideURLs\"\n mat-menu-item\n (click)=\"openGuide(guide)\"\n >\n {{ formatFileName(guide) }}\n </button>\n</mat-menu>\n\n<igo-custom-html\n *ngIf=\"headerHtml !== ''\"\n class=\"mat-typography\"\n [html]=\"headerHtml | translate\"\n>\n</igo-custom-html>\n\n<igo-custom-html\n class=\"mat-typography\"\n [html]=\"html | translate: { version: effectiveVersion }\"\n>\n</igo-custom-html>\n", styles: ["igo-interactive-tour button{margin-left:20px}.training-guide-button{margin-left:5px;background-color:#1976d2;color:#fff;padding:0 12px}\n"], dependencies: [{ kind: "component", type: InteractiveTourComponent, selector: "igo-interactive-tour", inputs: ["tourToStart", "styleButton", "discoverTitleInLocale$"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i7.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i8.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatMenuModule }, { kind: "component", type: i8$1.MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "component", type: i8$1.MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i8$1.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: CustomHtmlComponent, selector: "igo-custom-html", inputs: ["html"] }, { kind: "ngmodule", type: IgoLanguageModule }, { kind: "pipe", type: i9.TranslatePipe, name: "translate" }] });
174
175
  };
175
176
  AboutToolComponent = __decorate([
176
177
  ToolComponent({
@@ -268,7 +269,7 @@ class MapState {
268
269
  }, this.storageService, this.configService);
269
270
  this.mapService.setMap(this.map);
270
271
  }
271
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: MapState, deps: [{ token: i1$1.MapService }, { token: i1$1.ProjectionService }, { token: i2$2.StorageService }, { token: i6.ConfigService }], target: i0.ɵɵFactoryTarget.Injectable });
272
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: MapState, deps: [{ token: i1$1.MapService }, { token: i1$1.ProjectionService }, { token: i5.StorageService }, { token: i6.ConfigService }], target: i0.ɵɵFactoryTarget.Injectable });
272
273
  static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: MapState, providedIn: 'root' });
273
274
  }
274
275
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: MapState, decorators: [{
@@ -276,7 +277,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImpor
276
277
  args: [{
277
278
  providedIn: 'root'
278
279
  }]
279
- }], ctorParameters: () => [{ type: i1$1.MapService }, { type: i1$1.ProjectionService }, { type: i2$2.StorageService }, { type: i6.ConfigService }] });
280
+ }], ctorParameters: () => [{ type: i1$1.MapService }, { type: i1$1.ProjectionService }, { type: i5.StorageService }, { type: i6.ConfigService }] });
280
281
 
281
282
  /**
282
283
  * Service that holds the state of the catalog module
@@ -532,14 +533,115 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImpor
532
533
  }]
533
534
  }], ctorParameters: () => [{ type: i1$2.ToolService }, { type: ImportExportState }] });
534
535
 
536
+ function getInfoFromSourceOptions(sourceOptions, context) {
537
+ const value = {
538
+ id: undefined,
539
+ layerName: undefined,
540
+ url: undefined,
541
+ sourceOptions: undefined,
542
+ context
543
+ };
544
+ switch (sourceOptions.type) {
545
+ case 'imagearcgisrest':
546
+ case 'arcgisrest':
547
+ case 'tilearcgisrest': {
548
+ const argisSo = sourceOptions;
549
+ value.layerName = argisSo.layer;
550
+ value.url = argisSo.url;
551
+ value.sourceOptions = argisSo;
552
+ break;
553
+ }
554
+ case 'wmts': {
555
+ const wmtsSo = sourceOptions;
556
+ value.layerName = wmtsSo.layer;
557
+ value.url = wmtsSo.url;
558
+ value.sourceOptions = wmtsSo;
559
+ break;
560
+ }
561
+ case 'xyz': {
562
+ const xyzSo = sourceOptions;
563
+ value.layerName = '';
564
+ value.url = xyzSo.url;
565
+ value.sourceOptions = xyzSo;
566
+ break;
567
+ }
568
+ case 'wms': {
569
+ const wmsSo = sourceOptions;
570
+ wmsSo.params.LAYERS = wmsSo.params.LAYERS ?? wmsSo.params.layers;
571
+ value.layerName = wmsSo.params.LAYERS;
572
+ value.url = wmsSo.url;
573
+ value.sourceOptions = wmsSo;
574
+ break;
575
+ }
576
+ case 'osm': {
577
+ const osmSo = sourceOptions;
578
+ value.layerName = '';
579
+ value.url = osmSo.url
580
+ ? osmSo.url
581
+ : 'https://tile.openstreetmap.org/{z}/{x}/{y}.png';
582
+ value.sourceOptions = osmSo;
583
+ break;
584
+ }
585
+ case 'wfs': {
586
+ const wfsSo = sourceOptions;
587
+ value.layerName = wfsSo.params.featureTypes;
588
+ value.url = wfsSo.url;
589
+ value.sourceOptions = wfsSo;
590
+ break;
591
+ }
592
+ case 'vector': {
593
+ const featureSo = sourceOptions;
594
+ value.layerName = '';
595
+ value.url = featureSo.url;
596
+ value.sourceOptions = featureSo;
597
+ break;
598
+ }
599
+ case 'cluster': {
600
+ const clusterSo = sourceOptions;
601
+ value.layerName = '';
602
+ value.url = clusterSo.url;
603
+ value.sourceOptions = clusterSo;
604
+ break;
605
+ }
606
+ case 'mvt': {
607
+ const mvtSo = sourceOptions;
608
+ value.layerName = '';
609
+ value.url = mvtSo.url;
610
+ value.sourceOptions = mvtSo;
611
+ break;
612
+ }
613
+ case 'carto': {
614
+ const cartoSo = sourceOptions;
615
+ value.layerName = cartoSo.config.layers
616
+ .map((layer) => layer.options.sql)
617
+ .join(' ');
618
+ value.url = `https://${cartoSo.account}.carto.com/api/v1/map`;
619
+ value.sourceOptions = cartoSo;
620
+ break;
621
+ }
622
+ default:
623
+ break;
624
+ }
625
+ if (value.sourceOptions) {
626
+ value.id = generateIdFromSourceOptions(value.sourceOptions);
627
+ value.url = value.url?.startsWith('/')
628
+ ? window.location.origin + value.url
629
+ : value.url;
630
+ }
631
+ return value;
632
+ }
633
+
535
634
  /**
536
635
  * Tool to browse the list of available catalogs.
537
636
  */
538
637
  let CatalogLibraryToolComponent = class CatalogLibraryToolComponent {
638
+ contextService;
539
639
  catalogService;
540
640
  catalogState;
541
641
  toolState;
542
642
  storageService;
643
+ languageService;
644
+ generatelist$$;
543
645
  /**
544
646
  * Store that contains the catalogs
545
647
  * @internal
@@ -551,6 +653,10 @@ let CatalogLibraryToolComponent = class CatalogLibraryToolComponent {
551
653
  * Determine if the form to add a catalog is allowed
552
654
  */
553
655
  addCatalogAllowed = false;
656
+ /**
657
+ * Determine if the export button is shown
658
+ */
659
+ exportButton = false;
554
660
  /**
555
661
  * List of predefined catalogs
556
662
  */
@@ -564,11 +670,13 @@ let CatalogLibraryToolComponent = class CatalogLibraryToolComponent {
564
670
  get lastTool() {
565
671
  return this.toolState.toolbox.getCurrentPreviousToolName()[0];
566
672
  }
567
- constructor(catalogService, catalogState, toolState, storageService) {
673
+ constructor(contextService, catalogService, catalogState, toolState, storageService, languageService) {
674
+ this.contextService = contextService;
568
675
  this.catalogService = catalogService;
569
676
  this.catalogState = catalogState;
570
677
  this.toolState = toolState;
571
678
  this.storageService = storageService;
679
+ this.languageService = languageService;
572
680
  }
573
681
  /**
574
682
  * @internal
@@ -581,6 +689,9 @@ let CatalogLibraryToolComponent = class CatalogLibraryToolComponent {
581
689
  this.loadCatalogs();
582
690
  }
583
691
  }
692
+ ngOnDestroy() {
693
+ this.generatelist$$?.unsubscribe();
694
+ }
584
695
  /**
585
696
  * When the selected catalog changes, toggle the the CatalogBrowser tool.
586
697
  * @internal
@@ -605,8 +716,131 @@ let CatalogLibraryToolComponent = class CatalogLibraryToolComponent {
605
716
  this.store.load(catalogs.concat((this.storageService.get('addedCatalogs') || [])));
606
717
  });
607
718
  }
608
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: CatalogLibraryToolComponent, deps: [{ token: i1$1.CatalogService }, { token: CatalogState }, { token: ToolState }, { token: i2$2.StorageService }], target: i0.ɵɵFactoryTarget.Component });
609
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.5", type: CatalogLibraryToolComponent, isStandalone: true, selector: "igo-catalog-library-tool", inputs: { addCatalogAllowed: "addCatalogAllowed", predefinedCatalogs: "predefinedCatalogs" }, ngImport: i0, template: "<igo-catalog-library\n [predefinedCatalogs]=\"predefinedCatalogs\"\n [addCatalogAllowed]=\"addCatalogAllowed\"\n [store]=\"store\"\n (catalogSelectChange)=\"onCatalogSelectChange($event)\"\n>\n</igo-catalog-library>\n", dependencies: [{ kind: "component", type: CatalogLibaryComponent, selector: "igo-catalog-library", inputs: ["store", "map", "addCatalogAllowed", "predefinedCatalogs"], outputs: ["catalogSelectChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
719
+ /**
720
+ * Get the item abstract for getCatalogList
721
+ */
722
+ getMetadataAbstract(item) {
723
+ return item.options.metadata.abstract?.replaceAll('\n', '') ?? '';
724
+ }
725
+ /**
726
+ * Get the item url metadata for getCatalogList
727
+ */
728
+ getMetadataUrl(item) {
729
+ return item.options.metadata.url;
730
+ }
731
+ layersInfoFromContexts() {
732
+ return this.contextService.getLocalContexts().pipe(switchMap((contextsList) => forkJoin(contextsList.ours.map((context) => this.contextService.getLocalContext(context.uri)))), concatAll(), map((detailedContext) => {
733
+ return detailedContext.layers
734
+ .filter((layer) => isLayerItemOptions(layer))
735
+ .map((layer) => getInfoFromSourceOptions(layer.sourceOptions, detailedContext.title ?? detailedContext.uri));
736
+ }), concatAll(), toArray());
737
+ }
738
+ listExportFromCatalogs() {
739
+ let rank = 1;
740
+ const finalListExportOutputs = [];
741
+ return this.store.entities$.pipe(switchMap((catalogs) => combineLatest(catalogs.map((catalog) => this.catalogService.loadCatalogItems(catalog).pipe(map((items) => {
742
+ return { catalog, items };
743
+ }))))), map((catalogsWithItems) => {
744
+ catalogsWithItems.forEach((catalogAndItems) => {
745
+ const catalog = catalogAndItems.catalog;
746
+ const loadedCatalogItems = catalogAndItems.items;
747
+ const catalogListExports = loadedCatalogItems.reduce((catalogListExports, item) => {
748
+ if (item.type === CatalogItemType.Group) {
749
+ const group = item;
750
+ group.items.forEach((layer) => {
751
+ catalogListExports.push(this.formatLayer(layer, rank, group.title, catalog.title));
752
+ rank++;
753
+ });
754
+ }
755
+ else {
756
+ const layer = item;
757
+ catalogListExports.push(this.formatLayer(layer, rank, '', catalog.title));
758
+ rank++;
759
+ }
760
+ return catalogListExports;
761
+ }, []);
762
+ finalListExportOutputs.push(...catalogListExports);
763
+ });
764
+ return finalListExportOutputs;
765
+ }));
766
+ }
767
+ async getCatalogList() {
768
+ this.generatelist$$ = combineLatest([
769
+ this.layersInfoFromContexts(),
770
+ this.listExportFromCatalogs()
771
+ ]).subscribe(([layersInfoFromContexts, listExportFromCatalogs]) => {
772
+ const listExport = this.matchLayersWithLayersFromContext(listExportFromCatalogs, layersInfoFromContexts);
773
+ this.exportExcel(listExport);
774
+ });
775
+ }
776
+ formatLayer(layer, rank, groupTitle, catalogTitle) {
777
+ const infos = getInfoFromSourceOptions(layer.options.sourceOptions, layer.id);
778
+ const t = this.languageService.translate;
779
+ return {
780
+ id: infos.id,
781
+ rank: rank.toString(),
782
+ layerTitle: layer.title,
783
+ layerGroup: groupTitle,
784
+ catalog: catalogTitle,
785
+ provider: layer.externalProvider
786
+ ? t.instant('igo.integration.catalog.listExport.external')
787
+ : t.instant('igo.integration.catalog.listExport.internal'),
788
+ url: infos.url,
789
+ layerName: infos.layerName,
790
+ context: '',
791
+ metadataAbstract: this.getMetadataAbstract(layer),
792
+ metadataUrl: this.getMetadataUrl(layer)
793
+ };
794
+ }
795
+ /**
796
+ * Match a list of layer info with an other list derived from contexts
797
+ * @param catalogOutputs The row list to be written into a file
798
+ * @param layerInfosFromDetailedContexts Layers info derived from the context
799
+ * @returns An altered list, with layer/context association
800
+ */
801
+ matchLayersWithLayersFromContext(listExport, layerInfosFromDetailedContexts) {
802
+ listExport.map((catalogOutput) => {
803
+ const matchingLayersFromContext = layerInfosFromDetailedContexts
804
+ .filter((l) => l.id === catalogOutput.id ||
805
+ (l.layerName === catalogOutput.layerName &&
806
+ l.url === catalogOutput.url))
807
+ .map((f) => f.context);
808
+ catalogOutput.context = matchingLayersFromContext.join(',');
809
+ });
810
+ return listExport;
811
+ }
812
+ /**
813
+ * Write a Excel file
814
+ * @param catalogOutputs The row list to be written into a excel file
815
+ */
816
+ async exportExcel(catalogOutputs) {
817
+ const translateCatalogKey = (key) => this.languageService.translate.instant(`igo.integration.catalog.listExport.${key}`);
818
+ catalogOutputs.unshift({
819
+ id: 'catalogIdHeader',
820
+ rank: translateCatalogKey `rank`,
821
+ layerTitle: translateCatalogKey `layerTitle`,
822
+ layerGroup: translateCatalogKey `layerGroup`,
823
+ catalog: translateCatalogKey `catalog`,
824
+ provider: translateCatalogKey `externalProvider`,
825
+ url: translateCatalogKey `url`,
826
+ layerName: translateCatalogKey `layerName`,
827
+ context: translateCatalogKey `context`,
828
+ metadataAbstract: translateCatalogKey `metadataAbstract`,
829
+ metadataUrl: translateCatalogKey `metadataUrl`
830
+ });
831
+ const catalogOutput = catalogOutputs.map((catalogOutput) => {
832
+ delete catalogOutput.id;
833
+ return catalogOutput;
834
+ });
835
+ const workBook = await createExcelWorkBook();
836
+ await addExcelSheetToWorkBook('Informations', catalogOutput, workBook, {
837
+ json2SheetOpts: { skipHeader: true }
838
+ });
839
+ const documentName = this.languageService.translate.instant('igo.integration.catalog.listExport.documentName', { value: formatDate(Date.now(), 'YYYY-MM-dd-H_mm', 'en-US') });
840
+ writeExcelFile(workBook, documentName, { compression: true });
841
+ }
842
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: CatalogLibraryToolComponent, deps: [{ token: i1$3.ContextService }, { token: i1$1.CatalogService }, { token: CatalogState }, { token: ToolState }, { token: i5.StorageService }, { token: i2$1.LanguageService }], target: i0.ɵɵFactoryTarget.Component });
843
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.5", type: CatalogLibraryToolComponent, isStandalone: true, selector: "igo-catalog-library-tool", inputs: { addCatalogAllowed: "addCatalogAllowed", exportButton: "exportButton", predefinedCatalogs: "predefinedCatalogs" }, ngImport: i0, template: "<igo-catalog-library\n [predefinedCatalogs]=\"predefinedCatalogs\"\n [addCatalogAllowed]=\"addCatalogAllowed\"\n [store]=\"store\"\n (catalogSelectChange)=\"onCatalogSelectChange($event)\"\n>\n</igo-catalog-library>\n<div *ngIf=\"exportButton\" class=\"get-catalog-list-button\">\n <button\n mat-raised-button\n [matTooltip]=\"'igo.integration.catalog.library.getCatalogList' | translate\"\n matTooltipPosition=\"above\"\n color=\"primary\"\n (click)=\"getCatalogList()\"\n >\n {{ 'igo.integration.catalog.library.getCatalogList' | translate }}\n </button>\n</div>\n", styles: [".get-catalog-list-button{display:flex;justify-content:center;align-items:center}\n"], dependencies: [{ kind: "component", type: CatalogLibraryComponent, selector: "igo-catalog-library", inputs: ["store", "map", "addCatalogAllowed", "predefinedCatalogs"], outputs: ["catalogSelectChange"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i7.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i8.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i9.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
610
844
  };
611
845
  CatalogLibraryToolComponent = __decorate([
612
846
  ToolComponent({
@@ -614,15 +848,25 @@ CatalogLibraryToolComponent = __decorate([
614
848
  title: 'igo.integration.tools.catalog',
615
849
  icon: 'library_add'
616
850
  }),
617
- __metadata("design:paramtypes", [CatalogService,
851
+ __metadata("design:paramtypes", [ContextService,
852
+ CatalogService,
618
853
  CatalogState,
619
854
  ToolState,
620
- StorageService])
855
+ StorageService,
856
+ LanguageService])
621
857
  ], CatalogLibraryToolComponent);
622
858
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: CatalogLibraryToolComponent, decorators: [{
623
859
  type: Component,
624
- args: [{ selector: 'igo-catalog-library-tool', changeDetection: ChangeDetectionStrategy.OnPush, imports: [CatalogLibaryComponent], template: "<igo-catalog-library\n [predefinedCatalogs]=\"predefinedCatalogs\"\n [addCatalogAllowed]=\"addCatalogAllowed\"\n [store]=\"store\"\n (catalogSelectChange)=\"onCatalogSelectChange($event)\"\n>\n</igo-catalog-library>\n" }]
625
- }], ctorParameters: () => [{ type: i1$1.CatalogService }, { type: CatalogState }, { type: ToolState }, { type: i2$2.StorageService }], propDecorators: { addCatalogAllowed: [{
860
+ args: [{ selector: 'igo-catalog-library-tool', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [
861
+ CatalogLibraryComponent,
862
+ MatButtonModule,
863
+ MatTooltipModule,
864
+ NgIf,
865
+ TranslateModule
866
+ ], template: "<igo-catalog-library\n [predefinedCatalogs]=\"predefinedCatalogs\"\n [addCatalogAllowed]=\"addCatalogAllowed\"\n [store]=\"store\"\n (catalogSelectChange)=\"onCatalogSelectChange($event)\"\n>\n</igo-catalog-library>\n<div *ngIf=\"exportButton\" class=\"get-catalog-list-button\">\n <button\n mat-raised-button\n [matTooltip]=\"'igo.integration.catalog.library.getCatalogList' | translate\"\n matTooltipPosition=\"above\"\n color=\"primary\"\n (click)=\"getCatalogList()\"\n >\n {{ 'igo.integration.catalog.library.getCatalogList' | translate }}\n </button>\n</div>\n", styles: [".get-catalog-list-button{display:flex;justify-content:center;align-items:center}\n"] }]
867
+ }], ctorParameters: () => [{ type: i1$3.ContextService }, { type: i1$1.CatalogService }, { type: CatalogState }, { type: ToolState }, { type: i5.StorageService }, { type: i2$1.LanguageService }], propDecorators: { addCatalogAllowed: [{
868
+ type: Input
869
+ }], exportButton: [{
626
870
  type: Input
627
871
  }], predefinedCatalogs: [{
628
872
  type: Input
@@ -1041,7 +1285,7 @@ let DirectionsToolComponent = class DirectionsToolComponent {
1041
1285
  }
1042
1286
  });
1043
1287
  }
1044
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: DirectionsToolComponent, deps: [{ token: DirectionState }, { token: MapState }, { token: i2$1.LanguageService }, { token: i4.MessageService }, { token: i2$2.StorageService }, { token: ContextState }, { token: i2.AuthService }], target: i0.ɵɵFactoryTarget.Component });
1288
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: DirectionsToolComponent, deps: [{ token: DirectionState }, { token: MapState }, { token: i2$1.LanguageService }, { token: i4.MessageService }, { token: i5.StorageService }, { token: ContextState }, { token: i2.AuthService }], target: i0.ɵɵFactoryTarget.Component });
1045
1289
  static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.5", type: DirectionsToolComponent, isStandalone: true, selector: "igo-directions-tool", ngImport: i0, template: "<igo-directions\n [contextUri]=\"currentContextUri\"\n [debounce]=\"debounceTime\"\n [stopsStore]=\"stopsStore\"\n [stopsFeatureStore]=\"stopsFeatureStore\"\n [stepsFeatureStore]=\"stepFeatureStore\"\n [routesFeatureStore]=\"routesFeatureStore\"\n [zoomOnActiveRoute$]=\"zoomOnActiveRoute$\"\n [authenticated$]=\"authenticated$\"\n>\n</igo-directions>\n", dependencies: [{ kind: "ngmodule", type: IgoDirectionsModule }, { kind: "component", type: i1$1.DirectionsComponent, selector: "igo-directions", inputs: ["contextUri", "stopsStore", "stopsFeatureStore", "routesFeatureStore", "stepsFeatureStore", "debounce", "length", "coordRoundedDecimals", "zoomOnActiveRoute$", "authenticated$"] }] });
1046
1290
  };
1047
1291
  DirectionsToolComponent = __decorate([
@@ -1061,7 +1305,7 @@ DirectionsToolComponent = __decorate([
1061
1305
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: DirectionsToolComponent, decorators: [{
1062
1306
  type: Component,
1063
1307
  args: [{ selector: 'igo-directions-tool', imports: [IgoDirectionsModule], template: "<igo-directions\n [contextUri]=\"currentContextUri\"\n [debounce]=\"debounceTime\"\n [stopsStore]=\"stopsStore\"\n [stopsFeatureStore]=\"stopsFeatureStore\"\n [stepsFeatureStore]=\"stepFeatureStore\"\n [routesFeatureStore]=\"routesFeatureStore\"\n [zoomOnActiveRoute$]=\"zoomOnActiveRoute$\"\n [authenticated$]=\"authenticated$\"\n>\n</igo-directions>\n" }]
1064
- }], ctorParameters: () => [{ type: DirectionState }, { type: MapState }, { type: i2$1.LanguageService }, { type: i4.MessageService }, { type: i2$2.StorageService }, { type: ContextState }, { type: i2.AuthService }] });
1308
+ }], ctorParameters: () => [{ type: DirectionState }, { type: MapState }, { type: i2$1.LanguageService }, { type: i4.MessageService }, { type: i5.StorageService }, { type: ContextState }, { type: i2.AuthService }] });
1065
1309
 
1066
1310
  /**
1067
1311
  * @deprecated import the DirectionsToolComponent directly
@@ -1329,7 +1573,7 @@ class StorageState {
1329
1573
  constructor(igoStorageService) {
1330
1574
  this.igoStorageService = igoStorageService;
1331
1575
  }
1332
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: StorageState, deps: [{ token: i2$2.StorageService }], target: i0.ɵɵFactoryTarget.Injectable });
1576
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: StorageState, deps: [{ token: i5.StorageService }], target: i0.ɵɵFactoryTarget.Injectable });
1333
1577
  static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: StorageState, providedIn: 'root' });
1334
1578
  }
1335
1579
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: StorageState, decorators: [{
@@ -1337,7 +1581,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImpor
1337
1581
  args: [{
1338
1582
  providedIn: 'root'
1339
1583
  }]
1340
- }], ctorParameters: () => [{ type: i2$2.StorageService }] });
1584
+ }], ctorParameters: () => [{ type: i5.StorageService }] });
1341
1585
 
1342
1586
  function handleZoomAuto(workspace, storageService) {
1343
1587
  const zoomStrategy = workspace.entityStore.getStrategyOfType(FeatureStoreSelectionStrategy);
@@ -1428,7 +1672,7 @@ function getWorkspaceActions(workspace, rowsInMapExtentCheckCondition$, selectOn
1428
1672
  tooltip: languageService.translate.instant('igo.integration.workspace.maximizeTooltip'),
1429
1673
  icon: 'resize',
1430
1674
  display: () => {
1431
- return maximize$.pipe(map((v) => !v && !mediaService.isMobile()));
1675
+ return maximize$.pipe(map$1((v) => !v && !mediaService.isMobile()));
1432
1676
  },
1433
1677
  handler: () => {
1434
1678
  if (!mediaService.isMobile()) {
@@ -1442,7 +1686,7 @@ function getWorkspaceActions(workspace, rowsInMapExtentCheckCondition$, selectOn
1442
1686
  tooltip: languageService.translate.instant('igo.integration.workspace.standardExtentTooltip'),
1443
1687
  icon: 'resize',
1444
1688
  display: () => {
1445
- return maximize$.pipe(map((v) => v && !mediaService.isMobile()));
1689
+ return maximize$.pipe(map$1((v) => v && !mediaService.isMobile()));
1446
1690
  },
1447
1691
  handler: () => {
1448
1692
  maximize$.next(false);
@@ -1851,7 +2095,7 @@ class WorkspaceState {
1851
2095
  this.activeWorkspace$$.unsubscribe();
1852
2096
  }
1853
2097
  }
1854
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: WorkspaceState, deps: [{ token: FeatureActionsService }, { token: WfsActionsService }, { token: EditionActionsService }, { token: i2$2.StorageService }], target: i0.ɵɵFactoryTarget.Injectable });
2098
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: WorkspaceState, deps: [{ token: FeatureActionsService }, { token: WfsActionsService }, { token: EditionActionsService }, { token: i5.StorageService }], target: i0.ɵɵFactoryTarget.Injectable });
1855
2099
  static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: WorkspaceState, providedIn: 'root' });
1856
2100
  }
1857
2101
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: WorkspaceState, decorators: [{
@@ -1859,7 +2103,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImpor
1859
2103
  args: [{
1860
2104
  providedIn: 'root'
1861
2105
  }]
1862
- }], ctorParameters: () => [{ type: FeatureActionsService }, { type: WfsActionsService }, { type: EditionActionsService }, { type: i2$2.StorageService }] });
2106
+ }], ctorParameters: () => [{ type: FeatureActionsService }, { type: WfsActionsService }, { type: EditionActionsService }, { type: i5.StorageService }] });
1863
2107
 
1864
2108
  /**
1865
2109
  * Tool to apply spatial filter
@@ -2625,8 +2869,8 @@ let DataIssueReporterToolComponent = class DataIssueReporterToolComponent {
2625
2869
  this.clearForm();
2626
2870
  }
2627
2871
  }
2628
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: DataIssueReporterToolComponent, deps: [{ token: MapState }, { token: i2$3.FormService }, { token: i2$1.LanguageService }, { token: i4.MessageService }, { token: i3.HttpClient }], target: i0.ɵɵFactoryTarget.Component });
2629
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.5", type: DataIssueReporterToolComponent, isStandalone: false, selector: "igo-issue-reporter-tool", inputs: { url: "url" }, ngImport: i0, template: "<igo-form\n *ngIf=\"form$ | async as form\"\n [form]=\"form\"\n [formData]=\"data$ | async\"\n (submitForm)=\"onSubmit($any($event))\"\n>\n <div *ngIf=\"form.fields.length\" class=\"form-container\">\n <igo-form-field\n *ngFor=\"let field of form.fields\"\n [field]=\"field\"\n ></igo-form-field>\n </div>\n\n <div formButtons class=\"actions-container\">\n <button\n mat-stroked-button\n type=\"button\"\n color=\"primary\"\n (click)=\"clearForm()\"\n >\n {{ 'igo.integration.dataIssueReporterTool.reset.button' | translate }}\n </button>\n <button\n mat-flat-button\n type=\"submit\"\n color=\"primary\"\n [disabled]=\"submitDisabled\"\n >\n {{ 'igo.integration.dataIssueReporterTool.submit.button' | translate }}\n </button>\n </div>\n</igo-form>\n", styles: [":host .actions-container button:not(:last-child){margin-right:8px}:host .form-container{width:100%;padding:10px}:host .form-container igo-form-field{display:block;height:auto}\n"], dependencies: [{ kind: "directive", type: i6$2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i6$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i5.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i2$3.FormFieldComponent, selector: "igo-form-field", inputs: ["field"] }, { kind: "component", type: i2$3.FormComponent, selector: "igo-form", inputs: ["form", "formData", "autocomplete"], outputs: ["submitForm"] }, { kind: "pipe", type: i6$2.AsyncPipe, name: "async" }, { kind: "pipe", type: i9.TranslatePipe, name: "translate" }] });
2872
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: DataIssueReporterToolComponent, deps: [{ token: MapState }, { token: i2$2.FormService }, { token: i2$1.LanguageService }, { token: i4.MessageService }, { token: i3.HttpClient }], target: i0.ɵɵFactoryTarget.Component });
2873
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.5", type: DataIssueReporterToolComponent, isStandalone: false, selector: "igo-issue-reporter-tool", inputs: { url: "url" }, ngImport: i0, template: "<igo-form\n *ngIf=\"form$ | async as form\"\n [form]=\"form\"\n [formData]=\"data$ | async\"\n (submitForm)=\"onSubmit($any($event))\"\n>\n <div *ngIf=\"form.fields.length\" class=\"form-container\">\n <igo-form-field\n *ngFor=\"let field of form.fields\"\n [field]=\"field\"\n ></igo-form-field>\n </div>\n\n <div formButtons class=\"actions-container\">\n <button\n mat-stroked-button\n type=\"button\"\n color=\"primary\"\n (click)=\"clearForm()\"\n >\n {{ 'igo.integration.dataIssueReporterTool.reset.button' | translate }}\n </button>\n <button\n mat-flat-button\n type=\"submit\"\n color=\"primary\"\n [disabled]=\"submitDisabled\"\n >\n {{ 'igo.integration.dataIssueReporterTool.submit.button' | translate }}\n </button>\n </div>\n</igo-form>\n", styles: [":host .actions-container button:not(:last-child){margin-right:8px}:host .form-container{width:100%;padding:10px}:host .form-container igo-form-field{display:block;height:auto}\n"], dependencies: [{ kind: "directive", type: i6$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i6$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i7.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i2$2.FormFieldComponent, selector: "igo-form-field", inputs: ["field"] }, { kind: "component", type: i2$2.FormComponent, selector: "igo-form", inputs: ["form", "formData", "autocomplete"], outputs: ["submitForm"] }, { kind: "pipe", type: i6$1.AsyncPipe, name: "async" }, { kind: "pipe", type: i9.TranslatePipe, name: "translate" }] });
2630
2874
  };
2631
2875
  DataIssueReporterToolComponent = __decorate([
2632
2876
  ToolComponent({
@@ -2643,7 +2887,7 @@ DataIssueReporterToolComponent = __decorate([
2643
2887
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: DataIssueReporterToolComponent, decorators: [{
2644
2888
  type: Component,
2645
2889
  args: [{ selector: 'igo-issue-reporter-tool', standalone: false, template: "<igo-form\n *ngIf=\"form$ | async as form\"\n [form]=\"form\"\n [formData]=\"data$ | async\"\n (submitForm)=\"onSubmit($any($event))\"\n>\n <div *ngIf=\"form.fields.length\" class=\"form-container\">\n <igo-form-field\n *ngFor=\"let field of form.fields\"\n [field]=\"field\"\n ></igo-form-field>\n </div>\n\n <div formButtons class=\"actions-container\">\n <button\n mat-stroked-button\n type=\"button\"\n color=\"primary\"\n (click)=\"clearForm()\"\n >\n {{ 'igo.integration.dataIssueReporterTool.reset.button' | translate }}\n </button>\n <button\n mat-flat-button\n type=\"submit\"\n color=\"primary\"\n [disabled]=\"submitDisabled\"\n >\n {{ 'igo.integration.dataIssueReporterTool.submit.button' | translate }}\n </button>\n </div>\n</igo-form>\n", styles: [":host .actions-container button:not(:last-child){margin-right:8px}:host .form-container{width:100%;padding:10px}:host .form-container igo-form-field{display:block;height:auto}\n"] }]
2646
- }], ctorParameters: () => [{ type: MapState }, { type: i2$3.FormService }, { type: i2$1.LanguageService }, { type: i4.MessageService }, { type: i3.HttpClient }], propDecorators: { url: [{
2890
+ }], ctorParameters: () => [{ type: MapState }, { type: i2$2.FormService }, { type: i2$1.LanguageService }, { type: i4.MessageService }, { type: i3.HttpClient }], propDecorators: { url: [{
2647
2891
  type: Input
2648
2892
  }] } });
2649
2893
 
@@ -3175,8 +3419,8 @@ class AdvancedCoordinatesComponent {
3175
3419
  }
3176
3420
  });
3177
3421
  }
3178
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: AdvancedCoordinatesComponent, deps: [{ token: i1$4.Clipboard }, { token: MapState }, { token: i2$1.LanguageService }, { token: i4.MessageService }, { token: i2$2.StorageService }, { token: i6.ConfigService }, { token: i2$4.UntypedFormBuilder }], target: i0.ɵɵFactoryTarget.Component });
3179
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.5", type: AdvancedCoordinatesComponent, isStandalone: true, selector: "igo-advanced-coordinates", inputs: { projectionsLimitations: "projectionsLimitations" }, ngImport: i0, template: "<div class=\"advanced-coordinates__coordinates-container\">\n <div class=\"advanced-coordinates__coordinates-container__inner\">\n <mat-form-field *ngIf=\"units; else elseBlock\" subscriptSizing=\"dynamic\">\n <mat-label>{{\n 'igo.integration.advanced-map-tool.advanced-coordinates.lon' | translate\n }}</mat-label>\n <textarea\n #textArea\n matInput\n readonly\n rows=\"1\"\n [placeholder]=\"\n 'igo.integration.advanced-map-tool.advanced-coordinates.lon'\n | translate\n \"\n [value]=\"coordinates[0]\"\n ></textarea>\n </mat-form-field>\n <ng-template #elseBlock>\n <mat-form-field subscriptSizing=\"dynamic\">\n <textarea\n #textArea\n matInput\n readonly\n rows=\"1\"\n [placeholder]=\"\n 'igo.integration.advanced-map-tool.advanced-coordinates.est'\n | translate\n \"\n [value]=\"coordinates[0]\"\n ></textarea>\n </mat-form-field>\n </ng-template>\n\n <mat-form-field *ngIf=\"units; else elseBlock2\" subscriptSizing=\"dynamic\">\n <mat-label>{{\n 'igo.integration.advanced-map-tool.advanced-coordinates.lat' | translate\n }}</mat-label>\n <textarea\n #textArea\n matInput\n readonly\n rows=\"1\"\n [placeholder]=\"\n 'igo.integration.advanced-map-tool.advanced-coordinates.lat'\n | translate\n \"\n [value]=\"coordinates[1]\"\n ></textarea>\n </mat-form-field>\n <ng-template #elseBlock2>\n <mat-form-field subscriptSizing=\"dynamic\">\n <textarea\n #textArea\n matInput\n readonly\n rows=\"1\"\n [placeholder]=\"\n 'igo.integration.advanced-map-tool.advanced-coordinates.nord'\n | translate\n \"\n [value]=\"coordinates[1]\"\n ></textarea>\n </mat-form-field>\n </ng-template>\n <button\n mat-icon-button\n [attr.aria-label]=\"\n 'igo.integration.advanced-map-tool.advanced-coordinates.copy'\n | translate\n \"\n class=\"igo-form-button-group advanced-coordinates__copy-coordinates\"\n (click)=\"copyTextToClipboard()\"\n >\n <mat-icon>content_copy</mat-icon>\n </button>\n </div>\n\n <form class=\"igo-form advanced-coordinates__form\" [formGroup]=\"form\">\n <div class=\"advanced-coordinates__coordinates-container__inner\">\n <mat-form-field class=\"igo-input-container\" subscriptSizing=\"dynamic\">\n <mat-label>{{\n 'igo.integration.advanced-map-tool.advanced-coordinates.coordSystem'\n | translate\n }}</mat-label>\n <mat-select [(value)]=\"inputProj\">\n <mat-option\n matTooltipShowDelay=\"500\"\n *ngFor=\"let projection of projections$ | async\"\n [value]=\"projection\"\n (click)=\"$event.stopPropagation()\"\n >\n {{ projection.translatedValue || projection.alias }}\n </mat-option>\n </mat-select>\n </mat-form-field>\n </div>\n <div class=\"advanced-coordinates__coordinates-container__inner\">\n <mat-slide-toggle\n class=\"center-toggle mat-typography\"\n [checked]=\"center\"\n [labelPosition]=\"'before'\"\n (change)=\"displayCenter($event.checked)\"\n >\n {{\n 'igo.integration.advanced-map-tool.advanced-coordinates.center'\n | translate\n }}\n </mat-slide-toggle>\n </div>\n </form>\n\n <p class=\"igo-zoom mat-typography\">\n {{\n 'igo.integration.advanced-map-tool.advanced-coordinates.zoom' | translate\n }}\n {{ map.viewController.getZoom() }}\n </p>\n <p class=\"igo-zoom mat-typography\">\n {{\n 'igo.integration.advanced-map-tool.advanced-coordinates.scale' | translate\n }}\n {{ formattedScale$ | async }}\n </p>\n <p class=\"igo-zoom mat-typography\">\n {{\n 'igo.integration.advanced-map-tool.advanced-coordinates.resolution'\n | translate\n }}\n {{ map.viewController.getResolution() | number: '1.0-0' }}\n </p>\n</div>\n", styles: [":host{padding:12px 0}textarea{resize:none}.advanced-coordinates__coordinates-container{width:100%;display:flex;flex-direction:column;padding:12px 0}.advanced-coordinates__coordinates-container__inner{display:flex;align-items:center;margin-bottom:16px}.advanced-coordinates__coordinates-container__inner mat-form-field{flex:1}.advanced-coordinates__coordinates-container__inner mat-form-field:not(:first-child),.advanced-coordinates__coordinates-container__inner button:not(:first-child){margin-left:8px}.advanced-coordinates__form{display:flex;flex-direction:column}.advanced-coordinates__form mat-slide-toggle{flex:1}.advanced-coordinates__form mat-slide-toggle ::ng-deep .mdc-form-field{display:flex;justify-content:space-between}.advanced-coordinates__form mat-slide-toggle ::ng-deep .mdc-label{flex:1}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: MatFormFieldModule }, { kind: "component", type: i8$1.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i8$1.MatLabel, selector: "mat-label" }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i9$1.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly", "disabledInteractive"], exportAs: ["matInput"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i5.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2$4.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i2$4.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2$4.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: MatSelectModule }, { kind: "component", type: i12.MatSelect, selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth", "canSelectNullableOptions"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "component", type: i12.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "ngmodule", type: MatOptionModule }, { kind: "ngmodule", type: MatSlideToggleModule }, { kind: "component", type: i13.MatSlideToggle, selector: "mat-slide-toggle", inputs: ["name", "id", "labelPosition", "aria-label", "aria-labelledby", "aria-describedby", "required", "color", "disabled", "disableRipple", "tabIndex", "checked", "hideIcon", "disabledInteractive"], outputs: ["change", "toggleChange"], exportAs: ["matSlideToggle"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: DecimalPipe, name: "number" }, { kind: "ngmodule", type: IgoLanguageModule }, { kind: "pipe", type: i9.TranslatePipe, name: "translate" }] });
3422
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: AdvancedCoordinatesComponent, deps: [{ token: i1$4.Clipboard }, { token: MapState }, { token: i2$1.LanguageService }, { token: i4.MessageService }, { token: i5.StorageService }, { token: i6.ConfigService }, { token: i2$3.UntypedFormBuilder }], target: i0.ɵɵFactoryTarget.Component });
3423
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.5", type: AdvancedCoordinatesComponent, isStandalone: true, selector: "igo-advanced-coordinates", inputs: { projectionsLimitations: "projectionsLimitations" }, ngImport: i0, template: "<div class=\"advanced-coordinates__coordinates-container\">\n <div class=\"advanced-coordinates__coordinates-container__inner\">\n <mat-form-field *ngIf=\"units; else elseBlock\" subscriptSizing=\"dynamic\">\n <mat-label>{{\n 'igo.integration.advanced-map-tool.advanced-coordinates.lon' | translate\n }}</mat-label>\n <textarea\n #textArea\n matInput\n readonly\n rows=\"1\"\n [placeholder]=\"\n 'igo.integration.advanced-map-tool.advanced-coordinates.lon'\n | translate\n \"\n [value]=\"coordinates[0]\"\n ></textarea>\n </mat-form-field>\n <ng-template #elseBlock>\n <mat-form-field subscriptSizing=\"dynamic\">\n <textarea\n #textArea\n matInput\n readonly\n rows=\"1\"\n [placeholder]=\"\n 'igo.integration.advanced-map-tool.advanced-coordinates.est'\n | translate\n \"\n [value]=\"coordinates[0]\"\n ></textarea>\n </mat-form-field>\n </ng-template>\n\n <mat-form-field *ngIf=\"units; else elseBlock2\" subscriptSizing=\"dynamic\">\n <mat-label>{{\n 'igo.integration.advanced-map-tool.advanced-coordinates.lat' | translate\n }}</mat-label>\n <textarea\n #textArea\n matInput\n readonly\n rows=\"1\"\n [placeholder]=\"\n 'igo.integration.advanced-map-tool.advanced-coordinates.lat'\n | translate\n \"\n [value]=\"coordinates[1]\"\n ></textarea>\n </mat-form-field>\n <ng-template #elseBlock2>\n <mat-form-field subscriptSizing=\"dynamic\">\n <textarea\n #textArea\n matInput\n readonly\n rows=\"1\"\n [placeholder]=\"\n 'igo.integration.advanced-map-tool.advanced-coordinates.nord'\n | translate\n \"\n [value]=\"coordinates[1]\"\n ></textarea>\n </mat-form-field>\n </ng-template>\n <button\n mat-icon-button\n [attr.aria-label]=\"\n 'igo.integration.advanced-map-tool.advanced-coordinates.copy'\n | translate\n \"\n class=\"igo-form-button-group advanced-coordinates__copy-coordinates\"\n (click)=\"copyTextToClipboard()\"\n >\n <mat-icon>content_copy</mat-icon>\n </button>\n </div>\n\n <form class=\"igo-form advanced-coordinates__form\" [formGroup]=\"form\">\n <div class=\"advanced-coordinates__coordinates-container__inner\">\n <mat-form-field class=\"igo-input-container\" subscriptSizing=\"dynamic\">\n <mat-label>{{\n 'igo.integration.advanced-map-tool.advanced-coordinates.coordSystem'\n | translate\n }}</mat-label>\n <mat-select [(value)]=\"inputProj\">\n <mat-option\n matTooltipShowDelay=\"500\"\n *ngFor=\"let projection of projections$ | async\"\n [value]=\"projection\"\n (click)=\"$event.stopPropagation()\"\n >\n {{ projection.translatedValue || projection.alias }}\n </mat-option>\n </mat-select>\n </mat-form-field>\n </div>\n <div class=\"advanced-coordinates__coordinates-container__inner\">\n <mat-slide-toggle\n class=\"center-toggle mat-typography\"\n [checked]=\"center\"\n [labelPosition]=\"'before'\"\n (change)=\"displayCenter($event.checked)\"\n >\n {{\n 'igo.integration.advanced-map-tool.advanced-coordinates.center'\n | translate\n }}\n </mat-slide-toggle>\n </div>\n </form>\n\n <p class=\"igo-zoom mat-typography\">\n {{\n 'igo.integration.advanced-map-tool.advanced-coordinates.zoom' | translate\n }}\n {{ map.viewController.getZoom() }}\n </p>\n <p class=\"igo-zoom mat-typography\">\n {{\n 'igo.integration.advanced-map-tool.advanced-coordinates.scale' | translate\n }}\n {{ formattedScale$ | async }}\n </p>\n <p class=\"igo-zoom mat-typography\">\n {{\n 'igo.integration.advanced-map-tool.advanced-coordinates.resolution'\n | translate\n }}\n {{ map.viewController.getResolution() | number: '1.0-0' }}\n </p>\n</div>\n", styles: [":host{padding:12px 0}textarea{resize:none}.advanced-coordinates__coordinates-container{width:100%;display:flex;flex-direction:column;padding:12px 0}.advanced-coordinates__coordinates-container__inner{display:flex;align-items:center;margin-bottom:16px}.advanced-coordinates__coordinates-container__inner mat-form-field{flex:1}.advanced-coordinates__coordinates-container__inner mat-form-field:not(:first-child),.advanced-coordinates__coordinates-container__inner button:not(:first-child){margin-left:8px}.advanced-coordinates__form{display:flex;flex-direction:column}.advanced-coordinates__form mat-slide-toggle{flex:1}.advanced-coordinates__form mat-slide-toggle ::ng-deep .mdc-form-field{display:flex;justify-content:space-between}.advanced-coordinates__form mat-slide-toggle ::ng-deep .mdc-label{flex:1}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: MatFormFieldModule }, { kind: "component", type: i8$2.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i8$2.MatLabel, selector: "mat-label" }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i9$1.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly", "disabledInteractive"], exportAs: ["matInput"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i7.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2$3.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i2$3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2$3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: MatSelectModule }, { kind: "component", type: i12.MatSelect, selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth", "canSelectNullableOptions"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "component", type: i12.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "ngmodule", type: MatOptionModule }, { kind: "ngmodule", type: MatSlideToggleModule }, { kind: "component", type: i13.MatSlideToggle, selector: "mat-slide-toggle", inputs: ["name", "id", "labelPosition", "aria-label", "aria-labelledby", "aria-describedby", "required", "color", "disabled", "disableRipple", "tabIndex", "checked", "hideIcon", "disabledInteractive"], outputs: ["change", "toggleChange"], exportAs: ["matSlideToggle"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: DecimalPipe, name: "number" }, { kind: "ngmodule", type: IgoLanguageModule }, { kind: "pipe", type: i9.TranslatePipe, name: "translate" }] });
3180
3424
  }
3181
3425
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: AdvancedCoordinatesComponent, decorators: [{
3182
3426
  type: Component,
@@ -3196,7 +3440,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImpor
3196
3440
  DecimalPipe,
3197
3441
  IgoLanguageModule
3198
3442
  ], template: "<div class=\"advanced-coordinates__coordinates-container\">\n <div class=\"advanced-coordinates__coordinates-container__inner\">\n <mat-form-field *ngIf=\"units; else elseBlock\" subscriptSizing=\"dynamic\">\n <mat-label>{{\n 'igo.integration.advanced-map-tool.advanced-coordinates.lon' | translate\n }}</mat-label>\n <textarea\n #textArea\n matInput\n readonly\n rows=\"1\"\n [placeholder]=\"\n 'igo.integration.advanced-map-tool.advanced-coordinates.lon'\n | translate\n \"\n [value]=\"coordinates[0]\"\n ></textarea>\n </mat-form-field>\n <ng-template #elseBlock>\n <mat-form-field subscriptSizing=\"dynamic\">\n <textarea\n #textArea\n matInput\n readonly\n rows=\"1\"\n [placeholder]=\"\n 'igo.integration.advanced-map-tool.advanced-coordinates.est'\n | translate\n \"\n [value]=\"coordinates[0]\"\n ></textarea>\n </mat-form-field>\n </ng-template>\n\n <mat-form-field *ngIf=\"units; else elseBlock2\" subscriptSizing=\"dynamic\">\n <mat-label>{{\n 'igo.integration.advanced-map-tool.advanced-coordinates.lat' | translate\n }}</mat-label>\n <textarea\n #textArea\n matInput\n readonly\n rows=\"1\"\n [placeholder]=\"\n 'igo.integration.advanced-map-tool.advanced-coordinates.lat'\n | translate\n \"\n [value]=\"coordinates[1]\"\n ></textarea>\n </mat-form-field>\n <ng-template #elseBlock2>\n <mat-form-field subscriptSizing=\"dynamic\">\n <textarea\n #textArea\n matInput\n readonly\n rows=\"1\"\n [placeholder]=\"\n 'igo.integration.advanced-map-tool.advanced-coordinates.nord'\n | translate\n \"\n [value]=\"coordinates[1]\"\n ></textarea>\n </mat-form-field>\n </ng-template>\n <button\n mat-icon-button\n [attr.aria-label]=\"\n 'igo.integration.advanced-map-tool.advanced-coordinates.copy'\n | translate\n \"\n class=\"igo-form-button-group advanced-coordinates__copy-coordinates\"\n (click)=\"copyTextToClipboard()\"\n >\n <mat-icon>content_copy</mat-icon>\n </button>\n </div>\n\n <form class=\"igo-form advanced-coordinates__form\" [formGroup]=\"form\">\n <div class=\"advanced-coordinates__coordinates-container__inner\">\n <mat-form-field class=\"igo-input-container\" subscriptSizing=\"dynamic\">\n <mat-label>{{\n 'igo.integration.advanced-map-tool.advanced-coordinates.coordSystem'\n | translate\n }}</mat-label>\n <mat-select [(value)]=\"inputProj\">\n <mat-option\n matTooltipShowDelay=\"500\"\n *ngFor=\"let projection of projections$ | async\"\n [value]=\"projection\"\n (click)=\"$event.stopPropagation()\"\n >\n {{ projection.translatedValue || projection.alias }}\n </mat-option>\n </mat-select>\n </mat-form-field>\n </div>\n <div class=\"advanced-coordinates__coordinates-container__inner\">\n <mat-slide-toggle\n class=\"center-toggle mat-typography\"\n [checked]=\"center\"\n [labelPosition]=\"'before'\"\n (change)=\"displayCenter($event.checked)\"\n >\n {{\n 'igo.integration.advanced-map-tool.advanced-coordinates.center'\n | translate\n }}\n </mat-slide-toggle>\n </div>\n </form>\n\n <p class=\"igo-zoom mat-typography\">\n {{\n 'igo.integration.advanced-map-tool.advanced-coordinates.zoom' | translate\n }}\n {{ map.viewController.getZoom() }}\n </p>\n <p class=\"igo-zoom mat-typography\">\n {{\n 'igo.integration.advanced-map-tool.advanced-coordinates.scale' | translate\n }}\n {{ formattedScale$ | async }}\n </p>\n <p class=\"igo-zoom mat-typography\">\n {{\n 'igo.integration.advanced-map-tool.advanced-coordinates.resolution'\n | translate\n }}\n {{ map.viewController.getResolution() | number: '1.0-0' }}\n </p>\n</div>\n", styles: [":host{padding:12px 0}textarea{resize:none}.advanced-coordinates__coordinates-container{width:100%;display:flex;flex-direction:column;padding:12px 0}.advanced-coordinates__coordinates-container__inner{display:flex;align-items:center;margin-bottom:16px}.advanced-coordinates__coordinates-container__inner mat-form-field{flex:1}.advanced-coordinates__coordinates-container__inner mat-form-field:not(:first-child),.advanced-coordinates__coordinates-container__inner button:not(:first-child){margin-left:8px}.advanced-coordinates__form{display:flex;flex-direction:column}.advanced-coordinates__form mat-slide-toggle{flex:1}.advanced-coordinates__form mat-slide-toggle ::ng-deep .mdc-form-field{display:flex;justify-content:space-between}.advanced-coordinates__form mat-slide-toggle ::ng-deep .mdc-label{flex:1}\n"] }]
3199
- }], ctorParameters: () => [{ type: i1$4.Clipboard }, { type: MapState }, { type: i2$1.LanguageService }, { type: i4.MessageService }, { type: i2$2.StorageService }, { type: i6.ConfigService }, { type: i2$4.UntypedFormBuilder }], propDecorators: { projectionsLimitations: [{
3443
+ }], ctorParameters: () => [{ type: i1$4.Clipboard }, { type: MapState }, { type: i2$1.LanguageService }, { type: i4.MessageService }, { type: i5.StorageService }, { type: i6.ConfigService }, { type: i2$3.UntypedFormBuilder }], propDecorators: { projectionsLimitations: [{
3200
3444
  type: Input
3201
3445
  }] } });
3202
3446
 
@@ -3308,8 +3552,8 @@ class AdvancedSwipeComponent {
3308
3552
  contextEmit() {
3309
3553
  this.toolState.toolbox.activateTool('contextManager');
3310
3554
  }
3311
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: AdvancedSwipeComponent, deps: [{ token: MapState }, { token: i2$4.UntypedFormBuilder }, { token: ToolState }], target: i0.ɵɵFactoryTarget.Component });
3312
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.5", type: AdvancedSwipeComponent, isStandalone: true, selector: "igo-advanced-swipe", ngImport: i0, template: "<div\n *ngIf=\"userControlledLayerList?.length; else noLayersBlock\"\n class=\"igo-swipe-select-container\"\n>\n <form class=\"igo-form\" [formGroup]=\"form\">\n <mat-form-field>\n <mat-label>{{\n 'igo.integration.advanced-map-tool.advanced-swipe.swipe-select'\n | translate\n }}</mat-label>\n <mat-select formControlName=\"layers\" multiple>\n <mat-option [value]=\"1\" (click)=\"selectAll(e)\" #e>\n {{\n 'igo.integration.advanced-map-tool.advanced-swipe.selectAll'\n | translate\n }}\n </mat-option>\n <mat-divider></mat-divider>\n <mat-option\n *ngFor=\"let layer of userControlledLayerList\"\n [value]=\"layer\"\n (click)=\"applyNewLayers(e)\"\n >{{ layer.title }}</mat-option\n >\n </mat-select>\n </mat-form-field>\n <mat-slide-toggle\n class=\"swipe-toggle mat-typography\"\n [checked]=\"swipe\"\n [labelPosition]=\"'before'\"\n (change)=\"startSwipe($event.checked)\"\n >\n {{ 'igo.integration.advanced-map-tool.advanced-swipe.swipe' | translate }}\n </mat-slide-toggle>\n </form>\n</div>\n\n<ng-template #noLayersBlock>\n <mat-list>\n <p class=\"map-empty mat-typography\">\n {{ 'igo.integration.advanced-map-tool.advanced-swipe.empty' | translate }}\n </p>\n <p class=\"map-empty mat-typography\">\n {{\n 'igo.integration.advanced-map-tool.advanced-swipe.customize' | translate\n }}\n </p>\n <mat-list-item>\n <mat-icon matListItemIcon>search</mat-icon>\n <span\n matListItemTitle\n class=\"search-tool mat-typography\"\n (click)=\"searchEmit()\"\n >\n {{\n 'igo.integration.advanced-map-tool.advanced-swipe.search-tool'\n | translate\n }}\n </span>\n </mat-list-item>\n <mat-list-item>\n <mat-icon matListItemIcon>library_add</mat-icon>\n <span\n matListItemTitle\n class=\"catalog-tool mat-typography\"\n (click)=\"catalogEmit()\"\n >\n {{\n 'igo.integration.advanced-map-tool.advanced-swipe.catalog-tool'\n | translate\n }}\n </span>\n </mat-list-item>\n <mat-list-item>\n <mat-icon matListItemIcon>star</mat-icon>\n <span\n matListItemTitle\n class=\"context-tool mat-typography\"\n (click)=\"contextEmit()\"\n >\n {{\n 'igo.integration.advanced-map-tool.advanced-swipe.context-tool'\n | translate\n }}\n </span>\n </mat-list-item>\n </mat-list>\n</ng-template>\n", styles: [":host{padding:12px 0}:host .igo-swipe-select-container{padding:12px 0}:host .igo-swipe-select-container mat-form-field{width:100%}:host .igo-form{display:flex;flex-direction:column;width:100%}:host mat-slide-toggle{flex:1}:host mat-slide-toggle ::ng-deep .mdc-form-field{display:flex;justify-content:space-between}:host mat-slide-toggle ::ng-deep .mdc-label{flex:1}:host .map-empty,:host .search-tool,:host .catalog-tool,:host .context-tool{margin:4px}:host .map-empty{padding:12px 0;text-align:justify}:host .search-tool,:host .catalog-tool,:host .context-tool{cursor:pointer}:host mat-list mat-list-item h4{font-weight:700}:host mat-list-item ::ng-deep .mdc-list-item__primary-text{font-size:smaller}:host .advanced-tool-line{height:2px;background-color:gray}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2$4.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i2$4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$4.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2$4.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2$4.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "ngmodule", type: MatFormFieldModule }, { kind: "component", type: i8$1.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i8$1.MatLabel, selector: "mat-label" }, { kind: "ngmodule", type: MatSelectModule }, { kind: "component", type: i12.MatSelect, selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth", "canSelectNullableOptions"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "component", type: i12.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "ngmodule", type: MatOptionModule }, { kind: "ngmodule", type: MatDividerModule }, { kind: "component", type: i6$3.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "ngmodule", type: MatSlideToggleModule }, { kind: "component", type: i13.MatSlideToggle, selector: "mat-slide-toggle", inputs: ["name", "id", "labelPosition", "aria-label", "aria-labelledby", "aria-describedby", "required", "color", "disabled", "disableRipple", "tabIndex", "checked", "hideIcon", "disabledInteractive"], outputs: ["change", "toggleChange"], exportAs: ["matSlideToggle"] }, { kind: "ngmodule", type: MatListModule }, { kind: "component", type: i8$2.MatList, selector: "mat-list", exportAs: ["matList"] }, { kind: "component", type: i8$2.MatListItem, selector: "mat-list-item, a[mat-list-item], button[mat-list-item]", inputs: ["activated"], exportAs: ["matListItem"] }, { kind: "directive", type: i8$2.MatListItemIcon, selector: "[matListItemIcon]" }, { kind: "directive", type: i8$2.MatListItemTitle, selector: "[matListItemTitle]" }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: IgoLanguageModule }, { kind: "pipe", type: i9.TranslatePipe, name: "translate" }] });
3555
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: AdvancedSwipeComponent, deps: [{ token: MapState }, { token: i2$3.UntypedFormBuilder }, { token: ToolState }], target: i0.ɵɵFactoryTarget.Component });
3556
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.5", type: AdvancedSwipeComponent, isStandalone: true, selector: "igo-advanced-swipe", ngImport: i0, template: "<div\n *ngIf=\"userControlledLayerList?.length; else noLayersBlock\"\n class=\"igo-swipe-select-container\"\n>\n <form class=\"igo-form\" [formGroup]=\"form\">\n <mat-form-field>\n <mat-label>{{\n 'igo.integration.advanced-map-tool.advanced-swipe.swipe-select'\n | translate\n }}</mat-label>\n <mat-select formControlName=\"layers\" multiple>\n <mat-option [value]=\"1\" (click)=\"selectAll(e)\" #e>\n {{\n 'igo.integration.advanced-map-tool.advanced-swipe.selectAll'\n | translate\n }}\n </mat-option>\n <mat-divider></mat-divider>\n <mat-option\n *ngFor=\"let layer of userControlledLayerList\"\n [value]=\"layer\"\n (click)=\"applyNewLayers(e)\"\n >{{ layer.title }}</mat-option\n >\n </mat-select>\n </mat-form-field>\n <mat-slide-toggle\n class=\"swipe-toggle mat-typography\"\n [checked]=\"swipe\"\n [labelPosition]=\"'before'\"\n (change)=\"startSwipe($event.checked)\"\n >\n {{ 'igo.integration.advanced-map-tool.advanced-swipe.swipe' | translate }}\n </mat-slide-toggle>\n </form>\n</div>\n\n<ng-template #noLayersBlock>\n <mat-list>\n <p class=\"map-empty mat-typography\">\n {{ 'igo.integration.advanced-map-tool.advanced-swipe.empty' | translate }}\n </p>\n <p class=\"map-empty mat-typography\">\n {{\n 'igo.integration.advanced-map-tool.advanced-swipe.customize' | translate\n }}\n </p>\n <mat-list-item>\n <mat-icon matListItemIcon>search</mat-icon>\n <span\n matListItemTitle\n class=\"search-tool mat-typography\"\n (click)=\"searchEmit()\"\n >\n {{\n 'igo.integration.advanced-map-tool.advanced-swipe.search-tool'\n | translate\n }}\n </span>\n </mat-list-item>\n <mat-list-item>\n <mat-icon matListItemIcon>library_add</mat-icon>\n <span\n matListItemTitle\n class=\"catalog-tool mat-typography\"\n (click)=\"catalogEmit()\"\n >\n {{\n 'igo.integration.advanced-map-tool.advanced-swipe.catalog-tool'\n | translate\n }}\n </span>\n </mat-list-item>\n <mat-list-item>\n <mat-icon matListItemIcon>star</mat-icon>\n <span\n matListItemTitle\n class=\"context-tool mat-typography\"\n (click)=\"contextEmit()\"\n >\n {{\n 'igo.integration.advanced-map-tool.advanced-swipe.context-tool'\n | translate\n }}\n </span>\n </mat-list-item>\n </mat-list>\n</ng-template>\n", styles: [":host{padding:12px 0}:host .igo-swipe-select-container{padding:12px 0}:host .igo-swipe-select-container mat-form-field{width:100%}:host .igo-form{display:flex;flex-direction:column;width:100%}:host mat-slide-toggle{flex:1}:host mat-slide-toggle ::ng-deep .mdc-form-field{display:flex;justify-content:space-between}:host mat-slide-toggle ::ng-deep .mdc-label{flex:1}:host .map-empty,:host .search-tool,:host .catalog-tool,:host .context-tool{margin:4px}:host .map-empty{padding:12px 0;text-align:justify}:host .search-tool,:host .catalog-tool,:host .context-tool{cursor:pointer}:host mat-list mat-list-item h4{font-weight:700}:host mat-list-item ::ng-deep .mdc-list-item__primary-text{font-size:smaller}:host .advanced-tool-line{height:2px;background-color:gray}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2$3.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i2$3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2$3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2$3.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "ngmodule", type: MatFormFieldModule }, { kind: "component", type: i8$2.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i8$2.MatLabel, selector: "mat-label" }, { kind: "ngmodule", type: MatSelectModule }, { kind: "component", type: i12.MatSelect, selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth", "canSelectNullableOptions"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "component", type: i12.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "ngmodule", type: MatOptionModule }, { kind: "ngmodule", type: MatDividerModule }, { kind: "component", type: i6$2.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "ngmodule", type: MatSlideToggleModule }, { kind: "component", type: i13.MatSlideToggle, selector: "mat-slide-toggle", inputs: ["name", "id", "labelPosition", "aria-label", "aria-labelledby", "aria-describedby", "required", "color", "disabled", "disableRipple", "tabIndex", "checked", "hideIcon", "disabledInteractive"], outputs: ["change", "toggleChange"], exportAs: ["matSlideToggle"] }, { kind: "ngmodule", type: MatListModule }, { kind: "component", type: i8$3.MatList, selector: "mat-list", exportAs: ["matList"] }, { kind: "component", type: i8$3.MatListItem, selector: "mat-list-item, a[mat-list-item], button[mat-list-item]", inputs: ["activated"], exportAs: ["matListItem"] }, { kind: "directive", type: i8$3.MatListItemIcon, selector: "[matListItemIcon]" }, { kind: "directive", type: i8$3.MatListItemTitle, selector: "[matListItemTitle]" }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: IgoLanguageModule }, { kind: "pipe", type: i9.TranslatePipe, name: "translate" }] });
3313
3557
  }
3314
3558
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: AdvancedSwipeComponent, decorators: [{
3315
3559
  type: Component,
@@ -3327,7 +3571,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImpor
3327
3571
  MatIconModule,
3328
3572
  IgoLanguageModule
3329
3573
  ], template: "<div\n *ngIf=\"userControlledLayerList?.length; else noLayersBlock\"\n class=\"igo-swipe-select-container\"\n>\n <form class=\"igo-form\" [formGroup]=\"form\">\n <mat-form-field>\n <mat-label>{{\n 'igo.integration.advanced-map-tool.advanced-swipe.swipe-select'\n | translate\n }}</mat-label>\n <mat-select formControlName=\"layers\" multiple>\n <mat-option [value]=\"1\" (click)=\"selectAll(e)\" #e>\n {{\n 'igo.integration.advanced-map-tool.advanced-swipe.selectAll'\n | translate\n }}\n </mat-option>\n <mat-divider></mat-divider>\n <mat-option\n *ngFor=\"let layer of userControlledLayerList\"\n [value]=\"layer\"\n (click)=\"applyNewLayers(e)\"\n >{{ layer.title }}</mat-option\n >\n </mat-select>\n </mat-form-field>\n <mat-slide-toggle\n class=\"swipe-toggle mat-typography\"\n [checked]=\"swipe\"\n [labelPosition]=\"'before'\"\n (change)=\"startSwipe($event.checked)\"\n >\n {{ 'igo.integration.advanced-map-tool.advanced-swipe.swipe' | translate }}\n </mat-slide-toggle>\n </form>\n</div>\n\n<ng-template #noLayersBlock>\n <mat-list>\n <p class=\"map-empty mat-typography\">\n {{ 'igo.integration.advanced-map-tool.advanced-swipe.empty' | translate }}\n </p>\n <p class=\"map-empty mat-typography\">\n {{\n 'igo.integration.advanced-map-tool.advanced-swipe.customize' | translate\n }}\n </p>\n <mat-list-item>\n <mat-icon matListItemIcon>search</mat-icon>\n <span\n matListItemTitle\n class=\"search-tool mat-typography\"\n (click)=\"searchEmit()\"\n >\n {{\n 'igo.integration.advanced-map-tool.advanced-swipe.search-tool'\n | translate\n }}\n </span>\n </mat-list-item>\n <mat-list-item>\n <mat-icon matListItemIcon>library_add</mat-icon>\n <span\n matListItemTitle\n class=\"catalog-tool mat-typography\"\n (click)=\"catalogEmit()\"\n >\n {{\n 'igo.integration.advanced-map-tool.advanced-swipe.catalog-tool'\n | translate\n }}\n </span>\n </mat-list-item>\n <mat-list-item>\n <mat-icon matListItemIcon>star</mat-icon>\n <span\n matListItemTitle\n class=\"context-tool mat-typography\"\n (click)=\"contextEmit()\"\n >\n {{\n 'igo.integration.advanced-map-tool.advanced-swipe.context-tool'\n | translate\n }}\n </span>\n </mat-list-item>\n </mat-list>\n</ng-template>\n", styles: [":host{padding:12px 0}:host .igo-swipe-select-container{padding:12px 0}:host .igo-swipe-select-container mat-form-field{width:100%}:host .igo-form{display:flex;flex-direction:column;width:100%}:host mat-slide-toggle{flex:1}:host mat-slide-toggle ::ng-deep .mdc-form-field{display:flex;justify-content:space-between}:host mat-slide-toggle ::ng-deep .mdc-label{flex:1}:host .map-empty,:host .search-tool,:host .catalog-tool,:host .context-tool{margin:4px}:host .map-empty{padding:12px 0;text-align:justify}:host .search-tool,:host .catalog-tool,:host .context-tool{cursor:pointer}:host mat-list mat-list-item h4{font-weight:700}:host mat-list-item ::ng-deep .mdc-list-item__primary-text{font-size:smaller}:host .advanced-tool-line{height:2px;background-color:gray}\n"] }]
3330
- }], ctorParameters: () => [{ type: MapState }, { type: i2$4.UntypedFormBuilder }, { type: ToolState }] });
3574
+ }], ctorParameters: () => [{ type: MapState }, { type: i2$3.UntypedFormBuilder }, { type: ToolState }] });
3331
3575
 
3332
3576
  let AdvancedMapToolComponent = class AdvancedMapToolComponent {
3333
3577
  mapState;
@@ -3353,7 +3597,7 @@ let AdvancedMapToolComponent = class AdvancedMapToolComponent {
3353
3597
  this.mapState.map.geolocationController.followPosition = value;
3354
3598
  }
3355
3599
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: AdvancedMapToolComponent, deps: [{ token: MapState }], target: i0.ɵɵFactoryTarget.Component });
3356
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.5", type: AdvancedMapToolComponent, isStandalone: true, selector: "igo-advanced-map-tool", ngImport: i0, template: "<h4 class=\"nameOfTool\">\n {{\n 'igo.integration.advanced-map-tool.advanced-swipe.swipe-tool' | translate\n }}\n</h4>\n<igo-advanced-swipe></igo-advanced-swipe>\n<mat-divider class=\"advanced-tool-line\"></mat-divider>\n<h4 class=\"nameOfTool\">\n {{\n 'igo.integration.advanced-map-tool.advanced-coordinates.coordinates'\n | translate\n }}\n</h4>\n<igo-advanced-coordinates></igo-advanced-coordinates>\n<mat-divider class=\"advanced-tool-line\"></mat-divider>\n\n<h4 class=\"nameOfTool\">\n {{ 'igo.integration.advanced-map-tool.geolocation.title' | translate }}\n</h4>\n\n<div class=\"igo-input-container\">\n <div class=\"geolocation-slide-toggle-container\">\n <mat-slide-toggle\n class=\"geolocation-option\"\n [checked]=\"tracking$ | async\"\n [labelPosition]=\"'before'\"\n (change)=\"toggleTracking($event.checked)\"\n >\n {{ 'igo.integration.advanced-map-tool.geolocation.tracking' | translate }}\n </mat-slide-toggle>\n\n <mat-slide-toggle\n class=\"geolocation-option\"\n [disabled]=\"(tracking$ | async) !== true\"\n [labelPosition]=\"'before'\"\n [checked]=\"followPosition$ | async\"\n (change)=\"toggleFollow($event.checked)\"\n >\n {{ 'igo.integration.advanced-map-tool.geolocation.follow' | translate }}\n </mat-slide-toggle>\n </div>\n</div>\n", styles: [":host{display:block;padding:0 16px 12px}.nameOfTool{text-align:center;font-weight:700;font-size:small;margin:12px 0 8px}.advanced-tool-line{height:2px;background-color:gray}.geolocation-slide-toggle-container{display:flex;flex-direction:column;padding:12px 0}.geolocation-slide-toggle-container mat-slide-toggle{flex:1}.geolocation-slide-toggle-container mat-slide-toggle:not(:last-child){margin-bottom:16px}.geolocation-slide-toggle-container mat-slide-toggle ::ng-deep .mdc-form-field{display:flex;justify-content:space-between}.geolocation-slide-toggle-container mat-slide-toggle ::ng-deep .mdc-label{flex:1}mat-divider{margin:0 -16px}\n"], dependencies: [{ kind: "component", type: AdvancedSwipeComponent, selector: "igo-advanced-swipe" }, { kind: "ngmodule", type: MatDividerModule }, { kind: "component", type: i6$3.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { kind: "component", type: AdvancedCoordinatesComponent, selector: "igo-advanced-coordinates", inputs: ["projectionsLimitations"] }, { kind: "ngmodule", type: MatSlideToggleModule }, { kind: "component", type: i13.MatSlideToggle, selector: "mat-slide-toggle", inputs: ["name", "id", "labelPosition", "aria-label", "aria-labelledby", "aria-describedby", "required", "color", "disabled", "disableRipple", "tabIndex", "checked", "hideIcon", "disabledInteractive"], outputs: ["change", "toggleChange"], exportAs: ["matSlideToggle"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "ngmodule", type: IgoLanguageModule }, { kind: "pipe", type: i9.TranslatePipe, name: "translate" }] });
3600
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.5", type: AdvancedMapToolComponent, isStandalone: true, selector: "igo-advanced-map-tool", ngImport: i0, template: "<h4 class=\"nameOfTool\">\n {{\n 'igo.integration.advanced-map-tool.advanced-swipe.swipe-tool' | translate\n }}\n</h4>\n<igo-advanced-swipe></igo-advanced-swipe>\n<mat-divider class=\"advanced-tool-line\"></mat-divider>\n<h4 class=\"nameOfTool\">\n {{\n 'igo.integration.advanced-map-tool.advanced-coordinates.coordinates'\n | translate\n }}\n</h4>\n<igo-advanced-coordinates></igo-advanced-coordinates>\n<mat-divider class=\"advanced-tool-line\"></mat-divider>\n\n<h4 class=\"nameOfTool\">\n {{ 'igo.integration.advanced-map-tool.geolocation.title' | translate }}\n</h4>\n\n<div class=\"igo-input-container\">\n <div class=\"geolocation-slide-toggle-container\">\n <mat-slide-toggle\n class=\"geolocation-option\"\n [checked]=\"tracking$ | async\"\n [labelPosition]=\"'before'\"\n (change)=\"toggleTracking($event.checked)\"\n >\n {{ 'igo.integration.advanced-map-tool.geolocation.tracking' | translate }}\n </mat-slide-toggle>\n\n <mat-slide-toggle\n class=\"geolocation-option\"\n [disabled]=\"(tracking$ | async) !== true\"\n [labelPosition]=\"'before'\"\n [checked]=\"followPosition$ | async\"\n (change)=\"toggleFollow($event.checked)\"\n >\n {{ 'igo.integration.advanced-map-tool.geolocation.follow' | translate }}\n </mat-slide-toggle>\n </div>\n</div>\n", styles: [":host{display:block;padding:0 16px 12px}.nameOfTool{text-align:center;font-weight:700;font-size:small;margin:12px 0 8px}.advanced-tool-line{height:2px;background-color:gray}.geolocation-slide-toggle-container{display:flex;flex-direction:column;padding:12px 0}.geolocation-slide-toggle-container mat-slide-toggle{flex:1}.geolocation-slide-toggle-container mat-slide-toggle:not(:last-child){margin-bottom:16px}.geolocation-slide-toggle-container mat-slide-toggle ::ng-deep .mdc-form-field{display:flex;justify-content:space-between}.geolocation-slide-toggle-container mat-slide-toggle ::ng-deep .mdc-label{flex:1}mat-divider{margin:0 -16px}\n"], dependencies: [{ kind: "component", type: AdvancedSwipeComponent, selector: "igo-advanced-swipe" }, { kind: "ngmodule", type: MatDividerModule }, { kind: "component", type: i6$2.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { kind: "component", type: AdvancedCoordinatesComponent, selector: "igo-advanced-coordinates", inputs: ["projectionsLimitations"] }, { kind: "ngmodule", type: MatSlideToggleModule }, { kind: "component", type: i13.MatSlideToggle, selector: "mat-slide-toggle", inputs: ["name", "id", "labelPosition", "aria-label", "aria-labelledby", "aria-describedby", "required", "color", "disabled", "disableRipple", "tabIndex", "checked", "hideIcon", "disabledInteractive"], outputs: ["change", "toggleChange"], exportAs: ["matSlideToggle"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "ngmodule", type: IgoLanguageModule }, { kind: "pipe", type: i9.TranslatePipe, name: "translate" }] });
3357
3601
  };
3358
3602
  AdvancedMapToolComponent = __decorate([
3359
3603
  ToolComponent({
@@ -3418,7 +3662,7 @@ class WorkspaceButtonComponent {
3418
3662
  }
3419
3663
  }
3420
3664
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: WorkspaceButtonComponent, deps: [{ token: WorkspaceState }], target: i0.ɵɵFactoryTarget.Component });
3421
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.5", type: WorkspaceButtonComponent, isStandalone: true, selector: "igo-workspace-button", inputs: { layer: "layer", color: "color" }, ngImport: i0, template: "<button\n *ngIf=\"hasWorkspace$ | async\"\n mat-icon-button\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"'igo.integration.workspace.toggleWorkspace' | translate\"\n [color]=\"color\"\n (click)=\"activateWorkspace()\"\n>\n <mat-icon>table</mat-icon>\n</button>\n", styles: [""], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i5.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i6$1.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "ngmodule", type: IgoLanguageModule }, { kind: "pipe", type: i9.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
3665
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.5", type: WorkspaceButtonComponent, isStandalone: true, selector: "igo-workspace-button", inputs: { layer: "layer", color: "color" }, ngImport: i0, template: "<button\n *ngIf=\"hasWorkspace$ | async\"\n mat-icon-button\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"'igo.integration.workspace.toggleWorkspace' | translate\"\n [color]=\"color\"\n (click)=\"activateWorkspace()\"\n>\n <mat-icon>table</mat-icon>\n</button>\n", styles: [""], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i7.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i8.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "ngmodule", type: IgoLanguageModule }, { kind: "pipe", type: i9.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
3422
3666
  }
3423
3667
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: WorkspaceButtonComponent, decorators: [{
3424
3668
  type: Component,
@@ -3551,7 +3795,7 @@ let MapDetailsToolComponent = class MapDetailsToolComponent {
3551
3795
  });
3552
3796
  }
3553
3797
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: MapDetailsToolComponent, deps: [{ token: MapState }, { token: ToolState }, { token: i1$1.SearchSourceService }, { token: ImportExportState }, { token: i6.ConfigService }, { token: i3$1.MediaService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
3554
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.5", type: MapDetailsToolComponent, isStandalone: true, selector: "igo-map-details-tool", inputs: { toggleLegendOnVisibilityChange: "toggleLegendOnVisibilityChange", expandLegendOfVisibleLayers: "expandLegendOfVisibleLayers", updateLegendOnResolutionChange: "updateLegendOnResolutionChange", ogcButton: "ogcButton", timeButton: "timeButton", layerListControls: "layerListControls", queryBadge: "queryBadge", layerAdditionAllowed: "layerAdditionAllowed" }, ngImport: i0, template: "<igo-layer-viewer\n class=\"mapDetailsList\"\n *ngIf=\"(layers$ | async).length; else empty\"\n [map]=\"map\"\n [options]=\"layerViewerOptions\"\n [excludeBaseLayers]=\"excludeBaseLayers\"\n [isDesktop]=\"isDesktop\"\n>\n <ng-template #customBottomActions let-layer=\"layer\">\n <igo-workspace-button [layer]=\"layer\"></igo-workspace-button>\n <igo-export-button\n [layer]=\"layer\"\n (click)=\"activateExport(layer)\"\n ></igo-export-button>\n <igo-ogc-filter-button\n [header]=\"ogcButton\"\n [layer]=\"layer\"\n ></igo-ogc-filter-button>\n <igo-time-filter-button\n [header]=\"timeButton\"\n [layer]=\"layer\"\n ></igo-time-filter-button>\n <igo-track-feature-button\n [trackFeature]=\"true\"\n [layer]=\"layer\"\n ></igo-track-feature-button>\n <igo-metadata-button [layer]=\"layer\"></igo-metadata-button>\n </ng-template>\n</igo-layer-viewer>\n\n<ng-template #empty>\n <mat-list *ngIf=\"delayedShowEmptyMapContent\">\n <p class=\"map-empty mat-typography\">\n {{ 'igo.integration.mapTool.empty' | translate }}\n </p>\n <p\n *ngIf=\"\n layerAdditionAllowed &&\n (searchToolInToolbar || catalogToolInToolbar || contextToolInToolbar)\n \"\n class=\"map-empty mat-typography\"\n >\n {{ 'igo.integration.mapTool.customize' | translate }}\n </p>\n <mat-list-item *ngIf=\"layerAdditionAllowed && searchToolInToolbar\">\n <mat-icon matListItemIcon>search</mat-icon>\n <span\n matListItemTitle\n class=\"search-tool mat-typography\"\n (click)=\"searchEmit()\"\n >\n {{ 'igo.integration.mapTool.search-tool' | translate }}\n </span>\n </mat-list-item>\n <mat-list-item *ngIf=\"layerAdditionAllowed && catalogToolInToolbar\">\n <mat-icon matListItemIcon>library_add</mat-icon>\n <span\n matListItemTitle\n class=\"catalog-tool mat-typography\"\n (click)=\"catalogEmit()\"\n >\n {{ 'igo.integration.mapTool.catalog-tool' | translate }}\n </span>\n </mat-list-item>\n <mat-list-item *ngIf=\"layerAdditionAllowed && contextToolInToolbar\">\n <mat-icon matListItemIcon>star</mat-icon>\n <span\n matListItemTitle\n class=\"context-tool mat-typography\"\n (click)=\"contextEmit()\"\n >\n {{ 'igo.integration.mapTool.context-tool' | translate }}\n </span>\n </mat-list-item>\n </mat-list>\n</ng-template>\n", styles: [":host .map-empty,:host .search-tool,:host .catalog-tool,:host .context-tool{margin:10px}:host .map-empty{text-align:justify}:host .search-tool,:host .catalog-tool,:host .context-tool{cursor:pointer}:host mat-list mat-list-item h4{font-weight:700}:host mat-list-item ::ng-deep .mdc-list-item__primary-text{font-size:smaller}:host mat-list.mat-mdc-list-base mat-list-item.mat-mdc-list-item ::ng-deep div.mdc-list-item__content div.mdc-list-item__primary-text{padding-left:5px}:host .mapDetailsList{overflow:hidden}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: LayerViewerComponent, selector: "igo-layer-viewer", inputs: ["map", "options", "isDesktop", "excludeBaseLayers"], outputs: ["appliedFilterAndSort"] }, { kind: "component", type: WorkspaceButtonComponent, selector: "igo-workspace-button", inputs: ["layer", "color"] }, { kind: "component", type: ExportButtonComponent, selector: "igo-export-button", inputs: ["layer", "color"] }, { kind: "component", type: OgcFilterButtonComponent, selector: "igo-ogc-filter-button", inputs: ["layer", "map", "color", "header"] }, { kind: "component", type: TimeFilterButtonComponent, selector: "igo-time-filter-button", inputs: ["layer", "map", "color", "header"] }, { kind: "component", type: TrackFeatureButtonComponent, selector: "igo-track-feature-button", inputs: ["layer", "trackFeature"] }, { kind: "component", type: MetadataButtonComponent, selector: "igo-metadata-button", inputs: ["layer", "color"] }, { kind: "ngmodule", type: MatListModule }, { kind: "component", type: i8$2.MatList, selector: "mat-list", exportAs: ["matList"] }, { kind: "component", type: i8$2.MatListItem, selector: "mat-list-item, a[mat-list-item], button[mat-list-item]", inputs: ["activated"], exportAs: ["matListItem"] }, { kind: "directive", type: i8$2.MatListItemIcon, selector: "[matListItemIcon]" }, { kind: "directive", type: i8$2.MatListItemTitle, selector: "[matListItemTitle]" }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "ngmodule", type: IgoLanguageModule }, { kind: "pipe", type: i9.TranslatePipe, name: "translate" }] });
3798
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.5", type: MapDetailsToolComponent, isStandalone: true, selector: "igo-map-details-tool", inputs: { toggleLegendOnVisibilityChange: "toggleLegendOnVisibilityChange", expandLegendOfVisibleLayers: "expandLegendOfVisibleLayers", updateLegendOnResolutionChange: "updateLegendOnResolutionChange", ogcButton: "ogcButton", timeButton: "timeButton", layerListControls: "layerListControls", queryBadge: "queryBadge", layerAdditionAllowed: "layerAdditionAllowed" }, ngImport: i0, template: "<igo-layer-viewer\n class=\"mapDetailsList\"\n *ngIf=\"(layers$ | async).length; else empty\"\n [map]=\"map\"\n [options]=\"layerViewerOptions\"\n [excludeBaseLayers]=\"excludeBaseLayers\"\n [isDesktop]=\"isDesktop\"\n>\n <ng-template #customBottomActions let-layer=\"layer\">\n <igo-workspace-button [layer]=\"layer\"></igo-workspace-button>\n <igo-export-button\n [layer]=\"layer\"\n (click)=\"activateExport(layer)\"\n ></igo-export-button>\n <igo-ogc-filter-button\n [header]=\"ogcButton\"\n [layer]=\"layer\"\n ></igo-ogc-filter-button>\n <igo-time-filter-button\n [header]=\"timeButton\"\n [layer]=\"layer\"\n ></igo-time-filter-button>\n <igo-track-feature-button\n [trackFeature]=\"true\"\n [layer]=\"layer\"\n ></igo-track-feature-button>\n <igo-metadata-button [layer]=\"layer\"></igo-metadata-button>\n </ng-template>\n</igo-layer-viewer>\n\n<ng-template #empty>\n <mat-list *ngIf=\"delayedShowEmptyMapContent\">\n <p class=\"map-empty mat-typography\">\n {{ 'igo.integration.mapTool.empty' | translate }}\n </p>\n <p\n *ngIf=\"\n layerAdditionAllowed &&\n (searchToolInToolbar || catalogToolInToolbar || contextToolInToolbar)\n \"\n class=\"map-empty mat-typography\"\n >\n {{ 'igo.integration.mapTool.customize' | translate }}\n </p>\n <mat-list-item *ngIf=\"layerAdditionAllowed && searchToolInToolbar\">\n <mat-icon matListItemIcon>search</mat-icon>\n <span\n matListItemTitle\n class=\"search-tool mat-typography\"\n (click)=\"searchEmit()\"\n >\n {{ 'igo.integration.mapTool.search-tool' | translate }}\n </span>\n </mat-list-item>\n <mat-list-item *ngIf=\"layerAdditionAllowed && catalogToolInToolbar\">\n <mat-icon matListItemIcon>library_add</mat-icon>\n <span\n matListItemTitle\n class=\"catalog-tool mat-typography\"\n (click)=\"catalogEmit()\"\n >\n {{ 'igo.integration.mapTool.catalog-tool' | translate }}\n </span>\n </mat-list-item>\n <mat-list-item *ngIf=\"layerAdditionAllowed && contextToolInToolbar\">\n <mat-icon matListItemIcon>star</mat-icon>\n <span\n matListItemTitle\n class=\"context-tool mat-typography\"\n (click)=\"contextEmit()\"\n >\n {{ 'igo.integration.mapTool.context-tool' | translate }}\n </span>\n </mat-list-item>\n </mat-list>\n</ng-template>\n", styles: [":host .map-empty,:host .search-tool,:host .catalog-tool,:host .context-tool{margin:10px}:host .map-empty{text-align:justify}:host .search-tool,:host .catalog-tool,:host .context-tool{cursor:pointer}:host mat-list mat-list-item h4{font-weight:700}:host mat-list-item ::ng-deep .mdc-list-item__primary-text{font-size:smaller}:host mat-list.mat-mdc-list-base mat-list-item.mat-mdc-list-item ::ng-deep div.mdc-list-item__content div.mdc-list-item__primary-text{padding-left:5px}:host .mapDetailsList{overflow:hidden}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: LayerViewerComponent, selector: "igo-layer-viewer", inputs: ["map", "options", "isDesktop", "excludeBaseLayers"], outputs: ["appliedFilterAndSort"] }, { kind: "component", type: WorkspaceButtonComponent, selector: "igo-workspace-button", inputs: ["layer", "color"] }, { kind: "component", type: ExportButtonComponent, selector: "igo-export-button", inputs: ["layer", "color"] }, { kind: "component", type: OgcFilterButtonComponent, selector: "igo-ogc-filter-button", inputs: ["layer", "map", "color", "header"] }, { kind: "component", type: TimeFilterButtonComponent, selector: "igo-time-filter-button", inputs: ["layer", "map", "color", "header"] }, { kind: "component", type: TrackFeatureButtonComponent, selector: "igo-track-feature-button", inputs: ["layer", "trackFeature"] }, { kind: "component", type: MetadataButtonComponent, selector: "igo-metadata-button", inputs: ["layer", "color"] }, { kind: "ngmodule", type: MatListModule }, { kind: "component", type: i8$3.MatList, selector: "mat-list", exportAs: ["matList"] }, { kind: "component", type: i8$3.MatListItem, selector: "mat-list-item, a[mat-list-item], button[mat-list-item]", inputs: ["activated"], exportAs: ["matListItem"] }, { kind: "directive", type: i8$3.MatListItemIcon, selector: "[matListItemIcon]" }, { kind: "directive", type: i8$3.MatListItemTitle, selector: "[matListItemTitle]" }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "ngmodule", type: IgoLanguageModule }, { kind: "pipe", type: i9.TranslatePipe, name: "translate" }] });
3555
3799
  };
3556
3800
  MapDetailsToolComponent = __decorate([
3557
3801
  ToolComponent({
@@ -3621,10 +3865,10 @@ let MapLegendToolComponent = class MapLegendToolComponent {
3621
3865
  return this.mapState.map;
3622
3866
  }
3623
3867
  get visibleOrInRangeLayers$() {
3624
- return this.layers$.pipe(map$1((layers) => layers.filter((layer) => layer.displayed)));
3868
+ return this.layers$.pipe(map((layers) => layers.filter((layer) => layer.displayed)));
3625
3869
  }
3626
3870
  get visibleLayers$() {
3627
- return this.layers$.pipe(map$1((layers) => layers.filter((layer) => layer.visible)));
3871
+ return this.layers$.pipe(map((layers) => layers.filter((layer) => layer.visible)));
3628
3872
  }
3629
3873
  get excludeBaseLayers() {
3630
3874
  return this.layerListControls.excludeBaseLayers || false;
@@ -3710,7 +3954,7 @@ let MapLegendToolComponent = class MapLegendToolComponent {
3710
3954
  this.toolState.toolbox.activateTool('contextManager');
3711
3955
  }
3712
3956
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: MapLegendToolComponent, deps: [{ token: MapState }, { token: ToolState }, { token: i1$1.SearchSourceService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
3713
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.5", type: MapLegendToolComponent, isStandalone: true, selector: "igo-map-legend-tool", inputs: { updateLegendOnResolutionChange: "updateLegendOnResolutionChange", layerAdditionAllowed: "layerAdditionAllowed", allowShowAllLegends: "allowShowAllLegends", showAllLegendsValue: "showAllLegendsValue", layerListControls: "layerListControls" }, ngImport: i0, template: "<igo-layer-legend-list\n *ngIf=\"showAllLegend()\"\n igoLayerLegendListBinding\n [excludeBaseLayers]=\"excludeBaseLayers\"\n [allowShowAllLegends]=\"allowShowAllLegends\"\n [updateLegendOnResolutionChange]=\"updateLegendOnResolutionChange\"\n [showAllLegendsValue]=\"showAllLegendsValue$ | async\"\n (allLegendsShown)=\"onShowAllLegends($event)\"\n>\n</igo-layer-legend-list>\n<ng-template\n *ngIf=\"(layers$ | async).length !== 0; else emptyLayers\"\n></ng-template>\n\n<p\n class=\"map-empty mat-typography\"\n *ngIf=\"\n !allowShowAllLegends &&\n (layers$ | async).length !== 0 &&\n (visibleOrInRangeLayers$ | async).length === 0\n \"\n>\n {{\n (visibleLayers$ | async).length\n ? ('igo.integration.mapTool.noLayersInRange' | translate)\n : ('igo.integration.mapTool.noLayersVisible' | translate)\n }}\n</p>\n\n<ng-template #emptyLayers>\n <mat-list *ngIf=\"delayedShowEmptyMapContent\">\n <p class=\"map-empty mat-typography\">\n {{ 'igo.integration.mapTool.empty' | translate }}\n </p>\n <p\n *ngIf=\"\n layerAdditionAllowed &&\n (searchToolInToolbar || catalogToolInToolbar || contextToolInToolbar)\n \"\n class=\"map-empty mat-typography\"\n >\n {{ 'igo.integration.mapTool.customize' | translate }}\n </p>\n\n <mat-list-item *ngIf=\"layerAdditionAllowed && searchToolInToolbar\">\n <mat-icon matListItemIcon>search</mat-icon>\n <span\n matListItemTitle\n class=\"search-tool mat-typography\"\n (click)=\"searchEmit()\"\n >\n {{ 'igo.integration.mapTool.search-tool' | translate }}\n </span>\n </mat-list-item>\n <mat-list-item *ngIf=\"layerAdditionAllowed && catalogToolInToolbar\">\n <mat-icon matListItemIcon>library_add</mat-icon>\n <span\n matListItemTitle\n class=\"catalog-tool mat-typography\"\n (click)=\"catalogEmit()\"\n >\n {{ 'igo.integration.mapTool.catalog-tool' | translate }}\n </span>\n </mat-list-item>\n <mat-list-item *ngIf=\"layerAdditionAllowed && contextToolInToolbar\">\n <mat-icon matListItemIcon>star</mat-icon>\n <span\n matListItemTitle\n class=\"context-tool mat-typography\"\n (click)=\"contextEmit()\"\n >\n {{ 'igo.integration.mapTool.context-tool' | translate }}\n </span>\n </mat-list-item>\n </mat-list>\n</ng-template>\n", styles: [":host .map-empty,:host .search-tool,:host .catalog-tool,:host .context-tool{margin:10px}:host .map-empty{text-align:justify}:host .search-tool,:host .catalog-tool,:host .context-tool{cursor:pointer}:host mat-list mat-list-item h4{font-weight:700}:host mat-list-item ::ng-deep .mdc-list-item__primary-text{font-size:smaller}:host mat-list.mat-mdc-list-base mat-list-item.mat-mdc-list-item ::ng-deep div.mdc-list-item__content div.mdc-list-item__primary-text{padding-left:5px}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: LayerLegendListComponent, selector: "igo-layer-legend-list", inputs: ["layers", "excludeBaseLayers", "updateLegendOnResolutionChange", "allowShowAllLegends", "showAllLegendsValue"], outputs: ["allLegendsShown"] }, { kind: "directive", type: LayerLegendListBindingDirective, selector: "[igoLayerLegendListBinding]" }, { kind: "ngmodule", type: MatListModule }, { kind: "component", type: i8$2.MatList, selector: "mat-list", exportAs: ["matList"] }, { kind: "component", type: i8$2.MatListItem, selector: "mat-list-item, a[mat-list-item], button[mat-list-item]", inputs: ["activated"], exportAs: ["matListItem"] }, { kind: "directive", type: i8$2.MatListItemIcon, selector: "[matListItemIcon]" }, { kind: "directive", type: i8$2.MatListItemTitle, selector: "[matListItemTitle]" }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "ngmodule", type: IgoLanguageModule }, { kind: "pipe", type: i9.TranslatePipe, name: "translate" }] });
3957
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.5", type: MapLegendToolComponent, isStandalone: true, selector: "igo-map-legend-tool", inputs: { updateLegendOnResolutionChange: "updateLegendOnResolutionChange", layerAdditionAllowed: "layerAdditionAllowed", allowShowAllLegends: "allowShowAllLegends", showAllLegendsValue: "showAllLegendsValue", layerListControls: "layerListControls" }, ngImport: i0, template: "<igo-layer-legend-list\n *ngIf=\"showAllLegend()\"\n igoLayerLegendListBinding\n [excludeBaseLayers]=\"excludeBaseLayers\"\n [allowShowAllLegends]=\"allowShowAllLegends\"\n [updateLegendOnResolutionChange]=\"updateLegendOnResolutionChange\"\n [showAllLegendsValue]=\"showAllLegendsValue$ | async\"\n (allLegendsShown)=\"onShowAllLegends($event)\"\n>\n</igo-layer-legend-list>\n<ng-template\n *ngIf=\"(layers$ | async).length !== 0; else emptyLayers\"\n></ng-template>\n\n<p\n class=\"map-empty mat-typography\"\n *ngIf=\"\n !allowShowAllLegends &&\n (layers$ | async).length !== 0 &&\n (visibleOrInRangeLayers$ | async).length === 0\n \"\n>\n {{\n (visibleLayers$ | async).length\n ? ('igo.integration.mapTool.noLayersInRange' | translate)\n : ('igo.integration.mapTool.noLayersVisible' | translate)\n }}\n</p>\n\n<ng-template #emptyLayers>\n <mat-list *ngIf=\"delayedShowEmptyMapContent\">\n <p class=\"map-empty mat-typography\">\n {{ 'igo.integration.mapTool.empty' | translate }}\n </p>\n <p\n *ngIf=\"\n layerAdditionAllowed &&\n (searchToolInToolbar || catalogToolInToolbar || contextToolInToolbar)\n \"\n class=\"map-empty mat-typography\"\n >\n {{ 'igo.integration.mapTool.customize' | translate }}\n </p>\n\n <mat-list-item *ngIf=\"layerAdditionAllowed && searchToolInToolbar\">\n <mat-icon matListItemIcon>search</mat-icon>\n <span\n matListItemTitle\n class=\"search-tool mat-typography\"\n (click)=\"searchEmit()\"\n >\n {{ 'igo.integration.mapTool.search-tool' | translate }}\n </span>\n </mat-list-item>\n <mat-list-item *ngIf=\"layerAdditionAllowed && catalogToolInToolbar\">\n <mat-icon matListItemIcon>library_add</mat-icon>\n <span\n matListItemTitle\n class=\"catalog-tool mat-typography\"\n (click)=\"catalogEmit()\"\n >\n {{ 'igo.integration.mapTool.catalog-tool' | translate }}\n </span>\n </mat-list-item>\n <mat-list-item *ngIf=\"layerAdditionAllowed && contextToolInToolbar\">\n <mat-icon matListItemIcon>star</mat-icon>\n <span\n matListItemTitle\n class=\"context-tool mat-typography\"\n (click)=\"contextEmit()\"\n >\n {{ 'igo.integration.mapTool.context-tool' | translate }}\n </span>\n </mat-list-item>\n </mat-list>\n</ng-template>\n", styles: [":host .map-empty,:host .search-tool,:host .catalog-tool,:host .context-tool{margin:10px}:host .map-empty{text-align:justify}:host .search-tool,:host .catalog-tool,:host .context-tool{cursor:pointer}:host mat-list mat-list-item h4{font-weight:700}:host mat-list-item ::ng-deep .mdc-list-item__primary-text{font-size:smaller}:host mat-list.mat-mdc-list-base mat-list-item.mat-mdc-list-item ::ng-deep div.mdc-list-item__content div.mdc-list-item__primary-text{padding-left:5px}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: LayerLegendListComponent, selector: "igo-layer-legend-list", inputs: ["layers", "excludeBaseLayers", "updateLegendOnResolutionChange", "allowShowAllLegends", "showAllLegendsValue"], outputs: ["allLegendsShown"] }, { kind: "directive", type: LayerLegendListBindingDirective, selector: "[igoLayerLegendListBinding]" }, { kind: "ngmodule", type: MatListModule }, { kind: "component", type: i8$3.MatList, selector: "mat-list", exportAs: ["matList"] }, { kind: "component", type: i8$3.MatListItem, selector: "mat-list-item, a[mat-list-item], button[mat-list-item]", inputs: ["activated"], exportAs: ["matListItem"] }, { kind: "directive", type: i8$3.MatListItemIcon, selector: "[matListItemIcon]" }, { kind: "directive", type: i8$3.MatListItemTitle, selector: "[matListItemTitle]" }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "ngmodule", type: IgoLanguageModule }, { kind: "pipe", type: i9.TranslatePipe, name: "translate" }] });
3714
3958
  };
3715
3959
  MapLegendToolComponent = __decorate([
3716
3960
  ToolComponent({
@@ -3901,7 +4145,7 @@ class MapProximityState {
3901
4145
  }
3902
4146
  return label;
3903
4147
  }
3904
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: MapProximityState, deps: [{ token: MapState }, { token: i2$2.StorageService }], target: i0.ɵɵFactoryTarget.Injectable });
4148
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: MapProximityState, deps: [{ token: MapState }, { token: i5.StorageService }], target: i0.ɵɵFactoryTarget.Injectable });
3905
4149
  static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: MapProximityState, providedIn: 'root' });
3906
4150
  }
3907
4151
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: MapProximityState, decorators: [{
@@ -3909,7 +4153,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImpor
3909
4153
  args: [{
3910
4154
  providedIn: 'root'
3911
4155
  }]
3912
- }], ctorParameters: () => [{ type: MapState }, { type: i2$2.StorageService }] });
4156
+ }], ctorParameters: () => [{ type: MapState }, { type: i5.StorageService }] });
3913
4157
 
3914
4158
  let MapProximityToolComponent = class MapProximityToolComponent {
3915
4159
  clipboard;
@@ -3999,7 +4243,7 @@ let MapProximityToolComponent = class MapProximityToolComponent {
3999
4243
  }
4000
4244
  }
4001
4245
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: MapProximityToolComponent, deps: [{ token: i1$4.Clipboard }, { token: MapState }, { token: MapProximityState }, { token: i2$1.LanguageService }, { token: i4.MessageService }], target: i0.ɵɵFactoryTarget.Component });
4002
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.5", type: MapProximityToolComponent, isStandalone: true, selector: "igo-map-proximity-tool", viewQueries: [{ propertyName: "table", first: true, predicate: ["table"], descendants: true, static: true }], ngImport: i0, template: "<igo-entity-table\n #table\n class=\"table-compact\"\n [store]=\"mapProximityState.proximityFeatureStore\"\n [template]=\"tableTemplate\"\n></igo-entity-table>\n<br />\n<mat-form-field\n *ngIf=\"mapProximityState.currentPositionCoordinate$ | async as coord\"\n class=\"coordinates\"\n>\n <textarea\n #textArea\n matInput\n readonly\n rows=\"1\"\n [placeholder]=\"'igo.integration.map-proximity-tool.lon' | translate\"\n [value]=\"coord[0]\"\n ></textarea>\n</mat-form-field>\n<mat-form-field\n *ngIf=\"mapProximityState.currentPositionCoordinate$ | async as coord2\"\n class=\"coordinates2\"\n>\n <textarea\n #textArea\n matInput\n readonly\n rows=\"1\"\n [placeholder]=\"'igo.integration.map-proximity-tool.lat' | translate\"\n [value]=\"coord2[1]\"\n ></textarea>\n</mat-form-field>\n\n<button\n *ngIf=\"\n (mapProximityState.currentPositionCoordinate$ | async) &&\n (mapProximityState.currentPositionCoordinate$ | async).length\n \"\n mat-icon-button\n (click)=\"copyTextToClipboard()\"\n>\n <mat-icon>content_copy</mat-icon>\n</button>\n<div class=\"title-container\">\n <mat-label class=\"title mat-typography\">{{\n 'igo.integration.map-proximity-tool.method' | translate\n }}</mat-label>\n</div>\n<div class=\"igo-input-container mat-typography\">\n <mat-radio-group (change)=\"onLocationTypeChange($event)\">\n <mat-radio-button\n [checked]=\"\n (mapProximityState.proximitylocationType$ | async) === 'geolocation'\n \"\n value=\"geolocation\"\n >{{\n 'igo.integration.map-proximity-tool.geolocation' | translate\n }}</mat-radio-button\n >\n <mat-radio-button\n [checked]=\"\n (mapProximityState.proximitylocationType$ | async) === 'mapCenter'\n \"\n value=\"mapCenter\"\n >{{\n 'igo.integration.map-proximity-tool.mapCenter' | translate\n }}</mat-radio-button\n >\n </mat-radio-group>\n</div>\n\n<div class=\"radius-unit\">\n <mat-form-field class=\"radius-field\" floatLabel=\"always\">\n <mat-label>{{\n 'igo.integration.map-proximity-tool.radiusM' | translate\n }}</mat-label>\n <input\n type=\"number\"\n pattern=\"[0-9]*\"\n [(ngModel)]=\"maxDistance\"\n matInput\n placeholder=\"{{\n 'igo.integration.map-proximity-tool.radiusM' | translate\n }}\"\n />\n </mat-form-field>\n</div>\n", styles: [":host .table-compact{height:auto}:host .table-compact ::ng-deep .mat-mdc-header-cell.mat-column-selectionCheckbox{width:52px}:host textarea{resize:none}:host mat-form-field{padding:10px 15px}:host mat-form-field.coordinates{width:110px}:host mat-form-field.coordinates2{width:100px;padding:0 10px 0 3px}:host mat-form-field.igo-input-container{width:60%;padding:0 15px}:host .radius-unit{display:flex;width:90%;margin-left:2px;padding:5px}:host .radius-unit mat-form-field.radius-field{display:flex;flex-flow:column nowrap;width:100%}:host .title-container{padding:10px}:host .title{margin-left:5px;font-size:initial}:host .mat-mdc-radio-group{display:flex;flex-direction:column}:host .mat-mdc-radio-button{display:inline-flex;position:relative;margin-left:12px}\n"], dependencies: [{ kind: "component", type: EntityTableComponent, selector: "igo-entity-table", inputs: ["store", "paginator", "template", "scrollBehavior", "sortNullsFirst", "withPaginator", "paginatorOptions"], outputs: ["entityClick", "entitySelectChange", "entitySortChange"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: MatFormFieldModule }, { kind: "component", type: i8$1.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i8$1.MatLabel, selector: "mat-label" }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i9$1.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly", "disabledInteractive"], exportAs: ["matInput"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i5.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatRadioModule }, { kind: "directive", type: i10.MatRadioGroup, selector: "mat-radio-group", inputs: ["color", "name", "labelPosition", "value", "selected", "disabled", "required", "disabledInteractive"], outputs: ["change"], exportAs: ["matRadioGroup"] }, { kind: "component", type: i10.MatRadioButton, selector: "mat-radio-button", inputs: ["id", "name", "aria-label", "aria-labelledby", "aria-describedby", "disableRipple", "tabIndex", "checked", "value", "labelPosition", "disabled", "required", "color", "disabledInteractive"], outputs: ["change"], exportAs: ["matRadioButton"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2$4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2$4.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { kind: "directive", type: i2$4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$4.PatternValidator, selector: "[pattern][formControlName],[pattern][formControl],[pattern][ngModel]", inputs: ["pattern"] }, { kind: "directive", type: i2$4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "ngmodule", type: IgoLanguageModule }, { kind: "pipe", type: i9.TranslatePipe, name: "translate" }] });
4246
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.5", type: MapProximityToolComponent, isStandalone: true, selector: "igo-map-proximity-tool", viewQueries: [{ propertyName: "table", first: true, predicate: ["table"], descendants: true, static: true }], ngImport: i0, template: "<igo-entity-table\n #table\n class=\"table-compact\"\n [store]=\"mapProximityState.proximityFeatureStore\"\n [template]=\"tableTemplate\"\n></igo-entity-table>\n<br />\n<mat-form-field\n *ngIf=\"mapProximityState.currentPositionCoordinate$ | async as coord\"\n class=\"coordinates\"\n>\n <textarea\n #textArea\n matInput\n readonly\n rows=\"1\"\n [placeholder]=\"'igo.integration.map-proximity-tool.lon' | translate\"\n [value]=\"coord[0]\"\n ></textarea>\n</mat-form-field>\n<mat-form-field\n *ngIf=\"mapProximityState.currentPositionCoordinate$ | async as coord2\"\n class=\"coordinates2\"\n>\n <textarea\n #textArea\n matInput\n readonly\n rows=\"1\"\n [placeholder]=\"'igo.integration.map-proximity-tool.lat' | translate\"\n [value]=\"coord2[1]\"\n ></textarea>\n</mat-form-field>\n\n<button\n *ngIf=\"\n (mapProximityState.currentPositionCoordinate$ | async) &&\n (mapProximityState.currentPositionCoordinate$ | async).length\n \"\n mat-icon-button\n (click)=\"copyTextToClipboard()\"\n>\n <mat-icon>content_copy</mat-icon>\n</button>\n<div class=\"title-container\">\n <mat-label class=\"title mat-typography\">{{\n 'igo.integration.map-proximity-tool.method' | translate\n }}</mat-label>\n</div>\n<div class=\"igo-input-container mat-typography\">\n <mat-radio-group (change)=\"onLocationTypeChange($event)\">\n <mat-radio-button\n [checked]=\"\n (mapProximityState.proximitylocationType$ | async) === 'geolocation'\n \"\n value=\"geolocation\"\n >{{\n 'igo.integration.map-proximity-tool.geolocation' | translate\n }}</mat-radio-button\n >\n <mat-radio-button\n [checked]=\"\n (mapProximityState.proximitylocationType$ | async) === 'mapCenter'\n \"\n value=\"mapCenter\"\n >{{\n 'igo.integration.map-proximity-tool.mapCenter' | translate\n }}</mat-radio-button\n >\n </mat-radio-group>\n</div>\n\n<div class=\"radius-unit\">\n <mat-form-field class=\"radius-field\" floatLabel=\"always\">\n <mat-label>{{\n 'igo.integration.map-proximity-tool.radiusM' | translate\n }}</mat-label>\n <input\n type=\"number\"\n pattern=\"[0-9]*\"\n [(ngModel)]=\"maxDistance\"\n matInput\n placeholder=\"{{\n 'igo.integration.map-proximity-tool.radiusM' | translate\n }}\"\n />\n </mat-form-field>\n</div>\n", styles: [":host .table-compact{height:auto}:host .table-compact ::ng-deep .mat-mdc-header-cell.mat-column-selectionCheckbox{width:52px}:host textarea{resize:none}:host mat-form-field{padding:10px 15px}:host mat-form-field.coordinates{width:110px}:host mat-form-field.coordinates2{width:100px;padding:0 10px 0 3px}:host mat-form-field.igo-input-container{width:60%;padding:0 15px}:host .radius-unit{display:flex;width:90%;margin-left:2px;padding:5px}:host .radius-unit mat-form-field.radius-field{display:flex;flex-flow:column nowrap;width:100%}:host .title-container{padding:10px}:host .title{margin-left:5px;font-size:initial}:host .mat-mdc-radio-group{display:flex;flex-direction:column}:host .mat-mdc-radio-button{display:inline-flex;position:relative;margin-left:12px}\n"], dependencies: [{ kind: "component", type: EntityTableComponent, selector: "igo-entity-table", inputs: ["store", "paginator", "template", "scrollBehavior", "sortNullsFirst", "withPaginator", "paginatorOptions"], outputs: ["entityClick", "entitySelectChange", "entitySortChange"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: MatFormFieldModule }, { kind: "component", type: i8$2.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i8$2.MatLabel, selector: "mat-label" }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i9$1.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly", "disabledInteractive"], exportAs: ["matInput"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i7.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatRadioModule }, { kind: "directive", type: i10.MatRadioGroup, selector: "mat-radio-group", inputs: ["color", "name", "labelPosition", "value", "selected", "disabled", "required", "disabledInteractive"], outputs: ["change"], exportAs: ["matRadioGroup"] }, { kind: "component", type: i10.MatRadioButton, selector: "mat-radio-button", inputs: ["id", "name", "aria-label", "aria-labelledby", "aria-describedby", "disableRipple", "tabIndex", "checked", "value", "labelPosition", "disabled", "required", "color", "disabledInteractive"], outputs: ["change"], exportAs: ["matRadioButton"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2$3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2$3.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { kind: "directive", type: i2$3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$3.PatternValidator, selector: "[pattern][formControlName],[pattern][formControl],[pattern][ngModel]", inputs: ["pattern"] }, { kind: "directive", type: i2$3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "ngmodule", type: IgoLanguageModule }, { kind: "pipe", type: i9.TranslatePipe, name: "translate" }] });
4003
4247
  };
4004
4248
  MapProximityToolComponent = __decorate([
4005
4249
  ToolComponent({
@@ -4217,10 +4461,10 @@ let MapToolsComponent = class MapToolsComponent {
4217
4461
  }
4218
4462
  queryBadge = false;
4219
4463
  get visibleOrInRangeLayers$() {
4220
- return this.layers$.pipe(map$1((layers) => layers.filter((layer) => layer.displayed)));
4464
+ return this.layers$.pipe(map((layers) => layers.filter((layer) => layer.displayed)));
4221
4465
  }
4222
4466
  get visibleLayers$() {
4223
- return this.layers$.pipe(map$1((layers) => layers.filter((layer) => layer.visible)));
4467
+ return this.layers$.pipe(map((layers) => layers.filter((layer) => layer.visible)));
4224
4468
  }
4225
4469
  get excludeBaseLayers() {
4226
4470
  return this.layerListControls.excludeBaseLayers || false;
@@ -4420,7 +4664,7 @@ let MapToolsComponent = class MapToolsComponent {
4420
4664
  });
4421
4665
  }
4422
4666
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: MapToolsComponent, deps: [{ token: LayerListToolState }, { token: ToolState }, { token: MapState }, { token: i1$1.SearchSourceService }, { token: ImportExportState }, { token: i6.ConfigService }, { token: i3$1.MediaService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
4423
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.5", type: MapToolsComponent, isStandalone: true, selector: "igo-map-tools", inputs: { allowShowAllLegends: "allowShowAllLegends", showAllLegendsValue: "showAllLegendsValue", toggleLegendOnVisibilityChange: "toggleLegendOnVisibilityChange", expandLegendOfVisibleLayers: "expandLegendOfVisibleLayers", updateLegendOnResolutionChange: "updateLegendOnResolutionChange", selectedTabAtOpening: "selectedTabAtOpening", ogcButton: "ogcButton", timeButton: "timeButton", layerAdditionAllowed: "layerAdditionAllowed", layerListControls: "layerListControls", queryBadge: "queryBadge" }, viewQueries: [{ propertyName: "tabGroup", first: true, predicate: ["tabGroup"], descendants: true, static: true }], ngImport: i0, template: "<mat-tab-group\n #tabGroup\n [selectedIndex]=\"layerListToolState.selectedTab$ | async\"\n (selectedTabChange)=\"tabChanged($event)\"\n>\n <mat-tab [label]=\"'igo.integration.tools.layers' | translate\">\n <igo-layer-viewer\n [options]=\"layerViewerOptions\"\n [map]=\"map\"\n [excludeBaseLayers]=\"excludeBaseLayers\"\n [isDesktop]=\"isDesktop\"\n (appliedFilterAndSort)=\"onLayerListChange($event)\"\n >\n <ng-template #customBottomActions let-layer=\"layer\">\n <igo-style-modal-layer-button\n *ngIf=\"isStyleEditButton(layer)\"\n [layer]=\"layer\"\n ></igo-style-modal-layer-button>\n <igo-metadata-button [layer]=\"layer\"></igo-metadata-button>\n <igo-track-feature-button\n [trackFeature]=\"true\"\n [layer]=\"layer\"\n ></igo-track-feature-button>\n <igo-time-filter-button\n *ngIf=\"isTimeFilterButton(layer)\"\n [header]=\"timeButton\"\n [layer]=\"layer\"\n (click)=\"activateTimeFilter()\"\n ></igo-time-filter-button>\n <igo-ogc-filter-button\n *ngIf=\"isOGCFilterButton(layer)\"\n [header]=\"ogcButton\"\n [layer]=\"layer\"\n (click)=\"activateOgcFilter()\"\n ></igo-ogc-filter-button>\n <igo-export-button\n *ngIf=\"isExportButton(layer)\"\n [layer]=\"layer\"\n (click)=\"activateExport(layer)\"\n ></igo-export-button>\n <igo-workspace-button [layer]=\"layer\"></igo-workspace-button>\n </ng-template>\n\n <ng-container ngProjectAs=\"[emptyList]\">\n <ng-template [ngTemplateOutlet]=\"emptyLayers\"></ng-template>\n </ng-container>\n </igo-layer-viewer>\n </mat-tab>\n\n <mat-tab [label]=\"'igo.integration.tools.legend' | translate\">\n <igo-layer-legend-list\n *ngIf=\"showAllLegend()\"\n igoLayerLegendListBinding\n [allowShowAllLegends]=\"allowShowAllLegends\"\n [showAllLegendsValue]=\"showAllLegendsValue$ | async\"\n (allLegendsShown)=\"onShowAllLegends($event)\"\n [excludeBaseLayers]=\"excludeBaseLayers\"\n [updateLegendOnResolutionChange]=\"updateLegendOnResolutionChange\"\n >\n </igo-layer-legend-list>\n <ng-template\n *ngIf=\"(layers$ | async).length !== 0; else emptyLayers\"\n ></ng-template>\n\n <p\n class=\"map-empty mat-typography\"\n *ngIf=\"\n !allowShowAllLegends &&\n (layers$ | async).length !== 0 &&\n (visibleOrInRangeLayers$ | async).length === 0\n \"\n >\n {{\n (visibleLayers$ | async).length\n ? ('igo.integration.mapTool.noLayersInRange' | translate)\n : ('igo.integration.mapTool.noLayersVisible' | translate)\n }}\n </p>\n </mat-tab>\n\n <ng-template #emptyLayers>\n <mat-list *ngIf=\"delayedShowEmptyMapContent\">\n <p class=\"map-empty mat-typography\">\n {{ 'igo.integration.mapTool.empty' | translate }}\n </p>\n <p\n *ngIf=\"\n layerAdditionAllowed &&\n (searchToolInToolbar || catalogToolInToolbar || contextToolInToolbar)\n \"\n class=\"map-empty mat-typography\"\n >\n {{ 'igo.integration.mapTool.customize' | translate }}\n </p>\n\n <mat-list-item *ngIf=\"layerAdditionAllowed && searchToolInToolbar\">\n <mat-icon matListItemIcon>search</mat-icon>\n <span\n matListItemTitle\n class=\"search-tool mat-typography\"\n (click)=\"searchEmit()\"\n >\n {{ 'igo.integration.mapTool.search-tool' | translate }}\n </span>\n </mat-list-item>\n <mat-list-item *ngIf=\"layerAdditionAllowed && catalogToolInToolbar\">\n <mat-icon matListItemIcon>library_add</mat-icon>\n <span\n matListItemTitle\n class=\"catalog-tool mat-typography\"\n (click)=\"catalogEmit()\"\n >\n {{ 'igo.integration.mapTool.catalog-tool' | translate }}\n </span>\n </mat-list-item>\n <mat-list-item *ngIf=\"layerAdditionAllowed && contextToolInToolbar\">\n <mat-icon matListItemIcon>star</mat-icon>\n <span\n matListItemTitle\n class=\"context-tool mat-typography\"\n (click)=\"contextEmit()\"\n >\n {{ 'igo.integration.mapTool.context-tool' | translate }}\n </span>\n </mat-list-item>\n </mat-list>\n </ng-template>\n</mat-tab-group>\n", styles: [":host mat-tab-group{height:100%}:host ::ng-deep mat-tab-header{border-bottom:1px solid #ccc}:host ::ng-deep .mat-mdc-tab-body-wrapper{flex:1}:host ::ng-deep .mat-tab-body{margin-top:8px}:host ::ng-deep .mat-mdc-tab-body-content{overflow:hidden}:host .map-empty,:host .search-tool,:host .catalog-tool,:host .context-tool{margin:10px}:host .map-empty{text-align:justify}:host .search-tool,:host .catalog-tool,:host .context-tool{cursor:pointer}:host mat-list mat-list-item h4{font-weight:700}:host mat-list-item ::ng-deep .mdc-list-item__primary-text{font-size:smaller}:host mat-list.mat-mdc-list-base mat-list-item.mat-mdc-list-item ::ng-deep div.mdc-list-item__content div.mdc-list-item__primary-text{padding-left:5px}\n"], dependencies: [{ kind: "ngmodule", type: MatTabsModule }, { kind: "component", type: i5$2.MatTab, selector: "mat-tab", inputs: ["disabled", "label", "aria-label", "aria-labelledby", "labelClass", "bodyClass", "id"], exportAs: ["matTab"] }, { kind: "component", type: i5$2.MatTabGroup, selector: "mat-tab-group", inputs: ["color", "fitInkBarToContent", "mat-stretch-tabs", "mat-align-tabs", "dynamicHeight", "selectedIndex", "headerPosition", "animationDuration", "contentTabIndex", "disablePagination", "disableRipple", "preserveContent", "backgroundColor", "aria-label", "aria-labelledby"], outputs: ["selectedIndexChange", "focusChange", "animationDone", "selectedTabChange"], exportAs: ["matTabGroup"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: LayerViewerComponent, selector: "igo-layer-viewer", inputs: ["map", "options", "isDesktop", "excludeBaseLayers"], outputs: ["appliedFilterAndSort"] }, { kind: "component", type: StyleModalLayerButtonComponent, selector: "igo-style-modal-layer-button", inputs: ["layer"] }, { kind: "component", type: MetadataButtonComponent, selector: "igo-metadata-button", inputs: ["layer", "color"] }, { kind: "component", type: TrackFeatureButtonComponent, selector: "igo-track-feature-button", inputs: ["layer", "trackFeature"] }, { kind: "component", type: TimeFilterButtonComponent, selector: "igo-time-filter-button", inputs: ["layer", "map", "color", "header"] }, { kind: "component", type: OgcFilterButtonComponent, selector: "igo-ogc-filter-button", inputs: ["layer", "map", "color", "header"] }, { kind: "component", type: ExportButtonComponent, selector: "igo-export-button", inputs: ["layer", "color"] }, { kind: "component", type: WorkspaceButtonComponent, selector: "igo-workspace-button", inputs: ["layer", "color"] }, { kind: "component", type: LayerLegendListComponent, selector: "igo-layer-legend-list", inputs: ["layers", "excludeBaseLayers", "updateLegendOnResolutionChange", "allowShowAllLegends", "showAllLegendsValue"], outputs: ["allLegendsShown"] }, { kind: "directive", type: LayerLegendListBindingDirective, selector: "[igoLayerLegendListBinding]" }, { kind: "ngmodule", type: MatListModule }, { kind: "component", type: i8$2.MatList, selector: "mat-list", exportAs: ["matList"] }, { kind: "component", type: i8$2.MatListItem, selector: "mat-list-item, a[mat-list-item], button[mat-list-item]", inputs: ["activated"], exportAs: ["matListItem"] }, { kind: "directive", type: i8$2.MatListItemIcon, selector: "[matListItemIcon]" }, { kind: "directive", type: i8$2.MatListItemTitle, selector: "[matListItemTitle]" }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "ngmodule", type: IgoLanguageModule }, { kind: "pipe", type: i9.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
4667
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.5", type: MapToolsComponent, isStandalone: true, selector: "igo-map-tools", inputs: { allowShowAllLegends: "allowShowAllLegends", showAllLegendsValue: "showAllLegendsValue", toggleLegendOnVisibilityChange: "toggleLegendOnVisibilityChange", expandLegendOfVisibleLayers: "expandLegendOfVisibleLayers", updateLegendOnResolutionChange: "updateLegendOnResolutionChange", selectedTabAtOpening: "selectedTabAtOpening", ogcButton: "ogcButton", timeButton: "timeButton", layerAdditionAllowed: "layerAdditionAllowed", layerListControls: "layerListControls", queryBadge: "queryBadge" }, viewQueries: [{ propertyName: "tabGroup", first: true, predicate: ["tabGroup"], descendants: true, static: true }], ngImport: i0, template: "<mat-tab-group\n #tabGroup\n [selectedIndex]=\"layerListToolState.selectedTab$ | async\"\n (selectedTabChange)=\"tabChanged($event)\"\n>\n <mat-tab [label]=\"'igo.integration.tools.layers' | translate\">\n <igo-layer-viewer\n [options]=\"layerViewerOptions\"\n [map]=\"map\"\n [excludeBaseLayers]=\"excludeBaseLayers\"\n [isDesktop]=\"isDesktop\"\n (appliedFilterAndSort)=\"onLayerListChange($event)\"\n >\n <ng-template #customBottomActions let-layer=\"layer\">\n <igo-style-modal-layer-button\n *ngIf=\"isStyleEditButton(layer)\"\n [layer]=\"layer\"\n ></igo-style-modal-layer-button>\n <igo-metadata-button [layer]=\"layer\"></igo-metadata-button>\n <igo-track-feature-button\n [trackFeature]=\"true\"\n [layer]=\"layer\"\n ></igo-track-feature-button>\n <igo-time-filter-button\n *ngIf=\"isTimeFilterButton(layer)\"\n [header]=\"timeButton\"\n [layer]=\"layer\"\n (click)=\"activateTimeFilter()\"\n ></igo-time-filter-button>\n <igo-ogc-filter-button\n *ngIf=\"isOGCFilterButton(layer)\"\n [header]=\"ogcButton\"\n [layer]=\"layer\"\n (click)=\"activateOgcFilter()\"\n ></igo-ogc-filter-button>\n <igo-export-button\n *ngIf=\"isExportButton(layer)\"\n [layer]=\"layer\"\n (click)=\"activateExport(layer)\"\n ></igo-export-button>\n <igo-workspace-button [layer]=\"layer\"></igo-workspace-button>\n </ng-template>\n\n <ng-container ngProjectAs=\"[emptyList]\">\n <ng-template [ngTemplateOutlet]=\"emptyLayers\"></ng-template>\n </ng-container>\n </igo-layer-viewer>\n </mat-tab>\n\n <mat-tab [label]=\"'igo.integration.tools.legend' | translate\">\n <igo-layer-legend-list\n *ngIf=\"showAllLegend()\"\n igoLayerLegendListBinding\n [allowShowAllLegends]=\"allowShowAllLegends\"\n [showAllLegendsValue]=\"showAllLegendsValue$ | async\"\n (allLegendsShown)=\"onShowAllLegends($event)\"\n [excludeBaseLayers]=\"excludeBaseLayers\"\n [updateLegendOnResolutionChange]=\"updateLegendOnResolutionChange\"\n >\n </igo-layer-legend-list>\n <ng-template\n *ngIf=\"(layers$ | async).length !== 0; else emptyLayers\"\n ></ng-template>\n\n <p\n class=\"map-empty mat-typography\"\n *ngIf=\"\n !allowShowAllLegends &&\n (layers$ | async).length !== 0 &&\n (visibleOrInRangeLayers$ | async).length === 0\n \"\n >\n {{\n (visibleLayers$ | async).length\n ? ('igo.integration.mapTool.noLayersInRange' | translate)\n : ('igo.integration.mapTool.noLayersVisible' | translate)\n }}\n </p>\n </mat-tab>\n\n <ng-template #emptyLayers>\n <mat-list *ngIf=\"delayedShowEmptyMapContent\">\n <p class=\"map-empty mat-typography\">\n {{ 'igo.integration.mapTool.empty' | translate }}\n </p>\n <p\n *ngIf=\"\n layerAdditionAllowed &&\n (searchToolInToolbar || catalogToolInToolbar || contextToolInToolbar)\n \"\n class=\"map-empty mat-typography\"\n >\n {{ 'igo.integration.mapTool.customize' | translate }}\n </p>\n\n <mat-list-item *ngIf=\"layerAdditionAllowed && searchToolInToolbar\">\n <mat-icon matListItemIcon>search</mat-icon>\n <span\n matListItemTitle\n class=\"search-tool mat-typography\"\n (click)=\"searchEmit()\"\n >\n {{ 'igo.integration.mapTool.search-tool' | translate }}\n </span>\n </mat-list-item>\n <mat-list-item *ngIf=\"layerAdditionAllowed && catalogToolInToolbar\">\n <mat-icon matListItemIcon>library_add</mat-icon>\n <span\n matListItemTitle\n class=\"catalog-tool mat-typography\"\n (click)=\"catalogEmit()\"\n >\n {{ 'igo.integration.mapTool.catalog-tool' | translate }}\n </span>\n </mat-list-item>\n <mat-list-item *ngIf=\"layerAdditionAllowed && contextToolInToolbar\">\n <mat-icon matListItemIcon>star</mat-icon>\n <span\n matListItemTitle\n class=\"context-tool mat-typography\"\n (click)=\"contextEmit()\"\n >\n {{ 'igo.integration.mapTool.context-tool' | translate }}\n </span>\n </mat-list-item>\n </mat-list>\n </ng-template>\n</mat-tab-group>\n", styles: [":host mat-tab-group{height:100%}:host ::ng-deep mat-tab-header{border-bottom:1px solid #ccc}:host ::ng-deep .mat-mdc-tab-body-wrapper{flex:1}:host ::ng-deep .mat-tab-body{margin-top:8px}:host ::ng-deep .mat-mdc-tab-body-content{overflow:hidden}:host .map-empty,:host .search-tool,:host .catalog-tool,:host .context-tool{margin:10px}:host .map-empty{text-align:justify}:host .search-tool,:host .catalog-tool,:host .context-tool{cursor:pointer}:host mat-list mat-list-item h4{font-weight:700}:host mat-list-item ::ng-deep .mdc-list-item__primary-text{font-size:smaller}:host mat-list.mat-mdc-list-base mat-list-item.mat-mdc-list-item ::ng-deep div.mdc-list-item__content div.mdc-list-item__primary-text{padding-left:5px}\n"], dependencies: [{ kind: "ngmodule", type: MatTabsModule }, { kind: "component", type: i5$2.MatTab, selector: "mat-tab", inputs: ["disabled", "label", "aria-label", "aria-labelledby", "labelClass", "bodyClass", "id"], exportAs: ["matTab"] }, { kind: "component", type: i5$2.MatTabGroup, selector: "mat-tab-group", inputs: ["color", "fitInkBarToContent", "mat-stretch-tabs", "mat-align-tabs", "dynamicHeight", "selectedIndex", "headerPosition", "animationDuration", "contentTabIndex", "disablePagination", "disableRipple", "preserveContent", "backgroundColor", "aria-label", "aria-labelledby"], outputs: ["selectedIndexChange", "focusChange", "animationDone", "selectedTabChange"], exportAs: ["matTabGroup"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: LayerViewerComponent, selector: "igo-layer-viewer", inputs: ["map", "options", "isDesktop", "excludeBaseLayers"], outputs: ["appliedFilterAndSort"] }, { kind: "component", type: StyleModalLayerButtonComponent, selector: "igo-style-modal-layer-button", inputs: ["layer"] }, { kind: "component", type: MetadataButtonComponent, selector: "igo-metadata-button", inputs: ["layer", "color"] }, { kind: "component", type: TrackFeatureButtonComponent, selector: "igo-track-feature-button", inputs: ["layer", "trackFeature"] }, { kind: "component", type: TimeFilterButtonComponent, selector: "igo-time-filter-button", inputs: ["layer", "map", "color", "header"] }, { kind: "component", type: OgcFilterButtonComponent, selector: "igo-ogc-filter-button", inputs: ["layer", "map", "color", "header"] }, { kind: "component", type: ExportButtonComponent, selector: "igo-export-button", inputs: ["layer", "color"] }, { kind: "component", type: WorkspaceButtonComponent, selector: "igo-workspace-button", inputs: ["layer", "color"] }, { kind: "component", type: LayerLegendListComponent, selector: "igo-layer-legend-list", inputs: ["layers", "excludeBaseLayers", "updateLegendOnResolutionChange", "allowShowAllLegends", "showAllLegendsValue"], outputs: ["allLegendsShown"] }, { kind: "directive", type: LayerLegendListBindingDirective, selector: "[igoLayerLegendListBinding]" }, { kind: "ngmodule", type: MatListModule }, { kind: "component", type: i8$3.MatList, selector: "mat-list", exportAs: ["matList"] }, { kind: "component", type: i8$3.MatListItem, selector: "mat-list-item, a[mat-list-item], button[mat-list-item]", inputs: ["activated"], exportAs: ["matListItem"] }, { kind: "directive", type: i8$3.MatListItemIcon, selector: "[matListItemIcon]" }, { kind: "directive", type: i8$3.MatListItemTitle, selector: "[matListItemTitle]" }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "ngmodule", type: IgoLanguageModule }, { kind: "pipe", type: i9.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
4424
4668
  };
4425
4669
  MapToolsComponent = __decorate([
4426
4670
  ToolComponent({
@@ -4833,12 +5077,12 @@ class SearchState {
4833
5077
  this.storageService.set('searchResultsGeometryEnabled', value);
4834
5078
  this.searchResultsGeometryEnabled$.next(value);
4835
5079
  }
4836
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: SearchState, deps: [{ token: i1$1.SearchSourceService }, { token: i2$2.StorageService }, { token: WorkspaceState }, { token: i6.ConfigService }, { token: MapState }], target: i0.ɵɵFactoryTarget.Injectable });
5080
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: SearchState, deps: [{ token: i1$1.SearchSourceService }, { token: i5.StorageService }, { token: WorkspaceState }, { token: i6.ConfigService }, { token: MapState }], target: i0.ɵɵFactoryTarget.Injectable });
4837
5081
  static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: SearchState });
4838
5082
  }
4839
5083
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: SearchState, decorators: [{
4840
5084
  type: Injectable
4841
- }], ctorParameters: () => [{ type: i1$1.SearchSourceService }, { type: i2$2.StorageService }, { type: WorkspaceState }, { type: i6.ConfigService }, { type: MapState }] });
5085
+ }], ctorParameters: () => [{ type: i1$1.SearchSourceService }, { type: i5.StorageService }, { type: WorkspaceState }, { type: i6.ConfigService }, { type: MapState }] });
4842
5086
 
4843
5087
  class SearchBarBindingDirective {
4844
5088
  component;
@@ -4955,7 +5199,7 @@ let SearchResultsToolComponent = class SearchResultsToolComponent {
4955
5199
  get feature$() {
4956
5200
  return this.store.stateView
4957
5201
  .firstBy$((e) => e.state.focused)
4958
- .pipe(map$1((element) => (this.feature = element
5202
+ .pipe(map((element) => (this.feature = element
4959
5203
  ? element.entity.data
4960
5204
  : undefined)));
4961
5205
  }
@@ -5383,7 +5627,7 @@ let SearchResultsToolComponent = class SearchResultsToolComponent {
5383
5627
  }, 250);
5384
5628
  }
5385
5629
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: SearchResultsToolComponent, deps: [{ token: MapState }, { token: SearchState }, { token: i0.ElementRef }, { token: ToolState }, { token: DirectionState }, { token: i6.ConfigService }], target: i0.ɵɵFactoryTarget.Component });
5386
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.5", type: SearchResultsToolComponent, isStandalone: true, selector: "igo-search-results-tool", inputs: { showIcons: "showIcons", topPanelStateDefault: "topPanelStateDefault", topPanelState: "topPanelState" }, ngImport: i0, template: "<div\n *ngIf=\"(!store || store.stateView.empty) && (debouncedEmpty$ | async)\"\n style=\"margin: 10px\"\n>\n <section class=\"mat-typography\">\n <h4>\n <strong>{{\n 'igo.integration.searchResultsTool.noResults' | translate\n }}</strong>\n </h4>\n <p>\n <strong>{{\n 'igo.integration.searchResultsTool.doSearch' | translate\n }}</strong>\n </p>\n <div\n [innerHTML]=\"\n 'igo.integration.searchResultsTool.examples' | translate | sanitizeHtml\n \"\n ></div>\n </section>\n</div>\n\n<igo-flexible\n *ngIf=\"(debouncedEmpty$ | async) === false\"\n #topPanel\n initial=\"100%\"\n initialMobile=\"100%\"\n collapsed=\"calc(100% - 58px)\"\n collapsedMobile=\"calc(100% - 58px)\"\n expanded=\"60%\"\n expandedMobile=\"60%\"\n [state]=\"(feature$ | async) ? topPanelState : 'initial'\"\n>\n <div class=\"igo-content\">\n <igo-search-results\n [store]=\"store\"\n [showIcons]=\"showIcons\"\n [term]=\"term\"\n [termSplitter]=\"termSplitter\"\n [settingsChange$]=\"settingsChange$\"\n placeholder=\"false\"\n (resultFocus)=\"onResultFocus($event)\"\n (resultSelect)=\"onResultSelect($event)\"\n (resultUnfocus)=\"onResultUnfocus($event)\"\n (resultMouseenter)=\"onResultFocus($event)\"\n (resultMouseleave)=\"onResultUnfocus($event)\"\n (moreResults)=\"onSearch($event)\"\n [map]=\"map\"\n >\n <ng-template #igoSearchItemToolbar let-result=\"result\">\n <igo-search-add-button\n [map]=\"map\"\n [store]=\"store\"\n [stores]=\"stores\"\n [layer]=\"result\"\n [saveSearchResultInLayer]=\"saveSearchResultInLayer\"\n >\n </igo-search-add-button>\n </ng-template>\n </igo-search-results>\n </div>\n\n <div igoFlexibleFill class=\"igo-content\">\n <igo-panel\n [title]=\"featureTitle\"\n *ngIf=\"feature$ | async\"\n (click)=\"toggleTopPanel($event)\"\n [cursorPointer]=\"true\"\n >\n <button\n mat-icon-button\n panelLeftButton\n class=\"igo-icon-button\"\n (click)=\"toggleTopPanel()\"\n >\n <mat-icon>{{\n (topPanelState$ | async) === 'collapsed'\n ? 'arrow_upward'\n : 'arrow_downward'\n }}</mat-icon>\n </button>\n\n <button\n *ngIf=\"feature.geometry\"\n mat-icon-button\n panelRightButton\n class=\"igo-icon-button\"\n [matTooltip]=\"\n ((isSelectedResultOutOfView$ | async)\n ? 'igo.integration.searchResultsTool.zoomOnFeatureTooltipOutOfView'\n : 'igo.integration.searchResultsTool.zoomOnFeatureTooltip'\n ) | translate\n \"\n matTooltipShowDelay=\"500\"\n (click)=\"zoomToFeatureExtent()\"\n >\n <mat-icon\n aria-hidden=\"false\"\n [matBadge]=\"(isSelectedResultOutOfView$ | async) ? '!' : ''\"\n matBadgeColor=\"accent\"\n matBadgeSize=\"small\"\n [matBadgeHidden]=\"(isSelectedResultOutOfView$ | async) === false\"\n >zoom_in</mat-icon\n >\n </button>\n\n <igo-feature-details\n igoFeatureDetailsDirective\n [feature]=\"feature$ | async\"\n [map]=\"map\"\n [toolbox]=\"toolState.toolbox\"\n (routingEvent)=\"getRoute()\"\n >\n </igo-feature-details>\n </igo-panel>\n </div>\n</igo-flexible>\n", dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: FlexibleComponent, selector: "igo-flexible", inputs: ["initial", "collapsed", "expanded", "initialMobile", "collapsedMobile", "expandedMobile", "direction", "state"] }, { kind: "component", type: SearchResultsComponent, selector: "igo-search-results", inputs: ["map", "store", "showIcons", "mode", "withZoomButton", "tabsMode", "term", "settingsChange$", "termSplitter"], outputs: ["resultFocus", "resultUnfocus", "resultSelect", "moreResults", "resultMouseenter", "resultMouseleave"] }, { kind: "component", type: SearchResultAddButtonComponent, selector: "igo-search-add-button", inputs: ["layer", "store", "added", "map", "saveSearchResultInLayer", "color", "stores"] }, { kind: "component", type: PanelComponent, selector: "igo-panel", inputs: ["title", "withHeader", "cursorPointer"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i5.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i6$1.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "ngmodule", type: MatBadgeModule }, { kind: "directive", type: i9$2.MatBadge, selector: "[matBadge]", inputs: ["matBadgeColor", "matBadgeOverlap", "matBadgeDisabled", "matBadgePosition", "matBadge", "matBadgeDescription", "matBadgeSize", "matBadgeHidden"] }, { kind: "component", type: FeatureDetailsComponent, selector: "igo-feature-details", inputs: ["source", "map", "toolbox", "feature"], outputs: ["routeEvent", "selectFeature", "htmlDisplayEvent"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "ngmodule", type: IgoLanguageModule }, { kind: "pipe", type: i9.TranslatePipe, name: "translate" }, { kind: "pipe", type: SanitizeHtmlPipe, name: "sanitizeHtml" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
5630
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.5", type: SearchResultsToolComponent, isStandalone: true, selector: "igo-search-results-tool", inputs: { showIcons: "showIcons", topPanelStateDefault: "topPanelStateDefault", topPanelState: "topPanelState" }, ngImport: i0, template: "<div\n *ngIf=\"(!store || store.stateView.empty) && (debouncedEmpty$ | async)\"\n style=\"margin: 10px\"\n>\n <section class=\"mat-typography\">\n <h4>\n <strong>{{\n 'igo.integration.searchResultsTool.noResults' | translate\n }}</strong>\n </h4>\n <p>\n <strong>{{\n 'igo.integration.searchResultsTool.doSearch' | translate\n }}</strong>\n </p>\n <div\n [innerHTML]=\"\n 'igo.integration.searchResultsTool.examples' | translate | sanitizeHtml\n \"\n ></div>\n </section>\n</div>\n\n<igo-flexible\n *ngIf=\"(debouncedEmpty$ | async) === false\"\n #topPanel\n initial=\"100%\"\n initialMobile=\"100%\"\n collapsed=\"calc(100% - 58px)\"\n collapsedMobile=\"calc(100% - 58px)\"\n expanded=\"60%\"\n expandedMobile=\"60%\"\n [state]=\"(feature$ | async) ? topPanelState : 'initial'\"\n>\n <div class=\"igo-content\">\n <igo-search-results\n [store]=\"store\"\n [showIcons]=\"showIcons\"\n [term]=\"term\"\n [termSplitter]=\"termSplitter\"\n [settingsChange$]=\"settingsChange$\"\n placeholder=\"false\"\n (resultFocus)=\"onResultFocus($event)\"\n (resultSelect)=\"onResultSelect($event)\"\n (resultUnfocus)=\"onResultUnfocus($event)\"\n (resultMouseenter)=\"onResultFocus($event)\"\n (resultMouseleave)=\"onResultUnfocus($event)\"\n (moreResults)=\"onSearch($event)\"\n [map]=\"map\"\n >\n <ng-template #igoSearchItemToolbar let-result=\"result\">\n <igo-search-add-button\n [map]=\"map\"\n [store]=\"store\"\n [stores]=\"stores\"\n [layer]=\"result\"\n [saveSearchResultInLayer]=\"saveSearchResultInLayer\"\n >\n </igo-search-add-button>\n </ng-template>\n </igo-search-results>\n </div>\n\n <div igoFlexibleFill class=\"igo-content\">\n <igo-panel\n [title]=\"featureTitle\"\n *ngIf=\"feature$ | async\"\n (click)=\"toggleTopPanel($event)\"\n [cursorPointer]=\"true\"\n >\n <button\n mat-icon-button\n panelLeftButton\n class=\"igo-icon-button\"\n (click)=\"toggleTopPanel()\"\n >\n <mat-icon>{{\n (topPanelState$ | async) === 'collapsed'\n ? 'arrow_upward'\n : 'arrow_downward'\n }}</mat-icon>\n </button>\n\n <button\n *ngIf=\"feature.geometry\"\n mat-icon-button\n panelRightButton\n class=\"igo-icon-button\"\n [matTooltip]=\"\n ((isSelectedResultOutOfView$ | async)\n ? 'igo.integration.searchResultsTool.zoomOnFeatureTooltipOutOfView'\n : 'igo.integration.searchResultsTool.zoomOnFeatureTooltip'\n ) | translate\n \"\n matTooltipShowDelay=\"500\"\n (click)=\"zoomToFeatureExtent()\"\n >\n <mat-icon\n aria-hidden=\"false\"\n [matBadge]=\"(isSelectedResultOutOfView$ | async) ? '!' : ''\"\n matBadgeColor=\"accent\"\n matBadgeSize=\"small\"\n [matBadgeHidden]=\"(isSelectedResultOutOfView$ | async) === false\"\n >zoom_in</mat-icon\n >\n </button>\n\n <igo-feature-details\n igoFeatureDetailsDirective\n [feature]=\"feature$ | async\"\n [map]=\"map\"\n [toolbox]=\"toolState.toolbox\"\n (routingEvent)=\"getRoute()\"\n >\n </igo-feature-details>\n </igo-panel>\n </div>\n</igo-flexible>\n", dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: FlexibleComponent, selector: "igo-flexible", inputs: ["initial", "collapsed", "expanded", "initialMobile", "collapsedMobile", "expandedMobile", "direction", "state"] }, { kind: "component", type: SearchResultsComponent, selector: "igo-search-results", inputs: ["map", "store", "showIcons", "mode", "withZoomButton", "tabsMode", "term", "settingsChange$", "termSplitter"], outputs: ["resultFocus", "resultUnfocus", "resultSelect", "moreResults", "resultMouseenter", "resultMouseleave"] }, { kind: "component", type: SearchResultAddButtonComponent, selector: "igo-search-add-button", inputs: ["layer", "store", "added", "map", "saveSearchResultInLayer", "color", "stores"] }, { kind: "component", type: PanelComponent, selector: "igo-panel", inputs: ["title", "withHeader", "cursorPointer"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i7.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i8.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "ngmodule", type: MatBadgeModule }, { kind: "directive", type: i9$2.MatBadge, selector: "[matBadge]", inputs: ["matBadgeColor", "matBadgeOverlap", "matBadgeDisabled", "matBadgePosition", "matBadge", "matBadgeDescription", "matBadgeSize", "matBadgeHidden"] }, { kind: "component", type: FeatureDetailsComponent, selector: "igo-feature-details", inputs: ["source", "map", "toolbox", "feature"], outputs: ["routeEvent", "selectFeature", "htmlDisplayEvent"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "ngmodule", type: IgoLanguageModule }, { kind: "pipe", type: i9.TranslatePipe, name: "translate" }, { kind: "pipe", type: SanitizeHtmlPipe, name: "sanitizeHtml" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
5387
5631
  };
5388
5632
  SearchResultsToolComponent = __decorate([
5389
5633
  ToolComponent({