@igo2/geo 20.1.0-next.27 → 20.1.0-next.29

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.
@@ -31280,7 +31280,7 @@ class ImportExportComponent {
31280
31280
  this.selectedMode.set(event.value);
31281
31281
  }
31282
31282
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: ImportExportComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
31283
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.19", type: ImportExportComponent, isStandalone: true, selector: "igo-import-export", inputs: { selectFirstProj: { classPropertyName: "selectFirstProj", publicName: "selectFirstProj", isSignal: true, isRequired: false, transformFunction: null }, map: { classPropertyName: "map", publicName: "map", isSignal: true, isRequired: false, transformFunction: null }, contextUri: { classPropertyName: "contextUri", publicName: "contextUri", isSignal: true, isRequired: false, transformFunction: null }, projectionsLimitations: { classPropertyName: "projectionsLimitations", publicName: "projectionsLimitations", isSignal: true, isRequired: false, transformFunction: null }, store: { classPropertyName: "store", publicName: "store", isSignal: true, isRequired: false, transformFunction: null }, selectedMode: { classPropertyName: "selectedMode", publicName: "selectedMode", isSignal: true, isRequired: false, transformFunction: null }, exportOptions$: { classPropertyName: "exportOptions$", publicName: "exportOptions$", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { selectedMode: "selectedModeChange", selectMode: "selectMode", exportOptionsChange: "exportOptionsChange" }, providers: [ConfirmDialogService], ngImport: i0, template: "<div class=\"import-export-toggle\">\n <mat-button-toggle-group\n [value]=\"selectedMode()\"\n (change)=\"onImportExportChange($event)\"\n >\n <mat-button-toggle [value]=\"'import'\">\n {{ 'igo.geo.importExportForm.importTabTitle' | translate }}\n </mat-button-toggle>\n <mat-button-toggle [value]=\"'export'\">\n {{ 'igo.geo.importExportForm.exportTabTitle' | translate }}\n </mat-button-toggle>\n </mat-button-toggle-group>\n</div>\n\n@if (selectedMode() === 'import') {\n <form class=\"igo-form\" [formGroup]=\"importForm\">\n <div class=\"igo-input-container\">\n <mat-form-field>\n <mat-label>{{\n 'igo.geo.importExportForm.importProjPlaceholder' | translate\n }}</mat-label>\n <mat-select [(value)]=\"inputProj\">\n @for (projection of projections$ | async; track projection) {\n <mat-option [value]=\"projection\" (click)=\"$event.stopPropagation()\">\n @if (projection.translateKey) {\n <span matListItemTitle>\n {{\n 'igo.geo.importExportForm.projections.' +\n projection.translateKey | translate: projection\n }}\n </span>\n }\n @if (!projection.translateKey) {\n <span matListItemTitle>\n {{ projection.alias }}\n </span>\n }\n </mat-option>\n }\n </mat-select>\n </mat-form-field>\n </div>\n <div\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"\n importForm.invalid\n ? ('igo.geo.importExportForm.projections.choose' | translate)\n : ('igo.geo.importExportForm.importButton' | translate)\n \"\n class=\"igo-form-button-group\"\n >\n <button\n [disabled]=\"importForm.invalid || (loading$ | async)\"\n matButton=\"elevated\"\n type=\"button\"\n (click)=\"fileInput.click()\"\n >\n {{ 'igo.geo.importExportForm.importButton' | translate }}\n </button>\n <igo-spinner [shown]=\"loading$ | async\" />\n <input\n hidden\n #fileInput\n type=\"file\"\n [style.display]=\"'none'\"\n (click)=\"fileInput.value = null\"\n (change)=\"importFiles($any($event.target).files)\"\n />\n </div>\n </form>\n}\n@if (selectedMode() === 'import') {\n <section>\n @if (importHtmlClarifications === '') {\n <div>\n <h4>\n {{ 'igo.geo.importExportForm.importClarifications' | translate }}\n </h4>\n <ul>\n <li>\n {{\n 'igo.geo.importExportForm.importSizeMax'\n | translate: { size: fileSizeMb }\n }}\n </li>\n <li>\n {{ 'igo.geo.importExportForm.importFormatAuthorized' | translate }}\n </li>\n <li>{{ 'igo.geo.importExportForm.importShpZip' | translate }}</li>\n </ul>\n </div>\n }\n @if (importHtmlClarifications !== '') {\n <igo-custom-html [html]=\"importHtmlClarifications\" />\n }\n </section>\n}\n\n@if ((exportableLayers$ | async).length === 0 && selectedMode() === 'export') {\n <section>\n <h4>\n {{ 'igo.geo.importExportForm.exportNoLayersExportable' | translate }}\n </h4>\n </section>\n}\n\n@if ((exportableLayers$ | async).length > 0 && selectedMode() === 'export') {\n <form class=\"igo-form\" [formGroup]=\"form\">\n <div class=\"igo-input-container\">\n <mat-form-field>\n <mat-label>{{\n 'igo.geo.importExportForm.exportLayerPlaceholder' | translate\n }}</mat-label>\n <mat-select [(value)]=\"layers\" multiple>\n <mat-select-trigger>\n {{ layers.length ? getLayerTitleById(layers[0]) : '' }}\n @if (layers.length > 1) {\n <span class=\"export-select-trigger\">\n (+{{ layers.length - 1 }}\n {{\n (layers?.length === 2\n ? 'igo.geo.importExportForm.other'\n : 'igo.geo.importExportForm.others'\n ) | translate\n }})\n </span>\n }\n </mat-select-trigger>\n @for (layer of exportableLayers$ | async; track layer) {\n <mat-option\n [ngClass]=\"{\n 'igo-export-layer-mat-option': layerHasSelectedFeatures(layer)\n }\"\n [value]=\"layer.id\"\n (click)=\"$event.stopPropagation()\"\n >\n <span matListItemTitle>{{ layer.title }}</span>\n <span matListItemTitle>\n @if (layerHasSelectedFeatures(layer)) {\n <mat-slide-toggle\n (click)=\"onlySelectedClick($event, layer.id)\"\n (checked)=\"inLayersIdToExportSelectionOnly(layer)\"\n (change)=\"onlySelected($event, layer.id)\"\n >\n <small>{{\n 'igo.geo.importExportForm.exportSelectedFeature'\n | translate\n }}</small>\n </mat-slide-toggle>\n }\n </span>\n </mat-option>\n }\n </mat-select>\n </mat-form-field>\n </div>\n <div class=\"igo-input-container\">\n <mat-form-field>\n <mat-label>{{\n 'igo.geo.importExportForm.exportFormatPlaceholder' | translate\n }}</mat-label>\n <mat-select formControlName=\"format\">\n @if ((formats$ | async).length !== 0) {\n @for (format of formats$ | async; track format) {\n <mat-option [value]=\"format\">\n {{ 'igo.geo.export.format.' + format | translate }}\n </mat-option>\n }\n }\n @if ((formats$ | async).length === 0) {\n <mat-option disabled=\"true\">\n {{ 'igo.geo.export.noFormat.title' | translate }}\n </mat-option>\n }\n </mat-select>\n </mat-form-field>\n </div>\n @if (forceNaming && form.value.format !== 'URL') {\n <div class=\"igo-input-container\">\n <mat-form-field>\n <input\n matInput\n formControlName=\"name\"\n placeholder=\"{{\n 'igo.geo.importExportForm.exportFileNamePlaceholder' | translate\n }}\"\n />\n </mat-form-field>\n </div>\n }\n @if (this.isCsvExport(form.value.format)) {\n <div class=\"igo-input-container\">\n <mat-form-field>\n <mat-label>{{ 'igo.geo.export.separator' | translate }}</mat-label>\n <mat-select formControlName=\"csvSeparator\">\n @for (separator of csvSeparators; track separator) {\n <mat-option [value]=\"separator\">\n {{ 'igo.geo.export.csv.separator.' + separator | translate }}\n </mat-option>\n }\n </mat-select>\n </mat-form-field>\n </div>\n @if (layers.length > 1) {\n <div class=\"export-combine-layers\">\n <mat-slide-toggle\n formControlName=\"combineLayers\"\n [labelPosition]=\"'before'\"\n >\n {{ 'igo.geo.importExportForm.exportCombineResults' | translate }}\n </mat-slide-toggle>\n </div>\n }\n @if (layers.length > 1 && form.value.combineLayers) {\n <div class=\"export-separator\">\n <mat-slide-toggle\n formControlName=\"separator\"\n [labelPosition]=\"'before'\"\n >\n {{ 'igo.geo.importExportForm.exportSeparator' | translate }}\n </mat-slide-toggle>\n </div>\n }\n }\n @if (form.value.format !== 'URL') {\n <div class=\"export-options\">\n <mat-slide-toggle\n formControlName=\"featureInMapExtent\"\n [labelPosition]=\"'before'\"\n >\n {{ 'igo.geo.importExportForm.exportFeatureInExtent' | translate }}\n </mat-slide-toggle>\n </div>\n }\n <div class=\"igo-form-button-group\">\n <button\n matButton=\"elevated\"\n type=\"button\"\n [disabled]=\"!form.valid || (loading$ | async)\"\n (click)=\"handleExportFormSubmit(form.value)\"\n >\n {{\n form.value.format !== 'URL'\n ? ('igo.geo.importExportForm.exportButton' | translate)\n : form.value.layers.length > 1\n ? ('igo.geo.importExportForm.exportButtonLinks' | translate)\n : ('igo.geo.importExportForm.exportButtonLink' | translate)\n }}\n </button>\n <igo-spinner [shown]=\"loading$ | async\" />\n </div>\n @if (exportHtmlClarifications !== '') {\n <igo-custom-html [html]=\"exportHtmlClarifications\" />\n }\n </form>\n}\n", styles: [":host{padding:16px;display:flex;flex-direction:column;gap:16px}:host mat-option.igo-export-layer-mat-option{height:5em;line-height:1em}:host .import-export-toggle mat-button-toggle-group{width:100%}:host .import-export-toggle mat-button-toggle-group mat-button-toggle{width:50%}:host .igo-input-container mat-form-field{width:100%}:host .igo-form-button-group{text-align:center}:host igo-spinner{position:absolute}:host .export-options mat-slide-toggle,:host .export-combine-layers mat-slide-toggle,:host .export-separator mat-slide-toggle{width:100%;padding:10px}:host .export-options mat-slide-toggle ::ng-deep .mdc-form-field,:host .export-combine-layers mat-slide-toggle ::ng-deep .mdc-form-field,:host .export-separator mat-slide-toggle ::ng-deep .mdc-form-field{width:100%}:host .export-options mat-slide-toggle ::ng-deep .mdc-label,:host .export-combine-layers mat-slide-toggle ::ng-deep .mdc-label,:host .export-separator mat-slide-toggle ::ng-deep .mdc-label{margin-left:0;width:calc(100% - 60px)}:host .export-select-trigger{opacity:.75;font-size:.75em}\n"], dependencies: [{ kind: "ngmodule", type: MatButtonToggleModule }, { kind: "directive", type: i1$4.MatButtonToggleGroup, selector: "mat-button-toggle-group", inputs: ["appearance", "name", "vertical", "value", "multiple", "disabled", "disabledInteractive", "hideSingleSelectionIndicator", "hideMultipleSelectionIndicator"], outputs: ["valueChange", "change"], exportAs: ["matButtonToggleGroup"] }, { kind: "component", type: i1$4.MatButtonToggle, selector: "mat-button-toggle", inputs: ["aria-label", "aria-labelledby", "id", "name", "value", "tabIndex", "disableRipple", "appearance", "checked", "disabled", "disabledInteractive"], outputs: ["change"], exportAs: ["matButtonToggle"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$1.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: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "ngmodule", type: MatFormFieldModule }, { kind: "component", type: i3$1.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i3$1.MatLabel, selector: "mat-label" }, { kind: "ngmodule", type: MatSelectModule }, { kind: "component", type: i4$3.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: "directive", type: i4$3.MatSelectTrigger, selector: "mat-select-trigger" }, { kind: "component", type: i4$3.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "ngmodule", type: MatOptionModule }, { 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: MatButtonModule }, { kind: "component", type: i1.MatButton, selector: " button[matButton], a[matButton], button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button], a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button] ", inputs: ["matButton"], exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: SpinnerComponent, selector: "igo-spinner", inputs: ["shown"] }, { kind: "component", type: CustomHtmlComponent, selector: "igo-custom-html", inputs: ["html"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: MatSlideToggleModule }, { kind: "component", type: i1$3.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: MatInputModule }, { kind: "directive", type: i4$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: IgoLanguageModule }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }] });
31283
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.19", type: ImportExportComponent, isStandalone: true, selector: "igo-import-export", inputs: { selectFirstProj: { classPropertyName: "selectFirstProj", publicName: "selectFirstProj", isSignal: true, isRequired: false, transformFunction: null }, map: { classPropertyName: "map", publicName: "map", isSignal: true, isRequired: false, transformFunction: null }, contextUri: { classPropertyName: "contextUri", publicName: "contextUri", isSignal: true, isRequired: false, transformFunction: null }, projectionsLimitations: { classPropertyName: "projectionsLimitations", publicName: "projectionsLimitations", isSignal: true, isRequired: false, transformFunction: null }, store: { classPropertyName: "store", publicName: "store", isSignal: true, isRequired: false, transformFunction: null }, selectedMode: { classPropertyName: "selectedMode", publicName: "selectedMode", isSignal: true, isRequired: false, transformFunction: null }, exportOptions$: { classPropertyName: "exportOptions$", publicName: "exportOptions$", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { selectedMode: "selectedModeChange", selectMode: "selectMode", exportOptionsChange: "exportOptionsChange" }, providers: [ConfirmDialogService], ngImport: i0, template: "<div class=\"import-export-toggle\">\n <mat-button-toggle-group\n [value]=\"selectedMode()\"\n (change)=\"onImportExportChange($event)\"\n >\n <mat-button-toggle [value]=\"'import'\">\n {{ 'igo.geo.importExportForm.importTabTitle' | translate }}\n </mat-button-toggle>\n <mat-button-toggle [value]=\"'export'\">\n {{ 'igo.geo.importExportForm.exportTabTitle' | translate }}\n </mat-button-toggle>\n </mat-button-toggle-group>\n</div>\n\n@if (selectedMode() === 'import') {\n <form class=\"igo-form\" [formGroup]=\"importForm\">\n <div class=\"igo-input-container\">\n <mat-form-field>\n <mat-label>{{\n 'igo.geo.importExportForm.importProjPlaceholder' | translate\n }}</mat-label>\n <mat-select [(value)]=\"inputProj\">\n @for (projection of projections$ | async; track projection) {\n <mat-option [value]=\"projection\" (click)=\"$event.stopPropagation()\">\n @if (projection.translateKey) {\n <span matListItemTitle>\n {{\n 'igo.geo.importExportForm.projections.' +\n projection.translateKey | translate: projection\n }}\n </span>\n }\n @if (!projection.translateKey) {\n <span matListItemTitle>\n {{ projection.alias }}\n </span>\n }\n </mat-option>\n }\n </mat-select>\n </mat-form-field>\n </div>\n <div\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"\n importForm.invalid\n ? ('igo.geo.importExportForm.projections.choose' | translate)\n : ('igo.geo.importExportForm.importButton' | translate)\n \"\n class=\"igo-form-button-group\"\n >\n <button\n [disabled]=\"importForm.invalid || (loading$ | async)\"\n matButton=\"elevated\"\n type=\"button\"\n (click)=\"fileInput.click()\"\n >\n {{ 'igo.geo.importExportForm.importButton' | translate }}\n </button>\n <igo-spinner [shown]=\"loading$ | async\" />\n <input\n hidden\n #fileInput\n type=\"file\"\n [style.display]=\"'none'\"\n (click)=\"fileInput.value = null\"\n (change)=\"importFiles($any($event.target).files)\"\n />\n </div>\n </form>\n\n <section>\n @if (importHtmlClarifications === '') {\n <div>\n <h4>\n {{ 'igo.geo.importExportForm.importClarifications' | translate }}\n </h4>\n <ul>\n <li>\n {{\n 'igo.geo.importExportForm.importSizeMax'\n | translate: { size: fileSizeMb }\n }}\n </li>\n <li>\n {{ 'igo.geo.importExportForm.importFormatAuthorized' | translate }}\n </li>\n <li>{{ 'igo.geo.importExportForm.importShpZip' | translate }}</li>\n </ul>\n </div>\n }\n @if (importHtmlClarifications !== '') {\n <igo-custom-html [html]=\"importHtmlClarifications\" />\n }\n </section>\n} @else if (selectedMode() === 'export') {\n @let hasExports = (exportableLayers$ | async).length === 0;\n @if (hasExports) {\n <section>\n <h4>\n {{ 'igo.geo.importExportForm.exportNoLayersExportable' | translate }}\n </h4>\n </section>\n\n <form class=\"igo-form\" [formGroup]=\"form\">\n <div class=\"igo-input-container\">\n <mat-form-field>\n <mat-label>{{\n 'igo.geo.importExportForm.exportLayerPlaceholder' | translate\n }}</mat-label>\n <mat-select [(value)]=\"layers\" multiple>\n <mat-select-trigger>\n {{ layers.length ? getLayerTitleById(layers[0]) : '' }}\n @if (layers.length > 1) {\n <span class=\"export-select-trigger\">\n (+{{ layers.length - 1 }}\n {{\n (layers?.length === 2\n ? 'igo.geo.importExportForm.other'\n : 'igo.geo.importExportForm.others'\n ) | translate\n }})\n </span>\n }\n </mat-select-trigger>\n @for (layer of exportableLayers$ | async; track layer) {\n <mat-option\n [ngClass]=\"{\n 'igo-export-layer-mat-option': layerHasSelectedFeatures(layer)\n }\"\n [value]=\"layer.id\"\n (click)=\"$event.stopPropagation()\"\n >\n <span matListItemTitle>{{ layer.title }}</span>\n <span matListItemTitle>\n @if (layerHasSelectedFeatures(layer)) {\n <mat-slide-toggle\n (click)=\"onlySelectedClick($event, layer.id)\"\n (checked)=\"inLayersIdToExportSelectionOnly(layer)\"\n (change)=\"onlySelected($event, layer.id)\"\n >\n <small>{{\n 'igo.geo.importExportForm.exportSelectedFeature'\n | translate\n }}</small>\n </mat-slide-toggle>\n }\n </span>\n </mat-option>\n }\n </mat-select>\n </mat-form-field>\n </div>\n <div class=\"igo-input-container\">\n <mat-form-field>\n <mat-label>{{\n 'igo.geo.importExportForm.exportFormatPlaceholder' | translate\n }}</mat-label>\n <mat-select formControlName=\"format\">\n @if ((formats$ | async).length !== 0) {\n @for (format of formats$ | async; track format) {\n <mat-option [value]=\"format\">\n {{ 'igo.geo.export.format.' + format | translate }}\n </mat-option>\n }\n }\n @if ((formats$ | async).length === 0) {\n <mat-option disabled=\"true\">\n {{ 'igo.geo.export.noFormat.title' | translate }}\n </mat-option>\n }\n </mat-select>\n </mat-form-field>\n </div>\n @if (forceNaming && form.value.format !== 'URL') {\n <div class=\"igo-input-container\">\n <mat-form-field>\n <input\n matInput\n formControlName=\"name\"\n placeholder=\"{{\n 'igo.geo.importExportForm.exportFileNamePlaceholder' | translate\n }}\"\n />\n </mat-form-field>\n </div>\n }\n @if (this.isCsvExport(form.value.format)) {\n <div class=\"igo-input-container\">\n <mat-form-field>\n <mat-label>{{ 'igo.geo.export.separator' | translate }}</mat-label>\n <mat-select formControlName=\"csvSeparator\">\n @for (separator of csvSeparators; track separator) {\n <mat-option [value]=\"separator\">\n {{ 'igo.geo.export.csv.separator.' + separator | translate }}\n </mat-option>\n }\n </mat-select>\n </mat-form-field>\n </div>\n @if (layers.length > 1) {\n <div class=\"export-combine-layers\">\n <mat-slide-toggle\n formControlName=\"combineLayers\"\n [labelPosition]=\"'before'\"\n >\n {{ 'igo.geo.importExportForm.exportCombineResults' | translate }}\n </mat-slide-toggle>\n </div>\n }\n @if (layers.length > 1 && form.value.combineLayers) {\n <div class=\"export-separator\">\n <mat-slide-toggle\n formControlName=\"separator\"\n [labelPosition]=\"'before'\"\n >\n {{ 'igo.geo.importExportForm.exportSeparator' | translate }}\n </mat-slide-toggle>\n </div>\n }\n }\n @if (form.value.format !== 'URL') {\n <div class=\"export-options\">\n <mat-slide-toggle\n formControlName=\"featureInMapExtent\"\n [labelPosition]=\"'before'\"\n >\n {{ 'igo.geo.importExportForm.exportFeatureInExtent' | translate }}\n </mat-slide-toggle>\n </div>\n }\n <div class=\"igo-form-button-group\">\n <button\n matButton=\"elevated\"\n type=\"button\"\n [disabled]=\"!form.valid || (loading$ | async)\"\n (click)=\"handleExportFormSubmit(form.value)\"\n >\n {{\n form.value.format !== 'URL'\n ? ('igo.geo.importExportForm.exportButton' | translate)\n : form.value.layers.length > 1\n ? ('igo.geo.importExportForm.exportButtonLinks' | translate)\n : ('igo.geo.importExportForm.exportButtonLink' | translate)\n }}\n </button>\n <igo-spinner [shown]=\"loading$ | async\" />\n </div>\n @if (exportHtmlClarifications !== '') {\n <igo-custom-html [html]=\"exportHtmlClarifications\" />\n }\n </form>\n }\n}\n", styles: [":host{padding:16px;display:flex;flex-direction:column;gap:16px}:host mat-option.igo-export-layer-mat-option{height:5em;line-height:1em}:host .import-export-toggle mat-button-toggle-group{width:100%}:host .import-export-toggle mat-button-toggle-group mat-button-toggle{width:50%}:host .igo-input-container mat-form-field{width:100%}:host .igo-form-button-group{text-align:center}:host igo-spinner{position:absolute}:host .export-options mat-slide-toggle,:host .export-combine-layers mat-slide-toggle,:host .export-separator mat-slide-toggle{width:100%;padding:10px}:host .export-options mat-slide-toggle ::ng-deep .mdc-form-field,:host .export-combine-layers mat-slide-toggle ::ng-deep .mdc-form-field,:host .export-separator mat-slide-toggle ::ng-deep .mdc-form-field{width:100%}:host .export-options mat-slide-toggle ::ng-deep .mdc-label,:host .export-combine-layers mat-slide-toggle ::ng-deep .mdc-label,:host .export-separator mat-slide-toggle ::ng-deep .mdc-label{margin-left:0;width:calc(100% - 60px)}:host .export-select-trigger{opacity:.75;font-size:.75em}\n"], dependencies: [{ kind: "ngmodule", type: MatButtonToggleModule }, { kind: "directive", type: i1$4.MatButtonToggleGroup, selector: "mat-button-toggle-group", inputs: ["appearance", "name", "vertical", "value", "multiple", "disabled", "disabledInteractive", "hideSingleSelectionIndicator", "hideMultipleSelectionIndicator"], outputs: ["valueChange", "change"], exportAs: ["matButtonToggleGroup"] }, { kind: "component", type: i1$4.MatButtonToggle, selector: "mat-button-toggle", inputs: ["aria-label", "aria-labelledby", "id", "name", "value", "tabIndex", "disableRipple", "appearance", "checked", "disabled", "disabledInteractive"], outputs: ["change"], exportAs: ["matButtonToggle"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$1.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: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "ngmodule", type: MatFormFieldModule }, { kind: "component", type: i3$1.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i3$1.MatLabel, selector: "mat-label" }, { kind: "ngmodule", type: MatSelectModule }, { kind: "component", type: i4$3.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: "directive", type: i4$3.MatSelectTrigger, selector: "mat-select-trigger" }, { kind: "component", type: i4$3.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "ngmodule", type: MatOptionModule }, { 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: MatButtonModule }, { kind: "component", type: i1.MatButton, selector: " button[matButton], a[matButton], button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button], a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button] ", inputs: ["matButton"], exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: SpinnerComponent, selector: "igo-spinner", inputs: ["shown"] }, { kind: "component", type: CustomHtmlComponent, selector: "igo-custom-html", inputs: ["html"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: MatSlideToggleModule }, { kind: "component", type: i1$3.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: MatInputModule }, { kind: "directive", type: i4$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: IgoLanguageModule }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }] });
31284
31284
  }
