@igo2/geo 21.0.0-next.44 → 21.0.0-next.46

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.
@@ -141,6 +141,7 @@ import { MatSliderModule, MatSlider } from '@angular/material/slider';
141
141
  import * as i8 from '@angular/material/tree';
142
142
  import { MatTree, MatTreeModule, MatTreeNestedDataSource } from '@angular/material/tree';
143
143
  import { TreeDragDropDirective, DragAndDropDirective } from '@igo2/common/drag-drop';
144
+ import { ConfirmDialogService } from '@igo2/common/confirm-dialog';
144
145
  import { PanelComponent } from '@igo2/common/panel';
145
146
  import * as i5 from '@angular/material/progress-spinner';
146
147
  import { MatProgressSpinnerModule } from '@angular/material/progress-spinner';
@@ -187,7 +188,6 @@ import * as i1$4 from '@angular/material/tabs';
187
188
  import { MatTabsModule } from '@angular/material/tabs';
188
189
  import * as i2$3 from '@mat-datetimepicker/core';
189
190
  import { MatDatetimepickerModule, MatNativeDatetimeModule } from '@mat-datetimepicker/core';
190
- import { ConfirmDialogService } from '@igo2/common/confirm-dialog';
191
191
  import { SpinnerComponent } from '@igo2/common/spinner';
192
192
  import { StopPropagationDirective } from '@igo2/common/stop-propagation';
193
193
  import { FlexibleComponent } from '@igo2/common/flexible';
@@ -12960,6 +12960,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.25", ngImpo
12960
12960
 
12961
12961
  class LayerViewerBottomActionsComponent {
12962
12962
  layerListToolService = inject(LayerListToolService);
12963
+ confirmDialogService = inject(ConfirmDialogService);
12963
12964
  layerPersistence = inject(LAYER_PERSISTENCE, { optional: true });
12964
12965
  orderable = true;
12965
12966
  map = input.required(...(ngDevMode ? [{ debugName: "map" }] : /* istanbul ignore next */ []));
@@ -13016,6 +13017,40 @@ class LayerViewerBottomActionsComponent {
13016
13017
  }
13017
13018
  return layers?.every((l) => this.isLayerRemovable(l));
13018
13019
  }
