@igo2/geo 21.0.0-next.8 → 21.0.0-next.9

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.
@@ -12589,7 +12589,7 @@ class LayerItemComponent {
12589
12589
  this.selectChange.emit(event.checked);
12590
12590
  }
12591
12591
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.14", ngImport: i0, type: LayerItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
12592
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.14", type: LayerItemComponent, isStandalone: true, selector: "igo-layer-item", inputs: { layer: { classPropertyName: "layer", publicName: "layer", isSignal: true, isRequired: true, transformFunction: null }, visible: { classPropertyName: "visible", publicName: "visible", isSignal: true, isRequired: true, transformFunction: null }, selected: { classPropertyName: "selected", publicName: "selected", isSignal: true, isRequired: false, transformFunction: null }, selectionDisabled: { classPropertyName: "selectionDisabled", publicName: "selectionDisabled", isSignal: true, isRequired: false, transformFunction: null }, viewerOptions: { classPropertyName: "viewerOptions", publicName: "viewerOptions", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { action: "action", selectChange: "selectChange", visibilityChange: "visibilityChange" }, host: { properties: { "class.disabled": "this.isDisabled" } }, ngImport: i0, template: "<div class=\"igo-layer-list-item\">\n <div class=\"layer-content\">\n @if (viewerOptions()?.mode === 'selection') {\n <mat-checkbox\n [checked]=\"selected()\"\n [disabled]=\"selectionDisabled()\"\n (change)=\"handleSelect($event)\"\n />\n }\n <ng-content />\n <span\n class=\"igo-layer-title\"\n [matTooltip]=\"tooltipText\"\n matTooltipShowDelay=\"500\"\n (click)=\"toggleLegendOnClick()\"\n >\n {{ layer().title }}\n </span>\n </div>\n\n <div class=\"list-actions\">\n <div class=\"list-secondary-actions\">\n @if (viewerOptions()?.mode !== 'selection') {\n <button\n class=\"actions-button\"\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"'igo.geo.layer.moreOptions' | translate\"\n mat-icon-button\n color=\"primary\"\n (click)=\"toggleLayerTool()\"\n >\n <mat-icon>more_horiz</mat-icon>\n </button>\n }\n </div>\n\n <igo-layer-visibility-button\n [layer]=\"layer()\"\n [tooltip]=\"visibilityTooltip\"\n [disabled]=\"isDisabled\"\n [inResolutionsRange]=\"\n (layer().isInResolutionsRange$ | async) ?? undefined\n \"\n [showQueryBadge]=\"queryBadgeHidden() === false\"\n (visibilityChange)=\"handleVisibilityChange($event)\"\n />\n </div>\n</div>\n\n@if (showLegend()) {\n <div class=\"igo-layer-legend-container\">\n <igo-layer-legend\n [layer]=\"layer()\"\n [updateLegendOnResolutionChange]=\"\n viewerOptions()?.legend?.updateOnResolutionChange ?? false\n \"\n />\n </div>\n}\n", styles: [":host ::ng-deep .list-secondary-actions button{visibility:hidden}:host ::ng-deep .list-secondary-actions button.disabled{visibility:visible}:host:hover ::ng-deep .list-secondary-actions button{visibility:visible}:host.disabled ::ng-deep .igo-layer-title,:host.disabled ::ng-deep .list-secondary-actions{opacity:.54}:host{overflow:hidden;background-color:var(--mat-sys-surface)}:host ::ng-deep button.mat-default mat-icon{color:var(--mat-sys-on-surface);fill:var(--mat-sys-on-surface)}:host ::ng-deep button.disabled mat-icon{color:var(--mat-sys-on-secondary-fixed);fill:var(--mat-sys-on-secondary-fixed);opacity:.64}.list-actions{display:flex;margin-left:4px;margin-right:4px}.layer-content{display:flex;align-items:center;flex:1}.igo-layer-title{display:block;cursor:pointer;max-height:48px;white-space:normal;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;box-orient:vertical;-webkit-box-orient:vertical;line-clamp:2;-webkit-line-clamp:2}.igo-layer-list-item{display:flex;align-items:center;justify-content:space-between}.igo-layer-legend-container{padding-top:4px;width:calc(100% - 12px)}\n"], dependencies: [{ kind: "ngmodule", type: MatListModule }, { kind: "ngmodule", type: MatCheckboxModule }, { kind: "component", type: i2$1.MatCheckbox, selector: "mat-checkbox", inputs: ["aria-label", "aria-labelledby", "aria-describedby", "aria-expanded", "aria-controls", "aria-owns", "id", "required", "labelPosition", "name", "value", "disableRipple", "tabIndex", "color", "disabledInteractive", "checked", "disabled", "indeterminate"], outputs: ["change", "indeterminateChange"], exportAs: ["matCheckbox"] }, { 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: "ngmodule", type: MatIconModule }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatBadgeModule }, { kind: "component", type: LayerLegendComponent, selector: "igo-layer-legend", inputs: ["updateLegendOnResolutionChange", "layer"] }, { kind: "ngmodule", type: IgoLanguageModule }, { kind: "component", type: LayerVisibilityButtonComponent, selector: "igo-layer-visibility-button", inputs: ["layer", "tooltip", "disabled", "showQueryBadge", "inResolutionsRange"], outputs: ["visibilityChange"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
12592
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.14", type: LayerItemComponent, isStandalone: true, selector: "igo-layer-item", inputs: { layer: { classPropertyName: "layer", publicName: "layer", isSignal: true, isRequired: true, transformFunction: null }, visible: { classPropertyName: "visible", publicName: "visible", isSignal: true, isRequired: true, transformFunction: null }, selected: { classPropertyName: "selected", publicName: "selected", isSignal: true, isRequired: false, transformFunction: null }, selectionDisabled: { classPropertyName: "selectionDisabled", publicName: "selectionDisabled", isSignal: true, isRequired: false, transformFunction: null }, viewerOptions: { classPropertyName: "viewerOptions", publicName: "viewerOptions", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { action: "action", selectChange: "selectChange", visibilityChange: "visibilityChange" }, host: { properties: { "class.disabled": "this.isDisabled" } }, ngImport: i0, template: "<div class=\"igo-layer-list-item\">\n <div class=\"layer-content\">\n @if (viewerOptions()?.mode === 'selection') {\n <mat-checkbox\n [checked]=\"selected()\"\n [disabled]=\"selectionDisabled()\"\n (change)=\"handleSelect($event)\"\n />\n }\n <ng-content />\n <span\n class=\"igo-layer-title\"\n [matTooltip]=\"tooltipText\"\n matTooltipShowDelay=\"500\"\n (click)=\"toggleLegendOnClick()\"\n >\n {{ layer().title }}\n </span>\n </div>\n\n <div class=\"list-actions\">\n <div class=\"list-secondary-actions\">\n @if (viewerOptions()?.mode !== 'selection') {\n <button\n class=\"actions-button\"\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"'igo.geo.layer.moreOptions' | translate\"\n mat-icon-button\n color=\"primary\"\n (click)=\"toggleLayerTool()\"\n >\n <mat-icon>more_horiz</mat-icon>\n </button>\n }\n </div>\n\n <igo-layer-visibility-button\n [layer]=\"layer()\"\n [tooltip]=\"visibilityTooltip\"\n [disabled]=\"isDisabled\"\n [inResolutionsRange]=\"\n (layer().isInResolutionsRange$ | async) ?? undefined\n \"\n [showQueryBadge]=\"queryBadgeHidden() === false\"\n (visibilityChange)=\"handleVisibilityChange($event)\"\n />\n </div>\n</div>\n\n@if (showLegend()) {\n <div class=\"igo-layer-legend-container\">\n <igo-layer-legend\n [layer]=\"layer()\"\n [updateLegendOnResolutionChange]=\"\n viewerOptions()?.legend?.updateOnResolutionChange ?? false\n \"\n />\n </div>\n}\n", styles: [":host ::ng-deep .list-secondary-actions button{visibility:hidden}:host ::ng-deep .list-secondary-actions button.disabled{visibility:visible}:host:hover ::ng-deep .list-secondary-actions button{visibility:visible}:host.disabled ::ng-deep .igo-layer-title,:host.disabled ::ng-deep .list-secondary-actions{opacity:.54}:host{overflow:hidden;background-color:var(--mat-sys-surface)}:host ::ng-deep button.mat-default mat-icon{color:var(--mat-sys-on-surface);fill:var(--mat-sys-on-surface)}:host ::ng-deep button.disabled mat-icon{color:var(--mat-sys-on-secondary-fixed);fill:var(--mat-sys-on-secondary-fixed);opacity:.64}.list-actions{display:flex;margin-left:4px;margin-right:4px}.layer-content{display:flex;align-items:center;flex:1}.igo-layer-title{display:block;cursor:pointer;max-height:48px;white-space:normal;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;box-orient:vertical;-webkit-box-orient:vertical;line-clamp:2;-webkit-line-clamp:2;overflow-wrap:anywhere}.igo-layer-list-item{display:flex;align-items:center;justify-content:space-between}.igo-layer-legend-container{padding-top:4px;width:calc(100% - 12px)}\n"], dependencies: [{ kind: "ngmodule", type: MatListModule }, { kind: "ngmodule", type: MatCheckboxModule }, { kind: "component", type: i2$1.MatCheckbox, selector: "mat-checkbox", inputs: ["aria-label", "aria-labelledby", "aria-describedby", "aria-expanded", "aria-controls", "aria-owns", "id", "required", "labelPosition", "name", "value", "disableRipple", "tabIndex", "color", "disabledInteractive", "checked", "disabled", "indeterminate"], outputs: ["change", "indeterminateChange"], exportAs: ["matCheckbox"] }, { 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: "ngmodule", type: MatIconModule }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatBadgeModule }, { kind: "component", type: LayerLegendComponent, selector: "igo-layer-legend", inputs: ["updateLegendOnResolutionChange", "layer"] }, { kind: "ngmodule", type: IgoLanguageModule }, { kind: "component", type: LayerVisibilityButtonComponent, selector: "igo-layer-visibility-button", inputs: ["layer", "tooltip", "disabled", "showQueryBadge", "inResolutionsRange"], outputs: ["visibilityChange"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
12593
12593
  }
12594
12594
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImport: i0, type: LayerItemComponent, decorators: [{
12595
12595
  type: Component,
@@ -12604,7 +12604,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImpo
12604
12604
  AsyncPipe,
12605
12605
  IgoLanguageModule,
12606
12606
  LayerVisibilityButtonComponent
12607
- ], template: "<div class=\"igo-layer-list-item\">\n <div class=\"layer-content\">\n @if (viewerOptions()?.mode === 'selection') {\n <mat-checkbox\n [checked]=\"selected()\"\n [disabled]=\"selectionDisabled()\"\n (change)=\"handleSelect($event)\"\n />\n }\n <ng-content />\n <span\n class=\"igo-layer-title\"\n [matTooltip]=\"tooltipText\"\n matTooltipShowDelay=\"500\"\n (click)=\"toggleLegendOnClick()\"\n >\n {{ layer().title }}\n </span>\n </div>\n\n <div class=\"list-actions\">\n <div class=\"list-secondary-actions\">\n @if (viewerOptions()?.mode !== 'selection') {\n <button\n class=\"actions-button\"\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"'igo.geo.layer.moreOptions' | translate\"\n mat-icon-button\n color=\"primary\"\n (click)=\"toggleLayerTool()\"\n >\n <mat-icon>more_horiz</mat-icon>\n </button>\n }\n </div>\n\n <igo-layer-visibility-button\n [layer]=\"layer()\"\n [tooltip]=\"visibilityTooltip\"\n [disabled]=\"isDisabled\"\n [inResolutionsRange]=\"\n (layer().isInResolutionsRange$ | async) ?? undefined\n \"\n [showQueryBadge]=\"queryBadgeHidden() === false\"\n (visibilityChange)=\"handleVisibilityChange($event)\"\n />\n </div>\n</div>\n\n@if (showLegend()) {\n <div class=\"igo-layer-legend-container\">\n <igo-layer-legend\n [layer]=\"layer()\"\n [updateLegendOnResolutionChange]=\"\n viewerOptions()?.legend?.updateOnResolutionChange ?? false\n \"\n />\n </div>\n}\n", styles: [":host ::ng-deep .list-secondary-actions button{visibility:hidden}:host ::ng-deep .list-secondary-actions button.disabled{visibility:visible}:host:hover ::ng-deep .list-secondary-actions button{visibility:visible}:host.disabled ::ng-deep .igo-layer-title,:host.disabled ::ng-deep .list-secondary-actions{opacity:.54}:host{overflow:hidden;background-color:var(--mat-sys-surface)}:host ::ng-deep button.mat-default mat-icon{color:var(--mat-sys-on-surface);fill:var(--mat-sys-on-surface)}:host ::ng-deep button.disabled mat-icon{color:var(--mat-sys-on-secondary-fixed);fill:var(--mat-sys-on-secondary-fixed);opacity:.64}.list-actions{display:flex;margin-left:4px;margin-right:4px}.layer-content{display:flex;align-items:center;flex:1}.igo-layer-title{display:block;cursor:pointer;max-height:48px;white-space:normal;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;box-orient:vertical;-webkit-box-orient:vertical;line-clamp:2;-webkit-line-clamp:2}.igo-layer-list-item{display:flex;align-items:center;justify-content:space-between}.igo-layer-legend-container{padding-top:4px;width:calc(100% - 12px)}\n"] }]
12607
+ ], template: "<div class=\"igo-layer-list-item\">\n <div class=\"layer-content\">\n @if (viewerOptions()?.mode === 'selection') {\n <mat-checkbox\n [checked]=\"selected()\"\n [disabled]=\"selectionDisabled()\"\n (change)=\"handleSelect($event)\"\n />\n }\n <ng-content />\n <span\n class=\"igo-layer-title\"\n [matTooltip]=\"tooltipText\"\n matTooltipShowDelay=\"500\"\n (click)=\"toggleLegendOnClick()\"\n >\n {{ layer().title }}\n </span>\n </div>\n\n <div class=\"list-actions\">\n <div class=\"list-secondary-actions\">\n @if (viewerOptions()?.mode !== 'selection') {\n <button\n class=\"actions-button\"\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"'igo.geo.layer.moreOptions' | translate\"\n mat-icon-button\n color=\"primary\"\n (click)=\"toggleLayerTool()\"\n >\n <mat-icon>more_horiz</mat-icon>\n </button>\n }\n </div>\n\n <igo-layer-visibility-button\n [layer]=\"layer()\"\n [tooltip]=\"visibilityTooltip\"\n [disabled]=\"isDisabled\"\n [inResolutionsRange]=\"\n (layer().isInResolutionsRange$ | async) ?? undefined\n \"\n [showQueryBadge]=\"queryBadgeHidden() === false\"\n (visibilityChange)=\"handleVisibilityChange($event)\"\n />\n </div>\n</div>\n\n@if (showLegend()) {\n <div class=\"igo-layer-legend-container\">\n <igo-layer-legend\n [layer]=\"layer()\"\n [updateLegendOnResolutionChange]=\"\n viewerOptions()?.legend?.updateOnResolutionChange ?? false\n \"\n />\n </div>\n}\n", styles: [":host ::ng-deep .list-secondary-actions button{visibility:hidden}:host ::ng-deep .list-secondary-actions button.disabled{visibility:visible}:host:hover ::ng-deep .list-secondary-actions button{visibility:visible}:host.disabled ::ng-deep .igo-layer-title,:host.disabled ::ng-deep .list-secondary-actions{opacity:.54}:host{overflow:hidden;background-color:var(--mat-sys-surface)}:host ::ng-deep button.mat-default mat-icon{color:var(--mat-sys-on-surface);fill:var(--mat-sys-on-surface)}:host ::ng-deep button.disabled mat-icon{color:var(--mat-sys-on-secondary-fixed);fill:var(--mat-sys-on-secondary-fixed);opacity:.64}.list-actions{display:flex;margin-left:4px;margin-right:4px}.layer-content{display:flex;align-items:center;flex:1}.igo-layer-title{display:block;cursor:pointer;max-height:48px;white-space:normal;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;box-orient:vertical;-webkit-box-orient:vertical;line-clamp:2;-webkit-line-clamp:2;overflow-wrap:anywhere}.igo-layer-list-item{display:flex;align-items:center;justify-content:space-between}.igo-layer-legend-container{padding-top:4px;width:calc(100% - 12px)}\n"] }]
12608
12608
  }], propDecorators: { layer: [{ type: i0.Input, args: [{ isSignal: true, alias: "layer", required: true }] }], visible: [{ type: i0.Input, args: [{ isSignal: true, alias: "visible", required: true }] }], selected: [{ type: i0.Input, args: [{ isSignal: true, alias: "selected", required: false }] }], selectionDisabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "selectionDisabled", required: false }] }], viewerOptions: [{ type: i0.Input, args: [{ isSignal: true, alias: "viewerOptions", required: false }] }], action: [{ type: i0.Output, args: ["action"] }], selectChange: [{ type: i0.Output, args: ["selectChange"] }], visibilityChange: [{ type: i0.Output, args: ["visibilityChange"] }], isDisabled: [{
12609
12609
  type: HostBinding,
12610
12610
  args: ['class.disabled']
@@ -22175,7 +22175,7 @@ class FeatureDetailsComponent {
22175
22175
  }
22176
22176
  }
22177
22177
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.14", ngImport: i0, type: FeatureDetailsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
22178
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.14", type: FeatureDetailsComponent, isStandalone: true, selector: "igo-feature-details", inputs: { source: { classPropertyName: "source", publicName: "source", isSignal: true, isRequired: false, transformFunction: null }, map: { classPropertyName: "map", publicName: "map", isSignal: true, isRequired: false, transformFunction: null }, toolbox: { classPropertyName: "toolbox", publicName: "toolbox", isSignal: true, isRequired: false, transformFunction: null }, feature: { classPropertyName: "feature", publicName: "feature", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { routeEvent: "routeEvent", selectFeature: "selectFeature", htmlDisplayEvent: "htmlDisplayEvent" }, ngImport: i0, template: "@let properties = feature()?.properties;\n@if (\n ready && feature() && isObject(properties) && properties?.target !== 'iframe'\n) {\n <table class=\"igo-striped\">\n <tbody>\n @for (\n property of filterFeatureProperties(feature()!) | keyvalue;\n track property\n ) {\n <tr>\n @if (properties?.target === '_blank' && property.key === 'url') {\n <td>\n <mat-icon matListItemIcon>{{ icon }}</mat-icon>\n </td>\n }\n @if (properties?.target === '_blank' && property.key === 'url') {\n <td>\n <a\n href=\"{{ property.value }}\"\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n >\n {{ 'igo.geo.targetHtmlUrl' | translate }} {{ title }}</a\n >\n <button\n matIconButton\n (click)=\"copyTextToClipboard(property.value)\"\n >\n <mat-icon>content_copy</mat-icon>\n </button>\n </td>\n }\n @if (properties?.target === undefined) {\n <td id=\"keyValue\">\n {{ property.key }}\n </td>\n }\n @if (\n properties?.target === undefined &&\n !isObject(property.value) &&\n !isUrl(property.value) &&\n !hasEmbeddedLinks(property.value)\n ) {\n <td [innerHTML]=\"property.value\"></td>\n }\n @if (\n properties?.target === undefined && hasEmbeddedLinks(property.value)\n ) {\n <td>\n <u\n [style]=\"{ cursor: 'pointer', color: 'blue' }\"\n (click)=\"openSecureUrl(property.value)\"\n >{{ getEmbeddedLinkText(property.value) }}</u\n >\n </td>\n }\n @if (\n properties?.target === undefined &&\n !isObject(property.value) &&\n (isDoc(property.value) || isUrl(property.value)) &&\n !isImg(property.value)\n ) {\n <td>\n <u\n [style]=\"{ cursor: 'pointer', color: 'blue' }\"\n (click)=\"openSecureUrl(property.value)\"\n >{{ 'igo.geo.targetHtmlUrl' | translate }}</u\n >\n <button\n matIconButton\n (click)=\"copyTextToClipboard(property.value)\"\n >\n <mat-icon>content_copy</mat-icon>\n </button>\n </td>\n }\n @if (\n properties?.target === undefined &&\n !isObject(property.value) &&\n isUrl(property.value) &&\n isImg(property.value)\n ) {\n <td>\n <a\n href=\"{{ property.value }}\"\n target=\"_blank\"\n (click)=\"openSecureUrl(property.value)\"\n rel=\"noopener noreferrer\"\n >\n <img\n igoImageError\n src=\"{{ property.value | secureImage | async }}\"\n width=\"225\"\n height=\"auto\"\n />\n </a>\n </td>\n }\n @if (properties?.target === undefined && isObject(property.value)) {\n <td [innerHTML]=\"property.value | json\"></td>\n }\n </tr>\n }\n </tbody>\n </table>\n}\n\n@if (isHtmlDisplay()) {\n <iframe\n [srcdoc]=\"htmlSanitizer(properties)\"\n [src]=\"urlSanitizer(properties?.url)\"\n ></iframe>\n}\n", styles: ["table{width:100%}table.igo-striped tbody tr:nth-child(odd){background-color:var(--mat-sys-surface-container-high)}table td{padding:4px}#keyValue{width:30%}table ::ng-deep .routing{cursor:pointer}iframe{height:calc(100% - 4px);width:100%;border:0}\n"], dependencies: [{ kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: ImageErrorDirective, selector: "[igoImageError]", inputs: ["errorImageUrl", "hideError"] }, { kind: "ngmodule", type: IgoLanguageModule }, { 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: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: JsonPipe, name: "json" }, { kind: "pipe", type: KeyValuePipe, name: "keyvalue" }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }, { kind: "pipe", type: SecureImagePipe, name: "secureImage" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
22178
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.14", type: FeatureDetailsComponent, isStandalone: true, selector: "igo-feature-details", inputs: { source: { classPropertyName: "source", publicName: "source", isSignal: true, isRequired: false, transformFunction: null }, map: { classPropertyName: "map", publicName: "map", isSignal: true, isRequired: false, transformFunction: null }, toolbox: { classPropertyName: "toolbox", publicName: "toolbox", isSignal: true, isRequired: false, transformFunction: null }, feature: { classPropertyName: "feature", publicName: "feature", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { routeEvent: "routeEvent", selectFeature: "selectFeature", htmlDisplayEvent: "htmlDisplayEvent" }, ngImport: i0, template: "@let properties = feature()?.properties;\n@if (\n ready && feature() && isObject(properties) && properties?.target !== 'iframe'\n) {\n <table class=\"igo-striped\">\n <tbody>\n @for (\n property of filterFeatureProperties(feature()!) | keyvalue: null;\n track property\n ) {\n <tr>\n @if (properties?.target === '_blank' && property.key === 'url') {\n <td>\n <mat-icon matListItemIcon>{{ icon }}</mat-icon>\n </td>\n }\n @if (properties?.target === '_blank' && property.key === 'url') {\n <td>\n <a\n href=\"{{ property.value }}\"\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n >\n {{ 'igo.geo.targetHtmlUrl' | translate }} {{ title }}</a\n >\n <button\n matIconButton\n (click)=\"copyTextToClipboard(property.value)\"\n >\n <mat-icon>content_copy</mat-icon>\n </button>\n </td>\n }\n @if (properties?.target === undefined) {\n <td id=\"keyValue\">\n {{ property.key }}\n </td>\n }\n @if (\n properties?.target === undefined &&\n !isObject(property.value) &&\n !isUrl(property.value) &&\n !hasEmbeddedLinks(property.value)\n ) {\n <td [innerHTML]=\"property.value\"></td>\n }\n @if (\n properties?.target === undefined && hasEmbeddedLinks(property.value)\n ) {\n <td>\n <u\n [style]=\"{ cursor: 'pointer', color: 'blue' }\"\n (click)=\"openSecureUrl(property.value)\"\n >{{ getEmbeddedLinkText(property.value) }}</u\n >\n </td>\n }\n @if (\n properties?.target === undefined &&\n !isObject(property.value) &&\n (isDoc(property.value) || isUrl(property.value)) &&\n !isImg(property.value)\n ) {\n <td>\n <u\n [style]=\"{ cursor: 'pointer', color: 'blue' }\"\n (click)=\"openSecureUrl(property.value)\"\n >{{ 'igo.geo.targetHtmlUrl' | translate }}</u\n >\n <button\n matIconButton\n (click)=\"copyTextToClipboard(property.value)\"\n >\n <mat-icon>content_copy</mat-icon>\n </button>\n </td>\n }\n @if (\n properties?.target === undefined &&\n !isObject(property.value) &&\n isUrl(property.value) &&\n isImg(property.value)\n ) {\n <td>\n <a\n href=\"{{ property.value }}\"\n target=\"_blank\"\n (click)=\"openSecureUrl(property.value)\"\n rel=\"noopener noreferrer\"\n >\n <img\n igoImageError\n src=\"{{ property.value | secureImage | async }}\"\n width=\"225\"\n height=\"auto\"\n />\n </a>\n </td>\n }\n @if (properties?.target === undefined && isObject(property.value)) {\n <td [innerHTML]=\"property.value | json\"></td>\n }\n </tr>\n }\n </tbody>\n </table>\n}\n\n@if (isHtmlDisplay()) {\n <iframe\n [srcdoc]=\"htmlSanitizer(properties)\"\n [src]=\"urlSanitizer(properties?.url)\"\n ></iframe>\n}\n", styles: ["table{width:100%}table.igo-striped tbody tr:nth-child(odd){background-color:var(--mat-sys-surface-container-high)}table td{padding:4px}#keyValue{width:30%}table ::ng-deep .routing{cursor:pointer}iframe{height:calc(100% - 4px);width:100%;border:0}\n"], dependencies: [{ kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: ImageErrorDirective, selector: "[igoImageError]", inputs: ["errorImageUrl", "hideError"] }, { kind: "ngmodule", type: IgoLanguageModule }, { 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: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: JsonPipe, name: "json" }, { kind: "pipe", type: KeyValuePipe, name: "keyvalue" }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }, { kind: "pipe", type: SecureImagePipe, name: "secureImage" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
22179
22179
  }
22180
22180
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImport: i0, type: FeatureDetailsComponent, decorators: [{
22181
22181
  type: Component,
@@ -22188,7 +22188,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImpo
22188
22188
  IgoLanguageModule,
22189
22189
  SecureImagePipe,
22190
22190
  MatButtonModule
22191
- ], template: "@let properties = feature()?.properties;\n@if (\n ready && feature() && isObject(properties) && properties?.target !== 'iframe'\n) {\n <table class=\"igo-striped\">\n <tbody>\n @for (\n property of filterFeatureProperties(feature()!) | keyvalue;\n track property\n ) {\n <tr>\n @if (properties?.target === '_blank' && property.key === 'url') {\n <td>\n <mat-icon matListItemIcon>{{ icon }}</mat-icon>\n </td>\n }\n @if (properties?.target === '_blank' && property.key === 'url') {\n <td>\n <a\n href=\"{{ property.value }}\"\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n >\n {{ 'igo.geo.targetHtmlUrl' | translate }} {{ title }}</a\n >\n <button\n matIconButton\n (click)=\"copyTextToClipboard(property.value)\"\n >\n <mat-icon>content_copy</mat-icon>\n </button>\n </td>\n }\n @if (properties?.target === undefined) {\n <td id=\"keyValue\">\n {{ property.key }}\n </td>\n }\n @if (\n properties?.target === undefined &&\n !isObject(property.value) &&\n !isUrl(property.value) &&\n !hasEmbeddedLinks(property.value)\n ) {\n <td [innerHTML]=\"property.value\"></td>\n }\n @if (\n properties?.target === undefined && hasEmbeddedLinks(property.value)\n ) {\n <td>\n <u\n [style]=\"{ cursor: 'pointer', color: 'blue' }\"\n (click)=\"openSecureUrl(property.value)\"\n >{{ getEmbeddedLinkText(property.value) }}</u\n >\n </td>\n }\n @if (\n properties?.target === undefined &&\n !isObject(property.value) &&\n (isDoc(property.value) || isUrl(property.value)) &&\n !isImg(property.value)\n ) {\n <td>\n <u\n [style]=\"{ cursor: 'pointer', color: 'blue' }\"\n (click)=\"openSecureUrl(property.value)\"\n >{{ 'igo.geo.targetHtmlUrl' | translate }}</u\n >\n <button\n matIconButton\n (click)=\"copyTextToClipboard(property.value)\"\n >\n <mat-icon>content_copy</mat-icon>\n </button>\n </td>\n }\n @if (\n properties?.target === undefined &&\n !isObject(property.value) &&\n isUrl(property.value) &&\n isImg(property.value)\n ) {\n <td>\n <a\n href=\"{{ property.value }}\"\n target=\"_blank\"\n (click)=\"openSecureUrl(property.value)\"\n rel=\"noopener noreferrer\"\n >\n <img\n igoImageError\n src=\"{{ property.value | secureImage | async }}\"\n width=\"225\"\n height=\"auto\"\n />\n </a>\n </td>\n }\n @if (properties?.target === undefined && isObject(property.value)) {\n <td [innerHTML]=\"property.value | json\"></td>\n }\n </tr>\n }\n </tbody>\n </table>\n}\n\n@if (isHtmlDisplay()) {\n <iframe\n [srcdoc]=\"htmlSanitizer(properties)\"\n [src]=\"urlSanitizer(properties?.url)\"\n ></iframe>\n}\n", styles: ["table{width:100%}table.igo-striped tbody tr:nth-child(odd){background-color:var(--mat-sys-surface-container-high)}table td{padding:4px}#keyValue{width:30%}table ::ng-deep .routing{cursor:pointer}iframe{height:calc(100% - 4px);width:100%;border:0}\n"] }]
22191
+ ], template: "@let properties = feature()?.properties;\n@if (\n ready && feature() && isObject(properties) && properties?.target !== 'iframe'\n) {\n <table class=\"igo-striped\">\n <tbody>\n @for (\n property of filterFeatureProperties(feature()!) | keyvalue: null;\n track property\n ) {\n <tr>\n @if (properties?.target === '_blank' && property.key === 'url') {\n <td>\n <mat-icon matListItemIcon>{{ icon }}</mat-icon>\n </td>\n }\n @if (properties?.target === '_blank' && property.key === 'url') {\n <td>\n <a\n href=\"{{ property.value }}\"\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n >\n {{ 'igo.geo.targetHtmlUrl' | translate }} {{ title }}</a\n >\n <button\n matIconButton\n (click)=\"copyTextToClipboard(property.value)\"\n >\n <mat-icon>content_copy</mat-icon>\n </button>\n </td>\n }\n @if (properties?.target === undefined) {\n <td id=\"keyValue\">\n {{ property.key }}\n </td>\n }\n @if (\n properties?.target === undefined &&\n !isObject(property.value) &&\n !isUrl(property.value) &&\n !hasEmbeddedLinks(property.value)\n ) {\n <td [innerHTML]=\"property.value\"></td>\n }\n @if (\n properties?.target === undefined && hasEmbeddedLinks(property.value)\n ) {\n <td>\n <u\n [style]=\"{ cursor: 'pointer', color: 'blue' }\"\n (click)=\"openSecureUrl(property.value)\"\n >{{ getEmbeddedLinkText(property.value) }}</u\n >\n </td>\n }\n @if (\n properties?.target === undefined &&\n !isObject(property.value) &&\n (isDoc(property.value) || isUrl(property.value)) &&\n !isImg(property.value)\n ) {\n <td>\n <u\n [style]=\"{ cursor: 'pointer', color: 'blue' }\"\n (click)=\"openSecureUrl(property.value)\"\n >{{ 'igo.geo.targetHtmlUrl' | translate }}</u\n >\n <button\n matIconButton\n (click)=\"copyTextToClipboard(property.value)\"\n >\n <mat-icon>content_copy</mat-icon>\n </button>\n </td>\n }\n @if (\n properties?.target === undefined &&\n !isObject(property.value) &&\n isUrl(property.value) &&\n isImg(property.value)\n ) {\n <td>\n <a\n href=\"{{ property.value }}\"\n target=\"_blank\"\n (click)=\"openSecureUrl(property.value)\"\n rel=\"noopener noreferrer\"\n >\n <img\n igoImageError\n src=\"{{ property.value | secureImage | async }}\"\n width=\"225\"\n height=\"auto\"\n />\n </a>\n </td>\n }\n @if (properties?.target === undefined && isObject(property.value)) {\n <td [innerHTML]=\"property.value | json\"></td>\n }\n </tr>\n }\n </tbody>\n </table>\n}\n\n@if (isHtmlDisplay()) {\n <iframe\n [srcdoc]=\"htmlSanitizer(properties)\"\n [src]=\"urlSanitizer(properties?.url)\"\n ></iframe>\n}\n", styles: ["table{width:100%}table.igo-striped tbody tr:nth-child(odd){background-color:var(--mat-sys-surface-container-high)}table td{padding:4px}#keyValue{width:30%}table ::ng-deep .routing{cursor:pointer}iframe{height:calc(100% - 4px);width:100%;border:0}\n"] }]
22192
22192
  }], ctorParameters: () => [], propDecorators: { source: [{ type: i0.Input, args: [{ isSignal: true, alias: "source", required: false }] }], map: [{ type: i0.Input, args: [{ isSignal: true, alias: "map", required: false }] }], toolbox: [{ type: i0.Input, args: [{ isSignal: true, alias: "toolbox", required: false }] }], feature: [{ type: i0.Input, args: [{ isSignal: true, alias: "feature", required: false }] }], routeEvent: [{ type: i0.Output, args: ["routeEvent"] }], selectFeature: [{ type: i0.Output, args: ["selectFeature"] }], htmlDisplayEvent: [{ type: i0.Output, args: ["htmlDisplayEvent"] }] } });
22193
22193
 
22194
22194
  class FeatureDetailsDirective {