31285
31285
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: ImportExportComponent, decorators: [{
31286
31286
  type: Component,
@@ -31300,7 +31300,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.19", ngImpo
31300
31300
  MatInputModule,
31301
31301
  AsyncPipe,
31302
31302
  IgoLanguageModule
31303
- ], providers: [ConfirmDialogService], template: "<div class=\"import-export-toggle\">\n <mat-button-toggle-group\n [value]=\"selectedMode()\"\n (change)=\"onImportExportChange($event)\"\n >\n <mat-button-toggle [value]=\"'import'\">\n {{ 'igo.geo.importExportForm.importTabTitle' | translate }}\n </mat-button-toggle>\n <mat-button-toggle [value]=\"'export'\">\n {{ 'igo.geo.importExportForm.exportTabTitle' | translate }}\n </mat-button-toggle>\n </mat-button-toggle-group>\n</div>\n\n@if (selectedMode() === 'import') {\n <form class=\"igo-form\" [formGroup]=\"importForm\">\n <div class=\"igo-input-container\">\n <mat-form-field>\n <mat-label>{{\n 'igo.geo.importExportForm.importProjPlaceholder' | translate\n }}</mat-label>\n <mat-select [(value)]=\"inputProj\">\n @for (projection of projections$ | async; track projection) {\n <mat-option [value]=\"projection\" (click)=\"$event.stopPropagation()\">\n @if (projection.translateKey) {\n <span matListItemTitle>\n {{\n 'igo.geo.importExportForm.projections.' +\n projection.translateKey | translate: projection\n }}\n </span>\n }\n @if (!projection.translateKey) {\n <span matListItemTitle>\n {{ projection.alias }}\n </span>\n }\n </mat-option>\n }\n </mat-select>\n </mat-form-field>\n </div>\n <div\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"\n importForm.invalid\n ? ('igo.geo.importExportForm.projections.choose' | translate)\n : ('igo.geo.importExportForm.importButton' | translate)\n \"\n class=\"igo-form-button-group\"\n >\n <button\n [disabled]=\"importForm.invalid || (loading$ | async)\"\n matButton=\"elevated\"\n type=\"button\"\n (click)=\"fileInput.click()\"\n >\n {{ 'igo.geo.importExportForm.importButton' | translate }}\n </button>\n <igo-spinner [shown]=\"loading$ | async\" />\n <input\n hidden\n #fileInput\n type=\"file\"\n [style.display]=\"'none'\"\n (click)=\"fileInput.value = null\"\n (change)=\"importFiles($any($event.target).files)\"\n />\n </div>\n </form>\n}\n@if (selectedMode() === 'import') {\n <section>\n @if (importHtmlClarifications === '') {\n <div>\n <h4>\n {{ 'igo.geo.importExportForm.importClarifications' | translate }}\n </h4>\n <ul>\n <li>\n {{\n 'igo.geo.importExportForm.importSizeMax'\n | translate: { size: fileSizeMb }\n }}\n </li>\n <li>\n {{ 'igo.geo.importExportForm.importFormatAuthorized' | translate }}\n </li>\n <li>{{ 'igo.geo.importExportForm.importShpZip' | translate }}</li>\n </ul>\n </div>\n }\n @if (importHtmlClarifications !== '') {\n <igo-custom-html [html]=\"importHtmlClarifications\" />\n }\n </section>\n}\n\n@if ((exportableLayers$ | async).length === 0 && selectedMode() === 'export') {\n <section>\n <h4>\n {{ 'igo.geo.importExportForm.exportNoLayersExportable' | translate }}\n </h4>\n </section>\n}\n\n@if ((exportableLayers$ | async).length > 0 && selectedMode() === 'export') {\n <form class=\"igo-form\" [formGroup]=\"form\">\n <div class=\"igo-input-container\">\n <mat-form-field>\n <mat-label>{{\n 'igo.geo.importExportForm.exportLayerPlaceholder' | translate\n }}</mat-label>\n <mat-select [(value)]=\"layers\" multiple>\n <mat-select-trigger>\n {{ layers.length ? getLayerTitleById(layers[0]) : '' }}\n @if (layers.length > 1) {\n <span class=\"export-select-trigger\">\n (+{{ layers.length - 1 }}\n {{\n (layers?.length === 2\n ? 'igo.geo.importExportForm.other'\n : 'igo.geo.importExportForm.others'\n ) | translate\n }})\n </span>\n }\n </mat-select-trigger>\n @for (layer of exportableLayers$ | async; track layer) {\n <mat-option\n [ngClass]=\"{\n 'igo-export-layer-mat-option': layerHasSelectedFeatures(layer)\n }\"\n [value]=\"layer.id\"\n (click)=\"$event.stopPropagation()\"\n >\n <span matListItemTitle>{{ layer.title }}</span>\n <span matListItemTitle>\n @if (layerHasSelectedFeatures(layer)) {\n <mat-slide-toggle\n (click)=\"onlySelectedClick($event, layer.id)\"\n (checked)=\"inLayersIdToExportSelectionOnly(layer)\"\n (change)=\"onlySelected($event, layer.id)\"\n >\n <small>{{\n 'igo.geo.importExportForm.exportSelectedFeature'\n | translate\n }}</small>\n </mat-slide-toggle>\n }\n </span>\n </mat-option>\n }\n </mat-select>\n </mat-form-field>\n </div>\n <div class=\"igo-input-container\">\n <mat-form-field>\n <mat-label>{{\n 'igo.geo.importExportForm.exportFormatPlaceholder' | translate\n }}</mat-label>\n <mat-select formControlName=\"format\">\n @if ((formats$ | async).length !== 0) {\n @for (format of formats$ | async; track format) {\n <mat-option [value]=\"format\">\n {{ 'igo.geo.export.format.' + format | translate }}\n </mat-option>\n }\n }\n @if ((formats$ | async).length === 0) {\n <mat-option disabled=\"true\">\n {{ 'igo.geo.export.noFormat.title' | translate }}\n </mat-option>\n }\n </mat-select>\n </mat-form-field>\n </div>\n @if (forceNaming && form.value.format !== 'URL') {\n <div class=\"igo-input-container\">\n <mat-form-field>\n <input\n matInput\n formControlName=\"name\"\n placeholder=\"{{\n 'igo.geo.importExportForm.exportFileNamePlaceholder' | translate\n }}\"\n />\n </mat-form-field>\n </div>\n }\n @if (this.isCsvExport(form.value.format)) {\n <div class=\"igo-input-container\">\n <mat-form-field>\n <mat-label>{{ 'igo.geo.export.separator' | translate }}</mat-label>\n <mat-select formControlName=\"csvSeparator\">\n @for (separator of csvSeparators; track separator) {\n <mat-option [value]=\"separator\">\n {{ 'igo.geo.export.csv.separator.' + separator | translate }}\n </mat-option>\n }\n </mat-select>\n </mat-form-field>\n </div>\n @if (layers.length > 1) {\n <div class=\"export-combine-layers\">\n <mat-slide-toggle\n formControlName=\"combineLayers\"\n [labelPosition]=\"'before'\"\n >\n {{ 'igo.geo.importExportForm.exportCombineResults' | translate }}\n </mat-slide-toggle>\n </div>\n }\n @if (layers.length > 1 && form.value.combineLayers) {\n <div class=\"export-separator\">\n <mat-slide-toggle\n formControlName=\"separator\"\n [labelPosition]=\"'before'\"\n >\n {{ 'igo.geo.importExportForm.exportSeparator' | translate }}\n </mat-slide-toggle>\n </div>\n }\n }\n @if (form.value.format !== 'URL') {\n <div class=\"export-options\">\n <mat-slide-toggle\n formControlName=\"featureInMapExtent\"\n [labelPosition]=\"'before'\"\n >\n {{ 'igo.geo.importExportForm.exportFeatureInExtent' | translate }}\n </mat-slide-toggle>\n </div>\n }\n <div class=\"igo-form-button-group\">\n <button\n matButton=\"elevated\"\n type=\"button\"\n [disabled]=\"!form.valid || (loading$ | async)\"\n (click)=\"handleExportFormSubmit(form.value)\"\n >\n {{\n form.value.format !== 'URL'\n ? ('igo.geo.importExportForm.exportButton' | translate)\n : form.value.layers.length > 1\n ? ('igo.geo.importExportForm.exportButtonLinks' | translate)\n : ('igo.geo.importExportForm.exportButtonLink' | translate)\n }}\n </button>\n <igo-spinner [shown]=\"loading$ | async\" />\n </div>\n @if (exportHtmlClarifications !== '') {\n <igo-custom-html [html]=\"exportHtmlClarifications\" />\n }\n </form>\n}\n", styles: [":host{padding:16px;display:flex;flex-direction:column;gap:16px}:host mat-option.igo-export-layer-mat-option{height:5em;line-height:1em}:host .import-export-toggle mat-button-toggle-group{width:100%}:host .import-export-toggle mat-button-toggle-group mat-button-toggle{width:50%}:host .igo-input-container mat-form-field{width:100%}:host .igo-form-button-group{text-align:center}:host igo-spinner{position:absolute}:host .export-options mat-slide-toggle,:host .export-combine-layers mat-slide-toggle,:host .export-separator mat-slide-toggle{width:100%;padding:10px}:host .export-options mat-slide-toggle ::ng-deep .mdc-form-field,:host .export-combine-layers mat-slide-toggle ::ng-deep .mdc-form-field,:host .export-separator mat-slide-toggle ::ng-deep .mdc-form-field{width:100%}:host .export-options mat-slide-toggle ::ng-deep .mdc-label,:host .export-combine-layers mat-slide-toggle ::ng-deep .mdc-label,:host .export-separator mat-slide-toggle ::ng-deep .mdc-label{margin-left:0;width:calc(100% - 60px)}:host .export-select-trigger{opacity:.75;font-size:.75em}\n"] }]
31303
+ ], providers: [ConfirmDialogService], template: "<div class=\"import-export-toggle\">\n <mat-button-toggle-group\n [value]=\"selectedMode()\"\n (change)=\"onImportExportChange($event)\"\n >\n <mat-button-toggle [value]=\"'import'\">\n {{ 'igo.geo.importExportForm.importTabTitle' | translate }}\n </mat-button-toggle>\n <mat-button-toggle [value]=\"'export'\">\n {{ 'igo.geo.importExportForm.exportTabTitle' | translate }}\n </mat-button-toggle>\n </mat-button-toggle-group>\n</div>\n\n@if (selectedMode() === 'import') {\n <form class=\"igo-form\" [formGroup]=\"importForm\">\n <div class=\"igo-input-container\">\n <mat-form-field>\n <mat-label>{{\n 'igo.geo.importExportForm.importProjPlaceholder' | translate\n }}</mat-label>\n <mat-select [(value)]=\"inputProj\">\n @for (projection of projections$ | async; track projection) {\n <mat-option [value]=\"projection\" (click)=\"$event.stopPropagation()\">\n @if (projection.translateKey) {\n <span matListItemTitle>\n {{\n 'igo.geo.importExportForm.projections.' +\n projection.translateKey | translate: projection\n }}\n </span>\n }\n @if (!projection.translateKey) {\n <span matListItemTitle>\n {{ projection.alias }}\n </span>\n }\n </mat-option>\n }\n </mat-select>\n </mat-form-field>\n </div>\n <div\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"\n importForm.invalid\n ? ('igo.geo.importExportForm.projections.choose' | translate)\n : ('igo.geo.importExportForm.importButton' | translate)\n \"\n class=\"igo-form-button-group\"\n >\n <button\n [disabled]=\"importForm.invalid || (loading$ | async)\"\n matButton=\"elevated\"\n type=\"button\"\n (click)=\"fileInput.click()\"\n >\n {{ 'igo.geo.importExportForm.importButton' | translate }}\n </button>\n <igo-spinner [shown]=\"loading$ | async\" />\n <input\n hidden\n #fileInput\n type=\"file\"\n [style.display]=\"'none'\"\n (click)=\"fileInput.value = null\"\n (change)=\"importFiles($any($event.target).files)\"\n />\n </div>\n </form>\n\n <section>\n @if (importHtmlClarifications === '') {\n <div>\n <h4>\n {{ 'igo.geo.importExportForm.importClarifications' | translate }}\n </h4>\n <ul>\n <li>\n {{\n 'igo.geo.importExportForm.importSizeMax'\n | translate: { size: fileSizeMb }\n }}\n </li>\n <li>\n {{ 'igo.geo.importExportForm.importFormatAuthorized' | translate }}\n </li>\n <li>{{ 'igo.geo.importExportForm.importShpZip' | translate }}</li>\n </ul>\n </div>\n }\n @if (importHtmlClarifications !== '') {\n <igo-custom-html [html]=\"importHtmlClarifications\" />\n }\n </section>\n} @else if (selectedMode() === 'export') {\n @let hasExports = (exportableLayers$ | async).length === 0;\n @if (hasExports) {\n <section>\n <h4>\n {{ 'igo.geo.importExportForm.exportNoLayersExportable' | translate }}\n </h4>\n </section>\n\n <form class=\"igo-form\" [formGroup]=\"form\">\n <div class=\"igo-input-container\">\n <mat-form-field>\n <mat-label>{{\n 'igo.geo.importExportForm.exportLayerPlaceholder' | translate\n }}</mat-label>\n <mat-select [(value)]=\"layers\" multiple>\n <mat-select-trigger>\n {{ layers.length ? getLayerTitleById(layers[0]) : '' }}\n @if (layers.length > 1) {\n <span class=\"export-select-trigger\">\n (+{{ layers.length - 1 }}\n {{\n (layers?.length === 2\n ? 'igo.geo.importExportForm.other'\n : 'igo.geo.importExportForm.others'\n ) | translate\n }})\n </span>\n }\n </mat-select-trigger>\n @for (layer of exportableLayers$ | async; track layer) {\n <mat-option\n [ngClass]=\"{\n 'igo-export-layer-mat-option': layerHasSelectedFeatures(layer)\n }\"\n [value]=\"layer.id\"\n (click)=\"$event.stopPropagation()\"\n >\n <span matListItemTitle>{{ layer.title }}</span>\n <span matListItemTitle>\n @if (layerHasSelectedFeatures(layer)) {\n <mat-slide-toggle\n (click)=\"onlySelectedClick($event, layer.id)\"\n (checked)=\"inLayersIdToExportSelectionOnly(layer)\"\n (change)=\"onlySelected($event, layer.id)\"\n >\n <small>{{\n 'igo.geo.importExportForm.exportSelectedFeature'\n | translate\n }}</small>\n </mat-slide-toggle>\n }\n </span>\n </mat-option>\n }\n </mat-select>\n </mat-form-field>\n </div>\n <div class=\"igo-input-container\">\n <mat-form-field>\n <mat-label>{{\n 'igo.geo.importExportForm.exportFormatPlaceholder' | translate\n }}</mat-label>\n <mat-select formControlName=\"format\">\n @if ((formats$ | async).length !== 0) {\n @for (format of formats$ | async; track format) {\n <mat-option [value]=\"format\">\n {{ 'igo.geo.export.format.' + format | translate }}\n </mat-option>\n }\n }\n @if ((formats$ | async).length === 0) {\n <mat-option disabled=\"true\">\n {{ 'igo.geo.export.noFormat.title' | translate }}\n </mat-option>\n }\n </mat-select>\n </mat-form-field>\n </div>\n @if (forceNaming && form.value.format !== 'URL') {\n <div class=\"igo-input-container\">\n <mat-form-field>\n <input\n matInput\n formControlName=\"name\"\n placeholder=\"{{\n 'igo.geo.importExportForm.exportFileNamePlaceholder' | translate\n }}\"\n />\n </mat-form-field>\n </div>\n }\n @if (this.isCsvExport(form.value.format)) {\n <div class=\"igo-input-container\">\n <mat-form-field>\n <mat-label>{{ 'igo.geo.export.separator' | translate }}</mat-label>\n <mat-select formControlName=\"csvSeparator\">\n @for (separator of csvSeparators; track separator) {\n <mat-option [value]=\"separator\">\n {{ 'igo.geo.export.csv.separator.' + separator | translate }}\n </mat-option>\n }\n </mat-select>\n </mat-form-field>\n </div>\n @if (layers.length > 1) {\n <div class=\"export-combine-layers\">\n <mat-slide-toggle\n formControlName=\"combineLayers\"\n [labelPosition]=\"'before'\"\n >\n {{ 'igo.geo.importExportForm.exportCombineResults' | translate }}\n </mat-slide-toggle>\n </div>\n }\n @if (layers.length > 1 && form.value.combineLayers) {\n <div class=\"export-separator\">\n <mat-slide-toggle\n formControlName=\"separator\"\n [labelPosition]=\"'before'\"\n >\n {{ 'igo.geo.importExportForm.exportSeparator' | translate }}\n </mat-slide-toggle>\n </div>\n }\n }\n @if (form.value.format !== 'URL') {\n <div class=\"export-options\">\n <mat-slide-toggle\n formControlName=\"featureInMapExtent\"\n [labelPosition]=\"'before'\"\n >\n {{ 'igo.geo.importExportForm.exportFeatureInExtent' | translate }}\n </mat-slide-toggle>\n </div>\n }\n <div class=\"igo-form-button-group\">\n <button\n matButton=\"elevated\"\n type=\"button\"\n [disabled]=\"!form.valid || (loading$ | async)\"\n (click)=\"handleExportFormSubmit(form.value)\"\n >\n {{\n form.value.format !== 'URL'\n ? ('igo.geo.importExportForm.exportButton' | translate)\n : form.value.layers.length > 1\n ? ('igo.geo.importExportForm.exportButtonLinks' | translate)\n : ('igo.geo.importExportForm.exportButtonLink' | translate)\n }}\n </button>\n <igo-spinner [shown]=\"loading$ | async\" />\n </div>\n @if (exportHtmlClarifications !== '') {\n <igo-custom-html [html]=\"exportHtmlClarifications\" />\n }\n </form>\n }\n}\n", styles: [":host{padding:16px;display:flex;flex-direction:column;gap:16px}:host mat-option.igo-export-layer-mat-option{height:5em;line-height:1em}:host .import-export-toggle mat-button-toggle-group{width:100%}:host .import-export-toggle mat-button-toggle-group mat-button-toggle{width:50%}:host .igo-input-container mat-form-field{width:100%}:host .igo-form-button-group{text-align:center}:host igo-spinner{position:absolute}:host .export-options mat-slide-toggle,:host .export-combine-layers mat-slide-toggle,:host .export-separator mat-slide-toggle{width:100%;padding:10px}:host .export-options mat-slide-toggle ::ng-deep .mdc-form-field,:host .export-combine-layers mat-slide-toggle ::ng-deep .mdc-form-field,:host .export-separator mat-slide-toggle ::ng-deep .mdc-form-field{width:100%}:host .export-options mat-slide-toggle ::ng-deep .mdc-label,:host .export-combine-layers mat-slide-toggle ::ng-deep .mdc-label,:host .export-separator mat-slide-toggle ::ng-deep .mdc-label{margin-left:0;width:calc(100% - 60px)}:host .export-select-trigger{opacity:.75;font-size:.75em}\n"] }]
31304
31304
  }], ctorParameters: () => [], propDecorators: { selectFirstProj: [{ type: i0.Input, args: [{ isSignal: true, alias: "selectFirstProj", required: false }] }], map: [{ type: i0.Input, args: [{ isSignal: true, alias: "map", required: false }] }], contextUri: [{ type: i0.Input, args: [{ isSignal: true, alias: "contextUri", required: false }] }], projectionsLimitations: [{ type: i0.Input, args: [{ isSignal: true, alias: "projectionsLimitations", required: false }] }], store: [{ type: i0.Input, args: [{ isSignal: true, alias: "store", required: false }] }], selectedMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "selectedMode", required: false }] }, { type: i0.Output, args: ["selectedModeChange"] }], selectMode: [{ type: i0.Output, args: ["selectMode"] }], exportOptions$: [{ type: i0.Input, args: [{ isSignal: true, alias: "exportOptions$", required: false }] }], exportOptionsChange: [{ type: i0.Output, args: ["exportOptionsChange"] }] } });