13020
+ triggerRemoveLayers() {
13021
+ if (this.requiresRemovalConfirmation()) {
13022
+ const messageKey = this.hasMultipleSelection
13023
+ ? 'igo.geo.layer.group.removeDialog.many'
13024
+ : 'igo.geo.layer.group.removeDialog.group';
13025
+ this.confirmDialogService
13026
+ .open(messageKey, {
13027
+ modeYesNo: true,
13028
+ width: '400px'
13029
+ })
13030
+ .subscribe((deletion) => {
13031
+ if (deletion) {
13032
+ this.removeLayers();
13033
+ }
13034
+ });
13035
+ }
13036
+ else {
13037
+ this.removeLayers();
13038
+ }
13039
+ }
13040
+ requiresRemovalConfirmation() {
13041
+ let singleLayerCount = 0;
13042
+ for (const layer of this.selected) {
13043
+ if (isLayerGroup(layer)) {
13044
+ if (layer.children.length > 0) {
13045
+ return true;
13046
+ }
13047
+ }
13048
+ else if (++singleLayerCount > 1) {
13049
+ return true;
13050
+ }
13051
+ }
13052
+ return false;
13053
+ }
13019
13054
  removeLayers() {
13020
13055
  const layerPersistence = this.layerPersistence;
13021
13056
  if (layerPersistence) {
@@ -13117,7 +13152,7 @@ class LayerViewerBottomActionsComponent {
13117
13152
  return layer.options.removable !== false;
13118
13153
  }
13119
13154
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.25", ngImport: i0, type: LayerViewerBottomActionsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
13120
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.25", type: LayerViewerBottomActionsComponent, isStandalone: true, selector: "igo-layer-viewer-bottom-actions", inputs: { map: { classPropertyName: "map", publicName: "map", isSignal: true, isRequired: true, transformFunction: null }, controller: { classPropertyName: "controller", publicName: "controller", isSignal: true, isRequired: true, transformFunction: null }, searchTerm: { classPropertyName: "searchTerm", publicName: "searchTerm", isSignal: true, isRequired: true, transformFunction: null }, viewerOptions: { classPropertyName: "viewerOptions", publicName: "viewerOptions", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { layerChange: "layerChange" }, providers: [LayerListToolService, FormDialogService], ngImport: i0, template: "<igo-panel\n class=\"igo-layer-actions-container\"\n [title]=\"\n hasMultipleSelection\n ? ('igo.geo.layer.tools' | translate)\n : selected[0].title\n \"\n>\n <div class=\"igo-layer-button-group\">\n @if (isLayersRemovable(selected)) {\n <button\n class=\"delete-button\"\n mat-icon-button\n color=\"warn\"\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"\n (hasMultipleSelection\n ? isLayersRemovable(selected)\n ? ('igo.geo.layer.removeSelectedLayers' | translate)\n : ('igo.geo.layer.removeSelectedLayersRestriction' | translate)\n : isLayerGroup(selected[0])\n ? ('igo.geo.layer.group.remove' | translate)\n : ('igo.geo.layer.removeLayer' | translate)\n ) | translate\n \"\n (click)=\"removeLayers()\"\n >\n <mat-icon\n aria-hidden=\"false\"\n [matBadge]=\"'!'\"\n matBadgeColor=\"warn\"\n matBadgeSize=\"medium\"\n [matBadgeHidden]=\"\n !hasMultipleSelection || isLayersRemovable(selected)\n \"\n >delete</mat-icon\n >\n </button>\n }\n\n @if (hasMultipleSelection) {\n <button\n class=\"eye-button\"\n mat-icon-button\n color=\"primary\"\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [disabled]=\"selected.length === 0\"\n [matTooltip]=\"\n allSelectionVisibilityHidden\n ? ('igo.geo.layer.showSelectedLayers' | translate)\n : ('igo.geo.layer.hideSelectedLayers' | translate)\n \"\n (click)=\"toggleSelectionVisibility()\"\n >\n <mat-icon>{{\n allSelectionVisibilityHidden ? 'visibility_off' : 'visibility'\n }}</mat-icon>\n </button>\n }\n\n <button\n class=\"down-button\"\n mat-icon-button\n color=\"primary\"\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"\n searchTerm()\n ? ('igo.geo.layer.filterLowerLayer' | translate)\n : ('igo.geo.layer.lowerLayer' | translate)\n \"\n [disabled]=\"!isSelectionLowerable\"\n (click)=\"lowerSelection()\"\n >\n <mat-icon\n aria-hidden=\"false\"\n [matBadge]=\"searchTerm() ? '!' : ''\"\n matBadgeColor=\"warn\"\n matBadgeSize=\"medium\"\n [matBadgeHidden]=\"!isSelectionLowerable\"\n >arrow_downward</mat-icon\n >\n </button>\n\n <button\n class=\"up-button\"\n color=\"primary\"\n mat-icon-button\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"\n searchTerm()\n ? ('igo.geo.layer.filterRaiseLayer' | translate)\n : ('igo.geo.layer.raiseLayer' | translate)\n \"\n [disabled]=\"!isSelectionRaisable\"\n (click)=\"raiseSelection()\"\n >\n <mat-icon\n aria-hidden=\"false\"\n [matBadge]=\"searchTerm() ? '!' : ''\"\n matBadgeColor=\"warn\"\n matBadgeSize=\"medium\"\n [matBadgeHidden]=\"!isSelectionRaisable\"\n >\n arrow_upward\n </mat-icon>\n </button>\n\n @if (controller().selected.length === 1) {\n <button\n class=\"opacity-button\"\n color=\"primary\"\n mat-icon-button\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matMenuTriggerFor]=\"opacityMenu\"\n [matTooltip]=\"'igo.geo.layer.opacity' | translate\"\n >\n <mat-icon\n aria-hidden=\"false\"\n [matBadge]=\"opacity === 100 ? null : opacity\"\n matBadgeColor=\"primary\"\n matBadgeSize=\"medium\"\n >opacity</mat-icon\n >\n </button>\n <mat-menu #opacityMenu=\"matMenu\" class=\"panel-opacity-menu\">\n <mat-slider\n id=\"opacity-slider\"\n color=\"primary\"\n discrete\n step=\"5\"\n [min]=\"0\"\n [max]=\"100\"\n [matTooltip]=\"'igo.geo.layer.opacity' | translate\"\n (click)=\"$event.stopPropagation()\"\n matTooltipShowDelay=\"500\"\n tooltip-position=\"below\"\n #ngSlider\n ><input\n matSliderThumb\n [value]=\"opacity\"\n (input)=\"\n changeOpacity({\n source: ngSliderThumb,\n parent: ngSlider,\n value: ngSliderThumb.value\n })\n \"\n #ngSliderThumb=\"matSliderThumb\"\n />\n </mat-slider>\n </mat-menu>\n }\n\n @if (isExtentsValid()) {\n <button\n class=\"zoomLayer-button\"\n color=\"primary\"\n mat-icon-button\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"\n (hasMultipleSelection\n ? 'igo.geo.layer.zoomLayers'\n : 'igo.geo.layer.zoomLayer'\n ) | translate\n \"\n (click)=\"zoomLayersExtents()\"\n >\n <mat-icon matBadgeColor=\"primary\" matBadgeSize=\"medium\"\n >frame_inspect</mat-icon\n >\n </button>\n }\n\n @if (canRename) {\n <button\n color=\"primary\"\n mat-icon-button\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"'igo.geo.layer.group.rename' | translate\"\n (click)=\"handleRename()\"\n >\n <mat-icon>edit</mat-icon>\n </button>\n }\n\n <ng-content />\n </div>\n</igo-panel>\n", styles: [".igo-layer-actions-container{padding:0 6px 0 4px}.igo-layer-actions-container>div{text-align:center}.igo-layer-button-group,.actions-buttons-multi{display:flex;align-items:center;flex-direction:row-reverse;overflow-x:auto;overflow-y:hidden}.igo-layer-button-group::-webkit-scrollbar,.actions-buttons-multi::-webkit-scrollbar{height:4px}.igo-layer-button-group::-webkit-scrollbar-track,.actions-buttons-multi::-webkit-scrollbar-track{background:#f1f1f1}.igo-layer-button-group::-webkit-scrollbar-thumb,.actions-buttons-multi::-webkit-scrollbar-thumb{background:#888}.igo-layer-button-group::-webkit-scrollbar-thumb:hover,.actions-buttons-multi::-webkit-scrollbar-thumb:hover{background:#555}.igo-layer-button-group{padding-top:4px}igo-panel{height:unset}::ng-deep .panel-opacity-menu{overflow:visible!important}::ng-deep .panel-opacity-menu #opacity-slider{margin:0 16px}\n"], dependencies: [{ kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i1.MatIconButton, selector: "button[mat-icon-button], a[mat-icon-button], button[matIconButton], a[matIconButton]", exportAs: ["matButton", "matAnchor"] }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i2.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatBadgeModule }, { kind: "directive", type: i4$4.MatBadge, selector: "[matBadge]", inputs: ["matBadgeColor", "matBadgeOverlap", "matBadgeDisabled", "matBadgePosition", "matBadge", "matBadgeDescription", "matBadgeSize", "matBadgeHidden"] }, { kind: "ngmodule", type: MatMenuModule }, { kind: "component", type: i3$2.MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "directive", type: i3$2.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { kind: "ngmodule", type: MatSliderModule }, { kind: "component", type: i6.MatSlider, selector: "mat-slider", inputs: ["disabled", "discrete", "showTickMarks", "min", "color", "disableRipple", "max", "step", "displayWith"], exportAs: ["matSlider"] }, { kind: "directive", type: i6.MatSliderThumb, selector: "input[matSliderThumb]", inputs: ["value"], outputs: ["valueChange", "dragStart", "dragEnd"], exportAs: ["matSliderThumb"] }, { kind: "ngmodule", type: IgoLanguageModule }, { kind: "component", type: PanelComponent, selector: "igo-panel", inputs: ["title", "withHeader", "cursorPointer"] }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }] });
13155
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.25", type: LayerViewerBottomActionsComponent, isStandalone: true, selector: "igo-layer-viewer-bottom-actions", inputs: { map: { classPropertyName: "map", publicName: "map", isSignal: true, isRequired: true, transformFunction: null }, controller: { classPropertyName: "controller", publicName: "controller", isSignal: true, isRequired: true, transformFunction: null }, searchTerm: { classPropertyName: "searchTerm", publicName: "searchTerm", isSignal: true, isRequired: true, transformFunction: null }, viewerOptions: { classPropertyName: "viewerOptions", publicName: "viewerOptions", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { layerChange: "layerChange" }, providers: [LayerListToolService, FormDialogService], ngImport: i0, template: "<igo-panel\n class=\"igo-layer-actions-container\"\n [title]=\"\n hasMultipleSelection\n ? ('igo.geo.layer.tools' | translate)\n : selected[0].title\n \"\n>\n <div class=\"igo-layer-button-group\">\n @if (isLayersRemovable(selected)) {\n <button\n class=\"delete-button\"\n mat-icon-button\n color=\"warn\"\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"\n (hasMultipleSelection\n ? isLayersRemovable(selected)\n ? ('igo.geo.layer.removeSelectedLayers' | translate)\n : ('igo.geo.layer.removeSelectedLayersRestriction' | translate)\n : isLayerGroup(selected[0])\n ? ('igo.geo.layer.group.remove' | translate)\n : ('igo.geo.layer.removeLayer' | translate)\n ) | translate\n \"\n (click)=\"triggerRemoveLayers()\"\n >\n <mat-icon\n aria-hidden=\"false\"\n [matBadge]=\"'!'\"\n matBadgeColor=\"warn\"\n matBadgeSize=\"medium\"\n [matBadgeHidden]=\"\n !hasMultipleSelection || isLayersRemovable(selected)\n \"\n >delete</mat-icon\n >\n </button>\n }\n\n @if (hasMultipleSelection) {\n <button\n class=\"eye-button\"\n mat-icon-button\n color=\"primary\"\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [disabled]=\"selected.length === 0\"\n [matTooltip]=\"\n allSelectionVisibilityHidden\n ? ('igo.geo.layer.showSelectedLayers' | translate)\n : ('igo.geo.layer.hideSelectedLayers' | translate)\n \"\n (click)=\"toggleSelectionVisibility()\"\n >\n <mat-icon>{{\n allSelectionVisibilityHidden ? 'visibility_off' : 'visibility'\n }}</mat-icon>\n </button>\n }\n\n <button\n class=\"down-button\"\n mat-icon-button\n color=\"primary\"\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"\n searchTerm()\n ? ('igo.geo.layer.filterLowerLayer' | translate)\n : ('igo.geo.layer.lowerLayer' | translate)\n \"\n [disabled]=\"!isSelectionLowerable\"\n (click)=\"lowerSelection()\"\n >\n <mat-icon\n aria-hidden=\"false\"\n [matBadge]=\"searchTerm() ? '!' : ''\"\n matBadgeColor=\"warn\"\n matBadgeSize=\"medium\"\n [matBadgeHidden]=\"!isSelectionLowerable\"\n >arrow_downward</mat-icon\n >\n </button>\n\n <button\n class=\"up-button\"\n color=\"primary\"\n mat-icon-button\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"\n searchTerm()\n ? ('igo.geo.layer.filterRaiseLayer' | translate)\n : ('igo.geo.layer.raiseLayer' | translate)\n \"\n [disabled]=\"!isSelectionRaisable\"\n (click)=\"raiseSelection()\"\n >\n <mat-icon\n aria-hidden=\"false\"\n [matBadge]=\"searchTerm() ? '!' : ''\"\n matBadgeColor=\"warn\"\n matBadgeSize=\"medium\"\n [matBadgeHidden]=\"!isSelectionRaisable\"\n >\n arrow_upward\n </mat-icon>\n </button>\n\n @if (controller().selected.length === 1) {\n <button\n class=\"opacity-button\"\n color=\"primary\"\n mat-icon-button\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matMenuTriggerFor]=\"opacityMenu\"\n [matTooltip]=\"'igo.geo.layer.opacity' | translate\"\n >\n <mat-icon\n aria-hidden=\"false\"\n [matBadge]=\"opacity === 100 ? null : opacity\"\n matBadgeColor=\"primary\"\n matBadgeSize=\"medium\"\n >opacity</mat-icon\n >\n </button>\n <mat-menu #opacityMenu=\"matMenu\" class=\"panel-opacity-menu\">\n <mat-slider\n id=\"opacity-slider\"\n color=\"primary\"\n discrete\n step=\"5\"\n [min]=\"0\"\n [max]=\"100\"\n [matTooltip]=\"'igo.geo.layer.opacity' | translate\"\n (click)=\"$event.stopPropagation()\"\n matTooltipShowDelay=\"500\"\n tooltip-position=\"below\"\n #ngSlider\n ><input\n matSliderThumb\n [value]=\"opacity\"\n (input)=\"\n changeOpacity({\n source: ngSliderThumb,\n parent: ngSlider,\n value: ngSliderThumb.value\n })\n \"\n #ngSliderThumb=\"matSliderThumb\"\n />\n </mat-slider>\n </mat-menu>\n }\n\n @if (isExtentsValid()) {\n <button\n class=\"zoomLayer-button\"\n color=\"primary\"\n mat-icon-button\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"\n (hasMultipleSelection\n ? 'igo.geo.layer.zoomLayers'\n : 'igo.geo.layer.zoomLayer'\n ) | translate\n \"\n (click)=\"zoomLayersExtents()\"\n >\n <mat-icon matBadgeColor=\"primary\" matBadgeSize=\"medium\"\n >frame_inspect</mat-icon\n >\n </button>\n }\n\n @if (canRename) {\n <button\n color=\"primary\"\n mat-icon-button\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"'igo.geo.layer.group.rename' | translate\"\n (click)=\"handleRename()\"\n >\n <mat-icon>edit</mat-icon>\n </button>\n }\n\n <ng-content />\n </div>\n</igo-panel>\n", styles: [".igo-layer-actions-container{padding:0 6px 0 4px}.igo-layer-actions-container>div{text-align:center}.igo-layer-button-group,.actions-buttons-multi{display:flex;align-items:center;flex-direction:row-reverse;overflow-x:auto;overflow-y:hidden}.igo-layer-button-group::-webkit-scrollbar,.actions-buttons-multi::-webkit-scrollbar{height:4px}.igo-layer-button-group::-webkit-scrollbar-track,.actions-buttons-multi::-webkit-scrollbar-track{background:#f1f1f1}.igo-layer-button-group::-webkit-scrollbar-thumb,.actions-buttons-multi::-webkit-scrollbar-thumb{background:#888}.igo-layer-button-group::-webkit-scrollbar-thumb:hover,.actions-buttons-multi::-webkit-scrollbar-thumb:hover{background:#555}.igo-layer-button-group{padding-top:4px}igo-panel{height:unset}::ng-deep .panel-opacity-menu{overflow:visible!important}::ng-deep .panel-opacity-menu #opacity-slider{margin:0 16px}\n"], dependencies: [{ kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i1.MatIconButton, selector: "button[mat-icon-button], a[mat-icon-button], button[matIconButton], a[matIconButton]", exportAs: ["matButton", "matAnchor"] }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i2.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatBadgeModule }, { kind: "directive", type: i4$4.MatBadge, selector: "[matBadge]", inputs: ["matBadgeColor", "matBadgeOverlap", "matBadgeDisabled", "matBadgePosition", "matBadge", "matBadgeDescription", "matBadgeSize", "matBadgeHidden"] }, { kind: "ngmodule", type: MatMenuModule }, { kind: "component", type: i3$2.MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "directive", type: i3$2.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { kind: "ngmodule", type: MatSliderModule }, { kind: "component", type: i6.MatSlider, selector: "mat-slider", inputs: ["disabled", "discrete", "showTickMarks", "min", "color", "disableRipple", "max", "step", "displayWith"], exportAs: ["matSlider"] }, { kind: "directive", type: i6.MatSliderThumb, selector: "input[matSliderThumb]", inputs: ["value"], outputs: ["valueChange", "dragStart", "dragEnd"], exportAs: ["matSliderThumb"] }, { kind: "ngmodule", type: IgoLanguageModule }, { kind: "component", type: PanelComponent, selector: "igo-panel", inputs: ["title", "withHeader", "cursorPointer"] }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }] });
13121
13156
  }
13122
13157
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.25", ngImport: i0, type: LayerViewerBottomActionsComponent, decorators: [{
13123
13158
  type: Component,
@@ -13130,7 +13165,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.25", ngImpo
13130
13165
  MatSliderModule,
13131
13166
  IgoLanguageModule,
13132
13167
  PanelComponent
