@igo2/integration 21.0.0-next.2 → 21.0.0-next.21
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 +543 -687
- package/fesm2022/igo2-integration.mjs.map +1 -1
- package/package.json +4 -4
- package/types/igo2-integration.d.ts +114 -135
|
@@ -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,22 +14,22 @@ 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, ProjectionService, 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,
|
|
24
|
+
import { MapService, ProjectionService, 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, markerOlStyle, 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, CapabilitiesService, 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
35
|
import * as olProj from 'ol/proj';
|
|
@@ -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.19", ngImport: i0, type: AboutToolComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
142
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.19", 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.19", 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.19", ngImport: i0, type: IgoAppAboutModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
175
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.19", ngImport: i0, type: IgoAppAboutModule, imports: [AboutToolComponent], exports: [AboutToolComponent] });
|
|
176
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.19", 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.19", ngImport: i0, type: IgoAppAboutModule, decorators: [{
|
|
209
179
|
type: NgModule,
|
|
210
180
|
args: [{
|
|
211
181
|
imports: [AboutToolComponent],
|
|
@@ -222,6 +192,7 @@ class MapState {
|
|
|
222
192
|
projectionService = inject(ProjectionService);
|
|
223
193
|
storageService = inject(StorageService);
|
|
224
194
|
configService = inject(ConfigService);
|
|
195
|
+
overlayService = inject(OverlayService);
|
|
225
196
|
get showAllLegendsValue() {
|
|
226
197
|
return this._legendToolShowAll;
|
|
227
198
|
}
|
|
@@ -245,12 +216,13 @@ class MapState {
|
|
|
245
216
|
}
|
|
246
217
|
}
|
|
247
218
|
}, this.storageService, this.configService);
|
|
219
|
+
this._map.initializeOverlays(this.overlayService);
|
|
248
220
|
this.mapService.setMap(this.map);
|
|
249
221
|
}
|
|
250
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.
|
|
251
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.
|
|
222
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.19", ngImport: i0, type: MapState, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
223
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.19", ngImport: i0, type: MapState, providedIn: 'root' });
|
|
252
224
|
}
|
|
253
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
225
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.19", ngImport: i0, type: MapState, decorators: [{
|
|
254
226
|
type: Injectable,
|
|
255
227
|
args: [{
|
|
256
228
|
providedIn: 'root'
|
|
@@ -301,10 +273,10 @@ class CatalogState {
|
|
|
301
273
|
clearCatalogItemsStores() {
|
|
302
274
|
this.catalogItemsStores.clear();
|
|
303
275
|
}
|
|
304
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.
|
|
305
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.
|
|
276
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.19", ngImport: i0, type: CatalogState, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
277
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.19", ngImport: i0, type: CatalogState, providedIn: 'root' });
|
|
306
278
|
}
|
|
307
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
279
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.19", ngImport: i0, type: CatalogState, decorators: [{
|
|
308
280
|
type: Injectable,
|
|
309
281
|
args: [{
|
|
310
282
|
providedIn: 'root'
|
|
@@ -384,8 +356,8 @@ let CatalogBrowserToolComponent = class CatalogBrowserToolComponent {
|
|
|
384
356
|
this.store$.next(store);
|
|
385
357
|
});
|
|
386
358
|
}
|
|
387
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.
|
|
388
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.
|
|
359
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.19", ngImport: i0, type: CatalogBrowserToolComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
360
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.19", 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
361
|
};
|
|
390
362
|
CatalogBrowserToolComponent = __decorate([
|
|
391
363
|
ToolComponent({
|
|
@@ -394,20 +366,20 @@ CatalogBrowserToolComponent = __decorate([
|
|
|
394
366
|
parent: 'catalog'
|
|
395
367
|
})
|
|
396
368
|
], CatalogBrowserToolComponent);
|
|
397
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
369
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.19", ngImport: i0, type: CatalogBrowserToolComponent, decorators: [{
|
|
398
370
|
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
|
|
371
|
+
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
372
|
}], propDecorators: { toggleCollapsedGroup: [{ type: i0.Input, args: [{ isSignal: true, alias: "toggleCollapsedGroup", required: false }] }] } });
|
|
401
373
|
|
|
402
374
|
/**
|
|
403
375
|
* @deprecated import the CatalogBrowserToolComponent directly
|
|
404
376
|
*/
|
|
405
377
|
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.
|
|
378
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.19", ngImport: i0, type: IgoAppCatalogBrowserToolModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
379
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.19", ngImport: i0, type: IgoAppCatalogBrowserToolModule, imports: [CatalogBrowserToolComponent], exports: [CatalogBrowserToolComponent] });
|
|
380
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.19", ngImport: i0, type: IgoAppCatalogBrowserToolModule, imports: [CatalogBrowserToolComponent] });
|
|
409
381
|
}
|
|
410
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
382
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.19", ngImport: i0, type: IgoAppCatalogBrowserToolModule, decorators: [{
|
|
411
383
|
type: NgModule,
|
|
412
384
|
args: [{
|
|
413
385
|
imports: [CatalogBrowserToolComponent],
|
|
@@ -441,10 +413,10 @@ class ImportExportState {
|
|
|
441
413
|
setsExportOptions(exportOptions) {
|
|
442
414
|
this.exportOptions$.next(exportOptions);
|
|
443
415
|
}
|
|
444
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.
|
|
445
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.
|
|
416
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.19", ngImport: i0, type: ImportExportState, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
417
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.19", ngImport: i0, type: ImportExportState, providedIn: 'root' });
|
|
446
418
|
}
|
|
447
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
419
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.19", ngImport: i0, type: ImportExportState, decorators: [{
|
|
448
420
|
type: Injectable,
|
|
449
421
|
args: [{
|
|
450
422
|
providedIn: 'root'
|
|
@@ -486,10 +458,10 @@ class ToolState {
|
|
|
486
458
|
this.openSidenav$.next(true);
|
|
487
459
|
}
|
|
488
460
|
}
|
|
489
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.
|
|
490
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.
|
|
461
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.19", ngImport: i0, type: ToolState, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
462
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.19", ngImport: i0, type: ToolState, providedIn: 'root' });
|
|
491
463
|
}
|
|
492
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
464
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.19", ngImport: i0, type: ToolState, decorators: [{
|
|
493
465
|
type: Injectable,
|
|
494
466
|
args: [{
|
|
495
467
|
providedIn: 'root'
|
|
@@ -675,19 +647,19 @@ let CatalogLibraryToolComponent = class CatalogLibraryToolComponent {
|
|
|
675
647
|
* Get the item abstract for getCatalogList
|
|
676
648
|
*/
|
|
677
649
|
getMetadataAbstract(item) {
|
|
678
|
-
return item.options.metadata
|
|
650
|
+
return item.options.metadata?.abstract?.replaceAll('\n', '') ?? '';
|
|
679
651
|
}
|
|
680
652
|
/**
|
|
681
653
|
* Get the item url metadata for getCatalogList
|
|
682
654
|
*/
|
|
683
655
|
getMetadataUrl(item) {
|
|
684
|
-
return item.options.metadata
|
|
656
|
+
return item.options.metadata?.url;
|
|
685
657
|
}
|
|
686
658
|
layersInfoFromContexts() {
|
|
687
659
|
return this.contextService.getLocalContexts().pipe(switchMap((contextsList) => forkJoin(contextsList.ours.map((context) => this.contextService.getLocalContext(context.uri)))), concatAll(), map((detailedContext) => {
|
|
688
|
-
return detailedContext.layers
|
|
660
|
+
return (detailedContext.layers ?? [])
|
|
689
661
|
.filter((layer) => isLayerItemOptions(layer))
|
|
690
|
-
.map((layer) => getInfoFromSourceOptions(layer.sourceOptions, detailedContext.title ?? detailedContext.uri));
|
|
662
|
+
.map((layer) => getInfoFromSourceOptions(layer.sourceOptions, detailedContext.title ?? detailedContext.uri ?? ''));
|
|
691
663
|
}), concatAll(), toArray());
|
|
692
664
|
}
|
|
693
665
|
listExportFromCatalogs() {
|
|
@@ -702,7 +674,8 @@ let CatalogLibraryToolComponent = class CatalogLibraryToolComponent {
|
|
|
702
674
|
const catalogListExports = loadedCatalogItems.reduce((catalogListExports, item) => {
|
|
703
675
|
if (item.type === CatalogItemType.Group) {
|
|
704
676
|
const group = item;
|
|
705
|
-
group.items
|
|
677
|
+
group.items?.forEach((item) => {
|
|
678
|
+
const layer = item;
|
|
706
679
|
catalogListExports.push(this.formatLayer(layer, rank, group.title, catalog.title));
|
|
707
680
|
rank++;
|
|
708
681
|
});
|
|
@@ -728,23 +701,26 @@ let CatalogLibraryToolComponent = class CatalogLibraryToolComponent {
|
|
|
728
701
|
this.exportExcel(listExport);
|
|
729
702
|
});
|
|
730
703
|
}
|
|
731
|
-
formatLayer(
|
|
732
|
-
const
|
|
704
|
+
formatLayer(catalogItem, rank, groupTitle, catalogTitle) {
|
|
705
|
+
const sourceOptions = catalogItem.options.sourceOptions;
|
|
706
|
+
const infos = sourceOptions
|
|
707
|
+
? getInfoFromSourceOptions(sourceOptions, catalogItem.id)
|
|
708
|
+
: undefined;
|
|
733
709
|
const t = this.languageService.translate;
|
|
734
710
|
return {
|
|
735
|
-
id: infos.id,
|
|
711
|
+
id: infos?.id ?? catalogItem.options.id,
|
|
736
712
|
rank: rank.toString(),
|
|
737
|
-
layerTitle:
|
|
713
|
+
layerTitle: catalogItem.title,
|
|
738
714
|
layerGroup: groupTitle,
|
|
739
715
|
catalog: catalogTitle,
|
|
740
|
-
provider:
|
|
716
|
+
provider: catalogItem.externalProvider
|
|
741
717
|
? t.instant('igo.integration.catalog.listExport.external')
|
|
742
718
|
: t.instant('igo.integration.catalog.listExport.internal'),
|
|
743
|
-
url: infos
|
|
744
|
-
layerName: infos
|
|
719
|
+
url: infos?.url,
|
|
720
|
+
layerName: infos?.layerName,
|
|
745
721
|
context: '',
|
|
746
|
-
metadataAbstract: this.getMetadataAbstract(
|
|
747
|
-
metadataUrl: this.getMetadataUrl(
|
|
722
|
+
metadataAbstract: this.getMetadataAbstract(catalogItem),
|
|
723
|
+
metadataUrl: this.getMetadataUrl(catalogItem)
|
|
748
724
|
};
|
|
749
725
|
}
|
|
750
726
|
/**
|
|
@@ -794,8 +770,8 @@ let CatalogLibraryToolComponent = class CatalogLibraryToolComponent {
|
|
|
794
770
|
const documentName = this.languageService.translate.instant('igo.integration.catalog.listExport.documentName', { value: formatDate(Date.now(), 'YYYY-MM-dd-H_mm', 'en-US') });
|
|
795
771
|
writeExcelFile(workBook, documentName, { compression: true });
|
|
796
772
|
}
|
|
797
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.
|
|
798
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.
|
|
773
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.19", ngImport: i0, type: CatalogLibraryToolComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
774
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.19", 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
775
|
};
|
|
800
776
|
CatalogLibraryToolComponent = __decorate([
|
|
801
777
|
ToolComponent({
|
|
@@ -804,7 +780,7 @@ CatalogLibraryToolComponent = __decorate([
|
|
|
804
780
|
icon: 'library_add'
|
|
805
781
|
})
|
|
806
782
|
], CatalogLibraryToolComponent);
|
|
807
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
783
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.19", ngImport: i0, type: CatalogLibraryToolComponent, decorators: [{
|
|
808
784
|
type: Component,
|
|
809
785
|
args: [{ selector: 'igo-catalog-library-tool', changeDetection: ChangeDetectionStrategy.OnPush, imports: [
|
|
810
786
|
CatalogLibraryComponent,
|
|
@@ -818,11 +794,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.10", ngImpo
|
|
|
818
794
|
* @deprecated import the CatalogLibraryToolComponent directly
|
|
819
795
|
*/
|
|
820
796
|
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.
|
|
797
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.19", ngImport: i0, type: IgoAppCatalogLibraryToolModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
798
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.19", ngImport: i0, type: IgoAppCatalogLibraryToolModule, imports: [CatalogLibraryToolComponent], exports: [CatalogLibraryToolComponent] });
|
|
799
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.19", ngImport: i0, type: IgoAppCatalogLibraryToolModule, imports: [CatalogLibraryToolComponent] });
|
|
824
800
|
}
|
|
825
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
801
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.19", ngImport: i0, type: IgoAppCatalogLibraryToolModule, decorators: [{
|
|
826
802
|
type: NgModule,
|
|
827
803
|
args: [{
|
|
828
804
|
imports: [CatalogLibraryToolComponent],
|
|
@@ -834,11 +810,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.10", ngImpo
|
|
|
834
810
|
* @deprecated import the components directly
|
|
835
811
|
*/
|
|
836
812
|
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.
|
|
813
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.19", ngImport: i0, type: IgoAppCatalogModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
814
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.19", ngImport: i0, type: IgoAppCatalogModule, exports: [IgoAppCatalogLibraryToolModule, IgoAppCatalogBrowserToolModule] });
|
|
815
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.19", ngImport: i0, type: IgoAppCatalogModule, imports: [IgoAppCatalogLibraryToolModule, IgoAppCatalogBrowserToolModule] });
|
|
840
816
|
}
|
|
841
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
817
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.19", ngImport: i0, type: IgoAppCatalogModule, decorators: [{
|
|
842
818
|
type: NgModule,
|
|
843
819
|
args: [{
|
|
844
820
|
exports: [IgoAppCatalogLibraryToolModule, IgoAppCatalogBrowserToolModule]
|
|
@@ -850,8 +826,8 @@ let ContextEditorToolComponent = class ContextEditorToolComponent {
|
|
|
850
826
|
submitSuccessed() {
|
|
851
827
|
this.toolState.toolbox.activatePreviousTool();
|
|
852
828
|
}
|
|
853
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.
|
|
854
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.
|
|
829
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.19", ngImport: i0, type: ContextEditorToolComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
830
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.19", 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
831
|
};
|
|
856
832
|
ContextEditorToolComponent = __decorate([
|
|
857
833
|
ToolComponent({
|
|
@@ -861,7 +837,7 @@ ContextEditorToolComponent = __decorate([
|
|
|
861
837
|
parent: 'contextManager'
|
|
862
838
|
})
|
|
863
839
|
], ContextEditorToolComponent);
|
|
864
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
840
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.19", ngImport: i0, type: ContextEditorToolComponent, decorators: [{
|
|
865
841
|
type: Component,
|
|
866
842
|
args: [{ selector: 'igo-context-editor-tool', imports: [ContextEditComponent], template: "<igo-context-edit (submitSuccessed)=\"submitSuccessed()\" />\n" }]
|
|
867
843
|
}] });
|
|
@@ -881,8 +857,8 @@ let ContextManagerToolComponent = class ContextManagerToolComponent {
|
|
|
881
857
|
managePermissions() {
|
|
882
858
|
this.toolState.toolbox.activateTool('contextPermissionManager');
|
|
883
859
|
}
|
|
884
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.
|
|
885
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.2.
|
|
860
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.19", ngImport: i0, type: ContextManagerToolComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
861
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.2.19", 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
862
|
};
|
|
887
863
|
ContextManagerToolComponent = __decorate([
|
|
888
864
|
ToolComponent({
|
|
@@ -891,14 +867,14 @@ ContextManagerToolComponent = __decorate([
|
|
|
891
867
|
icon: 'star'
|
|
892
868
|
})
|
|
893
869
|
], ContextManagerToolComponent);
|
|
894
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
870
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.19", ngImport: i0, type: ContextManagerToolComponent, decorators: [{
|
|
895
871
|
type: Component,
|
|
896
872
|
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
873
|
}], propDecorators: { toolToOpenOnContextChange: [{ type: i0.Input, args: [{ isSignal: true, alias: "toolToOpenOnContextChange", required: false }] }] } });
|
|
898
874
|
|
|
899
875
|
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.
|
|
876
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.19", ngImport: i0, type: ContextPermissionManagerToolComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
877
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.19", 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
878
|
};
|
|
903
879
|
ContextPermissionManagerToolComponent = __decorate([
|
|
904
880
|
ToolComponent({
|
|
@@ -908,7 +884,7 @@ ContextPermissionManagerToolComponent = __decorate([
|
|
|
908
884
|
parent: 'contextManager'
|
|
909
885
|
})
|
|
910
886
|
], ContextPermissionManagerToolComponent);
|
|
911
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
887
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.19", ngImport: i0, type: ContextPermissionManagerToolComponent, decorators: [{
|
|
912
888
|
type: Component,
|
|
913
889
|
args: [{ selector: 'igo-context-permission-manager-tool', imports: [ContextPermissionsComponent], template: "<igo-context-permissions />\n" }]
|
|
914
890
|
}] });
|
|
@@ -940,10 +916,10 @@ class LayerListToolState {
|
|
|
940
916
|
sortAlpha: this.sortAlpha$.value
|
|
941
917
|
};
|
|
942
918
|
}
|
|
943
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.
|
|
944
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.
|
|
919
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.19", ngImport: i0, type: LayerListToolState, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
920
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.19", ngImport: i0, type: LayerListToolState, providedIn: 'root' });
|
|
945
921
|
}
|
|
946
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
922
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.19", ngImport: i0, type: LayerListToolState, decorators: [{
|
|
947
923
|
type: Injectable,
|
|
948
924
|
args: [{
|
|
949
925
|
providedIn: 'root'
|
|
@@ -959,8 +935,8 @@ let ContextShareToolComponent = class ContextShareToolComponent {
|
|
|
959
935
|
get layerListControls() {
|
|
960
936
|
return this.layerListToolState.getLayerListControls();
|
|
961
937
|
}
|
|
962
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.
|
|
963
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.
|
|
938
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.19", ngImport: i0, type: ContextShareToolComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
939
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.19", 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
940
|
};
|
|
965
941
|
ContextShareToolComponent = __decorate([
|
|
966
942
|
ToolComponent({
|
|
@@ -969,7 +945,7 @@ ContextShareToolComponent = __decorate([
|
|
|
969
945
|
icon: 'share'
|
|
970
946
|
})
|
|
971
947
|
], ContextShareToolComponent);
|
|
972
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
948
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.19", ngImport: i0, type: ContextShareToolComponent, decorators: [{
|
|
973
949
|
type: Component,
|
|
974
950
|
args: [{ selector: 'igo-context-share-tool', imports: [ShareMapComponent], template: "<igo-share-map [map]=\"map\" />\n" }]
|
|
975
951
|
}] });
|
|
@@ -985,11 +961,11 @@ const INTEGRATION_CONTEXT_DIRECTIVES = [
|
|
|
985
961
|
* @deprecated import the components/directive directly or INTEGRATION_CONTEXT_DIRECTIVES for the set
|
|
986
962
|
*/
|
|
987
963
|
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.
|
|
964
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.19", ngImport: i0, type: IgoAppContextModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
965
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.19", ngImport: i0, type: IgoAppContextModule, imports: [ContextEditorToolComponent, ContextManagerToolComponent, ContextPermissionManagerToolComponent, ContextShareToolComponent], exports: [ContextEditorToolComponent, ContextManagerToolComponent, ContextPermissionManagerToolComponent, ContextShareToolComponent] });
|
|
966
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.19", ngImport: i0, type: IgoAppContextModule, imports: [INTEGRATION_CONTEXT_DIRECTIVES] });
|
|
991
967
|
}
|
|
992
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
968
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.19", ngImport: i0, type: IgoAppContextModule, decorators: [{
|
|
993
969
|
type: NgModule,
|
|
994
970
|
args: [{
|
|
995
971
|
imports: [...INTEGRATION_CONTEXT_DIRECTIVES],
|
|
@@ -1013,7 +989,9 @@ class ContextState {
|
|
|
1013
989
|
this.onContextChange(context);
|
|
1014
990
|
});
|
|
1015
991
|
this.contextService.toolsChanged$.subscribe((context) => {
|
|
1016
|
-
|
|
992
|
+
if (context) {
|
|
993
|
+
this.updateTools(context);
|
|
994
|
+
}
|
|
1017
995
|
});
|
|
1018
996
|
}
|
|
1019
997
|
/**
|
|
@@ -1057,7 +1035,7 @@ class ContextState {
|
|
|
1057
1035
|
toolbox.setToolbar(context.toolbar || []);
|
|
1058
1036
|
// TODO: This is a patch so the context service can work without
|
|
1059
1037
|
// injecting the ToolState or without being completely refactored
|
|
1060
|
-
this.contextService.setTools([]
|
|
1038
|
+
this.contextService.setTools([...tools]);
|
|
1061
1039
|
this.contextService.setToolbar(context.toolbar || []);
|
|
1062
1040
|
}
|
|
1063
1041
|
/**
|
|
@@ -1070,10 +1048,10 @@ class ContextState {
|
|
|
1070
1048
|
}
|
|
1071
1049
|
this.setContext(context);
|
|
1072
1050
|
}
|
|
1073
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.
|
|
1074
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.
|
|
1051
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.19", ngImport: i0, type: ContextState, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
1052
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.19", ngImport: i0, type: ContextState, providedIn: 'root' });
|
|
1075
1053
|
}
|
|
1076
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
1054
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.19", ngImport: i0, type: ContextState, decorators: [{
|
|
1077
1055
|
type: Injectable,
|
|
1078
1056
|
args: [{
|
|
1079
1057
|
providedIn: 'root'
|
|
@@ -1120,10 +1098,10 @@ class DirectionState {
|
|
|
1120
1098
|
}
|
|
1121
1099
|
});
|
|
1122
1100
|
}
|
|
1123
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.
|
|
1124
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.
|
|
1101
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.19", ngImport: i0, type: DirectionState, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
1102
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.19", ngImport: i0, type: DirectionState, providedIn: 'root' });
|
|
1125
1103
|
}
|
|
1126
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
1104
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.19", ngImport: i0, type: DirectionState, decorators: [{
|
|
1127
1105
|
type: Injectable,
|
|
1128
1106
|
args: [{
|
|
1129
1107
|
providedIn: 'root'
|
|
@@ -1185,13 +1163,13 @@ let DirectionsToolComponent = class DirectionsToolComponent {
|
|
|
1185
1163
|
this.storageService.set('direction.warning.shown', true, StorageScope.SESSION);
|
|
1186
1164
|
}
|
|
1187
1165
|
this.contextState.context$.subscribe((c) => {
|
|
1188
|
-
if (!this.authService.authenticated) {
|
|
1166
|
+
if (!this.authService.authenticated && c) {
|
|
1189
1167
|
this.currentContextUri = c.uri;
|
|
1190
1168
|
}
|
|
1191
1169
|
});
|
|
1192
1170
|
}
|
|
1193
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.
|
|
1194
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.
|
|
1171
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.19", ngImport: i0, type: DirectionsToolComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
1172
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.19", 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
1173
|
};
|
|
1196
1174
|
DirectionsToolComponent = __decorate([
|
|
1197
1175
|
ToolComponent({
|
|
@@ -1200,7 +1178,7 @@ DirectionsToolComponent = __decorate([
|
|
|
1200
1178
|
icon: 'directions'
|
|
1201
1179
|
})
|
|
1202
1180
|
], DirectionsToolComponent);
|
|
1203
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
1181
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.19", ngImport: i0, type: DirectionsToolComponent, decorators: [{
|
|
1204
1182
|
type: Component,
|
|
1205
1183
|
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
1184
|
}] });
|
|
@@ -1215,11 +1193,11 @@ class IgoAppDirectionsModule {
|
|
|
1215
1193
|
providers: []
|
|
1216
1194
|
};
|
|
1217
1195
|
}
|
|
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.
|
|
1196
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.19", ngImport: i0, type: IgoAppDirectionsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
1197
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.19", ngImport: i0, type: IgoAppDirectionsModule, imports: [DirectionsToolComponent], exports: [DirectionsToolComponent] });
|
|
1198
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.19", ngImport: i0, type: IgoAppDirectionsModule, imports: [DirectionsToolComponent] });
|
|
1221
1199
|
}
|
|
1222
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
1200
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.19", ngImport: i0, type: IgoAppDirectionsModule, decorators: [{
|
|
1223
1201
|
type: NgModule,
|
|
1224
1202
|
args: [{
|
|
1225
1203
|
imports: [DirectionsToolComponent],
|
|
@@ -1256,10 +1234,10 @@ class DrawState {
|
|
|
1256
1234
|
store = new FeatureStore([], { map: this.mapState.map });
|
|
1257
1235
|
}
|
|
1258
1236
|
}
|
|
1259
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.
|
|
1260
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.
|
|
1237
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.19", ngImport: i0, type: DrawState, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
1238
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.19", ngImport: i0, type: DrawState, providedIn: 'root' });
|
|
1261
1239
|
}
|
|
1262
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
1240
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.19", ngImport: i0, type: DrawState, decorators: [{
|
|
1263
1241
|
type: Injectable,
|
|
1264
1242
|
args: [{
|
|
1265
1243
|
providedIn: 'root'
|
|
@@ -1307,8 +1285,8 @@ let DrawingToolComponent = class DrawingToolComponent {
|
|
|
1307
1285
|
addDrawControls(dc) {
|
|
1308
1286
|
this.drawControls = dc;
|
|
1309
1287
|
}
|
|
1310
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.
|
|
1311
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.
|
|
1288
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.19", ngImport: i0, type: DrawingToolComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
1289
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.19", 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
1290
|
};
|
|
1313
1291
|
DrawingToolComponent = __decorate([
|
|
1314
1292
|
ToolComponent({
|
|
@@ -1317,7 +1295,7 @@ DrawingToolComponent = __decorate([
|
|
|
1317
1295
|
icon: 'stylus_note'
|
|
1318
1296
|
})
|
|
1319
1297
|
], DrawingToolComponent);
|
|
1320
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
1298
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.19", ngImport: i0, type: DrawingToolComponent, decorators: [{
|
|
1321
1299
|
type: Component,
|
|
1322
1300
|
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
1301
|
}] });
|
|
@@ -1326,11 +1304,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.10", ngImpo
|
|
|
1326
1304
|
* @deprecated import the DrawingToolComponent directly
|
|
1327
1305
|
*/
|
|
1328
1306
|
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.
|
|
1307
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.19", ngImport: i0, type: IgoAppDrawingToolModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
1308
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.19", ngImport: i0, type: IgoAppDrawingToolModule, imports: [DrawingToolComponent], exports: [DrawingToolComponent] });
|
|
1309
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.19", ngImport: i0, type: IgoAppDrawingToolModule, imports: [DrawingToolComponent] });
|
|
1332
1310
|
}
|
|
1333
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
1311
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.19", ngImport: i0, type: IgoAppDrawingToolModule, decorators: [{
|
|
1334
1312
|
type: NgModule,
|
|
1335
1313
|
args: [{
|
|
1336
1314
|
imports: [DrawingToolComponent],
|
|
@@ -1342,11 +1320,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.10", ngImpo
|
|
|
1342
1320
|
* @deprecated import the DrawingToolComponent directly
|
|
1343
1321
|
*/
|
|
1344
1322
|
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.
|
|
1323
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.19", ngImport: i0, type: IgoAppDrawModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
1324
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.19", ngImport: i0, type: IgoAppDrawModule, exports: [IgoAppDrawingToolModule] });
|
|
1325
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.19", ngImport: i0, type: IgoAppDrawModule, imports: [IgoAppDrawingToolModule] });
|
|
1348
1326
|
}
|
|
1349
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
1327
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.19", ngImport: i0, type: IgoAppDrawModule, decorators: [{
|
|
1350
1328
|
type: NgModule,
|
|
1351
1329
|
args: [{
|
|
1352
1330
|
exports: [IgoAppDrawingToolModule]
|
|
@@ -1376,8 +1354,8 @@ let ActiveOgcFilterToolComponent = class ActiveOgcFilterToolComponent {
|
|
|
1376
1354
|
return;
|
|
1377
1355
|
}
|
|
1378
1356
|
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.
|
|
1357
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.19", ngImport: i0, type: ActiveOgcFilterToolComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
1358
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.19", 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
1359
|
};
|
|
1382
1360
|
ActiveOgcFilterToolComponent = __decorate([
|
|
1383
1361
|
ToolComponent({
|
|
@@ -1387,7 +1365,7 @@ ActiveOgcFilterToolComponent = __decorate([
|
|
|
1387
1365
|
parent: 'mapTools'
|
|
1388
1366
|
})
|
|
1389
1367
|
], ActiveOgcFilterToolComponent);
|
|
1390
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
1368
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.19", ngImport: i0, type: ActiveOgcFilterToolComponent, decorators: [{
|
|
1391
1369
|
type: Component,
|
|
1392
1370
|
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
1371
|
}] });
|
|
@@ -1415,8 +1393,8 @@ let ActiveTimeFilterToolComponent = class ActiveTimeFilterToolComponent {
|
|
|
1415
1393
|
return;
|
|
1416
1394
|
}
|
|
1417
1395
|
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.
|
|
1396
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.19", ngImport: i0, type: ActiveTimeFilterToolComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
1397
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.19", 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
1398
|
};
|
|
1421
1399
|
ActiveTimeFilterToolComponent = __decorate([
|
|
1422
1400
|
ToolComponent({
|
|
@@ -1426,14 +1404,14 @@ ActiveTimeFilterToolComponent = __decorate([
|
|
|
1426
1404
|
parent: 'mapTools'
|
|
1427
1405
|
})
|
|
1428
1406
|
], ActiveTimeFilterToolComponent);
|
|
1429
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
1407
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.19", ngImport: i0, type: ActiveTimeFilterToolComponent, decorators: [{
|
|
1430
1408
|
type: Component,
|
|
1431
1409
|
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
1410
|
}] });
|
|
1433
1411
|
|
|
1434
1412
|
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.
|
|
1413
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.19", ngImport: i0, type: OgcFilterToolComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
1414
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.19", 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
1415
|
};
|
|
1438
1416
|
OgcFilterToolComponent = __decorate([
|
|
1439
1417
|
ToolComponent({
|
|
@@ -1442,9 +1420,9 @@ OgcFilterToolComponent = __decorate([
|
|
|
1442
1420
|
icon: 'filter'
|
|
1443
1421
|
})
|
|
1444
1422
|
], OgcFilterToolComponent);
|
|
1445
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
1423
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.19", ngImport: i0, type: OgcFilterToolComponent, decorators: [{
|
|
1446
1424
|
type: Component,
|
|
1447
|
-
args: [{ selector: 'igo-ogc-filter-tool', imports: [OgcFilterableListComponent, OgcFilterableListBindingDirective], template: "<igo-ogc-filterable-list igoOgcFilterableListBinding />\n" }]
|
|
1425
|
+
args: [{ selector: 'igo-ogc-filter-tool', imports: [OgcFilterableListComponent, OgcFilterableListBindingDirective], template: "<igo-ogc-filterable-list igoOgcFilterableListBinding [layers]=\"[]\" />\n" }]
|
|
1448
1426
|
}] });
|
|
1449
1427
|
|
|
1450
1428
|
/**
|
|
@@ -1455,10 +1433,10 @@ class StorageState {
|
|
|
1455
1433
|
get storageService() {
|
|
1456
1434
|
return this.igoStorageService;
|
|
1457
1435
|
}
|
|
1458
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.
|
|
1459
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.
|
|
1436
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.19", ngImport: i0, type: StorageState, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
1437
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.19", ngImport: i0, type: StorageState, providedIn: 'root' });
|
|
1460
1438
|
}
|
|
1461
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
1439
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.19", ngImport: i0, type: StorageState, decorators: [{
|
|
1462
1440
|
type: Injectable,
|
|
1463
1441
|
args: [{
|
|
1464
1442
|
providedIn: 'root'
|
|
@@ -1519,17 +1497,17 @@ function getWorkspaceActions(workspace, rowsInMapExtentCheckCondition$, selectOn
|
|
|
1519
1497
|
title: 'igo.integration.workspace.download.title',
|
|
1520
1498
|
tooltip: 'igo.integration.workspace.download.tooltip',
|
|
1521
1499
|
handler: (ws) => {
|
|
1522
|
-
const filterStrategy = ws.entityStore
|
|
1523
|
-
const filterSelectionStrategy = ws.entityStore
|
|
1524
|
-
const layersWithSelection = filterSelectionStrategy
|
|
1500
|
+
const filterStrategy = ws.entityStore?.getStrategyOfType(EntityStoreFilterCustomFuncStrategy);
|
|
1501
|
+
const filterSelectionStrategy = ws.entityStore?.getStrategyOfType(EntityStoreFilterSelectionStrategy);
|
|
1502
|
+
const layersWithSelection = filterSelectionStrategy?.active
|
|
1525
1503
|
? [ws.layer.id]
|
|
1526
1504
|
: [];
|
|
1527
1505
|
toolState.toolToActivateFromOptions({
|
|
1528
1506
|
tool: 'importExport',
|
|
1529
1507
|
options: {
|
|
1530
1508
|
layers: [ws.layer.id],
|
|
1531
|
-
featureInMapExtent: filterStrategy
|
|
1532
|
-
layersWithSelection
|
|
1509
|
+
featureInMapExtent: filterStrategy?.active,
|
|
1510
|
+
layersWithSelection: layersWithSelection.filter((id) => id !== undefined)
|
|
1533
1511
|
}
|
|
1534
1512
|
});
|
|
1535
1513
|
},
|
|
@@ -1548,7 +1526,7 @@ function getWorkspaceActions(workspace, rowsInMapExtentCheckCondition$, selectOn
|
|
|
1548
1526
|
},
|
|
1549
1527
|
args: [ogcFilterWidget, workspace],
|
|
1550
1528
|
availability: (widget, ws) => of(ws.layer.options.sourceOptions
|
|
1551
|
-
?.ogcFilters?.enabled)
|
|
1529
|
+
?.ogcFilters?.enabled ?? false)
|
|
1552
1530
|
},
|
|
1553
1531
|
{
|
|
1554
1532
|
id: 'interactiveSelect',
|
|
@@ -1628,7 +1606,7 @@ function getWorkspaceActions(workspace, rowsInMapExtentCheckCondition$, selectOn
|
|
|
1628
1606
|
args: [workspace]
|
|
1629
1607
|
}
|
|
1630
1608
|
];
|
|
1631
|
-
const returnActions = workspace.layer.options.workspace
|
|
1609
|
+
const returnActions = workspace.layer.options.workspace?.printable !== false
|
|
1632
1610
|
? actions
|
|
1633
1611
|
: actions.filter((action) => action.id !== 'print');
|
|
1634
1612
|
return returnActions;
|
|
@@ -1675,10 +1653,10 @@ class EditionActionsService {
|
|
|
1675
1653
|
});
|
|
1676
1654
|
return getWorkspaceActions(workspace, rowsInMapExtentCheckCondition$, selectOnlyCheckCondition$, this.ogcFilterWidget, this.zoomAuto$, this.maximize$, this.storageService, this.languageService, this.mediaService, this.toolState);
|
|
1677
1655
|
}
|
|
1678
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.
|
|
1679
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.
|
|
1656
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.19", ngImport: i0, type: EditionActionsService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
1657
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.19", ngImport: i0, type: EditionActionsService, providedIn: 'root' });
|
|
1680
1658
|
}
|
|
1681
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
1659
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.19", ngImport: i0, type: EditionActionsService, decorators: [{
|
|
1682
1660
|
type: Injectable,
|
|
1683
1661
|
args: [{
|
|
1684
1662
|
providedIn: 'root'
|
|
@@ -1721,12 +1699,12 @@ class FeatureActionsService {
|
|
|
1721
1699
|
this.zoomAuto$.next(this.zoomAuto);
|
|
1722
1700
|
handleZoomAuto(workspace, this.storageService);
|
|
1723
1701
|
});
|
|
1724
|
-
return getWorkspaceActions(workspace, rowsInMapExtentCheckCondition$, selectOnlyCheckCondition$, undefined, this.zoomAuto$, this.maximize$, this.storageService, this.languageService, this.mediaService, this.toolState, this.interactiveSelectionFormWidget);
|
|
1702
|
+
return getWorkspaceActions(workspace, rowsInMapExtentCheckCondition$, selectOnlyCheckCondition$, undefined, this.zoomAuto$, this.maximize$, this.storageService, this.languageService, this.mediaService, this.toolState, this.interactiveSelectionFormWidget ?? undefined);
|
|
1725
1703
|
}
|
|
1726
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.
|
|
1727
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.
|
|
1704
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.19", ngImport: i0, type: FeatureActionsService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
1705
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.19", ngImport: i0, type: FeatureActionsService, providedIn: 'root' });
|
|
1728
1706
|
}
|
|
1729
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
1707
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.19", ngImport: i0, type: FeatureActionsService, decorators: [{
|
|
1730
1708
|
type: Injectable,
|
|
1731
1709
|
args: [{
|
|
1732
1710
|
providedIn: 'root'
|
|
@@ -1772,12 +1750,12 @@ class WfsActionsService {
|
|
|
1772
1750
|
this.zoomAuto$.next(this.zoomAuto);
|
|
1773
1751
|
handleZoomAuto(workspace, this.storageService);
|
|
1774
1752
|
});
|
|
1775
|
-
return getWorkspaceActions(workspace, rowsInMapExtentCheckCondition$, selectOnlyCheckCondition$, this.ogcFilterWidget, this.zoomAuto$, this.maximize$, this.storageService, this.languageService, this.mediaService, this.toolState, this.interactiveSelectionFormWidget);
|
|
1753
|
+
return getWorkspaceActions(workspace, rowsInMapExtentCheckCondition$, selectOnlyCheckCondition$, this.ogcFilterWidget, this.zoomAuto$, this.maximize$, this.storageService, this.languageService, this.mediaService, this.toolState, this.interactiveSelectionFormWidget ?? undefined);
|
|
1776
1754
|
}
|
|
1777
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.
|
|
1778
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.
|
|
1755
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.19", ngImport: i0, type: WfsActionsService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
1756
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.19", ngImport: i0, type: WfsActionsService, providedIn: 'root' });
|
|
1779
1757
|
}
|
|
1780
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
1758
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.19", ngImport: i0, type: WfsActionsService, decorators: [{
|
|
1781
1759
|
type: Injectable,
|
|
1782
1760
|
args: [{
|
|
1783
1761
|
providedIn: 'root'
|
|
@@ -1819,7 +1797,7 @@ class WorkspaceState {
|
|
|
1819
1797
|
_store;
|
|
1820
1798
|
get workspaceSelection() {
|
|
1821
1799
|
if (this.workspace$.value) {
|
|
1822
|
-
return this.workspace$.value?.entityStore
|
|
1800
|
+
return this.workspace$.value?.entityStore?.stateView.manyBy((r) => r.state.selected === true);
|
|
1823
1801
|
}
|
|
1824
1802
|
else {
|
|
1825
1803
|
return [];
|
|
@@ -1827,7 +1805,7 @@ class WorkspaceState {
|
|
|
1827
1805
|
}
|
|
1828
1806
|
get workspaceSelection$() {
|
|
1829
1807
|
if (this.workspace$.value) {
|
|
1830
|
-
return this.workspace$.value?.entityStore?.stateView.manyBy$((r) => r.state.selected === true);
|
|
1808
|
+
return (this.workspace$.value?.entityStore?.stateView.manyBy$((r) => r.state.selected === true) ?? of([]));
|
|
1831
1809
|
}
|
|
1832
1810
|
else {
|
|
1833
1811
|
return of([]);
|
|
@@ -1850,11 +1828,9 @@ class WorkspaceState {
|
|
|
1850
1828
|
const workspace = record ? record.entity : undefined;
|
|
1851
1829
|
this.workspace$.next(workspace);
|
|
1852
1830
|
});
|
|
1853
|
-
this._store.stateView
|
|
1854
|
-
.all$()
|
|
1855
|
-
.subscribe((workspaces) => {
|
|
1831
|
+
this._store.stateView.all$().subscribe((workspaces) => {
|
|
1856
1832
|
workspaces.map((wks) => {
|
|
1857
|
-
if (wks.entity.actionStore
|
|
1833
|
+
if (wks.entity.actionStore?.empty) {
|
|
1858
1834
|
if (wks.entity instanceof WfsWorkspace) {
|
|
1859
1835
|
this.wfsActionsService.loadActions(wks.entity, this.rowsInMapExtentCheckCondition$, this.selectOnlyCheckCondition$);
|
|
1860
1836
|
}
|
|
@@ -1884,8 +1860,8 @@ class WorkspaceState {
|
|
|
1884
1860
|
this.rowsInMapExtentCheckCondition$$ =
|
|
1885
1861
|
this.rowsInMapExtentCheckCondition$.subscribe((rowsInMapExtent) => {
|
|
1886
1862
|
this._store.stateView.all().map((wks) => {
|
|
1887
|
-
if (!wks.entity.actionStore
|
|
1888
|
-
const filterStrategy = wks.entity.entityStore
|
|
1863
|
+
if (!wks.entity.actionStore?.empty) {
|
|
1864
|
+
const filterStrategy = wks.entity.entityStore?.getStrategyOfType(EntityStoreFilterCustomFuncStrategy);
|
|
1889
1865
|
if (filterStrategy) {
|
|
1890
1866
|
if (rowsInMapExtent) {
|
|
1891
1867
|
filterStrategy.activate();
|
|
@@ -1899,8 +1875,8 @@ class WorkspaceState {
|
|
|
1899
1875
|
});
|
|
1900
1876
|
this.selectOnlyCheckCondition$$ = this.selectOnlyCheckCondition$.subscribe((selectOnly) => {
|
|
1901
1877
|
this._store.stateView.all().map((wks) => {
|
|
1902
|
-
if (!wks.entity.actionStore
|
|
1903
|
-
const filterStrategy = wks.entity.entityStore
|
|
1878
|
+
if (!wks.entity.actionStore?.empty) {
|
|
1879
|
+
const filterStrategy = wks.entity.entityStore?.getStrategyOfType(EntityStoreFilterSelectionStrategy);
|
|
1904
1880
|
if (filterStrategy) {
|
|
1905
1881
|
if (selectOnly) {
|
|
1906
1882
|
filterStrategy.activate();
|
|
@@ -1957,10 +1933,10 @@ class WorkspaceState {
|
|
|
1957
1933
|
this.activeWorkspace$$.unsubscribe();
|
|
1958
1934
|
}
|
|
1959
1935
|
}
|
|
1960
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.
|
|
1961
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.
|
|
1936
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.19", ngImport: i0, type: WorkspaceState, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
1937
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.19", ngImport: i0, type: WorkspaceState, providedIn: 'root' });
|
|
1962
1938
|
}
|
|
1963
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
1939
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.19", ngImport: i0, type: WorkspaceState, decorators: [{
|
|
1964
1940
|
type: Injectable,
|
|
1965
1941
|
args: [{
|
|
1966
1942
|
providedIn: 'root'
|
|
@@ -1983,9 +1959,9 @@ let SpatialFilterToolComponent = class SpatialFilterToolComponent {
|
|
|
1983
1959
|
get map() {
|
|
1984
1960
|
return this.mapState.map;
|
|
1985
1961
|
}
|
|
1986
|
-
type = model(
|
|
1962
|
+
type = model(...(ngDevMode ? [undefined, { debugName: "type" }] : /* istanbul ignore next */ []));
|
|
1987
1963
|
itemType = model(SpatialFilterItemType.Thematics, ...(ngDevMode ? [{ debugName: "itemType" }] : /* istanbul ignore next */ []));
|
|
1988
|
-
freehandDrawIsActive = model(
|
|
1964
|
+
freehandDrawIsActive = model(...(ngDevMode ? [undefined, { debugName: "freehandDrawIsActive" }] : /* istanbul ignore next */ []));
|
|
1989
1965
|
layers = [];
|
|
1990
1966
|
activeLayers = [];
|
|
1991
1967
|
queryType;
|
|
@@ -2034,7 +2010,7 @@ let SpatialFilterToolComponent = class SpatialFilterToolComponent {
|
|
|
2034
2010
|
const ids = [];
|
|
2035
2011
|
const re = new RegExp('^Zone \\d+');
|
|
2036
2012
|
for (const layer of this.layers) {
|
|
2037
|
-
if (!layer.title
|
|
2013
|
+
if (!layer.title?.match(re)) {
|
|
2038
2014
|
ids.push(layer.id);
|
|
2039
2015
|
}
|
|
2040
2016
|
}
|
|
@@ -2054,7 +2030,7 @@ let SpatialFilterToolComponent = class SpatialFilterToolComponent {
|
|
|
2054
2030
|
this.thematics) {
|
|
2055
2031
|
for (const thematic of this.thematics) {
|
|
2056
2032
|
if (!thematic.zeroResults) {
|
|
2057
|
-
layerToOpenWks = this.activeLayers.find((layer) => layer.title
|
|
2033
|
+
layerToOpenWks = this.activeLayers.find((layer) => layer.title?.includes(thematic.name + ' ' + this.iterator.toString()));
|
|
2058
2034
|
break;
|
|
2059
2035
|
}
|
|
2060
2036
|
}
|
|
@@ -2062,7 +2038,7 @@ let SpatialFilterToolComponent = class SpatialFilterToolComponent {
|
|
|
2062
2038
|
else {
|
|
2063
2039
|
const title = 'Adresses ' + this.iterator.toString();
|
|
2064
2040
|
this.activeLayers.forEach((layer) => {
|
|
2065
|
-
if (layer.title
|
|
2041
|
+
if (layer.title?.includes(title)) {
|
|
2066
2042
|
layerToOpenWks = layer;
|
|
2067
2043
|
}
|
|
2068
2044
|
});
|
|
@@ -2084,10 +2060,12 @@ let SpatialFilterToolComponent = class SpatialFilterToolComponent {
|
|
|
2084
2060
|
}
|
|
2085
2061
|
selectWorkspaceEntity(record) {
|
|
2086
2062
|
this.workspaceState.store.all().forEach((workspace) => {
|
|
2087
|
-
workspace.entityStore
|
|
2088
|
-
if (
|
|
2063
|
+
workspace.entityStore?.state.updateAll({ selected: false });
|
|
2064
|
+
if (
|
|
2065
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
2066
|
+
workspace.title.includes(record['added'][0]?.meta?.title)) {
|
|
2089
2067
|
this.workspaceState.setActiveWorkspaceById(workspace.id);
|
|
2090
|
-
workspace.entityStore
|
|
2068
|
+
workspace.entityStore?.state.updateMany(record['added'], {
|
|
2091
2069
|
selected: true
|
|
2092
2070
|
});
|
|
2093
2071
|
}
|
|
@@ -2144,7 +2122,7 @@ let SpatialFilterToolComponent = class SpatialFilterToolComponent {
|
|
|
2144
2122
|
thematics = [theme];
|
|
2145
2123
|
}
|
|
2146
2124
|
else {
|
|
2147
|
-
thematics = this.thematics;
|
|
2125
|
+
thematics = this.thematics ?? [];
|
|
2148
2126
|
}
|
|
2149
2127
|
if (this.measureUnit === MeasureLengthUnit.Kilometers &&
|
|
2150
2128
|
type !== SpatialFilterType.Point) {
|
|
@@ -2166,10 +2144,10 @@ let SpatialFilterToolComponent = class SpatialFilterToolComponent {
|
|
|
2166
2144
|
const grouped = this.getFeatureByType(features);
|
|
2167
2145
|
grouped.forEach(({ points, lines }) => {
|
|
2168
2146
|
if (points.length > 0) {
|
|
2169
|
-
this.tryAddPointToMap(points, points[0].meta
|
|
2147
|
+
this.tryAddPointToMap(points, points[0].meta?.id);
|
|
2170
2148
|
}
|
|
2171
2149
|
if (lines.length > 0) {
|
|
2172
|
-
this.tryAddLayerToMap(lines, lines[0].meta
|
|
2150
|
+
this.tryAddLayerToMap(lines, lines[0].meta?.id);
|
|
2173
2151
|
}
|
|
2174
2152
|
});
|
|
2175
2153
|
thematics.forEach((thematic) => {
|
|
@@ -2206,7 +2184,7 @@ let SpatialFilterToolComponent = class SpatialFilterToolComponent {
|
|
|
2206
2184
|
group = { points: [], lines: [] };
|
|
2207
2185
|
grouped.set(typeKey, group);
|
|
2208
2186
|
}
|
|
2209
|
-
if (feature.geometry
|
|
2187
|
+
if (feature.geometry?.type === 'Point') {
|
|
2210
2188
|
feature.properties.longitude = feature.geometry.coordinates[0];
|
|
2211
2189
|
feature.properties.latitude = feature.geometry.coordinates[1];
|
|
2212
2190
|
group.points.push(feature);
|
|
@@ -2233,15 +2211,15 @@ let SpatialFilterToolComponent = class SpatialFilterToolComponent {
|
|
|
2233
2211
|
zoneIndex = parseInt(match[1], 10);
|
|
2234
2212
|
}
|
|
2235
2213
|
}
|
|
2236
|
-
const titleFeature = features[0].meta
|
|
2214
|
+
const titleFeature = features[0].meta?.title;
|
|
2237
2215
|
// Count how many layers with the same meta.title already exist
|
|
2238
2216
|
let i = 1;
|
|
2239
2217
|
for (const layer of this.layers) {
|
|
2240
|
-
if (layer.title?.startsWith(titleFeature)) {
|
|
2218
|
+
if (layer.title?.startsWith(titleFeature ?? '')) {
|
|
2241
2219
|
i++;
|
|
2242
2220
|
}
|
|
2243
2221
|
}
|
|
2244
|
-
const style =
|
|
2222
|
+
const style = markerOlStyle({});
|
|
2245
2223
|
// 🔑 Use zoneIndex to sync layer naming
|
|
2246
2224
|
const filterLabel = this.languageService.translate.instant('igo.geo.spatialFilter.spatialFilter');
|
|
2247
2225
|
const options = {
|
|
@@ -2263,12 +2241,15 @@ let SpatialFilterToolComponent = class SpatialFilterToolComponent {
|
|
|
2263
2241
|
.createAsyncLayer(options)
|
|
2264
2242
|
.pipe(take(1))
|
|
2265
2243
|
.subscribe((layer) => {
|
|
2244
|
+
if (!layer)
|
|
2245
|
+
return;
|
|
2246
|
+
const vectorLayer = layer;
|
|
2266
2247
|
const featuresOl = features.map((feature) => {
|
|
2267
|
-
return featureToOl(feature, this.map.
|
|
2248
|
+
return featureToOl(feature, this.map.projectionCode);
|
|
2268
2249
|
});
|
|
2269
|
-
const ol =
|
|
2250
|
+
const ol = vectorLayer.dataSource.ol;
|
|
2270
2251
|
ol.getSource().addFeatures(featuresOl);
|
|
2271
|
-
const previousLayer = this.layers.find((prevLayer) => prevLayer.id ===
|
|
2252
|
+
const previousLayer = this.layers.find((prevLayer) => prevLayer.id === vectorLayer.id);
|
|
2272
2253
|
if (previousLayer) {
|
|
2273
2254
|
this.map.layerController.remove(previousLayer);
|
|
2274
2255
|
this.layers = this.layers.filter((l) => l.id !== layer.id);
|
|
@@ -2292,13 +2273,13 @@ let SpatialFilterToolComponent = class SpatialFilterToolComponent {
|
|
|
2292
2273
|
return;
|
|
2293
2274
|
}
|
|
2294
2275
|
for (const layer of this.layers) {
|
|
2295
|
-
if (layer.title?.startsWith(features[0].meta
|
|
2276
|
+
if (layer.title?.startsWith(features[0].meta?.title ?? '')) {
|
|
2296
2277
|
i++;
|
|
2297
2278
|
}
|
|
2298
2279
|
}
|
|
2299
2280
|
const options = {
|
|
2300
2281
|
isIgoInternalLayer: true,
|
|
2301
|
-
title: (features[0].meta
|
|
2282
|
+
title: ((features[0].meta?.title ?? '') +
|
|
2302
2283
|
' ' +
|
|
2303
2284
|
i +
|
|
2304
2285
|
' - ' +
|
|
@@ -2314,16 +2295,19 @@ let SpatialFilterToolComponent = class SpatialFilterToolComponent {
|
|
|
2314
2295
|
.createAsyncLayer(options)
|
|
2315
2296
|
.pipe(take(1))
|
|
2316
2297
|
.subscribe((layer) => {
|
|
2298
|
+
if (!layer)
|
|
2299
|
+
return;
|
|
2300
|
+
const vectorLayer = layer;
|
|
2317
2301
|
const featuresOl = features.map((feature) => {
|
|
2318
|
-
return featureToOl(feature, this.map.
|
|
2302
|
+
return featureToOl(feature, this.map.projectionCode);
|
|
2319
2303
|
});
|
|
2320
|
-
const ol =
|
|
2304
|
+
const ol = vectorLayer.dataSource.ol;
|
|
2321
2305
|
ol.addFeatures(featuresOl);
|
|
2322
|
-
const previousLayer = this.layers.find((prevLayer) => prevLayer.id ===
|
|
2306
|
+
const previousLayer = this.layers.find((prevLayer) => prevLayer.id === vectorLayer.id);
|
|
2323
2307
|
if (previousLayer) {
|
|
2324
2308
|
this.map.layerController.remove(previousLayer);
|
|
2325
2309
|
i = i - 1;
|
|
2326
|
-
layer.title = (features[0].meta
|
|
2310
|
+
layer.title = ((features[0].meta?.title ?? '') +
|
|
2327
2311
|
' ' +
|
|
2328
2312
|
i +
|
|
2329
2313
|
' - ' +
|
|
@@ -2361,14 +2345,14 @@ let SpatialFilterToolComponent = class SpatialFilterToolComponent {
|
|
|
2361
2345
|
return;
|
|
2362
2346
|
const olSource = zoneLayer.dataSource.ol;
|
|
2363
2347
|
// Convert to OL feature (same way as when adding)
|
|
2364
|
-
const featureOl = featureToOl(feature, this.map.
|
|
2348
|
+
const featureOl = featureToOl(feature, this.map.projectionCode);
|
|
2365
2349
|
// Find matching OL feature(s) by id or geometry
|
|
2366
2350
|
const toRemove = olSource.getFeatures().filter((f) => {
|
|
2367
2351
|
return f.getId() === featureOl.getId();
|
|
2368
2352
|
});
|
|
2369
2353
|
if (toRemove.length) {
|
|
2370
2354
|
toRemove.forEach((f) => olSource.removeFeature(f));
|
|
2371
|
-
this.zones = this.zones.filter((z) => z.meta
|
|
2355
|
+
this.zones = this.zones.filter((z) => z.meta?.id !== feature.meta?.id);
|
|
2372
2356
|
}
|
|
2373
2357
|
if (olSource.getFeatures().length === 0) {
|
|
2374
2358
|
this.map.layerController.remove(zoneLayer);
|
|
@@ -2391,8 +2375,11 @@ let SpatialFilterToolComponent = class SpatialFilterToolComponent {
|
|
|
2391
2375
|
if (!zoneLayer) {
|
|
2392
2376
|
this.defaultStyle = this.createZoneStyle(features[0]);
|
|
2393
2377
|
this.createZoneLayer(lastZoneIndex + 1, features).subscribe((layer) => {
|
|
2394
|
-
|
|
2395
|
-
|
|
2378
|
+
if (!layer)
|
|
2379
|
+
return;
|
|
2380
|
+
const vectorLayer = layer;
|
|
2381
|
+
this.setActiveZoneLayer(vectorLayer);
|
|
2382
|
+
this.addFeaturesToLayer(vectorLayer, features);
|
|
2396
2383
|
this.cdRef.detectChanges();
|
|
2397
2384
|
});
|
|
2398
2385
|
}
|
|
@@ -2404,11 +2391,11 @@ let SpatialFilterToolComponent = class SpatialFilterToolComponent {
|
|
|
2404
2391
|
if (this.type() !== SpatialFilterType.Predefined)
|
|
2405
2392
|
return false;
|
|
2406
2393
|
return this.layers
|
|
2407
|
-
.filter((l) => l.title
|
|
2394
|
+
.filter((l) => l.title?.includes('Zone'))
|
|
2408
2395
|
.some((layer) => {
|
|
2409
|
-
const olSource = layer.dataSource
|
|
2396
|
+
const olSource = layer.dataSource?.ol;
|
|
2410
2397
|
const layerFeatures = olSource.getFeatures();
|
|
2411
|
-
return this.zones.every((zone) => layerFeatures.some((feature) => feature.getId() === zone.meta
|
|
2398
|
+
return this.zones.every((zone) => layerFeatures.some((feature) => feature.getId() === zone.meta?.id));
|
|
2412
2399
|
});
|
|
2413
2400
|
}
|
|
2414
2401
|
findLastZoneIndex() {
|
|
@@ -2435,7 +2422,7 @@ let SpatialFilterToolComponent = class SpatialFilterToolComponent {
|
|
|
2435
2422
|
? this.buffer /
|
|
2436
2423
|
Math.cos((Math.PI / 180) * coordinates[1]) /
|
|
2437
2424
|
resolution
|
|
2438
|
-
:
|
|
2425
|
+
: 0,
|
|
2439
2426
|
fill: new olstyle.Fill({ color: 'rgba(200, 200, 20, 0.2)' }),
|
|
2440
2427
|
stroke: new olstyle.Stroke({ width: 1, color: 'orange' })
|
|
2441
2428
|
}),
|
|
@@ -2478,7 +2465,7 @@ let SpatialFilterToolComponent = class SpatialFilterToolComponent {
|
|
|
2478
2465
|
const olSource = layer.dataSource.ol;
|
|
2479
2466
|
if (buffer)
|
|
2480
2467
|
olSource.clear();
|
|
2481
|
-
const featuresOl = features.map((f) => featureToOl(f, this.map.
|
|
2468
|
+
const featuresOl = features.map((f) => featureToOl(f, this.map.projectionCode));
|
|
2482
2469
|
const type = this.type();
|
|
2483
2470
|
if (type !== SpatialFilterType.Predefined) {
|
|
2484
2471
|
const customType = type === SpatialFilterType.Point ? 'Cercle' : 'Polygone';
|
|
@@ -2503,6 +2490,8 @@ let SpatialFilterToolComponent = class SpatialFilterToolComponent {
|
|
|
2503
2490
|
}
|
|
2504
2491
|
setPointProps(featureOl, projectionCode, radius) {
|
|
2505
2492
|
const olGeometry = featureOl.getGeometry();
|
|
2493
|
+
if (!olGeometry)
|
|
2494
|
+
return;
|
|
2506
2495
|
const [longitude, latitude] = transform(olGeometry.getFlatCoordinates(), projectionCode, 'EPSG:4326');
|
|
2507
2496
|
const props = {
|
|
2508
2497
|
[RADIUS_NAME]: radius,
|
|
@@ -2512,8 +2501,8 @@ let SpatialFilterToolComponent = class SpatialFilterToolComponent {
|
|
|
2512
2501
|
};
|
|
2513
2502
|
Object.entries(props).forEach(([key, value]) => featureOl.set(key, value, true));
|
|
2514
2503
|
}
|
|
2515
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.
|
|
2516
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.
|
|
2504
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.19", ngImport: i0, type: SpatialFilterToolComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
2505
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.19", 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
2506
|
};
|
|
2518
2507
|
SpatialFilterToolComponent = __decorate([
|
|
2519
2508
|
ToolComponent({
|
|
@@ -2525,19 +2514,19 @@ SpatialFilterToolComponent = __decorate([
|
|
|
2525
2514
|
* Spatial Filter Type
|
|
2526
2515
|
*/
|
|
2527
2516
|
], SpatialFilterToolComponent);
|
|
2528
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
2517
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.19", ngImport: i0, type: SpatialFilterToolComponent, decorators: [{
|
|
2529
2518
|
type: Component,
|
|
2530
2519
|
args: [{ selector: 'igo-spatial-filter-tool', changeDetection: ChangeDetectionStrategy.OnPush, imports: [
|
|
2531
2520
|
SpatialFilterTypeComponent,
|
|
2532
2521
|
SpatialFilterItemComponent,
|
|
2533
2522
|
FeatureDetailsComponent,
|
|
2534
2523
|
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()
|
|
2524
|
+
], 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
2525
|
}], 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
2526
|
|
|
2538
2527
|
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.
|
|
2528
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.19", ngImport: i0, type: TimeFilterToolComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
2529
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.19", 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
2530
|
};
|
|
2542
2531
|
TimeFilterToolComponent = __decorate([
|
|
2543
2532
|
ToolComponent({
|
|
@@ -2546,7 +2535,7 @@ TimeFilterToolComponent = __decorate([
|
|
|
2546
2535
|
icon: 'history'
|
|
2547
2536
|
})
|
|
2548
2537
|
], TimeFilterToolComponent);
|
|
2549
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
2538
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.19", ngImport: i0, type: TimeFilterToolComponent, decorators: [{
|
|
2550
2539
|
type: Component,
|
|
2551
2540
|
args: [{ selector: 'igo-time-filter-tool', imports: [TimeFilterListComponent, TimeFilterListBindingDirective], template: "<igo-time-filter-list igoTimeFilterListBinding />\n" }]
|
|
2552
2541
|
}] });
|
|
@@ -2561,8 +2550,8 @@ class IgoAppFilterModule {
|
|
|
2561
2550
|
providers: []
|
|
2562
2551
|
};
|
|
2563
2552
|
}
|
|
2564
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.
|
|
2565
|
-
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.
|
|
2553
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.19", ngImport: i0, type: IgoAppFilterModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
2554
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.19", ngImport: i0, type: IgoAppFilterModule, imports: [OgcFilterToolComponent,
|
|
2566
2555
|
ActiveOgcFilterToolComponent,
|
|
2567
2556
|
TimeFilterToolComponent,
|
|
2568
2557
|
ActiveTimeFilterToolComponent,
|
|
@@ -2571,13 +2560,13 @@ class IgoAppFilterModule {
|
|
|
2571
2560
|
TimeFilterToolComponent,
|
|
2572
2561
|
ActiveTimeFilterToolComponent,
|
|
2573
2562
|
SpatialFilterToolComponent] });
|
|
2574
|
-
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.
|
|
2563
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.19", ngImport: i0, type: IgoAppFilterModule, imports: [OgcFilterToolComponent,
|
|
2575
2564
|
ActiveOgcFilterToolComponent,
|
|
2576
2565
|
TimeFilterToolComponent,
|
|
2577
2566
|
ActiveTimeFilterToolComponent,
|
|
2578
2567
|
SpatialFilterToolComponent] });
|
|
2579
2568
|
}
|
|
2580
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
2569
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.19", ngImport: i0, type: IgoAppFilterModule, decorators: [{
|
|
2581
2570
|
type: NgModule,
|
|
2582
2571
|
args: [{
|
|
2583
2572
|
imports: [
|
|
@@ -2606,7 +2595,7 @@ let DataIssueReporterToolComponent = class DataIssueReporterToolComponent {
|
|
|
2606
2595
|
/**
|
|
2607
2596
|
* Url to report the data issue. Use the Post protocol to send the form.
|
|
2608
2597
|
*/
|
|
2609
|
-
url = input(
|
|
2598
|
+
url = input(...(ngDevMode ? [undefined, { debugName: "url" }] : /* istanbul ignore next */ []));
|
|
2610
2599
|
/**
|
|
2611
2600
|
* Map to link to the form
|
|
2612
2601
|
* @internal
|
|
@@ -2714,10 +2703,10 @@ let DataIssueReporterToolComponent = class DataIssueReporterToolComponent {
|
|
|
2714
2703
|
});
|
|
2715
2704
|
}
|
|
2716
2705
|
ngOnDestroy() {
|
|
2717
|
-
this.valueChanges
|
|
2706
|
+
this.valueChanges$$?.unsubscribe();
|
|
2718
2707
|
}
|
|
2719
2708
|
clearForm() {
|
|
2720
|
-
this.form$.value
|
|
2709
|
+
this.form$.value?.control.reset();
|
|
2721
2710
|
}
|
|
2722
2711
|
onSubmit(data) {
|
|
2723
2712
|
const submitTitle = 'igo.integration.dataIssueReporterTool.submit.title';
|
|
@@ -2733,8 +2722,8 @@ let DataIssueReporterToolComponent = class DataIssueReporterToolComponent {
|
|
|
2733
2722
|
this.clearForm();
|
|
2734
2723
|
}
|
|
2735
2724
|
}
|
|
2736
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.
|
|
2737
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.
|
|
2725
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.19", ngImport: i0, type: DataIssueReporterToolComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
2726
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.19", 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
2727
|
};
|
|
2739
2728
|
DataIssueReporterToolComponent = __decorate([
|
|
2740
2729
|
ToolComponent({
|
|
@@ -2743,34 +2732,20 @@ DataIssueReporterToolComponent = __decorate([
|
|
|
2743
2732
|
icon: 'feedback'
|
|
2744
2733
|
})
|
|
2745
2734
|
], DataIssueReporterToolComponent);
|
|
2746
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
2735
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.19", ngImport: i0, type: DataIssueReporterToolComponent, decorators: [{
|
|
2747
2736
|
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
|
|
2737
|
+
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
2738
|
}], propDecorators: { url: [{ type: i0.Input, args: [{ isSignal: true, alias: "url", required: false }] }] } });
|
|
2750
2739
|
|
|
2751
2740
|
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] });
|
|
2741
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.19", ngImport: i0, type: IgoAppGeometryFormModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
2742
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.19", ngImport: i0, type: IgoAppGeometryFormModule, declarations: [DataIssueReporterToolComponent], imports: [CommonModule, MatButtonModule, IgoLanguageModule, IgoFormModule], exports: [DataIssueReporterToolComponent] });
|
|
2743
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.19", ngImport: i0, type: IgoAppGeometryFormModule, imports: [CommonModule, MatButtonModule, IgoLanguageModule, IgoFormModule] });
|
|
2763
2744
|
}
|
|
2764
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
2745
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.19", ngImport: i0, type: IgoAppGeometryFormModule, decorators: [{
|
|
2765
2746
|
type: NgModule,
|
|
2766
2747
|
args: [{
|
|
2767
|
-
imports: [
|
|
2768
|
-
CommonModule,
|
|
2769
|
-
MatButtonModule,
|
|
2770
|
-
IgoLanguageModule,
|
|
2771
|
-
IgoFormModule,
|
|
2772
|
-
IgoMessageModule
|
|
2773
|
-
],
|
|
2748
|
+
imports: [CommonModule, MatButtonModule, IgoLanguageModule, IgoFormModule],
|
|
2774
2749
|
declarations: [DataIssueReporterToolComponent],
|
|
2775
2750
|
exports: [DataIssueReporterToolComponent],
|
|
2776
2751
|
schemas: []
|
|
@@ -2782,7 +2757,7 @@ let ImportExportToolComponent = class ImportExportToolComponent {
|
|
|
2782
2757
|
importExportState = inject(ImportExportState);
|
|
2783
2758
|
workspaceState = inject(WorkspaceState);
|
|
2784
2759
|
contextState = inject(ContextState);
|
|
2785
|
-
projectionsLimitations = input(
|
|
2760
|
+
projectionsLimitations = input(...(ngDevMode ? [undefined, { debugName: "projectionsLimitations" }] : /* istanbul ignore next */ []));
|
|
2786
2761
|
selectFirstProj = input(false, ...(ngDevMode ? [{ debugName: "selectFirstProj" }] : /* istanbul ignore next */ []));
|
|
2787
2762
|
/**
|
|
2788
2763
|
* Map to measure on
|
|
@@ -2831,8 +2806,8 @@ let ImportExportToolComponent = class ImportExportToolComponent {
|
|
|
2831
2806
|
importExportTypeChange(event) {
|
|
2832
2807
|
this.importExportType.set(event.value);
|
|
2833
2808
|
}
|
|
2834
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.
|
|
2835
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.
|
|
2809
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.19", ngImport: i0, type: ImportExportToolComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
2810
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.19", 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
2811
|
};
|
|
2837
2812
|
ImportExportToolComponent = __decorate([
|
|
2838
2813
|
ToolComponent({
|
|
@@ -2841,7 +2816,7 @@ ImportExportToolComponent = __decorate([
|
|
|
2841
2816
|
icon: 'file_save'
|
|
2842
2817
|
})
|
|
2843
2818
|
], ImportExportToolComponent);
|
|
2844
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
2819
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.19", ngImport: i0, type: ImportExportToolComponent, decorators: [{
|
|
2845
2820
|
type: Component,
|
|
2846
2821
|
args: [{ selector: 'igo-import-export-tool', changeDetection: ChangeDetectionStrategy.OnPush, imports: [
|
|
2847
2822
|
MatTabsModule,
|
|
@@ -2849,7 +2824,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.10", ngImpo
|
|
|
2849
2824
|
ContextImportExportComponent,
|
|
2850
2825
|
AsyncPipe,
|
|
2851
2826
|
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)
|
|
2827
|
+
], 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
2828
|
}], 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
2829
|
|
|
2855
2830
|
/**
|
|
@@ -2862,11 +2837,11 @@ class IgoAppImportExportModule {
|
|
|
2862
2837
|
providers: []
|
|
2863
2838
|
};
|
|
2864
2839
|
}
|
|
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.
|
|
2840
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.19", ngImport: i0, type: IgoAppImportExportModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
2841
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.19", ngImport: i0, type: IgoAppImportExportModule, imports: [ImportExportToolComponent], exports: [ImportExportToolComponent] });
|
|
2842
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.19", ngImport: i0, type: IgoAppImportExportModule, imports: [ImportExportToolComponent] });
|
|
2868
2843
|
}
|
|
2869
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
2844
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.19", ngImport: i0, type: IgoAppImportExportModule, decorators: [{
|
|
2870
2845
|
type: NgModule,
|
|
2871
2846
|
args: [{
|
|
2872
2847
|
imports: [ImportExportToolComponent],
|
|
@@ -2895,10 +2870,13 @@ class AdvancedCoordinatesComponent {
|
|
|
2895
2870
|
inLambert2 = { 32198: true, 3798: true };
|
|
2896
2871
|
mapState$$;
|
|
2897
2872
|
formStatus$$;
|
|
2898
|
-
|
|
2899
|
-
projectionsConstraints;
|
|
2873
|
+
projectionsLimitations = input({}, { ...(ngDevMode ? { debugName: "projectionsLimitations" } : /* istanbul ignore next */ {}), transform: (value) => value ?? {} });
|
|
2900
2874
|
defaultProj;
|
|
2901
|
-
currentZones = {
|
|
2875
|
+
currentZones = {
|
|
2876
|
+
utm: undefined,
|
|
2877
|
+
mtm: undefined
|
|
2878
|
+
};
|
|
2879
|
+
projectionsConstraints;
|
|
2902
2880
|
units = true;
|
|
2903
2881
|
get map() {
|
|
2904
2882
|
return this.mapState.map;
|
|
@@ -2909,12 +2887,6 @@ class AdvancedCoordinatesComponent {
|
|
|
2909
2887
|
set inputProj(value) {
|
|
2910
2888
|
this.form.patchValue({ inputProj: value });
|
|
2911
2889
|
}
|
|
2912
|
-
get projectionsLimitations() {
|
|
2913
|
-
return this._projectionsLimitations || {};
|
|
2914
|
-
}
|
|
2915
|
-
set projectionsLimitations(value) {
|
|
2916
|
-
this._projectionsLimitations = value;
|
|
2917
|
-
}
|
|
2918
2890
|
constructor() {
|
|
2919
2891
|
this.defaultProj = {
|
|
2920
2892
|
translatedValue: this.languageService.translate.instant('igo.geo.importExportForm.projections.wgs84', { code: 'EPSG:4326' }),
|
|
@@ -3068,7 +3040,7 @@ class AdvancedCoordinatesComponent {
|
|
|
3068
3040
|
* Create a list of currents projections
|
|
3069
3041
|
*/
|
|
3070
3042
|
computeProjections() {
|
|
3071
|
-
this.projectionsConstraints = computeProjectionsConstraints(this.projectionsLimitations);
|
|
3043
|
+
this.projectionsConstraints = computeProjectionsConstraints(this.projectionsLimitations());
|
|
3072
3044
|
const projections = [];
|
|
3073
3045
|
if (!this.currentCenterDefaultProj) {
|
|
3074
3046
|
this.currentCenterDefaultProj = this.map.viewController.getCenter(this.defaultProj.code);
|
|
@@ -3153,7 +3125,7 @@ class AdvancedCoordinatesComponent {
|
|
|
3153
3125
|
* @param projections Array of the InputProjections
|
|
3154
3126
|
*/
|
|
3155
3127
|
pushMtm(projections) {
|
|
3156
|
-
if (this.projectionsConstraints
|
|
3128
|
+
if (this.projectionsConstraints?.mtm) {
|
|
3157
3129
|
const zone = zoneMtm(this.currentCenterDefaultProj[0]);
|
|
3158
3130
|
const code = zone < 10 ? `EPSG:3218${zone}` : `EPSG:321${80 + zone}`;
|
|
3159
3131
|
projections.splice(3, 0, {
|
|
@@ -3230,13 +3202,15 @@ class AdvancedCoordinatesComponent {
|
|
|
3230
3202
|
lambertProjections.forEach((projection) => {
|
|
3231
3203
|
let modifiedProj = this.projections$.value;
|
|
3232
3204
|
const extent = projection.extent;
|
|
3233
|
-
const
|
|
3205
|
+
const codeMatch = projection.code.match(/\d+/);
|
|
3206
|
+
const code = codeMatch?.[0];
|
|
3234
3207
|
const currentExtentWGS = olProj.transformExtent(extent, projection.code, this.defaultProj.code);
|
|
3235
3208
|
if (coordinates[0] < currentExtentWGS[0] ||
|
|
3236
3209
|
coordinates[0] > currentExtentWGS[2] ||
|
|
3237
3210
|
coordinates[1] < currentExtentWGS[1] ||
|
|
3238
3211
|
coordinates[1] > currentExtentWGS[3]) {
|
|
3239
|
-
|
|
3212
|
+
if (code)
|
|
3213
|
+
this.inLambert2[code] = false;
|
|
3240
3214
|
if (this.inputProj.alias === projection.alias) {
|
|
3241
3215
|
this.inputProj = this.projections$.value[0];
|
|
3242
3216
|
}
|
|
@@ -3244,17 +3218,17 @@ class AdvancedCoordinatesComponent {
|
|
|
3244
3218
|
this.projections$.next(modifiedProj);
|
|
3245
3219
|
}
|
|
3246
3220
|
else {
|
|
3247
|
-
if (!this.inLambert2[code]) {
|
|
3221
|
+
if (code && !this.inLambert2[code]) {
|
|
3248
3222
|
this.projections$.next(modifiedProj.concat(projection));
|
|
3249
3223
|
this.inLambert2[code] = true;
|
|
3250
3224
|
}
|
|
3251
3225
|
}
|
|
3252
3226
|
});
|
|
3253
3227
|
}
|
|
3254
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.
|
|
3255
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.
|
|
3228
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.19", ngImport: i0, type: AdvancedCoordinatesComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
3229
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.19", 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
3230
|
}
|
|
3257
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
3231
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.19", ngImport: i0, type: AdvancedCoordinatesComponent, decorators: [{
|
|
3258
3232
|
type: Component,
|
|
3259
3233
|
args: [{ selector: 'igo-advanced-coordinates', imports: [
|
|
3260
3234
|
MatFormFieldModule,
|
|
@@ -3270,9 +3244,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.10", ngImpo
|
|
|
3270
3244
|
DecimalPipe,
|
|
3271
3245
|
IgoLanguageModule
|
|
3272
3246
|
], 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
|
-
}] } });
|
|
3247
|
+
}], ctorParameters: () => [], propDecorators: { projectionsLimitations: [{ type: i0.Input, args: [{ isSignal: true, alias: "projectionsLimitations", required: false }] }] } });
|
|
3276
3248
|
|
|
3277
3249
|
class AdvancedSwipeComponent {
|
|
3278
3250
|
mapState = inject(MapState);
|
|
@@ -3338,22 +3310,22 @@ class AdvancedSwipeComponent {
|
|
|
3338
3310
|
applyNewLayers(e) {
|
|
3339
3311
|
this.startSwipe(false); // l'approche KISS
|
|
3340
3312
|
this.startSwipe(true);
|
|
3341
|
-
if (e.
|
|
3342
|
-
e.
|
|
3313
|
+
if (e.selected) {
|
|
3314
|
+
e.select(false);
|
|
3343
3315
|
}
|
|
3344
3316
|
const allLayers = this.userControlledLayerList?.length;
|
|
3345
3317
|
const selectedLayers = this.form.controls.layers.value.length;
|
|
3346
3318
|
if (selectedLayers === allLayers) {
|
|
3347
|
-
e.
|
|
3319
|
+
e.select(true);
|
|
3348
3320
|
}
|
|
3349
3321
|
}
|
|
3350
3322
|
/**
|
|
3351
3323
|
* Select all list of layers and restart a tool
|
|
3352
3324
|
*/
|
|
3353
3325
|
selectAll(e) {
|
|
3354
|
-
if (e.
|
|
3326
|
+
if (e.selected) {
|
|
3355
3327
|
this.form.controls.layers.setValue(this.userControlledLayerList);
|
|
3356
|
-
e.
|
|
3328
|
+
e.select(true);
|
|
3357
3329
|
}
|
|
3358
3330
|
else {
|
|
3359
3331
|
this.form.controls.layers.setValue([]);
|
|
@@ -3379,10 +3351,10 @@ class AdvancedSwipeComponent {
|
|
|
3379
3351
|
contextEmit() {
|
|
3380
3352
|
this.toolState.toolbox.activateTool('contextManager');
|
|
3381
3353
|
}
|
|
3382
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.
|
|
3383
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.
|
|
3354
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.19", ngImport: i0, type: AdvancedSwipeComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
3355
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.19", 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
3356
|
}
|
|
3385
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
3357
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.19", ngImport: i0, type: AdvancedSwipeComponent, decorators: [{
|
|
3386
3358
|
type: Component,
|
|
3387
3359
|
args: [{ selector: 'igo-advanced-swipe', imports: [
|
|
3388
3360
|
FormsModule,
|
|
@@ -3395,7 +3367,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.10", ngImpo
|
|
|
3395
3367
|
MatListModule,
|
|
3396
3368
|
MatIconModule,
|
|
3397
3369
|
IgoLanguageModule
|
|
3398
|
-
], template: "@if (userControlledLayerList
|
|
3370
|
+
], 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"] }]
|
|
3399
3371
|
}], ctorParameters: () => [] });
|
|
3400
3372
|
|
|
3401
3373
|
let AdvancedMapToolComponent = class AdvancedMapToolComponent {
|
|
@@ -3418,8 +3390,8 @@ let AdvancedMapToolComponent = class AdvancedMapToolComponent {
|
|
|
3418
3390
|
}
|
|
3419
3391
|
this.mapState.map.geolocationController.followPosition = value;
|
|
3420
3392
|
}
|
|
3421
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.
|
|
3422
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.
|
|
3393
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.19", ngImport: i0, type: AdvancedMapToolComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
3394
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.19", 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
3395
|
};
|
|
3424
3396
|
AdvancedMapToolComponent = __decorate([
|
|
3425
3397
|
ToolComponent({
|
|
@@ -3431,7 +3403,7 @@ AdvancedMapToolComponent = __decorate([
|
|
|
3431
3403
|
* Tool to handle the advanced map tools
|
|
3432
3404
|
*/
|
|
3433
3405
|
], AdvancedMapToolComponent);
|
|
3434
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
3406
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.19", ngImport: i0, type: AdvancedMapToolComponent, decorators: [{
|
|
3435
3407
|
type: Component,
|
|
3436
3408
|
args: [{ selector: 'igo-advanced-map-tool', imports: [
|
|
3437
3409
|
AdvancedSwipeComponent,
|
|
@@ -3445,54 +3417,46 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.10", ngImpo
|
|
|
3445
3417
|
|
|
3446
3418
|
class WorkspaceButtonComponent {
|
|
3447
3419
|
workspaceState = inject(WorkspaceState);
|
|
3448
|
-
|
|
3449
|
-
hasWorkspace
|
|
3450
|
-
layer
|
|
3451
|
-
set layer(value) {
|
|
3452
|
-
this._layer = value;
|
|
3453
|
-
this.layer$.next(this._layer);
|
|
3454
|
-
}
|
|
3455
|
-
get layer() {
|
|
3456
|
-
return this._layer;
|
|
3457
|
-
}
|
|
3458
|
-
_layer;
|
|
3420
|
+
destroyRef = inject(DestroyRef);
|
|
3421
|
+
hasWorkspace = signal(false, ...(ngDevMode ? [{ debugName: "hasWorkspace" }] : /* istanbul ignore next */ []));
|
|
3422
|
+
layer = input(...(ngDevMode ? [undefined, { debugName: "layer" }] : /* istanbul ignore next */ []));
|
|
3459
3423
|
color = input('primary', ...(ngDevMode ? [{ debugName: "color" }] : /* istanbul ignore next */ []));
|
|
3460
3424
|
ngOnInit() {
|
|
3461
|
-
|
|
3425
|
+
combineLatest([
|
|
3462
3426
|
this.workspaceState.workspaceEnabled$,
|
|
3463
|
-
this.layer
|
|
3464
|
-
])
|
|
3465
|
-
|
|
3466
|
-
|
|
3467
|
-
|
|
3427
|
+
toObservable(this.layer)
|
|
3428
|
+
])
|
|
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.19", ngImport: i0, type: WorkspaceButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
3454
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.19", 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.19", 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.19", ngImport: i0, type: MapDetailsToolComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
3569
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.19", 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.19", 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.19", ngImport: i0, type: MapLegendToolComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
3697
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.19", 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.19", 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 = olProj.transform(currentPos.position, currentPos.projection, this.map.
|
|
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 = olProj.transform(coord, this.map.
|
|
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.19", ngImport: i0, type: MapProximityState, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
3875
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.19", 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.19", 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.19", ngImport: i0, type: MapProximityToolComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
3969
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.19", 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.19", 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.19", ngImport: i0, type: MapToolComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
4076
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.2.19", 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.19", 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.19", ngImport: i0, type: MapToolsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
4349
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.19", 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.19", 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.19", ngImport: i0, type: IgoAppMapModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
4392
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.19", 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.19", 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.19", 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.19", ngImport: i0, type: MeasureState, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
4458
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.19", 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.19", 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.19", ngImport: i0, type: MeasurerToolComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
4488
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.19", 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.19", 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.19", ngImport: i0, type: IgoAppMeasurerToolModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
4507
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.19", ngImport: i0, type: IgoAppMeasurerToolModule, imports: [MeasurerToolComponent], exports: [MeasurerToolComponent] });
|
|
4508
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.19", 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.19", 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.19", ngImport: i0, type: IgoAppMeasureModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
4523
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.19", ngImport: i0, type: IgoAppMeasureModule, exports: [IgoAppMeasurerToolModule] });
|
|
4524
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.19", 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.19", 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.19", ngImport: i0, type: PrintToolComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
4539
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.19", 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.19", 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.19", ngImport: i0, type: IgoAppPrintModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
4564
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.19", ngImport: i0, type: IgoAppPrintModule, imports: [PrintToolComponent], exports: [PrintToolComponent] });
|
|
4565
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.19", 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.19", 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() {
|
|
@@ -4744,10 +4705,10 @@ class SearchState {
|
|
|
4744
4705
|
this.storageService.set('searchResultsGeometryEnabled', value);
|
|
4745
4706
|
this.searchResultsGeometryEnabled$.next(value);
|
|
4746
4707
|
}
|
|
4747
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.
|
|
4748
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.
|
|
4708
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.19", ngImport: i0, type: SearchState, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
4709
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.19", ngImport: i0, type: SearchState });
|
|
4749
4710
|
}
|
|
4750
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
4711
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.19", ngImport: i0, type: SearchState, decorators: [{
|
|
4751
4712
|
type: Injectable
|
|
4752
4713
|
}], ctorParameters: () => [] });
|
|
4753
4714
|
|
|
@@ -4793,10 +4754,10 @@ class SearchBarBindingDirective {
|
|
|
4793
4754
|
this.searchState.setSearchType(searchType);
|
|
4794
4755
|
}
|
|
4795
4756
|
}
|
|
4796
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.
|
|
4797
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.
|
|
4757
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.19", ngImport: i0, type: SearchBarBindingDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
4758
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.19", type: SearchBarBindingDirective, isStandalone: true, selector: "[igoSearchBarBinding]", host: { listeners: { "searchTermChange": "onSearchTermChange($any($event))", "searchTypeChange": "onSearchTypeChange($any($event))" } }, ngImport: i0 });
|
|
4798
4759
|
}
|
|
4799
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
4760
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.19", ngImport: i0, type: SearchBarBindingDirective, decorators: [{
|
|
4800
4761
|
type: Directive,
|
|
4801
4762
|
args: [{
|
|
4802
4763
|
selector: '[igoSearchBarBinding]',
|
|
@@ -4816,6 +4777,7 @@ let SearchResultsToolComponent = class SearchResultsToolComponent {
|
|
|
4816
4777
|
elRef = inject(ElementRef);
|
|
4817
4778
|
toolState = inject(ToolState);
|
|
4818
4779
|
directionState = inject(DirectionState);
|
|
4780
|
+
overlayService = inject(OverlayService);
|
|
4819
4781
|
/**
|
|
4820
4782
|
* to show hide results icons
|
|
4821
4783
|
*/
|
|
@@ -4824,19 +4786,17 @@ let SearchResultsToolComponent = class SearchResultsToolComponent {
|
|
|
4824
4786
|
* Determine the top panel default state
|
|
4825
4787
|
*/
|
|
4826
4788
|
topPanelStateDefault = input('expanded', ...(ngDevMode ? [{ debugName: "topPanelStateDefault" }] : /* istanbul ignore next */ []));
|
|
4827
|
-
|
|
4789
|
+
searchResultsOverlayAll$$;
|
|
4828
4790
|
saveSearchResultInLayer = false;
|
|
4829
|
-
|
|
4791
|
+
searchResultsOverlayFocused;
|
|
4792
|
+
searchResultsOverlaySelected;
|
|
4793
|
+
searchResultsOverlayAll;
|
|
4830
4794
|
getRoute$$;
|
|
4831
|
-
shownResultsGeometries = [];
|
|
4832
|
-
shownResultsEmphasisGeometries = [];
|
|
4833
|
-
focusedResult$ = new BehaviorSubject(undefined);
|
|
4834
4795
|
isSelectedResultOutOfView$ = new BehaviorSubject(false);
|
|
4835
4796
|
isSelectedResultOutOfView$$;
|
|
4836
|
-
abstractFocusedResult;
|
|
4837
|
-
abstractSelectedResult;
|
|
4838
4797
|
destroyRef = inject(DestroyRef);
|
|
4839
4798
|
debouncedEmpty = signal(true, ...(ngDevMode ? [{ debugName: "debouncedEmpty" }] : /* istanbul ignore next */ []));
|
|
4799
|
+
searchResult = viewChild(SearchResultsComponent, ...(ngDevMode ? [{ debugName: "searchResult" }] : /* istanbul ignore next */ []));
|
|
4840
4800
|
/**
|
|
4841
4801
|
* Store holding the search results
|
|
4842
4802
|
* @internal
|
|
@@ -4857,15 +4817,9 @@ let SearchResultsToolComponent = class SearchResultsToolComponent {
|
|
|
4857
4817
|
feature = signal(undefined, ...(ngDevMode ? [{ debugName: "feature" }] : /* istanbul ignore next */ []));
|
|
4858
4818
|
term = '';
|
|
4859
4819
|
searchTerm$$;
|
|
4860
|
-
|
|
4861
|
-
|
|
4862
|
-
|
|
4863
|
-
set topPanelState(value) {
|
|
4864
|
-
this.topPanelState$.next(value);
|
|
4865
|
-
}
|
|
4866
|
-
get topPanelState() {
|
|
4867
|
-
return this.topPanelState$.value;
|
|
4868
|
-
}
|
|
4820
|
+
topPanelState = input(...(ngDevMode ? [undefined, { debugName: "topPanelState" }] : /* istanbul ignore next */ []));
|
|
4821
|
+
topPanelStateValue = linkedSignal({ ...(ngDevMode ? { debugName: "topPanelStateValue" } : /* istanbul ignore next */ {}), source: this.topPanelState,
|
|
4822
|
+
computation: (v, previous) => v ?? previous?.value ?? 'initial' });
|
|
4869
4823
|
get termSplitter() {
|
|
4870
4824
|
return this.searchState.searchTermSplitter$.value;
|
|
4871
4825
|
}
|
|
@@ -4875,10 +4829,29 @@ let SearchResultsToolComponent = class SearchResultsToolComponent {
|
|
|
4875
4829
|
}
|
|
4876
4830
|
constructor() {
|
|
4877
4831
|
const configService = inject(ConfigService);
|
|
4878
|
-
this.hasFeatureEmphasisOnSelection = configService.getConfig('hasFeatureEmphasisOnSelection');
|
|
4879
4832
|
this.saveSearchResultInLayer = configService.getConfig('saveSearchResultInLayer');
|
|
4833
|
+
this.handleShowAllResults();
|
|
4834
|
+
effect(() => {
|
|
4835
|
+
this.topPanelStateValue(); // re-run on state change
|
|
4836
|
+
const igoList = this.computeElementRef()[0];
|
|
4837
|
+
const selected = this.computeElementRef()[1];
|
|
4838
|
+
if (selected) {
|
|
4839
|
+
setTimeout(() => {
|
|
4840
|
+
// To be sure the flexible component has been displayed yet
|
|
4841
|
+
if (!this.isScrolledIntoView(igoList, selected)) {
|
|
4842
|
+
this.adjustTopPanel(igoList, selected);
|
|
4843
|
+
}
|
|
4844
|
+
}, FlexibleComponent.transitionTime + 50);
|
|
4845
|
+
}
|
|
4846
|
+
});
|
|
4880
4847
|
}
|
|
4881
4848
|
ngOnInit() {
|
|
4849
|
+
this.searchResultsOverlayFocused = this.overlayService.create(this.mapState.map, this.searchState.searchOverlayStyle?.focus ??
|
|
4850
|
+
styleVariant(this.mapState.map.viewController, 'focus'));
|
|
4851
|
+
this.searchResultsOverlaySelected = this.overlayService.create(this.mapState.map, this.searchState.searchOverlayStyle?.selection ??
|
|
4852
|
+
styleVariant(this.mapState.map.viewController, 'selection'));
|
|
4853
|
+
this.searchResultsOverlayAll = this.overlayService.create(this.mapState.map, this.searchState.searchOverlayStyle?.base ??
|
|
4854
|
+
styleVariant(this.mapState.map.viewController));
|
|
4882
4855
|
this.searchTerm$$ = this.searchState.searchTerm$.subscribe((searchTerm) => {
|
|
4883
4856
|
if (searchTerm !== undefined &&
|
|
4884
4857
|
searchTerm !== null &&
|
|
@@ -4892,70 +4865,13 @@ let SearchResultsToolComponent = class SearchResultsToolComponent {
|
|
|
4892
4865
|
});
|
|
4893
4866
|
for (const res of this.store.stateView.all$().value) {
|
|
4894
4867
|
if (this.store.state.get(res.entity).selected === true) {
|
|
4895
|
-
this.
|
|
4868
|
+
this.topPanelStateValue.set('expanded');
|
|
4896
4869
|
}
|
|
4897
4870
|
}
|
|
4898
4871
|
this.searchState.searchSettingsChange$.subscribe(() => {
|
|
4899
|
-
this.
|
|
4872
|
+
this.searchResult()?.resetPage();
|
|
4900
4873
|
});
|
|
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
4874
|
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
4875
|
this.store.stateView.empty$
|
|
4960
4876
|
.pipe(debounceTime(1500), takeUntilDestroyed(this.destroyRef))
|
|
4961
4877
|
.subscribe((empty) => this.debouncedEmpty.set(empty));
|
|
@@ -4967,6 +4883,25 @@ let SearchResultsToolComponent = class SearchResultsToolComponent {
|
|
|
4967
4883
|
this.feature.set(feature);
|
|
4968
4884
|
});
|
|
4969
4885
|
}
|
|
4886
|
+
handleShowAllResults() {
|
|
4887
|
+
this.searchResultsOverlayAll$$ = combineLatest([
|
|
4888
|
+
this.store.entities$,
|
|
4889
|
+
this.searchState.searchResultsGeometryEnabled$
|
|
4890
|
+
]).subscribe((bunch) => {
|
|
4891
|
+
const searchResults = bunch[0];
|
|
4892
|
+
const enabled = bunch[1];
|
|
4893
|
+
const features = searchResults
|
|
4894
|
+
.filter((sr) => sr.meta.dataType === FEATURE)
|
|
4895
|
+
.map((sr) => sr.data);
|
|
4896
|
+
if (enabled && features.length) {
|
|
4897
|
+
this.searchResultsOverlayAll.setFeatures(features, FeatureMotion.None);
|
|
4898
|
+
}
|
|
4899
|
+
else {
|
|
4900
|
+
this.searchResultsOverlayFocused?.clear();
|
|
4901
|
+
this.searchResultsOverlayAll?.clear();
|
|
4902
|
+
}
|
|
4903
|
+
});
|
|
4904
|
+
}
|
|
4970
4905
|
monitorResultOutOfView() {
|
|
4971
4906
|
this.isSelectedResultOutOfView$$ = combineLatest([
|
|
4972
4907
|
this.map.viewController.state$,
|
|
@@ -4980,84 +4915,19 @@ let SearchResultsToolComponent = class SearchResultsToolComponent {
|
|
|
4980
4915
|
return;
|
|
4981
4916
|
}
|
|
4982
4917
|
if (selectedResult.data.geometry) {
|
|
4983
|
-
const selectedOlFeature = featureToOl(selectedResult.data, this.map.
|
|
4918
|
+
const selectedOlFeature = featureToOl(selectedResult.data, this.map.projectionCode);
|
|
4984
4919
|
const selectedOlFeatureExtent = computeOlFeaturesExtent([selectedOlFeature], this.map.viewController.getOlProjection());
|
|
4985
|
-
this.isSelectedResultOutOfView$.next(featuresAreOutOfView(this.map.getExtent(), selectedOlFeatureExtent));
|
|
4920
|
+
this.isSelectedResultOutOfView$.next(featuresAreOutOfView(this.map.viewController.getExtent(), selectedOlFeatureExtent));
|
|
4986
4921
|
}
|
|
4987
4922
|
});
|
|
4988
4923
|
}
|
|
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
4924
|
ngOnDestroy() {
|
|
5054
|
-
this.topPanelState$$.unsubscribe();
|
|
5055
4925
|
this.searchTerm$$.unsubscribe();
|
|
5056
4926
|
if (this.isSelectedResultOutOfView$$) {
|
|
5057
4927
|
this.isSelectedResultOutOfView$$.unsubscribe();
|
|
5058
4928
|
}
|
|
5059
|
-
if (this.
|
|
5060
|
-
this.
|
|
4929
|
+
if (this.searchResultsOverlayAll$$) {
|
|
4930
|
+
this.searchResultsOverlayAll$$.unsubscribe();
|
|
5061
4931
|
}
|
|
5062
4932
|
if (this.getRoute$$) {
|
|
5063
4933
|
this.getRoute$$.unsubscribe();
|
|
@@ -5069,31 +4939,17 @@ let SearchResultsToolComponent = class SearchResultsToolComponent {
|
|
|
5069
4939
|
* @param result A search result that could be a feature
|
|
5070
4940
|
*/
|
|
5071
4941
|
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);
|
|
4942
|
+
if (this.store.state.get(result).selected) {
|
|
4943
|
+
this.searchResultsOverlayFocused.clear();
|
|
4944
|
+
}
|
|
4945
|
+
else {
|
|
4946
|
+
this.addResultToOverlay(result, this.searchResultsOverlayFocused, this.searchState.featureMotion.focus);
|
|
5081
4947
|
}
|
|
5082
4948
|
}
|
|
5083
4949
|
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;
|
|
4950
|
+
if (!this.store.state.get(result).selected) {
|
|
4951
|
+
this.searchResultsOverlayFocused.clear();
|
|
5095
4952
|
}
|
|
5096
|
-
this.map.searchResultsOverlay.removeFeature(result.data);
|
|
5097
4953
|
}
|
|
5098
4954
|
/**
|
|
5099
4955
|
* Try to add a feature to the map when it's being selected
|
|
@@ -5101,18 +4957,19 @@ let SearchResultsToolComponent = class SearchResultsToolComponent {
|
|
|
5101
4957
|
* @param result A search result that could be a feature or some layer options
|
|
5102
4958
|
*/
|
|
5103
4959
|
onResultSelect(result) {
|
|
5104
|
-
this.
|
|
5105
|
-
this.
|
|
4960
|
+
this.searchResultsOverlayFocused.clear();
|
|
4961
|
+
this.searchResultsOverlaySelected.clear();
|
|
4962
|
+
this.addResultToOverlay(result, this.searchResultsOverlaySelected, this.searchState.featureMotion.selected);
|
|
5106
4963
|
this.searchState.setSelectedResult(result);
|
|
5107
|
-
if (this.
|
|
4964
|
+
if (this.topPanelStateValue() === 'initial') {
|
|
5108
4965
|
if (this.topPanelStateDefault() !== 'collapsed') {
|
|
5109
|
-
this.
|
|
4966
|
+
this.topPanelStateValue.set('expanded');
|
|
5110
4967
|
}
|
|
5111
4968
|
else {
|
|
5112
|
-
this.
|
|
4969
|
+
this.topPanelStateValue.set('collapsed');
|
|
5113
4970
|
}
|
|
5114
4971
|
}
|
|
5115
|
-
if (this.
|
|
4972
|
+
if (this.topPanelStateValue() === 'expanded') {
|
|
5116
4973
|
const igoList = this.computeElementRef()[0];
|
|
5117
4974
|
const selected = this.computeElementRef()[1];
|
|
5118
4975
|
if (!this.isScrolledIntoView(igoList, selected)) {
|
|
@@ -5174,10 +5031,10 @@ let SearchResultsToolComponent = class SearchResultsToolComponent {
|
|
|
5174
5031
|
}
|
|
5175
5032
|
adjustTopPanel(elemSource, elem) {
|
|
5176
5033
|
if (!this.isScrolledIntoView(elemSource, elem)) {
|
|
5034
|
+
const firstChild = elem.children[0];
|
|
5035
|
+
const childHeight = firstChild instanceof HTMLElement ? firstChild.offsetHeight : 0;
|
|
5177
5036
|
elemSource.scrollTop =
|
|
5178
|
-
elem.offsetTop +
|
|
5179
|
-
elem.children[0].offsetHeight -
|
|
5180
|
-
elemSource.clientHeight;
|
|
5037
|
+
elem.offsetTop + childHeight - elemSource.clientHeight;
|
|
5181
5038
|
}
|
|
5182
5039
|
}
|
|
5183
5040
|
toggleTopPanel(event) {
|
|
@@ -5185,11 +5042,11 @@ let SearchResultsToolComponent = class SearchResultsToolComponent {
|
|
|
5185
5042
|
return;
|
|
5186
5043
|
}
|
|
5187
5044
|
else {
|
|
5188
|
-
if (this.
|
|
5189
|
-
this.
|
|
5045
|
+
if (this.topPanelStateValue() === 'expanded') {
|
|
5046
|
+
this.topPanelStateValue.set('collapsed');
|
|
5190
5047
|
}
|
|
5191
5048
|
else {
|
|
5192
|
-
this.
|
|
5049
|
+
this.topPanelStateValue.set('expanded');
|
|
5193
5050
|
}
|
|
5194
5051
|
}
|
|
5195
5052
|
}
|
|
@@ -5208,17 +5065,19 @@ let SearchResultsToolComponent = class SearchResultsToolComponent {
|
|
|
5208
5065
|
* @param result A search result that could be a feature
|
|
5209
5066
|
* @param motion A FeatureMotion to trigger when adding the searchresult to the map search overlay
|
|
5210
5067
|
*/
|
|
5211
|
-
|
|
5068
|
+
addResultToOverlay(result, overlay, motion = FeatureMotion.Default) {
|
|
5212
5069
|
if (result.meta.dataType !== FEATURE) {
|
|
5213
5070
|
return undefined;
|
|
5214
5071
|
}
|
|
5215
5072
|
const feature = result.data;
|
|
5216
|
-
//
|
|
5073
|
+
// Sometimes features have no geometry. It happens with some GetFeatureInfo
|
|
5217
5074
|
if (!feature.geometry) {
|
|
5218
5075
|
return;
|
|
5219
5076
|
}
|
|
5220
|
-
|
|
5221
|
-
|
|
5077
|
+
if (!feature.meta) {
|
|
5078
|
+
return;
|
|
5079
|
+
}
|
|
5080
|
+
overlay.setFeatures([feature], motion);
|
|
5222
5081
|
}
|
|
5223
5082
|
isScrolledIntoView(elemSource, elem) {
|
|
5224
5083
|
const padding = 6;
|
|
@@ -5261,9 +5120,11 @@ let SearchResultsToolComponent = class SearchResultsToolComponent {
|
|
|
5261
5120
|
];
|
|
5262
5121
|
}
|
|
5263
5122
|
}
|
|
5264
|
-
stop
|
|
5265
|
-
|
|
5266
|
-
|
|
5123
|
+
if (stop) {
|
|
5124
|
+
stop.text = this.featureTitle ?? '';
|
|
5125
|
+
stop.coordinates = coord;
|
|
5126
|
+
this.directionState.stopsStore.update(stop);
|
|
5127
|
+
}
|
|
5267
5128
|
if (this.map.geolocationController.position$.value) {
|
|
5268
5129
|
const currentPos = this.map.geolocationController.position$.value;
|
|
5269
5130
|
const stop = this.directionState.stopsStore
|
|
@@ -5271,16 +5132,18 @@ let SearchResultsToolComponent = class SearchResultsToolComponent {
|
|
|
5271
5132
|
.find((e) => e.position === 0);
|
|
5272
5133
|
const currentCoord = olProj.transform(currentPos.position, currentPos.projection, 'EPSG:4326');
|
|
5273
5134
|
const coord = roundCoordTo([currentCoord[0], currentCoord[1]], 6);
|
|
5274
|
-
|
|
5275
|
-
|
|
5276
|
-
|
|
5135
|
+
if (stop) {
|
|
5136
|
+
stop.text = coord.join(',');
|
|
5137
|
+
stop.coordinates = coord;
|
|
5138
|
+
this.directionState.stopsStore.update(stop);
|
|
5139
|
+
}
|
|
5277
5140
|
}
|
|
5278
5141
|
}
|
|
5279
5142
|
});
|
|
5280
5143
|
}, 250);
|
|
5281
5144
|
}
|
|
5282
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.
|
|
5283
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.
|
|
5145
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.19", ngImport: i0, type: SearchResultsToolComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
5146
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.19", 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
5147
|
};
|
|
5285
5148
|
SearchResultsToolComponent = __decorate([
|
|
5286
5149
|
ToolComponent({
|
|
@@ -5290,7 +5153,7 @@ SearchResultsToolComponent = __decorate([
|
|
|
5290
5153
|
}),
|
|
5291
5154
|
__metadata("design:paramtypes", [])
|
|
5292
5155
|
], SearchResultsToolComponent);
|
|
5293
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
5156
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.19", ngImport: i0, type: SearchResultsToolComponent, decorators: [{
|
|
5294
5157
|
type: Component,
|
|
5295
5158
|
args: [{ selector: 'igo-search-results-tool', changeDetection: ChangeDetectionStrategy.OnPush, imports: [
|
|
5296
5159
|
FlexibleComponent,
|
|
@@ -5305,20 +5168,18 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.10", ngImpo
|
|
|
5305
5168
|
AsyncPipe,
|
|
5306
5169
|
IgoLanguageModule,
|
|
5307
5170
|
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
|
-
}] } });
|
|
5171
|
+
], 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"] }]
|
|
5172
|
+
}], 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
5173
|
|
|
5313
5174
|
/**
|
|
5314
5175
|
* @deprecated import the components/directive directly or INTEGRATION_SEARCH_DIRECTIVES for the set
|
|
5315
5176
|
*/
|
|
5316
5177
|
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.
|
|
5178
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.19", ngImport: i0, type: IgoAppSearchModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
5179
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.19", ngImport: i0, type: IgoAppSearchModule, imports: [SearchBarBindingDirective, SearchResultsToolComponent], exports: [SearchBarBindingDirective, SearchResultsToolComponent] });
|
|
5180
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.19", ngImport: i0, type: IgoAppSearchModule, imports: [SearchResultsToolComponent] });
|
|
5320
5181
|
}
|
|
5321
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
5182
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.19", ngImport: i0, type: IgoAppSearchModule, decorators: [{
|
|
5322
5183
|
type: NgModule,
|
|
5323
5184
|
args: [{
|
|
5324
5185
|
imports: [SearchBarBindingDirective, SearchResultsToolComponent],
|
|
@@ -5330,11 +5191,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.10", ngImpo
|
|
|
5330
5191
|
* @deprecated import the WorkspaceButtonComponent directly
|
|
5331
5192
|
*/
|
|
5332
5193
|
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.
|
|
5194
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.19", ngImport: i0, type: IgoAppWorkspaceModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
5195
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.19", ngImport: i0, type: IgoAppWorkspaceModule, imports: [WorkspaceButtonComponent], exports: [WorkspaceButtonComponent] });
|
|
5196
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.19", ngImport: i0, type: IgoAppWorkspaceModule, imports: [WorkspaceButtonComponent] });
|
|
5336
5197
|
}
|
|
5337
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
5198
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.19", ngImport: i0, type: IgoAppWorkspaceModule, decorators: [{
|
|
5338
5199
|
type: NgModule,
|
|
5339
5200
|
args: [{
|
|
5340
5201
|
imports: [WorkspaceButtonComponent],
|
|
@@ -5346,8 +5207,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.10", ngImpo
|
|
|
5346
5207
|
* @deprecated import the components directly
|
|
5347
5208
|
*/
|
|
5348
5209
|
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.
|
|
5210
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.19", ngImport: i0, type: IgoIntegrationModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
5211
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.19", ngImport: i0, type: IgoIntegrationModule, exports: [IgoAppContextModule,
|
|
5351
5212
|
IgoAppCatalogModule,
|
|
5352
5213
|
IgoAppDirectionsModule,
|
|
5353
5214
|
IgoAppDrawModule,
|
|
@@ -5360,7 +5221,7 @@ class IgoIntegrationModule {
|
|
|
5360
5221
|
IgoAppFilterModule,
|
|
5361
5222
|
IgoAppAboutModule,
|
|
5362
5223
|
IgoAppGeometryFormModule] });
|
|
5363
|
-
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.
|
|
5224
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.19", ngImport: i0, type: IgoIntegrationModule, imports: [IgoAppContextModule,
|
|
5364
5225
|
IgoAppCatalogModule,
|
|
5365
5226
|
IgoAppDirectionsModule,
|
|
5366
5227
|
IgoAppDrawModule,
|
|
@@ -5374,7 +5235,7 @@ class IgoIntegrationModule {
|
|
|
5374
5235
|
IgoAppAboutModule,
|
|
5375
5236
|
IgoAppGeometryFormModule] });
|
|
5376
5237
|
}
|
|
5377
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
5238
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.19", ngImport: i0, type: IgoIntegrationModule, decorators: [{
|
|
5378
5239
|
type: NgModule,
|
|
5379
5240
|
args: [{
|
|
5380
5241
|
imports: [],
|
|
@@ -5428,7 +5289,8 @@ class AnalyticsListenerService {
|
|
|
5428
5289
|
listenContext() {
|
|
5429
5290
|
this.contextState.context$.subscribe((context) => {
|
|
5430
5291
|
if (context) {
|
|
5431
|
-
|
|
5292
|
+
const eventName = context.id?.toString() ?? context.uri;
|
|
5293
|
+
this.analyticsService.trackEvent('context', 'activateContext', eventName);
|
|
5432
5294
|
}
|
|
5433
5295
|
});
|
|
5434
5296
|
}
|
|
@@ -5498,14 +5360,15 @@ class AnalyticsListenerService {
|
|
|
5498
5360
|
break;
|
|
5499
5361
|
}
|
|
5500
5362
|
}
|
|
5501
|
-
|
|
5363
|
+
const eventName = wmsParams || wmtsParams || restParams;
|
|
5364
|
+
this.analyticsService.trackLayer('layer', 'addLayer', eventName);
|
|
5502
5365
|
});
|
|
5503
5366
|
});
|
|
5504
5367
|
}
|
|
5505
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.
|
|
5506
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.
|
|
5368
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.19", ngImport: i0, type: AnalyticsListenerService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
5369
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.19", ngImport: i0, type: AnalyticsListenerService, providedIn: 'root' });
|
|
5507
5370
|
}
|
|
5508
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
5371
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.19", ngImport: i0, type: AnalyticsListenerService, decorators: [{
|
|
5509
5372
|
type: Injectable,
|
|
5510
5373
|
args: [{
|
|
5511
5374
|
providedIn: 'root'
|
|
@@ -5533,22 +5396,15 @@ class QueryState {
|
|
|
5533
5396
|
*/
|
|
5534
5397
|
store = new EntityStore([]);
|
|
5535
5398
|
queryOverlayStyle = {};
|
|
5536
|
-
queryOverlayStyleSelection = {};
|
|
5537
|
-
queryOverlayStyleFocus = {};
|
|
5538
5399
|
constructor() {
|
|
5539
|
-
|
|
5540
|
-
if (queryOverlayStyle) {
|
|
5541
|
-
this.queryOverlayStyle = queryOverlayStyle.base;
|
|
5542
|
-
this.queryOverlayStyleSelection = queryOverlayStyle.selection;
|
|
5543
|
-
this.queryOverlayStyleFocus = queryOverlayStyle.focus;
|
|
5544
|
-
}
|
|
5400
|
+
this.queryOverlayStyle = this.configService.getConfig('queryOverlayStyle', {});
|
|
5545
5401
|
const geoPropertiesStrategy = new GeoPropertiesStrategy({ map: this.mapState.map }, this.propertyTypeDetectorService, this.capabilitiesService);
|
|
5546
5402
|
this.store.addStrategy(geoPropertiesStrategy, true);
|
|
5547
5403
|
}
|
|
5548
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.
|
|
5549
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.
|
|
5404
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.19", ngImport: i0, type: QueryState, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
5405
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.19", ngImport: i0, type: QueryState, providedIn: 'root' });
|
|
5550
5406
|
}
|
|
5551
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
5407
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.19", ngImport: i0, type: QueryState, decorators: [{
|
|
5552
5408
|
type: Injectable,
|
|
5553
5409
|
args: [{
|
|
5554
5410
|
providedIn: 'root'
|
|
@@ -5559,11 +5415,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.10", ngImpo
|
|
|
5559
5415
|
* @deprecated import the SearchResultsToolComponent directly
|
|
5560
5416
|
*/
|
|
5561
5417
|
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.
|
|
5418
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.19", ngImport: i0, type: IgoAppSearchResultsToolModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
5419
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.19", ngImport: i0, type: IgoAppSearchResultsToolModule, imports: [SearchResultsToolComponent], exports: [SearchResultsToolComponent] });
|
|
5420
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.19", ngImport: i0, type: IgoAppSearchResultsToolModule, imports: [SearchResultsToolComponent] });
|
|
5565
5421
|
}
|
|
5566
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
5422
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.19", ngImport: i0, type: IgoAppSearchResultsToolModule, decorators: [{
|
|
5567
5423
|
type: NgModule,
|
|
5568
5424
|
args: [{
|
|
5569
5425
|
imports: [SearchResultsToolComponent],
|
|
@@ -5575,11 +5431,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.10", ngImpo
|
|
|
5575
5431
|
* @deprecated import the SearchBarBindingDirective directly
|
|
5576
5432
|
*/
|
|
5577
5433
|
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.
|
|
5434
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.19", ngImport: i0, type: IgoAppSearchBarModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
5435
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.19", ngImport: i0, type: IgoAppSearchBarModule, imports: [SearchBarBindingDirective], exports: [SearchBarBindingDirective] });
|
|
5436
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.19", ngImport: i0, type: IgoAppSearchBarModule });
|
|
5581
5437
|
}
|
|
5582
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
5438
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.19", ngImport: i0, type: IgoAppSearchBarModule, decorators: [{
|
|
5583
5439
|
type: NgModule,
|
|
5584
5440
|
args: [{
|
|
5585
5441
|
imports: [SearchBarBindingDirective],
|