@igo2/integration 21.0.0-next.3 → 21.0.0-next.30
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.
- package/fesm2022/igo2-integration.mjs +558 -695
- package/fesm2022/igo2-integration.mjs.map +1 -1
- package/locale/fr.integration.json +1 -1
- package/package.json +4 -4
- package/types/igo2-integration.d.ts +117 -137
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { inject, ChangeDetectorRef,
|
|
2
|
+
import { inject, ChangeDetectorRef, input, model, Component, CUSTOM_ELEMENTS_SCHEMA, NgModule, Injectable, ChangeDetectionStrategy, signal, DestroyRef, viewChild, Directive, ElementRef, linkedSignal, effect } 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';
|
|
@@ -14,25 +14,25 @@ import { AuthService, UserService } from '@igo2/auth';
|
|
|
14
14
|
import { CustomHtmlComponent, SanitizeHtmlPipe } from '@igo2/common/custom-html';
|
|
15
15
|
import { ToolComponent, ToolService } from '@igo2/common/tool';
|
|
16
16
|
import { ConfigService, version } from '@igo2/core/config';
|
|
17
|
-
import {
|
|
18
|
-
import { of, BehaviorSubject, combineLatest, forkJoin, map as map$1, merge, Subject, ReplaySubject, interval } from 'rxjs';
|
|
17
|
+
import { IgoLanguageModule, LanguageService } from '@igo2/core/language';
|
|
19
18
|
import * as i3$1 from '@ngx-translate/core';
|
|
20
19
|
import { TranslateModule } from '@ngx-translate/core';
|
|
21
20
|
import * as i3$2 from '@angular/common';
|
|
22
21
|
import { AsyncPipe, formatDate, CommonModule, DecimalPipe, NgTemplateOutlet } from '@angular/common';
|
|
23
22
|
import { EntityStore, EntityStoreFilterCustomFuncStrategy, EntityStoreFilterSelectionStrategy, EntityTableComponent, getEntityTitle } from '@igo2/common/entity';
|
|
24
23
|
import * as i1$1 from '@igo2/geo';
|
|
25
|
-
import { MapService,
|
|
24
|
+
import { MapService, OverlayService, IgoMap, CatalogService, CatalogBrowserComponent, generateIdFromSourceOptions, isLayerItemOptions, CatalogItemType, CatalogLibraryComponent, StopsStore, StopsFeatureStore, RoutesFeatureStore, StepsFeatureStore, IgoDirectionsModule, FeatureStore, DrawComponent, isLayerItem, OgcFilterableItemComponent, TimeFilterItemComponent, OgcFilterableListComponent, OgcFilterableListBindingDirective, FeatureStoreSelectionStrategy, FeatureMotion, mapExtentStrategyActiveToolTip, noElementSelected, OgcFilterWidget, InteractiveSelectionFormWidget, WfsWorkspace, FeatureWorkspace, EditionWorkspace, SpatialFilterService, LayerService, SpatialFilterItemType, MeasureLengthUnit, SpatialFilterType, featureToOl, moveToOlFeatures, RADIUS_NAME, SpatialFilterTypeComponent, SpatialFilterItemComponent, FeatureDetailsComponent, TimeFilterListComponent, TimeFilterListBindingDirective, isBaseLayer, ImportExportComponent, formatScale, zoneMtm, zoneUtm, computeProjectionsConstraints, SearchSourceService, LayerListControlsEnum, sourceCanSearch, LayerViewerComponent, ExportButtonComponent, OgcFilterButtonComponent, TimeFilterButtonComponent, TrackFeatureButtonComponent, MetadataButtonComponent, LayerLegendListComponent, LayerLegendListBindingDirective, roundCoordTo, featureFromOl, measureOlGeometryLength, FEATURE, VectorLayer, VectorTileLayer, isOlFlatStyleLike, StyleModalLayerButtonComponent, MeasurerComponent, PrintComponent, SearchBarComponent, SearchResultsComponent, styleVariant, computeOlFeaturesExtent, featuresAreOutOfView, SearchResultAddButtonComponent, isLayerGroup, PropertyTypeDetectorService, GeoPropertiesStrategy } from '@igo2/geo';
|
|
25
|
+
import { BehaviorSubject, combineLatest, forkJoin, map as map$1, of, merge, Subject, ReplaySubject, interval } from 'rxjs';
|
|
26
26
|
import { take, switchMap, concatAll, map, toArray, skipWhile, distinctUntilChanged, takeUntil, tap, debounceTime, skip } from 'rxjs/operators';
|
|
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, takeUntilDestroyed } from '@angular/core/rxjs-interop';
|
|
30
|
+
import { toSignal, toObservable, takeUntilDestroyed } from '@angular/core/rxjs-interop';
|
|
31
31
|
import { MediaService, Media } from '@igo2/core/media';
|
|
32
|
-
import { MessageService
|
|
32
|
+
import { MessageService } from '@igo2/core/message';
|
|
33
33
|
import { trigger, state, style, transition, animate } from '@angular/animations';
|
|
34
34
|
import { SELECTION_MARKER_ICON } from '@igo2/common/icon';
|
|
35
|
-
import * as
|
|
35
|
+
import * as olproj from 'ol/proj';
|
|
36
36
|
import { transform } from 'ol/proj';
|
|
37
37
|
import * as olstyle from 'ol/style';
|
|
38
38
|
import { WorkspaceStore } from '@igo2/common/workspace';
|
|
@@ -68,8 +68,6 @@ import * as i4$2 from '@angular/material/badge';
|
|
|
68
68
|
import { MatBadgeModule } from '@angular/material/badge';
|
|
69
69
|
import { FlexibleComponent } from '@igo2/common/flexible';
|
|
70
70
|
import { PanelComponent } from '@igo2/common/panel';
|
|
71
|
-
import olFeature from 'ol/Feature';
|
|
72
|
-
import olPoint from 'ol/geom/Point';
|
|
73
71
|
import pointOnFeature from '@turf/point-on-feature';
|
|
74
72
|
import { AnalyticsService } from '@igo2/core/analytics';
|
|
75
73
|
|
|
@@ -78,47 +76,25 @@ let AboutToolComponent = class AboutToolComponent {
|
|
|
78
76
|
auth = inject(AuthService);
|
|
79
77
|
http = inject(HttpClient);
|
|
80
78
|
cdRef = inject(ChangeDetectorRef);
|
|
81
|
-
languageService = inject(LanguageService);
|
|
82
79
|
userService = inject(UserService, {
|
|
83
80
|
optional: true
|
|
84
81
|
});
|
|
85
82
|
configOptions;
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
}
|
|
89
|
-
set headerHtml(value) {
|
|
90
|
-
this._headerHtml = Array.isArray(value) ? value.join('\n') : value;
|
|
91
|
-
}
|
|
92
|
-
get html() {
|
|
93
|
-
return this._html;
|
|
94
|
-
}
|
|
95
|
-
set html(value) {
|
|
96
|
-
this._html = Array.isArray(value) ? value.join('\n') : value;
|
|
97
|
-
}
|
|
98
|
-
_discoverTitleInLocale = 'IGO';
|
|
99
|
-
discoverTitleInLocale$ = of(this._discoverTitleInLocale);
|
|
100
|
-
get discoverTitleInLocale() {
|
|
101
|
-
return this._discoverTitleInLocale;
|
|
102
|
-
}
|
|
103
|
-
set discoverTitleInLocale(value) {
|
|
104
|
-
this._discoverTitleInLocale = value;
|
|
105
|
-
this.discoverTitleInLocale$ = of(value);
|
|
106
|
-
}
|
|
107
|
-
trainingGuideURLs = model(undefined, ...(ngDevMode ? [{ debugName: "trainingGuideURLs" }] : /* istanbul ignore next */ []));
|
|
83
|
+
headerHtml = input('', { ...(ngDevMode ? { debugName: "headerHtml" } : /* istanbul ignore next */ {}), transform: (value) => (Array.isArray(value) ? value.join('\n') : value) });
|
|
84
|
+
html = input('igo.integration.aboutTool.html', { ...(ngDevMode ? { debugName: "html" } : /* istanbul ignore next */ {}), transform: (value) => (Array.isArray(value) ? value.join('\n') : value) });
|
|
85
|
+
trainingGuideURLs = model(...(ngDevMode ? [undefined, { debugName: "trainingGuideURLs" }] : /* istanbul ignore next */ []));
|
|
108
86
|
effectiveVersion;
|
|
109
|
-
_html = 'igo.integration.aboutTool.html';
|
|
110
|
-
_headerHtml;
|
|
111
87
|
baseUrlGuide;
|
|
112
88
|
loading = false;
|
|
113
89
|
constructor() {
|
|
114
|
-
this.headerHtml = this.languageService.translate.instant('igo.integration.aboutTool.headerHtml');
|
|
115
90
|
this.configOptions = this.configService.getConfigs();
|
|
116
91
|
const configVersion = this.configOptions.version;
|
|
117
92
|
this.effectiveVersion = configVersion?.app ?? version.app;
|
|
118
|
-
this.
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
93
|
+
const depot = this.configOptions.depot;
|
|
94
|
+
if (depot) {
|
|
95
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
96
|
+
this.baseUrlGuide = depot.url + depot.guideUrl;
|
|
97
|
+
}
|
|
122
98
|
}
|
|
123
99
|
ngOnInit() {
|
|
124
100
|
if (this.auth.authenticated) {
|
|
@@ -138,7 +114,7 @@ let AboutToolComponent = class AboutToolComponent {
|
|
|
138
114
|
openGuide(guide) {
|
|
139
115
|
const url = guide
|
|
140
116
|
? this.baseUrlGuide + guide
|
|
141
|
-
: this.baseUrlGuide + this.trainingGuideURLs()[0];
|
|
117
|
+
: this.baseUrlGuide + (this.trainingGuideURLs()?.[0] ?? '');
|
|
142
118
|
this.loading = true;
|
|
143
119
|
this.http
|
|
144
120
|
.get(url, {
|
|
@@ -162,8 +138,8 @@ let AboutToolComponent = class AboutToolComponent {
|
|
|
162
138
|
name = name.slice(0, index);
|
|
163
139
|
return name;
|
|
164
140
|
}
|
|
165
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.
|
|
166
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.
|
|
141
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: AboutToolComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
142
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.23", type: AboutToolComponent, isStandalone: true, selector: "igo-about-tool", inputs: { headerHtml: { classPropertyName: "headerHtml", publicName: "headerHtml", isSignal: true, isRequired: false, transformFunction: null }, html: { classPropertyName: "html", publicName: "html", isSignal: true, 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" }] });
|
|
167
143
|
};
|
|
168
144
|
AboutToolComponent = __decorate([
|
|
169
145
|
ToolComponent({
|
|
@@ -173,7 +149,7 @@ AboutToolComponent = __decorate([
|
|
|
173
149
|
}),
|
|
174
150
|
__metadata("design:paramtypes", [])
|
|
175
151
|
], AboutToolComponent);
|
|
176
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
152
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: AboutToolComponent, decorators: [{
|
|
177
153
|
type: Component,
|
|
178
154
|
args: [{ selector: 'igo-about-tool', imports: [
|
|
179
155
|
MatButtonModule,
|
|
@@ -182,14 +158,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.10", ngImpo
|
|
|
182
158
|
MatMenuModule,
|
|
183
159
|
CustomHtmlComponent,
|
|
184
160
|
IgoLanguageModule
|
|
185
|
-
], 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"] }]
|
|
186
|
-
}], ctorParameters: () => [], propDecorators: { headerHtml: [{
|
|
187
|
-
type: Input
|
|
188
|
-
}], html: [{
|
|
189
|
-
type: Input
|
|
190
|
-
}], discoverTitleInLocale: [{
|
|
191
|
-
type: Input
|
|
192
|
-
}], trainingGuideURLs: [{ type: i0.Input, args: [{ isSignal: true, alias: "trainingGuideURLs", required: false }] }, { type: i0.Output, args: ["trainingGuideURLsChange"] }] } });
|
|
161
|
+
], 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"] }]
|
|
162
|
+
}], ctorParameters: () => [], propDecorators: { headerHtml: [{ type: i0.Input, args: [{ isSignal: true, alias: "headerHtml", required: false }] }], html: [{ type: i0.Input, args: [{ isSignal: true, alias: "html", required: false }] }], trainingGuideURLs: [{ type: i0.Input, args: [{ isSignal: true, alias: "trainingGuideURLs", required: false }] }, { type: i0.Output, args: ["trainingGuideURLsChange"] }] } });
|
|
193
163
|
|
|
194
164
|
/**
|
|
195
165
|
* @deprecated import the AboutToolComponent directly
|
|
@@ -201,11 +171,11 @@ class IgoAppAboutModule {
|
|
|
201
171
|
providers: []
|
|
202
172
|
};
|
|
203
173
|
}
|
|
204
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.
|
|
205
|
-
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.
|
|
206
|
-
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.
|
|
174
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: IgoAppAboutModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
175
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.23", ngImport: i0, type: IgoAppAboutModule, imports: [AboutToolComponent], exports: [AboutToolComponent] });
|
|
176
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: IgoAppAboutModule, imports: [AboutToolComponent] });
|
|
207
177
|
}
|
|
208
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
178
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: IgoAppAboutModule, decorators: [{
|
|
209
179
|
type: NgModule,
|
|
210
180
|
args: [{
|
|
211
181
|
imports: [AboutToolComponent],
|
|
@@ -219,9 +189,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.10", ngImpo
|
|
|
219
189
|
*/
|
|
220
190
|
class MapState {
|
|
221
191
|
mapService = inject(MapService);
|
|
222
|
-
projectionService = inject(ProjectionService);
|
|
223
192
|
storageService = inject(StorageService);
|
|
224
193
|
configService = inject(ConfigService);
|
|
194
|
+
overlayService = inject(OverlayService);
|
|
225
195
|
get showAllLegendsValue() {
|
|
226
196
|
return this._legendToolShowAll;
|
|
227
197
|
}
|
|
@@ -245,12 +215,13 @@ class MapState {
|
|
|
245
215
|
}
|
|
246
216
|
}
|
|
247
217
|
}, this.storageService, this.configService);
|
|
218
|
+
this._map.initializeOverlays(this.overlayService);
|
|
248
219
|
this.mapService.setMap(this.map);
|
|
249
220
|
}
|
|
250
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.
|
|
251
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.
|
|
221
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: MapState, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
222
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: MapState, providedIn: 'root' });
|
|
252
223
|
}
|
|
253
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
224
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: MapState, decorators: [{
|
|
254
225
|
type: Injectable,
|
|
255
226
|
args: [{
|
|
256
227
|
providedIn: 'root'
|
|
@@ -301,10 +272,10 @@ class CatalogState {
|
|
|
301
272
|
clearCatalogItemsStores() {
|
|
302
273
|
this.catalogItemsStores.clear();
|
|
303
274
|
}
|
|
304
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.
|
|
305
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.
|
|
275
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: CatalogState, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
276
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: CatalogState, providedIn: 'root' });
|
|
306
277
|
}
|
|
307
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
278
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: CatalogState, decorators: [{
|
|
308
279
|
type: Injectable,
|
|
309
280
|
args: [{
|
|
310
281
|
providedIn: 'root'
|
|
@@ -384,8 +355,8 @@ let CatalogBrowserToolComponent = class CatalogBrowserToolComponent {
|
|
|
384
355
|
this.store$.next(store);
|
|
385
356
|
});
|
|
386
357
|
}
|
|
387
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.
|
|
388
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.
|
|
358
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: CatalogBrowserToolComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
359
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.23", type: CatalogBrowserToolComponent, isStandalone: true, selector: "igo-catalog-browser-tool", inputs: { toggleCollapsedGroup: { classPropertyName: "toggleCollapsedGroup", publicName: "toggleCollapsedGroup", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "@if (store$ | async; as store) {\n <igo-catalog-browser\n [catalog]=\"catalog!\"\n [store]=\"store\"\n [map]=\"map\"\n [toggleCollapsedGroup]=\"toggleCollapsedGroup()\"\n />\n}\n", dependencies: [{ kind: "component", type: CatalogBrowserComponent, selector: "igo-catalog-browser", inputs: ["catalogAllowLegend", "catalog", "store", "map", "toggleCollapsedGroup"], outputs: ["catalogAllowLegendChange"] }, { kind: "pipe", type: AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
389
360
|
};
|
|
390
361
|
CatalogBrowserToolComponent = __decorate([
|
|
391
362
|
ToolComponent({
|
|
@@ -394,20 +365,20 @@ CatalogBrowserToolComponent = __decorate([
|
|
|
394
365
|
parent: 'catalog'
|
|
395
366
|
})
|
|
396
367
|
], CatalogBrowserToolComponent);
|
|
397
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
368
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: CatalogBrowserToolComponent, decorators: [{
|
|
398
369
|
type: Component,
|
|
399
|
-
args: [{ selector: 'igo-catalog-browser-tool', changeDetection: ChangeDetectionStrategy.OnPush, imports: [CatalogBrowserComponent, AsyncPipe], template: "@if (store$ | async; as store) {\n <igo-catalog-browser\n [catalog]=\"catalog
|
|
370
|
+
args: [{ selector: 'igo-catalog-browser-tool', changeDetection: ChangeDetectionStrategy.OnPush, imports: [CatalogBrowserComponent, AsyncPipe], template: "@if (store$ | async; as store) {\n <igo-catalog-browser\n [catalog]=\"catalog!\"\n [store]=\"store\"\n [map]=\"map\"\n [toggleCollapsedGroup]=\"toggleCollapsedGroup()\"\n />\n}\n" }]
|
|
400
371
|
}], propDecorators: { toggleCollapsedGroup: [{ type: i0.Input, args: [{ isSignal: true, alias: "toggleCollapsedGroup", required: false }] }] } });
|
|
401
372
|
|
|
402
373
|
/**
|
|
403
374
|
* @deprecated import the CatalogBrowserToolComponent directly
|
|
404
375
|
*/
|
|
405
376
|
class IgoAppCatalogBrowserToolModule {
|
|
406
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.
|
|
407
|
-
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.
|
|
408
|
-
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.
|
|
377
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: IgoAppCatalogBrowserToolModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
378
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.23", ngImport: i0, type: IgoAppCatalogBrowserToolModule, imports: [CatalogBrowserToolComponent], exports: [CatalogBrowserToolComponent] });
|
|
379
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: IgoAppCatalogBrowserToolModule, imports: [CatalogBrowserToolComponent] });
|
|
409
380
|
}
|
|
410
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
381
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: IgoAppCatalogBrowserToolModule, decorators: [{
|
|
411
382
|
type: NgModule,
|
|
412
383
|
args: [{
|
|
413
384
|
imports: [CatalogBrowserToolComponent],
|
|
@@ -441,10 +412,10 @@ class ImportExportState {
|
|
|
441
412
|
setsExportOptions(exportOptions) {
|
|
442
413
|
this.exportOptions$.next(exportOptions);
|
|
443
414
|
}
|
|
444
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.
|
|
445
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.
|
|
415
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: ImportExportState, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
416
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: ImportExportState, providedIn: 'root' });
|
|
446
417
|
}
|
|
447
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
418
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: ImportExportState, decorators: [{
|
|
448
419
|
type: Injectable,
|
|
449
420
|
args: [{
|
|
450
421
|
providedIn: 'root'
|
|
@@ -486,10 +457,10 @@ class ToolState {
|
|
|
486
457
|
this.openSidenav$.next(true);
|
|
487
458
|
}
|
|
488
459
|
}
|
|
489
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.
|
|
490
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.
|
|
460
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: ToolState, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
461
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: ToolState, providedIn: 'root' });
|
|
491
462
|
}
|
|
492
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
463
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: ToolState, decorators: [{
|
|
493
464
|
type: Injectable,
|
|
494
465
|
args: [{
|
|
495
466
|
providedIn: 'root'
|
|
@@ -675,19 +646,19 @@ let CatalogLibraryToolComponent = class CatalogLibraryToolComponent {
|
|
|
675
646
|
* Get the item abstract for getCatalogList
|
|
676
647
|
*/
|
|
677
648
|
getMetadataAbstract(item) {
|
|
678
|
-
return item.options.metadata
|
|
649
|
+
return item.options.metadata?.abstract?.replaceAll('\n', '') ?? '';
|
|
679
650
|
}
|
|
680
651
|
/**
|
|
681
652
|
* Get the item url metadata for getCatalogList
|
|
682
653
|
*/
|
|
683
654
|
getMetadataUrl(item) {
|
|
684
|
-
return item.options.metadata
|
|
655
|
+
return item.options.metadata?.url;
|
|
685
656
|
}
|
|
686
657
|
layersInfoFromContexts() {
|
|
687
658
|
return this.contextService.getLocalContexts().pipe(switchMap((contextsList) => forkJoin(contextsList.ours.map((context) => this.contextService.getLocalContext(context.uri)))), concatAll(), map((detailedContext) => {
|
|
688
|
-
return detailedContext.layers
|
|
659
|
+
return (detailedContext.layers ?? [])
|
|
689
660
|
.filter((layer) => isLayerItemOptions(layer))
|
|
690
|
-
.map((layer) => getInfoFromSourceOptions(layer.sourceOptions, detailedContext.title ?? detailedContext.uri));
|
|
661
|
+
.map((layer) => getInfoFromSourceOptions(layer.sourceOptions, detailedContext.title ?? detailedContext.uri ?? ''));
|
|
691
662
|
}), concatAll(), toArray());
|
|
692
663
|
}
|
|
693
664
|
listExportFromCatalogs() {
|
|
@@ -702,7 +673,8 @@ let CatalogLibraryToolComponent = class CatalogLibraryToolComponent {
|
|
|
702
673
|
const catalogListExports = loadedCatalogItems.reduce((catalogListExports, item) => {
|
|
703
674
|
if (item.type === CatalogItemType.Group) {
|
|
704
675
|
const group = item;
|
|
705
|
-
group.items
|
|
676
|
+
group.items?.forEach((item) => {
|
|
677
|
+
const layer = item;
|
|
706
678
|
catalogListExports.push(this.formatLayer(layer, rank, group.title, catalog.title));
|
|
707
679
|
rank++;
|
|
708
680
|
});
|
|
@@ -728,23 +700,26 @@ let CatalogLibraryToolComponent = class CatalogLibraryToolComponent {
|
|
|
728
700
|
this.exportExcel(listExport);
|
|
729
701
|
});
|
|
730
702
|
}
|
|
731
|
-
formatLayer(
|
|
732
|
-
const
|
|
703
|
+
formatLayer(catalogItem, rank, groupTitle, catalogTitle) {
|
|
704
|
+
const sourceOptions = catalogItem.options.sourceOptions;
|
|
705
|
+
const infos = sourceOptions
|
|
706
|
+
? getInfoFromSourceOptions(sourceOptions, catalogItem.id)
|
|
707
|
+
: undefined;
|
|
733
708
|
const t = this.languageService.translate;
|
|
734
709
|
return {
|
|
735
|
-
id: infos.id,
|
|
710
|
+
id: infos?.id ?? catalogItem.options.id,
|
|
736
711
|
rank: rank.toString(),
|
|
737
|
-
layerTitle:
|
|
712
|
+
layerTitle: catalogItem.title,
|
|
738
713
|
layerGroup: groupTitle,
|
|
739
714
|
catalog: catalogTitle,
|
|
740
|
-
provider:
|
|
715
|
+
provider: catalogItem.externalProvider
|
|
741
716
|
? t.instant('igo.integration.catalog.listExport.external')
|
|
742
717
|
: t.instant('igo.integration.catalog.listExport.internal'),
|
|
743
|
-
url: infos
|
|
744
|
-
layerName: infos
|
|
718
|
+
url: infos?.url,
|
|
719
|
+
layerName: infos?.layerName,
|
|
745
720
|
context: '',
|
|
746
|
-
metadataAbstract: this.getMetadataAbstract(
|
|
747
|
-
metadataUrl: this.getMetadataUrl(
|
|
721
|
+
metadataAbstract: this.getMetadataAbstract(catalogItem),
|
|
722
|
+
metadataUrl: this.getMetadataUrl(catalogItem)
|
|
748
723
|
};
|
|
749
724
|
}
|
|
750
725
|
/**
|
|
@@ -791,11 +766,11 @@ let CatalogLibraryToolComponent = class CatalogLibraryToolComponent {
|
|
|
791
766
|
await addExcelSheetToWorkBook('Informations', catalogOutput, workBook, {
|
|
792
767
|
json2SheetOpts: { skipHeader: true }
|
|
793
768
|
});
|
|
794
|
-
const documentName = this.languageService.translate.instant('igo.integration.catalog.listExport.documentName', { value: formatDate(Date.now(),
|
|
769
|
+
const documentName = this.languageService.translate.instant('igo.integration.catalog.listExport.documentName', { value: formatDate(Date.now(), "yyyy-MM-dd-HH'h'mm", 'en-US') });
|
|
795
770
|
writeExcelFile(workBook, documentName, { compression: true });
|
|
796
771
|
}
|
|
797
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.
|
|
798
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.
|
|
772
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: CatalogLibraryToolComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
773
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.23", type: CatalogLibraryToolComponent, isStandalone: true, selector: "igo-catalog-library-tool", inputs: { addCatalogAllowed: { classPropertyName: "addCatalogAllowed", publicName: "addCatalogAllowed", isSignal: true, isRequired: false, transformFunction: null }, exportButton: { classPropertyName: "exportButton", publicName: "exportButton", isSignal: true, isRequired: false, transformFunction: null }, predefinedCatalogs: { classPropertyName: "predefinedCatalogs", publicName: "predefinedCatalogs", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "<igo-catalog-library\n [predefinedCatalogs]=\"predefinedCatalogs()\"\n [addCatalogAllowed]=\"addCatalogAllowed()\"\n [store]=\"store\"\n (catalogSelectChange)=\"onCatalogSelectChange($event)\"\n/>\n@if (exportButton()) {\n <div class=\"get-catalog-list-button\">\n <button\n matButton=\"elevated\"\n [matTooltip]=\"\n 'igo.integration.catalog.library.getCatalogList' | translate\n \"\n matTooltipPosition=\"above\"\n color=\"primary\"\n (click)=\"getCatalogList()\"\n >\n {{ 'igo.integration.catalog.library.getCatalogList' | translate }}\n </button>\n </div>\n}\n", styles: [".get-catalog-list-button{display:flex;justify-content:center;align-items:center}\n"], dependencies: [{ kind: "component", type: CatalogLibraryComponent, selector: "igo-catalog-library", inputs: ["store", "addCatalogAllowed", "predefinedCatalogs"], outputs: ["predefinedCatalogsChange", "catalogSelectChange"] }, { 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: TranslateModule }, { kind: "pipe", type: i3$1.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
799
774
|
};
|
|
800
775
|
CatalogLibraryToolComponent = __decorate([
|
|
801
776
|
ToolComponent({
|
|
@@ -804,7 +779,7 @@ CatalogLibraryToolComponent = __decorate([
|
|
|
804
779
|
icon: 'library_add'
|
|
805
780
|
})
|
|
806
781
|
], CatalogLibraryToolComponent);
|
|
807
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
782
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: CatalogLibraryToolComponent, decorators: [{
|
|
808
783
|
type: Component,
|
|
809
784
|
args: [{ selector: 'igo-catalog-library-tool', changeDetection: ChangeDetectionStrategy.OnPush, imports: [
|
|
810
785
|
CatalogLibraryComponent,
|
|
@@ -818,11 +793,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.10", ngImpo
|
|
|
818
793
|
* @deprecated import the CatalogLibraryToolComponent directly
|
|
819
794
|
*/
|
|
820
795
|
class IgoAppCatalogLibraryToolModule {
|
|
821
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.
|
|
822
|
-
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.
|
|
823
|
-
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.
|
|
796
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: IgoAppCatalogLibraryToolModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
797
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.23", ngImport: i0, type: IgoAppCatalogLibraryToolModule, imports: [CatalogLibraryToolComponent], exports: [CatalogLibraryToolComponent] });
|
|
798
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: IgoAppCatalogLibraryToolModule, imports: [CatalogLibraryToolComponent] });
|
|
824
799
|
}
|
|
825
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
800
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: IgoAppCatalogLibraryToolModule, decorators: [{
|
|
826
801
|
type: NgModule,
|
|
827
802
|
args: [{
|
|
828
803
|
imports: [CatalogLibraryToolComponent],
|
|
@@ -834,11 +809,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.10", ngImpo
|
|
|
834
809
|
* @deprecated import the components directly
|
|
835
810
|
*/
|
|
836
811
|
class IgoAppCatalogModule {
|
|
837
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.
|
|
838
|
-
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.
|
|
839
|
-
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.
|
|
812
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: IgoAppCatalogModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
813
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.23", ngImport: i0, type: IgoAppCatalogModule, exports: [IgoAppCatalogLibraryToolModule, IgoAppCatalogBrowserToolModule] });
|
|
814
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: IgoAppCatalogModule, imports: [IgoAppCatalogLibraryToolModule, IgoAppCatalogBrowserToolModule] });
|
|
840
815
|
}
|
|
841
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
816
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: IgoAppCatalogModule, decorators: [{
|
|
842
817
|
type: NgModule,
|
|
843
818
|
args: [{
|
|
844
819
|
exports: [IgoAppCatalogLibraryToolModule, IgoAppCatalogBrowserToolModule]
|
|
@@ -850,8 +825,8 @@ let ContextEditorToolComponent = class ContextEditorToolComponent {
|
|
|
850
825
|
submitSuccessed() {
|
|
851
826
|
this.toolState.toolbox.activatePreviousTool();
|
|
852
827
|
}
|
|
853
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.
|
|
854
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.
|
|
828
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: ContextEditorToolComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
829
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.23", type: ContextEditorToolComponent, isStandalone: true, selector: "igo-context-editor-tool", ngImport: i0, template: "<igo-context-edit (submitSuccessed)=\"submitSuccessed()\" />\n", dependencies: [{ kind: "component", type: ContextEditComponent, selector: "igo-context-edit", outputs: ["submitSuccessed"] }] });
|
|
855
830
|
};
|
|
856
831
|
ContextEditorToolComponent = __decorate([
|
|
857
832
|
ToolComponent({
|
|
@@ -861,7 +836,7 @@ ContextEditorToolComponent = __decorate([
|
|
|
861
836
|
parent: 'contextManager'
|
|
862
837
|
})
|
|
863
838
|
], ContextEditorToolComponent);
|
|
864
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
839
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: ContextEditorToolComponent, decorators: [{
|
|
865
840
|
type: Component,
|
|
866
841
|
args: [{ selector: 'igo-context-editor-tool', imports: [ContextEditComponent], template: "<igo-context-edit (submitSuccessed)=\"submitSuccessed()\" />\n" }]
|
|
867
842
|
}] });
|
|
@@ -881,8 +856,8 @@ let ContextManagerToolComponent = class ContextManagerToolComponent {
|
|
|
881
856
|
managePermissions() {
|
|
882
857
|
this.toolState.toolbox.activateTool('contextPermissionManager');
|
|
883
858
|
}
|
|
884
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.
|
|
885
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.2.
|
|
859
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: ContextManagerToolComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
860
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.2.23", type: ContextManagerToolComponent, isStandalone: true, selector: "igo-context-manager-tool", inputs: { toolToOpenOnContextChange: { classPropertyName: "toolToOpenOnContextChange", publicName: "toolToOpenOnContextChange", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "<igo-context-list\n [map]=\"map\"\n (edit)=\"editContext()\"\n (managePermissions)=\"managePermissions()\"\n [isDesktop]=\"isDesktop()\"\n/>\n", dependencies: [{ kind: "component", type: ContextListComponent, selector: "igo-context-list", inputs: ["isDesktop", "contexts", "selectedContext", "map", "defaultContextId", "term"], outputs: ["selectedContextChange", "select", "unselect", "edit", "delete", "save", "clone", "create", "hide", "show", "showHiddenContexts", "favorite", "managePermissions", "manageTools", "filterPermissionsChanged"] }] });
|
|
886
861
|
};
|
|
887
862
|
ContextManagerToolComponent = __decorate([
|
|
888
863
|
ToolComponent({
|
|
@@ -891,14 +866,14 @@ ContextManagerToolComponent = __decorate([
|
|
|
891
866
|
icon: 'star'
|
|
892
867
|
})
|
|
893
868
|
], ContextManagerToolComponent);
|
|
894
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
869
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: ContextManagerToolComponent, decorators: [{
|
|
895
870
|
type: Component,
|
|
896
871
|
args: [{ selector: 'igo-context-manager-tool', imports: [ContextListComponent], template: "<igo-context-list\n [map]=\"map\"\n (edit)=\"editContext()\"\n (managePermissions)=\"managePermissions()\"\n [isDesktop]=\"isDesktop()\"\n/>\n" }]
|
|
897
872
|
}], propDecorators: { toolToOpenOnContextChange: [{ type: i0.Input, args: [{ isSignal: true, alias: "toolToOpenOnContextChange", required: false }] }] } });
|
|
898
873
|
|
|
899
874
|
let ContextPermissionManagerToolComponent = class ContextPermissionManagerToolComponent {
|
|
900
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.
|
|
901
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.
|
|
875
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: ContextPermissionManagerToolComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
876
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.23", type: ContextPermissionManagerToolComponent, isStandalone: true, selector: "igo-context-permission-manager-tool", ngImport: i0, template: "<igo-context-permissions />\n", dependencies: [{ kind: "component", type: ContextPermissionsComponent, selector: "igo-context-permissions", inputs: ["context", "permissions"], outputs: ["contextChange", "permissionsChange"] }] });
|
|
902
877
|
};
|
|
903
878
|
ContextPermissionManagerToolComponent = __decorate([
|
|
904
879
|
ToolComponent({
|
|
@@ -908,7 +883,7 @@ ContextPermissionManagerToolComponent = __decorate([
|
|
|
908
883
|
parent: 'contextManager'
|
|
909
884
|
})
|
|
910
885
|
], ContextPermissionManagerToolComponent);
|
|
911
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
886
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: ContextPermissionManagerToolComponent, decorators: [{
|
|
912
887
|
type: Component,
|
|
913
888
|
args: [{ selector: 'igo-context-permission-manager-tool', imports: [ContextPermissionsComponent], template: "<igo-context-permissions />\n" }]
|
|
914
889
|
}] });
|
|
@@ -940,10 +915,10 @@ class LayerListToolState {
|
|
|
940
915
|
sortAlpha: this.sortAlpha$.value
|
|
941
916
|
};
|
|
942
917
|
}
|
|
943
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.
|
|
944
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.
|
|
918
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: LayerListToolState, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
919
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: LayerListToolState, providedIn: 'root' });
|
|
945
920
|
}
|
|
946
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
921
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: LayerListToolState, decorators: [{
|
|
947
922
|
type: Injectable,
|
|
948
923
|
args: [{
|
|
949
924
|
providedIn: 'root'
|
|
@@ -959,8 +934,8 @@ let ContextShareToolComponent = class ContextShareToolComponent {
|
|
|
959
934
|
get layerListControls() {
|
|
960
935
|
return this.layerListToolState.getLayerListControls();
|
|
961
936
|
}
|
|
962
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.
|
|
963
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.
|
|
937
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: ContextShareToolComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
938
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.23", type: ContextShareToolComponent, isStandalone: true, selector: "igo-context-share-tool", ngImport: i0, template: "<igo-share-map [map]=\"map\" />\n", dependencies: [{ kind: "component", type: ShareMapComponent, selector: "igo-share-map", inputs: ["map"] }] });
|
|
964
939
|
};
|
|
965
940
|
ContextShareToolComponent = __decorate([
|
|
966
941
|
ToolComponent({
|
|
@@ -969,7 +944,7 @@ ContextShareToolComponent = __decorate([
|
|
|
969
944
|
icon: 'share'
|
|
970
945
|
})
|
|
971
946
|
], ContextShareToolComponent);
|
|
972
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
947
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: ContextShareToolComponent, decorators: [{
|
|
973
948
|
type: Component,
|
|
974
949
|
args: [{ selector: 'igo-context-share-tool', imports: [ShareMapComponent], template: "<igo-share-map [map]=\"map\" />\n" }]
|
|
975
950
|
}] });
|
|
@@ -985,11 +960,11 @@ const INTEGRATION_CONTEXT_DIRECTIVES = [
|
|
|
985
960
|
* @deprecated import the components/directive directly or INTEGRATION_CONTEXT_DIRECTIVES for the set
|
|
986
961
|
*/
|
|
987
962
|
class IgoAppContextModule {
|
|
988
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.
|
|
989
|
-
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.
|
|
990
|
-
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.
|
|
963
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: IgoAppContextModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
964
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.23", ngImport: i0, type: IgoAppContextModule, imports: [ContextEditorToolComponent, ContextManagerToolComponent, ContextPermissionManagerToolComponent, ContextShareToolComponent], exports: [ContextEditorToolComponent, ContextManagerToolComponent, ContextPermissionManagerToolComponent, ContextShareToolComponent] });
|
|
965
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: IgoAppContextModule, imports: [INTEGRATION_CONTEXT_DIRECTIVES] });
|
|
991
966
|
}
|
|
992
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
967
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: IgoAppContextModule, decorators: [{
|
|
993
968
|
type: NgModule,
|
|
994
969
|
args: [{
|
|
995
970
|
imports: [...INTEGRATION_CONTEXT_DIRECTIVES],
|
|
@@ -1013,7 +988,9 @@ class ContextState {
|
|
|
1013
988
|
this.onContextChange(context);
|
|
1014
989
|
});
|
|
1015
990
|
this.contextService.toolsChanged$.subscribe((context) => {
|
|
1016
|
-
|
|
991
|
+
if (context) {
|
|
992
|
+
this.updateTools(context);
|
|
993
|
+
}
|
|
1017
994
|
});
|
|
1018
995
|
}
|
|
1019
996
|
/**
|
|
@@ -1057,7 +1034,7 @@ class ContextState {
|
|
|
1057
1034
|
toolbox.setToolbar(context.toolbar || []);
|
|
1058
1035
|
// TODO: This is a patch so the context service can work without
|
|
1059
1036
|
// injecting the ToolState or without being completely refactored
|
|
1060
|
-
this.contextService.setTools([]
|
|
1037
|
+
this.contextService.setTools([...tools]);
|
|
1061
1038
|
this.contextService.setToolbar(context.toolbar || []);
|
|
1062
1039
|
}
|
|
1063
1040
|
/**
|
|
@@ -1070,10 +1047,10 @@ class ContextState {
|
|
|
1070
1047
|
}
|
|
1071
1048
|
this.setContext(context);
|
|
1072
1049
|
}
|
|
1073
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.
|
|
1074
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.
|
|
1050
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: ContextState, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
1051
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: ContextState, providedIn: 'root' });
|
|
1075
1052
|
}
|
|
1076
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
1053
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: ContextState, decorators: [{
|
|
1077
1054
|
type: Injectable,
|
|
1078
1055
|
args: [{
|
|
1079
1056
|
providedIn: 'root'
|
|
@@ -1120,10 +1097,10 @@ class DirectionState {
|
|
|
1120
1097
|
}
|
|
1121
1098
|
});
|
|
1122
1099
|
}
|
|
1123
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.
|
|
1124
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.
|
|
1100
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: DirectionState, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
1101
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: DirectionState, providedIn: 'root' });
|
|
1125
1102
|
}
|
|
1126
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
1103
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: DirectionState, decorators: [{
|
|
1127
1104
|
type: Injectable,
|
|
1128
1105
|
args: [{
|
|
1129
1106
|
providedIn: 'root'
|
|
@@ -1185,13 +1162,13 @@ let DirectionsToolComponent = class DirectionsToolComponent {
|
|
|
1185
1162
|
this.storageService.set('direction.warning.shown', true, StorageScope.SESSION);
|
|
1186
1163
|
}
|
|
1187
1164
|
this.contextState.context$.subscribe((c) => {
|
|
1188
|
-
if (!this.authService.authenticated) {
|
|
1165
|
+
if (!this.authService.authenticated && c) {
|
|
1189
1166
|
this.currentContextUri = c.uri;
|
|
1190
1167
|
}
|
|
1191
1168
|
});
|
|
1192
1169
|
}
|
|
1193
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.
|
|
1194
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.
|
|
1170
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: DirectionsToolComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
1171
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.23", 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 [zoomToActiveRoute]=\"zoomToActiveRoute\"\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", "zoomToActiveRoute", "authenticated$"] }] });
|
|
1195
1172
|
};
|
|
1196
1173
|
DirectionsToolComponent = __decorate([
|
|
1197
1174
|
ToolComponent({
|
|
@@ -1200,7 +1177,7 @@ DirectionsToolComponent = __decorate([
|
|
|
1200
1177
|
icon: 'directions'
|
|
1201
1178
|
})
|
|
1202
1179
|
], DirectionsToolComponent);
|
|
1203
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
1180
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: DirectionsToolComponent, decorators: [{
|
|
1204
1181
|
type: Component,
|
|
1205
1182
|
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 [zoomToActiveRoute]=\"zoomToActiveRoute\"\n [authenticated$]=\"authenticated$\"\n/>\n" }]
|
|
1206
1183
|
}] });
|
|
@@ -1215,11 +1192,11 @@ class IgoAppDirectionsModule {
|
|
|
1215
1192
|
providers: []
|
|
1216
1193
|
};
|
|
1217
1194
|
}
|
|
1218
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.
|
|
1219
|
-
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.
|
|
1220
|
-
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.
|
|
1195
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: IgoAppDirectionsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
1196
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.23", ngImport: i0, type: IgoAppDirectionsModule, imports: [DirectionsToolComponent], exports: [DirectionsToolComponent] });
|
|
1197
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: IgoAppDirectionsModule, imports: [DirectionsToolComponent] });
|
|
1221
1198
|
}
|
|
1222
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
1199
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: IgoAppDirectionsModule, decorators: [{
|
|
1223
1200
|
type: NgModule,
|
|
1224
1201
|
args: [{
|
|
1225
1202
|
imports: [DirectionsToolComponent],
|
|
@@ -1256,10 +1233,10 @@ class DrawState {
|
|
|
1256
1233
|
store = new FeatureStore([], { map: this.mapState.map });
|
|
1257
1234
|
}
|
|
1258
1235
|
}
|
|
1259
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.
|
|
1260
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.
|
|
1236
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: DrawState, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
1237
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: DrawState, providedIn: 'root' });
|
|
1261
1238
|
}
|
|
1262
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
1239
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: DrawState, decorators: [{
|
|
1263
1240
|
type: Injectable,
|
|
1264
1241
|
args: [{
|
|
1265
1242
|
providedIn: 'root'
|
|
@@ -1307,8 +1284,8 @@ let DrawingToolComponent = class DrawingToolComponent {
|
|
|
1307
1284
|
addDrawControls(dc) {
|
|
1308
1285
|
this.drawControls = dc;
|
|
1309
1286
|
}
|
|
1310
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.
|
|
1311
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.
|
|
1287
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: DrawingToolComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
1288
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.23", type: DrawingToolComponent, isStandalone: true, selector: "igo-drawing-tool", ngImport: i0, template: "<igo-draw\n [stores]=\"stores\"\n [map]=\"map\"\n (layersIDEvent)=\"addLayersID($event)\"\n [activeDrawingLayer]=\"activeDrawingLayer\"\n [drawControls]=\"drawControls\"\n (drawControlsEvent)=\"addDrawControls($event)\"\n (activeLayerChange)=\"activeDrawingLayer = $event\"\n/>\n", dependencies: [{ kind: "component", type: DrawComponent, selector: "igo-draw", inputs: ["map", "stores", "drawControls", "activeDrawingLayer"], outputs: ["storesChange", "drawControlsChange", "activeDrawingLayerChange", "activeLayerChange", "drawControlsEvent", "layersIDEvent"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
1312
1289
|
};
|
|
1313
1290
|
DrawingToolComponent = __decorate([
|
|
1314
1291
|
ToolComponent({
|
|
@@ -1317,7 +1294,7 @@ DrawingToolComponent = __decorate([
|
|
|
1317
1294
|
icon: 'stylus_note'
|
|
1318
1295
|
})
|
|
1319
1296
|
], DrawingToolComponent);
|
|
1320
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
1297
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: DrawingToolComponent, decorators: [{
|
|
1321
1298
|
type: Component,
|
|
1322
1299
|
args: [{ selector: 'igo-drawing-tool', changeDetection: ChangeDetectionStrategy.OnPush, imports: [DrawComponent], template: "<igo-draw\n [stores]=\"stores\"\n [map]=\"map\"\n (layersIDEvent)=\"addLayersID($event)\"\n [activeDrawingLayer]=\"activeDrawingLayer\"\n [drawControls]=\"drawControls\"\n (drawControlsEvent)=\"addDrawControls($event)\"\n (activeLayerChange)=\"activeDrawingLayer = $event\"\n/>\n" }]
|
|
1323
1300
|
}] });
|
|
@@ -1326,11 +1303,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.10", ngImpo
|
|
|
1326
1303
|
* @deprecated import the DrawingToolComponent directly
|
|
1327
1304
|
*/
|
|
1328
1305
|
class IgoAppDrawingToolModule {
|
|
1329
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.
|
|
1330
|
-
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.
|
|
1331
|
-
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.
|
|
1306
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: IgoAppDrawingToolModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
1307
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.23", ngImport: i0, type: IgoAppDrawingToolModule, imports: [DrawingToolComponent], exports: [DrawingToolComponent] });
|
|
1308
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: IgoAppDrawingToolModule, imports: [DrawingToolComponent] });
|
|
1332
1309
|
}
|
|
1333
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
1310
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: IgoAppDrawingToolModule, decorators: [{
|
|
1334
1311
|
type: NgModule,
|
|
1335
1312
|
args: [{
|
|
1336
1313
|
imports: [DrawingToolComponent],
|
|
@@ -1342,11 +1319,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.10", ngImpo
|
|
|
1342
1319
|
* @deprecated import the DrawingToolComponent directly
|
|
1343
1320
|
*/
|
|
1344
1321
|
class IgoAppDrawModule {
|
|
1345
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.
|
|
1346
|
-
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.
|
|
1347
|
-
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.
|
|
1322
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: IgoAppDrawModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
1323
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.23", ngImport: i0, type: IgoAppDrawModule, exports: [IgoAppDrawingToolModule] });
|
|
1324
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: IgoAppDrawModule, imports: [IgoAppDrawingToolModule] });
|
|
1348
1325
|
}
|
|
1349
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
1326
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: IgoAppDrawModule, decorators: [{
|
|
1350
1327
|
type: NgModule,
|
|
1351
1328
|
args: [{
|
|
1352
1329
|
exports: [IgoAppDrawingToolModule]
|
|
@@ -1376,8 +1353,8 @@ let ActiveOgcFilterToolComponent = class ActiveOgcFilterToolComponent {
|
|
|
1376
1353
|
return;
|
|
1377
1354
|
}
|
|
1378
1355
|
animate = 'enter';
|
|
1379
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.
|
|
1380
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.
|
|
1356
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: ActiveOgcFilterToolComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
1357
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.23", type: ActiveOgcFilterToolComponent, isStandalone: true, selector: "igo-active-ogc-filter-tool", ngImport: i0, template: "<igo-ogc-filterable-item\n [map]=\"map\"\n [layer]=\"layer\"\n [header]=\"false\"\n [@toolSlideInOut]=\"animate\"\n/>\n", dependencies: [{ kind: "component", type: OgcFilterableItemComponent, selector: "igo-ogc-filterable-item", inputs: ["layer", "map", "header"] }], animations: [toolSlideInOut$1()] });
|
|
1381
1358
|
};
|
|
1382
1359
|
ActiveOgcFilterToolComponent = __decorate([
|
|
1383
1360
|
ToolComponent({
|
|
@@ -1387,7 +1364,7 @@ ActiveOgcFilterToolComponent = __decorate([
|
|
|
1387
1364
|
parent: 'mapTools'
|
|
1388
1365
|
})
|
|
1389
1366
|
], ActiveOgcFilterToolComponent);
|
|
1390
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
1367
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: ActiveOgcFilterToolComponent, decorators: [{
|
|
1391
1368
|
type: Component,
|
|
1392
1369
|
args: [{ selector: 'igo-active-ogc-filter-tool', animations: [toolSlideInOut$1()], imports: [OgcFilterableItemComponent], template: "<igo-ogc-filterable-item\n [map]=\"map\"\n [layer]=\"layer\"\n [header]=\"false\"\n [@toolSlideInOut]=\"animate\"\n/>\n" }]
|
|
1393
1370
|
}] });
|
|
@@ -1415,8 +1392,8 @@ let ActiveTimeFilterToolComponent = class ActiveTimeFilterToolComponent {
|
|
|
1415
1392
|
return;
|
|
1416
1393
|
}
|
|
1417
1394
|
animate = 'enter';
|
|
1418
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.
|
|
1419
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.
|
|
1395
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: ActiveTimeFilterToolComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
1396
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.23", type: ActiveTimeFilterToolComponent, isStandalone: true, selector: "igo-active-time-filter-tool", ngImport: i0, template: "<igo-time-filter-item\n [layer]=\"layer\"\n [header]=\"false\"\n [@toolSlideInOut]=\"animate\"\n/>\n", dependencies: [{ kind: "component", type: TimeFilterItemComponent, selector: "igo-time-filter-item", inputs: ["header", "layer"] }], animations: [toolSlideInOut()] });
|
|
1420
1397
|
};
|
|
1421
1398
|
ActiveTimeFilterToolComponent = __decorate([
|
|
1422
1399
|
ToolComponent({
|
|
@@ -1426,14 +1403,14 @@ ActiveTimeFilterToolComponent = __decorate([
|
|
|
1426
1403
|
parent: 'mapTools'
|
|
1427
1404
|
})
|
|
1428
1405
|
], ActiveTimeFilterToolComponent);
|
|
1429
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
1406
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: ActiveTimeFilterToolComponent, decorators: [{
|
|
1430
1407
|
type: Component,
|
|
1431
1408
|
args: [{ selector: 'igo-active-time-filter-tool', animations: [toolSlideInOut()], imports: [TimeFilterItemComponent], template: "<igo-time-filter-item\n [layer]=\"layer\"\n [header]=\"false\"\n [@toolSlideInOut]=\"animate\"\n/>\n" }]
|
|
1432
1409
|
}] });
|
|
1433
1410
|
|
|
1434
1411
|
let OgcFilterToolComponent = class OgcFilterToolComponent {
|
|
1435
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.
|
|
1436
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.
|
|
1412
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: OgcFilterToolComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
1413
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.23", type: OgcFilterToolComponent, isStandalone: true, selector: "igo-ogc-filter-tool", ngImport: i0, template: "<igo-ogc-filterable-list igoOgcFilterableListBinding [layers]=\"[]\" />\n", dependencies: [{ kind: "component", type: OgcFilterableListComponent, selector: "igo-ogc-filterable-list", inputs: ["layers"], outputs: ["layersChange"] }, { kind: "directive", type: OgcFilterableListBindingDirective, selector: "[igoOgcFilterableListBinding]" }] });
|
|
1437
1414
|
};
|
|
1438
1415
|
OgcFilterToolComponent = __decorate([
|
|
1439
1416
|
ToolComponent({
|
|
@@ -1442,9 +1419,9 @@ OgcFilterToolComponent = __decorate([
|
|
|
1442
1419
|
icon: 'filter'
|
|
1443
1420
|
})
|
|
1444
1421
|
], OgcFilterToolComponent);
|
|
1445
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
1422
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: OgcFilterToolComponent, decorators: [{
|
|
1446
1423
|
type: Component,
|
|
1447
|
-
args: [{ selector: 'igo-ogc-filter-tool', imports: [OgcFilterableListComponent, OgcFilterableListBindingDirective], template: "<igo-ogc-filterable-list igoOgcFilterableListBinding />\n" }]
|
|
1424
|
+
args: [{ selector: 'igo-ogc-filter-tool', imports: [OgcFilterableListComponent, OgcFilterableListBindingDirective], template: "<igo-ogc-filterable-list igoOgcFilterableListBinding [layers]=\"[]\" />\n" }]
|
|
1448
1425
|
}] });
|
|
1449
1426
|
|
|
1450
1427
|
/**
|
|
@@ -1455,10 +1432,10 @@ class StorageState {
|
|
|
1455
1432
|
get storageService() {
|
|
1456
1433
|
return this.igoStorageService;
|
|
1457
1434
|
}
|
|
1458
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.
|
|
1459
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.
|
|
1435
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: StorageState, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
1436
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: StorageState, providedIn: 'root' });
|
|
1460
1437
|
}
|
|
1461
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
1438
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: StorageState, decorators: [{
|
|
1462
1439
|
type: Injectable,
|
|
1463
1440
|
args: [{
|
|
1464
1441
|
providedIn: 'root'
|
|
@@ -1519,17 +1496,17 @@ function getWorkspaceActions(workspace, rowsInMapExtentCheckCondition$, selectOn
|
|
|
1519
1496
|
title: 'igo.integration.workspace.download.title',
|
|
1520
1497
|
tooltip: 'igo.integration.workspace.download.tooltip',
|
|
1521
1498
|
handler: (ws) => {
|
|
1522
|
-
const filterStrategy = ws.entityStore
|
|
1523
|
-
const filterSelectionStrategy = ws.entityStore
|
|
1524
|
-
const layersWithSelection = filterSelectionStrategy
|
|
1499
|
+
const filterStrategy = ws.entityStore?.getStrategyOfType(EntityStoreFilterCustomFuncStrategy);
|
|
1500
|
+
const filterSelectionStrategy = ws.entityStore?.getStrategyOfType(EntityStoreFilterSelectionStrategy);
|
|
1501
|
+
const layersWithSelection = filterSelectionStrategy?.active
|
|
1525
1502
|
? [ws.layer.id]
|
|
1526
1503
|
: [];
|
|
1527
1504
|
toolState.toolToActivateFromOptions({
|
|
1528
1505
|
tool: 'importExport',
|
|
1529
1506
|
options: {
|
|
1530
1507
|
layers: [ws.layer.id],
|
|
1531
|
-
featureInMapExtent: filterStrategy
|
|
1532
|
-
layersWithSelection
|
|
1508
|
+
featureInMapExtent: filterStrategy?.active,
|
|
1509
|
+
layersWithSelection: layersWithSelection.filter((id) => id !== undefined)
|
|
1533
1510
|
}
|
|
1534
1511
|
});
|
|
1535
1512
|
},
|
|
@@ -1548,7 +1525,7 @@ function getWorkspaceActions(workspace, rowsInMapExtentCheckCondition$, selectOn
|
|
|
1548
1525
|
},
|
|
1549
1526
|
args: [ogcFilterWidget, workspace],
|
|
1550
1527
|
availability: (widget, ws) => of(ws.layer.options.sourceOptions
|
|
1551
|
-
?.ogcFilters?.enabled)
|
|
1528
|
+
?.ogcFilters?.enabled ?? false)
|
|
1552
1529
|
},
|
|
1553
1530
|
{
|
|
1554
1531
|
id: 'interactiveSelect',
|
|
@@ -1628,7 +1605,7 @@ function getWorkspaceActions(workspace, rowsInMapExtentCheckCondition$, selectOn
|
|
|
1628
1605
|
args: [workspace]
|
|
1629
1606
|
}
|
|
1630
1607
|
];
|
|
1631
|
-
const returnActions = workspace.layer.options.workspace
|
|
1608
|
+
const returnActions = workspace.layer.options.workspace?.printable !== false
|
|
1632
1609
|
? actions
|
|
1633
1610
|
: actions.filter((action) => action.id !== 'print');
|
|
1634
1611
|
return returnActions;
|
|
@@ -1675,10 +1652,10 @@ class EditionActionsService {
|
|
|
1675
1652
|
});
|
|
1676
1653
|
return getWorkspaceActions(workspace, rowsInMapExtentCheckCondition$, selectOnlyCheckCondition$, this.ogcFilterWidget, this.zoomAuto$, this.maximize$, this.storageService, this.languageService, this.mediaService, this.toolState);
|
|
1677
1654
|
}
|
|
1678
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.
|
|
1679
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.
|
|
1655
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: EditionActionsService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
1656
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: EditionActionsService, providedIn: 'root' });
|
|
1680
1657
|
}
|
|
1681
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
1658
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: EditionActionsService, decorators: [{
|
|
1682
1659
|
type: Injectable,
|
|
1683
1660
|
args: [{
|
|
1684
1661
|
providedIn: 'root'
|
|
@@ -1721,12 +1698,12 @@ class FeatureActionsService {
|
|
|
1721
1698
|
this.zoomAuto$.next(this.zoomAuto);
|
|
1722
1699
|
handleZoomAuto(workspace, this.storageService);
|
|
1723
1700
|
});
|
|
1724
|
-
return getWorkspaceActions(workspace, rowsInMapExtentCheckCondition$, selectOnlyCheckCondition$, undefined, this.zoomAuto$, this.maximize$, this.storageService, this.languageService, this.mediaService, this.toolState, this.interactiveSelectionFormWidget);
|
|
1701
|
+
return getWorkspaceActions(workspace, rowsInMapExtentCheckCondition$, selectOnlyCheckCondition$, undefined, this.zoomAuto$, this.maximize$, this.storageService, this.languageService, this.mediaService, this.toolState, this.interactiveSelectionFormWidget ?? undefined);
|
|
1725
1702
|
}
|
|
1726
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.
|
|
1727
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.
|
|
1703
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: FeatureActionsService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
1704
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: FeatureActionsService, providedIn: 'root' });
|
|
1728
1705
|
}
|
|
1729
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
1706
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: FeatureActionsService, decorators: [{
|
|
1730
1707
|
type: Injectable,
|
|
1731
1708
|
args: [{
|
|
1732
1709
|
providedIn: 'root'
|
|
@@ -1772,12 +1749,12 @@ class WfsActionsService {
|
|
|
1772
1749
|
this.zoomAuto$.next(this.zoomAuto);
|
|
1773
1750
|
handleZoomAuto(workspace, this.storageService);
|
|
1774
1751
|
});
|
|
1775
|
-
return getWorkspaceActions(workspace, rowsInMapExtentCheckCondition$, selectOnlyCheckCondition$, this.ogcFilterWidget, this.zoomAuto$, this.maximize$, this.storageService, this.languageService, this.mediaService, this.toolState, this.interactiveSelectionFormWidget);
|
|
1752
|
+
return getWorkspaceActions(workspace, rowsInMapExtentCheckCondition$, selectOnlyCheckCondition$, this.ogcFilterWidget, this.zoomAuto$, this.maximize$, this.storageService, this.languageService, this.mediaService, this.toolState, this.interactiveSelectionFormWidget ?? undefined);
|
|
1776
1753
|
}
|
|
1777
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.
|
|
1778
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.
|
|
1754
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: WfsActionsService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
1755
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: WfsActionsService, providedIn: 'root' });
|
|
1779
1756
|
}
|
|
1780
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
1757
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: WfsActionsService, decorators: [{
|
|
1781
1758
|
type: Injectable,
|
|
1782
1759
|
args: [{
|
|
1783
1760
|
providedIn: 'root'
|
|
@@ -1819,7 +1796,7 @@ class WorkspaceState {
|
|
|
1819
1796
|
_store;
|
|
1820
1797
|
get workspaceSelection() {
|
|
1821
1798
|
if (this.workspace$.value) {
|
|
1822
|
-
return this.workspace$.value?.entityStore
|
|
1799
|
+
return this.workspace$.value?.entityStore?.stateView.manyBy((r) => r.state.selected === true);
|
|
1823
1800
|
}
|
|
1824
1801
|
else {
|
|
1825
1802
|
return [];
|
|
@@ -1827,7 +1804,7 @@ class WorkspaceState {
|
|
|
1827
1804
|
}
|
|
1828
1805
|
get workspaceSelection$() {
|
|
1829
1806
|
if (this.workspace$.value) {
|
|
1830
|
-
return this.workspace$.value?.entityStore?.stateView.manyBy$((r) => r.state.selected === true);
|
|
1807
|
+
return (this.workspace$.value?.entityStore?.stateView.manyBy$((r) => r.state.selected === true) ?? of([]));
|
|
1831
1808
|
}
|
|
1832
1809
|
else {
|
|
1833
1810
|
return of([]);
|
|
@@ -1850,11 +1827,9 @@ class WorkspaceState {
|
|
|
1850
1827
|
const workspace = record ? record.entity : undefined;
|
|
1851
1828
|
this.workspace$.next(workspace);
|
|
1852
1829
|
});
|
|
1853
|
-
this._store.stateView
|
|
1854
|
-
.all$()
|
|
1855
|
-
.subscribe((workspaces) => {
|
|
1830
|
+
this._store.stateView.all$().subscribe((workspaces) => {
|
|
1856
1831
|
workspaces.map((wks) => {
|
|
1857
|
-
if (wks.entity.actionStore
|
|
1832
|
+
if (wks.entity.actionStore?.empty) {
|
|
1858
1833
|
if (wks.entity instanceof WfsWorkspace) {
|
|
1859
1834
|
this.wfsActionsService.loadActions(wks.entity, this.rowsInMapExtentCheckCondition$, this.selectOnlyCheckCondition$);
|
|
1860
1835
|
}
|
|
@@ -1884,8 +1859,8 @@ class WorkspaceState {
|
|
|
1884
1859
|
this.rowsInMapExtentCheckCondition$$ =
|
|
1885
1860
|
this.rowsInMapExtentCheckCondition$.subscribe((rowsInMapExtent) => {
|
|
1886
1861
|
this._store.stateView.all().map((wks) => {
|
|
1887
|
-
if (!wks.entity.actionStore
|
|
1888
|
-
const filterStrategy = wks.entity.entityStore
|
|
1862
|
+
if (!wks.entity.actionStore?.empty) {
|
|
1863
|
+
const filterStrategy = wks.entity.entityStore?.getStrategyOfType(EntityStoreFilterCustomFuncStrategy);
|
|
1889
1864
|
if (filterStrategy) {
|
|
1890
1865
|
if (rowsInMapExtent) {
|
|
1891
1866
|
filterStrategy.activate();
|
|
@@ -1899,8 +1874,8 @@ class WorkspaceState {
|
|
|
1899
1874
|
});
|
|
1900
1875
|
this.selectOnlyCheckCondition$$ = this.selectOnlyCheckCondition$.subscribe((selectOnly) => {
|
|
1901
1876
|
this._store.stateView.all().map((wks) => {
|
|
1902
|
-
if (!wks.entity.actionStore
|
|
1903
|
-
const filterStrategy = wks.entity.entityStore
|
|
1877
|
+
if (!wks.entity.actionStore?.empty) {
|
|
1878
|
+
const filterStrategy = wks.entity.entityStore?.getStrategyOfType(EntityStoreFilterSelectionStrategy);
|
|
1904
1879
|
if (filterStrategy) {
|
|
1905
1880
|
if (selectOnly) {
|
|
1906
1881
|
filterStrategy.activate();
|
|
@@ -1957,10 +1932,10 @@ class WorkspaceState {
|
|
|
1957
1932
|
this.activeWorkspace$$.unsubscribe();
|
|
1958
1933
|
}
|
|
1959
1934
|
}
|
|
1960
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.
|
|
1961
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.
|
|
1935
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: WorkspaceState, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
1936
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: WorkspaceState, providedIn: 'root' });
|
|
1962
1937
|
}
|
|
1963
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
1938
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: WorkspaceState, decorators: [{
|
|
1964
1939
|
type: Injectable,
|
|
1965
1940
|
args: [{
|
|
1966
1941
|
providedIn: 'root'
|
|
@@ -1983,9 +1958,9 @@ let SpatialFilterToolComponent = class SpatialFilterToolComponent {
|
|
|
1983
1958
|
get map() {
|
|
1984
1959
|
return this.mapState.map;
|
|
1985
1960
|
}
|
|
1986
|
-
type = model(
|
|
1961
|
+
type = model(...(ngDevMode ? [undefined, { debugName: "type" }] : /* istanbul ignore next */ []));
|
|
1987
1962
|
itemType = model(SpatialFilterItemType.Thematics, ...(ngDevMode ? [{ debugName: "itemType" }] : /* istanbul ignore next */ []));
|
|
1988
|
-
freehandDrawIsActive = model(
|
|
1963
|
+
freehandDrawIsActive = model(...(ngDevMode ? [undefined, { debugName: "freehandDrawIsActive" }] : /* istanbul ignore next */ []));
|
|
1989
1964
|
layers = [];
|
|
1990
1965
|
activeLayers = [];
|
|
1991
1966
|
queryType;
|
|
@@ -2034,7 +2009,7 @@ let SpatialFilterToolComponent = class SpatialFilterToolComponent {
|
|
|
2034
2009
|
const ids = [];
|
|
2035
2010
|
const re = new RegExp('^Zone \\d+');
|
|
2036
2011
|
for (const layer of this.layers) {
|
|
2037
|
-
if (!layer.title
|
|
2012
|
+
if (!layer.title?.match(re)) {
|
|
2038
2013
|
ids.push(layer.id);
|
|
2039
2014
|
}
|
|
2040
2015
|
}
|
|
@@ -2054,7 +2029,7 @@ let SpatialFilterToolComponent = class SpatialFilterToolComponent {
|
|
|
2054
2029
|
this.thematics) {
|
|
2055
2030
|
for (const thematic of this.thematics) {
|
|
2056
2031
|
if (!thematic.zeroResults) {
|
|
2057
|
-
layerToOpenWks = this.activeLayers.find((layer) => layer.title
|
|
2032
|
+
layerToOpenWks = this.activeLayers.find((layer) => layer.title?.includes(thematic.name + ' ' + this.iterator.toString()));
|
|
2058
2033
|
break;
|
|
2059
2034
|
}
|
|
2060
2035
|
}
|
|
@@ -2062,7 +2037,7 @@ let SpatialFilterToolComponent = class SpatialFilterToolComponent {
|
|
|
2062
2037
|
else {
|
|
2063
2038
|
const title = 'Adresses ' + this.iterator.toString();
|
|
2064
2039
|
this.activeLayers.forEach((layer) => {
|
|
2065
|
-
if (layer.title
|
|
2040
|
+
if (layer.title?.includes(title)) {
|
|
2066
2041
|
layerToOpenWks = layer;
|
|
2067
2042
|
}
|
|
2068
2043
|
});
|
|
@@ -2084,10 +2059,12 @@ let SpatialFilterToolComponent = class SpatialFilterToolComponent {
|
|
|
2084
2059
|
}
|
|
2085
2060
|
selectWorkspaceEntity(record) {
|
|
2086
2061
|
this.workspaceState.store.all().forEach((workspace) => {
|
|
2087
|
-
workspace.entityStore
|
|
2088
|
-
if (
|
|
2062
|
+
workspace.entityStore?.state.updateAll({ selected: false });
|
|
2063
|
+
if (
|
|
2064
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
2065
|
+
workspace.title.includes(record['added'][0]?.meta?.title)) {
|
|
2089
2066
|
this.workspaceState.setActiveWorkspaceById(workspace.id);
|
|
2090
|
-
workspace.entityStore
|
|
2067
|
+
workspace.entityStore?.state.updateMany(record['added'], {
|
|
2091
2068
|
selected: true
|
|
2092
2069
|
});
|
|
2093
2070
|
}
|
|
@@ -2144,7 +2121,7 @@ let SpatialFilterToolComponent = class SpatialFilterToolComponent {
|
|
|
2144
2121
|
thematics = [theme];
|
|
2145
2122
|
}
|
|
2146
2123
|
else {
|
|
2147
|
-
thematics = this.thematics;
|
|
2124
|
+
thematics = this.thematics ?? [];
|
|
2148
2125
|
}
|
|
2149
2126
|
if (this.measureUnit === MeasureLengthUnit.Kilometers &&
|
|
2150
2127
|
type !== SpatialFilterType.Point) {
|
|
@@ -2166,10 +2143,10 @@ let SpatialFilterToolComponent = class SpatialFilterToolComponent {
|
|
|
2166
2143
|
const grouped = this.getFeatureByType(features);
|
|
2167
2144
|
grouped.forEach(({ points, lines }) => {
|
|
2168
2145
|
if (points.length > 0) {
|
|
2169
|
-
this.tryAddPointToMap(points, points[0].meta
|
|
2146
|
+
this.tryAddPointToMap(points, points[0].meta?.id);
|
|
2170
2147
|
}
|
|
2171
2148
|
if (lines.length > 0) {
|
|
2172
|
-
this.tryAddLayerToMap(lines, lines[0].meta
|
|
2149
|
+
this.tryAddLayerToMap(lines, lines[0].meta?.id);
|
|
2173
2150
|
}
|
|
2174
2151
|
});
|
|
2175
2152
|
thematics.forEach((thematic) => {
|
|
@@ -2206,7 +2183,7 @@ let SpatialFilterToolComponent = class SpatialFilterToolComponent {
|
|
|
2206
2183
|
group = { points: [], lines: [] };
|
|
2207
2184
|
grouped.set(typeKey, group);
|
|
2208
2185
|
}
|
|
2209
|
-
if (feature.geometry
|
|
2186
|
+
if (feature.geometry?.type === 'Point') {
|
|
2210
2187
|
feature.properties.longitude = feature.geometry.coordinates[0];
|
|
2211
2188
|
feature.properties.latitude = feature.geometry.coordinates[1];
|
|
2212
2189
|
group.points.push(feature);
|
|
@@ -2233,22 +2210,20 @@ let SpatialFilterToolComponent = class SpatialFilterToolComponent {
|
|
|
2233
2210
|
zoneIndex = parseInt(match[1], 10);
|
|
2234
2211
|
}
|
|
2235
2212
|
}
|
|
2236
|
-
const titleFeature = features[0].meta
|
|
2213
|
+
const titleFeature = features[0].meta?.title;
|
|
2237
2214
|
// Count how many layers with the same meta.title already exist
|
|
2238
2215
|
let i = 1;
|
|
2239
2216
|
for (const layer of this.layers) {
|
|
2240
|
-
if (layer.title?.startsWith(titleFeature)) {
|
|
2217
|
+
if (layer.title?.startsWith(titleFeature ?? '')) {
|
|
2241
2218
|
i++;
|
|
2242
2219
|
}
|
|
2243
2220
|
}
|
|
2244
|
-
const style = createOverlayMarkerStyle();
|
|
2245
2221
|
// 🔑 Use zoneIndex to sync layer naming
|
|
2246
2222
|
const filterLabel = this.languageService.translate.instant('igo.geo.spatialFilter.spatialFilter');
|
|
2247
2223
|
const options = {
|
|
2248
2224
|
isIgoInternalLayer: true,
|
|
2249
2225
|
title: `${titleFeature} ${zoneIndex} - ${filterLabel}`,
|
|
2250
2226
|
visible: true,
|
|
2251
|
-
style,
|
|
2252
2227
|
sourceOptions: {
|
|
2253
2228
|
type: 'cluster',
|
|
2254
2229
|
id,
|
|
@@ -2263,12 +2238,15 @@ let SpatialFilterToolComponent = class SpatialFilterToolComponent {
|
|
|
2263
2238
|
.createAsyncLayer(options)
|
|
2264
2239
|
.pipe(take(1))
|
|
2265
2240
|
.subscribe((layer) => {
|
|
2241
|
+
if (!layer)
|
|
2242
|
+
return;
|
|
2243
|
+
const vectorLayer = layer;
|
|
2266
2244
|
const featuresOl = features.map((feature) => {
|
|
2267
|
-
return featureToOl(feature, this.map.
|
|
2245
|
+
return featureToOl(feature, this.map.projectionCode);
|
|
2268
2246
|
});
|
|
2269
|
-
const ol =
|
|
2247
|
+
const ol = vectorLayer.dataSource.ol;
|
|
2270
2248
|
ol.getSource().addFeatures(featuresOl);
|
|
2271
|
-
const previousLayer = this.layers.find((prevLayer) => prevLayer.id ===
|
|
2249
|
+
const previousLayer = this.layers.find((prevLayer) => prevLayer.id === vectorLayer.id);
|
|
2272
2250
|
if (previousLayer) {
|
|
2273
2251
|
this.map.layerController.remove(previousLayer);
|
|
2274
2252
|
this.layers = this.layers.filter((l) => l.id !== layer.id);
|
|
@@ -2292,13 +2270,13 @@ let SpatialFilterToolComponent = class SpatialFilterToolComponent {
|
|
|
2292
2270
|
return;
|
|
2293
2271
|
}
|
|
2294
2272
|
for (const layer of this.layers) {
|
|
2295
|
-
if (layer.title?.startsWith(features[0].meta
|
|
2273
|
+
if (layer.title?.startsWith(features[0].meta?.title ?? '')) {
|
|
2296
2274
|
i++;
|
|
2297
2275
|
}
|
|
2298
2276
|
}
|
|
2299
2277
|
const options = {
|
|
2300
2278
|
isIgoInternalLayer: true,
|
|
2301
|
-
title: (features[0].meta
|
|
2279
|
+
title: ((features[0].meta?.title ?? '') +
|
|
2302
2280
|
' ' +
|
|
2303
2281
|
i +
|
|
2304
2282
|
' - ' +
|
|
@@ -2314,16 +2292,19 @@ let SpatialFilterToolComponent = class SpatialFilterToolComponent {
|
|
|
2314
2292
|
.createAsyncLayer(options)
|
|
2315
2293
|
.pipe(take(1))
|
|
2316
2294
|
.subscribe((layer) => {
|
|
2295
|
+
if (!layer)
|
|
2296
|
+
return;
|
|
2297
|
+
const vectorLayer = layer;
|
|
2317
2298
|
const featuresOl = features.map((feature) => {
|
|
2318
|
-
return featureToOl(feature, this.map.
|
|
2299
|
+
return featureToOl(feature, this.map.projectionCode);
|
|
2319
2300
|
});
|
|
2320
|
-
const ol =
|
|
2301
|
+
const ol = vectorLayer.dataSource.ol;
|
|
2321
2302
|
ol.addFeatures(featuresOl);
|
|
2322
|
-
const previousLayer = this.layers.find((prevLayer) => prevLayer.id ===
|
|
2303
|
+
const previousLayer = this.layers.find((prevLayer) => prevLayer.id === vectorLayer.id);
|
|
2323
2304
|
if (previousLayer) {
|
|
2324
2305
|
this.map.layerController.remove(previousLayer);
|
|
2325
2306
|
i = i - 1;
|
|
2326
|
-
layer.title = (features[0].meta
|
|
2307
|
+
layer.title = ((features[0].meta?.title ?? '') +
|
|
2327
2308
|
' ' +
|
|
2328
2309
|
i +
|
|
2329
2310
|
' - ' +
|
|
@@ -2361,14 +2342,14 @@ let SpatialFilterToolComponent = class SpatialFilterToolComponent {
|
|
|
2361
2342
|
return;
|
|
2362
2343
|
const olSource = zoneLayer.dataSource.ol;
|
|
2363
2344
|
// Convert to OL feature (same way as when adding)
|
|
2364
|
-
const featureOl = featureToOl(feature, this.map.
|
|
2345
|
+
const featureOl = featureToOl(feature, this.map.projectionCode);
|
|
2365
2346
|
// Find matching OL feature(s) by id or geometry
|
|
2366
2347
|
const toRemove = olSource.getFeatures().filter((f) => {
|
|
2367
2348
|
return f.getId() === featureOl.getId();
|
|
2368
2349
|
});
|
|
2369
2350
|
if (toRemove.length) {
|
|
2370
2351
|
toRemove.forEach((f) => olSource.removeFeature(f));
|
|
2371
|
-
this.zones = this.zones.filter((z) => z.meta
|
|
2352
|
+
this.zones = this.zones.filter((z) => z.meta?.id !== feature.meta?.id);
|
|
2372
2353
|
}
|
|
2373
2354
|
if (olSource.getFeatures().length === 0) {
|
|
2374
2355
|
this.map.layerController.remove(zoneLayer);
|
|
@@ -2391,8 +2372,11 @@ let SpatialFilterToolComponent = class SpatialFilterToolComponent {
|
|
|
2391
2372
|
if (!zoneLayer) {
|
|
2392
2373
|
this.defaultStyle = this.createZoneStyle(features[0]);
|
|
2393
2374
|
this.createZoneLayer(lastZoneIndex + 1, features).subscribe((layer) => {
|
|
2394
|
-
|
|
2395
|
-
|
|
2375
|
+
if (!layer)
|
|
2376
|
+
return;
|
|
2377
|
+
const vectorLayer = layer;
|
|
2378
|
+
this.setActiveZoneLayer(vectorLayer);
|
|
2379
|
+
this.addFeaturesToLayer(vectorLayer, features);
|
|
2396
2380
|
this.cdRef.detectChanges();
|
|
2397
2381
|
});
|
|
2398
2382
|
}
|
|
@@ -2404,11 +2388,11 @@ let SpatialFilterToolComponent = class SpatialFilterToolComponent {
|
|
|
2404
2388
|
if (this.type() !== SpatialFilterType.Predefined)
|
|
2405
2389
|
return false;
|
|
2406
2390
|
return this.layers
|
|
2407
|
-
.filter((l) => l.title
|
|
2391
|
+
.filter((l) => l.title?.includes('Zone'))
|
|
2408
2392
|
.some((layer) => {
|
|
2409
|
-
const olSource = layer.dataSource
|
|
2393
|
+
const olSource = layer.dataSource?.ol;
|
|
2410
2394
|
const layerFeatures = olSource.getFeatures();
|
|
2411
|
-
return this.zones.every((zone) => layerFeatures.some((feature) => feature.getId() === zone.meta
|
|
2395
|
+
return this.zones.every((zone) => layerFeatures.some((feature) => feature.getId() === zone.meta?.id));
|
|
2412
2396
|
});
|
|
2413
2397
|
}
|
|
2414
2398
|
findLastZoneIndex() {
|
|
@@ -2435,7 +2419,7 @@ let SpatialFilterToolComponent = class SpatialFilterToolComponent {
|
|
|
2435
2419
|
? this.buffer /
|
|
2436
2420
|
Math.cos((Math.PI / 180) * coordinates[1]) /
|
|
2437
2421
|
resolution
|
|
2438
|
-
:
|
|
2422
|
+
: 0,
|
|
2439
2423
|
fill: new olstyle.Fill({ color: 'rgba(200, 200, 20, 0.2)' }),
|
|
2440
2424
|
stroke: new olstyle.Stroke({ width: 1, color: 'orange' })
|
|
2441
2425
|
}),
|
|
@@ -2478,7 +2462,7 @@ let SpatialFilterToolComponent = class SpatialFilterToolComponent {
|
|
|
2478
2462
|
const olSource = layer.dataSource.ol;
|
|
2479
2463
|
if (buffer)
|
|
2480
2464
|
olSource.clear();
|
|
2481
|
-
const featuresOl = features.map((f) => featureToOl(f, this.map.
|
|
2465
|
+
const featuresOl = features.map((f) => featureToOl(f, this.map.projectionCode));
|
|
2482
2466
|
const type = this.type();
|
|
2483
2467
|
if (type !== SpatialFilterType.Predefined) {
|
|
2484
2468
|
const customType = type === SpatialFilterType.Point ? 'Cercle' : 'Polygone';
|
|
@@ -2503,6 +2487,8 @@ let SpatialFilterToolComponent = class SpatialFilterToolComponent {
|
|
|
2503
2487
|
}
|
|
2504
2488
|
setPointProps(featureOl, projectionCode, radius) {
|
|
2505
2489
|
const olGeometry = featureOl.getGeometry();
|
|
2490
|
+
if (!olGeometry)
|
|
2491
|
+
return;
|
|
2506
2492
|
const [longitude, latitude] = transform(olGeometry.getFlatCoordinates(), projectionCode, 'EPSG:4326');
|
|
2507
2493
|
const props = {
|
|
2508
2494
|
[RADIUS_NAME]: radius,
|
|
@@ -2512,8 +2498,8 @@ let SpatialFilterToolComponent = class SpatialFilterToolComponent {
|
|
|
2512
2498
|
};
|
|
2513
2499
|
Object.entries(props).forEach(([key, value]) => featureOl.set(key, value, true));
|
|
2514
2500
|
}
|
|
2515
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.
|
|
2516
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.
|
|
2501
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: SpatialFilterToolComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
2502
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.23", type: SpatialFilterToolComponent, isStandalone: true, selector: "igo-spatial-filter-tool", inputs: { type: { classPropertyName: "type", publicName: "type", isSignal: true, isRequired: false, transformFunction: null }, itemType: { classPropertyName: "itemType", publicName: "itemType", isSignal: true, isRequired: false, transformFunction: null }, freehandDrawIsActive: { classPropertyName: "freehandDrawIsActive", publicName: "freehandDrawIsActive", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { type: "typeChange", itemType: "itemTypeChange", freehandDrawIsActive: "freehandDrawIsActiveChange" }, ngImport: i0, template: "<igo-spatial-filter-type\n [store]=\"spatialListStore\"\n [selectedQueryType]=\"queryType\"\n [layers]=\"activeLayers\"\n (eventType)=\"getOutputType($event)\"\n (eventQueryType)=\"getOutputQueryType($event)\"\n (zonesWithBufferChange)=\"onAddZoneWithBuffer($event)\"\n (bufferChange)=\"buffer = $event\"\n (measureUnitChange)=\"measureUnit = $event\"\n [zones]=\"zones\"\n (addZone)=\"onAddZone($event)\"\n (removeZone)=\"onRemovedZone($event)\"\n/>\n\n<igo-spatial-filter-item\n [type]=\"type()!\"\n [queryType]=\"queryType\"\n [map]=\"map\"\n [zones]=\"zones\"\n [loading]=\"loading\"\n [store]=\"store\"\n [layers]=\"activeLayers\"\n [allLayers]=\"layers\"\n [thematicLength]=\"thematicLength\"\n (radiusEvent)=\"buffer = $event\"\n (bufferEvent)=\"buffer = $event\"\n (measureUnitChange)=\"measureUnit = $event\"\n (freehandControl)=\"freehandDrawIsActive.set($event)\"\n (drawZoneEvent)=\"this.zones = [$event]\"\n (zonesWithBufferChange)=\"onAddZoneWithBuffer($event)\"\n (itemTypeChange)=\"itemType.set($event)\"\n (thematicChange)=\"thematics = $event\"\n (toggleSearch)=\"getOutputToggleSearch()\"\n (clearButtonEvent)=\"clearMap()\"\n (clearSearchEvent)=\"getOutputClearSearch()\"\n (export)=\"activateExportTool()\"\n (openWorkspace)=\"activateWorkspace()\"\n (entityChange)=\"activateWorkspace($event)\"\n/>\n@if (selectedFeature$ | async; as feature) {\n <igo-feature-details [feature]=\"feature\" />\n}\n", styles: [":host igo-spatial-filter-item{display:block;padding:0 12px}:host ::ng-deep .mat-mdc-tab-body-wrapper{margin-top:12px;padding:0 12px}\n"], dependencies: [{ kind: "component", type: SpatialFilterTypeComponent, selector: "igo-spatial-filter-type", inputs: ["store", "selectedQueryType", "zones", "layers"], outputs: ["selectedQueryTypeChange", "eventType", "eventQueryType", "bufferChange", "measureUnitChange", "addZone", "removeZone", "zonesWithBufferChange"] }, { kind: "component", type: SpatialFilterItemComponent, selector: "igo-spatial-filter-item", inputs: ["map", "type", "queryType", "zones", "loading", "store", "layers", "allLayers", "thematicLength"], outputs: ["loadingChange", "toggleSearch", "itemTypeChange", "thematicChange", "drawZoneEvent", "bufferEvent", "zonesWithBufferChange", "measureUnitChange", "radiusEvent", "freehandControl", "predefinedRadius", "clearButtonEvent", "clearSearchEvent", "export", "openWorkspace", "entityChange"] }, { kind: "component", type: FeatureDetailsComponent, selector: "igo-feature-details", inputs: ["source", "map", "toolbox", "feature"], outputs: ["routeEvent", "selectFeature", "htmlDisplayEvent"] }, { kind: "pipe", type: AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
2517
2503
|
};
|
|
2518
2504
|
SpatialFilterToolComponent = __decorate([
|
|
2519
2505
|
ToolComponent({
|
|
@@ -2525,19 +2511,19 @@ SpatialFilterToolComponent = __decorate([
|
|
|
2525
2511
|
* Spatial Filter Type
|
|
2526
2512
|
*/
|
|
2527
2513
|
], SpatialFilterToolComponent);
|
|
2528
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
2514
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: SpatialFilterToolComponent, decorators: [{
|
|
2529
2515
|
type: Component,
|
|
2530
2516
|
args: [{ selector: 'igo-spatial-filter-tool', changeDetection: ChangeDetectionStrategy.OnPush, imports: [
|
|
2531
2517
|
SpatialFilterTypeComponent,
|
|
2532
2518
|
SpatialFilterItemComponent,
|
|
2533
2519
|
FeatureDetailsComponent,
|
|
2534
2520
|
AsyncPipe
|
|
2535
|
-
], template: "<igo-spatial-filter-type\n [store]=\"spatialListStore\"\n [selectedQueryType]=\"queryType\"\n [layers]=\"activeLayers\"\n (eventType)=\"getOutputType($event)\"\n (eventQueryType)=\"getOutputQueryType($event)\"\n (zonesWithBufferChange)=\"onAddZoneWithBuffer($event)\"\n (bufferChange)=\"buffer = $event\"\n (measureUnitChange)=\"measureUnit = $event\"\n [zones]=\"zones\"\n (addZone)=\"onAddZone($event)\"\n (removeZone)=\"onRemovedZone($event)\"\n/>\n\n<igo-spatial-filter-item\n [type]=\"type()
|
|
2521
|
+
], template: "<igo-spatial-filter-type\n [store]=\"spatialListStore\"\n [selectedQueryType]=\"queryType\"\n [layers]=\"activeLayers\"\n (eventType)=\"getOutputType($event)\"\n (eventQueryType)=\"getOutputQueryType($event)\"\n (zonesWithBufferChange)=\"onAddZoneWithBuffer($event)\"\n (bufferChange)=\"buffer = $event\"\n (measureUnitChange)=\"measureUnit = $event\"\n [zones]=\"zones\"\n (addZone)=\"onAddZone($event)\"\n (removeZone)=\"onRemovedZone($event)\"\n/>\n\n<igo-spatial-filter-item\n [type]=\"type()!\"\n [queryType]=\"queryType\"\n [map]=\"map\"\n [zones]=\"zones\"\n [loading]=\"loading\"\n [store]=\"store\"\n [layers]=\"activeLayers\"\n [allLayers]=\"layers\"\n [thematicLength]=\"thematicLength\"\n (radiusEvent)=\"buffer = $event\"\n (bufferEvent)=\"buffer = $event\"\n (measureUnitChange)=\"measureUnit = $event\"\n (freehandControl)=\"freehandDrawIsActive.set($event)\"\n (drawZoneEvent)=\"this.zones = [$event]\"\n (zonesWithBufferChange)=\"onAddZoneWithBuffer($event)\"\n (itemTypeChange)=\"itemType.set($event)\"\n (thematicChange)=\"thematics = $event\"\n (toggleSearch)=\"getOutputToggleSearch()\"\n (clearButtonEvent)=\"clearMap()\"\n (clearSearchEvent)=\"getOutputClearSearch()\"\n (export)=\"activateExportTool()\"\n (openWorkspace)=\"activateWorkspace()\"\n (entityChange)=\"activateWorkspace($event)\"\n/>\n@if (selectedFeature$ | async; as feature) {\n <igo-feature-details [feature]=\"feature\" />\n}\n", styles: [":host igo-spatial-filter-item{display:block;padding:0 12px}:host ::ng-deep .mat-mdc-tab-body-wrapper{margin-top:12px;padding:0 12px}\n"] }]
|
|
2536
2522
|
}], propDecorators: { type: [{ type: i0.Input, args: [{ isSignal: true, alias: "type", required: false }] }, { type: i0.Output, args: ["typeChange"] }], itemType: [{ type: i0.Input, args: [{ isSignal: true, alias: "itemType", required: false }] }, { type: i0.Output, args: ["itemTypeChange"] }], freehandDrawIsActive: [{ type: i0.Input, args: [{ isSignal: true, alias: "freehandDrawIsActive", required: false }] }, { type: i0.Output, args: ["freehandDrawIsActiveChange"] }] } });
|
|
2537
2523
|
|
|
2538
2524
|
let TimeFilterToolComponent = class TimeFilterToolComponent {
|
|
2539
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.
|
|
2540
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.
|
|
2525
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: TimeFilterToolComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
2526
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.23", type: TimeFilterToolComponent, isStandalone: true, selector: "igo-time-filter-tool", ngImport: i0, template: "<igo-time-filter-list igoTimeFilterListBinding />\n", dependencies: [{ kind: "component", type: TimeFilterListComponent, selector: "igo-time-filter-list", inputs: ["layers"], outputs: ["layersChange"] }, { kind: "directive", type: TimeFilterListBindingDirective, selector: "[igoTimeFilterListBinding]" }] });
|
|
2541
2527
|
};
|
|
2542
2528
|
TimeFilterToolComponent = __decorate([
|
|
2543
2529
|
ToolComponent({
|
|
@@ -2546,7 +2532,7 @@ TimeFilterToolComponent = __decorate([
|
|
|
2546
2532
|
icon: 'history'
|
|
2547
2533
|
})
|
|
2548
2534
|
], TimeFilterToolComponent);
|
|
2549
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
2535
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: TimeFilterToolComponent, decorators: [{
|
|
2550
2536
|
type: Component,
|
|
2551
2537
|
args: [{ selector: 'igo-time-filter-tool', imports: [TimeFilterListComponent, TimeFilterListBindingDirective], template: "<igo-time-filter-list igoTimeFilterListBinding />\n" }]
|
|
2552
2538
|
}] });
|
|
@@ -2561,8 +2547,8 @@ class IgoAppFilterModule {
|
|
|
2561
2547
|
providers: []
|
|
2562
2548
|
};
|
|
2563
2549
|
}
|
|
2564
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.
|
|
2565
|
-
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.
|
|
2550
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: IgoAppFilterModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
2551
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.23", ngImport: i0, type: IgoAppFilterModule, imports: [OgcFilterToolComponent,
|
|
2566
2552
|
ActiveOgcFilterToolComponent,
|
|
2567
2553
|
TimeFilterToolComponent,
|
|
2568
2554
|
ActiveTimeFilterToolComponent,
|
|
@@ -2571,13 +2557,13 @@ class IgoAppFilterModule {
|
|
|
2571
2557
|
TimeFilterToolComponent,
|
|
2572
2558
|
ActiveTimeFilterToolComponent,
|
|
2573
2559
|
SpatialFilterToolComponent] });
|
|
2574
|
-
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.
|
|
2560
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: IgoAppFilterModule, imports: [OgcFilterToolComponent,
|
|
2575
2561
|
ActiveOgcFilterToolComponent,
|
|
2576
2562
|
TimeFilterToolComponent,
|
|
2577
2563
|
ActiveTimeFilterToolComponent,
|
|
2578
2564
|
SpatialFilterToolComponent] });
|
|
2579
2565
|
}
|
|
2580
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
2566
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: IgoAppFilterModule, decorators: [{
|
|
2581
2567
|
type: NgModule,
|
|
2582
2568
|
args: [{
|
|
2583
2569
|
imports: [
|
|
@@ -2606,7 +2592,7 @@ let DataIssueReporterToolComponent = class DataIssueReporterToolComponent {
|
|
|
2606
2592
|
/**
|
|
2607
2593
|
* Url to report the data issue. Use the Post protocol to send the form.
|
|
2608
2594
|
*/
|
|
2609
|
-
url = input(
|
|
2595
|
+
url = input(...(ngDevMode ? [undefined, { debugName: "url" }] : /* istanbul ignore next */ []));
|
|
2610
2596
|
/**
|
|
2611
2597
|
* Map to link to the form
|
|
2612
2598
|
* @internal
|
|
@@ -2714,10 +2700,10 @@ let DataIssueReporterToolComponent = class DataIssueReporterToolComponent {
|
|
|
2714
2700
|
});
|
|
2715
2701
|
}
|
|
2716
2702
|
ngOnDestroy() {
|
|
2717
|
-
this.valueChanges
|
|
2703
|
+
this.valueChanges$$?.unsubscribe();
|
|
2718
2704
|
}
|
|
2719
2705
|
clearForm() {
|
|
2720
|
-
this.form$.value
|
|
2706
|
+
this.form$.value?.control.reset();
|
|
2721
2707
|
}
|
|
2722
2708
|
onSubmit(data) {
|
|
2723
2709
|
const submitTitle = 'igo.integration.dataIssueReporterTool.submit.title';
|
|
@@ -2733,8 +2719,8 @@ let DataIssueReporterToolComponent = class DataIssueReporterToolComponent {
|
|
|
2733
2719
|
this.clearForm();
|
|
2734
2720
|
}
|
|
2735
2721
|
}
|
|
2736
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.
|
|
2737
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.
|
|
2722
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: DataIssueReporterToolComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
2723
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.23", type: DataIssueReporterToolComponent, isStandalone: false, selector: "igo-issue-reporter-tool", inputs: { url: { classPropertyName: "url", publicName: "url", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "@if (form$ | async; as form) {\n <igo-form\n [form]=\"form\"\n [formData]=\"(data$ | async)!\"\n (submitForm)=\"onSubmit($any($event))\"\n >\n @if (form.fields.length) {\n <div class=\"form-container\">\n @for (field of form.fields; track field) {\n <igo-form-field [field]=\"field\" />\n }\n </div>\n }\n <div formButtons class=\"actions-container\">\n <button\n mat-stroked-button\n type=\"button\"\n color=\"primary\"\n (click)=\"clearForm()\"\n >\n {{ 'igo.integration.dataIssueReporterTool.reset.button' | translate }}\n </button>\n <button\n matButton=\"filled\"\n type=\"submit\"\n color=\"primary\"\n [disabled]=\"submitDisabled\"\n >\n {{ 'igo.integration.dataIssueReporterTool.submit.button' | translate }}\n </button>\n </div>\n </igo-form>\n}\n", styles: [":host .actions-container{display:flex;flex-direction:column;gap:8px;align-items:center;justify-content:center}:host .form-container{width:100%;padding:10px}:host .form-container igo-form-field{display:block;height:auto}\n"], dependencies: [{ 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: i2$1.FormFieldComponent, selector: "igo-form-field", inputs: ["field"] }, { kind: "component", type: i2$1.FormComponent, selector: "igo-form", inputs: ["form", "formData", "autocomplete"], outputs: ["submitForm"] }, { kind: "pipe", type: i3$2.AsyncPipe, name: "async" }, { kind: "pipe", type: i3$1.TranslatePipe, name: "translate" }] });
|
|
2738
2724
|
};
|
|
2739
2725
|
DataIssueReporterToolComponent = __decorate([
|
|
2740
2726
|
ToolComponent({
|
|
@@ -2743,34 +2729,20 @@ DataIssueReporterToolComponent = __decorate([
|
|
|
2743
2729
|
icon: 'feedback'
|
|
2744
2730
|
})
|
|
2745
2731
|
], DataIssueReporterToolComponent);
|
|
2746
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
2732
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: DataIssueReporterToolComponent, decorators: [{
|
|
2747
2733
|
type: Component,
|
|
2748
|
-
args: [{ selector: 'igo-issue-reporter-tool', standalone: false, template: "@if (form$ | async; as form) {\n <igo-form\n [form]=\"form\"\n [formData]=\"data$ | async
|
|
2734
|
+
args: [{ selector: 'igo-issue-reporter-tool', standalone: false, template: "@if (form$ | async; as form) {\n <igo-form\n [form]=\"form\"\n [formData]=\"(data$ | async)!\"\n (submitForm)=\"onSubmit($any($event))\"\n >\n @if (form.fields.length) {\n <div class=\"form-container\">\n @for (field of form.fields; track field) {\n <igo-form-field [field]=\"field\" />\n }\n </div>\n }\n <div formButtons class=\"actions-container\">\n <button\n mat-stroked-button\n type=\"button\"\n color=\"primary\"\n (click)=\"clearForm()\"\n >\n {{ 'igo.integration.dataIssueReporterTool.reset.button' | translate }}\n </button>\n <button\n matButton=\"filled\"\n type=\"submit\"\n color=\"primary\"\n [disabled]=\"submitDisabled\"\n >\n {{ 'igo.integration.dataIssueReporterTool.submit.button' | translate }}\n </button>\n </div>\n </igo-form>\n}\n", styles: [":host .actions-container{display:flex;flex-direction:column;gap:8px;align-items:center;justify-content:center}:host .form-container{width:100%;padding:10px}:host .form-container igo-form-field{display:block;height:auto}\n"] }]
|
|
2749
2735
|
}], propDecorators: { url: [{ type: i0.Input, args: [{ isSignal: true, alias: "url", required: false }] }] } });
|
|
2750
2736
|
|
|
2751
2737
|
class IgoAppGeometryFormModule {
|
|
2752
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.
|
|
2753
|
-
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.
|
|
2754
|
-
|
|
2755
|
-
IgoLanguageModule,
|
|
2756
|
-
IgoFormModule,
|
|
2757
|
-
IgoMessageModule], exports: [DataIssueReporterToolComponent] });
|
|
2758
|
-
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.10", ngImport: i0, type: IgoAppGeometryFormModule, imports: [CommonModule,
|
|
2759
|
-
MatButtonModule,
|
|
2760
|
-
IgoLanguageModule,
|
|
2761
|
-
IgoFormModule,
|
|
2762
|
-
IgoMessageModule] });
|
|
2738
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: IgoAppGeometryFormModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
2739
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.23", ngImport: i0, type: IgoAppGeometryFormModule, declarations: [DataIssueReporterToolComponent], imports: [CommonModule, MatButtonModule, IgoLanguageModule, IgoFormModule], exports: [DataIssueReporterToolComponent] });
|
|
2740
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: IgoAppGeometryFormModule, imports: [CommonModule, MatButtonModule, IgoLanguageModule, IgoFormModule] });
|
|
2763
2741
|
}
|
|
2764
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
2742
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: IgoAppGeometryFormModule, decorators: [{
|
|
2765
2743
|
type: NgModule,
|
|
2766
2744
|
args: [{
|
|
2767
|
-
imports: [
|
|
2768
|
-
CommonModule,
|
|
2769
|
-
MatButtonModule,
|
|
2770
|
-
IgoLanguageModule,
|
|
2771
|
-
IgoFormModule,
|
|
2772
|
-
IgoMessageModule
|
|
2773
|
-
],
|
|
2745
|
+
imports: [CommonModule, MatButtonModule, IgoLanguageModule, IgoFormModule],
|
|
2774
2746
|
declarations: [DataIssueReporterToolComponent],
|
|
2775
2747
|
exports: [DataIssueReporterToolComponent],
|
|
2776
2748
|
schemas: []
|
|
@@ -2782,7 +2754,7 @@ let ImportExportToolComponent = class ImportExportToolComponent {
|
|
|
2782
2754
|
importExportState = inject(ImportExportState);
|
|
2783
2755
|
workspaceState = inject(WorkspaceState);
|
|
2784
2756
|
contextState = inject(ContextState);
|
|
2785
|
-
projectionsLimitations = input(
|
|
2757
|
+
projectionsLimitations = input(...(ngDevMode ? [undefined, { debugName: "projectionsLimitations" }] : /* istanbul ignore next */ []));
|
|
2786
2758
|
selectFirstProj = input(false, ...(ngDevMode ? [{ debugName: "selectFirstProj" }] : /* istanbul ignore next */ []));
|
|
2787
2759
|
/**
|
|
2788
2760
|
* Map to measure on
|
|
@@ -2831,8 +2803,8 @@ let ImportExportToolComponent = class ImportExportToolComponent {
|
|
|
2831
2803
|
importExportTypeChange(event) {
|
|
2832
2804
|
this.importExportType.set(event.value);
|
|
2833
2805
|
}
|
|
2834
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.
|
|
2835
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.
|
|
2806
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: ImportExportToolComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
2807
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.23", type: ImportExportToolComponent, isStandalone: true, selector: "igo-import-export-tool", inputs: { projectionsLimitations: { classPropertyName: "projectionsLimitations", publicName: "projectionsLimitations", isSignal: true, isRequired: false, transformFunction: null }, selectFirstProj: { classPropertyName: "selectFirstProj", publicName: "selectFirstProj", isSignal: true, isRequired: false, transformFunction: null }, importExportType: { classPropertyName: "importExportType", publicName: "importExportType", isSignal: true, isRequired: false, transformFunction: null }, importExportShowBothType: { classPropertyName: "importExportShowBothType", publicName: "importExportShowBothType", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { importExportType: "importExportTypeChange" }, ngImport: i0, template: "@if (importExportShowBothType()) {\n <mat-tab-group>\n <mat-tab\n [label]=\"'igo.integration.importExportTool.importExportData' | translate\"\n >\n <igo-import-export\n [contextUri]=\"(contextState.context$ | async)?.uri\"\n [map]=\"map\"\n [selectFirstProj]=\"selectFirstProj()\"\n [projectionsLimitations]=\"projectionsLimitations()\"\n [store]=\"workspaceStore\"\n [selectedMode]=\"(importExportState.selectedMode$ | async)!\"\n (selectMode)=\"modeChanged($any($event))\"\n [exportOptions$]=\"importExportState.exportOptions$\"\n (exportOptionsChange)=\"exportOptionsChange($event)\"\n />\n </mat-tab>\n <mat-tab\n [label]=\"\n 'igo.integration.importExportTool.importExportContext' | translate\n \"\n >\n <igo-context-import-export [map]=\"map\" />\n </mat-tab>\n </mat-tab-group>\n}\n\n@if (!importExportShowBothType() && importExportType() === 'layer') {\n <igo-import-export\n [contextUri]=\"(contextState.context$ | async)?.uri\"\n [map]=\"map\"\n [store]=\"workspaceStore\"\n [selectedMode]=\"(importExportState.selectedMode$ | async)!\"\n (selectMode)=\"modeChanged($any($event))\"\n [exportOptions$]=\"importExportState.exportOptions$\"\n (exportOptionsChange)=\"exportOptionsChange($event)\"\n />\n}\n\n@if (!importExportShowBothType() && importExportType() === 'context') {\n <igo-context-import-export [map]=\"map\" />\n}\n", styles: ["mat-form-field{width:100%}\n"], dependencies: [{ kind: "ngmodule", type: MatTabsModule }, { kind: "component", type: i1$2.MatTab, selector: "mat-tab", inputs: ["disabled", "label", "aria-label", "aria-labelledby", "labelClass", "bodyClass", "id"], exportAs: ["matTab"] }, { kind: "component", type: i1$2.MatTabGroup, selector: "mat-tab-group", inputs: ["color", "fitInkBarToContent", "mat-stretch-tabs", "mat-align-tabs", "dynamicHeight", "selectedIndex", "headerPosition", "animationDuration", "contentTabIndex", "disablePagination", "disableRipple", "preserveContent", "backgroundColor", "aria-label", "aria-labelledby"], outputs: ["selectedIndexChange", "focusChange", "animationDone", "selectedTabChange"], exportAs: ["matTabGroup"] }, { kind: "component", type: ImportExportComponent, selector: "igo-import-export", inputs: ["selectFirstProj", "map", "contextUri", "projectionsLimitations", "store", "selectedMode", "exportOptions$"], outputs: ["selectedModeChange", "selectMode", "exportOptionsChange"] }, { kind: "component", type: ContextImportExportComponent, selector: "igo-context-import-export", inputs: ["map"] }, { kind: "ngmodule", type: IgoLanguageModule }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: i3$1.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
2836
2808
|
};
|
|
2837
2809
|
ImportExportToolComponent = __decorate([
|
|
2838
2810
|
ToolComponent({
|
|
@@ -2841,7 +2813,7 @@ ImportExportToolComponent = __decorate([
|
|
|
2841
2813
|
icon: 'file_save'
|
|
2842
2814
|
})
|
|
2843
2815
|
], ImportExportToolComponent);
|
|
2844
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
2816
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: ImportExportToolComponent, decorators: [{
|
|
2845
2817
|
type: Component,
|
|
2846
2818
|
args: [{ selector: 'igo-import-export-tool', changeDetection: ChangeDetectionStrategy.OnPush, imports: [
|
|
2847
2819
|
MatTabsModule,
|
|
@@ -2849,7 +2821,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.10", ngImpo
|
|
|
2849
2821
|
ContextImportExportComponent,
|
|
2850
2822
|
AsyncPipe,
|
|
2851
2823
|
IgoLanguageModule
|
|
2852
|
-
], template: "@if (importExportShowBothType()) {\n <mat-tab-group>\n <mat-tab\n [label]=\"'igo.integration.importExportTool.importExportData' | translate\"\n >\n <igo-import-export\n [contextUri]=\"(contextState.context$ | async)
|
|
2824
|
+
], template: "@if (importExportShowBothType()) {\n <mat-tab-group>\n <mat-tab\n [label]=\"'igo.integration.importExportTool.importExportData' | translate\"\n >\n <igo-import-export\n [contextUri]=\"(contextState.context$ | async)?.uri\"\n [map]=\"map\"\n [selectFirstProj]=\"selectFirstProj()\"\n [projectionsLimitations]=\"projectionsLimitations()\"\n [store]=\"workspaceStore\"\n [selectedMode]=\"(importExportState.selectedMode$ | async)!\"\n (selectMode)=\"modeChanged($any($event))\"\n [exportOptions$]=\"importExportState.exportOptions$\"\n (exportOptionsChange)=\"exportOptionsChange($event)\"\n />\n </mat-tab>\n <mat-tab\n [label]=\"\n 'igo.integration.importExportTool.importExportContext' | translate\n \"\n >\n <igo-context-import-export [map]=\"map\" />\n </mat-tab>\n </mat-tab-group>\n}\n\n@if (!importExportShowBothType() && importExportType() === 'layer') {\n <igo-import-export\n [contextUri]=\"(contextState.context$ | async)?.uri\"\n [map]=\"map\"\n [store]=\"workspaceStore\"\n [selectedMode]=\"(importExportState.selectedMode$ | async)!\"\n (selectMode)=\"modeChanged($any($event))\"\n [exportOptions$]=\"importExportState.exportOptions$\"\n (exportOptionsChange)=\"exportOptionsChange($event)\"\n />\n}\n\n@if (!importExportShowBothType() && importExportType() === 'context') {\n <igo-context-import-export [map]=\"map\" />\n}\n", styles: ["mat-form-field{width:100%}\n"] }]
|
|
2853
2825
|
}], propDecorators: { projectionsLimitations: [{ type: i0.Input, args: [{ isSignal: true, alias: "projectionsLimitations", required: false }] }], selectFirstProj: [{ type: i0.Input, args: [{ isSignal: true, alias: "selectFirstProj", required: false }] }], importExportType: [{ type: i0.Input, args: [{ isSignal: true, alias: "importExportType", required: false }] }, { type: i0.Output, args: ["importExportTypeChange"] }], importExportShowBothType: [{ type: i0.Input, args: [{ isSignal: true, alias: "importExportShowBothType", required: false }] }] } });
|
|
2854
2826
|
|
|
2855
2827
|
/**
|
|
@@ -2862,11 +2834,11 @@ class IgoAppImportExportModule {
|
|
|
2862
2834
|
providers: []
|
|
2863
2835
|
};
|
|
2864
2836
|
}
|
|
2865
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.
|
|
2866
|
-
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.
|
|
2867
|
-
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.
|
|
2837
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: IgoAppImportExportModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
2838
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.23", ngImport: i0, type: IgoAppImportExportModule, imports: [ImportExportToolComponent], exports: [ImportExportToolComponent] });
|
|
2839
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: IgoAppImportExportModule, imports: [ImportExportToolComponent] });
|
|
2868
2840
|
}
|
|
2869
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
2841
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: IgoAppImportExportModule, decorators: [{
|
|
2870
2842
|
type: NgModule,
|
|
2871
2843
|
args: [{
|
|
2872
2844
|
imports: [ImportExportToolComponent],
|
|
@@ -2895,10 +2867,13 @@ class AdvancedCoordinatesComponent {
|
|
|
2895
2867
|
inLambert2 = { 32198: true, 3798: true };
|
|
2896
2868
|
mapState$$;
|
|
2897
2869
|
formStatus$$;
|
|
2898
|
-
|
|
2899
|
-
projectionsConstraints;
|
|
2870
|
+
projectionsLimitations = input({}, { ...(ngDevMode ? { debugName: "projectionsLimitations" } : /* istanbul ignore next */ {}), transform: (value) => value ?? {} });
|
|
2900
2871
|
defaultProj;
|
|
2901
|
-
currentZones = {
|
|
2872
|
+
currentZones = {
|
|
2873
|
+
utm: undefined,
|
|
2874
|
+
mtm: undefined
|
|
2875
|
+
};
|
|
2876
|
+
projectionsConstraints;
|
|
2902
2877
|
units = true;
|
|
2903
2878
|
get map() {
|
|
2904
2879
|
return this.mapState.map;
|
|
@@ -2909,12 +2884,6 @@ class AdvancedCoordinatesComponent {
|
|
|
2909
2884
|
set inputProj(value) {
|
|
2910
2885
|
this.form.patchValue({ inputProj: value });
|
|
2911
2886
|
}
|
|
2912
|
-
get projectionsLimitations() {
|
|
2913
|
-
return this._projectionsLimitations || {};
|
|
2914
|
-
}
|
|
2915
|
-
set projectionsLimitations(value) {
|
|
2916
|
-
this._projectionsLimitations = value;
|
|
2917
|
-
}
|
|
2918
2887
|
constructor() {
|
|
2919
2888
|
this.defaultProj = {
|
|
2920
2889
|
translatedValue: this.languageService.translate.instant('igo.geo.importExportForm.projections.wgs84', { code: 'EPSG:4326' }),
|
|
@@ -3068,7 +3037,7 @@ class AdvancedCoordinatesComponent {
|
|
|
3068
3037
|
* Create a list of currents projections
|
|
3069
3038
|
*/
|
|
3070
3039
|
computeProjections() {
|
|
3071
|
-
this.projectionsConstraints = computeProjectionsConstraints(this.projectionsLimitations);
|
|
3040
|
+
this.projectionsConstraints = computeProjectionsConstraints(this.projectionsLimitations());
|
|
3072
3041
|
const projections = [];
|
|
3073
3042
|
if (!this.currentCenterDefaultProj) {
|
|
3074
3043
|
this.currentCenterDefaultProj = this.map.viewController.getCenter(this.defaultProj.code);
|
|
@@ -3153,7 +3122,7 @@ class AdvancedCoordinatesComponent {
|
|
|
3153
3122
|
* @param projections Array of the InputProjections
|
|
3154
3123
|
*/
|
|
3155
3124
|
pushMtm(projections) {
|
|
3156
|
-
if (this.projectionsConstraints
|
|
3125
|
+
if (this.projectionsConstraints?.mtm) {
|
|
3157
3126
|
const zone = zoneMtm(this.currentCenterDefaultProj[0]);
|
|
3158
3127
|
const code = zone < 10 ? `EPSG:3218${zone}` : `EPSG:321${80 + zone}`;
|
|
3159
3128
|
projections.splice(3, 0, {
|
|
@@ -3230,13 +3199,20 @@ class AdvancedCoordinatesComponent {
|
|
|
3230
3199
|
lambertProjections.forEach((projection) => {
|
|
3231
3200
|
let modifiedProj = this.projections$.value;
|
|
3232
3201
|
const extent = projection.extent;
|
|
3233
|
-
const
|
|
3234
|
-
const
|
|
3202
|
+
const codeMatch = projection.code.match(/\d+/);
|
|
3203
|
+
const code = codeMatch?.[0];
|
|
3204
|
+
if (!extent ||
|
|
3205
|
+
!olproj.get(projection.code) ||
|
|
3206
|
+
!olproj.get(this.defaultProj.code)) {
|
|
3207
|
+
return;
|
|
3208
|
+
}
|
|
3209
|
+
const currentExtentWGS = olproj.transformExtent(extent, projection.code, this.defaultProj.code);
|
|
3235
3210
|
if (coordinates[0] < currentExtentWGS[0] ||
|
|
3236
3211
|
coordinates[0] > currentExtentWGS[2] ||
|
|
3237
3212
|
coordinates[1] < currentExtentWGS[1] ||
|
|
3238
3213
|
coordinates[1] > currentExtentWGS[3]) {
|
|
3239
|
-
|
|
3214
|
+
if (code)
|
|
3215
|
+
this.inLambert2[code] = false;
|
|
3240
3216
|
if (this.inputProj.alias === projection.alias) {
|
|
3241
3217
|
this.inputProj = this.projections$.value[0];
|
|
3242
3218
|
}
|
|
@@ -3244,17 +3220,17 @@ class AdvancedCoordinatesComponent {
|
|
|
3244
3220
|
this.projections$.next(modifiedProj);
|
|
3245
3221
|
}
|
|
3246
3222
|
else {
|
|
3247
|
-
if (!this.inLambert2[code]) {
|
|
3223
|
+
if (code && !this.inLambert2[code]) {
|
|
3248
3224
|
this.projections$.next(modifiedProj.concat(projection));
|
|
3249
3225
|
this.inLambert2[code] = true;
|
|
3250
3226
|
}
|
|
3251
3227
|
}
|
|
3252
3228
|
});
|
|
3253
3229
|
}
|
|
3254
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.
|
|
3255
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.
|
|
3230
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: AdvancedCoordinatesComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
3231
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.23", type: AdvancedCoordinatesComponent, isStandalone: true, selector: "igo-advanced-coordinates", inputs: { projectionsLimitations: { classPropertyName: "projectionsLimitations", publicName: "projectionsLimitations", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "<div class=\"advanced-coordinates__coordinates-container\">\n <div class=\"advanced-coordinates__coordinates-container__inner\">\n @if (units) {\n <mat-form-field subscriptSizing=\"dynamic\">\n <mat-label>{{\n 'igo.integration.advanced-map-tool.advanced-coordinates.lon'\n | translate\n }}</mat-label>\n <textarea\n #textArea\n matInput\n readonly\n rows=\"1\"\n [placeholder]=\"\n 'igo.integration.advanced-map-tool.advanced-coordinates.lon'\n | translate\n \"\n [value]=\"coordinates[0]\"\n ></textarea>\n </mat-form-field>\n } @else {\n <mat-form-field subscriptSizing=\"dynamic\">\n <textarea\n #textArea\n matInput\n readonly\n rows=\"1\"\n [placeholder]=\"\n 'igo.integration.advanced-map-tool.advanced-coordinates.est'\n | translate\n \"\n [value]=\"coordinates[0]\"\n ></textarea>\n </mat-form-field>\n }\n\n @if (units) {\n <mat-form-field subscriptSizing=\"dynamic\">\n <mat-label>{{\n 'igo.integration.advanced-map-tool.advanced-coordinates.lat'\n | translate\n }}</mat-label>\n <textarea\n #textArea\n matInput\n readonly\n rows=\"1\"\n [placeholder]=\"\n 'igo.integration.advanced-map-tool.advanced-coordinates.lat'\n | translate\n \"\n [value]=\"coordinates[1]\"\n ></textarea>\n </mat-form-field>\n } @else {\n <mat-form-field subscriptSizing=\"dynamic\">\n <textarea\n #textArea\n matInput\n readonly\n rows=\"1\"\n [placeholder]=\"\n 'igo.integration.advanced-map-tool.advanced-coordinates.nord'\n | translate\n \"\n [value]=\"coordinates[1]\"\n ></textarea>\n </mat-form-field>\n }\n <button\n mat-icon-button\n [attr.aria-label]=\"\n 'igo.integration.advanced-map-tool.advanced-coordinates.copy'\n | translate\n \"\n class=\"igo-form-button-group advanced-coordinates__copy-coordinates\"\n (click)=\"copyTextToClipboard()\"\n >\n <mat-icon>content_copy</mat-icon>\n </button>\n </div>\n\n <form class=\"igo-form advanced-coordinates__form\" [formGroup]=\"form\">\n <div class=\"advanced-coordinates__coordinates-container__inner\">\n <mat-form-field class=\"igo-input-container\" subscriptSizing=\"dynamic\">\n <mat-label>{{\n 'igo.integration.advanced-map-tool.advanced-coordinates.coordSystem'\n | translate\n }}</mat-label>\n <mat-select [(value)]=\"inputProj\">\n @for (projection of projections$ | async; track projection) {\n <mat-option\n matTooltipShowDelay=\"500\"\n [value]=\"projection\"\n (click)=\"$event.stopPropagation()\"\n >\n {{ projection.translatedValue || projection.alias }}\n </mat-option>\n }\n </mat-select>\n </mat-form-field>\n </div>\n <div class=\"advanced-coordinates__coordinates-container__inner\">\n <mat-slide-toggle\n class=\"center-toggle\"\n [checked]=\"center\"\n [labelPosition]=\"'before'\"\n (change)=\"displayCenter($event.checked)\"\n >\n {{\n 'igo.integration.advanced-map-tool.advanced-coordinates.center'\n | translate\n }}\n </mat-slide-toggle>\n </div>\n </form>\n\n <p class=\"igo-zoom\">\n {{\n 'igo.integration.advanced-map-tool.advanced-coordinates.zoom' | translate\n }}\n {{ map.viewController.getZoom() }}\n </p>\n <p class=\"igo-zoom\">\n {{\n 'igo.integration.advanced-map-tool.advanced-coordinates.scale' | translate\n }}\n {{ formattedScale$ | async }}\n </p>\n <p class=\"igo-zoom\">\n {{\n 'igo.integration.advanced-map-tool.advanced-coordinates.resolution'\n | translate\n }}\n {{ map.viewController.getResolution() | number: '1.0-0' }}\n </p>\n</div>\n", styles: [":host{padding:12px 0}textarea{resize:none}.advanced-coordinates__coordinates-container{width:100%;display:flex;flex-direction:column;padding:12px 0}.advanced-coordinates__coordinates-container__inner{display:flex;align-items:center;margin-bottom:16px}.advanced-coordinates__coordinates-container__inner mat-form-field{flex:1}.advanced-coordinates__coordinates-container__inner mat-form-field:not(:first-child),.advanced-coordinates__coordinates-container__inner button:not(:first-child){margin-left:8px}.advanced-coordinates__form{display:flex;flex-direction:column}.advanced-coordinates__form mat-slide-toggle{flex:1}.advanced-coordinates__form mat-slide-toggle ::ng-deep .mdc-form-field{display:flex;justify-content:space-between}.advanced-coordinates__form mat-slide-toggle ::ng-deep .mdc-label{flex:1}\n"], dependencies: [{ kind: "ngmodule", type: MatFormFieldModule }, { kind: "component", type: i1$3.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i1$3.MatLabel, selector: "mat-label" }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i2$2.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly", "disabledInteractive"], exportAs: ["matInput"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: 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: FormsModule }, { kind: "directive", type: i1$4.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$4.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],[formArray],form:not([ngNoForm]),[ngForm]" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$4.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: MatSelectModule }, { kind: "component", type: i6.MatSelect, selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth", "canSelectNullableOptions"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "component", type: i6.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "ngmodule", type: MatOptionModule }, { kind: "ngmodule", type: MatSlideToggleModule }, { kind: "component", type: i7.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: IgoLanguageModule }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: DecimalPipe, name: "number" }, { kind: "pipe", type: i3$1.TranslatePipe, name: "translate" }] });
|
|
3256
3232
|
}
|
|
3257
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
3233
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: AdvancedCoordinatesComponent, decorators: [{
|
|
3258
3234
|
type: Component,
|
|
3259
3235
|
args: [{ selector: 'igo-advanced-coordinates', imports: [
|
|
3260
3236
|
MatFormFieldModule,
|
|
@@ -3270,9 +3246,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.10", ngImpo
|
|
|
3270
3246
|
DecimalPipe,
|
|
3271
3247
|
IgoLanguageModule
|
|
3272
3248
|
], template: "<div class=\"advanced-coordinates__coordinates-container\">\n <div class=\"advanced-coordinates__coordinates-container__inner\">\n @if (units) {\n <mat-form-field subscriptSizing=\"dynamic\">\n <mat-label>{{\n 'igo.integration.advanced-map-tool.advanced-coordinates.lon'\n | translate\n }}</mat-label>\n <textarea\n #textArea\n matInput\n readonly\n rows=\"1\"\n [placeholder]=\"\n 'igo.integration.advanced-map-tool.advanced-coordinates.lon'\n | translate\n \"\n [value]=\"coordinates[0]\"\n ></textarea>\n </mat-form-field>\n } @else {\n <mat-form-field subscriptSizing=\"dynamic\">\n <textarea\n #textArea\n matInput\n readonly\n rows=\"1\"\n [placeholder]=\"\n 'igo.integration.advanced-map-tool.advanced-coordinates.est'\n | translate\n \"\n [value]=\"coordinates[0]\"\n ></textarea>\n </mat-form-field>\n }\n\n @if (units) {\n <mat-form-field subscriptSizing=\"dynamic\">\n <mat-label>{{\n 'igo.integration.advanced-map-tool.advanced-coordinates.lat'\n | translate\n }}</mat-label>\n <textarea\n #textArea\n matInput\n readonly\n rows=\"1\"\n [placeholder]=\"\n 'igo.integration.advanced-map-tool.advanced-coordinates.lat'\n | translate\n \"\n [value]=\"coordinates[1]\"\n ></textarea>\n </mat-form-field>\n } @else {\n <mat-form-field subscriptSizing=\"dynamic\">\n <textarea\n #textArea\n matInput\n readonly\n rows=\"1\"\n [placeholder]=\"\n 'igo.integration.advanced-map-tool.advanced-coordinates.nord'\n | translate\n \"\n [value]=\"coordinates[1]\"\n ></textarea>\n </mat-form-field>\n }\n <button\n mat-icon-button\n [attr.aria-label]=\"\n 'igo.integration.advanced-map-tool.advanced-coordinates.copy'\n | translate\n \"\n class=\"igo-form-button-group advanced-coordinates__copy-coordinates\"\n (click)=\"copyTextToClipboard()\"\n >\n <mat-icon>content_copy</mat-icon>\n </button>\n </div>\n\n <form class=\"igo-form advanced-coordinates__form\" [formGroup]=\"form\">\n <div class=\"advanced-coordinates__coordinates-container__inner\">\n <mat-form-field class=\"igo-input-container\" subscriptSizing=\"dynamic\">\n <mat-label>{{\n 'igo.integration.advanced-map-tool.advanced-coordinates.coordSystem'\n | translate\n }}</mat-label>\n <mat-select [(value)]=\"inputProj\">\n @for (projection of projections$ | async; track projection) {\n <mat-option\n matTooltipShowDelay=\"500\"\n [value]=\"projection\"\n (click)=\"$event.stopPropagation()\"\n >\n {{ projection.translatedValue || projection.alias }}\n </mat-option>\n }\n </mat-select>\n </mat-form-field>\n </div>\n <div class=\"advanced-coordinates__coordinates-container__inner\">\n <mat-slide-toggle\n class=\"center-toggle\"\n [checked]=\"center\"\n [labelPosition]=\"'before'\"\n (change)=\"displayCenter($event.checked)\"\n >\n {{\n 'igo.integration.advanced-map-tool.advanced-coordinates.center'\n | translate\n }}\n </mat-slide-toggle>\n </div>\n </form>\n\n <p class=\"igo-zoom\">\n {{\n 'igo.integration.advanced-map-tool.advanced-coordinates.zoom' | translate\n }}\n {{ map.viewController.getZoom() }}\n </p>\n <p class=\"igo-zoom\">\n {{\n 'igo.integration.advanced-map-tool.advanced-coordinates.scale' | translate\n }}\n {{ formattedScale$ | async }}\n </p>\n <p class=\"igo-zoom\">\n {{\n 'igo.integration.advanced-map-tool.advanced-coordinates.resolution'\n | translate\n }}\n {{ map.viewController.getResolution() | number: '1.0-0' }}\n </p>\n</div>\n", styles: [":host{padding:12px 0}textarea{resize:none}.advanced-coordinates__coordinates-container{width:100%;display:flex;flex-direction:column;padding:12px 0}.advanced-coordinates__coordinates-container__inner{display:flex;align-items:center;margin-bottom:16px}.advanced-coordinates__coordinates-container__inner mat-form-field{flex:1}.advanced-coordinates__coordinates-container__inner mat-form-field:not(:first-child),.advanced-coordinates__coordinates-container__inner button:not(:first-child){margin-left:8px}.advanced-coordinates__form{display:flex;flex-direction:column}.advanced-coordinates__form mat-slide-toggle{flex:1}.advanced-coordinates__form mat-slide-toggle ::ng-deep .mdc-form-field{display:flex;justify-content:space-between}.advanced-coordinates__form mat-slide-toggle ::ng-deep .mdc-label{flex:1}\n"] }]
|
|
3273
|
-
}], ctorParameters: () => [], propDecorators: { projectionsLimitations: [{
|
|
3274
|
-
type: Input
|
|
3275
|
-
}] } });
|
|
3249
|
+
}], ctorParameters: () => [], propDecorators: { projectionsLimitations: [{ type: i0.Input, args: [{ isSignal: true, alias: "projectionsLimitations", required: false }] }] } });
|
|
3276
3250
|
|
|
3277
3251
|
class AdvancedSwipeComponent {
|
|
3278
3252
|
mapState = inject(MapState);
|
|
@@ -3338,22 +3312,22 @@ class AdvancedSwipeComponent {
|
|
|
3338
3312
|
applyNewLayers(e) {
|
|
3339
3313
|
this.startSwipe(false); // l'approche KISS
|
|
3340
3314
|
this.startSwipe(true);
|
|
3341
|
-
if (e.
|
|
3342
|
-
e.
|
|
3315
|
+
if (e.selected) {
|
|
3316
|
+
e.select(false);
|
|
3343
3317
|
}
|
|
3344
3318
|
const allLayers = this.userControlledLayerList?.length;
|
|
3345
3319
|
const selectedLayers = this.form.controls.layers.value.length;
|
|
3346
3320
|
if (selectedLayers === allLayers) {
|
|
3347
|
-
e.
|
|
3321
|
+
e.select(true);
|
|
3348
3322
|
}
|
|
3349
3323
|
}
|
|
3350
3324
|
/**
|
|
3351
3325
|
* Select all list of layers and restart a tool
|
|
3352
3326
|
*/
|
|
3353
3327
|
selectAll(e) {
|
|
3354
|
-
if (e.
|
|
3328
|
+
if (e.selected) {
|
|
3355
3329
|
this.form.controls.layers.setValue(this.userControlledLayerList);
|
|
3356
|
-
e.
|
|
3330
|
+
e.select(true);
|
|
3357
3331
|
}
|
|
3358
3332
|
else {
|
|
3359
3333
|
this.form.controls.layers.setValue([]);
|
|
@@ -3379,10 +3353,10 @@ class AdvancedSwipeComponent {
|
|
|
3379
3353
|
contextEmit() {
|
|
3380
3354
|
this.toolState.toolbox.activateTool('contextManager');
|
|
3381
3355
|
}
|
|
3382
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.
|
|
3383
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.
|
|
3356
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: AdvancedSwipeComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
3357
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.23", type: AdvancedSwipeComponent, isStandalone: true, selector: "igo-advanced-swipe", ngImport: i0, template: "@if (userControlledLayerList?.length) {\n <div class=\"igo-swipe-select-container\">\n <form class=\"igo-form\" [formGroup]=\"form\">\n <mat-form-field>\n <mat-label>{{\n 'igo.integration.advanced-map-tool.advanced-swipe.swipe-select'\n | translate\n }}</mat-label>\n <mat-select formControlName=\"layers\" multiple>\n <mat-option [value]=\"1\" (click)=\"selectAll(e)\" #e>\n {{\n 'igo.integration.advanced-map-tool.advanced-swipe.selectAll'\n | translate\n }}\n </mat-option>\n <mat-divider />\n @for (layer of userControlledLayerList; track layer) {\n <mat-option [value]=\"layer\" (click)=\"applyNewLayers(e)\">{{\n layer.title\n }}</mat-option>\n }\n </mat-select>\n </mat-form-field>\n <mat-slide-toggle\n class=\"swipe-toggle\"\n [checked]=\"swipe\"\n [labelPosition]=\"'before'\"\n (change)=\"startSwipe($event.checked)\"\n >\n {{\n 'igo.integration.advanced-map-tool.advanced-swipe.swipe' | translate\n }}\n </mat-slide-toggle>\n </form>\n </div>\n} @else {\n <mat-list>\n <p class=\"map-empty\">\n {{ 'igo.integration.advanced-map-tool.advanced-swipe.empty' | translate }}\n </p>\n <p class=\"map-empty\">\n {{\n 'igo.integration.advanced-map-tool.advanced-swipe.customize' | translate\n }}\n </p>\n <mat-list-item>\n <mat-icon matListItemIcon>search</mat-icon>\n <span matListItemTitle class=\"search-tool\" (click)=\"searchEmit()\">\n {{\n 'igo.integration.advanced-map-tool.advanced-swipe.search-tool'\n | translate\n }}\n </span>\n </mat-list-item>\n <mat-list-item>\n <mat-icon matListItemIcon>library_add</mat-icon>\n <span matListItemTitle class=\"catalog-tool\" (click)=\"catalogEmit()\">\n {{\n 'igo.integration.advanced-map-tool.advanced-swipe.catalog-tool'\n | translate\n }}\n </span>\n </mat-list-item>\n <mat-list-item>\n <mat-icon matListItemIcon>star</mat-icon>\n <span matListItemTitle class=\"context-tool\" (click)=\"contextEmit()\">\n {{\n 'igo.integration.advanced-map-tool.advanced-swipe.context-tool'\n | translate\n }}\n </span>\n </mat-list-item>\n </mat-list>\n}\n", styles: [":host{padding:12px 0}:host .igo-swipe-select-container{padding:12px 0}:host .igo-swipe-select-container mat-form-field{width:100%}:host .igo-form{display:flex;flex-direction:column;width:100%}:host mat-slide-toggle{flex:1}:host mat-slide-toggle ::ng-deep .mdc-form-field{display:flex;justify-content:space-between}:host mat-slide-toggle ::ng-deep .mdc-label{flex:1}:host .map-empty{text-align:justify}:host .search-tool,:host .catalog-tool,:host .context-tool{cursor:pointer}:host mat-list mat-list-item h4{font-weight:700}:host mat-list-item ::ng-deep .mdc-list-item__primary-text{font-size:smaller}:host .advanced-tool-line{height:2px;background-color:gray}\n"], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$4.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$4.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],[formArray],form:not([ngNoForm]),[ngForm]" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$4.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$4.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "ngmodule", type: MatFormFieldModule }, { kind: "component", type: i1$3.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i1$3.MatLabel, selector: "mat-label" }, { kind: "ngmodule", type: MatSelectModule }, { kind: "component", type: i6.MatSelect, selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth", "canSelectNullableOptions"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "component", type: i6.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "ngmodule", type: MatOptionModule }, { kind: "ngmodule", type: MatDividerModule }, { kind: "component", type: i4$1.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { kind: "ngmodule", type: MatSlideToggleModule }, { kind: "component", type: i7.MatSlideToggle, selector: "mat-slide-toggle", inputs: ["name", "id", "labelPosition", "aria-label", "aria-labelledby", "aria-describedby", "required", "color", "disabled", "disableRipple", "tabIndex", "checked", "hideIcon", "disabledInteractive"], outputs: ["change", "toggleChange"], exportAs: ["matSlideToggle"] }, { kind: "ngmodule", type: MatListModule }, { kind: "component", type: i1$5.MatList, selector: "mat-list", exportAs: ["matList"] }, { kind: "component", type: i1$5.MatListItem, selector: "mat-list-item, a[mat-list-item], button[mat-list-item]", inputs: ["activated"], exportAs: ["matListItem"] }, { kind: "directive", type: i1$5.MatListItemIcon, selector: "[matListItemIcon]" }, { kind: "directive", type: i1$5.MatListItemTitle, selector: "[matListItemTitle]" }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: IgoLanguageModule }, { kind: "pipe", type: i3$1.TranslatePipe, name: "translate" }] });
|
|
3384
3358
|
}
|
|
3385
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
3359
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: AdvancedSwipeComponent, decorators: [{
|
|
3386
3360
|
type: Component,
|
|
3387
3361
|
args: [{ selector: 'igo-advanced-swipe', imports: [
|
|
3388
3362
|
FormsModule,
|
|
@@ -3418,8 +3392,8 @@ let AdvancedMapToolComponent = class AdvancedMapToolComponent {
|
|
|
3418
3392
|
}
|
|
3419
3393
|
this.mapState.map.geolocationController.followPosition = value;
|
|
3420
3394
|
}
|
|
3421
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.
|
|
3422
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.
|
|
3395
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: AdvancedMapToolComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
3396
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.23", type: AdvancedMapToolComponent, isStandalone: true, selector: "igo-advanced-map-tool", ngImport: i0, template: "<h4 class=\"nameOfTool\">\n {{\n 'igo.integration.advanced-map-tool.advanced-swipe.swipe-tool' | translate\n }}\n</h4>\n<igo-advanced-swipe />\n<mat-divider class=\"advanced-tool-line\" />\n<h4 class=\"nameOfTool\">\n {{\n 'igo.integration.advanced-map-tool.advanced-coordinates.coordinates'\n | translate\n }}\n</h4>\n<igo-advanced-coordinates />\n<mat-divider class=\"advanced-tool-line\" />\n\n<h4 class=\"nameOfTool\">\n {{ 'igo.integration.advanced-map-tool.geolocation.title' | translate }}\n</h4>\n\n<div class=\"igo-input-container\">\n <div class=\"geolocation-slide-toggle-container\">\n <mat-slide-toggle\n class=\"geolocation-option\"\n [checked]=\"tracking$ | async\"\n [labelPosition]=\"'before'\"\n (change)=\"toggleTracking($event.checked)\"\n >\n {{ 'igo.integration.advanced-map-tool.geolocation.tracking' | translate }}\n </mat-slide-toggle>\n\n <mat-slide-toggle\n class=\"geolocation-option\"\n [disabled]=\"(tracking$ | async) !== true\"\n [labelPosition]=\"'before'\"\n [checked]=\"followPosition$ | async\"\n (change)=\"toggleFollow($event.checked)\"\n >\n {{ 'igo.integration.advanced-map-tool.geolocation.follow' | translate }}\n </mat-slide-toggle>\n </div>\n</div>\n", styles: [":host{display:block;padding:0 16px 12px}.nameOfTool{text-align:center;margin:12px 0 8px}.advanced-tool-line{height:2px;background-color:gray}.geolocation-slide-toggle-container{display:flex;flex-direction:column;padding:12px 0}.geolocation-slide-toggle-container mat-slide-toggle{flex:1}.geolocation-slide-toggle-container mat-slide-toggle:not(:last-child){margin-bottom:16px}.geolocation-slide-toggle-container mat-slide-toggle ::ng-deep .mdc-form-field{display:flex;justify-content:space-between}.geolocation-slide-toggle-container mat-slide-toggle ::ng-deep .mdc-label{flex:1}mat-divider{margin:0 -16px}\n"], dependencies: [{ kind: "component", type: AdvancedSwipeComponent, selector: "igo-advanced-swipe" }, { kind: "ngmodule", type: MatDividerModule }, { kind: "component", type: i4$1.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { kind: "component", type: AdvancedCoordinatesComponent, selector: "igo-advanced-coordinates", inputs: ["projectionsLimitations"] }, { kind: "ngmodule", type: MatSlideToggleModule }, { kind: "component", type: i7.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: IgoLanguageModule }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: i3$1.TranslatePipe, name: "translate" }] });
|
|
3423
3397
|
};
|
|
3424
3398
|
AdvancedMapToolComponent = __decorate([
|
|
3425
3399
|
ToolComponent({
|
|
@@ -3431,7 +3405,7 @@ AdvancedMapToolComponent = __decorate([
|
|
|
3431
3405
|
* Tool to handle the advanced map tools
|
|
3432
3406
|
*/
|
|
3433
3407
|
], AdvancedMapToolComponent);
|
|
3434
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
3408
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: AdvancedMapToolComponent, decorators: [{
|
|
3435
3409
|
type: Component,
|
|
3436
3410
|
args: [{ selector: 'igo-advanced-map-tool', imports: [
|
|
3437
3411
|
AdvancedSwipeComponent,
|
|
@@ -3445,54 +3419,44 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.10", ngImpo
|
|
|
3445
3419
|
|
|
3446
3420
|
class WorkspaceButtonComponent {
|
|
3447
3421
|
workspaceState = inject(WorkspaceState);
|
|
3448
|
-
|
|
3449
|
-
hasWorkspace
|
|
3450
|
-
layer
|
|
3451
|
-
|
|
3452
|
-
this._layer = value;
|
|
3453
|
-
this.layer$.next(this._layer);
|
|
3454
|
-
}
|
|
3455
|
-
get layer() {
|
|
3456
|
-
return this._layer;
|
|
3457
|
-
}
|
|
3458
|
-
_layer;
|
|
3422
|
+
destroyRef = inject(DestroyRef);
|
|
3423
|
+
hasWorkspace = signal(false, ...(ngDevMode ? [{ debugName: "hasWorkspace" }] : /* istanbul ignore next */ []));
|
|
3424
|
+
layer = input(...(ngDevMode ? [undefined, { debugName: "layer" }] : /* istanbul ignore next */ []));
|
|
3425
|
+
layer$ = toObservable(this.layer);
|
|
3459
3426
|
color = input('primary', ...(ngDevMode ? [{ debugName: "color" }] : /* istanbul ignore next */ []));
|
|
3460
3427
|
ngOnInit() {
|
|
3461
|
-
this.
|
|
3462
|
-
this.
|
|
3463
|
-
|
|
3464
|
-
|
|
3465
|
-
|
|
3466
|
-
|
|
3467
|
-
|
|
3428
|
+
combineLatest([this.workspaceState.workspaceEnabled$, this.layer$])
|
|
3429
|
+
.pipe(takeUntilDestroyed(this.destroyRef))
|
|
3430
|
+
.subscribe(([enabled, layer]) => {
|
|
3431
|
+
const withWorkspace = enabled &&
|
|
3432
|
+
!!layer &&
|
|
3433
|
+
isLayerItem(layer) &&
|
|
3434
|
+
(layer.options.workspace?.enabled ?? false);
|
|
3435
|
+
this.hasWorkspace.set(withWorkspace);
|
|
3436
|
+
});
|
|
3468
3437
|
}
|
|
3469
3438
|
activateWorkspace() {
|
|
3439
|
+
const layer = this.layer();
|
|
3470
3440
|
if (this.workspaceState.workspace$.value &&
|
|
3471
|
-
|
|
3472
|
-
|
|
3441
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
3442
|
+
this.workspaceState.workspace$.value.layer.id === layer?.id &&
|
|
3473
3443
|
this.workspaceState.expanded()) {
|
|
3474
3444
|
this.workspaceState.expanded.set(false);
|
|
3475
3445
|
}
|
|
3476
3446
|
else {
|
|
3477
3447
|
this.workspaceState.expanded.set(true);
|
|
3478
|
-
|
|
3448
|
+
if (layer?.id) {
|
|
3449
|
+
this.workspaceState.setActiveWorkspaceById(layer.id);
|
|
3450
|
+
}
|
|
3479
3451
|
}
|
|
3480
3452
|
}
|
|
3481
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.
|
|
3482
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.
|
|
3453
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: WorkspaceButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
3454
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.23", type: WorkspaceButtonComponent, isStandalone: true, selector: "igo-workspace-button", inputs: { layer: { classPropertyName: "layer", publicName: "layer", isSignal: true, isRequired: false, transformFunction: null }, color: { classPropertyName: "color", publicName: "color", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "@if (hasWorkspace()) {\n <button\n mat-icon-button\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"'igo.integration.workspace.toggleWorkspace' | translate\"\n [color]=\"color()\"\n (click)=\"activateWorkspace()\"\n >\n <mat-icon>table</mat-icon>\n </button>\n}\n", styles: [""], dependencies: [{ kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i1.MatIconButton, selector: "button[mat-icon-button], a[mat-icon-button], button[matIconButton], a[matIconButton]", exportAs: ["matButton", "matAnchor"] }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i2.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: IgoLanguageModule }, { kind: "pipe", type: i3$1.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
3483
3455
|
}
|
|
3484
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
3456
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: WorkspaceButtonComponent, decorators: [{
|
|
3485
3457
|
type: Component,
|
|
3486
|
-
args: [{ selector: 'igo-workspace-button', changeDetection: ChangeDetectionStrategy.OnPush, imports: [
|
|
3487
|
-
|
|
3488
|
-
MatTooltipModule,
|
|
3489
|
-
MatIconModule,
|
|
3490
|
-
AsyncPipe,
|
|
3491
|
-
IgoLanguageModule
|
|
3492
|
-
], template: "@if (hasWorkspace$ | async) {\n <button\n mat-icon-button\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"'igo.integration.workspace.toggleWorkspace' | translate\"\n [color]=\"color()\"\n (click)=\"activateWorkspace()\"\n >\n <mat-icon>table</mat-icon>\n </button>\n}\n" }]
|
|
3493
|
-
}], propDecorators: { layer: [{
|
|
3494
|
-
type: Input
|
|
3495
|
-
}], color: [{ type: i0.Input, args: [{ isSignal: true, alias: "color", required: false }] }] } });
|
|
3458
|
+
args: [{ selector: 'igo-workspace-button', changeDetection: ChangeDetectionStrategy.OnPush, imports: [MatButtonModule, MatTooltipModule, MatIconModule, IgoLanguageModule], template: "@if (hasWorkspace()) {\n <button\n mat-icon-button\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"'igo.integration.workspace.toggleWorkspace' | translate\"\n [color]=\"color()\"\n (click)=\"activateWorkspace()\"\n >\n <mat-icon>table</mat-icon>\n </button>\n}\n" }]
|
|
3459
|
+
}], propDecorators: { layer: [{ type: i0.Input, args: [{ isSignal: true, alias: "layer", required: false }] }], color: [{ type: i0.Input, args: [{ isSignal: true, alias: "color", required: false }] }] } });
|
|
3496
3460
|
|
|
3497
3461
|
let MapDetailsToolComponent = class MapDetailsToolComponent {
|
|
3498
3462
|
mapState = inject(MapState);
|
|
@@ -3502,7 +3466,7 @@ let MapDetailsToolComponent = class MapDetailsToolComponent {
|
|
|
3502
3466
|
configService = inject(ConfigService);
|
|
3503
3467
|
mediaService = inject(MediaService);
|
|
3504
3468
|
cdr = inject(ChangeDetectorRef);
|
|
3505
|
-
isDesktop;
|
|
3469
|
+
isDesktop = false;
|
|
3506
3470
|
delayedShowEmptyMapContent = false;
|
|
3507
3471
|
toggleLegendOnVisibilityChange = input(false, ...(ngDevMode ? [{ debugName: "toggleLegendOnVisibilityChange" }] : /* istanbul ignore next */ []));
|
|
3508
3472
|
expandLegendOfVisibleLayers = input(false, ...(ngDevMode ? [{ debugName: "expandLegendOfVisibleLayers" }] : /* istanbul ignore next */ []));
|
|
@@ -3601,8 +3565,8 @@ let MapDetailsToolComponent = class MapDetailsToolComponent {
|
|
|
3601
3565
|
this.cdr.detectChanges();
|
|
3602
3566
|
});
|
|
3603
3567
|
}
|
|
3604
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.
|
|
3605
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.
|
|
3568
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: MapDetailsToolComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
3569
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.23", type: MapDetailsToolComponent, isStandalone: true, selector: "igo-map-details-tool", inputs: { toggleLegendOnVisibilityChange: { classPropertyName: "toggleLegendOnVisibilityChange", publicName: "toggleLegendOnVisibilityChange", isSignal: true, isRequired: false, transformFunction: null }, expandLegendOfVisibleLayers: { classPropertyName: "expandLegendOfVisibleLayers", publicName: "expandLegendOfVisibleLayers", isSignal: true, isRequired: false, transformFunction: null }, updateLegendOnResolutionChange: { classPropertyName: "updateLegendOnResolutionChange", publicName: "updateLegendOnResolutionChange", isSignal: true, isRequired: false, transformFunction: null }, ogcButton: { classPropertyName: "ogcButton", publicName: "ogcButton", isSignal: true, isRequired: false, transformFunction: null }, timeButton: { classPropertyName: "timeButton", publicName: "timeButton", isSignal: true, isRequired: false, transformFunction: null }, layerListControls: { classPropertyName: "layerListControls", publicName: "layerListControls", isSignal: true, isRequired: false, transformFunction: null }, queryBadge: { classPropertyName: "queryBadge", publicName: "queryBadge", isSignal: true, isRequired: false, transformFunction: null }, layerAdditionAllowed: { classPropertyName: "layerAdditionAllowed", publicName: "layerAdditionAllowed", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "@if ((layers$ | async)?.length) {\n <igo-layer-viewer\n class=\"mapDetailsList\"\n [map]=\"map\"\n [options]=\"layerViewerOptions\"\n [excludeBaseLayers]=\"excludeBaseLayers\"\n [isDesktop]=\"isDesktop\"\n >\n <ng-template #customBottomActions let-layer=\"layer\">\n <igo-workspace-button [layer]=\"layer\" />\n <igo-export-button [layer]=\"layer\" (click)=\"activateExport(layer)\" />\n <igo-ogc-filter-button [header]=\"ogcButton()\" [layer]=\"layer\" />\n <igo-time-filter-button [header]=\"timeButton()\" [layer]=\"layer\" />\n <igo-track-feature-button [trackFeature]=\"true\" [layer]=\"layer\" />\n <igo-metadata-button [layer]=\"layer\" />\n </ng-template>\n </igo-layer-viewer>\n} @else {\n @if (delayedShowEmptyMapContent) {\n <mat-list>\n <p class=\"map-empty\">\n {{ 'igo.integration.mapTool.empty' | translate }}\n </p>\n @if (\n layerAdditionAllowed() &&\n (searchToolInToolbar || catalogToolInToolbar || contextToolInToolbar)\n ) {\n <p class=\"map-empty\">\n {{ 'igo.integration.mapTool.customize' | translate }}\n </p>\n }\n @if (layerAdditionAllowed() && searchToolInToolbar) {\n <mat-list-item>\n <mat-icon matListItemIcon>search</mat-icon>\n <span matListItemTitle class=\"search-tool\" (click)=\"searchEmit()\">\n {{ 'igo.integration.mapTool.search-tool' | translate }}\n </span>\n </mat-list-item>\n }\n @if (layerAdditionAllowed() && catalogToolInToolbar) {\n <mat-list-item>\n <mat-icon matListItemIcon>library_add</mat-icon>\n <span matListItemTitle class=\"catalog-tool\" (click)=\"catalogEmit()\">\n {{ 'igo.integration.mapTool.catalog-tool' | translate }}\n </span>\n </mat-list-item>\n }\n @if (layerAdditionAllowed() && contextToolInToolbar) {\n <mat-list-item>\n <mat-icon matListItemIcon>star</mat-icon>\n <span matListItemTitle class=\"context-tool\" (click)=\"contextEmit()\">\n {{ 'igo.integration.mapTool.context-tool' | translate }}\n </span>\n </mat-list-item>\n }\n </mat-list>\n }\n}\n", styles: [":host .map-empty,:host .search-tool,:host .catalog-tool,:host .context-tool{margin:10px}:host .map-empty{text-align:justify}:host .search-tool,:host .catalog-tool,:host .context-tool{cursor:pointer}:host mat-list mat-list-item h4{font-weight:700}:host mat-list-item ::ng-deep .mdc-list-item__primary-text{font-size:smaller}:host mat-list.mat-mdc-list-base mat-list-item.mat-mdc-list-item ::ng-deep div.mdc-list-item__content div.mdc-list-item__primary-text{padding-left:5px}:host .mapDetailsList{overflow:hidden}\n"], dependencies: [{ kind: "component", type: LayerViewerComponent, selector: "igo-layer-viewer", inputs: ["map", "options", "isDesktop", "excludeBaseLayers"], outputs: ["appliedFilterAndSort"] }, { kind: "component", type: WorkspaceButtonComponent, selector: "igo-workspace-button", inputs: ["layer", "color"] }, { kind: "component", type: ExportButtonComponent, selector: "igo-export-button", inputs: ["layer", "color"] }, { kind: "component", type: OgcFilterButtonComponent, selector: "igo-ogc-filter-button", inputs: ["layer", "map", "color", "header"] }, { kind: "component", type: TimeFilterButtonComponent, selector: "igo-time-filter-button", inputs: ["layer", "color", "header"] }, { kind: "component", type: TrackFeatureButtonComponent, selector: "igo-track-feature-button", inputs: ["layer", "trackFeature"], outputs: ["trackFeatureChange"] }, { kind: "component", type: MetadataButtonComponent, selector: "igo-metadata-button", inputs: ["layer", "color"] }, { kind: "ngmodule", type: MatListModule }, { kind: "component", type: i1$5.MatList, selector: "mat-list", exportAs: ["matList"] }, { kind: "component", type: i1$5.MatListItem, selector: "mat-list-item, a[mat-list-item], button[mat-list-item]", inputs: ["activated"], exportAs: ["matListItem"] }, { kind: "directive", type: i1$5.MatListItemIcon, selector: "[matListItemIcon]" }, { kind: "directive", type: i1$5.MatListItemTitle, selector: "[matListItemTitle]" }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: IgoLanguageModule }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: i3$1.TranslatePipe, name: "translate" }] });
|
|
3606
3570
|
};
|
|
3607
3571
|
MapDetailsToolComponent = __decorate([
|
|
3608
3572
|
ToolComponent({
|
|
@@ -3612,7 +3576,7 @@ MapDetailsToolComponent = __decorate([
|
|
|
3612
3576
|
}),
|
|
3613
3577
|
__metadata("design:paramtypes", [])
|
|
3614
3578
|
], MapDetailsToolComponent);
|
|
3615
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
3579
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: MapDetailsToolComponent, decorators: [{
|
|
3616
3580
|
type: Component,
|
|
3617
3581
|
args: [{ selector: 'igo-map-details-tool', imports: [
|
|
3618
3582
|
LayerViewerComponent,
|
|
@@ -3626,7 +3590,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.10", ngImpo
|
|
|
3626
3590
|
MatIconModule,
|
|
3627
3591
|
AsyncPipe,
|
|
3628
3592
|
IgoLanguageModule
|
|
3629
|
-
], template: "@if ((layers$ | async)
|
|
3593
|
+
], template: "@if ((layers$ | async)?.length) {\n <igo-layer-viewer\n class=\"mapDetailsList\"\n [map]=\"map\"\n [options]=\"layerViewerOptions\"\n [excludeBaseLayers]=\"excludeBaseLayers\"\n [isDesktop]=\"isDesktop\"\n >\n <ng-template #customBottomActions let-layer=\"layer\">\n <igo-workspace-button [layer]=\"layer\" />\n <igo-export-button [layer]=\"layer\" (click)=\"activateExport(layer)\" />\n <igo-ogc-filter-button [header]=\"ogcButton()\" [layer]=\"layer\" />\n <igo-time-filter-button [header]=\"timeButton()\" [layer]=\"layer\" />\n <igo-track-feature-button [trackFeature]=\"true\" [layer]=\"layer\" />\n <igo-metadata-button [layer]=\"layer\" />\n </ng-template>\n </igo-layer-viewer>\n} @else {\n @if (delayedShowEmptyMapContent) {\n <mat-list>\n <p class=\"map-empty\">\n {{ 'igo.integration.mapTool.empty' | translate }}\n </p>\n @if (\n layerAdditionAllowed() &&\n (searchToolInToolbar || catalogToolInToolbar || contextToolInToolbar)\n ) {\n <p class=\"map-empty\">\n {{ 'igo.integration.mapTool.customize' | translate }}\n </p>\n }\n @if (layerAdditionAllowed() && searchToolInToolbar) {\n <mat-list-item>\n <mat-icon matListItemIcon>search</mat-icon>\n <span matListItemTitle class=\"search-tool\" (click)=\"searchEmit()\">\n {{ 'igo.integration.mapTool.search-tool' | translate }}\n </span>\n </mat-list-item>\n }\n @if (layerAdditionAllowed() && catalogToolInToolbar) {\n <mat-list-item>\n <mat-icon matListItemIcon>library_add</mat-icon>\n <span matListItemTitle class=\"catalog-tool\" (click)=\"catalogEmit()\">\n {{ 'igo.integration.mapTool.catalog-tool' | translate }}\n </span>\n </mat-list-item>\n }\n @if (layerAdditionAllowed() && contextToolInToolbar) {\n <mat-list-item>\n <mat-icon matListItemIcon>star</mat-icon>\n <span matListItemTitle class=\"context-tool\" (click)=\"contextEmit()\">\n {{ 'igo.integration.mapTool.context-tool' | translate }}\n </span>\n </mat-list-item>\n }\n </mat-list>\n }\n}\n", styles: [":host .map-empty,:host .search-tool,:host .catalog-tool,:host .context-tool{margin:10px}:host .map-empty{text-align:justify}:host .search-tool,:host .catalog-tool,:host .context-tool{cursor:pointer}:host mat-list mat-list-item h4{font-weight:700}:host mat-list-item ::ng-deep .mdc-list-item__primary-text{font-size:smaller}:host mat-list.mat-mdc-list-base mat-list-item.mat-mdc-list-item ::ng-deep div.mdc-list-item__content div.mdc-list-item__primary-text{padding-left:5px}:host .mapDetailsList{overflow:hidden}\n"] }]
|
|
3630
3594
|
}], ctorParameters: () => [], propDecorators: { toggleLegendOnVisibilityChange: [{ type: i0.Input, args: [{ isSignal: true, alias: "toggleLegendOnVisibilityChange", required: false }] }], expandLegendOfVisibleLayers: [{ type: i0.Input, args: [{ isSignal: true, alias: "expandLegendOfVisibleLayers", required: false }] }], updateLegendOnResolutionChange: [{ type: i0.Input, args: [{ isSignal: true, alias: "updateLegendOnResolutionChange", required: false }] }], ogcButton: [{ type: i0.Input, args: [{ isSignal: true, alias: "ogcButton", required: false }] }], timeButton: [{ type: i0.Input, args: [{ isSignal: true, alias: "timeButton", required: false }] }], layerListControls: [{ type: i0.Input, args: [{ isSignal: true, alias: "layerListControls", required: false }] }], queryBadge: [{ type: i0.Input, args: [{ isSignal: true, alias: "queryBadge", required: false }] }], layerAdditionAllowed: [{ type: i0.Input, args: [{ isSignal: true, alias: "layerAdditionAllowed", required: false }] }] } });
|
|
3631
3595
|
|
|
3632
3596
|
let MapLegendToolComponent = class MapLegendToolComponent {
|
|
@@ -3717,10 +3681,8 @@ let MapLegendToolComponent = class MapLegendToolComponent {
|
|
|
3717
3681
|
return true;
|
|
3718
3682
|
}
|
|
3719
3683
|
ngOnDestroy() {
|
|
3720
|
-
this.resolution
|
|
3721
|
-
|
|
3722
|
-
this.visibleOrInRangeLayers$$.unsubscribe();
|
|
3723
|
-
}
|
|
3684
|
+
this.resolution$$?.unsubscribe();
|
|
3685
|
+
this.visibleOrInRangeLayers$$?.unsubscribe();
|
|
3724
3686
|
}
|
|
3725
3687
|
searchEmit() {
|
|
3726
3688
|
this.toolState.toolbox.activateTool('searchResults');
|
|
@@ -3731,8 +3693,8 @@ let MapLegendToolComponent = class MapLegendToolComponent {
|
|
|
3731
3693
|
contextEmit() {
|
|
3732
3694
|
this.toolState.toolbox.activateTool('contextManager');
|
|
3733
3695
|
}
|
|
3734
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.
|
|
3735
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.
|
|
3696
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: MapLegendToolComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
3697
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.23", type: MapLegendToolComponent, isStandalone: true, selector: "igo-map-legend-tool", inputs: { updateLegendOnResolutionChange: { classPropertyName: "updateLegendOnResolutionChange", publicName: "updateLegendOnResolutionChange", isSignal: true, isRequired: false, transformFunction: null }, layerAdditionAllowed: { classPropertyName: "layerAdditionAllowed", publicName: "layerAdditionAllowed", isSignal: true, isRequired: false, transformFunction: null }, allowShowAllLegends: { classPropertyName: "allowShowAllLegends", publicName: "allowShowAllLegends", isSignal: true, isRequired: false, transformFunction: null }, showAllLegendsValue: { classPropertyName: "showAllLegendsValue", publicName: "showAllLegendsValue", isSignal: true, isRequired: false, transformFunction: null }, layerListControls: { classPropertyName: "layerListControls", publicName: "layerListControls", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "@if (showAllLegend()) {\n <igo-layer-legend-list\n igoLayerLegendListBinding\n [excludeBaseLayers]=\"excludeBaseLayers\"\n [allowShowAllLegends]=\"allowShowAllLegends()\"\n [updateLegendOnResolutionChange]=\"updateLegendOnResolutionChange()\"\n [showAllLegendsValue]=\"(showAllLegendsValue$ | async)!\"\n (allLegendsShown)=\"onShowAllLegends($event)\"\n />\n}\n@if ((layers$ | async)?.length !== 0) {\n} @else {\n @if (delayedShowEmptyMapContent) {\n <mat-list>\n <p class=\"map-empty\">\n {{ 'igo.integration.mapTool.empty' | translate }}\n </p>\n @if (\n layerAdditionAllowed() &&\n (searchToolInToolbar || catalogToolInToolbar || contextToolInToolbar)\n ) {\n <p class=\"map-empty\">\n {{ 'igo.integration.mapTool.customize' | translate }}\n </p>\n }\n @if (layerAdditionAllowed() && searchToolInToolbar) {\n <mat-list-item>\n <mat-icon matListItemIcon>search</mat-icon>\n <span matListItemTitle class=\"search-tool\" (click)=\"searchEmit()\">\n {{ 'igo.integration.mapTool.search-tool' | translate }}\n </span>\n </mat-list-item>\n }\n @if (layerAdditionAllowed() && catalogToolInToolbar) {\n <mat-list-item>\n <mat-icon matListItemIcon>library_add</mat-icon>\n <span matListItemTitle class=\"catalog-tool\" (click)=\"catalogEmit()\">\n {{ 'igo.integration.mapTool.catalog-tool' | translate }}\n </span>\n </mat-list-item>\n }\n @if (layerAdditionAllowed() && contextToolInToolbar) {\n <mat-list-item>\n <mat-icon matListItemIcon>star</mat-icon>\n <span matListItemTitle class=\"context-tool\" (click)=\"contextEmit()\">\n {{ 'igo.integration.mapTool.context-tool' | translate }}\n </span>\n </mat-list-item>\n }\n </mat-list>\n }\n}\n\n@if (\n !allowShowAllLegends() &&\n (layers$ | async)?.length !== 0 &&\n (visibleOrInRangeLayers$ | async)?.length === 0\n) {\n <p class=\"map-empty\">\n {{\n (visibleLayers$ | async)?.length\n ? ('igo.integration.mapTool.noLayersInRange' | translate)\n : ('igo.integration.mapTool.noLayersVisible' | translate)\n }}\n </p>\n}\n", styles: [":host .map-empty,:host .search-tool,:host .catalog-tool,:host .context-tool{margin:10px}:host .map-empty{text-align:justify}:host .search-tool,:host .catalog-tool,:host .context-tool{cursor:pointer}:host mat-list mat-list-item h4{font-weight:700}:host mat-list-item ::ng-deep .mdc-list-item__primary-text{font-size:smaller}:host mat-list.mat-mdc-list-base mat-list-item.mat-mdc-list-item ::ng-deep div.mdc-list-item__content div.mdc-list-item__primary-text{padding-left:5px}\n"], dependencies: [{ kind: "component", type: LayerLegendListComponent, selector: "igo-layer-legend-list", inputs: ["layers", "excludeBaseLayers", "updateLegendOnResolutionChange", "allowShowAllLegends", "showAllLegendsValue"], outputs: ["layersChange", "showAllLegendsValueChange", "allLegendsShown"] }, { kind: "directive", type: LayerLegendListBindingDirective, selector: "[igoLayerLegendListBinding]" }, { kind: "ngmodule", type: MatListModule }, { kind: "component", type: i1$5.MatList, selector: "mat-list", exportAs: ["matList"] }, { kind: "component", type: i1$5.MatListItem, selector: "mat-list-item, a[mat-list-item], button[mat-list-item]", inputs: ["activated"], exportAs: ["matListItem"] }, { kind: "directive", type: i1$5.MatListItemIcon, selector: "[matListItemIcon]" }, { kind: "directive", type: i1$5.MatListItemTitle, selector: "[matListItemTitle]" }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: IgoLanguageModule }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: i3$1.TranslatePipe, name: "translate" }] });
|
|
3736
3698
|
};
|
|
3737
3699
|
MapLegendToolComponent = __decorate([
|
|
3738
3700
|
ToolComponent({
|
|
@@ -3741,7 +3703,7 @@ MapLegendToolComponent = __decorate([
|
|
|
3741
3703
|
icon: 'format_list_bulleted'
|
|
3742
3704
|
})
|
|
3743
3705
|
], MapLegendToolComponent);
|
|
3744
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
3706
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: MapLegendToolComponent, decorators: [{
|
|
3745
3707
|
type: Component,
|
|
3746
3708
|
args: [{ selector: 'igo-map-legend-tool', imports: [
|
|
3747
3709
|
LayerLegendListComponent,
|
|
@@ -3750,7 +3712,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.10", ngImpo
|
|
|
3750
3712
|
MatIconModule,
|
|
3751
3713
|
AsyncPipe,
|
|
3752
3714
|
IgoLanguageModule
|
|
3753
|
-
], template: "@if (showAllLegend()) {\n <igo-layer-legend-list\n igoLayerLegendListBinding\n [excludeBaseLayers]=\"excludeBaseLayers\"\n [allowShowAllLegends]=\"allowShowAllLegends()\"\n [updateLegendOnResolutionChange]=\"updateLegendOnResolutionChange()\"\n [showAllLegendsValue]=\"showAllLegendsValue$ | async
|
|
3715
|
+
], template: "@if (showAllLegend()) {\n <igo-layer-legend-list\n igoLayerLegendListBinding\n [excludeBaseLayers]=\"excludeBaseLayers\"\n [allowShowAllLegends]=\"allowShowAllLegends()\"\n [updateLegendOnResolutionChange]=\"updateLegendOnResolutionChange()\"\n [showAllLegendsValue]=\"(showAllLegendsValue$ | async)!\"\n (allLegendsShown)=\"onShowAllLegends($event)\"\n />\n}\n@if ((layers$ | async)?.length !== 0) {\n} @else {\n @if (delayedShowEmptyMapContent) {\n <mat-list>\n <p class=\"map-empty\">\n {{ 'igo.integration.mapTool.empty' | translate }}\n </p>\n @if (\n layerAdditionAllowed() &&\n (searchToolInToolbar || catalogToolInToolbar || contextToolInToolbar)\n ) {\n <p class=\"map-empty\">\n {{ 'igo.integration.mapTool.customize' | translate }}\n </p>\n }\n @if (layerAdditionAllowed() && searchToolInToolbar) {\n <mat-list-item>\n <mat-icon matListItemIcon>search</mat-icon>\n <span matListItemTitle class=\"search-tool\" (click)=\"searchEmit()\">\n {{ 'igo.integration.mapTool.search-tool' | translate }}\n </span>\n </mat-list-item>\n }\n @if (layerAdditionAllowed() && catalogToolInToolbar) {\n <mat-list-item>\n <mat-icon matListItemIcon>library_add</mat-icon>\n <span matListItemTitle class=\"catalog-tool\" (click)=\"catalogEmit()\">\n {{ 'igo.integration.mapTool.catalog-tool' | translate }}\n </span>\n </mat-list-item>\n }\n @if (layerAdditionAllowed() && contextToolInToolbar) {\n <mat-list-item>\n <mat-icon matListItemIcon>star</mat-icon>\n <span matListItemTitle class=\"context-tool\" (click)=\"contextEmit()\">\n {{ 'igo.integration.mapTool.context-tool' | translate }}\n </span>\n </mat-list-item>\n }\n </mat-list>\n }\n}\n\n@if (\n !allowShowAllLegends() &&\n (layers$ | async)?.length !== 0 &&\n (visibleOrInRangeLayers$ | async)?.length === 0\n) {\n <p class=\"map-empty\">\n {{\n (visibleLayers$ | async)?.length\n ? ('igo.integration.mapTool.noLayersInRange' | translate)\n : ('igo.integration.mapTool.noLayersVisible' | translate)\n }}\n </p>\n}\n", styles: [":host .map-empty,:host .search-tool,:host .catalog-tool,:host .context-tool{margin:10px}:host .map-empty{text-align:justify}:host .search-tool,:host .catalog-tool,:host .context-tool{cursor:pointer}:host mat-list mat-list-item h4{font-weight:700}:host mat-list-item ::ng-deep .mdc-list-item__primary-text{font-size:smaller}:host mat-list.mat-mdc-list-base mat-list-item.mat-mdc-list-item ::ng-deep div.mdc-list-item__content div.mdc-list-item__primary-text{padding-left:5px}\n"] }]
|
|
3754
3716
|
}], propDecorators: { updateLegendOnResolutionChange: [{ type: i0.Input, args: [{ isSignal: true, alias: "updateLegendOnResolutionChange", required: false }] }], layerAdditionAllowed: [{ type: i0.Input, args: [{ isSignal: true, alias: "layerAdditionAllowed", required: false }] }], allowShowAllLegends: [{ type: i0.Input, args: [{ isSignal: true, alias: "allowShowAllLegends", required: false }] }], showAllLegendsValue: [{ type: i0.Input, args: [{ isSignal: true, alias: "showAllLegendsValue", required: false }] }], layerListControls: [{ type: i0.Input, args: [{ isSignal: true, alias: "layerListControls", required: false }] }] } });
|
|
3755
3717
|
|
|
3756
3718
|
/**
|
|
@@ -3804,14 +3766,14 @@ class MapProximityState {
|
|
|
3804
3766
|
if (!currentPos || !currentPos.position) {
|
|
3805
3767
|
return;
|
|
3806
3768
|
}
|
|
3807
|
-
coord =
|
|
3769
|
+
coord = olproj.transform(currentPos.position, currentPos.projection, this.map.projectionCode);
|
|
3808
3770
|
this.map.mapCenter$.next(false);
|
|
3809
3771
|
}
|
|
3810
3772
|
else {
|
|
3811
3773
|
coord = this.map.viewController.getCenter();
|
|
3812
3774
|
this.map.mapCenter$.next(true);
|
|
3813
3775
|
}
|
|
3814
|
-
const coordLonLat =
|
|
3776
|
+
const coordLonLat = olproj.transform(coord, this.map.projectionCode, 'EPSG:4269');
|
|
3815
3777
|
const roundedCoordLonLat = roundCoordTo(coordLonLat, 6);
|
|
3816
3778
|
this.currentPositionCoordinate$.next(roundedCoordLonLat);
|
|
3817
3779
|
const layersToMonitor = layers.filter((layer) => isLayerItem(layer) &&
|
|
@@ -3825,7 +3787,7 @@ class MapProximityState {
|
|
|
3825
3787
|
const olFeaturesAtCoordinate = layerSource.getFeaturesAtCoordinate(coord);
|
|
3826
3788
|
if (olFeaturesAtCoordinate && olFeaturesAtCoordinate.length) {
|
|
3827
3789
|
olFeaturesAtCoordinate.map((olFeatureAtCoordinate) => {
|
|
3828
|
-
const featureAtThisPosition = featureFromOl(olFeatureAtCoordinate, this.map.
|
|
3790
|
+
const featureAtThisPosition = featureFromOl(olFeatureAtCoordinate, this.map.projectionCode);
|
|
3829
3791
|
const title = this.getQueryTitle(featureAtThisPosition, layerToMonitor);
|
|
3830
3792
|
// todo handle imported layers without querytitle? prompt title or detect first column?
|
|
3831
3793
|
this.addFeatureToStore(layerToMonitor, coord, featureAtThisPosition, title, 0);
|
|
@@ -3836,14 +3798,17 @@ class MapProximityState {
|
|
|
3836
3798
|
const closestOlFeature = layerSource.getClosestFeatureToCoordinate(coord);
|
|
3837
3799
|
if (closestOlFeature) {
|
|
3838
3800
|
const closestOlGeom = closestOlFeature.getGeometry();
|
|
3839
|
-
|
|
3801
|
+
if (!closestOlGeom)
|
|
3802
|
+
return;
|
|
3803
|
+
const closestFeature = featureFromOl(closestOlFeature, this.map.projectionCode);
|
|
3840
3804
|
const geometryClosestPoint = closestOlGeom.getClosestPoint(coord);
|
|
3841
3805
|
const linebetween = new olLineString([
|
|
3842
3806
|
coord,
|
|
3843
3807
|
geometryClosestPoint
|
|
3844
3808
|
]);
|
|
3845
3809
|
const lineLength = measureOlGeometryLength(linebetween, 'EPSG:3857');
|
|
3846
|
-
if (lineLength
|
|
3810
|
+
if (lineLength !== undefined &&
|
|
3811
|
+
lineLength <= proximityRadiusValue) {
|
|
3847
3812
|
const title = this.getQueryTitle(closestFeature, layerToMonitor);
|
|
3848
3813
|
// todo handle imported layers without querytitle? prompt title or detect first column?
|
|
3849
3814
|
this.addFeatureToStore(layerToMonitor, coord, closestFeature, title, lineLength);
|
|
@@ -3897,8 +3862,8 @@ class MapProximityState {
|
|
|
3897
3862
|
getLabelMatch(feature, labelMatch) {
|
|
3898
3863
|
let label = labelMatch;
|
|
3899
3864
|
const labelToGet = Array.from(labelMatch.matchAll(/\$\{([^\{\}]+)\}/g));
|
|
3900
|
-
labelToGet.forEach((
|
|
3901
|
-
label = label.replace(
|
|
3865
|
+
labelToGet.forEach((entry) => {
|
|
3866
|
+
label = label.replace(entry[0], feature.properties[entry[1]]);
|
|
3902
3867
|
});
|
|
3903
3868
|
// Nothing done? check feature's attribute
|
|
3904
3869
|
if (labelToGet.length === 0 && label === labelMatch) {
|
|
@@ -3906,10 +3871,10 @@ class MapProximityState {
|
|
|
3906
3871
|
}
|
|
3907
3872
|
return label;
|
|
3908
3873
|
}
|
|
3909
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.
|
|
3910
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.
|
|
3874
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: MapProximityState, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
3875
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: MapProximityState, providedIn: 'root' });
|
|
3911
3876
|
}
|
|
3912
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
3877
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: MapProximityState, decorators: [{
|
|
3913
3878
|
type: Injectable,
|
|
3914
3879
|
args: [{
|
|
3915
3880
|
providedIn: 'root'
|
|
@@ -3933,8 +3898,8 @@ let MapProximityToolComponent = class MapProximityToolComponent {
|
|
|
3933
3898
|
get map() {
|
|
3934
3899
|
return this.mapState.map;
|
|
3935
3900
|
}
|
|
3936
|
-
userDefinedMapCenter;
|
|
3937
|
-
userDefinedFollowPosition;
|
|
3901
|
+
userDefinedMapCenter = false;
|
|
3902
|
+
userDefinedFollowPosition = false;
|
|
3938
3903
|
/**
|
|
3939
3904
|
* Table template
|
|
3940
3905
|
* @internal
|
|
@@ -3951,14 +3916,16 @@ let MapProximityToolComponent = class MapProximityToolComponent {
|
|
|
3951
3916
|
name: 'element',
|
|
3952
3917
|
title: this.languageService.translate.instant('igo.integration.map-proximity-tool.feature'),
|
|
3953
3918
|
valueAccessor: (localFeature) => {
|
|
3954
|
-
|
|
3919
|
+
const feature = localFeature;
|
|
3920
|
+
return feature.properties.element;
|
|
3955
3921
|
}
|
|
3956
3922
|
},
|
|
3957
3923
|
{
|
|
3958
3924
|
name: 'distance',
|
|
3959
3925
|
title: this.languageService.translate.instant('igo.integration.map-proximity-tool.distance'),
|
|
3960
3926
|
valueAccessor: (localFeature) => {
|
|
3961
|
-
|
|
3927
|
+
const feature = localFeature;
|
|
3928
|
+
return `${NumberUtils.roundToNDecimal(feature.properties.distance, 1)}m`;
|
|
3962
3929
|
}
|
|
3963
3930
|
}
|
|
3964
3931
|
]
|
|
@@ -3993,13 +3960,13 @@ let MapProximityToolComponent = class MapProximityToolComponent {
|
|
|
3993
3960
|
* Copy the coordinates to a clipboard
|
|
3994
3961
|
*/
|
|
3995
3962
|
copyTextToClipboard() {
|
|
3996
|
-
const successful = this.clipboard.copy(this.mapProximityState.currentPositionCoordinate$?.value
|
|
3963
|
+
const successful = this.clipboard.copy(this.mapProximityState.currentPositionCoordinate$?.value?.toString() ?? '');
|
|
3997
3964
|
if (successful) {
|
|
3998
3965
|
this.messageService.success('igo.integration.map-proximity-tool.copyMsg', 'igo.integration.map-proximity-tool.copyTitle');
|
|
3999
3966
|
}
|
|
4000
3967
|
}
|
|
4001
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.
|
|
4002
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.
|
|
3968
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: MapProximityToolComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
3969
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.23", type: MapProximityToolComponent, isStandalone: true, selector: "igo-map-proximity-tool", viewQueries: [{ propertyName: "table", first: true, predicate: ["table"], descendants: true, isSignal: true }], ngImport: i0, template: "<igo-entity-table\n #table\n class=\"table-compact\"\n [store]=\"$any(mapProximityState.proximityFeatureStore)\"\n [template]=\"tableTemplate\"\n/>\n<br />\n@if (mapProximityState.currentPositionCoordinate$ | async; as coord) {\n <mat-form-field class=\"coordinates\">\n <textarea\n #textArea\n matInput\n readonly\n rows=\"1\"\n [placeholder]=\"'igo.integration.map-proximity-tool.lon' | translate\"\n [value]=\"coord[0]\"\n ></textarea>\n </mat-form-field>\n}\n@if (mapProximityState.currentPositionCoordinate$ | async; as coord2) {\n <mat-form-field class=\"coordinates2\">\n <textarea\n #textArea\n matInput\n readonly\n rows=\"1\"\n [placeholder]=\"'igo.integration.map-proximity-tool.lat' | translate\"\n [value]=\"coord2[1]\"\n ></textarea>\n </mat-form-field>\n}\n\n@if ((mapProximityState.currentPositionCoordinate$ | async)?.length) {\n <button mat-icon-button (click)=\"copyTextToClipboard()\">\n <mat-icon>content_copy</mat-icon>\n </button>\n}\n<div class=\"title-container\">\n <mat-label class=\"title\">{{\n 'igo.integration.map-proximity-tool.method' | translate\n }}</mat-label>\n</div>\n<div class=\"igo-input-container\">\n <mat-radio-group (change)=\"onLocationTypeChange($event)\">\n <mat-radio-button\n [checked]=\"\n (mapProximityState.proximitylocationType$ | async) === 'geolocation'\n \"\n value=\"geolocation\"\n >{{\n 'igo.integration.map-proximity-tool.geolocation' | translate\n }}</mat-radio-button\n >\n <mat-radio-button\n [checked]=\"\n (mapProximityState.proximitylocationType$ | async) === 'mapCenter'\n \"\n value=\"mapCenter\"\n >{{\n 'igo.integration.map-proximity-tool.mapCenter' | translate\n }}</mat-radio-button\n >\n </mat-radio-group>\n</div>\n\n<div class=\"radius-unit\">\n <mat-form-field class=\"radius-field\" floatLabel=\"always\">\n <mat-label>{{\n 'igo.integration.map-proximity-tool.radiusM' | translate\n }}</mat-label>\n <input\n type=\"number\"\n pattern=\"[0-9]*\"\n [(ngModel)]=\"maxDistance\"\n matInput\n placeholder=\"{{\n 'igo.integration.map-proximity-tool.radiusM' | translate\n }}\"\n />\n </mat-form-field>\n</div>\n", styles: [":host .table-compact{height:auto}:host .table-compact ::ng-deep .mat-mdc-header-cell.mat-column-selectionCheckbox{width:52px}:host textarea{resize:none}:host mat-form-field{padding:10px 15px}:host mat-form-field.coordinates{width:110px}:host mat-form-field.coordinates2{width:100px;padding:0 10px 0 3px}:host mat-form-field.igo-input-container{width:60%;padding:0 15px}:host .radius-unit{display:flex;width:90%;margin-left:2px;padding:5px}:host .radius-unit mat-form-field.radius-field{display:flex;flex-flow:column nowrap;width:100%}:host .title-container{padding:10px}:host .title{margin-left:5px;font-size:initial}:host .mat-mdc-radio-group{display:flex;flex-direction:column}:host .mat-mdc-radio-button{display:inline-flex;position:relative;margin-left:12px}\n"], dependencies: [{ kind: "component", type: EntityTableComponent, selector: "igo-entity-table", inputs: ["store", "paginator", "template", "scrollBehavior", "sortNullsFirst", "withPaginator", "paginatorOptions"], outputs: ["entityClick", "entitySelectChange", "entitySortChange"] }, { kind: "ngmodule", type: MatFormFieldModule }, { kind: "component", type: i1$3.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i1$3.MatLabel, selector: "mat-label" }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i2$2.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly", "disabledInteractive"], exportAs: ["matInput"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: 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: MatRadioModule }, { kind: "directive", type: i5.MatRadioGroup, selector: "mat-radio-group", inputs: ["color", "name", "labelPosition", "value", "selected", "disabled", "required", "disabledInteractive"], outputs: ["change"], exportAs: ["matRadioGroup"] }, { kind: "component", type: i5.MatRadioButton, selector: "mat-radio-button", inputs: ["id", "name", "aria-label", "aria-labelledby", "aria-describedby", "disableRipple", "tabIndex", "checked", "value", "labelPosition", "disabled", "required", "color", "disabledInteractive"], outputs: ["change"], exportAs: ["matRadioButton"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$4.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { kind: "directive", type: i1$4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$4.PatternValidator, selector: "[pattern][formControlName],[pattern][formControl],[pattern][ngModel]", inputs: ["pattern"] }, { kind: "directive", type: i1$4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: IgoLanguageModule }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: i3$1.TranslatePipe, name: "translate" }] });
|
|
4003
3970
|
};
|
|
4004
3971
|
MapProximityToolComponent = __decorate([
|
|
4005
3972
|
ToolComponent({
|
|
@@ -4013,7 +3980,7 @@ MapProximityToolComponent = __decorate([
|
|
|
4013
3980
|
,
|
|
4014
3981
|
__metadata("design:paramtypes", [])
|
|
4015
3982
|
], MapProximityToolComponent);
|
|
4016
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
3983
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: MapProximityToolComponent, decorators: [{
|
|
4017
3984
|
type: Component,
|
|
4018
3985
|
args: [{ selector: 'igo-map-proximity-tool', imports: [
|
|
4019
3986
|
EntityTableComponent,
|
|
@@ -4025,7 +3992,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.10", ngImpo
|
|
|
4025
3992
|
FormsModule,
|
|
4026
3993
|
AsyncPipe,
|
|
4027
3994
|
IgoLanguageModule
|
|
4028
|
-
], template: "<igo-entity-table\n #table\n class=\"table-compact\"\n [store]=\"mapProximityState.proximityFeatureStore\"\n [template]=\"tableTemplate\"\n/>\n<br />\n@if (mapProximityState.currentPositionCoordinate$ | async; as coord) {\n <mat-form-field class=\"coordinates\">\n <textarea\n #textArea\n matInput\n readonly\n rows=\"1\"\n [placeholder]=\"'igo.integration.map-proximity-tool.lon' | translate\"\n [value]=\"coord[0]\"\n ></textarea>\n </mat-form-field>\n}\n@if (mapProximityState.currentPositionCoordinate$ | async; as coord2) {\n <mat-form-field class=\"coordinates2\">\n <textarea\n #textArea\n matInput\n readonly\n rows=\"1\"\n [placeholder]=\"'igo.integration.map-proximity-tool.lat' | translate\"\n [value]=\"coord2[1]\"\n ></textarea>\n </mat-form-field>\n}\n\n@if (
|
|
3995
|
+
], template: "<igo-entity-table\n #table\n class=\"table-compact\"\n [store]=\"$any(mapProximityState.proximityFeatureStore)\"\n [template]=\"tableTemplate\"\n/>\n<br />\n@if (mapProximityState.currentPositionCoordinate$ | async; as coord) {\n <mat-form-field class=\"coordinates\">\n <textarea\n #textArea\n matInput\n readonly\n rows=\"1\"\n [placeholder]=\"'igo.integration.map-proximity-tool.lon' | translate\"\n [value]=\"coord[0]\"\n ></textarea>\n </mat-form-field>\n}\n@if (mapProximityState.currentPositionCoordinate$ | async; as coord2) {\n <mat-form-field class=\"coordinates2\">\n <textarea\n #textArea\n matInput\n readonly\n rows=\"1\"\n [placeholder]=\"'igo.integration.map-proximity-tool.lat' | translate\"\n [value]=\"coord2[1]\"\n ></textarea>\n </mat-form-field>\n}\n\n@if ((mapProximityState.currentPositionCoordinate$ | async)?.length) {\n <button mat-icon-button (click)=\"copyTextToClipboard()\">\n <mat-icon>content_copy</mat-icon>\n </button>\n}\n<div class=\"title-container\">\n <mat-label class=\"title\">{{\n 'igo.integration.map-proximity-tool.method' | translate\n }}</mat-label>\n</div>\n<div class=\"igo-input-container\">\n <mat-radio-group (change)=\"onLocationTypeChange($event)\">\n <mat-radio-button\n [checked]=\"\n (mapProximityState.proximitylocationType$ | async) === 'geolocation'\n \"\n value=\"geolocation\"\n >{{\n 'igo.integration.map-proximity-tool.geolocation' | translate\n }}</mat-radio-button\n >\n <mat-radio-button\n [checked]=\"\n (mapProximityState.proximitylocationType$ | async) === 'mapCenter'\n \"\n value=\"mapCenter\"\n >{{\n 'igo.integration.map-proximity-tool.mapCenter' | translate\n }}</mat-radio-button\n >\n </mat-radio-group>\n</div>\n\n<div class=\"radius-unit\">\n <mat-form-field class=\"radius-field\" floatLabel=\"always\">\n <mat-label>{{\n 'igo.integration.map-proximity-tool.radiusM' | translate\n }}</mat-label>\n <input\n type=\"number\"\n pattern=\"[0-9]*\"\n [(ngModel)]=\"maxDistance\"\n matInput\n placeholder=\"{{\n 'igo.integration.map-proximity-tool.radiusM' | translate\n }}\"\n />\n </mat-form-field>\n</div>\n", styles: [":host .table-compact{height:auto}:host .table-compact ::ng-deep .mat-mdc-header-cell.mat-column-selectionCheckbox{width:52px}:host textarea{resize:none}:host mat-form-field{padding:10px 15px}:host mat-form-field.coordinates{width:110px}:host mat-form-field.coordinates2{width:100px;padding:0 10px 0 3px}:host mat-form-field.igo-input-container{width:60%;padding:0 15px}:host .radius-unit{display:flex;width:90%;margin-left:2px;padding:5px}:host .radius-unit mat-form-field.radius-field{display:flex;flex-flow:column nowrap;width:100%}:host .title-container{padding:10px}:host .title{margin-left:5px;font-size:initial}:host .mat-mdc-radio-group{display:flex;flex-direction:column}:host .mat-mdc-radio-button{display:inline-flex;position:relative;margin-left:12px}\n"] }]
|
|
4029
3996
|
}], ctorParameters: () => [], propDecorators: { table: [{ type: i0.ViewChild, args: ['table', { isSignal: true }] }] } });
|
|
4030
3997
|
|
|
4031
3998
|
/**
|
|
@@ -4105,8 +4072,8 @@ let MapToolComponent = class MapToolComponent {
|
|
|
4105
4072
|
this.cdr.detectChanges();
|
|
4106
4073
|
});
|
|
4107
4074
|
}
|
|
4108
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.
|
|
4109
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.2.
|
|
4075
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: MapToolComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
4076
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.2.23", type: MapToolComponent, isStandalone: true, selector: "igo-map-tool", inputs: { toggleLegendOnVisibilityChange: { classPropertyName: "toggleLegendOnVisibilityChange", publicName: "toggleLegendOnVisibilityChange", isSignal: true, isRequired: false, transformFunction: null }, expandLegendOfVisibleLayers: { classPropertyName: "expandLegendOfVisibleLayers", publicName: "expandLegendOfVisibleLayers", isSignal: true, isRequired: false, transformFunction: null }, updateLegendOnResolutionChange: { classPropertyName: "updateLegendOnResolutionChange", publicName: "updateLegendOnResolutionChange", isSignal: true, isRequired: false, transformFunction: null }, ogcButton: { classPropertyName: "ogcButton", publicName: "ogcButton", isSignal: true, isRequired: false, transformFunction: null }, timeButton: { classPropertyName: "timeButton", publicName: "timeButton", isSignal: true, isRequired: false, transformFunction: null }, layerListControls: { classPropertyName: "layerListControls", publicName: "layerListControls", isSignal: true, isRequired: false, transformFunction: null }, queryBadge: { classPropertyName: "queryBadge", publicName: "queryBadge", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "<mat-tab-group>\n <mat-tab [label]=\"'igo.integration.tools.map' | translate\">\n <igo-layer-viewer\n [map]=\"map\"\n [options]=\"layerViewerOptions\"\n [excludeBaseLayers]=\"excludeBaseLayers\"\n [isDesktop]=\"isDesktop\"\n >\n <ng-template #customBottomActions let-layer=\"layer\">\n <igo-workspace-button [layer]=\"layer\" />\n <igo-export-button [layer]=\"layer\" (click)=\"activateExport(layer)\" />\n <igo-ogc-filter-button [header]=\"ogcButton()\" [layer]=\"layer\" />\n <igo-time-filter-button [header]=\"timeButton()\" [layer]=\"layer\" />\n <igo-track-feature-button [trackFeature]=\"true\" [layer]=\"layer\" />\n <igo-metadata-button [layer]=\"layer\" />\n </ng-template>\n </igo-layer-viewer>\n </mat-tab>\n\n <mat-tab [label]=\"'igo.integration.tools.contexts' | translate\">\n <igo-context-list igoContextListBinding />\n </mat-tab>\n</mat-tab-group>\n", styles: [":host ::ng-deep .mat-mdc-tab-body-content{overflow:hidden}\n"], dependencies: [{ kind: "ngmodule", type: MatTabsModule }, { kind: "component", type: i1$2.MatTab, selector: "mat-tab", inputs: ["disabled", "label", "aria-label", "aria-labelledby", "labelClass", "bodyClass", "id"], exportAs: ["matTab"] }, { kind: "component", type: i1$2.MatTabGroup, selector: "mat-tab-group", inputs: ["color", "fitInkBarToContent", "mat-stretch-tabs", "mat-align-tabs", "dynamicHeight", "selectedIndex", "headerPosition", "animationDuration", "contentTabIndex", "disablePagination", "disableRipple", "preserveContent", "backgroundColor", "aria-label", "aria-labelledby"], outputs: ["selectedIndexChange", "focusChange", "animationDone", "selectedTabChange"], exportAs: ["matTabGroup"] }, { kind: "component", type: WorkspaceButtonComponent, selector: "igo-workspace-button", inputs: ["layer", "color"] }, { kind: "component", type: ExportButtonComponent, selector: "igo-export-button", inputs: ["layer", "color"] }, { kind: "component", type: OgcFilterButtonComponent, selector: "igo-ogc-filter-button", inputs: ["layer", "map", "color", "header"] }, { kind: "component", type: TimeFilterButtonComponent, selector: "igo-time-filter-button", inputs: ["layer", "color", "header"] }, { kind: "component", type: TrackFeatureButtonComponent, selector: "igo-track-feature-button", inputs: ["layer", "trackFeature"], outputs: ["trackFeatureChange"] }, { kind: "component", type: MetadataButtonComponent, selector: "igo-metadata-button", inputs: ["layer", "color"] }, { kind: "component", type: LayerViewerComponent, selector: "igo-layer-viewer", inputs: ["map", "options", "isDesktop", "excludeBaseLayers"], outputs: ["appliedFilterAndSort"] }, { kind: "component", type: ContextListComponent, selector: "igo-context-list", inputs: ["isDesktop", "contexts", "selectedContext", "map", "defaultContextId", "term"], outputs: ["selectedContextChange", "select", "unselect", "edit", "delete", "save", "clone", "create", "hide", "show", "showHiddenContexts", "favorite", "managePermissions", "manageTools", "filterPermissionsChanged"] }, { kind: "ngmodule", type: IgoLanguageModule }, { kind: "pipe", type: i3$1.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
4110
4077
|
};
|
|
4111
4078
|
MapToolComponent = __decorate([
|
|
4112
4079
|
ToolComponent({
|
|
@@ -4116,7 +4083,7 @@ MapToolComponent = __decorate([
|
|
|
4116
4083
|
}),
|
|
4117
4084
|
__metadata("design:paramtypes", [])
|
|
4118
4085
|
], MapToolComponent);
|
|
4119
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
4086
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: MapToolComponent, decorators: [{
|
|
4120
4087
|
type: Component,
|
|
4121
4088
|
args: [{ selector: 'igo-map-tool', changeDetection: ChangeDetectionStrategy.OnPush, imports: [
|
|
4122
4089
|
MatTabsModule,
|
|
@@ -4144,40 +4111,21 @@ let MapToolsComponent = class MapToolsComponent {
|
|
|
4144
4111
|
configService = inject(ConfigService);
|
|
4145
4112
|
mediaService = inject(MediaService);
|
|
4146
4113
|
cdr = inject(ChangeDetectorRef);
|
|
4147
|
-
isDesktop;
|
|
4114
|
+
isDesktop = false;
|
|
4148
4115
|
layers$ = new BehaviorSubject([]);
|
|
4149
4116
|
showAllLegendsValue$ = new BehaviorSubject(false);
|
|
4150
4117
|
resolution$$;
|
|
4151
4118
|
visibleOrInRangeLayers$$;
|
|
4152
|
-
delayedShowEmptyMapContent = false;
|
|
4153
4119
|
allowShowAllLegends = input(false, ...(ngDevMode ? [{ debugName: "allowShowAllLegends" }] : /* istanbul ignore next */ []));
|
|
4154
4120
|
showAllLegendsValue = input(false, ...(ngDevMode ? [{ debugName: "showAllLegendsValue" }] : /* istanbul ignore next */ []));
|
|
4155
4121
|
toggleLegendOnVisibilityChange = input(false, ...(ngDevMode ? [{ debugName: "toggleLegendOnVisibilityChange" }] : /* istanbul ignore next */ []));
|
|
4156
4122
|
expandLegendOfVisibleLayers = input(false, ...(ngDevMode ? [{ debugName: "expandLegendOfVisibleLayers" }] : /* istanbul ignore next */ []));
|
|
4157
4123
|
updateLegendOnResolutionChange = input(false, ...(ngDevMode ? [{ debugName: "updateLegendOnResolutionChange" }] : /* istanbul ignore next */ []));
|
|
4158
|
-
selectedTabAtOpening = input(
|
|
4124
|
+
selectedTabAtOpening = input(...(ngDevMode ? [undefined, { debugName: "selectedTabAtOpening" }] : /* istanbul ignore next */ []));
|
|
4159
4125
|
ogcButton = input(true, ...(ngDevMode ? [{ debugName: "ogcButton" }] : /* istanbul ignore next */ []));
|
|
4160
4126
|
timeButton = input(true, ...(ngDevMode ? [{ debugName: "timeButton" }] : /* istanbul ignore next */ []));
|
|
4161
4127
|
layerAdditionAllowed = input(true, ...(ngDevMode ? [{ debugName: "layerAdditionAllowed" }] : /* istanbul ignore next */ []));
|
|
4162
|
-
|
|
4163
|
-
return this._layerListControls;
|
|
4164
|
-
}
|
|
4165
|
-
set layerListControls(value) {
|
|
4166
|
-
const stateOptions = this.layerListToolState.getLayerListControls();
|
|
4167
|
-
const stateKeyword = stateOptions.keyword;
|
|
4168
|
-
const stateOnlyVisible = stateOptions.onlyVisible;
|
|
4169
|
-
const stateSortAlpha = stateOptions.sortAlpha;
|
|
4170
|
-
value.keyword = stateKeyword !== '' ? stateKeyword : value.keyword;
|
|
4171
|
-
value.onlyVisible =
|
|
4172
|
-
stateOnlyVisible !== undefined ? stateOnlyVisible : value.onlyVisible;
|
|
4173
|
-
value.sortAlpha =
|
|
4174
|
-
stateSortAlpha !== undefined ? stateSortAlpha : value.sortAlpha;
|
|
4175
|
-
value.onlyVisible =
|
|
4176
|
-
value.onlyVisible === undefined ? false : value.onlyVisible;
|
|
4177
|
-
value.sortAlpha = value.sortAlpha === undefined ? false : value.sortAlpha;
|
|
4178
|
-
this._layerListControls = value;
|
|
4179
|
-
}
|
|
4180
|
-
_layerListControls = {};
|
|
4128
|
+
layerListControls = input({}, { ...(ngDevMode ? { debugName: "layerListControls" } : /* istanbul ignore next */ {}), transform: (value) => this.transformLayerListControls(value) });
|
|
4181
4129
|
get map() {
|
|
4182
4130
|
return this.mapState.map;
|
|
4183
4131
|
}
|
|
@@ -4189,13 +4137,13 @@ let MapToolsComponent = class MapToolsComponent {
|
|
|
4189
4137
|
return this.layers$.pipe(map((layers) => layers.filter((layer) => layer.visible)));
|
|
4190
4138
|
}
|
|
4191
4139
|
get excludeBaseLayers() {
|
|
4192
|
-
return this.layerListControls.excludeBaseLayers || false;
|
|
4140
|
+
return this.layerListControls().excludeBaseLayers || false;
|
|
4193
4141
|
}
|
|
4194
4142
|
get layerFilterAndSortOptions() {
|
|
4195
4143
|
const filterSortOptions = Object.assign({
|
|
4196
4144
|
showToolbar: LayerListControlsEnum.default
|
|
4197
|
-
}, this.layerListControls);
|
|
4198
|
-
switch (this.layerListControls.showToolbar) {
|
|
4145
|
+
}, this.layerListControls());
|
|
4146
|
+
switch (this.layerListControls().showToolbar) {
|
|
4199
4147
|
case LayerListControlsEnum.always:
|
|
4200
4148
|
filterSortOptions.showToolbar = LayerListControlsEnum.always;
|
|
4201
4149
|
break;
|
|
@@ -4258,14 +4206,10 @@ let MapToolsComponent = class MapToolsComponent {
|
|
|
4258
4206
|
else {
|
|
4259
4207
|
this.showAllLegendsValue$.next(false);
|
|
4260
4208
|
}
|
|
4261
|
-
// prevent message to be shown too quickly. Waiting for layers
|
|
4262
|
-
setTimeout(() => (this.delayedShowEmptyMapContent = true), 250);
|
|
4263
4209
|
}
|
|
4264
4210
|
ngOnDestroy() {
|
|
4265
|
-
this.resolution
|
|
4266
|
-
|
|
4267
|
-
this.visibleOrInRangeLayers$$.unsubscribe();
|
|
4268
|
-
}
|
|
4211
|
+
this.resolution$$?.unsubscribe();
|
|
4212
|
+
this.visibleOrInRangeLayers$$?.unsubscribe();
|
|
4269
4213
|
}
|
|
4270
4214
|
onShowAllLegends(event) {
|
|
4271
4215
|
this.mapState.showAllLegendsValue = event;
|
|
@@ -4290,7 +4234,9 @@ let MapToolsComponent = class MapToolsComponent {
|
|
|
4290
4234
|
this.layers$.next(this.map.layerController.all);
|
|
4291
4235
|
}
|
|
4292
4236
|
onLayerListChange(appliedFilters) {
|
|
4293
|
-
|
|
4237
|
+
if (appliedFilters.keyword !== undefined) {
|
|
4238
|
+
this.layerListToolState.setKeyword(appliedFilters.keyword);
|
|
4239
|
+
}
|
|
4294
4240
|
this.layerListToolState.setSortAlpha(appliedFilters.sortAlpha);
|
|
4295
4241
|
this.layerListToolState.setOnlyVisible(appliedFilters.onlyVisible);
|
|
4296
4242
|
}
|
|
@@ -4338,10 +4284,16 @@ let MapToolsComponent = class MapToolsComponent {
|
|
|
4338
4284
|
this.toolState.toolbox.activateTool('contextManager');
|
|
4339
4285
|
}
|
|
4340
4286
|
isTimeFilterButton(layer) {
|
|
4287
|
+
if (!layer.dataSource)
|
|
4288
|
+
return false;
|
|
4289
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
4341
4290
|
const options = layer.dataSource.options;
|
|
4342
4291
|
return this.timeButton() && options.timeFilterable && options.timeFilter;
|
|
4343
4292
|
}
|
|
4344
4293
|
isOGCFilterButton(layer) {
|
|
4294
|
+
if (!layer.dataSource)
|
|
4295
|
+
return false;
|
|
4296
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
4345
4297
|
const options = layer.dataSource.options;
|
|
4346
4298
|
return (this.ogcButton() &&
|
|
4347
4299
|
options.ogcFilters &&
|
|
@@ -4364,10 +4316,8 @@ let MapToolsComponent = class MapToolsComponent {
|
|
|
4364
4316
|
return false;
|
|
4365
4317
|
}
|
|
4366
4318
|
isStyleEditButton(layer) {
|
|
4367
|
-
if (layer instanceof VectorLayer) {
|
|
4368
|
-
|
|
4369
|
-
return true;
|
|
4370
|
-
}
|
|
4319
|
+
if (layer instanceof VectorLayer || layer instanceof VectorTileLayer) {
|
|
4320
|
+
return layer.visible && isOlFlatStyleLike(layer.style);
|
|
4371
4321
|
}
|
|
4372
4322
|
return false;
|
|
4373
4323
|
}
|
|
@@ -4377,8 +4327,26 @@ let MapToolsComponent = class MapToolsComponent {
|
|
|
4377
4327
|
this.cdr.detectChanges();
|
|
4378
4328
|
});
|
|
4379
4329
|
}
|
|
4380
|
-
|
|
4381
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.10", type: MapToolsComponent, isStandalone: true, selector: "igo-map-tools", inputs: { allowShowAllLegends: { classPropertyName: "allowShowAllLegends", publicName: "allowShowAllLegends", isSignal: true, isRequired: false, transformFunction: null }, showAllLegendsValue: { classPropertyName: "showAllLegendsValue", publicName: "showAllLegendsValue", isSignal: true, isRequired: false, transformFunction: null }, toggleLegendOnVisibilityChange: { classPropertyName: "toggleLegendOnVisibilityChange", publicName: "toggleLegendOnVisibilityChange", isSignal: true, isRequired: false, transformFunction: null }, expandLegendOfVisibleLayers: { classPropertyName: "expandLegendOfVisibleLayers", publicName: "expandLegendOfVisibleLayers", isSignal: true, isRequired: false, transformFunction: null }, updateLegendOnResolutionChange: { classPropertyName: "updateLegendOnResolutionChange", publicName: "updateLegendOnResolutionChange", isSignal: true, isRequired: false, transformFunction: null }, selectedTabAtOpening: { classPropertyName: "selectedTabAtOpening", publicName: "selectedTabAtOpening", isSignal: true, isRequired: false, transformFunction: null }, ogcButton: { classPropertyName: "ogcButton", publicName: "ogcButton", isSignal: true, isRequired: false, transformFunction: null }, timeButton: { classPropertyName: "timeButton", publicName: "timeButton", isSignal: true, isRequired: false, transformFunction: null }, layerAdditionAllowed: { classPropertyName: "layerAdditionAllowed", publicName: "layerAdditionAllowed", isSignal: true, isRequired: false, transformFunction: null }, layerListControls: { classPropertyName: "layerListControls", publicName: "layerListControls", isSignal: false, isRequired: false, transformFunction: null }, queryBadge: { classPropertyName: "queryBadge", publicName: "queryBadge", isSignal: true, isRequired: false, transformFunction: null } }, viewQueries: [{ propertyName: "tabGroup", first: true, predicate: ["tabGroup"], descendants: true, isSignal: true }], ngImport: i0, template: "<mat-tab-group\n #tabGroup\n [selectedIndex]=\"layerListToolState.selectedTab$ | async\"\n (selectedTabChange)=\"tabChanged($event)\"\n>\n <mat-tab [label]=\"'igo.integration.tools.layers' | translate\">\n <igo-layer-viewer\n [options]=\"layerViewerOptions\"\n [map]=\"map\"\n [excludeBaseLayers]=\"excludeBaseLayers\"\n [isDesktop]=\"isDesktop\"\n (appliedFilterAndSort)=\"onLayerListChange($event)\"\n >\n <ng-template #customBottomActions let-layer=\"layer\">\n @if (isStyleEditButton(layer)) {\n <igo-style-modal-layer-button [layer]=\"layer\" />\n }\n <igo-metadata-button [layer]=\"layer\" />\n <igo-track-feature-button [trackFeature]=\"true\" [layer]=\"layer\" />\n @if (isTimeFilterButton(layer)) {\n <igo-time-filter-button\n [header]=\"timeButton()\"\n [layer]=\"layer\"\n (click)=\"activateTimeFilter()\"\n />\n }\n @if (isOGCFilterButton(layer)) {\n <igo-ogc-filter-button\n [header]=\"ogcButton()\"\n [layer]=\"layer\"\n (click)=\"activateOgcFilter()\"\n />\n }\n @if (isExportButton(layer)) {\n <igo-export-button [layer]=\"layer\" (click)=\"activateExport(layer)\" />\n }\n <igo-workspace-button [layer]=\"layer\" />\n </ng-template>\n\n <ng-container ngProjectAs=\"[emptyList]\">\n <ng-template [ngTemplateOutlet]=\"emptyLayers\" />\n </ng-container>\n </igo-layer-viewer>\n </mat-tab>\n\n <mat-tab [label]=\"'igo.integration.tools.legend' | translate\">\n @if (showAllLegend()) {\n <igo-layer-legend-list\n igoLayerLegendListBinding\n [allowShowAllLegends]=\"allowShowAllLegends()\"\n [showAllLegendsValue]=\"showAllLegendsValue$ | async\"\n (allLegendsShown)=\"onShowAllLegends($event)\"\n [excludeBaseLayers]=\"excludeBaseLayers\"\n [updateLegendOnResolutionChange]=\"updateLegendOnResolutionChange()\"\n />\n }\n @if ((layers$ | async).length !== 0) {\n } @else {\n @if (delayedShowEmptyMapContent) {\n <mat-list>\n <p class=\"map-empty\">\n {{ 'igo.integration.mapTool.empty' | translate }}\n </p>\n @if (\n layerAdditionAllowed() &&\n (searchToolInToolbar ||\n catalogToolInToolbar ||\n contextToolInToolbar)\n ) {\n <p class=\"map-empty\">\n {{ 'igo.integration.mapTool.customize' | translate }}\n </p>\n }\n @if (layerAdditionAllowed() && searchToolInToolbar) {\n <mat-list-item>\n <mat-icon matListItemIcon>search</mat-icon>\n <span matListItemTitle class=\"search-tool\" (click)=\"searchEmit()\">\n {{ 'igo.integration.mapTool.search-tool' | translate }}\n </span>\n </mat-list-item>\n }\n @if (layerAdditionAllowed() && catalogToolInToolbar) {\n <mat-list-item>\n <mat-icon matListItemIcon>library_add</mat-icon>\n <span\n matListItemTitle\n class=\"catalog-tool\"\n (click)=\"catalogEmit()\"\n >\n {{ 'igo.integration.mapTool.catalog-tool' | translate }}\n </span>\n </mat-list-item>\n }\n @if (layerAdditionAllowed() && contextToolInToolbar) {\n <mat-list-item>\n <mat-icon matListItemIcon>star</mat-icon>\n <span\n matListItemTitle\n class=\"context-tool\"\n (click)=\"contextEmit()\"\n >\n {{ 'igo.integration.mapTool.context-tool' | translate }}\n </span>\n </mat-list-item>\n }\n </mat-list>\n }\n }\n\n @if (\n !allowShowAllLegends() &&\n (layers$ | async).length !== 0 &&\n (visibleOrInRangeLayers$ | async).length === 0\n ) {\n <p class=\"map-empty\">\n {{\n (visibleLayers$ | async).length\n ? ('igo.integration.mapTool.noLayersInRange' | translate)\n : ('igo.integration.mapTool.noLayersVisible' | translate)\n }}\n </p>\n }\n </mat-tab>\n\n <ng-template #emptyLayers>\n @if (delayedShowEmptyMapContent) {\n <mat-list>\n <p class=\"map-empty\">\n {{ 'igo.integration.mapTool.empty' | translate }}\n </p>\n @if (\n layerAdditionAllowed() &&\n (searchToolInToolbar || catalogToolInToolbar || contextToolInToolbar)\n ) {\n <p class=\"map-empty\">\n {{ 'igo.integration.mapTool.customize' | translate }}\n </p>\n }\n @if (layerAdditionAllowed() && searchToolInToolbar) {\n <mat-list-item>\n <mat-icon matListItemIcon>search</mat-icon>\n <span matListItemTitle class=\"search-tool\" (click)=\"searchEmit()\">\n {{ 'igo.integration.mapTool.search-tool' | translate }}\n </span>\n </mat-list-item>\n }\n @if (layerAdditionAllowed() && catalogToolInToolbar) {\n <mat-list-item>\n <mat-icon matListItemIcon>library_add</mat-icon>\n <span matListItemTitle class=\"catalog-tool\" (click)=\"catalogEmit()\">\n {{ 'igo.integration.mapTool.catalog-tool' | translate }}\n </span>\n </mat-list-item>\n }\n @if (layerAdditionAllowed() && contextToolInToolbar) {\n <mat-list-item>\n <mat-icon matListItemIcon>star</mat-icon>\n <span matListItemTitle class=\"context-tool\" (click)=\"contextEmit()\">\n {{ 'igo.integration.mapTool.context-tool' | translate }}\n </span>\n </mat-list-item>\n }\n </mat-list>\n }\n </ng-template>\n</mat-tab-group>\n", styles: [":host mat-tab-group{height:100%}:host ::ng-deep .mat-mdc-tab-body-wrapper{flex:1}:host ::ng-deep .mat-tab-body{margin-top:8px}:host ::ng-deep .mat-mdc-tab-body-content{overflow:hidden}:host .map-empty,:host .search-tool,:host .catalog-tool,:host .context-tool{margin:10px}:host .map-empty{text-align:justify}:host .search-tool,:host .catalog-tool,:host .context-tool{cursor:pointer}:host mat-list mat-list-item h4{font-weight:700}:host mat-list-item ::ng-deep .mdc-list-item__primary-text{font-size:smaller}:host mat-list.mat-mdc-list-base mat-list-item.mat-mdc-list-item ::ng-deep div.mdc-list-item__content div.mdc-list-item__primary-text{padding-left:5px}\n"], dependencies: [{ kind: "ngmodule", type: MatTabsModule }, { kind: "component", type: i1$2.MatTab, selector: "mat-tab", inputs: ["disabled", "label", "aria-label", "aria-labelledby", "labelClass", "bodyClass", "id"], exportAs: ["matTab"] }, { kind: "component", type: i1$2.MatTabGroup, selector: "mat-tab-group", inputs: ["color", "fitInkBarToContent", "mat-stretch-tabs", "mat-align-tabs", "dynamicHeight", "selectedIndex", "headerPosition", "animationDuration", "contentTabIndex", "disablePagination", "disableRipple", "preserveContent", "backgroundColor", "aria-label", "aria-labelledby"], outputs: ["selectedIndexChange", "focusChange", "animationDone", "selectedTabChange"], exportAs: ["matTabGroup"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: LayerViewerComponent, selector: "igo-layer-viewer", inputs: ["map", "options", "isDesktop", "excludeBaseLayers"], outputs: ["appliedFilterAndSort"] }, { kind: "component", type: StyleModalLayerButtonComponent, selector: "igo-style-modal-layer-button", inputs: ["layer"] }, { kind: "component", type: MetadataButtonComponent, selector: "igo-metadata-button", inputs: ["layer", "color"] }, { kind: "component", type: TrackFeatureButtonComponent, selector: "igo-track-feature-button", inputs: ["layer", "trackFeature"], outputs: ["trackFeatureChange"] }, { kind: "component", type: TimeFilterButtonComponent, selector: "igo-time-filter-button", inputs: ["layer", "map", "color", "header"] }, { kind: "component", type: OgcFilterButtonComponent, selector: "igo-ogc-filter-button", inputs: ["layer", "map", "color", "header"] }, { kind: "component", type: ExportButtonComponent, selector: "igo-export-button", inputs: ["layer", "color"] }, { kind: "component", type: WorkspaceButtonComponent, selector: "igo-workspace-button", inputs: ["layer", "color"] }, { kind: "component", type: LayerLegendListComponent, selector: "igo-layer-legend-list", inputs: ["layers", "excludeBaseLayers", "updateLegendOnResolutionChange", "allowShowAllLegends", "showAllLegendsValue"], outputs: ["layersChange", "showAllLegendsValueChange", "allLegendsShown"] }, { kind: "directive", type: LayerLegendListBindingDirective, selector: "[igoLayerLegendListBinding]" }, { kind: "ngmodule", type: MatListModule }, { kind: "component", type: i1$5.MatList, selector: "mat-list", exportAs: ["matList"] }, { kind: "component", type: i1$5.MatListItem, selector: "mat-list-item, a[mat-list-item], button[mat-list-item]", inputs: ["activated"], exportAs: ["matListItem"] }, { kind: "directive", type: i1$5.MatListItemIcon, selector: "[matListItemIcon]" }, { kind: "directive", type: i1$5.MatListItemTitle, selector: "[matListItemTitle]" }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: IgoLanguageModule }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: i3$1.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
4330
|
+
transformLayerListControls(value) {
|
|
4331
|
+
if (!value) {
|
|
4332
|
+
return {};
|
|
4333
|
+
}
|
|
4334
|
+
const stateOptions = this.layerListToolState.getLayerListControls();
|
|
4335
|
+
const stateKeyword = stateOptions.keyword;
|
|
4336
|
+
const stateOnlyVisible = stateOptions.onlyVisible;
|
|
4337
|
+
const stateSortAlpha = stateOptions.sortAlpha;
|
|
4338
|
+
value.keyword = stateKeyword !== '' ? stateKeyword : value.keyword;
|
|
4339
|
+
value.onlyVisible =
|
|
4340
|
+
stateOnlyVisible !== undefined ? stateOnlyVisible : value.onlyVisible;
|
|
4341
|
+
value.sortAlpha =
|
|
4342
|
+
stateSortAlpha !== undefined ? stateSortAlpha : value.sortAlpha;
|
|
4343
|
+
value.onlyVisible =
|
|
4344
|
+
value.onlyVisible === undefined ? false : value.onlyVisible;
|
|
4345
|
+
value.sortAlpha = value.sortAlpha === undefined ? false : value.sortAlpha;
|
|
4346
|
+
return value;
|
|
4347
|
+
}
|
|
4348
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: MapToolsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
4349
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.23", type: MapToolsComponent, isStandalone: true, selector: "igo-map-tools", inputs: { allowShowAllLegends: { classPropertyName: "allowShowAllLegends", publicName: "allowShowAllLegends", isSignal: true, isRequired: false, transformFunction: null }, showAllLegendsValue: { classPropertyName: "showAllLegendsValue", publicName: "showAllLegendsValue", isSignal: true, isRequired: false, transformFunction: null }, toggleLegendOnVisibilityChange: { classPropertyName: "toggleLegendOnVisibilityChange", publicName: "toggleLegendOnVisibilityChange", isSignal: true, isRequired: false, transformFunction: null }, expandLegendOfVisibleLayers: { classPropertyName: "expandLegendOfVisibleLayers", publicName: "expandLegendOfVisibleLayers", isSignal: true, isRequired: false, transformFunction: null }, updateLegendOnResolutionChange: { classPropertyName: "updateLegendOnResolutionChange", publicName: "updateLegendOnResolutionChange", isSignal: true, isRequired: false, transformFunction: null }, selectedTabAtOpening: { classPropertyName: "selectedTabAtOpening", publicName: "selectedTabAtOpening", isSignal: true, isRequired: false, transformFunction: null }, ogcButton: { classPropertyName: "ogcButton", publicName: "ogcButton", isSignal: true, isRequired: false, transformFunction: null }, timeButton: { classPropertyName: "timeButton", publicName: "timeButton", isSignal: true, isRequired: false, transformFunction: null }, layerAdditionAllowed: { classPropertyName: "layerAdditionAllowed", publicName: "layerAdditionAllowed", isSignal: true, isRequired: false, transformFunction: null }, layerListControls: { classPropertyName: "layerListControls", publicName: "layerListControls", isSignal: true, isRequired: false, transformFunction: null }, queryBadge: { classPropertyName: "queryBadge", publicName: "queryBadge", isSignal: true, isRequired: false, transformFunction: null } }, viewQueries: [{ propertyName: "tabGroup", first: true, predicate: ["tabGroup"], descendants: true, isSignal: true }], ngImport: i0, template: "<mat-tab-group\n #tabGroup\n [selectedIndex]=\"layerListToolState.selectedTab$ | async\"\n (selectedTabChange)=\"tabChanged($event)\"\n>\n <mat-tab [label]=\"'igo.integration.tools.layers' | translate\">\n <igo-layer-viewer\n [options]=\"layerViewerOptions\"\n [map]=\"map\"\n [excludeBaseLayers]=\"excludeBaseLayers\"\n [isDesktop]=\"isDesktop\"\n (appliedFilterAndSort)=\"onLayerListChange($event)\"\n >\n <ng-template #customBottomActions let-layer=\"layer\">\n @if (isStyleEditButton(layer)) {\n <igo-style-modal-layer-button [layer]=\"layer\" />\n }\n <igo-metadata-button [layer]=\"layer\" />\n <igo-track-feature-button [trackFeature]=\"true\" [layer]=\"layer\" />\n @if (isTimeFilterButton(layer)) {\n <igo-time-filter-button\n [header]=\"timeButton()\"\n [layer]=\"layer\"\n (click)=\"activateTimeFilter()\"\n />\n }\n @if (isOGCFilterButton(layer)) {\n <igo-ogc-filter-button\n [header]=\"ogcButton()\"\n [layer]=\"layer\"\n (click)=\"activateOgcFilter()\"\n />\n }\n @if (isExportButton(layer)) {\n <igo-export-button [layer]=\"layer\" (click)=\"activateExport(layer)\" />\n }\n <igo-workspace-button [layer]=\"layer\" />\n </ng-template>\n\n <ng-container ngProjectAs=\"[emptyList]\">\n <ng-template [ngTemplateOutlet]=\"emptyLayers\" />\n </ng-container>\n </igo-layer-viewer>\n </mat-tab>\n\n <mat-tab [label]=\"'igo.integration.tools.legend' | translate\">\n @if (showAllLegend()) {\n <igo-layer-legend-list\n igoLayerLegendListBinding\n [allowShowAllLegends]=\"allowShowAllLegends()\"\n [showAllLegendsValue]=\"!!(showAllLegendsValue$ | async)\"\n (allLegendsShown)=\"onShowAllLegends($event)\"\n [excludeBaseLayers]=\"excludeBaseLayers\"\n [updateLegendOnResolutionChange]=\"updateLegendOnResolutionChange()\"\n />\n }\n @if ((layers$ | async)?.length !== 0) {\n } @else {\n <mat-list>\n <p class=\"map-empty mat-typography\">\n {{ 'igo.integration.mapTool.empty' | translate }}\n </p>\n @if (\n layerAdditionAllowed() &&\n (searchToolInToolbar || catalogToolInToolbar || contextToolInToolbar)\n ) {\n <p class=\"map-empty\">\n {{ 'igo.integration.mapTool.customize' | translate }}\n </p>\n }\n @if (layerAdditionAllowed() && searchToolInToolbar) {\n <mat-list-item>\n <mat-icon matListItemIcon>search</mat-icon>\n <span matListItemTitle class=\"search-tool\" (click)=\"searchEmit()\">\n {{ 'igo.integration.mapTool.search-tool' | translate }}\n </span>\n </mat-list-item>\n }\n @if (layerAdditionAllowed() && catalogToolInToolbar) {\n <mat-list-item>\n <mat-icon matListItemIcon>library_add</mat-icon>\n <span matListItemTitle class=\"catalog-tool\" (click)=\"catalogEmit()\">\n {{ 'igo.integration.mapTool.catalog-tool' | translate }}\n </span>\n </mat-list-item>\n }\n @if (layerAdditionAllowed() && contextToolInToolbar) {\n <mat-list-item>\n <mat-icon matListItemIcon>star</mat-icon>\n <span matListItemTitle class=\"context-tool\" (click)=\"contextEmit()\">\n {{ 'igo.integration.mapTool.context-tool' | translate }}\n </span>\n </mat-list-item>\n }\n </mat-list>\n }\n\n @if (\n !allowShowAllLegends() &&\n (layers$ | async)?.length !== 0 &&\n (visibleOrInRangeLayers$ | async)?.length === 0\n ) {\n <p class=\"map-empty\">\n {{\n (visibleLayers$ | async)?.length\n ? ('igo.integration.mapTool.noLayersInRange' | translate)\n : ('igo.integration.mapTool.noLayersVisible' | translate)\n }}\n </p>\n }\n </mat-tab>\n\n <ng-template #emptyLayers>\n <mat-list>\n <p class=\"map-empty mat-typography\">\n {{ 'igo.integration.mapTool.empty' | translate }}\n </p>\n @if (\n layerAdditionAllowed() &&\n (searchToolInToolbar || catalogToolInToolbar || contextToolInToolbar)\n ) {\n <p class=\"map-empty\">\n {{ 'igo.integration.mapTool.customize' | translate }}\n </p>\n }\n\n @if (layerAdditionAllowed() && searchToolInToolbar) {\n <mat-list-item>\n <mat-icon matListItemIcon>search</mat-icon>\n <span matListItemTitle class=\"search-tool\" (click)=\"searchEmit()\">\n {{ 'igo.integration.mapTool.search-tool' | translate }}\n </span>\n </mat-list-item>\n }\n @if (layerAdditionAllowed() && catalogToolInToolbar) {\n <mat-list-item>\n <mat-icon matListItemIcon>library_add</mat-icon>\n <span matListItemTitle class=\"catalog-tool\" (click)=\"catalogEmit()\">\n {{ 'igo.integration.mapTool.catalog-tool' | translate }}\n </span>\n </mat-list-item>\n }\n @if (layerAdditionAllowed() && contextToolInToolbar) {\n <mat-list-item>\n <mat-icon matListItemIcon>star</mat-icon>\n <span matListItemTitle class=\"context-tool\" (click)=\"contextEmit()\">\n {{ 'igo.integration.mapTool.context-tool' | translate }}\n </span>\n </mat-list-item>\n }\n </mat-list>\n </ng-template>\n</mat-tab-group>\n", styles: [":host mat-tab-group{height:100%}:host ::ng-deep .mat-mdc-tab-body-wrapper{flex:1}:host ::ng-deep .mat-tab-body{margin-top:8px}:host ::ng-deep .mat-mdc-tab-body-content{overflow:hidden}:host .map-empty,:host .search-tool,:host .catalog-tool,:host .context-tool{margin:10px}:host .map-empty{text-align:justify}:host .search-tool,:host .catalog-tool,:host .context-tool{cursor:pointer}:host mat-list mat-list-item h4{font-weight:700}:host mat-list-item ::ng-deep .mdc-list-item__primary-text{font-size:smaller}:host mat-list.mat-mdc-list-base mat-list-item.mat-mdc-list-item ::ng-deep div.mdc-list-item__content div.mdc-list-item__primary-text{padding-left:5px}\n"], dependencies: [{ kind: "ngmodule", type: MatTabsModule }, { kind: "component", type: i1$2.MatTab, selector: "mat-tab", inputs: ["disabled", "label", "aria-label", "aria-labelledby", "labelClass", "bodyClass", "id"], exportAs: ["matTab"] }, { kind: "component", type: i1$2.MatTabGroup, selector: "mat-tab-group", inputs: ["color", "fitInkBarToContent", "mat-stretch-tabs", "mat-align-tabs", "dynamicHeight", "selectedIndex", "headerPosition", "animationDuration", "contentTabIndex", "disablePagination", "disableRipple", "preserveContent", "backgroundColor", "aria-label", "aria-labelledby"], outputs: ["selectedIndexChange", "focusChange", "animationDone", "selectedTabChange"], exportAs: ["matTabGroup"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: LayerViewerComponent, selector: "igo-layer-viewer", inputs: ["map", "options", "isDesktop", "excludeBaseLayers"], outputs: ["appliedFilterAndSort"] }, { kind: "component", type: StyleModalLayerButtonComponent, selector: "igo-style-modal-layer-button", inputs: ["layer"] }, { kind: "component", type: MetadataButtonComponent, selector: "igo-metadata-button", inputs: ["layer", "color"] }, { kind: "component", type: TrackFeatureButtonComponent, selector: "igo-track-feature-button", inputs: ["layer", "trackFeature"], outputs: ["trackFeatureChange"] }, { kind: "component", type: TimeFilterButtonComponent, selector: "igo-time-filter-button", inputs: ["layer", "color", "header"] }, { kind: "component", type: OgcFilterButtonComponent, selector: "igo-ogc-filter-button", inputs: ["layer", "map", "color", "header"] }, { kind: "component", type: ExportButtonComponent, selector: "igo-export-button", inputs: ["layer", "color"] }, { kind: "component", type: WorkspaceButtonComponent, selector: "igo-workspace-button", inputs: ["layer", "color"] }, { kind: "component", type: LayerLegendListComponent, selector: "igo-layer-legend-list", inputs: ["layers", "excludeBaseLayers", "updateLegendOnResolutionChange", "allowShowAllLegends", "showAllLegendsValue"], outputs: ["layersChange", "showAllLegendsValueChange", "allLegendsShown"] }, { kind: "directive", type: LayerLegendListBindingDirective, selector: "[igoLayerLegendListBinding]" }, { kind: "ngmodule", type: MatListModule }, { kind: "component", type: i1$5.MatList, selector: "mat-list", exportAs: ["matList"] }, { kind: "component", type: i1$5.MatListItem, selector: "mat-list-item, a[mat-list-item], button[mat-list-item]", inputs: ["activated"], exportAs: ["matListItem"] }, { kind: "directive", type: i1$5.MatListItemIcon, selector: "[matListItemIcon]" }, { kind: "directive", type: i1$5.MatListItemTitle, selector: "[matListItemTitle]" }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: IgoLanguageModule }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: i3$1.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
4382
4350
|
};
|
|
4383
4351
|
MapToolsComponent = __decorate([
|
|
4384
4352
|
ToolComponent({
|
|
@@ -4388,7 +4356,7 @@ MapToolsComponent = __decorate([
|
|
|
4388
4356
|
}),
|
|
4389
4357
|
__metadata("design:paramtypes", [])
|
|
4390
4358
|
], MapToolsComponent);
|
|
4391
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
4359
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: MapToolsComponent, decorators: [{
|
|
4392
4360
|
type: Component,
|
|
4393
4361
|
args: [{ selector: 'igo-map-tools', changeDetection: ChangeDetectionStrategy.OnPush, imports: [
|
|
4394
4362
|
MatTabsModule,
|
|
@@ -4407,10 +4375,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.10", ngImpo
|
|
|
4407
4375
|
MatIconModule,
|
|
4408
4376
|
AsyncPipe,
|
|
4409
4377
|
IgoLanguageModule
|
|
4410
|
-
], template: "<mat-tab-group\n #tabGroup\n [selectedIndex]=\"layerListToolState.selectedTab$ | async\"\n (selectedTabChange)=\"tabChanged($event)\"\n>\n <mat-tab [label]=\"'igo.integration.tools.layers' | translate\">\n <igo-layer-viewer\n [options]=\"layerViewerOptions\"\n [map]=\"map\"\n [excludeBaseLayers]=\"excludeBaseLayers\"\n [isDesktop]=\"isDesktop\"\n (appliedFilterAndSort)=\"onLayerListChange($event)\"\n >\n <ng-template #customBottomActions let-layer=\"layer\">\n @if (isStyleEditButton(layer)) {\n <igo-style-modal-layer-button [layer]=\"layer\" />\n }\n <igo-metadata-button [layer]=\"layer\" />\n <igo-track-feature-button [trackFeature]=\"true\" [layer]=\"layer\" />\n @if (isTimeFilterButton(layer)) {\n <igo-time-filter-button\n [header]=\"timeButton()\"\n [layer]=\"layer\"\n (click)=\"activateTimeFilter()\"\n />\n }\n @if (isOGCFilterButton(layer)) {\n <igo-ogc-filter-button\n [header]=\"ogcButton()\"\n [layer]=\"layer\"\n (click)=\"activateOgcFilter()\"\n />\n }\n @if (isExportButton(layer)) {\n <igo-export-button [layer]=\"layer\" (click)=\"activateExport(layer)\" />\n }\n <igo-workspace-button [layer]=\"layer\" />\n </ng-template>\n\n <ng-container ngProjectAs=\"[emptyList]\">\n <ng-template [ngTemplateOutlet]=\"emptyLayers\" />\n </ng-container>\n </igo-layer-viewer>\n </mat-tab>\n\n <mat-tab [label]=\"'igo.integration.tools.legend' | translate\">\n @if (showAllLegend()) {\n <igo-layer-legend-list\n igoLayerLegendListBinding\n [allowShowAllLegends]=\"allowShowAllLegends()\"\n [showAllLegendsValue]=\"showAllLegendsValue$ | async\"\n (allLegendsShown)=\"onShowAllLegends($event)\"\n [excludeBaseLayers]=\"excludeBaseLayers\"\n [updateLegendOnResolutionChange]=\"updateLegendOnResolutionChange()\"\n />\n }\n @if ((layers$ | async)
|
|
4411
|
-
}], ctorParameters: () => [], propDecorators: { allowShowAllLegends: [{ type: i0.Input, args: [{ isSignal: true, alias: "allowShowAllLegends", required: false }] }], showAllLegendsValue: [{ type: i0.Input, args: [{ isSignal: true, alias: "showAllLegendsValue", required: false }] }], toggleLegendOnVisibilityChange: [{ type: i0.Input, args: [{ isSignal: true, alias: "toggleLegendOnVisibilityChange", required: false }] }], expandLegendOfVisibleLayers: [{ type: i0.Input, args: [{ isSignal: true, alias: "expandLegendOfVisibleLayers", required: false }] }], updateLegendOnResolutionChange: [{ type: i0.Input, args: [{ isSignal: true, alias: "updateLegendOnResolutionChange", required: false }] }], selectedTabAtOpening: [{ type: i0.Input, args: [{ isSignal: true, alias: "selectedTabAtOpening", required: false }] }], ogcButton: [{ type: i0.Input, args: [{ isSignal: true, alias: "ogcButton", required: false }] }], timeButton: [{ type: i0.Input, args: [{ isSignal: true, alias: "timeButton", required: false }] }], layerAdditionAllowed: [{ type: i0.Input, args: [{ isSignal: true, alias: "layerAdditionAllowed", required: false }] }], layerListControls: [{
|
|
4412
|
-
type: Input
|
|
4413
|
-
}], queryBadge: [{ type: i0.Input, args: [{ isSignal: true, alias: "queryBadge", required: false }] }], tabGroup: [{ type: i0.ViewChild, args: ['tabGroup', { isSignal: true }] }] } });
|
|
4378
|
+
], template: "<mat-tab-group\n #tabGroup\n [selectedIndex]=\"layerListToolState.selectedTab$ | async\"\n (selectedTabChange)=\"tabChanged($event)\"\n>\n <mat-tab [label]=\"'igo.integration.tools.layers' | translate\">\n <igo-layer-viewer\n [options]=\"layerViewerOptions\"\n [map]=\"map\"\n [excludeBaseLayers]=\"excludeBaseLayers\"\n [isDesktop]=\"isDesktop\"\n (appliedFilterAndSort)=\"onLayerListChange($event)\"\n >\n <ng-template #customBottomActions let-layer=\"layer\">\n @if (isStyleEditButton(layer)) {\n <igo-style-modal-layer-button [layer]=\"layer\" />\n }\n <igo-metadata-button [layer]=\"layer\" />\n <igo-track-feature-button [trackFeature]=\"true\" [layer]=\"layer\" />\n @if (isTimeFilterButton(layer)) {\n <igo-time-filter-button\n [header]=\"timeButton()\"\n [layer]=\"layer\"\n (click)=\"activateTimeFilter()\"\n />\n }\n @if (isOGCFilterButton(layer)) {\n <igo-ogc-filter-button\n [header]=\"ogcButton()\"\n [layer]=\"layer\"\n (click)=\"activateOgcFilter()\"\n />\n }\n @if (isExportButton(layer)) {\n <igo-export-button [layer]=\"layer\" (click)=\"activateExport(layer)\" />\n }\n <igo-workspace-button [layer]=\"layer\" />\n </ng-template>\n\n <ng-container ngProjectAs=\"[emptyList]\">\n <ng-template [ngTemplateOutlet]=\"emptyLayers\" />\n </ng-container>\n </igo-layer-viewer>\n </mat-tab>\n\n <mat-tab [label]=\"'igo.integration.tools.legend' | translate\">\n @if (showAllLegend()) {\n <igo-layer-legend-list\n igoLayerLegendListBinding\n [allowShowAllLegends]=\"allowShowAllLegends()\"\n [showAllLegendsValue]=\"!!(showAllLegendsValue$ | async)\"\n (allLegendsShown)=\"onShowAllLegends($event)\"\n [excludeBaseLayers]=\"excludeBaseLayers\"\n [updateLegendOnResolutionChange]=\"updateLegendOnResolutionChange()\"\n />\n }\n @if ((layers$ | async)?.length !== 0) {\n } @else {\n <mat-list>\n <p class=\"map-empty mat-typography\">\n {{ 'igo.integration.mapTool.empty' | translate }}\n </p>\n @if (\n layerAdditionAllowed() &&\n (searchToolInToolbar || catalogToolInToolbar || contextToolInToolbar)\n ) {\n <p class=\"map-empty\">\n {{ 'igo.integration.mapTool.customize' | translate }}\n </p>\n }\n @if (layerAdditionAllowed() && searchToolInToolbar) {\n <mat-list-item>\n <mat-icon matListItemIcon>search</mat-icon>\n <span matListItemTitle class=\"search-tool\" (click)=\"searchEmit()\">\n {{ 'igo.integration.mapTool.search-tool' | translate }}\n </span>\n </mat-list-item>\n }\n @if (layerAdditionAllowed() && catalogToolInToolbar) {\n <mat-list-item>\n <mat-icon matListItemIcon>library_add</mat-icon>\n <span matListItemTitle class=\"catalog-tool\" (click)=\"catalogEmit()\">\n {{ 'igo.integration.mapTool.catalog-tool' | translate }}\n </span>\n </mat-list-item>\n }\n @if (layerAdditionAllowed() && contextToolInToolbar) {\n <mat-list-item>\n <mat-icon matListItemIcon>star</mat-icon>\n <span matListItemTitle class=\"context-tool\" (click)=\"contextEmit()\">\n {{ 'igo.integration.mapTool.context-tool' | translate }}\n </span>\n </mat-list-item>\n }\n </mat-list>\n }\n\n @if (\n !allowShowAllLegends() &&\n (layers$ | async)?.length !== 0 &&\n (visibleOrInRangeLayers$ | async)?.length === 0\n ) {\n <p class=\"map-empty\">\n {{\n (visibleLayers$ | async)?.length\n ? ('igo.integration.mapTool.noLayersInRange' | translate)\n : ('igo.integration.mapTool.noLayersVisible' | translate)\n }}\n </p>\n }\n </mat-tab>\n\n <ng-template #emptyLayers>\n <mat-list>\n <p class=\"map-empty mat-typography\">\n {{ 'igo.integration.mapTool.empty' | translate }}\n </p>\n @if (\n layerAdditionAllowed() &&\n (searchToolInToolbar || catalogToolInToolbar || contextToolInToolbar)\n ) {\n <p class=\"map-empty\">\n {{ 'igo.integration.mapTool.customize' | translate }}\n </p>\n }\n\n @if (layerAdditionAllowed() && searchToolInToolbar) {\n <mat-list-item>\n <mat-icon matListItemIcon>search</mat-icon>\n <span matListItemTitle class=\"search-tool\" (click)=\"searchEmit()\">\n {{ 'igo.integration.mapTool.search-tool' | translate }}\n </span>\n </mat-list-item>\n }\n @if (layerAdditionAllowed() && catalogToolInToolbar) {\n <mat-list-item>\n <mat-icon matListItemIcon>library_add</mat-icon>\n <span matListItemTitle class=\"catalog-tool\" (click)=\"catalogEmit()\">\n {{ 'igo.integration.mapTool.catalog-tool' | translate }}\n </span>\n </mat-list-item>\n }\n @if (layerAdditionAllowed() && contextToolInToolbar) {\n <mat-list-item>\n <mat-icon matListItemIcon>star</mat-icon>\n <span matListItemTitle class=\"context-tool\" (click)=\"contextEmit()\">\n {{ 'igo.integration.mapTool.context-tool' | translate }}\n </span>\n </mat-list-item>\n }\n </mat-list>\n </ng-template>\n</mat-tab-group>\n", styles: [":host mat-tab-group{height:100%}:host ::ng-deep .mat-mdc-tab-body-wrapper{flex:1}:host ::ng-deep .mat-tab-body{margin-top:8px}:host ::ng-deep .mat-mdc-tab-body-content{overflow:hidden}:host .map-empty,:host .search-tool,:host .catalog-tool,:host .context-tool{margin:10px}:host .map-empty{text-align:justify}:host .search-tool,:host .catalog-tool,:host .context-tool{cursor:pointer}:host mat-list mat-list-item h4{font-weight:700}:host mat-list-item ::ng-deep .mdc-list-item__primary-text{font-size:smaller}:host mat-list.mat-mdc-list-base mat-list-item.mat-mdc-list-item ::ng-deep div.mdc-list-item__content div.mdc-list-item__primary-text{padding-left:5px}\n"] }]
|
|
4379
|
+
}], ctorParameters: () => [], propDecorators: { allowShowAllLegends: [{ type: i0.Input, args: [{ isSignal: true, alias: "allowShowAllLegends", required: false }] }], showAllLegendsValue: [{ type: i0.Input, args: [{ isSignal: true, alias: "showAllLegendsValue", required: false }] }], toggleLegendOnVisibilityChange: [{ type: i0.Input, args: [{ isSignal: true, alias: "toggleLegendOnVisibilityChange", required: false }] }], expandLegendOfVisibleLayers: [{ type: i0.Input, args: [{ isSignal: true, alias: "expandLegendOfVisibleLayers", required: false }] }], updateLegendOnResolutionChange: [{ type: i0.Input, args: [{ isSignal: true, alias: "updateLegendOnResolutionChange", required: false }] }], selectedTabAtOpening: [{ type: i0.Input, args: [{ isSignal: true, alias: "selectedTabAtOpening", required: false }] }], ogcButton: [{ type: i0.Input, args: [{ isSignal: true, alias: "ogcButton", required: false }] }], timeButton: [{ type: i0.Input, args: [{ isSignal: true, alias: "timeButton", required: false }] }], layerAdditionAllowed: [{ type: i0.Input, args: [{ isSignal: true, alias: "layerAdditionAllowed", required: false }] }], layerListControls: [{ type: i0.Input, args: [{ isSignal: true, alias: "layerListControls", required: false }] }], queryBadge: [{ type: i0.Input, args: [{ isSignal: true, alias: "queryBadge", required: false }] }], tabGroup: [{ type: i0.ViewChild, args: ['tabGroup', { isSignal: true }] }] } });
|
|
4414
4380
|
|
|
4415
4381
|
/**
|
|
4416
4382
|
* @deprecated import the ImportExportToolComponent directly or INTEGRATION_MAP_DIRECTIVES for the set
|
|
@@ -4422,8 +4388,8 @@ class IgoAppMapModule {
|
|
|
4422
4388
|
providers: []
|
|
4423
4389
|
};
|
|
4424
4390
|
}
|
|
4425
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.
|
|
4426
|
-
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.
|
|
4391
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: IgoAppMapModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
4392
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.23", ngImport: i0, type: IgoAppMapModule, imports: [AdvancedMapToolComponent,
|
|
4427
4393
|
MapProximityToolComponent,
|
|
4428
4394
|
MapToolComponent,
|
|
4429
4395
|
MapToolsComponent,
|
|
@@ -4434,14 +4400,14 @@ class IgoAppMapModule {
|
|
|
4434
4400
|
MapToolsComponent,
|
|
4435
4401
|
MapDetailsToolComponent,
|
|
4436
4402
|
MapLegendToolComponent] });
|
|
4437
|
-
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.
|
|
4403
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: IgoAppMapModule, imports: [AdvancedMapToolComponent,
|
|
4438
4404
|
MapProximityToolComponent,
|
|
4439
4405
|
MapToolComponent,
|
|
4440
4406
|
MapToolsComponent,
|
|
4441
4407
|
MapDetailsToolComponent,
|
|
4442
4408
|
MapLegendToolComponent] });
|
|
4443
4409
|
}
|
|
4444
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
4410
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: IgoAppMapModule, decorators: [{
|
|
4445
4411
|
type: NgModule,
|
|
4446
4412
|
args: [{
|
|
4447
4413
|
imports: [
|
|
@@ -4488,10 +4454,10 @@ class MeasureState {
|
|
|
4488
4454
|
}
|
|
4489
4455
|
});
|
|
4490
4456
|
}
|
|
4491
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.
|
|
4492
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.
|
|
4457
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: MeasureState, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
4458
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: MeasureState, providedIn: 'root' });
|
|
4493
4459
|
}
|
|
4494
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
4460
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: MeasureState, decorators: [{
|
|
4495
4461
|
type: Injectable,
|
|
4496
4462
|
args: [{
|
|
4497
4463
|
providedIn: 'root'
|
|
@@ -4518,8 +4484,8 @@ let MeasurerToolComponent = class MeasurerToolComponent {
|
|
|
4518
4484
|
get map() {
|
|
4519
4485
|
return this.mapState.map;
|
|
4520
4486
|
}
|
|
4521
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.
|
|
4522
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.
|
|
4487
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: MeasurerToolComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
4488
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.23", type: MeasurerToolComponent, isStandalone: true, selector: "igo-measurer-tool", ngImport: i0, template: "<igo-measurer [store]=\"store\" [map]=\"map\" />\n", dependencies: [{ kind: "component", type: MeasurerComponent, selector: "igo-measurer", inputs: ["map", "store", "activeMeasureType", "minSegmentLength"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
4523
4489
|
};
|
|
4524
4490
|
MeasurerToolComponent = __decorate([
|
|
4525
4491
|
ToolComponent({
|
|
@@ -4528,7 +4494,7 @@ MeasurerToolComponent = __decorate([
|
|
|
4528
4494
|
icon: 'square_foot'
|
|
4529
4495
|
})
|
|
4530
4496
|
], MeasurerToolComponent);
|
|
4531
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
4497
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: MeasurerToolComponent, decorators: [{
|
|
4532
4498
|
type: Component,
|
|
4533
4499
|
args: [{ selector: 'igo-measurer-tool', changeDetection: ChangeDetectionStrategy.OnPush, imports: [MeasurerComponent], template: "<igo-measurer [store]=\"store\" [map]=\"map\" />\n" }]
|
|
4534
4500
|
}] });
|
|
@@ -4537,11 +4503,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.10", ngImpo
|
|
|
4537
4503
|
* @deprecated import the MeasurerToolComponent directly
|
|
4538
4504
|
*/
|
|
4539
4505
|
class IgoAppMeasurerToolModule {
|
|
4540
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.
|
|
4541
|
-
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.
|
|
4542
|
-
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.
|
|
4506
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: IgoAppMeasurerToolModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
4507
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.23", ngImport: i0, type: IgoAppMeasurerToolModule, imports: [MeasurerToolComponent], exports: [MeasurerToolComponent] });
|
|
4508
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: IgoAppMeasurerToolModule, imports: [MeasurerToolComponent] });
|
|
4543
4509
|
}
|
|
4544
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
4510
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: IgoAppMeasurerToolModule, decorators: [{
|
|
4545
4511
|
type: NgModule,
|
|
4546
4512
|
args: [{
|
|
4547
4513
|
imports: [MeasurerToolComponent],
|
|
@@ -4553,11 +4519,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.10", ngImpo
|
|
|
4553
4519
|
* @deprecated import the MeasurerToolComponent directly
|
|
4554
4520
|
*/
|
|
4555
4521
|
class IgoAppMeasureModule {
|
|
4556
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.
|
|
4557
|
-
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.
|
|
4558
|
-
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.
|
|
4522
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: IgoAppMeasureModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
4523
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.23", ngImport: i0, type: IgoAppMeasureModule, exports: [IgoAppMeasurerToolModule] });
|
|
4524
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: IgoAppMeasureModule, imports: [IgoAppMeasurerToolModule] });
|
|
4559
4525
|
}
|
|
4560
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
4526
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: IgoAppMeasureModule, decorators: [{
|
|
4561
4527
|
type: NgModule,
|
|
4562
4528
|
args: [{
|
|
4563
4529
|
exports: [IgoAppMeasurerToolModule]
|
|
@@ -4569,8 +4535,8 @@ let PrintToolComponent = class PrintToolComponent {
|
|
|
4569
4535
|
get map() {
|
|
4570
4536
|
return this.mapState.map;
|
|
4571
4537
|
}
|
|
4572
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.
|
|
4573
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.
|
|
4538
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: PrintToolComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
4539
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.23", type: PrintToolComponent, isStandalone: true, selector: "igo-print-tool", ngImport: i0, template: "<igo-print [map]=\"map\" />\n", dependencies: [{ kind: "component", type: PrintComponent, selector: "igo-print", inputs: ["map", "outputFormat", "paperFormat", "orientation", "imageFormat", "legendPosition", "resolution"] }] });
|
|
4574
4540
|
};
|
|
4575
4541
|
PrintToolComponent = __decorate([
|
|
4576
4542
|
ToolComponent({
|
|
@@ -4579,7 +4545,7 @@ PrintToolComponent = __decorate([
|
|
|
4579
4545
|
icon: 'print'
|
|
4580
4546
|
})
|
|
4581
4547
|
], PrintToolComponent);
|
|
4582
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
4548
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: PrintToolComponent, decorators: [{
|
|
4583
4549
|
type: Component,
|
|
4584
4550
|
args: [{ selector: 'igo-print-tool', imports: [PrintComponent], template: "<igo-print [map]=\"map\" />\n" }]
|
|
4585
4551
|
}] });
|
|
@@ -4594,11 +4560,11 @@ class IgoAppPrintModule {
|
|
|
4594
4560
|
providers: []
|
|
4595
4561
|
};
|
|
4596
4562
|
}
|
|
4597
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.
|
|
4598
|
-
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.
|
|
4599
|
-
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.
|
|
4563
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: IgoAppPrintModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
4564
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.23", ngImport: i0, type: IgoAppPrintModule, imports: [PrintToolComponent], exports: [PrintToolComponent] });
|
|
4565
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: IgoAppPrintModule, imports: [PrintToolComponent] });
|
|
4600
4566
|
}
|
|
4601
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
4567
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: IgoAppPrintModule, decorators: [{
|
|
4602
4568
|
type: NgModule,
|
|
4603
4569
|
args: [{
|
|
4604
4570
|
imports: [PrintToolComponent],
|
|
@@ -4625,9 +4591,6 @@ class SearchState {
|
|
|
4625
4591
|
configService = inject(ConfigService);
|
|
4626
4592
|
mapState = inject(MapState);
|
|
4627
4593
|
searchLayerStores = [];
|
|
4628
|
-
searchOverlayStyle = {};
|
|
4629
|
-
searchOverlayStyleSelection = {};
|
|
4630
|
-
searchOverlayStyleFocus = {};
|
|
4631
4594
|
focusedOrResolution$$;
|
|
4632
4595
|
selectedOrResolution$$;
|
|
4633
4596
|
/**
|
|
@@ -4650,6 +4613,7 @@ class SearchState {
|
|
|
4650
4613
|
* Store that holds the search results
|
|
4651
4614
|
*/
|
|
4652
4615
|
store = new EntityStore([]);
|
|
4616
|
+
searchOverlayStyle = {};
|
|
4653
4617
|
/**
|
|
4654
4618
|
* Search types currently enabled in the search source service
|
|
4655
4619
|
*/
|
|
@@ -4659,12 +4623,7 @@ class SearchState {
|
|
|
4659
4623
|
.map((source) => source.constructor.type);
|
|
4660
4624
|
}
|
|
4661
4625
|
constructor() {
|
|
4662
|
-
|
|
4663
|
-
if (searchOverlayStyle) {
|
|
4664
|
-
this.searchOverlayStyle = searchOverlayStyle.base;
|
|
4665
|
-
this.searchOverlayStyleSelection = searchOverlayStyle.selection;
|
|
4666
|
-
this.searchOverlayStyleFocus = searchOverlayStyle.focus;
|
|
4667
|
-
}
|
|
4626
|
+
this.searchOverlayStyle = this.configService.getConfig('searchOverlayStyle', {});
|
|
4668
4627
|
const searchResultsGeometryEnabled = this.storageService.get('searchResultsGeometryEnabled');
|
|
4669
4628
|
if (searchResultsGeometryEnabled) {
|
|
4670
4629
|
this.searchResultsGeometryEnabled$.next(searchResultsGeometryEnabled);
|
|
@@ -4676,7 +4635,7 @@ class SearchState {
|
|
|
4676
4635
|
if (wksSource) {
|
|
4677
4636
|
this.workspaceState.store.entities$.subscribe((e) => {
|
|
4678
4637
|
const searchableWks = e.filter((fw) => fw instanceof FeatureWorkspace &&
|
|
4679
|
-
fw.layer.options.workspace
|
|
4638
|
+
fw.layer.options.workspace?.searchIndexEnabled);
|
|
4680
4639
|
this.searchSourceService.setWorkspaces(wksSource, searchableWks);
|
|
4681
4640
|
});
|
|
4682
4641
|
}
|
|
@@ -4731,7 +4690,9 @@ class SearchState {
|
|
|
4731
4690
|
this.searchTerm$.next(searchTerm);
|
|
4732
4691
|
}
|
|
4733
4692
|
setSearchType(searchType) {
|
|
4734
|
-
|
|
4693
|
+
if (searchType) {
|
|
4694
|
+
this.searchSourceService.enableSourcesByType(searchType);
|
|
4695
|
+
}
|
|
4735
4696
|
this.searchType$.next(searchType);
|
|
4736
4697
|
}
|
|
4737
4698
|
setSearchSettingsChange() {
|
|
@@ -4740,14 +4701,17 @@ class SearchState {
|
|
|
4740
4701
|
setSelectedResult(result) {
|
|
4741
4702
|
this.selectedResult$.next(result);
|
|
4742
4703
|
}
|
|
4704
|
+
clearSelectedResult() {
|
|
4705
|
+
this.selectedResult$.next(undefined);
|
|
4706
|
+
}
|
|
4743
4707
|
setSearchResultsGeometryStatus(value) {
|
|
4744
4708
|
this.storageService.set('searchResultsGeometryEnabled', value);
|
|
4745
4709
|
this.searchResultsGeometryEnabled$.next(value);
|
|
4746
4710
|
}
|
|
4747
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.
|
|
4748
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.
|
|
4711
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: SearchState, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
4712
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: SearchState });
|
|
4749
4713
|
}
|
|
4750
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
4714
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: SearchState, decorators: [{
|
|
4751
4715
|
type: Injectable
|
|
4752
4716
|
}], ctorParameters: () => [] });
|
|
4753
4717
|
|
|
@@ -4793,10 +4757,10 @@ class SearchBarBindingDirective {
|
|
|
4793
4757
|
this.searchState.setSearchType(searchType);
|
|
4794
4758
|
}
|
|
4795
4759
|
}
|
|
4796
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.
|
|
4797
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.
|
|
4760
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: SearchBarBindingDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
4761
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.23", type: SearchBarBindingDirective, isStandalone: true, selector: "[igoSearchBarBinding]", host: { listeners: { "searchTermChange": "onSearchTermChange($any($event))", "searchTypeChange": "onSearchTypeChange($any($event))" } }, ngImport: i0 });
|
|
4798
4762
|
}
|
|
4799
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
4763
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: SearchBarBindingDirective, decorators: [{
|
|
4800
4764
|
type: Directive,
|
|
4801
4765
|
args: [{
|
|
4802
4766
|
selector: '[igoSearchBarBinding]',
|
|
@@ -4816,6 +4780,7 @@ let SearchResultsToolComponent = class SearchResultsToolComponent {
|
|
|
4816
4780
|
elRef = inject(ElementRef);
|
|
4817
4781
|
toolState = inject(ToolState);
|
|
4818
4782
|
directionState = inject(DirectionState);
|
|
4783
|
+
overlayService = inject(OverlayService);
|
|
4819
4784
|
/**
|
|
4820
4785
|
* to show hide results icons
|
|
4821
4786
|
*/
|
|
@@ -4824,19 +4789,17 @@ let SearchResultsToolComponent = class SearchResultsToolComponent {
|
|
|
4824
4789
|
* Determine the top panel default state
|
|
4825
4790
|
*/
|
|
4826
4791
|
topPanelStateDefault = input('expanded', ...(ngDevMode ? [{ debugName: "topPanelStateDefault" }] : /* istanbul ignore next */ []));
|
|
4827
|
-
|
|
4792
|
+
searchResultsOverlayAll$$;
|
|
4828
4793
|
saveSearchResultInLayer = false;
|
|
4829
|
-
|
|
4794
|
+
searchResultsOverlayFocused;
|
|
4795
|
+
searchResultsOverlaySelected;
|
|
4796
|
+
searchResultsOverlayAll;
|
|
4830
4797
|
getRoute$$;
|
|
4831
|
-
shownResultsGeometries = [];
|
|
4832
|
-
shownResultsEmphasisGeometries = [];
|
|
4833
|
-
focusedResult$ = new BehaviorSubject(undefined);
|
|
4834
4798
|
isSelectedResultOutOfView$ = new BehaviorSubject(false);
|
|
4835
4799
|
isSelectedResultOutOfView$$;
|
|
4836
|
-
abstractFocusedResult;
|
|
4837
|
-
abstractSelectedResult;
|
|
4838
4800
|
destroyRef = inject(DestroyRef);
|
|
4839
4801
|
debouncedEmpty = signal(true, ...(ngDevMode ? [{ debugName: "debouncedEmpty" }] : /* istanbul ignore next */ []));
|
|
4802
|
+
searchResult = viewChild(SearchResultsComponent, ...(ngDevMode ? [{ debugName: "searchResult" }] : /* istanbul ignore next */ []));
|
|
4840
4803
|
/**
|
|
4841
4804
|
* Store holding the search results
|
|
4842
4805
|
* @internal
|
|
@@ -4857,15 +4820,9 @@ let SearchResultsToolComponent = class SearchResultsToolComponent {
|
|
|
4857
4820
|
feature = signal(undefined, ...(ngDevMode ? [{ debugName: "feature" }] : /* istanbul ignore next */ []));
|
|
4858
4821
|
term = '';
|
|
4859
4822
|
searchTerm$$;
|
|
4860
|
-
|
|
4861
|
-
|
|
4862
|
-
|
|
4863
|
-
set topPanelState(value) {
|
|
4864
|
-
this.topPanelState$.next(value);
|
|
4865
|
-
}
|
|
4866
|
-
get topPanelState() {
|
|
4867
|
-
return this.topPanelState$.value;
|
|
4868
|
-
}
|
|
4823
|
+
topPanelState = input(...(ngDevMode ? [undefined, { debugName: "topPanelState" }] : /* istanbul ignore next */ []));
|
|
4824
|
+
topPanelStateValue = linkedSignal({ ...(ngDevMode ? { debugName: "topPanelStateValue" } : /* istanbul ignore next */ {}), source: this.topPanelState,
|
|
4825
|
+
computation: (v, previous) => v ?? previous?.value ?? 'initial' });
|
|
4869
4826
|
get termSplitter() {
|
|
4870
4827
|
return this.searchState.searchTermSplitter$.value;
|
|
4871
4828
|
}
|
|
@@ -4875,10 +4832,29 @@ let SearchResultsToolComponent = class SearchResultsToolComponent {
|
|
|
4875
4832
|
}
|
|
4876
4833
|
constructor() {
|
|
4877
4834
|
const configService = inject(ConfigService);
|
|
4878
|
-
this.hasFeatureEmphasisOnSelection = configService.getConfig('hasFeatureEmphasisOnSelection');
|
|
4879
4835
|
this.saveSearchResultInLayer = configService.getConfig('saveSearchResultInLayer');
|
|
4836
|
+
this.handleShowAllResults();
|
|
4837
|
+
effect(() => {
|
|
4838
|
+
this.topPanelStateValue(); // re-run on state change
|
|
4839
|
+
const igoList = this.computeElementRef()[0];
|
|
4840
|
+
const selected = this.computeElementRef()[1];
|
|
4841
|
+
if (selected) {
|
|
4842
|
+
setTimeout(() => {
|
|
4843
|
+
// To be sure the flexible component has been displayed yet
|
|
4844
|
+
if (!this.isScrolledIntoView(igoList, selected)) {
|
|
4845
|
+
this.adjustTopPanel(igoList, selected);
|
|
4846
|
+
}
|
|
4847
|
+
}, FlexibleComponent.transitionTime + 50);
|
|
4848
|
+
}
|
|
4849
|
+
});
|
|
4880
4850
|
}
|
|
4881
4851
|
ngOnInit() {
|
|
4852
|
+
this.searchResultsOverlayFocused = this.overlayService.create(this.mapState.map, this.searchState.searchOverlayStyle?.focus ??
|
|
4853
|
+
styleVariant(this.mapState.map.viewController, 'focus'));
|
|
4854
|
+
this.searchResultsOverlaySelected = this.overlayService.create(this.mapState.map, this.searchState.searchOverlayStyle?.selection ??
|
|
4855
|
+
styleVariant(this.mapState.map.viewController, 'selection'));
|
|
4856
|
+
this.searchResultsOverlayAll = this.overlayService.create(this.mapState.map, this.searchState.searchOverlayStyle?.base ??
|
|
4857
|
+
styleVariant(this.mapState.map.viewController));
|
|
4882
4858
|
this.searchTerm$$ = this.searchState.searchTerm$.subscribe((searchTerm) => {
|
|
4883
4859
|
if (searchTerm !== undefined &&
|
|
4884
4860
|
searchTerm !== null &&
|
|
@@ -4887,75 +4863,20 @@ let SearchResultsToolComponent = class SearchResultsToolComponent {
|
|
|
4887
4863
|
this.debouncedEmpty.set(false);
|
|
4888
4864
|
}
|
|
4889
4865
|
else if (searchTerm === '') {
|
|
4866
|
+
this.clearResultOverlays();
|
|
4867
|
+
this.searchState.clearSelectedResult();
|
|
4890
4868
|
this.debouncedEmpty.set(true);
|
|
4891
4869
|
}
|
|
4892
4870
|
});
|
|
4893
4871
|
for (const res of this.store.stateView.all$().value) {
|
|
4894
4872
|
if (this.store.state.get(res.entity).selected === true) {
|
|
4895
|
-
this.
|
|
4873
|
+
this.topPanelStateValue.set('expanded');
|
|
4896
4874
|
}
|
|
4897
4875
|
}
|
|
4898
4876
|
this.searchState.searchSettingsChange$.subscribe(() => {
|
|
4899
|
-
this.
|
|
4877
|
+
this.searchResult()?.resetPage();
|
|
4900
4878
|
});
|
|
4901
|
-
this.topPanelState$$ = this.topPanelState$.subscribe(() => {
|
|
4902
|
-
const igoList = this.computeElementRef()[0];
|
|
4903
|
-
const selected = this.computeElementRef()[1];
|
|
4904
|
-
if (selected) {
|
|
4905
|
-
setTimeout(() => {
|
|
4906
|
-
// To be sure the flexible component has been displayed yet
|
|
4907
|
-
if (!this.isScrolledIntoView(igoList, selected)) {
|
|
4908
|
-
this.adjustTopPanel(igoList, selected);
|
|
4909
|
-
}
|
|
4910
|
-
}, FlexibleComponent.transitionTime + 50);
|
|
4911
|
-
}
|
|
4912
|
-
});
|
|
4913
|
-
if (this.hasFeatureEmphasisOnSelection) {
|
|
4914
|
-
if (!this.searchState.focusedOrResolution$$) {
|
|
4915
|
-
this.searchState.focusedOrResolution$$ = combineLatest([
|
|
4916
|
-
this.focusedResult$,
|
|
4917
|
-
this.map.viewController.resolution$
|
|
4918
|
-
]).subscribe((bunch) => this.buildResultEmphasis(bunch[0], 'focused'));
|
|
4919
|
-
}
|
|
4920
|
-
if (!this.searchState.selectedOrResolution$$) {
|
|
4921
|
-
this.searchState.selectedOrResolution$$ = combineLatest([
|
|
4922
|
-
this.searchState.selectedResult$,
|
|
4923
|
-
this.map.viewController.resolution$
|
|
4924
|
-
]).subscribe((bunch) => this.buildResultEmphasis(bunch[0], 'selected'));
|
|
4925
|
-
}
|
|
4926
|
-
}
|
|
4927
4879
|
this.monitorResultOutOfView();
|
|
4928
|
-
this.showResultsGeometries$$ = combineLatest([
|
|
4929
|
-
this.searchState.searchResultsGeometryEnabled$,
|
|
4930
|
-
this.store.stateView.all$(),
|
|
4931
|
-
this.focusedResult$,
|
|
4932
|
-
this.searchState.selectedResult$,
|
|
4933
|
-
this.searchState.searchTerm$,
|
|
4934
|
-
this.map.viewController.resolution$
|
|
4935
|
-
]).subscribe((bunch) => {
|
|
4936
|
-
const searchResultsGeometryEnabled = bunch[0];
|
|
4937
|
-
const searchResults = bunch[1];
|
|
4938
|
-
if (this.hasFeatureEmphasisOnSelection) {
|
|
4939
|
-
this.clearFeatureEmphasis('shown');
|
|
4940
|
-
}
|
|
4941
|
-
this.shownResultsGeometries.map((result) => this.map.queryResultsOverlay.removeFeature(result));
|
|
4942
|
-
const featureToHandleGeom = searchResults.filter((result) => result.entity.meta.dataType === FEATURE &&
|
|
4943
|
-
result.entity.data.geometry &&
|
|
4944
|
-
!result.state.selected &&
|
|
4945
|
-
!result.state.focused);
|
|
4946
|
-
featureToHandleGeom.map((result) => {
|
|
4947
|
-
if (searchResultsGeometryEnabled) {
|
|
4948
|
-
result.entity.data.meta.style = getCommonVectorStyle(Object.assign({}, {
|
|
4949
|
-
feature: result.entity.data
|
|
4950
|
-
}, this.searchState.searchOverlayStyle, result.entity.style?.base ? result.entity.style.base : {}));
|
|
4951
|
-
this.shownResultsGeometries.push(result.entity.data);
|
|
4952
|
-
this.map.queryResultsOverlay.addFeature(result.entity.data, FeatureMotion.None);
|
|
4953
|
-
if (this.hasFeatureEmphasisOnSelection) {
|
|
4954
|
-
this.buildResultEmphasis(result.entity, 'shown');
|
|
4955
|
-
}
|
|
4956
|
-
}
|
|
4957
|
-
});
|
|
4958
|
-
});
|
|
4959
4880
|
this.store.stateView.empty$
|
|
4960
4881
|
.pipe(debounceTime(1500), takeUntilDestroyed(this.destroyRef))
|
|
4961
4882
|
.subscribe((empty) => this.debouncedEmpty.set(empty));
|
|
@@ -4967,6 +4888,25 @@ let SearchResultsToolComponent = class SearchResultsToolComponent {
|
|
|
4967
4888
|
this.feature.set(feature);
|
|
4968
4889
|
});
|
|
4969
4890
|
}
|
|
4891
|
+
handleShowAllResults() {
|
|
4892
|
+
this.searchResultsOverlayAll$$ = combineLatest([
|
|
4893
|
+
this.store.entities$,
|
|
4894
|
+
this.searchState.searchResultsGeometryEnabled$
|
|
4895
|
+
]).subscribe((bunch) => {
|
|
4896
|
+
const searchResults = bunch[0];
|
|
4897
|
+
const enabled = bunch[1];
|
|
4898
|
+
const features = searchResults
|
|
4899
|
+
.filter((sr) => sr.meta.dataType === FEATURE)
|
|
4900
|
+
.map((sr) => sr.data);
|
|
4901
|
+
if (enabled && features.length) {
|
|
4902
|
+
this.searchResultsOverlayAll.setFeatures(features, FeatureMotion.None);
|
|
4903
|
+
}
|
|
4904
|
+
else {
|
|
4905
|
+
this.searchResultsOverlayFocused?.clear();
|
|
4906
|
+
this.searchResultsOverlayAll?.clear();
|
|
4907
|
+
}
|
|
4908
|
+
});
|
|
4909
|
+
}
|
|
4970
4910
|
monitorResultOutOfView() {
|
|
4971
4911
|
this.isSelectedResultOutOfView$$ = combineLatest([
|
|
4972
4912
|
this.map.viewController.state$,
|
|
@@ -4980,84 +4920,19 @@ let SearchResultsToolComponent = class SearchResultsToolComponent {
|
|
|
4980
4920
|
return;
|
|
4981
4921
|
}
|
|
4982
4922
|
if (selectedResult.data.geometry) {
|
|
4983
|
-
const selectedOlFeature = featureToOl(selectedResult.data, this.map.
|
|
4923
|
+
const selectedOlFeature = featureToOl(selectedResult.data, this.map.projectionCode);
|
|
4984
4924
|
const selectedOlFeatureExtent = computeOlFeaturesExtent([selectedOlFeature], this.map.viewController.getOlProjection());
|
|
4985
|
-
this.isSelectedResultOutOfView$.next(featuresAreOutOfView(this.map.getExtent(), selectedOlFeatureExtent));
|
|
4925
|
+
this.isSelectedResultOutOfView$.next(featuresAreOutOfView(this.map.viewController.getExtent(), selectedOlFeatureExtent));
|
|
4986
4926
|
}
|
|
4987
4927
|
});
|
|
4988
4928
|
}
|
|
4989
|
-
buildResultEmphasis(result, trigger) {
|
|
4990
|
-
if (trigger !== 'shown') {
|
|
4991
|
-
this.clearFeatureEmphasis(trigger);
|
|
4992
|
-
}
|
|
4993
|
-
if (!result || !result.data.geometry) {
|
|
4994
|
-
return;
|
|
4995
|
-
}
|
|
4996
|
-
const myOlFeature = featureToOl(result.data, this.map.projection);
|
|
4997
|
-
const olGeometry = myOlFeature.getGeometry();
|
|
4998
|
-
if (featuresAreTooDeepInView(this.map.viewController, olGeometry.getExtent(), 0.0025)) {
|
|
4999
|
-
const extent = olGeometry.getExtent();
|
|
5000
|
-
const x = extent[0] + (extent[2] - extent[0]) / 2;
|
|
5001
|
-
const y = extent[1] + (extent[3] - extent[1]) / 2;
|
|
5002
|
-
const feature1 = new olFeature({
|
|
5003
|
-
name: `${trigger}AbstractResult'`,
|
|
5004
|
-
geometry: new olPoint([x, y])
|
|
5005
|
-
});
|
|
5006
|
-
const abstractResult = featureFromOl(feature1, this.map.projection);
|
|
5007
|
-
let computedStyle;
|
|
5008
|
-
let zIndexOffset = 0;
|
|
5009
|
-
switch (trigger) {
|
|
5010
|
-
case 'focused':
|
|
5011
|
-
computedStyle = getCommonVectorSelectedStyle(Object.assign({}, { feature: abstractResult }, this.searchState.searchOverlayStyleFocus, result.style?.focus ? result.style.focus : {}));
|
|
5012
|
-
zIndexOffset = 2;
|
|
5013
|
-
break;
|
|
5014
|
-
case 'shown':
|
|
5015
|
-
computedStyle = getCommonVectorStyle(Object.assign({}, { feature: abstractResult }, this.searchState.searchOverlayStyle, result.style?.base ? result.style.base : {}));
|
|
5016
|
-
break;
|
|
5017
|
-
case 'selected':
|
|
5018
|
-
computedStyle = getCommonVectorSelectedStyle(Object.assign({}, { feature: abstractResult }, this.searchState.searchOverlayStyleSelection, result.style?.selection ? result.style.selection : {}));
|
|
5019
|
-
zIndexOffset = 1;
|
|
5020
|
-
break;
|
|
5021
|
-
}
|
|
5022
|
-
abstractResult.meta.style = computedStyle;
|
|
5023
|
-
abstractResult.meta.style.setZIndex(2000 + zIndexOffset);
|
|
5024
|
-
this.map.searchResultsOverlay.addFeature(abstractResult, this.searchState.featureMotion.focus);
|
|
5025
|
-
if (trigger === 'focused') {
|
|
5026
|
-
this.abstractFocusedResult = abstractResult;
|
|
5027
|
-
}
|
|
5028
|
-
if (trigger === 'selected') {
|
|
5029
|
-
this.abstractSelectedResult = abstractResult;
|
|
5030
|
-
}
|
|
5031
|
-
if (trigger === 'shown') {
|
|
5032
|
-
this.shownResultsEmphasisGeometries.push(abstractResult);
|
|
5033
|
-
}
|
|
5034
|
-
}
|
|
5035
|
-
else {
|
|
5036
|
-
this.clearFeatureEmphasis(trigger);
|
|
5037
|
-
}
|
|
5038
|
-
}
|
|
5039
|
-
clearFeatureEmphasis(trigger) {
|
|
5040
|
-
if (trigger === 'focused' && this.abstractFocusedResult) {
|
|
5041
|
-
this.map.searchResultsOverlay.removeFeature(this.abstractFocusedResult);
|
|
5042
|
-
this.abstractFocusedResult = undefined;
|
|
5043
|
-
}
|
|
5044
|
-
if (trigger === 'selected' && this.abstractSelectedResult) {
|
|
5045
|
-
this.map.searchResultsOverlay.removeFeature(this.abstractSelectedResult);
|
|
5046
|
-
this.abstractSelectedResult = undefined;
|
|
5047
|
-
}
|
|
5048
|
-
if (trigger === 'shown') {
|
|
5049
|
-
this.shownResultsEmphasisGeometries.map((shownResult) => this.map.searchResultsOverlay.removeFeature(shownResult));
|
|
5050
|
-
this.shownResultsEmphasisGeometries = [];
|
|
5051
|
-
}
|
|
5052
|
-
}
|
|
5053
4929
|
ngOnDestroy() {
|
|
5054
|
-
this.topPanelState$$.unsubscribe();
|
|
5055
4930
|
this.searchTerm$$.unsubscribe();
|
|
5056
4931
|
if (this.isSelectedResultOutOfView$$) {
|
|
5057
4932
|
this.isSelectedResultOutOfView$$.unsubscribe();
|
|
5058
4933
|
}
|
|
5059
|
-
if (this.
|
|
5060
|
-
this.
|
|
4934
|
+
if (this.searchResultsOverlayAll$$) {
|
|
4935
|
+
this.searchResultsOverlayAll$$.unsubscribe();
|
|
5061
4936
|
}
|
|
5062
4937
|
if (this.getRoute$$) {
|
|
5063
4938
|
this.getRoute$$.unsubscribe();
|
|
@@ -5069,31 +4944,17 @@ let SearchResultsToolComponent = class SearchResultsToolComponent {
|
|
|
5069
4944
|
* @param result A search result that could be a feature
|
|
5070
4945
|
*/
|
|
5071
4946
|
onResultFocus(result) {
|
|
5072
|
-
this.
|
|
5073
|
-
|
|
5074
|
-
|
|
5075
|
-
|
|
5076
|
-
|
|
5077
|
-
feature.setStyle(result.data.meta.style);
|
|
5078
|
-
return;
|
|
5079
|
-
}
|
|
5080
|
-
this.map.searchResultsOverlay.addFeature(result.data, this.searchState.featureMotion.focus);
|
|
4947
|
+
if (this.store.state.get(result).selected) {
|
|
4948
|
+
this.searchResultsOverlayFocused.clear();
|
|
4949
|
+
}
|
|
4950
|
+
else {
|
|
4951
|
+
this.addResultToOverlay(result, this.searchResultsOverlayFocused, this.searchState.featureMotion.focus);
|
|
5081
4952
|
}
|
|
5082
4953
|
}
|
|
5083
4954
|
onResultUnfocus(result) {
|
|
5084
|
-
this.
|
|
5085
|
-
|
|
5086
|
-
return;
|
|
5087
|
-
}
|
|
5088
|
-
if (this.store.state.get(result).selected === true) {
|
|
5089
|
-
const feature = this.map.searchResultsOverlay.dataSource.ol.getFeatureById(result.meta.id);
|
|
5090
|
-
if (feature) {
|
|
5091
|
-
const style = getCommonVectorSelectedStyle(Object.assign({}, { feature: result.data }, this.searchState.searchOverlayStyleFocus, result.style?.focus ? result.style.focus : {}));
|
|
5092
|
-
feature.setStyle(style);
|
|
5093
|
-
}
|
|
5094
|
-
return;
|
|
4955
|
+
if (!this.store.state.get(result).selected) {
|
|
4956
|
+
this.searchResultsOverlayFocused.clear();
|
|
5095
4957
|
}
|
|
5096
|
-
this.map.searchResultsOverlay.removeFeature(result.data);
|
|
5097
4958
|
}
|
|
5098
4959
|
/**
|
|
5099
4960
|
* Try to add a feature to the map when it's being selected
|
|
@@ -5101,18 +4962,18 @@ let SearchResultsToolComponent = class SearchResultsToolComponent {
|
|
|
5101
4962
|
* @param result A search result that could be a feature or some layer options
|
|
5102
4963
|
*/
|
|
5103
4964
|
onResultSelect(result) {
|
|
5104
|
-
this.
|
|
5105
|
-
this.
|
|
4965
|
+
this.clearResultOverlays();
|
|
4966
|
+
this.addResultToOverlay(result, this.searchResultsOverlaySelected, this.searchState.featureMotion.selected);
|
|
5106
4967
|
this.searchState.setSelectedResult(result);
|
|
5107
|
-
if (this.
|
|
4968
|
+
if (this.topPanelStateValue() === 'initial') {
|
|
5108
4969
|
if (this.topPanelStateDefault() !== 'collapsed') {
|
|
5109
|
-
this.
|
|
4970
|
+
this.topPanelStateValue.set('expanded');
|
|
5110
4971
|
}
|
|
5111
4972
|
else {
|
|
5112
|
-
this.
|
|
4973
|
+
this.topPanelStateValue.set('collapsed');
|
|
5113
4974
|
}
|
|
5114
4975
|
}
|
|
5115
|
-
if (this.
|
|
4976
|
+
if (this.topPanelStateValue() === 'expanded') {
|
|
5116
4977
|
const igoList = this.computeElementRef()[0];
|
|
5117
4978
|
const selected = this.computeElementRef()[1];
|
|
5118
4979
|
if (!this.isScrolledIntoView(igoList, selected)) {
|
|
@@ -5161,6 +5022,10 @@ let SearchResultsToolComponent = class SearchResultsToolComponent {
|
|
|
5161
5022
|
});
|
|
5162
5023
|
}, 250);
|
|
5163
5024
|
}
|
|
5025
|
+
clearResultOverlays() {
|
|
5026
|
+
this.searchResultsOverlayFocused?.clear();
|
|
5027
|
+
this.searchResultsOverlaySelected?.clear();
|
|
5028
|
+
}
|
|
5164
5029
|
computeElementRef() {
|
|
5165
5030
|
const items = document.getElementsByTagName('igo-search-results-item');
|
|
5166
5031
|
const igoList = this.elRef.nativeElement.getElementsByTagName('igo-list')[0];
|
|
@@ -5174,10 +5039,10 @@ let SearchResultsToolComponent = class SearchResultsToolComponent {
|
|
|
5174
5039
|
}
|
|
5175
5040
|
adjustTopPanel(elemSource, elem) {
|
|
5176
5041
|
if (!this.isScrolledIntoView(elemSource, elem)) {
|
|
5042
|
+
const firstChild = elem.children[0];
|
|
5043
|
+
const childHeight = firstChild instanceof HTMLElement ? firstChild.offsetHeight : 0;
|
|
5177
5044
|
elemSource.scrollTop =
|
|
5178
|
-
elem.offsetTop +
|
|
5179
|
-
elem.children[0].offsetHeight -
|
|
5180
|
-
elemSource.clientHeight;
|
|
5045
|
+
elem.offsetTop + childHeight - elemSource.clientHeight;
|
|
5181
5046
|
}
|
|
5182
5047
|
}
|
|
5183
5048
|
toggleTopPanel(event) {
|
|
@@ -5185,11 +5050,11 @@ let SearchResultsToolComponent = class SearchResultsToolComponent {
|
|
|
5185
5050
|
return;
|
|
5186
5051
|
}
|
|
5187
5052
|
else {
|
|
5188
|
-
if (this.
|
|
5189
|
-
this.
|
|
5053
|
+
if (this.topPanelStateValue() === 'expanded') {
|
|
5054
|
+
this.topPanelStateValue.set('collapsed');
|
|
5190
5055
|
}
|
|
5191
5056
|
else {
|
|
5192
|
-
this.
|
|
5057
|
+
this.topPanelStateValue.set('expanded');
|
|
5193
5058
|
}
|
|
5194
5059
|
}
|
|
5195
5060
|
}
|
|
@@ -5208,17 +5073,19 @@ let SearchResultsToolComponent = class SearchResultsToolComponent {
|
|
|
5208
5073
|
* @param result A search result that could be a feature
|
|
5209
5074
|
* @param motion A FeatureMotion to trigger when adding the searchresult to the map search overlay
|
|
5210
5075
|
*/
|
|
5211
|
-
|
|
5076
|
+
addResultToOverlay(result, overlay, motion = FeatureMotion.Default) {
|
|
5212
5077
|
if (result.meta.dataType !== FEATURE) {
|
|
5213
5078
|
return undefined;
|
|
5214
5079
|
}
|
|
5215
5080
|
const feature = result.data;
|
|
5216
|
-
//
|
|
5081
|
+
// Sometimes features have no geometry. It happens with some GetFeatureInfo
|
|
5217
5082
|
if (!feature.geometry) {
|
|
5218
5083
|
return;
|
|
5219
5084
|
}
|
|
5220
|
-
|
|
5221
|
-
|
|
5085
|
+
if (!feature.meta) {
|
|
5086
|
+
return;
|
|
5087
|
+
}
|
|
5088
|
+
overlay.setFeatures([feature], motion);
|
|
5222
5089
|
}
|
|
5223
5090
|
isScrolledIntoView(elemSource, elem) {
|
|
5224
5091
|
const padding = 6;
|
|
@@ -5261,26 +5128,30 @@ let SearchResultsToolComponent = class SearchResultsToolComponent {
|
|
|
5261
5128
|
];
|
|
5262
5129
|
}
|
|
5263
5130
|
}
|
|
5264
|
-
stop
|
|
5265
|
-
|
|
5266
|
-
|
|
5131
|
+
if (stop) {
|
|
5132
|
+
stop.text = this.featureTitle ?? '';
|
|
5133
|
+
stop.coordinates = coord;
|
|
5134
|
+
this.directionState.stopsStore.update(stop);
|
|
5135
|
+
}
|
|
5267
5136
|
if (this.map.geolocationController.position$.value) {
|
|
5268
5137
|
const currentPos = this.map.geolocationController.position$.value;
|
|
5269
5138
|
const stop = this.directionState.stopsStore
|
|
5270
5139
|
.all()
|
|
5271
5140
|
.find((e) => e.position === 0);
|
|
5272
|
-
const currentCoord =
|
|
5141
|
+
const currentCoord = olproj.transform(currentPos.position, currentPos.projection, 'EPSG:4326');
|
|
5273
5142
|
const coord = roundCoordTo([currentCoord[0], currentCoord[1]], 6);
|
|
5274
|
-
|
|
5275
|
-
|
|
5276
|
-
|
|
5143
|
+
if (stop) {
|
|
5144
|
+
stop.text = coord.join(',');
|
|
5145
|
+
stop.coordinates = coord;
|
|
5146
|
+
this.directionState.stopsStore.update(stop);
|
|
5147
|
+
}
|
|
5277
5148
|
}
|
|
5278
5149
|
}
|
|
5279
5150
|
});
|
|
5280
5151
|
}, 250);
|
|
5281
5152
|
}
|
|
5282
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.
|
|
5283
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.
|
|
5153
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: SearchResultsToolComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
5154
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.23", 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: true, isRequired: false, transformFunction: null } }, viewQueries: [{ propertyName: "searchResult", first: true, predicate: SearchResultsComponent, descendants: true, isSignal: true }], 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 ? topPanelStateValue() : 'initial'\"\n >\n <div class=\"igo-content\">\n <igo-search-results\n [store]=\"store\"\n [showIcons]=\"showIcons()\"\n [term]=\"term\"\n [termSplitter]=\"termSplitter\"\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 topPanelStateValue() === '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", "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 });
|
|
5284
5155
|
};
|
|
5285
5156
|
SearchResultsToolComponent = __decorate([
|
|
5286
5157
|
ToolComponent({
|
|
@@ -5290,7 +5161,7 @@ SearchResultsToolComponent = __decorate([
|
|
|
5290
5161
|
}),
|
|
5291
5162
|
__metadata("design:paramtypes", [])
|
|
5292
5163
|
], SearchResultsToolComponent);
|
|
5293
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
5164
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: SearchResultsToolComponent, decorators: [{
|
|
5294
5165
|
type: Component,
|
|
5295
5166
|
args: [{ selector: 'igo-search-results-tool', changeDetection: ChangeDetectionStrategy.OnPush, imports: [
|
|
5296
5167
|
FlexibleComponent,
|
|
@@ -5305,20 +5176,18 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.10", ngImpo
|
|
|
5305
5176
|
AsyncPipe,
|
|
5306
5177
|
IgoLanguageModule,
|
|
5307
5178
|
SanitizeHtmlPipe
|
|
5308
|
-
], 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 ?
|
|
5309
|
-
}], 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: [{
|
|
5310
|
-
type: Input
|
|
5311
|
-
}] } });
|
|
5179
|
+
], 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 ? topPanelStateValue() : 'initial'\"\n >\n <div class=\"igo-content\">\n <igo-search-results\n [store]=\"store\"\n [showIcons]=\"showIcons()\"\n [term]=\"term\"\n [termSplitter]=\"termSplitter\"\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 topPanelStateValue() === '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"] }]
|
|
5180
|
+
}], ctorParameters: () => [], propDecorators: { showIcons: [{ type: i0.Input, args: [{ isSignal: true, alias: "showIcons", required: false }] }], topPanelStateDefault: [{ type: i0.Input, args: [{ isSignal: true, alias: "topPanelStateDefault", required: false }] }], searchResult: [{ type: i0.ViewChild, args: [i0.forwardRef(() => SearchResultsComponent), { isSignal: true }] }], topPanelState: [{ type: i0.Input, args: [{ isSignal: true, alias: "topPanelState", required: false }] }] } });
|
|
5312
5181
|
|
|
5313
5182
|
/**
|
|
5314
5183
|
* @deprecated import the components/directive directly or INTEGRATION_SEARCH_DIRECTIVES for the set
|
|
5315
5184
|
*/
|
|
5316
5185
|
class IgoAppSearchModule {
|
|
5317
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.
|
|
5318
|
-
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.
|
|
5319
|
-
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.
|
|
5186
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: IgoAppSearchModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
5187
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.23", ngImport: i0, type: IgoAppSearchModule, imports: [SearchBarBindingDirective, SearchResultsToolComponent], exports: [SearchBarBindingDirective, SearchResultsToolComponent] });
|
|
5188
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: IgoAppSearchModule, imports: [SearchResultsToolComponent] });
|
|
5320
5189
|
}
|
|
5321
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
5190
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: IgoAppSearchModule, decorators: [{
|
|
5322
5191
|
type: NgModule,
|
|
5323
5192
|
args: [{
|
|
5324
5193
|
imports: [SearchBarBindingDirective, SearchResultsToolComponent],
|
|
@@ -5330,11 +5199,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.10", ngImpo
|
|
|
5330
5199
|
* @deprecated import the WorkspaceButtonComponent directly
|
|
5331
5200
|
*/
|
|
5332
5201
|
class IgoAppWorkspaceModule {
|
|
5333
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.
|
|
5334
|
-
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.
|
|
5335
|
-
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.
|
|
5202
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: IgoAppWorkspaceModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
5203
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.23", ngImport: i0, type: IgoAppWorkspaceModule, imports: [WorkspaceButtonComponent], exports: [WorkspaceButtonComponent] });
|
|
5204
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: IgoAppWorkspaceModule, imports: [WorkspaceButtonComponent] });
|
|
5336
5205
|
}
|
|
5337
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
5206
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: IgoAppWorkspaceModule, decorators: [{
|
|
5338
5207
|
type: NgModule,
|
|
5339
5208
|
args: [{
|
|
5340
5209
|
imports: [WorkspaceButtonComponent],
|
|
@@ -5346,8 +5215,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.10", ngImpo
|
|
|
5346
5215
|
* @deprecated import the components directly
|
|
5347
5216
|
*/
|
|
5348
5217
|
class IgoIntegrationModule {
|
|
5349
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.
|
|
5350
|
-
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.
|
|
5218
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: IgoIntegrationModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
5219
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.23", ngImport: i0, type: IgoIntegrationModule, exports: [IgoAppContextModule,
|
|
5351
5220
|
IgoAppCatalogModule,
|
|
5352
5221
|
IgoAppDirectionsModule,
|
|
5353
5222
|
IgoAppDrawModule,
|
|
@@ -5360,7 +5229,7 @@ class IgoIntegrationModule {
|
|
|
5360
5229
|
IgoAppFilterModule,
|
|
5361
5230
|
IgoAppAboutModule,
|
|
5362
5231
|
IgoAppGeometryFormModule] });
|
|
5363
|
-
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.
|
|
5232
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: IgoIntegrationModule, imports: [IgoAppContextModule,
|
|
5364
5233
|
IgoAppCatalogModule,
|
|
5365
5234
|
IgoAppDirectionsModule,
|
|
5366
5235
|
IgoAppDrawModule,
|
|
@@ -5374,7 +5243,7 @@ class IgoIntegrationModule {
|
|
|
5374
5243
|
IgoAppAboutModule,
|
|
5375
5244
|
IgoAppGeometryFormModule] });
|
|
5376
5245
|
}
|
|
5377
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
5246
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: IgoIntegrationModule, decorators: [{
|
|
5378
5247
|
type: NgModule,
|
|
5379
5248
|
args: [{
|
|
5380
5249
|
imports: [],
|
|
@@ -5428,7 +5297,8 @@ class AnalyticsListenerService {
|
|
|
5428
5297
|
listenContext() {
|
|
5429
5298
|
this.contextState.context$.subscribe((context) => {
|
|
5430
5299
|
if (context) {
|
|
5431
|
-
|
|
5300
|
+
const eventName = context.id?.toString() ?? context.uri;
|
|
5301
|
+
this.analyticsService.trackEvent('context', 'activateContext', eventName);
|
|
5432
5302
|
}
|
|
5433
5303
|
});
|
|
5434
5304
|
}
|
|
@@ -5498,14 +5368,15 @@ class AnalyticsListenerService {
|
|
|
5498
5368
|
break;
|
|
5499
5369
|
}
|
|
5500
5370
|
}
|
|
5501
|
-
|
|
5371
|
+
const eventName = wmsParams || wmtsParams || restParams;
|
|
5372
|
+
this.analyticsService.trackLayer('layer', 'addLayer', eventName);
|
|
5502
5373
|
});
|
|
5503
5374
|
});
|
|
5504
5375
|
}
|
|
5505
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.
|
|
5506
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.
|
|
5376
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: AnalyticsListenerService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
5377
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: AnalyticsListenerService, providedIn: 'root' });
|
|
5507
5378
|
}
|
|
5508
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
5379
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: AnalyticsListenerService, decorators: [{
|
|
5509
5380
|
type: Injectable,
|
|
5510
5381
|
args: [{
|
|
5511
5382
|
providedIn: 'root'
|
|
@@ -5526,29 +5397,21 @@ const INTEGRATION_FILTER_DIRECTIVES = [
|
|
|
5526
5397
|
class QueryState {
|
|
5527
5398
|
configService = inject(ConfigService);
|
|
5528
5399
|
propertyTypeDetectorService = inject(PropertyTypeDetectorService);
|
|
5529
|
-
capabilitiesService = inject(CapabilitiesService);
|
|
5530
5400
|
mapState = inject(MapState);
|
|
5531
5401
|
/**
|
|
5532
5402
|
* Store that holds the query results
|
|
5533
5403
|
*/
|
|
5534
5404
|
store = new EntityStore([]);
|
|
5535
5405
|
queryOverlayStyle = {};
|
|
5536
|
-
queryOverlayStyleSelection = {};
|
|
5537
|
-
queryOverlayStyleFocus = {};
|
|
5538
5406
|
constructor() {
|
|
5539
|
-
|
|
5540
|
-
|
|
5541
|
-
this.queryOverlayStyle = queryOverlayStyle.base;
|
|
5542
|
-
this.queryOverlayStyleSelection = queryOverlayStyle.selection;
|
|
5543
|
-
this.queryOverlayStyleFocus = queryOverlayStyle.focus;
|
|
5544
|
-
}
|
|
5545
|
-
const geoPropertiesStrategy = new GeoPropertiesStrategy({ map: this.mapState.map }, this.propertyTypeDetectorService, this.capabilitiesService);
|
|
5407
|
+
this.queryOverlayStyle = this.configService.getConfig('queryOverlayStyle', {});
|
|
5408
|
+
const geoPropertiesStrategy = new GeoPropertiesStrategy({ map: this.mapState.map }, this.propertyTypeDetectorService);
|
|
5546
5409
|
this.store.addStrategy(geoPropertiesStrategy, true);
|
|
5547
5410
|
}
|
|
5548
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.
|
|
5549
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.
|
|
5411
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: QueryState, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
5412
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: QueryState, providedIn: 'root' });
|
|
5550
5413
|
}
|
|
5551
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
5414
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: QueryState, decorators: [{
|
|
5552
5415
|
type: Injectable,
|
|
5553
5416
|
args: [{
|
|
5554
5417
|
providedIn: 'root'
|
|
@@ -5559,11 +5422,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.10", ngImpo
|
|
|
5559
5422
|
* @deprecated import the SearchResultsToolComponent directly
|
|
5560
5423
|
*/
|
|
5561
5424
|
class IgoAppSearchResultsToolModule {
|
|
5562
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.
|
|
5563
|
-
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.
|
|
5564
|
-
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.
|
|
5425
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: IgoAppSearchResultsToolModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
5426
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.23", ngImport: i0, type: IgoAppSearchResultsToolModule, imports: [SearchResultsToolComponent], exports: [SearchResultsToolComponent] });
|
|
5427
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: IgoAppSearchResultsToolModule, imports: [SearchResultsToolComponent] });
|
|
5565
5428
|
}
|
|
5566
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
5429
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: IgoAppSearchResultsToolModule, decorators: [{
|
|
5567
5430
|
type: NgModule,
|
|
5568
5431
|
args: [{
|
|
5569
5432
|
imports: [SearchResultsToolComponent],
|
|
@@ -5575,11 +5438,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.10", ngImpo
|
|
|
5575
5438
|
* @deprecated import the SearchBarBindingDirective directly
|
|
5576
5439
|
*/
|
|
5577
5440
|
class IgoAppSearchBarModule {
|
|
5578
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.
|
|
5579
|
-
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.
|
|
5580
|
-
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.
|
|
5441
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: IgoAppSearchBarModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
5442
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.23", ngImport: i0, type: IgoAppSearchBarModule, imports: [SearchBarBindingDirective], exports: [SearchBarBindingDirective] });
|
|
5443
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: IgoAppSearchBarModule });
|
|
5581
5444
|
}
|
|
5582
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
5445
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: IgoAppSearchBarModule, decorators: [{
|
|
5583
5446
|
type: NgModule,
|
|
5584
5447
|
args: [{
|
|
5585
5448
|
imports: [SearchBarBindingDirective],
|