13133
- ], providers: [LayerListToolService, FormDialogService], template: "<igo-panel\n class=\"igo-layer-actions-container\"\n [title]=\"\n hasMultipleSelection\n ? ('igo.geo.layer.tools' | translate)\n : selected[0].title\n \"\n>\n <div class=\"igo-layer-button-group\">\n @if (isLayersRemovable(selected)) {\n <button\n class=\"delete-button\"\n mat-icon-button\n color=\"warn\"\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"\n (hasMultipleSelection\n ? isLayersRemovable(selected)\n ? ('igo.geo.layer.removeSelectedLayers' | translate)\n : ('igo.geo.layer.removeSelectedLayersRestriction' | translate)\n : isLayerGroup(selected[0])\n ? ('igo.geo.layer.group.remove' | translate)\n : ('igo.geo.layer.removeLayer' | translate)\n ) | translate\n \"\n (click)=\"removeLayers()\"\n >\n <mat-icon\n aria-hidden=\"false\"\n [matBadge]=\"'!'\"\n matBadgeColor=\"warn\"\n matBadgeSize=\"medium\"\n [matBadgeHidden]=\"\n !hasMultipleSelection || isLayersRemovable(selected)\n \"\n >delete</mat-icon\n >\n </button>\n }\n\n @if (hasMultipleSelection) {\n <button\n class=\"eye-button\"\n mat-icon-button\n color=\"primary\"\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [disabled]=\"selected.length === 0\"\n [matTooltip]=\"\n allSelectionVisibilityHidden\n ? ('igo.geo.layer.showSelectedLayers' | translate)\n : ('igo.geo.layer.hideSelectedLayers' | translate)\n \"\n (click)=\"toggleSelectionVisibility()\"\n >\n <mat-icon>{{\n allSelectionVisibilityHidden ? 'visibility_off' : 'visibility'\n }}</mat-icon>\n </button>\n }\n\n <button\n class=\"down-button\"\n mat-icon-button\n color=\"primary\"\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"\n searchTerm()\n ? ('igo.geo.layer.filterLowerLayer' | translate)\n : ('igo.geo.layer.lowerLayer' | translate)\n \"\n [disabled]=\"!isSelectionLowerable\"\n (click)=\"lowerSelection()\"\n >\n <mat-icon\n aria-hidden=\"false\"\n [matBadge]=\"searchTerm() ? '!' : ''\"\n matBadgeColor=\"warn\"\n matBadgeSize=\"medium\"\n [matBadgeHidden]=\"!isSelectionLowerable\"\n >arrow_downward</mat-icon\n >\n </button>\n\n <button\n class=\"up-button\"\n color=\"primary\"\n mat-icon-button\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"\n searchTerm()\n ? ('igo.geo.layer.filterRaiseLayer' | translate)\n : ('igo.geo.layer.raiseLayer' | translate)\n \"\n [disabled]=\"!isSelectionRaisable\"\n (click)=\"raiseSelection()\"\n >\n <mat-icon\n aria-hidden=\"false\"\n [matBadge]=\"searchTerm() ? '!' : ''\"\n matBadgeColor=\"warn\"\n matBadgeSize=\"medium\"\n [matBadgeHidden]=\"!isSelectionRaisable\"\n >\n arrow_upward\n </mat-icon>\n </button>\n\n @if (controller().selected.length === 1) {\n <button\n class=\"opacity-button\"\n color=\"primary\"\n mat-icon-button\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matMenuTriggerFor]=\"opacityMenu\"\n [matTooltip]=\"'igo.geo.layer.opacity' | translate\"\n >\n <mat-icon\n aria-hidden=\"false\"\n [matBadge]=\"opacity === 100 ? null : opacity\"\n matBadgeColor=\"primary\"\n matBadgeSize=\"medium\"\n >opacity</mat-icon\n >\n </button>\n <mat-menu #opacityMenu=\"matMenu\" class=\"panel-opacity-menu\">\n <mat-slider\n id=\"opacity-slider\"\n color=\"primary\"\n discrete\n step=\"5\"\n [min]=\"0\"\n [max]=\"100\"\n [matTooltip]=\"'igo.geo.layer.opacity' | translate\"\n (click)=\"$event.stopPropagation()\"\n matTooltipShowDelay=\"500\"\n tooltip-position=\"below\"\n #ngSlider\n ><input\n matSliderThumb\n [value]=\"opacity\"\n (input)=\"\n changeOpacity({\n source: ngSliderThumb,\n parent: ngSlider,\n value: ngSliderThumb.value\n })\n \"\n #ngSliderThumb=\"matSliderThumb\"\n />\n </mat-slider>\n </mat-menu>\n }\n\n @if (isExtentsValid()) {\n <button\n class=\"zoomLayer-button\"\n color=\"primary\"\n mat-icon-button\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"\n (hasMultipleSelection\n ? 'igo.geo.layer.zoomLayers'\n : 'igo.geo.layer.zoomLayer'\n ) | translate\n \"\n (click)=\"zoomLayersExtents()\"\n >\n <mat-icon matBadgeColor=\"primary\" matBadgeSize=\"medium\"\n >frame_inspect</mat-icon\n >\n </button>\n }\n\n @if (canRename) {\n <button\n color=\"primary\"\n mat-icon-button\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"'igo.geo.layer.group.rename' | translate\"\n (click)=\"handleRename()\"\n >\n <mat-icon>edit</mat-icon>\n </button>\n }\n\n <ng-content />\n </div>\n</igo-panel>\n", styles: [".igo-layer-actions-container{padding:0 6px 0 4px}.igo-layer-actions-container>div{text-align:center}.igo-layer-button-group,.actions-buttons-multi{display:flex;align-items:center;flex-direction:row-reverse;overflow-x:auto;overflow-y:hidden}.igo-layer-button-group::-webkit-scrollbar,.actions-buttons-multi::-webkit-scrollbar{height:4px}.igo-layer-button-group::-webkit-scrollbar-track,.actions-buttons-multi::-webkit-scrollbar-track{background:#f1f1f1}.igo-layer-button-group::-webkit-scrollbar-thumb,.actions-buttons-multi::-webkit-scrollbar-thumb{background:#888}.igo-layer-button-group::-webkit-scrollbar-thumb:hover,.actions-buttons-multi::-webkit-scrollbar-thumb:hover{background:#555}.igo-layer-button-group{padding-top:4px}igo-panel{height:unset}::ng-deep .panel-opacity-menu{overflow:visible!important}::ng-deep .panel-opacity-menu #opacity-slider{margin:0 16px}\n"] }]
13168
+ ], providers: [LayerListToolService, FormDialogService], template: "<igo-panel\n class=\"igo-layer-actions-container\"\n [title]=\"\n hasMultipleSelection\n ? ('igo.geo.layer.tools' | translate)\n : selected[0].title\n \"\n>\n <div class=\"igo-layer-button-group\">\n @if (isLayersRemovable(selected)) {\n <button\n class=\"delete-button\"\n mat-icon-button\n color=\"warn\"\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"\n (hasMultipleSelection\n ? isLayersRemovable(selected)\n ? ('igo.geo.layer.removeSelectedLayers' | translate)\n : ('igo.geo.layer.removeSelectedLayersRestriction' | translate)\n : isLayerGroup(selected[0])\n ? ('igo.geo.layer.group.remove' | translate)\n : ('igo.geo.layer.removeLayer' | translate)\n ) | translate\n \"\n (click)=\"triggerRemoveLayers()\"\n >\n <mat-icon\n aria-hidden=\"false\"\n [matBadge]=\"'!'\"\n matBadgeColor=\"warn\"\n matBadgeSize=\"medium\"\n [matBadgeHidden]=\"\n !hasMultipleSelection || isLayersRemovable(selected)\n \"\n >delete</mat-icon\n >\n </button>\n }\n\n @if (hasMultipleSelection) {\n <button\n class=\"eye-button\"\n mat-icon-button\n color=\"primary\"\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [disabled]=\"selected.length === 0\"\n [matTooltip]=\"\n allSelectionVisibilityHidden\n ? ('igo.geo.layer.showSelectedLayers' | translate)\n : ('igo.geo.layer.hideSelectedLayers' | translate)\n \"\n (click)=\"toggleSelectionVisibility()\"\n >\n <mat-icon>{{\n allSelectionVisibilityHidden ? 'visibility_off' : 'visibility'\n }}</mat-icon>\n </button>\n }\n\n <button\n class=\"down-button\"\n mat-icon-button\n color=\"primary\"\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"\n searchTerm()\n ? ('igo.geo.layer.filterLowerLayer' | translate)\n : ('igo.geo.layer.lowerLayer' | translate)\n \"\n [disabled]=\"!isSelectionLowerable\"\n (click)=\"lowerSelection()\"\n >\n <mat-icon\n aria-hidden=\"false\"\n [matBadge]=\"searchTerm() ? '!' : ''\"\n matBadgeColor=\"warn\"\n matBadgeSize=\"medium\"\n [matBadgeHidden]=\"!isSelectionLowerable\"\n >arrow_downward</mat-icon\n >\n </button>\n\n <button\n class=\"up-button\"\n color=\"primary\"\n mat-icon-button\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"\n searchTerm()\n ? ('igo.geo.layer.filterRaiseLayer' | translate)\n : ('igo.geo.layer.raiseLayer' | translate)\n \"\n [disabled]=\"!isSelectionRaisable\"\n (click)=\"raiseSelection()\"\n >\n <mat-icon\n aria-hidden=\"false\"\n [matBadge]=\"searchTerm() ? '!' : ''\"\n matBadgeColor=\"warn\"\n matBadgeSize=\"medium\"\n [matBadgeHidden]=\"!isSelectionRaisable\"\n >\n arrow_upward\n </mat-icon>\n </button>\n\n @if (controller().selected.length === 1) {\n <button\n class=\"opacity-button\"\n color=\"primary\"\n mat-icon-button\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matMenuTriggerFor]=\"opacityMenu\"\n [matTooltip]=\"'igo.geo.layer.opacity' | translate\"\n >\n <mat-icon\n aria-hidden=\"false\"\n [matBadge]=\"opacity === 100 ? null : opacity\"\n matBadgeColor=\"primary\"\n matBadgeSize=\"medium\"\n >opacity</mat-icon\n >\n </button>\n <mat-menu #opacityMenu=\"matMenu\" class=\"panel-opacity-menu\">\n <mat-slider\n id=\"opacity-slider\"\n color=\"primary\"\n discrete\n step=\"5\"\n [min]=\"0\"\n [max]=\"100\"\n [matTooltip]=\"'igo.geo.layer.opacity' | translate\"\n (click)=\"$event.stopPropagation()\"\n matTooltipShowDelay=\"500\"\n tooltip-position=\"below\"\n #ngSlider\n ><input\n matSliderThumb\n [value]=\"opacity\"\n (input)=\"\n changeOpacity({\n source: ngSliderThumb,\n parent: ngSlider,\n value: ngSliderThumb.value\n })\n \"\n #ngSliderThumb=\"matSliderThumb\"\n />\n </mat-slider>\n </mat-menu>\n }\n\n @if (isExtentsValid()) {\n <button\n class=\"zoomLayer-button\"\n color=\"primary\"\n mat-icon-button\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"\n (hasMultipleSelection\n ? 'igo.geo.layer.zoomLayers'\n : 'igo.geo.layer.zoomLayer'\n ) | translate\n \"\n (click)=\"zoomLayersExtents()\"\n >\n <mat-icon matBadgeColor=\"primary\" matBadgeSize=\"medium\"\n >frame_inspect</mat-icon\n >\n </button>\n }\n\n @if (canRename) {\n <button\n color=\"primary\"\n mat-icon-button\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"'igo.geo.layer.group.rename' | translate\"\n (click)=\"handleRename()\"\n >\n <mat-icon>edit</mat-icon>\n </button>\n }\n\n <ng-content />\n </div>\n</igo-panel>\n", styles: [".igo-layer-actions-container{padding:0 6px 0 4px}.igo-layer-actions-container>div{text-align:center}.igo-layer-button-group,.actions-buttons-multi{display:flex;align-items:center;flex-direction:row-reverse;overflow-x:auto;overflow-y:hidden}.igo-layer-button-group::-webkit-scrollbar,.actions-buttons-multi::-webkit-scrollbar{height:4px}.igo-layer-button-group::-webkit-scrollbar-track,.actions-buttons-multi::-webkit-scrollbar-track{background:#f1f1f1}.igo-layer-button-group::-webkit-scrollbar-thumb,.actions-buttons-multi::-webkit-scrollbar-thumb{background:#888}.igo-layer-button-group::-webkit-scrollbar-thumb:hover,.actions-buttons-multi::-webkit-scrollbar-thumb:hover{background:#555}.igo-layer-button-group{padding-top:4px}igo-panel{height:unset}::ng-deep .panel-opacity-menu{overflow:visible!important}::ng-deep .panel-opacity-menu #opacity-slider{margin:0 16px}\n"] }]
13134
13169
  }], propDecorators: { map: [{ type: i0.Input, args: [{ isSignal: true, alias: "map", required: true }] }], controller: [{ type: i0.Input, args: [{ isSignal: true, alias: "controller", required: true }] }], searchTerm: [{ type: i0.Input, args: [{ isSignal: true, alias: "searchTerm", required: true }] }], viewerOptions: [{ type: i0.Input, args: [{ isSignal: true, alias: "viewerOptions", required: false }] }], layerChange: [{ type: i0.Output, args: ["layerChange"] }] } });