31305
31305
 
31306
31306
  class DropGeoFileDirective extends DragAndDropDirective {
@@ -39366,7 +39366,7 @@ class CatalogBrowserLayerComponent {
39366
39366
  }
39367
39367
  }
39368
39368
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: CatalogBrowserLayerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
39369
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.19", type: CatalogBrowserLayerComponent, isStandalone: true, selector: "igo-catalog-browser-layer", inputs: { resolution: { classPropertyName: "resolution", publicName: "resolution", isSignal: true, isRequired: false, transformFunction: null }, catalogAllowLegend: { classPropertyName: "catalogAllowLegend", publicName: "catalogAllowLegend", isSignal: true, isRequired: false, transformFunction: null }, layer: { classPropertyName: "layer", publicName: "layer", isSignal: true, isRequired: false, transformFunction: null }, map: { classPropertyName: "map", publicName: "map", isSignal: true, isRequired: false, transformFunction: null }, added: { classPropertyName: "added", publicName: "added", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { addedChange: "addedChange", addedLayerIsPreview: "addedLayerIsPreview" }, ngImport: i0, template: "<mat-list-item>\n @if (haveGroup()) {\n <mat-icon class=\"catalog-browser-layer-carret\" matListItemIcon />\n }\n <span\n matListItemTitle\n matTooltipShowDelay=\"500\"\n class=\"igo-list-item-with-text-overflow-ellipsis\"\n [ngClass]=\"catalogAllowLegend() ? 'igo-cataloglayer-title' : ''\"\n (click)=\"askForLegend()\"\n [matTooltip]=\"computeTitleTooltip()\"\n >\n {{ title }}\n </span>\n\n <div matListItemMeta>\n @if (layer().externalProvider) {\n <button disabled=\"true\" mat-icon-button>\n <mat-icon\n class=\"igo-cataloglayer-external-icon\"\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"'igo.geo.catalog.externalProvider.layer' | translate\"\n color=\"primary\"\n (click)=\"$event.stopPropagation()\"\n >\n public\n </mat-icon>\n </button>\n }\n <igo-metadata-button [layer]=\"$any(layer())\" />\n\n @let isRange = inRange$ | async;\n @let isVisible = isVisible$ | async;\n @let isPreview = isPreview$ | async;\n <button\n (mouseenter)=\"onMouseEvent($event)\"\n (mouseleave)=\"onMouseEvent($event)\"\n mat-icon-button\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"computeTooltip() | translate\"\n [color]=\"isPreview ? '' : added() ? 'warn' : ''\"\n (click)=\"onToggleClick($event)\"\n >\n <mat-icon\n aria-hidden=\"false\"\n matBadge=\"icon\"\n [igoMatBadgeIcon]=\"getBadgeIcon()\"\n igoMatBadgeColor=\"rgba(0,0,0,0.87)\"\n igoMatBadgeBackgroundColor=\"none\"\n [igoMatBadgeInverseColor]=\"true\"\n [matBadgeHidden]=\"\n (isRange && isVisible) ||\n (isRange && !added()) ||\n (isRange && isPreview)\n \"\n [matBadgeDisabled]=\"isRange === false\"\n matBadgeSize=\"small\"\n matBadgePosition=\"after\"\n >\n {{ isPreview ? 'preview' : added() ? 'delete' : 'add' }}\n </mat-icon>\n </button>\n </div>\n</mat-list-item>\n\n<div #legend class=\"igo-cataloglayer-legend-container\">\n @let igoLayer = igoLayer$ | async;\n @if ((layerLegendShown$ | async) && igoLayer && catalogAllowLegend()) {\n <igo-layer-legend [layer]=\"igoLayer\" />\n }\n</div>\n", styles: [".igo-cataloglayer-title{cursor:pointer}.catalog-browser-layer-carret{margin-right:16px}.igo-cataloglayer-legend-container{padding-left:18px;width:calc(100% - 18px);margin-left:40px}.igo-cataloglayer-external-icon{cursor:help}:host .mdc-list-item__end,:host .mdc-list-item__start{color:#000}\n"], dependencies: [{ kind: "ngmodule", type: MatListModule }, { kind: "component", type: i1$2.MatListItem, selector: "mat-list-item, a[mat-list-item], button[mat-list-item]", inputs: ["activated"], exportAs: ["matListItem"] }, { kind: "directive", type: i1$2.MatListItemIcon, selector: "[matListItemIcon]" }, { kind: "directive", type: i1$2.MatListItemTitle, selector: "[matListItemTitle]" }, { kind: "directive", type: i1$2.MatListItemMeta, selector: "[matListItemMeta]" }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { 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: MatButtonModule }, { kind: "component", type: i1.MatIconButton, selector: "button[mat-icon-button], a[mat-icon-button], button[matIconButton], a[matIconButton]", exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: MetadataButtonComponent, selector: "igo-metadata-button", inputs: ["layer", "color"] }, { kind: "ngmodule", type: MatBadgeModule }, { kind: "directive", type: i4$4.MatBadge, selector: "[matBadge]", inputs: ["matBadgeColor", "matBadgeOverlap", "matBadgeDisabled", "matBadgePosition", "matBadge", "matBadgeDescription", "matBadgeSize", "matBadgeHidden"] }, { kind: "directive", type: IgoBadgeIconDirective, selector: "[igoMatBadgeIcon]", inputs: ["igoMatBadgeIcon", "matBadgeHidden", "matBadgeDisabled", "igoMatBadgeInverseColor", "igoMatBadgeInheritColor", "igoMatBadgeColor", "igoMatBadgeBackgroundColor"] }, { kind: "component", type: LayerLegendComponent, selector: "igo-layer-legend", inputs: ["updateLegendOnResolutionChange", "layer"] }, { kind: "ngmodule", type: IgoLanguageModule }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
39369
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.19", type: CatalogBrowserLayerComponent, isStandalone: true, selector: "igo-catalog-browser-layer", inputs: { resolution: { classPropertyName: "resolution", publicName: "resolution", isSignal: true, isRequired: false, transformFunction: null }, catalogAllowLegend: { classPropertyName: "catalogAllowLegend", publicName: "catalogAllowLegend", isSignal: true, isRequired: false, transformFunction: null }, layer: { classPropertyName: "layer", publicName: "layer", isSignal: true, isRequired: false, transformFunction: null }, map: { classPropertyName: "map", publicName: "map", isSignal: true, isRequired: false, transformFunction: null }, added: { classPropertyName: "added", publicName: "added", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { addedChange: "addedChange", addedLayerIsPreview: "addedLayerIsPreview" }, ngImport: i0, template: "<mat-list-item>\n @if (haveGroup()) {\n <mat-icon class=\"catalog-browser-layer-carret\" matListItemIcon />\n }\n <span\n matListItemTitle\n matTooltipShowDelay=\"500\"\n class=\"igo-list-item-with-text-overflow-ellipsis\"\n [ngClass]=\"catalogAllowLegend() ? 'igo-cataloglayer-title' : ''\"\n (click)=\"askForLegend()\"\n [matTooltip]=\"computeTitleTooltip()\"\n >\n {{ title }}\n </span>\n\n <div matListItemMeta>\n @if (layer().externalProvider) {\n <mat-icon\n class=\"igo-cataloglayer-external-icon\"\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"'igo.geo.catalog.externalProvider.layer' | translate\"\n color=\"primary\"\n >\n public\n </mat-icon>\n }\n <igo-metadata-button [layer]=\"$any(layer())\" />\n\n @let isRange = inRange$ | async;\n @let isVisible = isVisible$ | async;\n @let isPreview = isPreview$ | async;\n <button\n (mouseenter)=\"onMouseEvent($event)\"\n (mouseleave)=\"onMouseEvent($event)\"\n mat-icon-button\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"computeTooltip() | translate\"\n [color]=\"isPreview ? '' : added() ? 'warn' : ''\"\n (click)=\"onToggleClick($event)\"\n >\n <mat-icon\n aria-hidden=\"false\"\n matBadge=\"icon\"\n [igoMatBadgeIcon]=\"getBadgeIcon()\"\n igoMatBadgeColor=\"rgba(0,0,0,0.87)\"\n igoMatBadgeBackgroundColor=\"none\"\n [igoMatBadgeInverseColor]=\"true\"\n [matBadgeHidden]=\"\n (isRange && isVisible) ||\n (isRange && !added()) ||\n (isRange && isPreview)\n \"\n [matBadgeDisabled]=\"isRange === false\"\n matBadgeSize=\"small\"\n matBadgePosition=\"after\"\n >\n {{ isPreview ? 'preview' : added() ? 'delete' : 'add' }}\n </mat-icon>\n </button>\n </div>\n</mat-list-item>\n\n<div #legend class=\"igo-cataloglayer-legend-container\">\n @let igoLayer = igoLayer$ | async;\n @if ((layerLegendShown$ | async) && igoLayer && catalogAllowLegend()) {\n <igo-layer-legend [layer]=\"igoLayer\" />\n }\n</div>\n", styles: [".igo-cataloglayer-title{cursor:pointer}.catalog-browser-layer-carret{margin-right:16px}.igo-cataloglayer-legend-container{padding-left:18px;width:calc(100% - 18px);margin-left:40px}.igo-cataloglayer-external-icon{cursor:help}:host .mdc-list-item__end,:host .mdc-list-item__start{color:#000}\n"], dependencies: [{ kind: "ngmodule", type: MatListModule }, { kind: "component", type: i1$2.MatListItem, selector: "mat-list-item, a[mat-list-item], button[mat-list-item]", inputs: ["activated"], exportAs: ["matListItem"] }, { kind: "directive", type: i1$2.MatListItemIcon, selector: "[matListItemIcon]" }, { kind: "directive", type: i1$2.MatListItemTitle, selector: "[matListItemTitle]" }, { kind: "directive", type: i1$2.MatListItemMeta, selector: "[matListItemMeta]" }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { 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: MatButtonModule }, { kind: "component", type: i1.MatIconButton, selector: "button[mat-icon-button], a[mat-icon-button], button[matIconButton], a[matIconButton]", exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: MetadataButtonComponent, selector: "igo-metadata-button", inputs: ["layer", "color"] }, { kind: "ngmodule", type: MatBadgeModule }, { kind: "directive", type: i4$4.MatBadge, selector: "[matBadge]", inputs: ["matBadgeColor", "matBadgeOverlap", "matBadgeDisabled", "matBadgePosition", "matBadge", "matBadgeDescription", "matBadgeSize", "matBadgeHidden"] }, { kind: "directive", type: IgoBadgeIconDirective, selector: "[igoMatBadgeIcon]", inputs: ["igoMatBadgeIcon", "matBadgeHidden", "matBadgeDisabled", "igoMatBadgeInverseColor", "igoMatBadgeInheritColor", "igoMatBadgeColor", "igoMatBadgeBackgroundColor"] }, { kind: "component", type: LayerLegendComponent, selector: "igo-layer-legend", inputs: ["updateLegendOnResolutionChange", "layer"] }, { kind: "ngmodule", type: IgoLanguageModule }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
39370
39370
  }
39371
39371
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: CatalogBrowserLayerComponent, decorators: [{
39372
39372
  type: Component,
@@ -39382,7 +39382,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.19", ngImpo
39382
39382
  LayerLegendComponent,
39383
39383
  AsyncPipe,
39384
39384
  IgoLanguageModule
39385
- ], template: "<mat-list-item>\n @if (haveGroup()) {\n <mat-icon class=\"catalog-browser-layer-carret\" matListItemIcon />\n }\n <span\n matListItemTitle\n matTooltipShowDelay=\"500\"\n class=\"igo-list-item-with-text-overflow-ellipsis\"\n [ngClass]=\"catalogAllowLegend() ? 'igo-cataloglayer-title' : ''\"\n (click)=\"askForLegend()\"\n [matTooltip]=\"computeTitleTooltip()\"\n >\n {{ title }}\n </span>\n\n <div matListItemMeta>\n @if (layer().externalProvider) {\n <button disabled=\"true\" mat-icon-button>\n <mat-icon\n class=\"igo-cataloglayer-external-icon\"\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"'igo.geo.catalog.externalProvider.layer' | translate\"\n color=\"primary\"\n (click)=\"$event.stopPropagation()\"\n >\n public\n </mat-icon>\n </button>\n }\n <igo-metadata-button [layer]=\"$any(layer())\" />\n\n @let isRange = inRange$ | async;\n @let isVisible = isVisible$ | async;\n @let isPreview = isPreview$ | async;\n <button\n (mouseenter)=\"onMouseEvent($event)\"\n (mouseleave)=\"onMouseEvent($event)\"\n mat-icon-button\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"computeTooltip() | translate\"\n [color]=\"isPreview ? '' : added() ? 'warn' : ''\"\n (click)=\"onToggleClick($event)\"\n >\n <mat-icon\n aria-hidden=\"false\"\n matBadge=\"icon\"\n [igoMatBadgeIcon]=\"getBadgeIcon()\"\n igoMatBadgeColor=\"rgba(0,0,0,0.87)\"\n igoMatBadgeBackgroundColor=\"none\"\n [igoMatBadgeInverseColor]=\"true\"\n [matBadgeHidden]=\"\n (isRange && isVisible) ||\n (isRange && !added()) ||\n (isRange && isPreview)\n \"\n [matBadgeDisabled]=\"isRange === false\"\n matBadgeSize=\"small\"\n matBadgePosition=\"after\"\n >\n {{ isPreview ? 'preview' : added() ? 'delete' : 'add' }}\n </mat-icon>\n </button>\n </div>\n</mat-list-item>\n\n<div #legend class=\"igo-cataloglayer-legend-container\">\n @let igoLayer = igoLayer$ | async;\n @if ((layerLegendShown$ | async) && igoLayer && catalogAllowLegend()) {\n <igo-layer-legend [layer]=\"igoLayer\" />\n }\n</div>\n", styles: [".igo-cataloglayer-title{cursor:pointer}.catalog-browser-layer-carret{margin-right:16px}.igo-cataloglayer-legend-container{padding-left:18px;width:calc(100% - 18px);margin-left:40px}.igo-cataloglayer-external-icon{cursor:help}:host .mdc-list-item__end,:host .mdc-list-item__start{color:#000}\n"] }]
39385
+ ], template: "<mat-list-item>\n @if (haveGroup()) {\n <mat-icon class=\"catalog-browser-layer-carret\" matListItemIcon />\n }\n <span\n matListItemTitle\n matTooltipShowDelay=\"500\"\n class=\"igo-list-item-with-text-overflow-ellipsis\"\n [ngClass]=\"catalogAllowLegend() ? 'igo-cataloglayer-title' : ''\"\n (click)=\"askForLegend()\"\n [matTooltip]=\"computeTitleTooltip()\"\n >\n {{ title }}\n </span>\n\n <div matListItemMeta>\n @if (layer().externalProvider) {\n <mat-icon\n class=\"igo-cataloglayer-external-icon\"\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"'igo.geo.catalog.externalProvider.layer' | translate\"\n color=\"primary\"\n >\n public\n </mat-icon>\n }\n <igo-metadata-button [layer]=\"$any(layer())\" />\n\n @let isRange = inRange$ | async;\n @let isVisible = isVisible$ | async;\n @let isPreview = isPreview$ | async;\n <button\n (mouseenter)=\"onMouseEvent($event)\"\n (mouseleave)=\"onMouseEvent($event)\"\n mat-icon-button\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"computeTooltip() | translate\"\n [color]=\"isPreview ? '' : added() ? 'warn' : ''\"\n (click)=\"onToggleClick($event)\"\n >\n <mat-icon\n aria-hidden=\"false\"\n matBadge=\"icon\"\n [igoMatBadgeIcon]=\"getBadgeIcon()\"\n igoMatBadgeColor=\"rgba(0,0,0,0.87)\"\n igoMatBadgeBackgroundColor=\"none\"\n [igoMatBadgeInverseColor]=\"true\"\n [matBadgeHidden]=\"\n (isRange && isVisible) ||\n (isRange && !added()) ||\n (isRange && isPreview)\n \"\n [matBadgeDisabled]=\"isRange === false\"\n matBadgeSize=\"small\"\n matBadgePosition=\"after\"\n >\n {{ isPreview ? 'preview' : added() ? 'delete' : 'add' }}\n </mat-icon>\n </button>\n </div>\n</mat-list-item>\n\n<div #legend class=\"igo-cataloglayer-legend-container\">\n @let igoLayer = igoLayer$ | async;\n @if ((layerLegendShown$ | async) && igoLayer && catalogAllowLegend()) {\n <igo-layer-legend [layer]=\"igoLayer\" />\n }\n</div>\n", styles: [".igo-cataloglayer-title{cursor:pointer}.catalog-browser-layer-carret{margin-right:16px}.igo-cataloglayer-legend-container{padding-left:18px;width:calc(100% - 18px);margin-left:40px}.igo-cataloglayer-external-icon{cursor:help}:host .mdc-list-item__end,:host .mdc-list-item__start{color:#000}\n"] }]
39386
39386
  }], propDecorators: { resolution: [{ type: i0.Input, args: [{ isSignal: true, alias: "resolution", required: false }] }], catalogAllowLegend: [{ type: i0.Input, args: [{ isSignal: true, alias: "catalogAllowLegend", required: false }] }], layer: [{ type: i0.Input, args: [{ isSignal: true, alias: "layer", required: false }] }], map: [{ type: i0.Input, args: [{ isSignal: true, alias: "map", required: false }] }], added: [{ type: i0.Input, args: [{ isSignal: true, alias: "added", required: false }] }], addedChange: [{ type: i0.Output, args: ["addedChange"] }], addedLayerIsPreview: [{ type: i0.Output, args: ["addedLayerIsPreview"] }] } });
