@igo2/integration 20.1.0-next.14 → 20.1.0-next.16
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { inject, ChangeDetectorRef, model, Input, Component, CUSTOM_ELEMENTS_SCHEMA, NgModule, Injectable, input, ChangeDetectionStrategy, signal, viewChild, HostListener, Directive, ElementRef } from '@angular/core';
|
|
2
|
+
import { inject, ChangeDetectorRef, model, Input, Component, CUSTOM_ELEMENTS_SCHEMA, NgModule, Injectable, input, ChangeDetectionStrategy, signal, viewChild, HostListener, Directive, ElementRef, DestroyRef } from '@angular/core';
|
|
3
3
|
import { __decorate, __metadata } from 'tslib';
|
|
4
4
|
import { HttpClient } from '@angular/common/http';
|
|
5
5
|
import * as i1 from '@angular/material/button';
|
|
@@ -27,7 +27,7 @@ import { take, switchMap, concatAll, map, toArray, skipWhile, takeUntil, tap, de
|
|
|
27
27
|
import { StorageService, StorageScope, StorageServiceEventEnum } from '@igo2/core/storage';
|
|
28
28
|
import { ContextService, ContextEditComponent, ContextListComponent, ContextPermissionsComponent, ShareMapComponent, ContextImportExportComponent } from '@igo2/context';
|
|
29
29
|
import { createExcelWorkBook, addExcelSheetToWorkBook, writeExcelFile, ObjectUtils, uuid, NumberUtils } from '@igo2/utils';
|
|
30
|
-
import { toSignal } from '@angular/core/rxjs-interop';
|
|
30
|
+
import { toSignal, takeUntilDestroyed } from '@angular/core/rxjs-interop';
|
|
31
31
|
import { MediaService, Media } from '@igo2/core/media';
|
|
32
32
|
import { MessageService, IgoMessageModule } from '@igo2/core/message';
|
|
33
33
|
import { trigger, state, style, transition, animate } from '@angular/animations';
|
|
@@ -135,18 +135,24 @@ let AboutToolComponent = class AboutToolComponent {
|
|
|
135
135
|
}
|
|
136
136
|
}
|
|
137
137
|
openGuide(guide) {
|
|
138
|
-
this.loading = true;
|
|
139
138
|
const url = guide
|
|
140
|
-
? this.baseUrlGuide + guide
|
|
141
|
-
: this.baseUrlGuide + this.trainingGuideURLs()[0]
|
|
139
|
+
? this.baseUrlGuide + guide
|
|
140
|
+
: this.baseUrlGuide + this.trainingGuideURLs()[0];
|
|
141
|
+
this.loading = true;
|
|
142
142
|
this.http
|
|
143
143
|
.get(url, {
|
|
144
144
|
responseType: 'blob'
|
|
145
145
|
})
|
|
146
|
-
.subscribe(
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
146
|
+
.subscribe({
|
|
147
|
+
next: (blob) => {
|
|
148
|
+
this.loading = false;
|
|
149
|
+
const blobUrl = URL.createObjectURL(blob);
|
|
150
|
+
window.open(blobUrl, '_blank');
|
|
151
|
+
// To avoid memory leak we need to revoke the object, 60 seconds to handle larger object like video
|
|
152
|
+
setTimeout(() => URL.revokeObjectURL(blobUrl), 60000);
|
|
153
|
+
this.cdRef.markForCheck();
|
|
154
|
+
},
|
|
155
|
+
error: () => (this.loading = false)
|
|
150
156
|
});
|
|
151
157
|
}
|
|
152
158
|
formatFileName(name) {
|
|
@@ -156,7 +162,7 @@ let AboutToolComponent = class AboutToolComponent {
|
|
|
156
162
|
return name;
|
|
157
163
|
}
|
|
158
164
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: AboutToolComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
159
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.18", type: AboutToolComponent, isStandalone: true, selector: "igo-about-tool", inputs: { headerHtml: { classPropertyName: "headerHtml", publicName: "headerHtml", isSignal: false, isRequired: false, transformFunction: null }, html: { classPropertyName: "html", publicName: "html", isSignal: false, isRequired: false, transformFunction: null }, discoverTitleInLocale: { classPropertyName: "discoverTitleInLocale", publicName: "discoverTitleInLocale", isSignal: false, isRequired: false, transformFunction: null }, trainingGuideURLs: { classPropertyName: "trainingGuideURLs", publicName: "trainingGuideURLs", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { trainingGuideURLs: "trainingGuideURLsChange" }, ngImport: i0, template: "@if (
|
|
165
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.18", type: AboutToolComponent, isStandalone: true, selector: "igo-about-tool", inputs: { headerHtml: { classPropertyName: "headerHtml", publicName: "headerHtml", isSignal: false, isRequired: false, transformFunction: null }, html: { classPropertyName: "html", publicName: "html", isSignal: false, isRequired: false, transformFunction: null }, discoverTitleInLocale: { classPropertyName: "discoverTitleInLocale", publicName: "discoverTitleInLocale", isSignal: false, isRequired: false, transformFunction: null }, trainingGuideURLs: { classPropertyName: "trainingGuideURLs", publicName: "trainingGuideURLs", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { trainingGuideURLs: "trainingGuideURLsChange" }, ngImport: i0, template: "@if (auth.authenticated && trainingGuideURLs()?.length === 1) {\n <button\n class=\"training-guide-button\"\n matButton=\"elevated\"\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [disabled]=\"loading\"\n [matTooltip]=\"'igo.integration.aboutTool.trainingGuideTooltip' | translate\"\n (click)=\"openGuide()\"\n >\n {{ 'igo.integration.aboutTool.trainingGuide' | translate }}\n <mat-icon>description</mat-icon>\n </button>\n}\n\n@if (auth.authenticated && (trainingGuideURLs()?.length ?? 0) > 1) {\n <button\n class=\"training-guide-button\"\n matButton=\"elevated\"\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [disabled]=\"loading\"\n [matTooltip]=\"'igo.integration.aboutTool.trainingGuideTooltip' | translate\"\n [matMenuTriggerFor]=\"menu\"\n >\n {{ 'igo.integration.aboutTool.trainingGuide' | translate }}\n <mat-icon>description</mat-icon>\n </button>\n}\n\n<mat-menu #menu=\"matMenu\">\n @for (guide of trainingGuideURLs(); track guide) {\n <button mat-menu-item (click)=\"openGuide(guide)\">\n {{ formatFileName(guide) }}\n </button>\n }\n</mat-menu>\n\n@if (headerHtml !== '') {\n <igo-custom-html [html]=\"headerHtml | translate\" />\n}\n\n<igo-custom-html [html]=\"html | translate: { version: effectiveVersion }\" />\n", styles: [".training-guide-button{margin:16px 0 0 16px;background-color:#1976d2;color:#fff}\n"], dependencies: [{ 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: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i2.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatMenuModule }, { kind: "component", type: i4.MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "component", type: i4.MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i4.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { kind: "component", type: CustomHtmlComponent, selector: "igo-custom-html", inputs: ["html"] }, { kind: "ngmodule", type: IgoLanguageModule }, { kind: "pipe", type: i3$1.TranslatePipe, name: "translate" }] });
|
|
160
166
|
};
|
|
161
167
|
AboutToolComponent = __decorate([
|
|
162
168
|
ToolComponent({
|
|
@@ -175,7 +181,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.18", ngImpo
|
|
|
175
181
|
MatMenuModule,
|
|
176
182
|
CustomHtmlComponent,
|
|
177
183
|
IgoLanguageModule
|
|
178
|
-
], template: "@if (
|
|
184
|
+
], template: "@if (auth.authenticated && trainingGuideURLs()?.length === 1) {\n <button\n class=\"training-guide-button\"\n matButton=\"elevated\"\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [disabled]=\"loading\"\n [matTooltip]=\"'igo.integration.aboutTool.trainingGuideTooltip' | translate\"\n (click)=\"openGuide()\"\n >\n {{ 'igo.integration.aboutTool.trainingGuide' | translate }}\n <mat-icon>description</mat-icon>\n </button>\n}\n\n@if (auth.authenticated && (trainingGuideURLs()?.length ?? 0) > 1) {\n <button\n class=\"training-guide-button\"\n matButton=\"elevated\"\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [disabled]=\"loading\"\n [matTooltip]=\"'igo.integration.aboutTool.trainingGuideTooltip' | translate\"\n [matMenuTriggerFor]=\"menu\"\n >\n {{ 'igo.integration.aboutTool.trainingGuide' | translate }}\n <mat-icon>description</mat-icon>\n </button>\n}\n\n<mat-menu #menu=\"matMenu\">\n @for (guide of trainingGuideURLs(); track guide) {\n <button mat-menu-item (click)=\"openGuide(guide)\">\n {{ formatFileName(guide) }}\n </button>\n }\n</mat-menu>\n\n@if (headerHtml !== '') {\n <igo-custom-html [html]=\"headerHtml | translate\" />\n}\n\n<igo-custom-html [html]=\"html | translate: { version: effectiveVersion }\" />\n", styles: [".training-guide-button{margin:16px 0 0 16px;background-color:#1976d2;color:#fff}\n"] }]
|
|
179
185
|
}], ctorParameters: () => [], propDecorators: { headerHtml: [{
|
|
180
186
|
type: Input
|
|
181
187
|
}], html: [{
|
|
@@ -1158,9 +1164,6 @@ let DirectionsToolComponent = class DirectionsToolComponent {
|
|
|
1158
1164
|
get stepFeatureStore() {
|
|
1159
1165
|
return this.directionState.stepFeatureStore;
|
|
1160
1166
|
}
|
|
1161
|
-
get zoomOnActiveRoute() {
|
|
1162
|
-
return this.directionState.zoomToActiveRoute;
|
|
1163
|
-
}
|
|
1164
1167
|
get authenticated$() {
|
|
1165
1168
|
return this.authService.authenticate$;
|
|
1166
1169
|
}
|
|
@@ -1184,7 +1187,7 @@ let DirectionsToolComponent = class DirectionsToolComponent {
|
|
|
1184
1187
|
});
|
|
1185
1188
|
}
|
|
1186
1189
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: DirectionsToolComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
1187
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.18", type: DirectionsToolComponent, isStandalone: true, selector: "igo-directions-tool", ngImport: i0, template: "<igo-directions\n [contextUri]=\"currentContextUri\"\n [debounce]=\"debounceTime\"\n [stopsStore]=\"stopsStore\"\n [stopsFeatureStore]=\"stopsFeatureStore\"\n [stepsFeatureStore]=\"stepFeatureStore\"\n [routesFeatureStore]=\"routesFeatureStore\"\n [
|
|
1190
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.18", type: DirectionsToolComponent, isStandalone: true, selector: "igo-directions-tool", ngImport: i0, template: "<igo-directions\n [contextUri]=\"currentContextUri\"\n [debounce]=\"debounceTime\"\n [stopsStore]=\"stopsStore\"\n [stopsFeatureStore]=\"stopsFeatureStore\"\n [stepsFeatureStore]=\"stepFeatureStore\"\n [routesFeatureStore]=\"routesFeatureStore\"\n [authenticated$]=\"authenticated$\"\n/>\n", dependencies: [{ kind: "ngmodule", type: IgoDirectionsModule }, { kind: "component", type: i1$1.DirectionsComponent, selector: "igo-directions", inputs: ["contextUri", "stopsStore", "stopsFeatureStore", "routesFeatureStore", "stepsFeatureStore", "debounce", "length", "coordRoundedDecimals", "authenticated$"] }] });
|
|
1188
1191
|
};
|
|
1189
1192
|
DirectionsToolComponent = __decorate([
|
|
1190
1193
|
ToolComponent({
|
|
@@ -1195,7 +1198,7 @@ DirectionsToolComponent = __decorate([
|
|
|
1195
1198
|
], DirectionsToolComponent);
|
|
1196
1199
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: DirectionsToolComponent, decorators: [{
|
|
1197
1200
|
type: Component,
|
|
1198
|
-
args: [{ selector: 'igo-directions-tool', imports: [IgoDirectionsModule], template: "<igo-directions\n [contextUri]=\"currentContextUri\"\n [debounce]=\"debounceTime\"\n [stopsStore]=\"stopsStore\"\n [stopsFeatureStore]=\"stopsFeatureStore\"\n [stepsFeatureStore]=\"stepFeatureStore\"\n [routesFeatureStore]=\"routesFeatureStore\"\n [
|
|
1201
|
+
args: [{ selector: 'igo-directions-tool', imports: [IgoDirectionsModule], template: "<igo-directions\n [contextUri]=\"currentContextUri\"\n [debounce]=\"debounceTime\"\n [stopsStore]=\"stopsStore\"\n [stopsFeatureStore]=\"stopsFeatureStore\"\n [stepsFeatureStore]=\"stepFeatureStore\"\n [routesFeatureStore]=\"routesFeatureStore\"\n [authenticated$]=\"authenticated$\"\n/>\n" }]
|
|
1199
1202
|
}] });
|
|
1200
1203
|
|
|
1201
1204
|
/**
|
|
@@ -1539,7 +1542,9 @@ function getWorkspaceActions(workspace, rowsInMapExtentCheckCondition$, selectOn
|
|
|
1539
1542
|
layer: ws.layer
|
|
1540
1543
|
});
|
|
1541
1544
|
},
|
|
1542
|
-
args: [ogcFilterWidget, workspace]
|
|
1545
|
+
args: [ogcFilterWidget, workspace],
|
|
1546
|
+
availability: (widget, ws) => of(ws.layer.options.sourceOptions
|
|
1547
|
+
?.ogcFilters?.enabled)
|
|
1543
1548
|
},
|
|
1544
1549
|
{
|
|
1545
1550
|
id: 'interactiveSelect',
|
|
@@ -4838,8 +4843,8 @@ let SearchResultsToolComponent = class SearchResultsToolComponent {
|
|
|
4838
4843
|
isSelectedResultOutOfView$$;
|
|
4839
4844
|
abstractFocusedResult;
|
|
4840
4845
|
abstractSelectedResult;
|
|
4841
|
-
|
|
4842
|
-
debouncedEmpty
|
|
4846
|
+
destroyRef = inject(DestroyRef);
|
|
4847
|
+
debouncedEmpty = signal(true, ...(ngDevMode ? [{ debugName: "debouncedEmpty" }] : []));
|
|
4843
4848
|
/**
|
|
4844
4849
|
* Store holding the search results
|
|
4845
4850
|
* @internal
|
|
@@ -4855,16 +4860,9 @@ let SearchResultsToolComponent = class SearchResultsToolComponent {
|
|
|
4855
4860
|
return this.mapState.map;
|
|
4856
4861
|
}
|
|
4857
4862
|
get featureTitle() {
|
|
4858
|
-
return this.feature ? getEntityTitle(this.feature) : undefined;
|
|
4859
|
-
}
|
|
4860
|
-
get feature$() {
|
|
4861
|
-
return this.store.stateView
|
|
4862
|
-
.firstBy$((e) => e.state.focused)
|
|
4863
|
-
.pipe(map((element) => (this.feature = element
|
|
4864
|
-
? element.entity.data
|
|
4865
|
-
: undefined)));
|
|
4863
|
+
return this.feature() ? getEntityTitle(this.feature()) : undefined;
|
|
4866
4864
|
}
|
|
4867
|
-
feature;
|
|
4865
|
+
feature = signal(undefined, ...(ngDevMode ? [{ debugName: "feature" }] : []));
|
|
4868
4866
|
term = '';
|
|
4869
4867
|
searchTerm$$;
|
|
4870
4868
|
settingsChange$ = new BehaviorSubject(undefined);
|
|
@@ -4894,10 +4892,10 @@ let SearchResultsToolComponent = class SearchResultsToolComponent {
|
|
|
4894
4892
|
searchTerm !== null &&
|
|
4895
4893
|
searchTerm !== '') {
|
|
4896
4894
|
this.term = searchTerm;
|
|
4897
|
-
this.debouncedEmpty
|
|
4895
|
+
this.debouncedEmpty.set(false);
|
|
4898
4896
|
}
|
|
4899
4897
|
else if (searchTerm === '') {
|
|
4900
|
-
this.debouncedEmpty
|
|
4898
|
+
this.debouncedEmpty.set(true);
|
|
4901
4899
|
}
|
|
4902
4900
|
});
|
|
4903
4901
|
for (const res of this.store.stateView.all$().value) {
|
|
@@ -4966,16 +4964,23 @@ let SearchResultsToolComponent = class SearchResultsToolComponent {
|
|
|
4966
4964
|
}
|
|
4967
4965
|
});
|
|
4968
4966
|
});
|
|
4969
|
-
this.
|
|
4970
|
-
.pipe(debounceTime(1500))
|
|
4971
|
-
.subscribe((empty) => this.debouncedEmpty
|
|
4967
|
+
this.store.stateView.empty$
|
|
4968
|
+
.pipe(debounceTime(1500), takeUntilDestroyed(this.destroyRef))
|
|
4969
|
+
.subscribe((empty) => this.debouncedEmpty.set(empty));
|
|
4970
|
+
this.store.stateView
|
|
4971
|
+
.firstBy$((e) => e.state.focused)
|
|
4972
|
+
.pipe(takeUntilDestroyed(this.destroyRef))
|
|
4973
|
+
.subscribe((element) => {
|
|
4974
|
+
const feature = element ? element.entity.data : undefined;
|
|
4975
|
+
this.feature.set(feature);
|
|
4976
|
+
});
|
|
4972
4977
|
}
|
|
4973
4978
|
monitorResultOutOfView() {
|
|
4974
4979
|
this.isSelectedResultOutOfView$$ = combineLatest([
|
|
4975
4980
|
this.map.viewController.state$,
|
|
4976
4981
|
this.searchState.selectedResult$
|
|
4977
4982
|
])
|
|
4978
|
-
.pipe(debounceTime(100))
|
|
4983
|
+
.pipe(debounceTime(100), takeUntilDestroyed(this.destroyRef))
|
|
4979
4984
|
.subscribe((bunch) => {
|
|
4980
4985
|
const selectedResult = bunch[1];
|
|
4981
4986
|
if (!selectedResult) {
|
|
@@ -5065,9 +5070,6 @@ let SearchResultsToolComponent = class SearchResultsToolComponent {
|
|
|
5065
5070
|
if (this.getRoute$$) {
|
|
5066
5071
|
this.getRoute$$.unsubscribe();
|
|
5067
5072
|
}
|
|
5068
|
-
if (this.debouncedEmpty$$) {
|
|
5069
|
-
this.debouncedEmpty$$.unsubscribe();
|
|
5070
|
-
}
|
|
5071
5073
|
}
|
|
5072
5074
|
/**
|
|
5073
5075
|
* Try to add a feature to the map when it's being focused
|
|
@@ -5200,9 +5202,10 @@ let SearchResultsToolComponent = class SearchResultsToolComponent {
|
|
|
5200
5202
|
}
|
|
5201
5203
|
}
|
|
5202
5204
|
zoomToFeatureExtent() {
|
|
5203
|
-
|
|
5204
|
-
|
|
5205
|
-
|
|
5205
|
+
const feature = this.feature();
|
|
5206
|
+
if (feature?.geometry) {
|
|
5207
|
+
const localOlFeature = this.format.readFeature(feature, {
|
|
5208
|
+
dataProjection: feature.projection,
|
|
5206
5209
|
featureProjection: this.map.projectionCode
|
|
5207
5210
|
});
|
|
5208
5211
|
moveToOlFeatures(this.map.viewController, localOlFeature, FeatureMotion.Zoom);
|
|
@@ -5250,15 +5253,16 @@ let SearchResultsToolComponent = class SearchResultsToolComponent {
|
|
|
5250
5253
|
.all()
|
|
5251
5254
|
.find((e) => e.position === 1);
|
|
5252
5255
|
let coord;
|
|
5253
|
-
|
|
5254
|
-
|
|
5256
|
+
const feature = this.feature();
|
|
5257
|
+
if (feature?.geometry) {
|
|
5258
|
+
if (feature.geometry.type === 'Point') {
|
|
5255
5259
|
coord = [
|
|
5256
|
-
|
|
5257
|
-
|
|
5260
|
+
feature.geometry.coordinates[0],
|
|
5261
|
+
feature.geometry.coordinates[1]
|
|
5258
5262
|
];
|
|
5259
5263
|
}
|
|
5260
5264
|
else {
|
|
5261
|
-
const point = pointOnFeature(
|
|
5265
|
+
const point = pointOnFeature(feature.geometry);
|
|
5262
5266
|
coord = [
|
|
5263
5267
|
point.geometry.coordinates[0],
|
|
5264
5268
|
point.geometry.coordinates[1]
|
|
@@ -5284,7 +5288,7 @@ let SearchResultsToolComponent = class SearchResultsToolComponent {
|
|
|
5284
5288
|
}, 250);
|
|
5285
5289
|
}
|
|
5286
5290
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: SearchResultsToolComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
5287
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.18", type: SearchResultsToolComponent, isStandalone: true, selector: "igo-search-results-tool", inputs: { showIcons: { classPropertyName: "showIcons", publicName: "showIcons", isSignal: true, isRequired: false, transformFunction: null }, topPanelStateDefault: { classPropertyName: "topPanelStateDefault", publicName: "topPanelStateDefault", isSignal: true, isRequired: false, transformFunction: null }, topPanelState: { classPropertyName: "topPanelState", publicName: "topPanelState", isSignal: false, isRequired: false, transformFunction: null } }, ngImport: i0, template: "@if ((!store || store.stateView.empty)
|
|
5291
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.18", type: SearchResultsToolComponent, isStandalone: true, selector: "igo-search-results-tool", inputs: { showIcons: { classPropertyName: "showIcons", publicName: "showIcons", isSignal: true, isRequired: false, transformFunction: null }, topPanelStateDefault: { classPropertyName: "topPanelStateDefault", publicName: "topPanelStateDefault", isSignal: true, isRequired: false, transformFunction: null }, topPanelState: { classPropertyName: "topPanelState", publicName: "topPanelState", isSignal: false, isRequired: false, transformFunction: null } }, ngImport: i0, template: "@if (debouncedEmpty()) {\n @if (!store || store.stateView.empty) {\n <section class=\"search-results-tool-empty\">\n <h4>\n <strong>{{\n 'igo.integration.searchResultsTool.noResults' | translate\n }}</strong>\n </h4>\n <p>\n <strong>{{\n 'igo.integration.searchResultsTool.doSearch' | translate\n }}</strong>\n </p>\n <div\n [innerHTML]=\"\n 'igo.integration.searchResultsTool.examples'\n | translate\n | sanitizeHtml\n \"\n ></div>\n </section>\n }\n} @else {\n @let feature = this.feature();\n <igo-flexible\n #topPanel\n initial=\"100%\"\n initialMobile=\"100%\"\n collapsed=\"calc(100% - 48px)\"\n collapsedMobile=\"calc(100% - 48px)\"\n expanded=\"60%\"\n expandedMobile=\"60%\"\n [state]=\"feature ? topPanelState : 'initial'\"\n >\n <div class=\"igo-content\">\n <igo-search-results\n [store]=\"store\"\n [showIcons]=\"showIcons()\"\n [term]=\"term\"\n [termSplitter]=\"termSplitter\"\n [settingsChange$]=\"settingsChange$\"\n placeholder=\"false\"\n (resultFocus)=\"onResultFocus($event)\"\n (resultSelect)=\"onResultSelect($event)\"\n (resultUnfocus)=\"onResultUnfocus($event)\"\n (resultMouseenter)=\"onResultFocus($event)\"\n (resultMouseleave)=\"onResultUnfocus($event)\"\n (moreResults)=\"onSearch($event)\"\n [map]=\"map\"\n >\n <ng-template #igoSearchItemToolbar let-result=\"result\">\n <igo-search-add-button\n [map]=\"map\"\n [store]=\"store\"\n [stores]=\"stores\"\n [layer]=\"result\"\n [saveSearchResultInLayer]=\"saveSearchResultInLayer\"\n />\n </ng-template>\n </igo-search-results>\n </div>\n <div igoFlexibleFill class=\"igo-content\">\n @if (feature) {\n <igo-panel\n [title]=\"featureTitle\"\n (click)=\"toggleTopPanel($event)\"\n [cursorPointer]=\"true\"\n >\n <button\n mat-icon-button\n panelLeftButton\n class=\"igo-icon-button\"\n (click)=\"toggleTopPanel()\"\n >\n <mat-icon>{{\n (topPanelState$ | async) === 'collapsed'\n ? 'arrow_upward'\n : 'arrow_downward'\n }}</mat-icon>\n </button>\n @if (feature.geometry) {\n <button\n mat-icon-button\n panelRightButton\n class=\"igo-icon-button\"\n [matTooltip]=\"\n ((isSelectedResultOutOfView$ | async)\n ? 'igo.integration.searchResultsTool.zoomOnFeatureTooltipOutOfView'\n : 'igo.integration.searchResultsTool.zoomOnFeatureTooltip'\n ) | translate\n \"\n matTooltipShowDelay=\"500\"\n (click)=\"zoomToFeatureExtent()\"\n >\n <mat-icon\n aria-hidden=\"false\"\n [matBadge]=\"(isSelectedResultOutOfView$ | async) ? '!' : ''\"\n matBadgeColor=\"accent\"\n matBadgeSize=\"small\"\n [matBadgeHidden]=\"\n (isSelectedResultOutOfView$ | async) === false\n \"\n >zoom_in</mat-icon\n >\n </button>\n }\n <igo-feature-details\n igoFeatureDetailsDirective\n [feature]=\"feature\"\n [map]=\"map\"\n [toolbox]=\"toolState.toolbox\"\n (routingEvent)=\"getRoute()\"\n />\n </igo-panel>\n }\n </div>\n </igo-flexible>\n}\n", styles: [":host{display:flex;flex-direction:column;flex:1;height:100%}.search-results-tool-empty{padding:0 16px}\n"], dependencies: [{ kind: "component", type: FlexibleComponent, selector: "igo-flexible", inputs: ["initial", "collapsed", "expanded", "initialMobile", "collapsedMobile", "expandedMobile", "direction", "state"] }, { kind: "component", type: SearchResultsComponent, selector: "igo-search-results", inputs: ["map", "store", "showIcons", "mode", "withZoomButton", "tabsMode", "term", "settingsChange$", "termSplitter"], outputs: ["resultFocus", "resultUnfocus", "resultSelect", "moreResults", "resultMouseenter", "resultMouseleave"] }, { kind: "component", type: SearchResultAddButtonComponent, selector: "igo-search-add-button", inputs: ["layer", "store", "added", "map", "saveSearchResultInLayer", "stores"], outputs: ["addedChange"] }, { kind: "component", type: PanelComponent, selector: "igo-panel", inputs: ["title", "withHeader", "cursorPointer"] }, { 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: MatTooltipModule }, { kind: "directive", type: i2.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "ngmodule", type: MatBadgeModule }, { kind: "directive", type: i4$2.MatBadge, selector: "[matBadge]", inputs: ["matBadgeColor", "matBadgeOverlap", "matBadgeDisabled", "matBadgePosition", "matBadge", "matBadgeDescription", "matBadgeSize", "matBadgeHidden"] }, { kind: "component", type: FeatureDetailsComponent, selector: "igo-feature-details", inputs: ["source", "map", "toolbox", "feature"], outputs: ["routeEvent", "selectFeature", "htmlDisplayEvent"] }, { kind: "ngmodule", type: IgoLanguageModule }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: i3$1.TranslatePipe, name: "translate" }, { kind: "pipe", type: SanitizeHtmlPipe, name: "sanitizeHtml" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
5288
5292
|
};
|
|
5289
5293
|
SearchResultsToolComponent = __decorate([
|
|
5290
5294
|
ToolComponent({
|
|
@@ -5309,7 +5313,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.18", ngImpo
|
|
|
5309
5313
|
AsyncPipe,
|
|
5310
5314
|
IgoLanguageModule,
|
|
5311
5315
|
SanitizeHtmlPipe
|
|
5312
|
-
], template: "@if ((!store || store.stateView.empty)
|
|
5316
|
+
], template: "@if (debouncedEmpty()) {\n @if (!store || store.stateView.empty) {\n <section class=\"search-results-tool-empty\">\n <h4>\n <strong>{{\n 'igo.integration.searchResultsTool.noResults' | translate\n }}</strong>\n </h4>\n <p>\n <strong>{{\n 'igo.integration.searchResultsTool.doSearch' | translate\n }}</strong>\n </p>\n <div\n [innerHTML]=\"\n 'igo.integration.searchResultsTool.examples'\n | translate\n | sanitizeHtml\n \"\n ></div>\n </section>\n }\n} @else {\n @let feature = this.feature();\n <igo-flexible\n #topPanel\n initial=\"100%\"\n initialMobile=\"100%\"\n collapsed=\"calc(100% - 48px)\"\n collapsedMobile=\"calc(100% - 48px)\"\n expanded=\"60%\"\n expandedMobile=\"60%\"\n [state]=\"feature ? topPanelState : 'initial'\"\n >\n <div class=\"igo-content\">\n <igo-search-results\n [store]=\"store\"\n [showIcons]=\"showIcons()\"\n [term]=\"term\"\n [termSplitter]=\"termSplitter\"\n [settingsChange$]=\"settingsChange$\"\n placeholder=\"false\"\n (resultFocus)=\"onResultFocus($event)\"\n (resultSelect)=\"onResultSelect($event)\"\n (resultUnfocus)=\"onResultUnfocus($event)\"\n (resultMouseenter)=\"onResultFocus($event)\"\n (resultMouseleave)=\"onResultUnfocus($event)\"\n (moreResults)=\"onSearch($event)\"\n [map]=\"map\"\n >\n <ng-template #igoSearchItemToolbar let-result=\"result\">\n <igo-search-add-button\n [map]=\"map\"\n [store]=\"store\"\n [stores]=\"stores\"\n [layer]=\"result\"\n [saveSearchResultInLayer]=\"saveSearchResultInLayer\"\n />\n </ng-template>\n </igo-search-results>\n </div>\n <div igoFlexibleFill class=\"igo-content\">\n @if (feature) {\n <igo-panel\n [title]=\"featureTitle\"\n (click)=\"toggleTopPanel($event)\"\n [cursorPointer]=\"true\"\n >\n <button\n mat-icon-button\n panelLeftButton\n class=\"igo-icon-button\"\n (click)=\"toggleTopPanel()\"\n >\n <mat-icon>{{\n (topPanelState$ | async) === 'collapsed'\n ? 'arrow_upward'\n : 'arrow_downward'\n }}</mat-icon>\n </button>\n @if (feature.geometry) {\n <button\n mat-icon-button\n panelRightButton\n class=\"igo-icon-button\"\n [matTooltip]=\"\n ((isSelectedResultOutOfView$ | async)\n ? 'igo.integration.searchResultsTool.zoomOnFeatureTooltipOutOfView'\n : 'igo.integration.searchResultsTool.zoomOnFeatureTooltip'\n ) | translate\n \"\n matTooltipShowDelay=\"500\"\n (click)=\"zoomToFeatureExtent()\"\n >\n <mat-icon\n aria-hidden=\"false\"\n [matBadge]=\"(isSelectedResultOutOfView$ | async) ? '!' : ''\"\n matBadgeColor=\"accent\"\n matBadgeSize=\"small\"\n [matBadgeHidden]=\"\n (isSelectedResultOutOfView$ | async) === false\n \"\n >zoom_in</mat-icon\n >\n </button>\n }\n <igo-feature-details\n igoFeatureDetailsDirective\n [feature]=\"feature\"\n [map]=\"map\"\n [toolbox]=\"toolState.toolbox\"\n (routingEvent)=\"getRoute()\"\n />\n </igo-panel>\n }\n </div>\n </igo-flexible>\n}\n", styles: [":host{display:flex;flex-direction:column;flex:1;height:100%}.search-results-tool-empty{padding:0 16px}\n"] }]
|
|
5313
5317
|
}], ctorParameters: () => [], propDecorators: { showIcons: [{ type: i0.Input, args: [{ isSignal: true, alias: "showIcons", required: false }] }], topPanelStateDefault: [{ type: i0.Input, args: [{ isSignal: true, alias: "topPanelStateDefault", required: false }] }], topPanelState: [{
|
|
5314
5318
|
type: Input
|
|
5315
5319
|
}] } });
|