13135
13170
 
13136
13171
  class LayerViewerComponent {
@@ -17508,11 +17543,17 @@ var SpatialFilterItemType;
17508
17543
  SpatialFilterItemType["Thematics"] = "Thematics";
17509
17544
  })(SpatialFilterItemType || (SpatialFilterItemType = {}));
17510
17545
 
17546
+ const SPATIAL_FILTER_OPTIONS = new InjectionToken('SpatialFilterOptions');
17547
+
17511
17548
  class SpatialFilterService {
17512
17549
  http = inject(HttpClient);
17513
17550
  languageService = inject(LanguageService);
17514
17551
  configService = inject(ConfigService);
17515
17552
  baseUrl = 'https://terrapi.geo.securite.gouv.qc.ca';
17553
+ apiKey;
17554
+ get headers() {
17555
+ return new HttpHeaders(this.apiKey ? { 'x-api-key': this.apiKey } : undefined);
17556
+ }
17516
17557
  /*
17517
17558
  * Type association with URL
17518
17559
  */
@@ -17538,8 +17579,10 @@ class SpatialFilterService {
17538
17579
  unites: 'unites'
17539
17580
  };
17540
17581
  constructor() {
17541
- this.baseUrl =
17542
- this.configService.getConfig('spatialFilter.url') || this.baseUrl;
17582
+ const directOptions = inject(SPATIAL_FILTER_OPTIONS, { optional: true });
17583
+ const options = ObjectUtils.mergeDeep(this.configService.getConfig('spatialFilter') ?? {}, directOptions ?? {});
17584
+ this.baseUrl = options.url || this.baseUrl;
17585
+ this.apiKey = options.apiKey;
17543
17586
  }
17544
17587
  getKeyByValue(object, value) {
17545
17588
  return Object.keys(object).find((key) => object[key] === value);
@@ -17549,7 +17592,9 @@ class SpatialFilterService {
17549
17592
  */
17550
17593
  loadFilterList(type) {
17551
17594
  return this.http
17552
- .get(`${this.baseUrl}/${this.urlFilterList[type]}`)
17595
+ .get(`${this.baseUrl}/${this.urlFilterList[type]}`, {
17596
+ headers: this.headers
17597
+ })
17553
17598
  .pipe(map((featureCollection) => featureCollection.features.map((f) => {
17554
17599
  f.meta = {
17555
17600
  id: f.properties.code
@@ -17563,7 +17608,9 @@ class SpatialFilterService {
17563
17608
  loadThematicsList() {
17564
17609
  const url = 'types';
17565
17610
  const items = [];
17566
- return this.http.get(`${this.baseUrl}/${url}`).pipe(map((types) => {
17611
+ return this.http
17612
+ .get(`${this.baseUrl}/${url}`, { headers: this.headers })
17613
+ .pipe(map((types) => {
17567
17614
  types.forEach((type) => {
17568
17615
  if (type.startsWith('lieux')) {
17569
17616
  const item = {
@@ -17646,7 +17693,8 @@ class SpatialFilterService {
17646
17693
  .get(`${this.baseUrl}/${featureType}/${featureCode}`, {
17647
17694
  params: {
17648
17695
  geometry: 'true'
17649
- }
17696
+ },
17697
+ headers: this.headers
17650
17698
  })
17651
17699
  .pipe(map((f) => {
17652
17700
  f.meta = {
@@ -17670,7 +17718,8 @@ class SpatialFilterService {
17670
17718
  params: {
17671
17719
  geometry: '100',
17672
17720
  bufferOutput: buffer.toString()
17673
- }
17721
+ },
17722
+ headers: this.headers
17674
17723
  })
17675
17724
  .pipe(map((f) => {
17676
17725
  f.meta = {
@@ -17686,7 +17735,7 @@ class SpatialFilterService {
17686
17735
  .post(`${this.baseUrl}/geospatial/buffer?`, {
17687
17736
  buffer,
17688
17737
  loc: JSON.stringify(feature)
17689
- })
17738
+ }, { headers: this.headers })
17690
17739
  .pipe(map((f) => {
17691
17740
  return f;
17692
17741
  }));
@@ -17701,12 +17750,15 @@ class SpatialFilterService {
17701
17750
  }
17702
17751
  doGet(url, buffer, mapFn) {
17703
17752
  return this.http
17704
- .get(url, { params: this.getHttpParams(buffer) })
17753
+ .get(url, {
17754
+ params: this.getHttpParams(buffer),
17755
+ headers: this.headers
17756
+ })
17705
17757
  .pipe(map((fc) => fc.features.map(mapFn)));
17706
17758
  }
17707
17759
  doPost(url, body, mapFn) {
17708
17760
  return this.http
17709
- .post(url, body)
17761
+ .post(url, body, { headers: this.headers })
17710
17762
  .pipe(map((fc) => fc.features.map(mapFn)));
17711
17763
  }
17712
17764
  buildMetaForAddress(f) {
@@ -17762,7 +17814,8 @@ class SpatialFilterService {
17762
17814
  params: {
17763
17815
  geometry: '100',
17764
17816
  bufferOutput: buffer.toString()
17765
- }
17817
+ },
17818
+ headers: this.headers
17766
17819
  })
17767
17820
  .pipe(map((featureCollection) => {
17768
17821
  return featureCollection.features.map((f) => {
@@ -17779,7 +17832,7 @@ class SpatialFilterService {
17779
17832
  return this.http.post(`${this.baseUrl}/geospatial/buffer?`, {
17780
17833
  buffer,
17781
17834
  loc: JSON.stringify(features)
17782
- });
17835
+ }, { headers: this.headers });
17783
17836
  }
17784
17837
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.25", ngImport: i0, type: SpatialFilterService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
17785
17838
  static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.25", ngImport: i0, type: SpatialFilterService, providedIn: 'root' });
@@ -29168,9 +29221,14 @@ class ExportService {
29168
29221
  };
29169
29222
  static noOgreFallbacks = ['GML', 'GPX', 'KML'];
29170
29223
  ogreUrl;
29224
+ apiKey;
29171
29225
  aggregateInComment = true;
29226
+ get headers() {
29227
+ return new HttpHeaders(this.apiKey ? { 'x-api-key': this.apiKey } : undefined);
29228
+ }
29172
29229
  constructor() {
29173
29230
  this.ogreUrl = this.config.getConfig('importExport.url');
29231
+ this.apiKey = this.config.getConfig('importExport.apiKey');
29174
29232
  const gpxAggregateInComment = this.config.getConfig('importExport.gpxAggregateInComment');
29175
29233
  if (gpxAggregateInComment !== undefined) {
29176
29234
  this.aggregateInComment = gpxAggregateInComment;
@@ -29365,6 +29423,7 @@ class ExportService {
29365
29423
  return this.httpClient
29366
29424
  .post(url, features, {
29367
29425
  params,
29426
+ headers: this.headers,
29368
29427
  responseType: 'blob',
29369
29428
  observe: 'response'
29370
29429
  })
@@ -29732,14 +29791,19 @@ class ImportService {
29732
29791
  ];
29733
29792
  static allowedExtensions = ['geojson', 'kml', 'gpx', 'json', 'gml', 'zip'];
29734
29793
  ogreUrl;
29794
+ apiKey;
29735
29795
  clientSideFileSizeMax;
29796
+ get headers() {
29797
+ return new HttpHeaders(this.apiKey ? { 'x-api-key': this.apiKey } : undefined);
29798
+ }
29736
29799
  constructor() {
29737
29800
  const importConfig = this.config.getConfig('importExport');
29738
- this.ogreUrl = importConfig.url;
29739
- const configFileSizeMb = importConfig.clientSideFileSizeMaxMb;
29801
+ this.ogreUrl = importConfig?.url;
29802
+ this.apiKey = importConfig?.apiKey;
29803
+ const configFileSizeMb = importConfig?.clientSideFileSizeMaxMb;
29740
29804
  this.clientSideFileSizeMax =
29741
29805
  (configFileSizeMb ? configFileSizeMb : 30) * Math.pow(1024, 2);
29742
- if (importConfig.formats) {
29806
+ if (importConfig?.formats) {
29743
29807
  ImportService.allowedExtensions = importConfig.formats
29744
29808
  .map((format) => ImportService.formatExtensionAssociation[format])
29745
29809
  .filter((e) => e);
@@ -29816,7 +29880,7 @@ class ImportService {
29816
29880
  formData.append('targetSrs', projectionOut);
29817
29881
  formData.append('formatOutput', 'GEOJSON');
29818
29882
  formData.append('skipFailures', '');
29819
- this.http.post(url, formData, { headers: new HttpHeaders() }).subscribe((response) => {
29883
+ this.http.post(url, formData, { headers: this.headers }).subscribe((response) => {
29820
29884
  if (response === null) {
29821
29885
  observer.error(new ImportUnreadableFileError());
29822
29886
  return;
@@ -31097,6 +31161,12 @@ class SearchSource {
31097
31161
  get searchUrl() {
31098
31162
  return this.options.searchUrl;
31099
31163
  }
31164
+ /**
31165
+ * Search request headers
31166
+ */
31167
+ get headers() {
31168
+ return new HttpHeaders(this.options.apiKey ? { 'x-api-key': this.options.apiKey } : undefined);
31169
+ }
31100
31170
  /**
31101
31171
  * Search query params
31102
31172
  */
@@ -34168,7 +34238,10 @@ class IChercheSearchSource extends SearchSource {
34168
34238
  }
34169
34239
  getSearch(term, params) {
34170
34240
  return this.http
34171
- .get(`${this.searchUrl}/geocode`, { params })
34241
+ .get(`${this.searchUrl}/geocode`, {
34242
+ params,
34243
+ headers: this.headers
34244
+ })
34172
34245
  .pipe(map((response) => this.extractResults(response, term)), catchError((err) => {
34173
34246
  err.error.toDisplay = true;
34174
34247
  err.error.title = this.languageService.translate.instant(this.defaultOptions.title ?? '');
@@ -34177,7 +34250,7 @@ class IChercheSearchSource extends SearchSource {
34177
34250
  }
34178
34251
  getAllowedTypes() {
34179
34252
  return this.http
34180
- .get(`${this.searchUrl}/types`)
34253
+ .get(`${this.searchUrl}/types`, { headers: this.headers })
34181
34254
  .subscribe((types) => {
34182
34255
  const typeSetting = this.settings.find((s) => s.name === 'type');
34183
34256
  typeSetting.values.forEach((v) => {
@@ -34188,7 +34261,7 @@ class IChercheSearchSource extends SearchSource {
34188
34261
  this.hashtagsLieuxToKeep = [
34189
34262
  ...new Set(typesMatched
34190
34263
  .map((t) => t.split('.'))
34191
- .reduce((a, b) => a.concat(b))
34264
+ .reduce((a, b) => a.concat(b), [])
34192
34265
  .filter((t) => t !== 'lieux'))
34193
34266
  ];
34194
34267
  }
@@ -34548,14 +34621,17 @@ class IChercheReverseSearchSource extends SearchSource {
34548
34621
  }
34549
34622
  getReverseSearch(params) {
34550
34623
  return this.http
34551
- .get(`${this.searchUrl}/locate`, { params })
34624
+ .get(`${this.searchUrl}/locate`, {
34625
+ params,
34626
+ headers: this.headers
34627
+ })
34552
34628
  .pipe(map((response) => {
34553
34629
  return this.extractResults(response);
34554
34630
  }));
34555
34631
  }
34556
34632
  getAllowedTypes() {
34557
34633
  return this.http
34558
- .get(`${this.searchUrl}/types`)
34634
+ .get(`${this.searchUrl}/types`, { headers: this.headers })
34559
34635
  .subscribe((types) => {
34560
34636
  const typeSetting = this.settings.find((s) => s.name === 'type');
34561
34637
  typeSetting.values.forEach((v) => {
@@ -34930,7 +35006,10 @@ class ILayerSearchSource extends SearchSource {
34930
35006
  }
34931
35007
  getSearch(term, params) {
34932
35008
  return this.http
34933
- .get(this.searchUrl, { params })
35009
+ .get(this.searchUrl, {
35010
+ params,
35011
+ headers: this.headers
35012
+ })
34934
35013
  .pipe(map((response) => this.extractResults(response, term)));
34935
35014
  }
34936
35015
  computeSearchRequestParams(term, options) {
@@ -40395,6 +40474,7 @@ function provideDirection(...sources) {
40395
40474
  return providers;
40396
40475
  }
40397
40476
 
40477
+ const OSRM_DIRECTIONS_SOURCE_OPTIONS = new InjectionToken('OsrmDirectionsSourceOptions');
40398
40478
  var DirectionSourceKind;
40399
40479
  (function (DirectionSourceKind) {
40400
40480
  DirectionSourceKind[DirectionSourceKind["OSRM"] = 0] = "OSRM";
@@ -40437,9 +40517,15 @@ class OsrmDirectionsSource extends DirectionsSource {
40437
40517
  this._options.profiles = value;
40438
40518
  }
40439
40519
  _options;
40520
+ get headers() {
40521
+ return new HttpHeaders(this._options?.apiKey ? { 'x-api-key': this._options.apiKey } : undefined);
40522
+ }
40440
40523
  constructor() {
40441
40524
  super();
40442
- this._options = this._config.getConfig('directionsSources.osrm');
40525
+ const directOptions = inject(OSRM_DIRECTIONS_SOURCE_OPTIONS, {
40526
+ optional: true
40527
+ });
40528
+ this._options = ObjectUtils.mergeDeep(this._config.getConfig('directionsSources.osrm') ?? {}, directOptions ?? {});
40443
40529
  if (!this.baseUrl) {
40444
40530
  this.baseUrl = '/apis/itineraire/route/v1/';
40445
40531
  }
@@ -40482,7 +40568,8 @@ class OsrmDirectionsSource extends DirectionsSource {
40482
40568
  const url = this.url;
40483
40569
  return this._http
40484
40570
  .get(url + coordinates.join(';'), {
40485
- params
40571
+ params,
40572
+ headers: this.headers
40486
40573
  })
40487
40574
  .pipe(map((res) => this.extractRoutesData(res)));
40488
40575
  }
@@ -40569,10 +40656,15 @@ function provideOsrmDirectionsSource() {
40569
40656
  multi: true
40570
40657
  };
40571
40658
  }
40572
- function withOsrmSource() {
40659
+ function withOsrmSource(options) {
40573
40660
  return {
40574
40661
  kind: DirectionSourceKind.OSRM,
40575
- providers: [provideOsrmDirectionsSource()]
40662
+ providers: [
40663
+ provideOsrmDirectionsSource(),
40664
+ ...(options
40665
+ ? [{ provide: OSRM_DIRECTIONS_SOURCE_OPTIONS, useValue: options }]
40666
+ : [])
40667
+ ]
40576
40668
  };
40577
40669
  }
40578
40670
 
@@ -40656,7 +40748,11 @@ class CadastreSearchSource extends SearchSource {
40656
40748
  }
40657
40749
  getCadastre(term, params) {
40658
40750
  return this.http
40659
- .get(this.searchUrl, { params, responseType: 'text' })
40751
+ .get(this.searchUrl, {
40752
+ params,
40753
+ headers: this.headers,
40754
+ responseType: 'text'
40755
+ })
40660
40756
  .pipe(map((response) => this.extractResults(response, term)));
40661
40757
  }
40662
40758
  computeSearchRequestParams(term, options) {
@@ -40900,7 +40996,7 @@ class NominatimSearchSource extends SearchSource {
40900
40996
  }
40901
40997
  getSearch(term, params) {
40902
40998
  return this.http
40903
- .get(this.searchUrl, { params })
40999
+ .get(this.searchUrl, { params, headers: this.headers })
40904
41000
  .pipe(map((response) => this.extractResults(response, term)));
40905
41001
  }
40906
41002
  computeSearchRequestParams(term, options) {
@@ -41168,7 +41264,13 @@ class StoredQueriesSearchSource extends SearchSource {
41168
41264
  }
41169
41265
  getSearch(term, params) {
41170
41266
  return new RegExp('.*?gml.*?', 'i').test(this.storedQueriesOptions.outputformat ?? '')
41171
- ? this.http.get(this.searchUrl, { params, responseType: 'text' }).pipe(map((response) => {
41267
+ ? this.http
41268
+ .get(this.searchUrl, {
41269
+ params,
41270
+ headers: this.headers,
41271
+ responseType: 'text'
41272
+ })
41273
+ .pipe(map((response) => {
41172
41274
  let resultArray = this.extractResults(this.extractWFSData(response), term);
41173
41275
  resultArray.sort((a, b) => (a.meta.score ?? 0) > (b.meta.score ?? 0)
41174
41276
  ? 1
@@ -41192,7 +41294,7 @@ class StoredQueriesSearchSource extends SearchSource {
41192
41294
  }
41193
41295
  return resultArray;
41194
41296
  }))
41195
- : this.http.get(this.searchUrl, { params }).pipe(map((response) => {
41297
+ : this.http.get(this.searchUrl, { params, headers: this.headers }).pipe(map((response) => {
41196
41298
  return this.extractResults(this.extractWFSData(response), term);
41197
41299
  }));
41198
41300
  }
@@ -41396,8 +41498,12 @@ class StoredQueriesReverseSearchSource extends SearchSource {
41396
41498
  getReverseSearch(params) {
41397
41499
  const isGml = new RegExp('.*?gml.*?', 'i').test(this.storedQueriesOptions.outputformat ?? '');
41398
41500
  const request$ = isGml
41399
- ? this.http.get(this.searchUrl, { params, responseType: 'text' })
41400
- : this.http.get(this.searchUrl, { params });
41501
+ ? this.http.get(this.searchUrl, {
41502
+ params,
41503
+ headers: this.headers,
41504
+ responseType: 'text'
41505
+ })
41506
+ : this.http.get(this.searchUrl, { params, headers: this.headers });
41401
41507
  return request$.pipe(map((response) => {
41402
41508
  return this.extractResults(this.extractWFSData(response));
41403
41509
  }));
@@ -42117,5 +42223,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.25", ngImpo
42117
42223
  * Generated bundle index. Do not edit.
42118
42224
  */
42119
42225
 
42120
- export { AddCatalogDialogComponent, ArcGISRestCapabilitiesLayerTypes, ArcGISRestDataSource, BaseLayersSwitcherComponent, CADASTRE_SEARCH_SOURCE_OPTIONS, CATALOG_DIRECTIVES, CATALOG_LIBRARY_DIRECTIVES, COORDINATES_REVERSE_SEARCH_SOURCE_OPTIONS, COORDINATES_REVERSE_SEARCH_SOURCE_PROJECTIONS, CadastreSearchSource, CapabilitiesService, CartoDataSource, Catalog, CatalogBrowserComponent, CatalogItemType, CatalogLibraryComponent, CatalogService, ClusterDataSource, ConfirmationPopupComponent, CoordinatesReverseSearchSource, CoordinatesReverseSearchSourceFactory, CoordinatesSearchResultFormatter, CoordinatesUnit, CsvSeparator, DDtoDMS, DataService, DataSource, DataSourceService, DirectionRelativePositionType, DirectionSourceKind, DirectionsButtonsComponent, DirectionsComponent, DirectionsFormat, DirectionsInputsComponent, DirectionsResultsComponent, DirectionsService, DirectionsSource, DirectionsType, DownloadButtonComponent, DownloadService, DrawComponent, DrawControl, DrawIconService, DrawStyleService, DropGeoFileDirective, EditionWorkspace, EditionWorkspaceService, EpsgSelectorModalComponent, EsriStyleGenerator, EventRefresh, ExportButtonComponent, ExportError, ExportFormat, ExportFormatLegacy, ExportInvalidFileError, ExportNothingToExportError, ExportService, FEATURE, FEATURE_DETAILS_DIRECTIVES, FEATURE_DIRECTIVES, FILTER_DIRECTIVES, FeatureDataSource, FeatureDetailsComponent, FeatureDetailsDirective, FeatureDetailsPanelComponent, FeatureFormComponent, FeatureMotion, FeatureStore, FeatureStoreInMapExtentStrategy, FeatureStoreInMapResolutionStrategy, FeatureStoreLoadingLayerStrategy, FeatureStoreLoadingStrategy, FeatureStoreSearchIndexStrategy, FeatureStoreSelectionStrategy, FeatureWorkspace, FeatureWorkspaceService, FilterableDataSourcePipe, FontType, GEOMETRY_FORM_FIELD_DIRECTIVES, GeoPropertiesStrategy, GeolocateButtonComponent, GeolocationOverlayType, GeometryFormFieldComponent, GeometryFormFieldInputComponent, GeometrySliceError, GeometrySliceLineStringError, GeometrySliceMultiPolygonError, GeometrySliceTooManyIntersectionError, GeometryType, GeostylerService, GetCapabilitiesParams, GoogleLinks, HomeExtentButtonComponent, HoverFeatureDirective, ICHERCHE_REVERSE_SEARCH_SOURCE_OPTIONS, ICHERCHE_SEARCH_SOURCE_OPTIONS, IChercheReverseSearchSource, IChercheSearchResultFormatter, IChercheSearchSource, ID_GROUP_PREFIX, ILAYER_SEARCH_SOURCE_OPTIONS, ILayerSearchResultFormatter, ILayerSearchSource, IMPORT_EXPORT_DIRECTIVES, IgoCatalogBrowserModule, IgoCatalogLibraryModule, IgoCatalogModule, IgoConfirmationPopupModule, IgoDirectionsModule, IgoDownloadModule, IgoDrawModule, IgoDrawingToolModule, IgoFeatureDetailsModule, IgoFeatureFormModule, IgoFeatureModule, IgoFilterModule, IgoGeoModule, IgoGeoWorkspaceModule, IgoGeometryFormFieldModule, IgoGeometryModule, IgoHttpParameterCodec, IgoImportExportModule, IgoLayerModule, IgoMap, IgoMapModule, IgoMeasureModule, IgoMeasurerModule, IgoMetadataModule, IgoOgcFilterModule, IgoPrintModule, IgoQueryModule, IgoSearchBarModule, IgoSearchModule, IgoSearchResultsModule, IgoSearchSelectorModule, IgoSearchSettingsModule, IgoStyleModule, IgoToastModule, IgoWktModule, IgoWorkspaceSelectorModule, IgoWorkspaceUpdatorModule, ImageArcGISRestDataSource, ImageLayer, ImageWatcher, ImportError, ImportExportComponent, ImportInvalidFileError, ImportNothingToImportError, ImportOgreServerError, ImportSRSError, ImportService, ImportSizeError, ImportUnreadableFileError, InfoSectionComponent, InteractiveSelectionFormWidget, LAYER, LAYER_DIRECTIVES, LAYER_PERSISTENCE, LabelType, LaneType, Layer, LayerBase, LayerController, LayerExtensionManager, LayerGroup, LayerGroupBase, LayerGroupComponent, LayerItemComponent, LayerLegendComponent, LayerLegendItemComponent, LayerLegendListBindingDirective, LayerLegendListComponent, LayerListComponent, LayerListControlsEnum, LayerListToolComponent, LayerListToolService, LayerSearchComponent, LayerService, LayerUnavailableComponent, LayerUnavailableListComponent, LayerViewerBottomActionsComponent, LayerViewerComponent, LayerVisibilityButtonComponent, Linked, LinkedProperties, MAP_DIRECTIVES, MEASURER_DIRECTIVES, MEASURE_UNIT_AUTO, METADATA_DIRECTIVES, MVTDataSource, ManeuverModifier, ManeuverType, MapBase, MapBrowserComponent, MapCenterComponent, MapController, MapGeolocationController, MapOfflineDirective, MapService, MapViewAction, MapViewController, MapboxService, MeasureAreaUnit, MeasureAreaUnitAbbreviation, MeasureFormatPipe, MeasureLengthUnit, MeasureLengthUnitAbbreviation, MeasureType, MeasurerComponent, MenuButtonComponent, MetadataAbstractComponent, MetadataButtonComponent, MetadataService, MiniBaseMapComponent, ModifyControl, NOMINATIM_SEARCH_SOURCE_OPTIONS, NominatimSearchSource, OFFLINE_LAYER_RESTORE, OGCFilterService, OSMDataSource, OfflineButtonComponent, OgcFilterButtonComponent, OgcFilterComponent, OgcFilterFormComponent, OgcFilterOperator, OgcFilterOperatorType, OgcFilterSelectionComponent, OgcFilterTimeComponent, OgcFilterTimeSliderComponent, OgcFilterWidget, OgcFilterWriter, OgcFilterableFormComponent, OgcFilterableItemComponent, OgcFilterableListBindingDirective, OgcFilterableListComponent, OgcSelectorFields, OlDragSelectInteraction, OptionsApiService, OptionsService, OsmLinks, OsrmDirectionsSource, Overlay, OverlayAction, OverlayService, PROJECTION_PROVIDER_OPTIONS, PointerPositionDirective, PrintComponent, PrintFormComponent, PrintLegendPosition, PrintOrientation, PrintOutputFormat, PrintPaperFormat, PrintResolution, PrintSaveImageFormat, PrintService, ProjectionService, PropertyTypeDetectorService, ProposalType, QueryDirective, QueryFormat, QueryFormatMimeType, QueryHtmlTarget, QuerySearchSource, QueryService, RADIUS_NAME, RotationButtonComponent, RoutesFeatureStore, SEARCH_DIRECTIVES, SEARCH_RESULTS_DIRECTIVES, SEARCH_TYPES, STORED_QUERIES_REVERSE_SEARCH_SOURCE_OPTIONS, STORED_QUERIES_SEARCH_SOURCE_OPTIONS, STYLE_ENGINES, SearchBarComponent, SearchPointerSummaryDirective, SearchResultAddButtonComponent, SearchResultMode, SearchResultsComponent, SearchSelectorComponent, SearchService, SearchSettingsComponent, SearchSource, SearchSourceKind, SearchSourceService, SliceControl, SourceDirectionsType, SpatialFilterItemComponent, SpatialFilterItemType, SpatialFilterListComponent, SpatialFilterQueryType, SpatialFilterService, SpatialFilterType, SpatialFilterTypeComponent, StepsFeatureStore, StopsFeatureStore, StopsStore, StoredQueriesReverseSearchSource, StoredQueriesSearchSource, StyleEngineKind, StyleModalDrawingComponent, StyleModalLayerButtonComponent, StyleModalLayerComponent, StyleService, SwipeControlComponent, TileArcGISRestDataSource, TileDebugDataSource, TileLayer, TileWatcher, TimeFilterButtonComponent, TimeFilterFormComponent, TimeFilterItemComponent, TimeFilterListBindingDirective, TimeFilterListComponent, TimeFilterService, TimeFilterStyle, TimeFilterType, TooltipType, TrackFeatureButtonComponent, TypeCapabilities, TypeCatalog, VECTOR_LAYER_EXTENSIONS, VectorLayer, VectorTileLayer, VectorWatcher, WFSDataSource, WFSService, WMSDataSource, WMTSDataSource, WORKSPACE_SEARCH_SOURCE_OPTIONS, WakeLockButtonComponent, WebSocketDataSource, WfsWorkspace, WfsWorkspaceService, WktService, WorkspaceSearchSource, WorkspaceSelectorDirective, WorkspaceUpdatorDirective, XYZDataSource, ZoomButtonComponent, addLinearRingToOlPolygon, addOrRemoveLayer, addRouteToRoutesFeatureStore, addStopToStopsFeatureStore, addStopToStore, baseOlStyle, bufferOlGeometry, buildUrl, buildWfsBatchUrls, cadastreSearchSourceFactory, checkWfsParams, clearOlGeometryMidpoints, clusterOlStyleFunction, computeBestAreaUnit, computeBestLengthUnit, computeLayerTitleFromFile, computeOlFeatureExtent, computeOlFeaturesDiff, computeOlFeaturesExtent, computeProjectionsConstraints, computeRelativePosition, computeStopsPosition, computeTermSimilarity, convertDDToDMS, createDefaultTileGrid, createDrawHoleInteractionStyle, createDrawInteractionStyle, createFilterInMapExtentOrResolutionStrategy, createInteractionStyle, createMeasureInteractionStyle, createMeasureLayerStyle, createOlTooltipAtPoint, createOlTooltipDrawAtPoint, createTableTemplate, ctrlKeyDown, defaultCoordinatesSearchResultFormatterFactory, defaultEpsg, defaultFieldNameGeometry, defaultIChercheSearchResultFormatterFactory, defaultMaxFeatures, defaultWfsVersion, detectFileEPSG, directionsStyle, doesOlGeometryIntersects, entitiesToRowData, exportToCSV, featureFromOl, featureToOl, featureToSearchResult, featuresAreOutOfView, featuresAreTooDeepInView, findDiff, findLayerByLinkId, findParentId, formatDistance, formatDuration, formatMeasure, formatScale, formatStep, formatWFSQueryString, generateArcgisRestIdFromSourceOptions, generateFeatureIdFromSourceOptions, generateId, generateIdFromSourceOptions, generateWMSIdFromSourceOptions, generateWMTSIdFromSourceOptions, generateWfsIdFromSourceOptions, generateXYZIdFromSourceOptions, getAllChildLayersByDeletion, getAllChildLayersByProperty, getFeatureTableColumns, getFileExtension, getFilterBadge, getFormatFromOptions, getGeoServiceAction, getLayerOptionIdentifier, getLayersByDeletion, getLayersLegends, getLinkedLayersOptions, getMousePositionFromOlGeometryEvent, getOlTooltipAtCenter, getOlTooltipsAtMidpoints, getResolutionFromScale, getRootParentByDeletion, getRootParentByProperty, getRowsInMapExtent, getSaveableOgcParams, getScaleFromResolution, getSelectedOnly, getTooltipsOfOlGeometry, gmlRegex, handleFileExportError, handleFileExportSuccess, handleFileImportError, handleFileImportSuccess, handleInvalidFileImportError, handleLayerPropertyChange, handleNothingToExportError, handleNothingToImportError, handleOgreServerImportError, handleSRSImportError, handleSizeFileImportError, handleUnreadbleFileImportError, hideOlFeature, ichercheReverseSearchSourceFactory, ichercheSearchSourceFactory, ilayerSearchResultFormatterFactory, ilayerSearchSourceFactory, initRoutesFeatureStore, initStepsFeatureStore, initStopsFeatureStore, interactiveSelectionFormWidgetFactory, isAnyOlStyle, isBaseLayer, isBaseLayerLinked, isCsvExport, isEngineLayerStyle, isLayerGroup, isLayerGroupOptions, isLayerItem, isLayerItemOptions, isLayerLinked, isLayerLinkedOptions, isLayerLinkedTogether, isLinkMaster, isOlFlatStyleLike, isSaveableLayer, jsonRegex, layerFeatureIsQueryable, layerIsQueryable, lonLatConversion, mapExtentStrategyActiveToolTip, markerOlStyle, measureOlGeometry, measureOlGeometryArea, measureOlGeometryLength, mergeLayersOptions, metersToFeet, metersToKilometers, metersToMiles, metersToUnit, moveToOlFeatures, mtmZoneFromLonLat, nearTransparentOlStyle, noElementSelected, nominatimSearchSourceFactory, ogcFilterWidgetFactory, olLayerFeatureIsQueryable, olLayerIsQueryable, optionsApiFactory, osrmDirectionsSourcesFactory, provideCadastreSearchSource, provideCoordinatesReverseSearchSource, provideDefaultCoordinatesSearchResultFormatter, provideDefaultIChercheSearchResultFormatter, provideDirection, provideIChercheReverseSearchSource, provideIChercheSearchSource, provideILayerSearchResultFormatter, provideILayerSearchSource, provideInteractiveSelectionFormWidget, provideNominatimSearchSource, provideOgcFilterWidget, provideOptionsApi, provideOsrmDirectionsSource, provideProjection, provideQuerySearchSource, provideSearch, provideSearchSourceService, provideStoredQueriesReverseSearchSource, provideStoredQueriesSearchSource, provideStyle, provideWorkspaceSearchSource, querySearchSourceFactory, randomOlFlatStyle, removeStopFromStore, renderFeatureFromOl, roundCoordTo, roundCoordToString, scaleExtent, searchSourceServiceFactory, selectionOlStyle, setRowsInMapExtent, setSelectedOnly, sliceOlGeometry, sliceOlPolygon, sortLayersByZindex, sourceCanReverseSearch, sourceCanReverseSearchAsSummary, sourceCanSearch, squareMetersToAcres, squareMetersToHectares, squareMetersToSquareFeet, squareMetersToSquareKilometers, squareMetersToSquareMiles, squareMetersToUnit, standardizeUrl, storedqueriesReverseSearchSourceFactory, storedqueriesSearchSourceFactory, stringToLonLat, styleVariant, translateManeuverBearing, translateManeuverModifier, tryAddLoadingStrategy, tryAddSelectionStrategy, tryBindStoreLayer, updateOlGeometryCenter, updateOlGeometryMidpoints, updateOlTooltipAtCenter, updateOlTooltipDrawAtCenter, updateOlTooltipsAtMidpoints, updateOlTooltipsDrawAtMidpoints, updateStoreSorting, utmZoneFromLonLat, viewStatesAreEqual, withCadastreSource, withCoordinatesReverseSource, withGeostyler, withIChercheReverseSource, withIChercheSource, withILayerSource, withMapbox, withNominatimSource, withOsrmSource, withStoredQueriesReverseSource, withStoredQueriesSource, withWorkspaceSource, workspaceSearchSourceFactory, zoneMtm, zoneUtm };
42226
+ export { AddCatalogDialogComponent, ArcGISRestCapabilitiesLayerTypes, ArcGISRestDataSource, BaseLayersSwitcherComponent, CADASTRE_SEARCH_SOURCE_OPTIONS, CATALOG_DIRECTIVES, CATALOG_LIBRARY_DIRECTIVES, COORDINATES_REVERSE_SEARCH_SOURCE_OPTIONS, COORDINATES_REVERSE_SEARCH_SOURCE_PROJECTIONS, CadastreSearchSource, CapabilitiesService, CartoDataSource, Catalog, CatalogBrowserComponent, CatalogItemType, CatalogLibraryComponent, CatalogService, ClusterDataSource, ConfirmationPopupComponent, CoordinatesReverseSearchSource, CoordinatesReverseSearchSourceFactory, CoordinatesSearchResultFormatter, CoordinatesUnit, CsvSeparator, DDtoDMS, DataService, DataSource, DataSourceService, DirectionRelativePositionType, DirectionSourceKind, DirectionsButtonsComponent, DirectionsComponent, DirectionsFormat, DirectionsInputsComponent, DirectionsResultsComponent, DirectionsService, DirectionsSource, DirectionsType, DownloadButtonComponent, DownloadService, DrawComponent, DrawControl, DrawIconService, DrawStyleService, DropGeoFileDirective, EditionWorkspace, EditionWorkspaceService, EpsgSelectorModalComponent, EsriStyleGenerator, EventRefresh, ExportButtonComponent, ExportError, ExportFormat, ExportFormatLegacy, ExportInvalidFileError, ExportNothingToExportError, ExportService, FEATURE, FEATURE_DETAILS_DIRECTIVES, FEATURE_DIRECTIVES, FILTER_DIRECTIVES, FeatureDataSource, FeatureDetailsComponent, FeatureDetailsDirective, FeatureDetailsPanelComponent, FeatureFormComponent, FeatureMotion, FeatureStore, FeatureStoreInMapExtentStrategy, FeatureStoreInMapResolutionStrategy, FeatureStoreLoadingLayerStrategy, FeatureStoreLoadingStrategy, FeatureStoreSearchIndexStrategy, FeatureStoreSelectionStrategy, FeatureWorkspace, FeatureWorkspaceService, FilterableDataSourcePipe, FontType, GEOMETRY_FORM_FIELD_DIRECTIVES, GeoPropertiesStrategy, GeolocateButtonComponent, GeolocationOverlayType, GeometryFormFieldComponent, GeometryFormFieldInputComponent, GeometrySliceError, GeometrySliceLineStringError, GeometrySliceMultiPolygonError, GeometrySliceTooManyIntersectionError, GeometryType, GeostylerService, GetCapabilitiesParams, GoogleLinks, HomeExtentButtonComponent, HoverFeatureDirective, ICHERCHE_REVERSE_SEARCH_SOURCE_OPTIONS, ICHERCHE_SEARCH_SOURCE_OPTIONS, IChercheReverseSearchSource, IChercheSearchResultFormatter, IChercheSearchSource, ID_GROUP_PREFIX, ILAYER_SEARCH_SOURCE_OPTIONS, ILayerSearchResultFormatter, ILayerSearchSource, IMPORT_EXPORT_DIRECTIVES, IgoCatalogBrowserModule, IgoCatalogLibraryModule, IgoCatalogModule, IgoConfirmationPopupModule, IgoDirectionsModule, IgoDownloadModule, IgoDrawModule, IgoDrawingToolModule, IgoFeatureDetailsModule, IgoFeatureFormModule, IgoFeatureModule, IgoFilterModule, IgoGeoModule, IgoGeoWorkspaceModule, IgoGeometryFormFieldModule, IgoGeometryModule, IgoHttpParameterCodec, IgoImportExportModule, IgoLayerModule, IgoMap, IgoMapModule, IgoMeasureModule, IgoMeasurerModule, IgoMetadataModule, IgoOgcFilterModule, IgoPrintModule, IgoQueryModule, IgoSearchBarModule, IgoSearchModule, IgoSearchResultsModule, IgoSearchSelectorModule, IgoSearchSettingsModule, IgoStyleModule, IgoToastModule, IgoWktModule, IgoWorkspaceSelectorModule, IgoWorkspaceUpdatorModule, ImageArcGISRestDataSource, ImageLayer, ImageWatcher, ImportError, ImportExportComponent, ImportInvalidFileError, ImportNothingToImportError, ImportOgreServerError, ImportSRSError, ImportService, ImportSizeError, ImportUnreadableFileError, InfoSectionComponent, InteractiveSelectionFormWidget, LAYER, LAYER_DIRECTIVES, LAYER_PERSISTENCE, LabelType, LaneType, Layer, LayerBase, LayerController, LayerExtensionManager, LayerGroup, LayerGroupBase, LayerGroupComponent, LayerItemComponent, LayerLegendComponent, LayerLegendItemComponent, LayerLegendListBindingDirective, LayerLegendListComponent, LayerListComponent, LayerListControlsEnum, LayerListToolComponent, LayerListToolService, LayerSearchComponent, LayerService, LayerUnavailableComponent, LayerUnavailableListComponent, LayerViewerBottomActionsComponent, LayerViewerComponent, LayerVisibilityButtonComponent, Linked, LinkedProperties, MAP_DIRECTIVES, MEASURER_DIRECTIVES, MEASURE_UNIT_AUTO, METADATA_DIRECTIVES, MVTDataSource, ManeuverModifier, ManeuverType, MapBase, MapBrowserComponent, MapCenterComponent, MapController, MapGeolocationController, MapOfflineDirective, MapService, MapViewAction, MapViewController, MapboxService, MeasureAreaUnit, MeasureAreaUnitAbbreviation, MeasureFormatPipe, MeasureLengthUnit, MeasureLengthUnitAbbreviation, MeasureType, MeasurerComponent, MenuButtonComponent, MetadataAbstractComponent, MetadataButtonComponent, MetadataService, MiniBaseMapComponent, ModifyControl, NOMINATIM_SEARCH_SOURCE_OPTIONS, NominatimSearchSource, OFFLINE_LAYER_RESTORE, OGCFilterService, OSMDataSource, OSRM_DIRECTIONS_SOURCE_OPTIONS, OfflineButtonComponent, OgcFilterButtonComponent, OgcFilterComponent, OgcFilterFormComponent, OgcFilterOperator, OgcFilterOperatorType, OgcFilterSelectionComponent, OgcFilterTimeComponent, OgcFilterTimeSliderComponent, OgcFilterWidget, OgcFilterWriter, OgcFilterableFormComponent, OgcFilterableItemComponent, OgcFilterableListBindingDirective, OgcFilterableListComponent, OgcSelectorFields, OlDragSelectInteraction, OptionsApiService, OptionsService, OsmLinks, OsrmDirectionsSource, Overlay, OverlayAction, OverlayService, PROJECTION_PROVIDER_OPTIONS, PointerPositionDirective, PrintComponent, PrintFormComponent, PrintLegendPosition, PrintOrientation, PrintOutputFormat, PrintPaperFormat, PrintResolution, PrintSaveImageFormat, PrintService, ProjectionService, PropertyTypeDetectorService, ProposalType, QueryDirective, QueryFormat, QueryFormatMimeType, QueryHtmlTarget, QuerySearchSource, QueryService, RADIUS_NAME, RotationButtonComponent, RoutesFeatureStore, SEARCH_DIRECTIVES, SEARCH_RESULTS_DIRECTIVES, SEARCH_TYPES, SPATIAL_FILTER_OPTIONS, STORED_QUERIES_REVERSE_SEARCH_SOURCE_OPTIONS, STORED_QUERIES_SEARCH_SOURCE_OPTIONS, STYLE_ENGINES, SearchBarComponent, SearchPointerSummaryDirective, SearchResultAddButtonComponent, SearchResultMode, SearchResultsComponent, SearchSelectorComponent, SearchService, SearchSettingsComponent, SearchSource, SearchSourceKind, SearchSourceService, SliceControl, SourceDirectionsType, SpatialFilterItemComponent, SpatialFilterItemType, SpatialFilterListComponent, SpatialFilterQueryType, SpatialFilterService, SpatialFilterType, SpatialFilterTypeComponent, StepsFeatureStore, StopsFeatureStore, StopsStore, StoredQueriesReverseSearchSource, StoredQueriesSearchSource, StyleEngineKind, StyleModalDrawingComponent, StyleModalLayerButtonComponent, StyleModalLayerComponent, StyleService, SwipeControlComponent, TileArcGISRestDataSource, TileDebugDataSource, TileLayer, TileWatcher, TimeFilterButtonComponent, TimeFilterFormComponent, TimeFilterItemComponent, TimeFilterListBindingDirective, TimeFilterListComponent, TimeFilterService, TimeFilterStyle, TimeFilterType, TooltipType, TrackFeatureButtonComponent, TypeCapabilities, TypeCatalog, VECTOR_LAYER_EXTENSIONS, VectorLayer, VectorTileLayer, VectorWatcher, WFSDataSource, WFSService, WMSDataSource, WMTSDataSource, WORKSPACE_SEARCH_SOURCE_OPTIONS, WakeLockButtonComponent, WebSocketDataSource, WfsWorkspace, WfsWorkspaceService, WktService, WorkspaceSearchSource, WorkspaceSelectorDirective, WorkspaceUpdatorDirective, XYZDataSource, ZoomButtonComponent, addLinearRingToOlPolygon, addOrRemoveLayer, addRouteToRoutesFeatureStore, addStopToStopsFeatureStore, addStopToStore, baseOlStyle, bufferOlGeometry, buildUrl, buildWfsBatchUrls, cadastreSearchSourceFactory, checkWfsParams, clearOlGeometryMidpoints, clusterOlStyleFunction, computeBestAreaUnit, computeBestLengthUnit, computeLayerTitleFromFile, computeOlFeatureExtent, computeOlFeaturesDiff, computeOlFeaturesExtent, computeProjectionsConstraints, computeRelativePosition, computeStopsPosition, computeTermSimilarity, convertDDToDMS, createDefaultTileGrid, createDrawHoleInteractionStyle, createDrawInteractionStyle, createFilterInMapExtentOrResolutionStrategy, createInteractionStyle, createMeasureInteractionStyle, createMeasureLayerStyle, createOlTooltipAtPoint, createOlTooltipDrawAtPoint, createTableTemplate, ctrlKeyDown, defaultCoordinatesSearchResultFormatterFactory, defaultEpsg, defaultFieldNameGeometry, defaultIChercheSearchResultFormatterFactory, defaultMaxFeatures, defaultWfsVersion, detectFileEPSG, directionsStyle, doesOlGeometryIntersects, entitiesToRowData, exportToCSV, featureFromOl, featureToOl, featureToSearchResult, featuresAreOutOfView, featuresAreTooDeepInView, findDiff, findLayerByLinkId, findParentId, formatDistance, formatDuration, formatMeasure, formatScale, formatStep, formatWFSQueryString, generateArcgisRestIdFromSourceOptions, generateFeatureIdFromSourceOptions, generateId, generateIdFromSourceOptions, generateWMSIdFromSourceOptions, generateWMTSIdFromSourceOptions, generateWfsIdFromSourceOptions, generateXYZIdFromSourceOptions, getAllChildLayersByDeletion, getAllChildLayersByProperty, getFeatureTableColumns, getFileExtension, getFilterBadge, getFormatFromOptions, getGeoServiceAction, getLayerOptionIdentifier, getLayersByDeletion, getLayersLegends, getLinkedLayersOptions, getMousePositionFromOlGeometryEvent, getOlTooltipAtCenter, getOlTooltipsAtMidpoints, getResolutionFromScale, getRootParentByDeletion, getRootParentByProperty, getRowsInMapExtent, getSaveableOgcParams, getScaleFromResolution, getSelectedOnly, getTooltipsOfOlGeometry, gmlRegex, handleFileExportError, handleFileExportSuccess, handleFileImportError, handleFileImportSuccess, handleInvalidFileImportError, handleLayerPropertyChange, handleNothingToExportError, handleNothingToImportError, handleOgreServerImportError, handleSRSImportError, handleSizeFileImportError, handleUnreadbleFileImportError, hideOlFeature, ichercheReverseSearchSourceFactory, ichercheSearchSourceFactory, ilayerSearchResultFormatterFactory, ilayerSearchSourceFactory, initRoutesFeatureStore, initStepsFeatureStore, initStopsFeatureStore, interactiveSelectionFormWidgetFactory, isAnyOlStyle, isBaseLayer, isBaseLayerLinked, isCsvExport, isEngineLayerStyle, isLayerGroup, isLayerGroupOptions, isLayerItem, isLayerItemOptions, isLayerLinked, isLayerLinkedOptions, isLayerLinkedTogether, isLinkMaster, isOlFlatStyleLike, isSaveableLayer, jsonRegex, layerFeatureIsQueryable, layerIsQueryable, lonLatConversion, mapExtentStrategyActiveToolTip, markerOlStyle, measureOlGeometry, measureOlGeometryArea, measureOlGeometryLength, mergeLayersOptions, metersToFeet, metersToKilometers, metersToMiles, metersToUnit, moveToOlFeatures, mtmZoneFromLonLat, nearTransparentOlStyle, noElementSelected, nominatimSearchSourceFactory, ogcFilterWidgetFactory, olLayerFeatureIsQueryable, olLayerIsQueryable, optionsApiFactory, osrmDirectionsSourcesFactory, provideCadastreSearchSource, provideCoordinatesReverseSearchSource, provideDefaultCoordinatesSearchResultFormatter, provideDefaultIChercheSearchResultFormatter, provideDirection, provideIChercheReverseSearchSource, provideIChercheSearchSource, provideILayerSearchResultFormatter, provideILayerSearchSource, provideInteractiveSelectionFormWidget, provideNominatimSearchSource, provideOgcFilterWidget, provideOptionsApi, provideOsrmDirectionsSource, provideProjection, provideQuerySearchSource, provideSearch, provideSearchSourceService, provideStoredQueriesReverseSearchSource, provideStoredQueriesSearchSource, provideStyle, provideWorkspaceSearchSource, querySearchSourceFactory, randomOlFlatStyle, removeStopFromStore, renderFeatureFromOl, roundCoordTo, roundCoordToString, scaleExtent, searchSourceServiceFactory, selectionOlStyle, setRowsInMapExtent, setSelectedOnly, sliceOlGeometry, sliceOlPolygon, sortLayersByZindex, sourceCanReverseSearch, sourceCanReverseSearchAsSummary, sourceCanSearch, squareMetersToAcres, squareMetersToHectares, squareMetersToSquareFeet, squareMetersToSquareKilometers, squareMetersToSquareMiles, squareMetersToUnit, standardizeUrl, storedqueriesReverseSearchSourceFactory, storedqueriesSearchSourceFactory, stringToLonLat, styleVariant, translateManeuverBearing, translateManeuverModifier, tryAddLoadingStrategy, tryAddSelectionStrategy, tryBindStoreLayer, updateOlGeometryCenter, updateOlGeometryMidpoints, updateOlTooltipAtCenter, updateOlTooltipDrawAtCenter, updateOlTooltipsAtMidpoints, updateOlTooltipsDrawAtMidpoints, updateStoreSorting, utmZoneFromLonLat, viewStatesAreEqual, withCadastreSource, withCoordinatesReverseSource, withGeostyler, withIChercheReverseSource, withIChercheSource, withILayerSource, withMapbox, withNominatimSource, withOsrmSource, withStoredQueriesReverseSource, withStoredQueriesSource, withWorkspaceSource, workspaceSearchSourceFactory, zoneMtm, zoneUtm };
42121
42227
  //# sourceMappingURL=igo2-geo.mjs.map