39387
39387
 
39388
39388
  /**
@@ -39561,7 +39561,7 @@ class CatalogBrowserGroupComponent {
39561
39561
  this.collapsed.set(!this.collapsed());
39562
39562
  }
39563
39563
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: CatalogBrowserGroupComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
39564
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.19", type: CatalogBrowserGroupComponent, isStandalone: true, selector: "igo-catalog-browser-group", inputs: { catalog: { classPropertyName: "catalog", publicName: "catalog", isSignal: true, isRequired: false, transformFunction: null }, group: { classPropertyName: "group", publicName: "group", isSignal: true, isRequired: false, transformFunction: null }, map: { classPropertyName: "map", publicName: "map", isSignal: true, isRequired: false, transformFunction: null }, collapsed: { classPropertyName: "collapsed", publicName: "collapsed", isSignal: true, isRequired: false, transformFunction: null }, resolution: { classPropertyName: "resolution", publicName: "resolution", isSignal: true, isRequired: false, transformFunction: null }, catalogAllowLegend: { classPropertyName: "catalogAllowLegend", publicName: "catalogAllowLegend", isSignal: true, isRequired: false, transformFunction: null }, toggleCollapsed: { classPropertyName: "toggleCollapsed", publicName: "toggleCollapsed", isSignal: true, isRequired: false, transformFunction: null }, state: { classPropertyName: "state", publicName: "state", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { collapsed: "collapsedChange", addedChange: "addedChange", layerAddedChange: "layerAddedChange" }, ngImport: i0, template: "<mat-list-item>\n <mat-icon\n matListItemIcon\n igoCollapse\n class=\"igo-chevron catalog-browser-group-carret\"\n [target]=\"items\"\n [collapsed]=\"collapsed()\"\n (toggle)=\"onToggleCollapsed($event)\"\n >\n expand_less\n </mat-icon>\n\n <span\n class=\"igo-catalog-group-title\"\n matListItemTitle\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"title\"\n (click)=\"onTitleClick()\"\n >{{ title }}</span\n >\n\n <div matListItemMeta>\n @if (group().externalProvider) {\n <button disabled=\"true\" mat-icon-button>\n @if (group().externalProvider) {\n <mat-icon\n class=\"igo-cataloggroup-external-icon\"\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"'igo.geo.catalog.externalProvider.group' | translate\"\n color=\"primary\"\n (click)=\"$event.stopPropagation()\"\n >\n public\n </mat-icon>\n }\n </button>\n }\n\n @if ((added$ | async) && (preview$ | async) === false) {\n <button\n mat-icon-button\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"'igo.geo.catalog.group.removeFromMap' | translate\"\n color=\"warn\"\n [disabled]=\"disabled$ | async\"\n (click)=\"onToggleClick($event)\"\n >\n <mat-icon>delete</mat-icon>\n </button>\n } @else {\n <button\n mat-icon-button\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"'igo.geo.catalog.group.addToMap' | translate\"\n [disabled]=\"disabled$ | async\"\n (click)=\"onToggleClick($event)\"\n >\n <mat-icon>add</mat-icon>\n </button>\n }\n </div>\n</mat-list-item>\n\n<div #items>\n @for (item of store.view.all$() | async; track item) {\n @if (isGroup(item)) {\n <!-- todo: add display ans manage CatalogItemGroup -->\n }\n @if (isLayer(item)) {\n <igo-catalog-browser-layer\n igoListItem\n [layer]=\"$any(item)\"\n [resolution]=\"resolution()\"\n [map]=\"map()\"\n [catalogAllowLegend]=\"catalogAllowLegend()\"\n [added]=\"state().get(item).added\"\n (addedLayerIsPreview)=\"onLayerPreview($event)\"\n (addedChange)=\"onLayerAddedChange($event)\"\n />\n }\n }\n</div>\n", styles: [".igo-catalog-group-title{cursor:pointer}.igo-cataloggroup-external-icon{cursor:help}.catalog-browser-group-carret{margin-right:16px}.igo-catalog-group-title{font-weight:500}:host .mdc-list-item__end,:host .mdc-list-item__start{color:#000}\n"], dependencies: [{ kind: "ngmodule", type: MatListModule }, { kind: "component", type: i1$2.MatListItem, selector: "mat-list-item, a[mat-list-item], button[mat-list-item]", inputs: ["activated"], exportAs: ["matListItem"] }, { kind: "directive", type: i1$2.MatListItemIcon, selector: "[matListItemIcon]" }, { kind: "directive", type: i1$2.MatListItemTitle, selector: "[matListItemTitle]" }, { kind: "directive", type: i1$2.MatListItemMeta, selector: "[matListItemMeta]" }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: CollapseDirective, selector: "[igoCollapse]", inputs: ["target", "collapsed"], outputs: ["toggle"] }, { 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: MatButtonModule }, { kind: "component", type: i1.MatIconButton, selector: "button[mat-icon-button], a[mat-icon-button], button[matIconButton], a[matIconButton]", exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: CatalogBrowserLayerComponent, selector: "igo-catalog-browser-layer", inputs: ["resolution", "catalogAllowLegend", "layer", "map", "added"], outputs: ["addedChange", "addedLayerIsPreview"] }, { kind: "directive", type: ListItemDirective, selector: "[igoListItem]", inputs: ["color", "focused", "selected", "disabled"], outputs: ["beforeSelect", "beforeFocus", "beforeUnselect", "beforeUnfocus", "beforeDisable", "beforeEnable", "focus", "unfocus", "select", "unselect", "disable", "enable"] }, { kind: "ngmodule", type: IgoLanguageModule }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
39564
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.19", type: CatalogBrowserGroupComponent, isStandalone: true, selector: "igo-catalog-browser-group", inputs: { catalog: { classPropertyName: "catalog", publicName: "catalog", isSignal: true, isRequired: false, transformFunction: null }, group: { classPropertyName: "group", publicName: "group", isSignal: true, isRequired: false, transformFunction: null }, map: { classPropertyName: "map", publicName: "map", isSignal: true, isRequired: false, transformFunction: null }, collapsed: { classPropertyName: "collapsed", publicName: "collapsed", isSignal: true, isRequired: false, transformFunction: null }, resolution: { classPropertyName: "resolution", publicName: "resolution", isSignal: true, isRequired: false, transformFunction: null }, catalogAllowLegend: { classPropertyName: "catalogAllowLegend", publicName: "catalogAllowLegend", isSignal: true, isRequired: false, transformFunction: null }, toggleCollapsed: { classPropertyName: "toggleCollapsed", publicName: "toggleCollapsed", isSignal: true, isRequired: false, transformFunction: null }, state: { classPropertyName: "state", publicName: "state", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { collapsed: "collapsedChange", addedChange: "addedChange", layerAddedChange: "layerAddedChange" }, ngImport: i0, template: "<mat-list-item>\n <mat-icon\n matListItemIcon\n igoCollapse\n class=\"igo-chevron catalog-browser-group-carret\"\n [target]=\"items\"\n [collapsed]=\"collapsed()\"\n (toggle)=\"onToggleCollapsed($event)\"\n >\n expand_less\n </mat-icon>\n\n <span\n class=\"igo-catalog-group-title\"\n matListItemTitle\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"title\"\n (click)=\"onTitleClick()\"\n >{{ title }}</span\n >\n\n <div matListItemMeta>\n @if (group().externalProvider) {\n <mat-icon\n class=\"igo-cataloggroup-external-icon\"\n color=\"primary\"\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"'igo.geo.catalog.externalProvider.group' | translate\"\n >\n public\n </mat-icon>\n }\n\n @if ((added$ | async) && (preview$ | async) === false) {\n <button\n mat-icon-button\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"'igo.geo.catalog.group.removeFromMap' | translate\"\n color=\"warn\"\n [disabled]=\"disabled$ | async\"\n (click)=\"onToggleClick($event)\"\n >\n <mat-icon>delete</mat-icon>\n </button>\n } @else {\n <button\n mat-icon-button\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"'igo.geo.catalog.group.addToMap' | translate\"\n [disabled]=\"disabled$ | async\"\n (click)=\"onToggleClick($event)\"\n >\n <mat-icon>add</mat-icon>\n </button>\n }\n </div>\n</mat-list-item>\n\n<div #items>\n @for (item of store.view.all$() | async; track item) {\n @if (isGroup(item)) {\n <!-- todo: add display ans manage CatalogItemGroup -->\n }\n @if (isLayer(item)) {\n <igo-catalog-browser-layer\n igoListItem\n [layer]=\"$any(item)\"\n [resolution]=\"resolution()\"\n [map]=\"map()\"\n [catalogAllowLegend]=\"catalogAllowLegend()\"\n [added]=\"state().get(item).added\"\n (addedLayerIsPreview)=\"onLayerPreview($event)\"\n (addedChange)=\"onLayerAddedChange($event)\"\n />\n }\n }\n</div>\n", styles: [".igo-catalog-group-title{cursor:pointer}.igo-cataloggroup-external-icon{cursor:help}.catalog-browser-group-carret{margin-right:16px}.igo-catalog-group-title{font-weight:500}:host .mdc-list-item__end,:host .mdc-list-item__start{color:#000}\n"], dependencies: [{ kind: "ngmodule", type: MatListModule }, { kind: "component", type: i1$2.MatListItem, selector: "mat-list-item, a[mat-list-item], button[mat-list-item]", inputs: ["activated"], exportAs: ["matListItem"] }, { kind: "directive", type: i1$2.MatListItemIcon, selector: "[matListItemIcon]" }, { kind: "directive", type: i1$2.MatListItemTitle, selector: "[matListItemTitle]" }, { kind: "directive", type: i1$2.MatListItemMeta, selector: "[matListItemMeta]" }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: CollapseDirective, selector: "[igoCollapse]", inputs: ["target", "collapsed"], outputs: ["toggle"] }, { 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: MatButtonModule }, { kind: "component", type: i1.MatIconButton, selector: "button[mat-icon-button], a[mat-icon-button], button[matIconButton], a[matIconButton]", exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: CatalogBrowserLayerComponent, selector: "igo-catalog-browser-layer", inputs: ["resolution", "catalogAllowLegend", "layer", "map", "added"], outputs: ["addedChange", "addedLayerIsPreview"] }, { kind: "directive", type: ListItemDirective, selector: "[igoListItem]", inputs: ["color", "focused", "selected", "disabled"], outputs: ["beforeSelect", "beforeFocus", "beforeUnselect", "beforeUnfocus", "beforeDisable", "beforeEnable", "focus", "unfocus", "select", "unselect", "disable", "enable"] }, { kind: "ngmodule", type: IgoLanguageModule }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
39565
39565
  }
39566
39566
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: CatalogBrowserGroupComponent, decorators: [{
39567
39567
  type: Component,
@@ -39575,7 +39575,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.19", ngImpo
39575
39575
  ListItemDirective,
39576
39576
  AsyncPipe,
39577
39577
  IgoLanguageModule
39578
- ], template: "<mat-list-item>\n <mat-icon\n matListItemIcon\n igoCollapse\n class=\"igo-chevron catalog-browser-group-carret\"\n [target]=\"items\"\n [collapsed]=\"collapsed()\"\n (toggle)=\"onToggleCollapsed($event)\"\n >\n expand_less\n </mat-icon>\n\n <span\n class=\"igo-catalog-group-title\"\n matListItemTitle\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"title\"\n (click)=\"onTitleClick()\"\n >{{ title }}</span\n >\n\n <div matListItemMeta>\n @if (group().externalProvider) {\n <button disabled=\"true\" mat-icon-button>\n @if (group().externalProvider) {\n <mat-icon\n class=\"igo-cataloggroup-external-icon\"\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"'igo.geo.catalog.externalProvider.group' | translate\"\n color=\"primary\"\n (click)=\"$event.stopPropagation()\"\n >\n public\n </mat-icon>\n }\n </button>\n }\n\n @if ((added$ | async) && (preview$ | async) === false) {\n <button\n mat-icon-button\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"'igo.geo.catalog.group.removeFromMap' | translate\"\n color=\"warn\"\n [disabled]=\"disabled$ | async\"\n (click)=\"onToggleClick($event)\"\n >\n <mat-icon>delete</mat-icon>\n </button>\n } @else {\n <button\n mat-icon-button\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"'igo.geo.catalog.group.addToMap' | translate\"\n [disabled]=\"disabled$ | async\"\n (click)=\"onToggleClick($event)\"\n >\n <mat-icon>add</mat-icon>\n </button>\n }\n </div>\n</mat-list-item>\n\n<div #items>\n @for (item of store.view.all$() | async; track item) {\n @if (isGroup(item)) {\n <!-- todo: add display ans manage CatalogItemGroup -->\n }\n @if (isLayer(item)) {\n <igo-catalog-browser-layer\n igoListItem\n [layer]=\"$any(item)\"\n [resolution]=\"resolution()\"\n [map]=\"map()\"\n [catalogAllowLegend]=\"catalogAllowLegend()\"\n [added]=\"state().get(item).added\"\n (addedLayerIsPreview)=\"onLayerPreview($event)\"\n (addedChange)=\"onLayerAddedChange($event)\"\n />\n }\n }\n</div>\n", styles: [".igo-catalog-group-title{cursor:pointer}.igo-cataloggroup-external-icon{cursor:help}.catalog-browser-group-carret{margin-right:16px}.igo-catalog-group-title{font-weight:500}:host .mdc-list-item__end,:host .mdc-list-item__start{color:#000}\n"] }]
39578
+ ], template: "<mat-list-item>\n <mat-icon\n matListItemIcon\n igoCollapse\n class=\"igo-chevron catalog-browser-group-carret\"\n [target]=\"items\"\n [collapsed]=\"collapsed()\"\n (toggle)=\"onToggleCollapsed($event)\"\n >\n expand_less\n </mat-icon>\n\n <span\n class=\"igo-catalog-group-title\"\n matListItemTitle\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"title\"\n (click)=\"onTitleClick()\"\n >{{ title }}</span\n >\n\n <div matListItemMeta>\n @if (group().externalProvider) {\n <mat-icon\n class=\"igo-cataloggroup-external-icon\"\n color=\"primary\"\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"'igo.geo.catalog.externalProvider.group' | translate\"\n >\n public\n </mat-icon>\n }\n\n @if ((added$ | async) && (preview$ | async) === false) {\n <button\n mat-icon-button\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"'igo.geo.catalog.group.removeFromMap' | translate\"\n color=\"warn\"\n [disabled]=\"disabled$ | async\"\n (click)=\"onToggleClick($event)\"\n >\n <mat-icon>delete</mat-icon>\n </button>\n } @else {\n <button\n mat-icon-button\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"'igo.geo.catalog.group.addToMap' | translate\"\n [disabled]=\"disabled$ | async\"\n (click)=\"onToggleClick($event)\"\n >\n <mat-icon>add</mat-icon>\n </button>\n }\n </div>\n</mat-list-item>\n\n<div #items>\n @for (item of store.view.all$() | async; track item) {\n @if (isGroup(item)) {\n <!-- todo: add display ans manage CatalogItemGroup -->\n }\n @if (isLayer(item)) {\n <igo-catalog-browser-layer\n igoListItem\n [layer]=\"$any(item)\"\n [resolution]=\"resolution()\"\n [map]=\"map()\"\n [catalogAllowLegend]=\"catalogAllowLegend()\"\n [added]=\"state().get(item).added\"\n (addedLayerIsPreview)=\"onLayerPreview($event)\"\n (addedChange)=\"onLayerAddedChange($event)\"\n />\n }\n }\n</div>\n", styles: [".igo-catalog-group-title{cursor:pointer}.igo-cataloggroup-external-icon{cursor:help}.catalog-browser-group-carret{margin-right:16px}.igo-catalog-group-title{font-weight:500}:host .mdc-list-item__end,:host .mdc-list-item__start{color:#000}\n"] }]
39579
39579
  }], propDecorators: { catalog: [{ type: i0.Input, args: [{ isSignal: true, alias: "catalog", required: false }] }], group: [{ type: i0.Input, args: [{ isSignal: true, alias: "group", required: false }] }], map: [{ type: i0.Input, args: [{ isSignal: true, alias: "map", required: false }] }], collapsed: [{ type: i0.Input, args: [{ isSignal: true, alias: "collapsed", required: false }] }, { type: i0.Output, args: ["collapsedChange"] }], resolution: [{ type: i0.Input, args: [{ isSignal: true, alias: "resolution", required: false }] }], catalogAllowLegend: [{ type: i0.Input, args: [{ isSignal: true, alias: "catalogAllowLegend", required: false }] }], toggleCollapsed: [{ type: i0.Input, args: [{ isSignal: true, alias: "toggleCollapsed", required: false }] }], state: [{ type: i0.Input, args: [{ isSignal: true, alias: "state", required: false }] }], addedChange: [{ type: i0.Output, args: ["addedChange"] }], layerAddedChange: [{ type: i0.Output, args: ["layerAddedChange"] }] } });
39580
39580
 
39581
39581
  /**