@igo2/integration 21.0.0-next.1 → 21.0.0-next.11
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 +530 -663
- package/fesm2022/igo2-integration.mjs.map +1 -1
- package/package.json +4 -4
- package/types/igo2-integration.d.ts +108 -132
|
@@ -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,20 +14,20 @@ 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, 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, Overlay, 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
32
|
import { MessageService, IgoMessageModule } from '@igo2/core/message';
|
|
33
33
|
import { trigger, state, style, transition, animate } from '@angular/animations';
|
|
@@ -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.17", ngImport: i0, type: AboutToolComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
142
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.17", 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.17", 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.17", ngImport: i0, type: IgoAppAboutModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
175
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.17", ngImport: i0, type: IgoAppAboutModule, imports: [AboutToolComponent], exports: [AboutToolComponent] });
|
|
176
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.17", 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.17", ngImport: i0, type: IgoAppAboutModule, decorators: [{
|
|
209
179
|
type: NgModule,
|
|
210
180
|
args: [{
|
|
211
181
|
imports: [AboutToolComponent],
|
|
@@ -247,10 +217,10 @@ class MapState {
|
|
|
247
217
|
}, this.storageService, this.configService);
|
|
248
218
|
this.mapService.setMap(this.map);
|
|
249
219
|
}
|
|
250
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.
|
|
251
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.
|
|
220
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: MapState, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
221
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: MapState, providedIn: 'root' });
|
|
252
222
|
}
|
|
253
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
223
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: MapState, decorators: [{
|
|
254
224
|
type: Injectable,
|
|
255
225
|
args: [{
|
|
256
226
|
providedIn: 'root'
|
|
@@ -301,10 +271,10 @@ class CatalogState {
|
|
|
301
271
|
clearCatalogItemsStores() {
|
|
302
272
|
this.catalogItemsStores.clear();
|
|
303
273
|
}
|
|
304
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.
|
|
305
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.
|
|
274
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: CatalogState, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
275
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: CatalogState, providedIn: 'root' });
|
|
306
276
|
}
|
|
307
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
277
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: CatalogState, decorators: [{
|
|
308
278
|
type: Injectable,
|
|
309
279
|
args: [{
|
|
310
280
|
providedIn: 'root'
|
|
@@ -384,8 +354,8 @@ let CatalogBrowserToolComponent = class CatalogBrowserToolComponent {
|
|
|
384
354
|
this.store$.next(store);
|
|
385
355
|
});
|
|
386
356
|
}
|
|
387
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.
|
|
388
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.
|
|
357
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: CatalogBrowserToolComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
358
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.17", 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
359
|
};
|
|
390
360
|
CatalogBrowserToolComponent = __decorate([
|
|
391
361
|
ToolComponent({
|
|
@@ -394,20 +364,20 @@ CatalogBrowserToolComponent = __decorate([
|
|
|
394
364
|
parent: 'catalog'
|
|
395
365
|
})
|
|
396
366
|
], CatalogBrowserToolComponent);
|
|
397
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
367
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: CatalogBrowserToolComponent, decorators: [{
|
|
398
368
|
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
|
|
369
|
+
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
370
|
}], propDecorators: { toggleCollapsedGroup: [{ type: i0.Input, args: [{ isSignal: true, alias: "toggleCollapsedGroup", required: false }] }] } });
|
|
401
371
|
|
|
402
372
|
/**
|
|
403
373
|
* @deprecated import the CatalogBrowserToolComponent directly
|
|
404
374
|
*/
|
|
405
375
|
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.
|
|
376
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: IgoAppCatalogBrowserToolModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
377
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.17", ngImport: i0, type: IgoAppCatalogBrowserToolModule, imports: [CatalogBrowserToolComponent], exports: [CatalogBrowserToolComponent] });
|
|
378
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: IgoAppCatalogBrowserToolModule, imports: [CatalogBrowserToolComponent] });
|
|
409
379
|
}
|
|
410
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
380
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: IgoAppCatalogBrowserToolModule, decorators: [{
|
|
411
381
|
type: NgModule,
|
|
412
382
|
args: [{
|
|
413
383
|
imports: [CatalogBrowserToolComponent],
|
|
@@ -441,10 +411,10 @@ class ImportExportState {
|
|
|
441
411
|
setsExportOptions(exportOptions) {
|
|
442
412
|
this.exportOptions$.next(exportOptions);
|
|
443
413
|
}
|
|
444
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.
|
|
445
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.
|
|
414
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: ImportExportState, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
415
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: ImportExportState, providedIn: 'root' });
|
|
446
416
|
}
|
|
447
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
417
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: ImportExportState, decorators: [{
|
|
448
418
|
type: Injectable,
|
|
449
419
|
args: [{
|
|
450
420
|
providedIn: 'root'
|
|
@@ -486,10 +456,10 @@ class ToolState {
|
|
|
486
456
|
this.openSidenav$.next(true);
|
|
487
457
|
}
|
|
488
458
|
}
|
|
489
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.
|
|
490
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.
|
|
459
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: ToolState, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
460
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: ToolState, providedIn: 'root' });
|
|
491
461
|
}
|
|
492
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
462
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: ToolState, decorators: [{
|
|
493
463
|
type: Injectable,
|
|
494
464
|
args: [{
|
|
495
465
|
providedIn: 'root'
|
|
@@ -675,19 +645,19 @@ let CatalogLibraryToolComponent = class CatalogLibraryToolComponent {
|
|
|
675
645
|
* Get the item abstract for getCatalogList
|
|
676
646
|
*/
|
|
677
647
|
getMetadataAbstract(item) {
|
|
678
|
-
return item.options.metadata
|
|
648
|
+
return item.options.metadata?.abstract?.replaceAll('\n', '') ?? '';
|
|
679
649
|
}
|
|
680
650
|
/**
|
|
681
651
|
* Get the item url metadata for getCatalogList
|
|
682
652
|
*/
|
|
683
653
|
getMetadataUrl(item) {
|
|
684
|
-
return item.options.metadata
|
|
654
|
+
return item.options.metadata?.url;
|
|
685
655
|
}
|
|
686
656
|
layersInfoFromContexts() {
|
|
687
657
|
return this.contextService.getLocalContexts().pipe(switchMap((contextsList) => forkJoin(contextsList.ours.map((context) => this.contextService.getLocalContext(context.uri)))), concatAll(), map((detailedContext) => {
|
|
688
|
-
return detailedContext.layers
|
|
658
|
+
return (detailedContext.layers ?? [])
|
|
689
659
|
.filter((layer) => isLayerItemOptions(layer))
|
|
690
|
-
.map((layer) => getInfoFromSourceOptions(layer.sourceOptions, detailedContext.title ?? detailedContext.uri));
|
|
660
|
+
.map((layer) => getInfoFromSourceOptions(layer.sourceOptions, detailedContext.title ?? detailedContext.uri ?? ''));
|
|
691
661
|
}), concatAll(), toArray());
|
|
692
662
|
}
|
|
693
663
|
listExportFromCatalogs() {
|
|
@@ -702,7 +672,8 @@ let CatalogLibraryToolComponent = class CatalogLibraryToolComponent {
|
|
|
702
672
|
const catalogListExports = loadedCatalogItems.reduce((catalogListExports, item) => {
|
|
703
673
|
if (item.type === CatalogItemType.Group) {
|
|
704
674
|
const group = item;
|
|
705
|
-
group.items
|
|
675
|
+
group.items?.forEach((item) => {
|
|
676
|
+
const layer = item;
|
|
706
677
|
catalogListExports.push(this.formatLayer(layer, rank, group.title, catalog.title));
|
|
707
678
|
rank++;
|
|
708
679
|
});
|
|
@@ -728,23 +699,26 @@ let CatalogLibraryToolComponent = class CatalogLibraryToolComponent {
|
|
|
728
699
|
this.exportExcel(listExport);
|
|
729
700
|
});
|
|
730
701
|
}
|
|
731
|
-
formatLayer(
|
|
732
|
-
const
|
|
702
|
+
formatLayer(catalogItem, rank, groupTitle, catalogTitle) {
|
|
703
|
+
const sourceOptions = catalogItem.options.sourceOptions;
|
|
704
|
+
const infos = sourceOptions
|
|
705
|
+
? getInfoFromSourceOptions(sourceOptions, catalogItem.id)
|
|
706
|
+
: undefined;
|
|
733
707
|
const t = this.languageService.translate;
|
|
734
708
|
return {
|
|
735
|
-
id: infos.id,
|
|
709
|
+
id: infos?.id ?? catalogItem.options.id,
|
|
736
710
|
rank: rank.toString(),
|
|
737
|
-
layerTitle:
|
|
711
|
+
layerTitle: catalogItem.title,
|
|
738
712
|
layerGroup: groupTitle,
|
|
739
713
|
catalog: catalogTitle,
|
|
740
|
-
provider:
|
|
714
|
+
provider: catalogItem.externalProvider
|
|
741
715
|
? t.instant('igo.integration.catalog.listExport.external')
|
|
742
716
|
: t.instant('igo.integration.catalog.listExport.internal'),
|
|
743
|
-
url: infos
|
|
744
|
-
layerName: infos
|
|
717
|
+
url: infos?.url,
|
|
718
|
+
layerName: infos?.layerName,
|
|
745
719
|
context: '',
|
|
746
|
-
metadataAbstract: this.getMetadataAbstract(
|
|
747
|
-
metadataUrl: this.getMetadataUrl(
|
|
720
|
+
metadataAbstract: this.getMetadataAbstract(catalogItem),
|
|
721
|
+
metadataUrl: this.getMetadataUrl(catalogItem)
|
|
748
722
|
};
|
|
749
723
|
}
|
|
750
724
|
/**
|
|
@@ -794,8 +768,8 @@ let CatalogLibraryToolComponent = class CatalogLibraryToolComponent {
|
|
|
794
768
|
const documentName = this.languageService.translate.instant('igo.integration.catalog.listExport.documentName', { value: formatDate(Date.now(), 'YYYY-MM-dd-H_mm', 'en-US') });
|
|
795
769
|
writeExcelFile(workBook, documentName, { compression: true });
|
|
796
770
|
}
|
|
797
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.
|
|
798
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.
|
|
771
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: CatalogLibraryToolComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
772
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.17", 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
773
|
};
|
|
800
774
|
CatalogLibraryToolComponent = __decorate([
|
|
801
775
|
ToolComponent({
|
|
@@ -804,7 +778,7 @@ CatalogLibraryToolComponent = __decorate([
|
|
|
804
778
|
icon: 'library_add'
|
|
805
779
|
})
|
|
806
780
|
], CatalogLibraryToolComponent);
|
|
807
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
781
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: CatalogLibraryToolComponent, decorators: [{
|
|
808
782
|
type: Component,
|
|
809
783
|
args: [{ selector: 'igo-catalog-library-tool', changeDetection: ChangeDetectionStrategy.OnPush, imports: [
|
|
810
784
|
CatalogLibraryComponent,
|
|
@@ -818,11 +792,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.10", ngImpo
|
|
|
818
792
|
* @deprecated import the CatalogLibraryToolComponent directly
|
|
819
793
|
*/
|
|
820
794
|
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.
|
|
795
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: IgoAppCatalogLibraryToolModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
796
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.17", ngImport: i0, type: IgoAppCatalogLibraryToolModule, imports: [CatalogLibraryToolComponent], exports: [CatalogLibraryToolComponent] });
|
|
797
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: IgoAppCatalogLibraryToolModule, imports: [CatalogLibraryToolComponent] });
|
|
824
798
|
}
|
|
825
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
799
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: IgoAppCatalogLibraryToolModule, decorators: [{
|
|
826
800
|
type: NgModule,
|
|
827
801
|
args: [{
|
|
828
802
|
imports: [CatalogLibraryToolComponent],
|
|
@@ -834,11 +808,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.10", ngImpo
|
|
|
834
808
|
* @deprecated import the components directly
|
|
835
809
|
*/
|
|
836
810
|
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.
|
|
811
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: IgoAppCatalogModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
812
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.17", ngImport: i0, type: IgoAppCatalogModule, exports: [IgoAppCatalogLibraryToolModule, IgoAppCatalogBrowserToolModule] });
|
|
813
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: IgoAppCatalogModule, imports: [IgoAppCatalogLibraryToolModule, IgoAppCatalogBrowserToolModule] });
|
|
840
814
|
}
|
|
841
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
815
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: IgoAppCatalogModule, decorators: [{
|
|
842
816
|
type: NgModule,
|
|
843
817
|
args: [{
|
|
844
818
|
exports: [IgoAppCatalogLibraryToolModule, IgoAppCatalogBrowserToolModule]
|
|
@@ -850,8 +824,8 @@ let ContextEditorToolComponent = class ContextEditorToolComponent {
|
|
|
850
824
|
submitSuccessed() {
|
|
851
825
|
this.toolState.toolbox.activatePreviousTool();
|
|
852
826
|
}
|
|
853
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.
|
|
854
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.
|
|
827
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: ContextEditorToolComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
828
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.17", 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
829
|
};
|
|
856
830
|
ContextEditorToolComponent = __decorate([
|
|
857
831
|
ToolComponent({
|
|
@@ -861,7 +835,7 @@ ContextEditorToolComponent = __decorate([
|
|
|
861
835
|
parent: 'contextManager'
|
|
862
836
|
})
|
|
863
837
|
], ContextEditorToolComponent);
|
|
864
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
838
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: ContextEditorToolComponent, decorators: [{
|
|
865
839
|
type: Component,
|
|
866
840
|
args: [{ selector: 'igo-context-editor-tool', imports: [ContextEditComponent], template: "<igo-context-edit (submitSuccessed)=\"submitSuccessed()\" />\n" }]
|
|
867
841
|
}] });
|
|
@@ -881,8 +855,8 @@ let ContextManagerToolComponent = class ContextManagerToolComponent {
|
|
|
881
855
|
managePermissions() {
|
|
882
856
|
this.toolState.toolbox.activateTool('contextPermissionManager');
|
|
883
857
|
}
|
|
884
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.
|
|
885
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.2.
|
|
858
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: ContextManagerToolComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
859
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.2.17", 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
860
|
};
|
|
887
861
|
ContextManagerToolComponent = __decorate([
|
|
888
862
|
ToolComponent({
|
|
@@ -891,14 +865,14 @@ ContextManagerToolComponent = __decorate([
|
|
|
891
865
|
icon: 'star'
|
|
892
866
|
})
|
|
893
867
|
], ContextManagerToolComponent);
|
|
894
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
868
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: ContextManagerToolComponent, decorators: [{
|
|
895
869
|
type: Component,
|
|
896
870
|
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
871
|
}], propDecorators: { toolToOpenOnContextChange: [{ type: i0.Input, args: [{ isSignal: true, alias: "toolToOpenOnContextChange", required: false }] }] } });
|
|
898
872
|
|
|
899
873
|
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.
|
|
874
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: ContextPermissionManagerToolComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
875
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.17", 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
876
|
};
|
|
903
877
|
ContextPermissionManagerToolComponent = __decorate([
|
|
904
878
|
ToolComponent({
|
|
@@ -908,7 +882,7 @@ ContextPermissionManagerToolComponent = __decorate([
|
|
|
908
882
|
parent: 'contextManager'
|
|
909
883
|
})
|
|
910
884
|
], ContextPermissionManagerToolComponent);
|
|
911
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
885
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: ContextPermissionManagerToolComponent, decorators: [{
|
|
912
886
|
type: Component,
|
|
913
887
|
args: [{ selector: 'igo-context-permission-manager-tool', imports: [ContextPermissionsComponent], template: "<igo-context-permissions />\n" }]
|
|
914
888
|
}] });
|
|
@@ -940,10 +914,10 @@ class LayerListToolState {
|
|
|
940
914
|
sortAlpha: this.sortAlpha$.value
|
|
941
915
|
};
|
|
942
916
|
}
|
|
943
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.
|
|
944
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.
|
|
917
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: LayerListToolState, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
918
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: LayerListToolState, providedIn: 'root' });
|
|
945
919
|
}
|
|
946
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
920
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: LayerListToolState, decorators: [{
|
|
947
921
|
type: Injectable,
|
|
948
922
|
args: [{
|
|
949
923
|
providedIn: 'root'
|
|
@@ -959,8 +933,8 @@ let ContextShareToolComponent = class ContextShareToolComponent {
|
|
|
959
933
|
get layerListControls() {
|
|
960
934
|
return this.layerListToolState.getLayerListControls();
|
|
961
935
|
}
|
|
962
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.
|
|
963
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.
|
|
936
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: ContextShareToolComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
937
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.17", 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
938
|
};
|
|
965
939
|
ContextShareToolComponent = __decorate([
|
|
966
940
|
ToolComponent({
|
|
@@ -969,7 +943,7 @@ ContextShareToolComponent = __decorate([
|
|
|
969
943
|
icon: 'share'
|
|
970
944
|
})
|
|
971
945
|
], ContextShareToolComponent);
|
|
972
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
946
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: ContextShareToolComponent, decorators: [{
|
|
973
947
|
type: Component,
|
|
974
948
|
args: [{ selector: 'igo-context-share-tool', imports: [ShareMapComponent], template: "<igo-share-map [map]=\"map\" />\n" }]
|
|
975
949
|
}] });
|
|
@@ -985,11 +959,11 @@ const INTEGRATION_CONTEXT_DIRECTIVES = [
|
|
|
985
959
|
* @deprecated import the components/directive directly or INTEGRATION_CONTEXT_DIRECTIVES for the set
|
|
986
960
|
*/
|
|
987
961
|
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.
|
|
962
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: IgoAppContextModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
963
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.17", ngImport: i0, type: IgoAppContextModule, imports: [ContextEditorToolComponent, ContextManagerToolComponent, ContextPermissionManagerToolComponent, ContextShareToolComponent], exports: [ContextEditorToolComponent, ContextManagerToolComponent, ContextPermissionManagerToolComponent, ContextShareToolComponent] });
|
|
964
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: IgoAppContextModule, imports: [INTEGRATION_CONTEXT_DIRECTIVES] });
|
|
991
965
|
}
|
|
992
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
966
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: IgoAppContextModule, decorators: [{
|
|
993
967
|
type: NgModule,
|
|
994
968
|
args: [{
|
|
995
969
|
imports: [...INTEGRATION_CONTEXT_DIRECTIVES],
|
|
@@ -1013,7 +987,9 @@ class ContextState {
|
|
|
1013
987
|
this.onContextChange(context);
|
|
1014
988
|
});
|
|
1015
989
|
this.contextService.toolsChanged$.subscribe((context) => {
|
|
1016
|
-
|
|
990
|
+
if (context) {
|
|
991
|
+
this.updateTools(context);
|
|
992
|
+
}
|
|
1017
993
|
});
|
|
1018
994
|
}
|
|
1019
995
|
/**
|
|
@@ -1057,7 +1033,7 @@ class ContextState {
|
|
|
1057
1033
|
toolbox.setToolbar(context.toolbar || []);
|
|
1058
1034
|
// TODO: This is a patch so the context service can work without
|
|
1059
1035
|
// injecting the ToolState or without being completely refactored
|
|
1060
|
-
this.contextService.setTools([]
|
|
1036
|
+
this.contextService.setTools([...tools]);
|
|
1061
1037
|
this.contextService.setToolbar(context.toolbar || []);
|
|
1062
1038
|
}
|
|
1063
1039
|
/**
|
|
@@ -1070,10 +1046,10 @@ class ContextState {
|
|
|
1070
1046
|
}
|
|
1071
1047
|
this.setContext(context);
|
|
1072
1048
|
}
|
|
1073
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.
|
|
1074
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.
|
|
1049
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: ContextState, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
1050
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: ContextState, providedIn: 'root' });
|
|
1075
1051
|
}
|
|
1076
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
1052
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: ContextState, decorators: [{
|
|
1077
1053
|
type: Injectable,
|
|
1078
1054
|
args: [{
|
|
1079
1055
|
providedIn: 'root'
|
|
@@ -1120,10 +1096,10 @@ class DirectionState {
|
|
|
1120
1096
|
}
|
|
1121
1097
|
});
|
|
1122
1098
|
}
|
|
1123
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.
|
|
1124
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.
|
|
1099
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: DirectionState, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
1100
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: DirectionState, providedIn: 'root' });
|
|
1125
1101
|
}
|
|
1126
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
1102
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: DirectionState, decorators: [{
|
|
1127
1103
|
type: Injectable,
|
|
1128
1104
|
args: [{
|
|
1129
1105
|
providedIn: 'root'
|
|
@@ -1185,13 +1161,13 @@ let DirectionsToolComponent = class DirectionsToolComponent {
|
|
|
1185
1161
|
this.storageService.set('direction.warning.shown', true, StorageScope.SESSION);
|
|
1186
1162
|
}
|
|
1187
1163
|
this.contextState.context$.subscribe((c) => {
|
|
1188
|
-
if (!this.authService.authenticated) {
|
|
1164
|
+
if (!this.authService.authenticated && c) {
|
|
1189
1165
|
this.currentContextUri = c.uri;
|
|
1190
1166
|
}
|
|
1191
1167
|
});
|
|
1192
1168
|
}
|
|
1193
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.
|
|
1194
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.
|
|
1169
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: DirectionsToolComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
1170
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.17", 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
1171
|
};
|
|
1196
1172
|
DirectionsToolComponent = __decorate([
|
|
1197
1173
|
ToolComponent({
|
|
@@ -1200,7 +1176,7 @@ DirectionsToolComponent = __decorate([
|
|
|
1200
1176
|
icon: 'directions'
|
|
1201
1177
|
})
|
|
1202
1178
|
], DirectionsToolComponent);
|
|
1203
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
1179
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: DirectionsToolComponent, decorators: [{
|
|
1204
1180
|
type: Component,
|
|
1205
1181
|
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
1182
|
}] });
|
|
@@ -1215,11 +1191,11 @@ class IgoAppDirectionsModule {
|
|
|
1215
1191
|
providers: []
|
|
1216
1192
|
};
|
|
1217
1193
|
}
|
|
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.
|
|
1194
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: IgoAppDirectionsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
1195
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.17", ngImport: i0, type: IgoAppDirectionsModule, imports: [DirectionsToolComponent], exports: [DirectionsToolComponent] });
|
|
1196
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: IgoAppDirectionsModule, imports: [DirectionsToolComponent] });
|
|
1221
1197
|
}
|
|
1222
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
1198
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: IgoAppDirectionsModule, decorators: [{
|
|
1223
1199
|
type: NgModule,
|
|
1224
1200
|
args: [{
|
|
1225
1201
|
imports: [DirectionsToolComponent],
|
|
@@ -1256,10 +1232,10 @@ class DrawState {
|
|
|
1256
1232
|
store = new FeatureStore([], { map: this.mapState.map });
|
|
1257
1233
|
}
|
|
1258
1234
|
}
|
|
1259
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.
|
|
1260
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.
|
|
1235
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: DrawState, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
1236
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: DrawState, providedIn: 'root' });
|
|
1261
1237
|
}
|
|
1262
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
1238
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: DrawState, decorators: [{
|
|
1263
1239
|
type: Injectable,
|
|
1264
1240
|
args: [{
|
|
1265
1241
|
providedIn: 'root'
|
|
@@ -1307,8 +1283,8 @@ let DrawingToolComponent = class DrawingToolComponent {
|
|
|
1307
1283
|
addDrawControls(dc) {
|
|
1308
1284
|
this.drawControls = dc;
|
|
1309
1285
|
}
|
|
1310
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.
|
|
1311
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.
|
|
1286
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: DrawingToolComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
1287
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.17", 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
1288
|
};
|
|
1313
1289
|
DrawingToolComponent = __decorate([
|
|
1314
1290
|
ToolComponent({
|
|
@@ -1317,7 +1293,7 @@ DrawingToolComponent = __decorate([
|
|
|
1317
1293
|
icon: 'stylus_note'
|
|
1318
1294
|
})
|
|
1319
1295
|
], DrawingToolComponent);
|
|
1320
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
1296
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: DrawingToolComponent, decorators: [{
|
|
1321
1297
|
type: Component,
|
|
1322
1298
|
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
1299
|
}] });
|
|
@@ -1326,11 +1302,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.10", ngImpo
|
|
|
1326
1302
|
* @deprecated import the DrawingToolComponent directly
|
|
1327
1303
|
*/
|
|
1328
1304
|
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.
|
|
1305
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: IgoAppDrawingToolModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
1306
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.17", ngImport: i0, type: IgoAppDrawingToolModule, imports: [DrawingToolComponent], exports: [DrawingToolComponent] });
|
|
1307
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: IgoAppDrawingToolModule, imports: [DrawingToolComponent] });
|
|
1332
1308
|
}
|
|
1333
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
1309
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: IgoAppDrawingToolModule, decorators: [{
|
|
1334
1310
|
type: NgModule,
|
|
1335
1311
|
args: [{
|
|
1336
1312
|
imports: [DrawingToolComponent],
|
|
@@ -1342,11 +1318,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.10", ngImpo
|
|
|
1342
1318
|
* @deprecated import the DrawingToolComponent directly
|
|
1343
1319
|
*/
|
|
1344
1320
|
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.
|
|
1321
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: IgoAppDrawModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
1322
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.17", ngImport: i0, type: IgoAppDrawModule, exports: [IgoAppDrawingToolModule] });
|
|
1323
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: IgoAppDrawModule, imports: [IgoAppDrawingToolModule] });
|
|
1348
1324
|
}
|
|
1349
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
1325
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: IgoAppDrawModule, decorators: [{
|
|
1350
1326
|
type: NgModule,
|
|
1351
1327
|
args: [{
|
|
1352
1328
|
exports: [IgoAppDrawingToolModule]
|
|
@@ -1376,8 +1352,8 @@ let ActiveOgcFilterToolComponent = class ActiveOgcFilterToolComponent {
|
|
|
1376
1352
|
return;
|
|
1377
1353
|
}
|
|
1378
1354
|
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.
|
|
1355
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: ActiveOgcFilterToolComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
1356
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.17", 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
1357
|
};
|
|
1382
1358
|
ActiveOgcFilterToolComponent = __decorate([
|
|
1383
1359
|
ToolComponent({
|
|
@@ -1387,7 +1363,7 @@ ActiveOgcFilterToolComponent = __decorate([
|
|
|
1387
1363
|
parent: 'mapTools'
|
|
1388
1364
|
})
|
|
1389
1365
|
], ActiveOgcFilterToolComponent);
|
|
1390
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
1366
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: ActiveOgcFilterToolComponent, decorators: [{
|
|
1391
1367
|
type: Component,
|
|
1392
1368
|
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
1369
|
}] });
|
|
@@ -1415,8 +1391,8 @@ let ActiveTimeFilterToolComponent = class ActiveTimeFilterToolComponent {
|
|
|
1415
1391
|
return;
|
|
1416
1392
|
}
|
|
1417
1393
|
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.
|
|
1394
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: ActiveTimeFilterToolComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
1395
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.17", 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
1396
|
};
|
|
1421
1397
|
ActiveTimeFilterToolComponent = __decorate([
|
|
1422
1398
|
ToolComponent({
|
|
@@ -1426,14 +1402,14 @@ ActiveTimeFilterToolComponent = __decorate([
|
|
|
1426
1402
|
parent: 'mapTools'
|
|
1427
1403
|
})
|
|
1428
1404
|
], ActiveTimeFilterToolComponent);
|
|
1429
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
1405
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: ActiveTimeFilterToolComponent, decorators: [{
|
|
1430
1406
|
type: Component,
|
|
1431
1407
|
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
1408
|
}] });
|
|
1433
1409
|
|
|
1434
1410
|
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.
|
|
1411
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: OgcFilterToolComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
1412
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.17", 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
1413
|
};
|
|
1438
1414
|
OgcFilterToolComponent = __decorate([
|
|
1439
1415
|
ToolComponent({
|
|
@@ -1442,9 +1418,9 @@ OgcFilterToolComponent = __decorate([
|
|
|
1442
1418
|
icon: 'filter'
|
|
1443
1419
|
})
|
|
1444
1420
|
], OgcFilterToolComponent);
|
|
1445
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
1421
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: OgcFilterToolComponent, decorators: [{
|
|
1446
1422
|
type: Component,
|
|
1447
|
-
args: [{ selector: 'igo-ogc-filter-tool', imports: [OgcFilterableListComponent, OgcFilterableListBindingDirective], template: "<igo-ogc-filterable-list igoOgcFilterableListBinding />\n" }]
|
|
1423
|
+
args: [{ selector: 'igo-ogc-filter-tool', imports: [OgcFilterableListComponent, OgcFilterableListBindingDirective], template: "<igo-ogc-filterable-list igoOgcFilterableListBinding [layers]=\"[]\" />\n" }]
|
|
1448
1424
|
}] });
|
|
1449
1425
|
|
|
1450
1426
|
/**
|
|
@@ -1455,10 +1431,10 @@ class StorageState {
|
|
|
1455
1431
|
get storageService() {
|
|
1456
1432
|
return this.igoStorageService;
|
|
1457
1433
|
}
|
|
1458
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.
|
|
1459
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.
|
|
1434
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: StorageState, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
1435
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: StorageState, providedIn: 'root' });
|
|
1460
1436
|
}
|
|
1461
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
1437
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: StorageState, decorators: [{
|
|
1462
1438
|
type: Injectable,
|
|
1463
1439
|
args: [{
|
|
1464
1440
|
providedIn: 'root'
|
|
@@ -1519,17 +1495,17 @@ function getWorkspaceActions(workspace, rowsInMapExtentCheckCondition$, selectOn
|
|
|
1519
1495
|
title: 'igo.integration.workspace.download.title',
|
|
1520
1496
|
tooltip: 'igo.integration.workspace.download.tooltip',
|
|
1521
1497
|
handler: (ws) => {
|
|
1522
|
-
const filterStrategy = ws.entityStore
|
|
1523
|
-
const filterSelectionStrategy = ws.entityStore
|
|
1524
|
-
const layersWithSelection = filterSelectionStrategy
|
|
1498
|
+
const filterStrategy = ws.entityStore?.getStrategyOfType(EntityStoreFilterCustomFuncStrategy);
|
|
1499
|
+
const filterSelectionStrategy = ws.entityStore?.getStrategyOfType(EntityStoreFilterSelectionStrategy);
|
|
1500
|
+
const layersWithSelection = filterSelectionStrategy?.active
|
|
1525
1501
|
? [ws.layer.id]
|
|
1526
1502
|
: [];
|
|
1527
1503
|
toolState.toolToActivateFromOptions({
|
|
1528
1504
|
tool: 'importExport',
|
|
1529
1505
|
options: {
|
|
1530
1506
|
layers: [ws.layer.id],
|
|
1531
|
-
featureInMapExtent: filterStrategy
|
|
1532
|
-
layersWithSelection
|
|
1507
|
+
featureInMapExtent: filterStrategy?.active,
|
|
1508
|
+
layersWithSelection: layersWithSelection.filter((id) => id !== undefined)
|
|
1533
1509
|
}
|
|
1534
1510
|
});
|
|
1535
1511
|
},
|
|
@@ -1548,7 +1524,7 @@ function getWorkspaceActions(workspace, rowsInMapExtentCheckCondition$, selectOn
|
|
|
1548
1524
|
},
|
|
1549
1525
|
args: [ogcFilterWidget, workspace],
|
|
1550
1526
|
availability: (widget, ws) => of(ws.layer.options.sourceOptions
|
|
1551
|
-
?.ogcFilters?.enabled)
|
|
1527
|
+
?.ogcFilters?.enabled ?? false)
|
|
1552
1528
|
},
|
|
1553
1529
|
{
|
|
1554
1530
|
id: 'interactiveSelect',
|
|
@@ -1628,7 +1604,7 @@ function getWorkspaceActions(workspace, rowsInMapExtentCheckCondition$, selectOn
|
|
|
1628
1604
|
args: [workspace]
|
|
1629
1605
|
}
|
|
1630
1606
|
];
|
|
1631
|
-
const returnActions = workspace.layer.options.workspace
|
|
1607
|
+
const returnActions = workspace.layer.options.workspace?.printable !== false
|
|
1632
1608
|
? actions
|
|
1633
1609
|
: actions.filter((action) => action.id !== 'print');
|
|
1634
1610
|
return returnActions;
|
|
@@ -1675,10 +1651,10 @@ class EditionActionsService {
|
|
|
1675
1651
|
});
|
|
1676
1652
|
return getWorkspaceActions(workspace, rowsInMapExtentCheckCondition$, selectOnlyCheckCondition$, this.ogcFilterWidget, this.zoomAuto$, this.maximize$, this.storageService, this.languageService, this.mediaService, this.toolState);
|
|
1677
1653
|
}
|
|
1678
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.
|
|
1679
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.
|
|
1654
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: EditionActionsService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
1655
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: EditionActionsService, providedIn: 'root' });
|
|
1680
1656
|
}
|
|
1681
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
1657
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: EditionActionsService, decorators: [{
|
|
1682
1658
|
type: Injectable,
|
|
1683
1659
|
args: [{
|
|
1684
1660
|
providedIn: 'root'
|
|
@@ -1721,12 +1697,12 @@ class FeatureActionsService {
|
|
|
1721
1697
|
this.zoomAuto$.next(this.zoomAuto);
|
|
1722
1698
|
handleZoomAuto(workspace, this.storageService);
|
|
1723
1699
|
});
|
|
1724
|
-
return getWorkspaceActions(workspace, rowsInMapExtentCheckCondition$, selectOnlyCheckCondition$, undefined, this.zoomAuto$, this.maximize$, this.storageService, this.languageService, this.mediaService, this.toolState, this.interactiveSelectionFormWidget);
|
|
1700
|
+
return getWorkspaceActions(workspace, rowsInMapExtentCheckCondition$, selectOnlyCheckCondition$, undefined, this.zoomAuto$, this.maximize$, this.storageService, this.languageService, this.mediaService, this.toolState, this.interactiveSelectionFormWidget ?? undefined);
|
|
1725
1701
|
}
|
|
1726
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.
|
|
1727
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.
|
|
1702
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: FeatureActionsService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
1703
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: FeatureActionsService, providedIn: 'root' });
|
|
1728
1704
|
}
|
|
1729
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
1705
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: FeatureActionsService, decorators: [{
|
|
1730
1706
|
type: Injectable,
|
|
1731
1707
|
args: [{
|
|
1732
1708
|
providedIn: 'root'
|
|
@@ -1772,12 +1748,12 @@ class WfsActionsService {
|
|
|
1772
1748
|
this.zoomAuto$.next(this.zoomAuto);
|
|
1773
1749
|
handleZoomAuto(workspace, this.storageService);
|
|
1774
1750
|
});
|
|
1775
|
-
return getWorkspaceActions(workspace, rowsInMapExtentCheckCondition$, selectOnlyCheckCondition$, this.ogcFilterWidget, this.zoomAuto$, this.maximize$, this.storageService, this.languageService, this.mediaService, this.toolState, this.interactiveSelectionFormWidget);
|
|
1751
|
+
return getWorkspaceActions(workspace, rowsInMapExtentCheckCondition$, selectOnlyCheckCondition$, this.ogcFilterWidget, this.zoomAuto$, this.maximize$, this.storageService, this.languageService, this.mediaService, this.toolState, this.interactiveSelectionFormWidget ?? undefined);
|
|
1776
1752
|
}
|
|
1777
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.
|
|
1778
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.
|
|
1753
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: WfsActionsService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
1754
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: WfsActionsService, providedIn: 'root' });
|
|
1779
1755
|
}
|
|
1780
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
1756
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: WfsActionsService, decorators: [{
|
|
1781
1757
|
type: Injectable,
|
|
1782
1758
|
args: [{
|
|
1783
1759
|
providedIn: 'root'
|
|
@@ -1819,7 +1795,7 @@ class WorkspaceState {
|
|
|
1819
1795
|
_store;
|
|
1820
1796
|
get workspaceSelection() {
|
|
1821
1797
|
if (this.workspace$.value) {
|
|
1822
|
-
return this.workspace$.value?.entityStore
|
|
1798
|
+
return this.workspace$.value?.entityStore?.stateView.manyBy((r) => r.state.selected === true);
|
|
1823
1799
|
}
|
|
1824
1800
|
else {
|
|
1825
1801
|
return [];
|
|
@@ -1827,7 +1803,7 @@ class WorkspaceState {
|
|
|
1827
1803
|
}
|
|
1828
1804
|
get workspaceSelection$() {
|
|
1829
1805
|
if (this.workspace$.value) {
|
|
1830
|
-
return this.workspace$.value?.entityStore?.stateView.manyBy$((r) => r.state.selected === true);
|
|
1806
|
+
return (this.workspace$.value?.entityStore?.stateView.manyBy$((r) => r.state.selected === true) ?? of([]));
|
|
1831
1807
|
}
|
|
1832
1808
|
else {
|
|
1833
1809
|
return of([]);
|
|
@@ -1850,11 +1826,9 @@ class WorkspaceState {
|
|
|
1850
1826
|
const workspace = record ? record.entity : undefined;
|
|
1851
1827
|
this.workspace$.next(workspace);
|
|
1852
1828
|
});
|
|
1853
|
-
this._store.stateView
|
|
1854
|
-
.all$()
|
|
1855
|
-
.subscribe((workspaces) => {
|
|
1829
|
+
this._store.stateView.all$().subscribe((workspaces) => {
|
|
1856
1830
|
workspaces.map((wks) => {
|
|
1857
|
-
if (wks.entity.actionStore
|
|
1831
|
+
if (wks.entity.actionStore?.empty) {
|
|
1858
1832
|
if (wks.entity instanceof WfsWorkspace) {
|
|
1859
1833
|
this.wfsActionsService.loadActions(wks.entity, this.rowsInMapExtentCheckCondition$, this.selectOnlyCheckCondition$);
|
|
1860
1834
|
}
|
|
@@ -1884,8 +1858,8 @@ class WorkspaceState {
|
|
|
1884
1858
|
this.rowsInMapExtentCheckCondition$$ =
|
|
1885
1859
|
this.rowsInMapExtentCheckCondition$.subscribe((rowsInMapExtent) => {
|
|
1886
1860
|
this._store.stateView.all().map((wks) => {
|
|
1887
|
-
if (!wks.entity.actionStore
|
|
1888
|
-
const filterStrategy = wks.entity.entityStore
|
|
1861
|
+
if (!wks.entity.actionStore?.empty) {
|
|
1862
|
+
const filterStrategy = wks.entity.entityStore?.getStrategyOfType(EntityStoreFilterCustomFuncStrategy);
|
|
1889
1863
|
if (filterStrategy) {
|
|
1890
1864
|
if (rowsInMapExtent) {
|
|
1891
1865
|
filterStrategy.activate();
|
|
@@ -1899,8 +1873,8 @@ class WorkspaceState {
|
|
|
1899
1873
|
});
|
|
1900
1874
|
this.selectOnlyCheckCondition$$ = this.selectOnlyCheckCondition$.subscribe((selectOnly) => {
|
|
1901
1875
|
this._store.stateView.all().map((wks) => {
|
|
1902
|
-
if (!wks.entity.actionStore
|
|
1903
|
-
const filterStrategy = wks.entity.entityStore
|
|
1876
|
+
if (!wks.entity.actionStore?.empty) {
|
|
1877
|
+
const filterStrategy = wks.entity.entityStore?.getStrategyOfType(EntityStoreFilterSelectionStrategy);
|
|
1904
1878
|
if (filterStrategy) {
|
|
1905
1879
|
if (selectOnly) {
|
|
1906
1880
|
filterStrategy.activate();
|
|
@@ -1957,10 +1931,10 @@ class WorkspaceState {
|
|
|
1957
1931
|
this.activeWorkspace$$.unsubscribe();
|
|
1958
1932
|
}
|
|
1959
1933
|
}
|
|
1960
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.
|
|
1961
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.
|
|
1934
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: WorkspaceState, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
1935
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: WorkspaceState, providedIn: 'root' });
|
|
1962
1936
|
}
|
|
1963
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
1937
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: WorkspaceState, decorators: [{
|
|
1964
1938
|
type: Injectable,
|
|
1965
1939
|
args: [{
|
|
1966
1940
|
providedIn: 'root'
|
|
@@ -1983,9 +1957,9 @@ let SpatialFilterToolComponent = class SpatialFilterToolComponent {
|
|
|
1983
1957
|
get map() {
|
|
1984
1958
|
return this.mapState.map;
|
|
1985
1959
|
}
|
|
1986
|
-
type = model(
|
|
1960
|
+
type = model(...(ngDevMode ? [undefined, { debugName: "type" }] : /* istanbul ignore next */ []));
|
|
1987
1961
|
itemType = model(SpatialFilterItemType.Thematics, ...(ngDevMode ? [{ debugName: "itemType" }] : /* istanbul ignore next */ []));
|
|
1988
|
-
freehandDrawIsActive = model(
|
|
1962
|
+
freehandDrawIsActive = model(...(ngDevMode ? [undefined, { debugName: "freehandDrawIsActive" }] : /* istanbul ignore next */ []));
|
|
1989
1963
|
layers = [];
|
|
1990
1964
|
activeLayers = [];
|
|
1991
1965
|
queryType;
|
|
@@ -2034,7 +2008,7 @@ let SpatialFilterToolComponent = class SpatialFilterToolComponent {
|
|
|
2034
2008
|
const ids = [];
|
|
2035
2009
|
const re = new RegExp('^Zone \\d+');
|
|
2036
2010
|
for (const layer of this.layers) {
|
|
2037
|
-
if (!layer.title
|
|
2011
|
+
if (!layer.title?.match(re)) {
|
|
2038
2012
|
ids.push(layer.id);
|
|
2039
2013
|
}
|
|
2040
2014
|
}
|
|
@@ -2054,7 +2028,7 @@ let SpatialFilterToolComponent = class SpatialFilterToolComponent {
|
|
|
2054
2028
|
this.thematics) {
|
|
2055
2029
|
for (const thematic of this.thematics) {
|
|
2056
2030
|
if (!thematic.zeroResults) {
|
|
2057
|
-
layerToOpenWks = this.activeLayers.find((layer) => layer.title
|
|
2031
|
+
layerToOpenWks = this.activeLayers.find((layer) => layer.title?.includes(thematic.name + ' ' + this.iterator.toString()));
|
|
2058
2032
|
break;
|
|
2059
2033
|
}
|
|
2060
2034
|
}
|
|
@@ -2062,7 +2036,7 @@ let SpatialFilterToolComponent = class SpatialFilterToolComponent {
|
|
|
2062
2036
|
else {
|
|
2063
2037
|
const title = 'Adresses ' + this.iterator.toString();
|
|
2064
2038
|
this.activeLayers.forEach((layer) => {
|
|
2065
|
-
if (layer.title
|
|
2039
|
+
if (layer.title?.includes(title)) {
|
|
2066
2040
|
layerToOpenWks = layer;
|
|
2067
2041
|
}
|
|
2068
2042
|
});
|
|
@@ -2084,10 +2058,12 @@ let SpatialFilterToolComponent = class SpatialFilterToolComponent {
|
|
|
2084
2058
|
}
|
|
2085
2059
|
selectWorkspaceEntity(record) {
|
|
2086
2060
|
this.workspaceState.store.all().forEach((workspace) => {
|
|
2087
|
-
workspace.entityStore
|
|
2088
|
-
if (
|
|
2061
|
+
workspace.entityStore?.state.updateAll({ selected: false });
|
|
2062
|
+
if (
|
|
2063
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
2064
|
+
workspace.title.includes(record['added'][0]?.meta?.title)) {
|
|
2089
2065
|
this.workspaceState.setActiveWorkspaceById(workspace.id);
|
|
2090
|
-
workspace.entityStore
|
|
2066
|
+
workspace.entityStore?.state.updateMany(record['added'], {
|
|
2091
2067
|
selected: true
|
|
2092
2068
|
});
|
|
2093
2069
|
}
|
|
@@ -2144,7 +2120,7 @@ let SpatialFilterToolComponent = class SpatialFilterToolComponent {
|
|
|
2144
2120
|
thematics = [theme];
|
|
2145
2121
|
}
|
|
2146
2122
|
else {
|
|
2147
|
-
thematics = this.thematics;
|
|
2123
|
+
thematics = this.thematics ?? [];
|
|
2148
2124
|
}
|
|
2149
2125
|
if (this.measureUnit === MeasureLengthUnit.Kilometers &&
|
|
2150
2126
|
type !== SpatialFilterType.Point) {
|
|
@@ -2166,10 +2142,10 @@ let SpatialFilterToolComponent = class SpatialFilterToolComponent {
|
|
|
2166
2142
|
const grouped = this.getFeatureByType(features);
|
|
2167
2143
|
grouped.forEach(({ points, lines }) => {
|
|
2168
2144
|
if (points.length > 0) {
|
|
2169
|
-
this.tryAddPointToMap(points, points[0].meta
|
|
2145
|
+
this.tryAddPointToMap(points, points[0].meta?.id);
|
|
2170
2146
|
}
|
|
2171
2147
|
if (lines.length > 0) {
|
|
2172
|
-
this.tryAddLayerToMap(lines, lines[0].meta
|
|
2148
|
+
this.tryAddLayerToMap(lines, lines[0].meta?.id);
|
|
2173
2149
|
}
|
|
2174
2150
|
});
|
|
2175
2151
|
thematics.forEach((thematic) => {
|
|
@@ -2206,7 +2182,7 @@ let SpatialFilterToolComponent = class SpatialFilterToolComponent {
|
|
|
2206
2182
|
group = { points: [], lines: [] };
|
|
2207
2183
|
grouped.set(typeKey, group);
|
|
2208
2184
|
}
|
|
2209
|
-
if (feature.geometry
|
|
2185
|
+
if (feature.geometry?.type === 'Point') {
|
|
2210
2186
|
feature.properties.longitude = feature.geometry.coordinates[0];
|
|
2211
2187
|
feature.properties.latitude = feature.geometry.coordinates[1];
|
|
2212
2188
|
group.points.push(feature);
|
|
@@ -2233,15 +2209,15 @@ let SpatialFilterToolComponent = class SpatialFilterToolComponent {
|
|
|
2233
2209
|
zoneIndex = parseInt(match[1], 10);
|
|
2234
2210
|
}
|
|
2235
2211
|
}
|
|
2236
|
-
const titleFeature = features[0].meta
|
|
2212
|
+
const titleFeature = features[0].meta?.title;
|
|
2237
2213
|
// Count how many layers with the same meta.title already exist
|
|
2238
2214
|
let i = 1;
|
|
2239
2215
|
for (const layer of this.layers) {
|
|
2240
|
-
if (layer.title?.startsWith(titleFeature)) {
|
|
2216
|
+
if (layer.title?.startsWith(titleFeature ?? '')) {
|
|
2241
2217
|
i++;
|
|
2242
2218
|
}
|
|
2243
2219
|
}
|
|
2244
|
-
const style =
|
|
2220
|
+
const style = markerOlStyle({});
|
|
2245
2221
|
// 🔑 Use zoneIndex to sync layer naming
|
|
2246
2222
|
const filterLabel = this.languageService.translate.instant('igo.geo.spatialFilter.spatialFilter');
|
|
2247
2223
|
const options = {
|
|
@@ -2263,12 +2239,15 @@ let SpatialFilterToolComponent = class SpatialFilterToolComponent {
|
|
|
2263
2239
|
.createAsyncLayer(options)
|
|
2264
2240
|
.pipe(take(1))
|
|
2265
2241
|
.subscribe((layer) => {
|
|
2242
|
+
if (!layer)
|
|
2243
|
+
return;
|
|
2244
|
+
const vectorLayer = layer;
|
|
2266
2245
|
const featuresOl = features.map((feature) => {
|
|
2267
2246
|
return featureToOl(feature, this.map.projection);
|
|
2268
2247
|
});
|
|
2269
|
-
const ol =
|
|
2248
|
+
const ol = vectorLayer.dataSource.ol;
|
|
2270
2249
|
ol.getSource().addFeatures(featuresOl);
|
|
2271
|
-
const previousLayer = this.layers.find((prevLayer) => prevLayer.id ===
|
|
2250
|
+
const previousLayer = this.layers.find((prevLayer) => prevLayer.id === vectorLayer.id);
|
|
2272
2251
|
if (previousLayer) {
|
|
2273
2252
|
this.map.layerController.remove(previousLayer);
|
|
2274
2253
|
this.layers = this.layers.filter((l) => l.id !== layer.id);
|
|
@@ -2292,13 +2271,13 @@ let SpatialFilterToolComponent = class SpatialFilterToolComponent {
|
|
|
2292
2271
|
return;
|
|
2293
2272
|
}
|
|
2294
2273
|
for (const layer of this.layers) {
|
|
2295
|
-
if (layer.title?.startsWith(features[0].meta
|
|
2274
|
+
if (layer.title?.startsWith(features[0].meta?.title ?? '')) {
|
|
2296
2275
|
i++;
|
|
2297
2276
|
}
|
|
2298
2277
|
}
|
|
2299
2278
|
const options = {
|
|
2300
2279
|
isIgoInternalLayer: true,
|
|
2301
|
-
title: (features[0].meta
|
|
2280
|
+
title: ((features[0].meta?.title ?? '') +
|
|
2302
2281
|
' ' +
|
|
2303
2282
|
i +
|
|
2304
2283
|
' - ' +
|
|
@@ -2314,16 +2293,19 @@ let SpatialFilterToolComponent = class SpatialFilterToolComponent {
|
|
|
2314
2293
|
.createAsyncLayer(options)
|
|
2315
2294
|
.pipe(take(1))
|
|
2316
2295
|
.subscribe((layer) => {
|
|
2296
|
+
if (!layer)
|
|
2297
|
+
return;
|
|
2298
|
+
const vectorLayer = layer;
|
|
2317
2299
|
const featuresOl = features.map((feature) => {
|
|
2318
2300
|
return featureToOl(feature, this.map.projection);
|
|
2319
2301
|
});
|
|
2320
|
-
const ol =
|
|
2302
|
+
const ol = vectorLayer.dataSource.ol;
|
|
2321
2303
|
ol.addFeatures(featuresOl);
|
|
2322
|
-
const previousLayer = this.layers.find((prevLayer) => prevLayer.id ===
|
|
2304
|
+
const previousLayer = this.layers.find((prevLayer) => prevLayer.id === vectorLayer.id);
|
|
2323
2305
|
if (previousLayer) {
|
|
2324
2306
|
this.map.layerController.remove(previousLayer);
|
|
2325
2307
|
i = i - 1;
|
|
2326
|
-
layer.title = (features[0].meta
|
|
2308
|
+
layer.title = ((features[0].meta?.title ?? '') +
|
|
2327
2309
|
' ' +
|
|
2328
2310
|
i +
|
|
2329
2311
|
' - ' +
|
|
@@ -2368,7 +2350,7 @@ let SpatialFilterToolComponent = class SpatialFilterToolComponent {
|
|
|
2368
2350
|
});
|
|
2369
2351
|
if (toRemove.length) {
|
|
2370
2352
|
toRemove.forEach((f) => olSource.removeFeature(f));
|
|
2371
|
-
this.zones = this.zones.filter((z) => z.meta
|
|
2353
|
+
this.zones = this.zones.filter((z) => z.meta?.id !== feature.meta?.id);
|
|
2372
2354
|
}
|
|
2373
2355
|
if (olSource.getFeatures().length === 0) {
|
|
2374
2356
|
this.map.layerController.remove(zoneLayer);
|
|
@@ -2391,8 +2373,11 @@ let SpatialFilterToolComponent = class SpatialFilterToolComponent {
|
|
|
2391
2373
|
if (!zoneLayer) {
|
|
2392
2374
|
this.defaultStyle = this.createZoneStyle(features[0]);
|
|
2393
2375
|
this.createZoneLayer(lastZoneIndex + 1, features).subscribe((layer) => {
|
|
2394
|
-
|
|
2395
|
-
|
|
2376
|
+
if (!layer)
|
|
2377
|
+
return;
|
|
2378
|
+
const vectorLayer = layer;
|
|
2379
|
+
this.setActiveZoneLayer(vectorLayer);
|
|
2380
|
+
this.addFeaturesToLayer(vectorLayer, features);
|
|
2396
2381
|
this.cdRef.detectChanges();
|
|
2397
2382
|
});
|
|
2398
2383
|
}
|
|
@@ -2404,11 +2389,11 @@ let SpatialFilterToolComponent = class SpatialFilterToolComponent {
|
|
|
2404
2389
|
if (this.type() !== SpatialFilterType.Predefined)
|
|
2405
2390
|
return false;
|
|
2406
2391
|
return this.layers
|
|
2407
|
-
.filter((l) => l.title
|
|
2392
|
+
.filter((l) => l.title?.includes('Zone'))
|
|
2408
2393
|
.some((layer) => {
|
|
2409
|
-
const olSource = layer.dataSource
|
|
2394
|
+
const olSource = layer.dataSource?.ol;
|
|
2410
2395
|
const layerFeatures = olSource.getFeatures();
|
|
2411
|
-
return this.zones.every((zone) => layerFeatures.some((feature) => feature.getId() === zone.meta
|
|
2396
|
+
return this.zones.every((zone) => layerFeatures.some((feature) => feature.getId() === zone.meta?.id));
|
|
2412
2397
|
});
|
|
2413
2398
|
}
|
|
2414
2399
|
findLastZoneIndex() {
|
|
@@ -2435,7 +2420,7 @@ let SpatialFilterToolComponent = class SpatialFilterToolComponent {
|
|
|
2435
2420
|
? this.buffer /
|
|
2436
2421
|
Math.cos((Math.PI / 180) * coordinates[1]) /
|
|
2437
2422
|
resolution
|
|
2438
|
-
:
|
|
2423
|
+
: 0,
|
|
2439
2424
|
fill: new olstyle.Fill({ color: 'rgba(200, 200, 20, 0.2)' }),
|
|
2440
2425
|
stroke: new olstyle.Stroke({ width: 1, color: 'orange' })
|
|
2441
2426
|
}),
|
|
@@ -2503,6 +2488,8 @@ let SpatialFilterToolComponent = class SpatialFilterToolComponent {
|
|
|
2503
2488
|
}
|
|
2504
2489
|
setPointProps(featureOl, projectionCode, radius) {
|
|
2505
2490
|
const olGeometry = featureOl.getGeometry();
|
|
2491
|
+
if (!olGeometry)
|
|
2492
|
+
return;
|
|
2506
2493
|
const [longitude, latitude] = transform(olGeometry.getFlatCoordinates(), projectionCode, 'EPSG:4326');
|
|
2507
2494
|
const props = {
|
|
2508
2495
|
[RADIUS_NAME]: radius,
|
|
@@ -2512,8 +2499,8 @@ let SpatialFilterToolComponent = class SpatialFilterToolComponent {
|
|
|
2512
2499
|
};
|
|
2513
2500
|
Object.entries(props).forEach(([key, value]) => featureOl.set(key, value, true));
|
|
2514
2501
|
}
|
|
2515
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.
|
|
2516
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.
|
|
2502
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: SpatialFilterToolComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
2503
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.17", 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
2504
|
};
|
|
2518
2505
|
SpatialFilterToolComponent = __decorate([
|
|
2519
2506
|
ToolComponent({
|
|
@@ -2525,19 +2512,19 @@ SpatialFilterToolComponent = __decorate([
|
|
|
2525
2512
|
* Spatial Filter Type
|
|
2526
2513
|
*/
|
|
2527
2514
|
], SpatialFilterToolComponent);
|
|
2528
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
2515
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: SpatialFilterToolComponent, decorators: [{
|
|
2529
2516
|
type: Component,
|
|
2530
2517
|
args: [{ selector: 'igo-spatial-filter-tool', changeDetection: ChangeDetectionStrategy.OnPush, imports: [
|
|
2531
2518
|
SpatialFilterTypeComponent,
|
|
2532
2519
|
SpatialFilterItemComponent,
|
|
2533
2520
|
FeatureDetailsComponent,
|
|
2534
2521
|
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()
|
|
2522
|
+
], 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
2523
|
}], 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
2524
|
|
|
2538
2525
|
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.
|
|
2526
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: TimeFilterToolComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
2527
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.17", 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
2528
|
};
|
|
2542
2529
|
TimeFilterToolComponent = __decorate([
|
|
2543
2530
|
ToolComponent({
|
|
@@ -2546,7 +2533,7 @@ TimeFilterToolComponent = __decorate([
|
|
|
2546
2533
|
icon: 'history'
|
|
2547
2534
|
})
|
|
2548
2535
|
], TimeFilterToolComponent);
|
|
2549
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
2536
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: TimeFilterToolComponent, decorators: [{
|
|
2550
2537
|
type: Component,
|
|
2551
2538
|
args: [{ selector: 'igo-time-filter-tool', imports: [TimeFilterListComponent, TimeFilterListBindingDirective], template: "<igo-time-filter-list igoTimeFilterListBinding />\n" }]
|
|
2552
2539
|
}] });
|
|
@@ -2561,8 +2548,8 @@ class IgoAppFilterModule {
|
|
|
2561
2548
|
providers: []
|
|
2562
2549
|
};
|
|
2563
2550
|
}
|
|
2564
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.
|
|
2565
|
-
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.
|
|
2551
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: IgoAppFilterModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
2552
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.17", ngImport: i0, type: IgoAppFilterModule, imports: [OgcFilterToolComponent,
|
|
2566
2553
|
ActiveOgcFilterToolComponent,
|
|
2567
2554
|
TimeFilterToolComponent,
|
|
2568
2555
|
ActiveTimeFilterToolComponent,
|
|
@@ -2571,13 +2558,13 @@ class IgoAppFilterModule {
|
|
|
2571
2558
|
TimeFilterToolComponent,
|
|
2572
2559
|
ActiveTimeFilterToolComponent,
|
|
2573
2560
|
SpatialFilterToolComponent] });
|
|
2574
|
-
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.
|
|
2561
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: IgoAppFilterModule, imports: [OgcFilterToolComponent,
|
|
2575
2562
|
ActiveOgcFilterToolComponent,
|
|
2576
2563
|
TimeFilterToolComponent,
|
|
2577
2564
|
ActiveTimeFilterToolComponent,
|
|
2578
2565
|
SpatialFilterToolComponent] });
|
|
2579
2566
|
}
|
|
2580
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
2567
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: IgoAppFilterModule, decorators: [{
|
|
2581
2568
|
type: NgModule,
|
|
2582
2569
|
args: [{
|
|
2583
2570
|
imports: [
|
|
@@ -2606,7 +2593,7 @@ let DataIssueReporterToolComponent = class DataIssueReporterToolComponent {
|
|
|
2606
2593
|
/**
|
|
2607
2594
|
* Url to report the data issue. Use the Post protocol to send the form.
|
|
2608
2595
|
*/
|
|
2609
|
-
url = input(
|
|
2596
|
+
url = input(...(ngDevMode ? [undefined, { debugName: "url" }] : /* istanbul ignore next */ []));
|
|
2610
2597
|
/**
|
|
2611
2598
|
* Map to link to the form
|
|
2612
2599
|
* @internal
|
|
@@ -2714,10 +2701,10 @@ let DataIssueReporterToolComponent = class DataIssueReporterToolComponent {
|
|
|
2714
2701
|
});
|
|
2715
2702
|
}
|
|
2716
2703
|
ngOnDestroy() {
|
|
2717
|
-
this.valueChanges
|
|
2704
|
+
this.valueChanges$$?.unsubscribe();
|
|
2718
2705
|
}
|
|
2719
2706
|
clearForm() {
|
|
2720
|
-
this.form$.value
|
|
2707
|
+
this.form$.value?.control.reset();
|
|
2721
2708
|
}
|
|
2722
2709
|
onSubmit(data) {
|
|
2723
2710
|
const submitTitle = 'igo.integration.dataIssueReporterTool.submit.title';
|
|
@@ -2733,8 +2720,8 @@ let DataIssueReporterToolComponent = class DataIssueReporterToolComponent {
|
|
|
2733
2720
|
this.clearForm();
|
|
2734
2721
|
}
|
|
2735
2722
|
}
|
|
2736
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.
|
|
2737
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.
|
|
2723
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: DataIssueReporterToolComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
2724
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.17", 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
2725
|
};
|
|
2739
2726
|
DataIssueReporterToolComponent = __decorate([
|
|
2740
2727
|
ToolComponent({
|
|
@@ -2743,25 +2730,25 @@ DataIssueReporterToolComponent = __decorate([
|
|
|
2743
2730
|
icon: 'feedback'
|
|
2744
2731
|
})
|
|
2745
2732
|
], DataIssueReporterToolComponent);
|
|
2746
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
2733
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: DataIssueReporterToolComponent, decorators: [{
|
|
2747
2734
|
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
|
|
2735
|
+
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
2736
|
}], propDecorators: { url: [{ type: i0.Input, args: [{ isSignal: true, alias: "url", required: false }] }] } });
|
|
2750
2737
|
|
|
2751
2738
|
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.
|
|
2739
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: IgoAppGeometryFormModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
2740
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.17", ngImport: i0, type: IgoAppGeometryFormModule, declarations: [DataIssueReporterToolComponent], imports: [CommonModule,
|
|
2754
2741
|
MatButtonModule,
|
|
2755
2742
|
IgoLanguageModule,
|
|
2756
2743
|
IgoFormModule,
|
|
2757
2744
|
IgoMessageModule], exports: [DataIssueReporterToolComponent] });
|
|
2758
|
-
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.
|
|
2745
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: IgoAppGeometryFormModule, imports: [CommonModule,
|
|
2759
2746
|
MatButtonModule,
|
|
2760
2747
|
IgoLanguageModule,
|
|
2761
2748
|
IgoFormModule,
|
|
2762
2749
|
IgoMessageModule] });
|
|
2763
2750
|
}
|
|
2764
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
2751
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: IgoAppGeometryFormModule, decorators: [{
|
|
2765
2752
|
type: NgModule,
|
|
2766
2753
|
args: [{
|
|
2767
2754
|
imports: [
|
|
@@ -2782,7 +2769,7 @@ let ImportExportToolComponent = class ImportExportToolComponent {
|
|
|
2782
2769
|
importExportState = inject(ImportExportState);
|
|
2783
2770
|
workspaceState = inject(WorkspaceState);
|
|
2784
2771
|
contextState = inject(ContextState);
|
|
2785
|
-
projectionsLimitations = input(
|
|
2772
|
+
projectionsLimitations = input(...(ngDevMode ? [undefined, { debugName: "projectionsLimitations" }] : /* istanbul ignore next */ []));
|
|
2786
2773
|
selectFirstProj = input(false, ...(ngDevMode ? [{ debugName: "selectFirstProj" }] : /* istanbul ignore next */ []));
|
|
2787
2774
|
/**
|
|
2788
2775
|
* Map to measure on
|
|
@@ -2831,8 +2818,8 @@ let ImportExportToolComponent = class ImportExportToolComponent {
|
|
|
2831
2818
|
importExportTypeChange(event) {
|
|
2832
2819
|
this.importExportType.set(event.value);
|
|
2833
2820
|
}
|
|
2834
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.
|
|
2835
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.
|
|
2821
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: ImportExportToolComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
2822
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.17", 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
2823
|
};
|
|
2837
2824
|
ImportExportToolComponent = __decorate([
|
|
2838
2825
|
ToolComponent({
|
|
@@ -2841,7 +2828,7 @@ ImportExportToolComponent = __decorate([
|
|
|
2841
2828
|
icon: 'file_save'
|
|
2842
2829
|
})
|
|
2843
2830
|
], ImportExportToolComponent);
|
|
2844
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
2831
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: ImportExportToolComponent, decorators: [{
|
|
2845
2832
|
type: Component,
|
|
2846
2833
|
args: [{ selector: 'igo-import-export-tool', changeDetection: ChangeDetectionStrategy.OnPush, imports: [
|
|
2847
2834
|
MatTabsModule,
|
|
@@ -2849,7 +2836,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.10", ngImpo
|
|
|
2849
2836
|
ContextImportExportComponent,
|
|
2850
2837
|
AsyncPipe,
|
|
2851
2838
|
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)
|
|
2839
|
+
], 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
2840
|
}], 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
2841
|
|
|
2855
2842
|
/**
|
|
@@ -2862,11 +2849,11 @@ class IgoAppImportExportModule {
|
|
|
2862
2849
|
providers: []
|
|
2863
2850
|
};
|
|
2864
2851
|
}
|
|
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.
|
|
2852
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: IgoAppImportExportModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
2853
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.17", ngImport: i0, type: IgoAppImportExportModule, imports: [ImportExportToolComponent], exports: [ImportExportToolComponent] });
|
|
2854
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: IgoAppImportExportModule, imports: [ImportExportToolComponent] });
|
|
2868
2855
|
}
|
|
2869
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
2856
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: IgoAppImportExportModule, decorators: [{
|
|
2870
2857
|
type: NgModule,
|
|
2871
2858
|
args: [{
|
|
2872
2859
|
imports: [ImportExportToolComponent],
|
|
@@ -2895,10 +2882,13 @@ class AdvancedCoordinatesComponent {
|
|
|
2895
2882
|
inLambert2 = { 32198: true, 3798: true };
|
|
2896
2883
|
mapState$$;
|
|
2897
2884
|
formStatus$$;
|
|
2898
|
-
|
|
2899
|
-
projectionsConstraints;
|
|
2885
|
+
projectionsLimitations = input({}, { ...(ngDevMode ? { debugName: "projectionsLimitations" } : /* istanbul ignore next */ {}), transform: (value) => value ?? {} });
|
|
2900
2886
|
defaultProj;
|
|
2901
|
-
currentZones = {
|
|
2887
|
+
currentZones = {
|
|
2888
|
+
utm: undefined,
|
|
2889
|
+
mtm: undefined
|
|
2890
|
+
};
|
|
2891
|
+
projectionsConstraints;
|
|
2902
2892
|
units = true;
|
|
2903
2893
|
get map() {
|
|
2904
2894
|
return this.mapState.map;
|
|
@@ -2909,12 +2899,6 @@ class AdvancedCoordinatesComponent {
|
|
|
2909
2899
|
set inputProj(value) {
|
|
2910
2900
|
this.form.patchValue({ inputProj: value });
|
|
2911
2901
|
}
|
|
2912
|
-
get projectionsLimitations() {
|
|
2913
|
-
return this._projectionsLimitations || {};
|
|
2914
|
-
}
|
|
2915
|
-
set projectionsLimitations(value) {
|
|
2916
|
-
this._projectionsLimitations = value;
|
|
2917
|
-
}
|
|
2918
2902
|
constructor() {
|
|
2919
2903
|
this.defaultProj = {
|
|
2920
2904
|
translatedValue: this.languageService.translate.instant('igo.geo.importExportForm.projections.wgs84', { code: 'EPSG:4326' }),
|
|
@@ -3068,7 +3052,7 @@ class AdvancedCoordinatesComponent {
|
|
|
3068
3052
|
* Create a list of currents projections
|
|
3069
3053
|
*/
|
|
3070
3054
|
computeProjections() {
|
|
3071
|
-
this.projectionsConstraints = computeProjectionsConstraints(this.projectionsLimitations);
|
|
3055
|
+
this.projectionsConstraints = computeProjectionsConstraints(this.projectionsLimitations());
|
|
3072
3056
|
const projections = [];
|
|
3073
3057
|
if (!this.currentCenterDefaultProj) {
|
|
3074
3058
|
this.currentCenterDefaultProj = this.map.viewController.getCenter(this.defaultProj.code);
|
|
@@ -3153,7 +3137,7 @@ class AdvancedCoordinatesComponent {
|
|
|
3153
3137
|
* @param projections Array of the InputProjections
|
|
3154
3138
|
*/
|
|
3155
3139
|
pushMtm(projections) {
|
|
3156
|
-
if (this.projectionsConstraints
|
|
3140
|
+
if (this.projectionsConstraints?.mtm) {
|
|
3157
3141
|
const zone = zoneMtm(this.currentCenterDefaultProj[0]);
|
|
3158
3142
|
const code = zone < 10 ? `EPSG:3218${zone}` : `EPSG:321${80 + zone}`;
|
|
3159
3143
|
projections.splice(3, 0, {
|
|
@@ -3230,13 +3214,15 @@ class AdvancedCoordinatesComponent {
|
|
|
3230
3214
|
lambertProjections.forEach((projection) => {
|
|
3231
3215
|
let modifiedProj = this.projections$.value;
|
|
3232
3216
|
const extent = projection.extent;
|
|
3233
|
-
const
|
|
3217
|
+
const codeMatch = projection.code.match(/\d+/);
|
|
3218
|
+
const code = codeMatch?.[0];
|
|
3234
3219
|
const currentExtentWGS = olProj.transformExtent(extent, projection.code, this.defaultProj.code);
|
|
3235
3220
|
if (coordinates[0] < currentExtentWGS[0] ||
|
|
3236
3221
|
coordinates[0] > currentExtentWGS[2] ||
|
|
3237
3222
|
coordinates[1] < currentExtentWGS[1] ||
|
|
3238
3223
|
coordinates[1] > currentExtentWGS[3]) {
|
|
3239
|
-
|
|
3224
|
+
if (code)
|
|
3225
|
+
this.inLambert2[code] = false;
|
|
3240
3226
|
if (this.inputProj.alias === projection.alias) {
|
|
3241
3227
|
this.inputProj = this.projections$.value[0];
|
|
3242
3228
|
}
|
|
@@ -3244,17 +3230,17 @@ class AdvancedCoordinatesComponent {
|
|
|
3244
3230
|
this.projections$.next(modifiedProj);
|
|
3245
3231
|
}
|
|
3246
3232
|
else {
|
|
3247
|
-
if (!this.inLambert2[code]) {
|
|
3233
|
+
if (code && !this.inLambert2[code]) {
|
|
3248
3234
|
this.projections$.next(modifiedProj.concat(projection));
|
|
3249
3235
|
this.inLambert2[code] = true;
|
|
3250
3236
|
}
|
|
3251
3237
|
}
|
|
3252
3238
|
});
|
|
3253
3239
|
}
|
|
3254
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.
|
|
3255
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.
|
|
3240
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: AdvancedCoordinatesComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
3241
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.17", 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
3242
|
}
|
|
3257
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
3243
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: AdvancedCoordinatesComponent, decorators: [{
|
|
3258
3244
|
type: Component,
|
|
3259
3245
|
args: [{ selector: 'igo-advanced-coordinates', imports: [
|
|
3260
3246
|
MatFormFieldModule,
|
|
@@ -3270,9 +3256,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.10", ngImpo
|
|
|
3270
3256
|
DecimalPipe,
|
|
3271
3257
|
IgoLanguageModule
|
|
3272
3258
|
], 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
|
-
}] } });
|
|
3259
|
+
}], ctorParameters: () => [], propDecorators: { projectionsLimitations: [{ type: i0.Input, args: [{ isSignal: true, alias: "projectionsLimitations", required: false }] }] } });
|
|
3276
3260
|
|
|
3277
3261
|
class AdvancedSwipeComponent {
|
|
3278
3262
|
mapState = inject(MapState);
|
|
@@ -3338,22 +3322,22 @@ class AdvancedSwipeComponent {
|
|
|
3338
3322
|
applyNewLayers(e) {
|
|
3339
3323
|
this.startSwipe(false); // l'approche KISS
|
|
3340
3324
|
this.startSwipe(true);
|
|
3341
|
-
if (e.
|
|
3342
|
-
e.
|
|
3325
|
+
if (e.selected) {
|
|
3326
|
+
e.select(false);
|
|
3343
3327
|
}
|
|
3344
3328
|
const allLayers = this.userControlledLayerList?.length;
|
|
3345
3329
|
const selectedLayers = this.form.controls.layers.value.length;
|
|
3346
3330
|
if (selectedLayers === allLayers) {
|
|
3347
|
-
e.
|
|
3331
|
+
e.select(true);
|
|
3348
3332
|
}
|
|
3349
3333
|
}
|
|
3350
3334
|
/**
|
|
3351
3335
|
* Select all list of layers and restart a tool
|
|
3352
3336
|
*/
|
|
3353
3337
|
selectAll(e) {
|
|
3354
|
-
if (e.
|
|
3338
|
+
if (e.selected) {
|
|
3355
3339
|
this.form.controls.layers.setValue(this.userControlledLayerList);
|
|
3356
|
-
e.
|
|
3340
|
+
e.select(true);
|
|
3357
3341
|
}
|
|
3358
3342
|
else {
|
|
3359
3343
|
this.form.controls.layers.setValue([]);
|
|
@@ -3379,10 +3363,10 @@ class AdvancedSwipeComponent {
|
|
|
3379
3363
|
contextEmit() {
|
|
3380
3364
|
this.toolState.toolbox.activateTool('contextManager');
|
|
3381
3365
|
}
|
|
3382
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.
|
|
3383
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.
|
|
3366
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: AdvancedSwipeComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
3367
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.17", 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
3368
|
}
|
|
3385
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
3369
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: AdvancedSwipeComponent, decorators: [{
|
|
3386
3370
|
type: Component,
|
|
3387
3371
|
args: [{ selector: 'igo-advanced-swipe', imports: [
|
|
3388
3372
|
FormsModule,
|
|
@@ -3395,7 +3379,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.10", ngImpo
|
|
|
3395
3379
|
MatListModule,
|
|
3396
3380
|
MatIconModule,
|
|
3397
3381
|
IgoLanguageModule
|
|
3398
|
-
], template: "@if (userControlledLayerList
|
|
3382
|
+
], 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
3383
|
}], ctorParameters: () => [] });
|
|
3400
3384
|
|
|
3401
3385
|
let AdvancedMapToolComponent = class AdvancedMapToolComponent {
|
|
@@ -3418,8 +3402,8 @@ let AdvancedMapToolComponent = class AdvancedMapToolComponent {
|
|
|
3418
3402
|
}
|
|
3419
3403
|
this.mapState.map.geolocationController.followPosition = value;
|
|
3420
3404
|
}
|
|
3421
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.
|
|
3422
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.
|
|
3405
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: AdvancedMapToolComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
3406
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.17", 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
3407
|
};
|
|
3424
3408
|
AdvancedMapToolComponent = __decorate([
|
|
3425
3409
|
ToolComponent({
|
|
@@ -3431,7 +3415,7 @@ AdvancedMapToolComponent = __decorate([
|
|
|
3431
3415
|
* Tool to handle the advanced map tools
|
|
3432
3416
|
*/
|
|
3433
3417
|
], AdvancedMapToolComponent);
|
|
3434
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
3418
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: AdvancedMapToolComponent, decorators: [{
|
|
3435
3419
|
type: Component,
|
|
3436
3420
|
args: [{ selector: 'igo-advanced-map-tool', imports: [
|
|
3437
3421
|
AdvancedSwipeComponent,
|
|
@@ -3445,54 +3429,46 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.10", ngImpo
|
|
|
3445
3429
|
|
|
3446
3430
|
class WorkspaceButtonComponent {
|
|
3447
3431
|
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;
|
|
3432
|
+
destroyRef = inject(DestroyRef);
|
|
3433
|
+
hasWorkspace = signal(false, ...(ngDevMode ? [{ debugName: "hasWorkspace" }] : /* istanbul ignore next */ []));
|
|
3434
|
+
layer = input(...(ngDevMode ? [undefined, { debugName: "layer" }] : /* istanbul ignore next */ []));
|
|
3459
3435
|
color = input('primary', ...(ngDevMode ? [{ debugName: "color" }] : /* istanbul ignore next */ []));
|
|
3460
3436
|
ngOnInit() {
|
|
3461
|
-
|
|
3437
|
+
combineLatest([
|
|
3462
3438
|
this.workspaceState.workspaceEnabled$,
|
|
3463
|
-
this.layer
|
|
3464
|
-
])
|
|
3465
|
-
|
|
3466
|
-
|
|
3467
|
-
|
|
3439
|
+
toObservable(this.layer)
|
|
3440
|
+
])
|
|
3441
|
+
.pipe(takeUntilDestroyed(this.destroyRef))
|
|
3442
|
+
.subscribe(([enabled, layer]) => {
|
|
3443
|
+
const withWorkspace = enabled &&
|
|
3444
|
+
!!layer &&
|
|
3445
|
+
isLayerItem(layer) &&
|
|
3446
|
+
(layer.options.workspace?.enabled ?? false);
|
|
3447
|
+
this.hasWorkspace.set(withWorkspace);
|
|
3448
|
+
});
|
|
3468
3449
|
}
|
|
3469
3450
|
activateWorkspace() {
|
|
3451
|
+
const layer = this.layer();
|
|
3470
3452
|
if (this.workspaceState.workspace$.value &&
|
|
3471
|
-
|
|
3472
|
-
|
|
3453
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
3454
|
+
this.workspaceState.workspace$.value.layer.id === layer?.id &&
|
|
3473
3455
|
this.workspaceState.expanded()) {
|
|
3474
3456
|
this.workspaceState.expanded.set(false);
|
|
3475
3457
|
}
|
|
3476
3458
|
else {
|
|
3477
3459
|
this.workspaceState.expanded.set(true);
|
|
3478
|
-
|
|
3460
|
+
if (layer?.id) {
|
|
3461
|
+
this.workspaceState.setActiveWorkspaceById(layer.id);
|
|
3462
|
+
}
|
|
3479
3463
|
}
|
|
3480
3464
|
}
|
|
3481
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.
|
|
3482
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.
|
|
3465
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: WorkspaceButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
3466
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.17", 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
3467
|
}
|
|
3484
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
3468
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: WorkspaceButtonComponent, decorators: [{
|
|
3485
3469
|
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 }] }] } });
|
|
3470
|
+
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" }]
|
|
3471
|
+
}], propDecorators: { layer: [{ type: i0.Input, args: [{ isSignal: true, alias: "layer", required: false }] }], color: [{ type: i0.Input, args: [{ isSignal: true, alias: "color", required: false }] }] } });
|
|
3496
3472
|
|
|
3497
3473
|
let MapDetailsToolComponent = class MapDetailsToolComponent {
|
|
3498
3474
|
mapState = inject(MapState);
|
|
@@ -3502,7 +3478,7 @@ let MapDetailsToolComponent = class MapDetailsToolComponent {
|
|
|
3502
3478
|
configService = inject(ConfigService);
|
|
3503
3479
|
mediaService = inject(MediaService);
|
|
3504
3480
|
cdr = inject(ChangeDetectorRef);
|
|
3505
|
-
isDesktop;
|
|
3481
|
+
isDesktop = false;
|
|
3506
3482
|
delayedShowEmptyMapContent = false;
|
|
3507
3483
|
toggleLegendOnVisibilityChange = input(false, ...(ngDevMode ? [{ debugName: "toggleLegendOnVisibilityChange" }] : /* istanbul ignore next */ []));
|
|
3508
3484
|
expandLegendOfVisibleLayers = input(false, ...(ngDevMode ? [{ debugName: "expandLegendOfVisibleLayers" }] : /* istanbul ignore next */ []));
|
|
@@ -3601,8 +3577,8 @@ let MapDetailsToolComponent = class MapDetailsToolComponent {
|
|
|
3601
3577
|
this.cdr.detectChanges();
|
|
3602
3578
|
});
|
|
3603
3579
|
}
|
|
3604
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.
|
|
3605
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.
|
|
3580
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: MapDetailsToolComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
3581
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.17", 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
3582
|
};
|
|
3607
3583
|
MapDetailsToolComponent = __decorate([
|
|
3608
3584
|
ToolComponent({
|
|
@@ -3612,7 +3588,7 @@ MapDetailsToolComponent = __decorate([
|
|
|
3612
3588
|
}),
|
|
3613
3589
|
__metadata("design:paramtypes", [])
|
|
3614
3590
|
], MapDetailsToolComponent);
|
|
3615
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
3591
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: MapDetailsToolComponent, decorators: [{
|
|
3616
3592
|
type: Component,
|
|
3617
3593
|
args: [{ selector: 'igo-map-details-tool', imports: [
|
|
3618
3594
|
LayerViewerComponent,
|
|
@@ -3626,7 +3602,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.10", ngImpo
|
|
|
3626
3602
|
MatIconModule,
|
|
3627
3603
|
AsyncPipe,
|
|
3628
3604
|
IgoLanguageModule
|
|
3629
|
-
], template: "@if ((layers$ | async)
|
|
3605
|
+
], 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
3606
|
}], 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
3607
|
|
|
3632
3608
|
let MapLegendToolComponent = class MapLegendToolComponent {
|
|
@@ -3717,10 +3693,8 @@ let MapLegendToolComponent = class MapLegendToolComponent {
|
|
|
3717
3693
|
return true;
|
|
3718
3694
|
}
|
|
3719
3695
|
ngOnDestroy() {
|
|
3720
|
-
this.resolution
|
|
3721
|
-
|
|
3722
|
-
this.visibleOrInRangeLayers$$.unsubscribe();
|
|
3723
|
-
}
|
|
3696
|
+
this.resolution$$?.unsubscribe();
|
|
3697
|
+
this.visibleOrInRangeLayers$$?.unsubscribe();
|
|
3724
3698
|
}
|
|
3725
3699
|
searchEmit() {
|
|
3726
3700
|
this.toolState.toolbox.activateTool('searchResults');
|
|
@@ -3731,8 +3705,8 @@ let MapLegendToolComponent = class MapLegendToolComponent {
|
|
|
3731
3705
|
contextEmit() {
|
|
3732
3706
|
this.toolState.toolbox.activateTool('contextManager');
|
|
3733
3707
|
}
|
|
3734
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.
|
|
3735
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.
|
|
3708
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: MapLegendToolComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
3709
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.17", 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
3710
|
};
|
|
3737
3711
|
MapLegendToolComponent = __decorate([
|
|
3738
3712
|
ToolComponent({
|
|
@@ -3741,7 +3715,7 @@ MapLegendToolComponent = __decorate([
|
|
|
3741
3715
|
icon: 'format_list_bulleted'
|
|
3742
3716
|
})
|
|
3743
3717
|
], MapLegendToolComponent);
|
|
3744
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
3718
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: MapLegendToolComponent, decorators: [{
|
|
3745
3719
|
type: Component,
|
|
3746
3720
|
args: [{ selector: 'igo-map-legend-tool', imports: [
|
|
3747
3721
|
LayerLegendListComponent,
|
|
@@ -3750,7 +3724,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.10", ngImpo
|
|
|
3750
3724
|
MatIconModule,
|
|
3751
3725
|
AsyncPipe,
|
|
3752
3726
|
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
|
|
3727
|
+
], 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
3728
|
}], 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
3729
|
|
|
3756
3730
|
/**
|
|
@@ -3836,6 +3810,8 @@ class MapProximityState {
|
|
|
3836
3810
|
const closestOlFeature = layerSource.getClosestFeatureToCoordinate(coord);
|
|
3837
3811
|
if (closestOlFeature) {
|
|
3838
3812
|
const closestOlGeom = closestOlFeature.getGeometry();
|
|
3813
|
+
if (!closestOlGeom)
|
|
3814
|
+
return;
|
|
3839
3815
|
const closestFeature = featureFromOl(closestOlFeature, this.map.projection);
|
|
3840
3816
|
const geometryClosestPoint = closestOlGeom.getClosestPoint(coord);
|
|
3841
3817
|
const linebetween = new olLineString([
|
|
@@ -3843,7 +3819,8 @@ class MapProximityState {
|
|
|
3843
3819
|
geometryClosestPoint
|
|
3844
3820
|
]);
|
|
3845
3821
|
const lineLength = measureOlGeometryLength(linebetween, 'EPSG:3857');
|
|
3846
|
-
if (lineLength
|
|
3822
|
+
if (lineLength !== undefined &&
|
|
3823
|
+
lineLength <= proximityRadiusValue) {
|
|
3847
3824
|
const title = this.getQueryTitle(closestFeature, layerToMonitor);
|
|
3848
3825
|
// todo handle imported layers without querytitle? prompt title or detect first column?
|
|
3849
3826
|
this.addFeatureToStore(layerToMonitor, coord, closestFeature, title, lineLength);
|
|
@@ -3897,8 +3874,8 @@ class MapProximityState {
|
|
|
3897
3874
|
getLabelMatch(feature, labelMatch) {
|
|
3898
3875
|
let label = labelMatch;
|
|
3899
3876
|
const labelToGet = Array.from(labelMatch.matchAll(/\$\{([^\{\}]+)\}/g));
|
|
3900
|
-
labelToGet.forEach((
|
|
3901
|
-
label = label.replace(
|
|
3877
|
+
labelToGet.forEach((entry) => {
|
|
3878
|
+
label = label.replace(entry[0], feature.properties[entry[1]]);
|
|
3902
3879
|
});
|
|
3903
3880
|
// Nothing done? check feature's attribute
|
|
3904
3881
|
if (labelToGet.length === 0 && label === labelMatch) {
|
|
@@ -3906,10 +3883,10 @@ class MapProximityState {
|
|
|
3906
3883
|
}
|
|
3907
3884
|
return label;
|
|
3908
3885
|
}
|
|
3909
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.
|
|
3910
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.
|
|
3886
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: MapProximityState, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
3887
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: MapProximityState, providedIn: 'root' });
|
|
3911
3888
|
}
|
|
3912
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
3889
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: MapProximityState, decorators: [{
|
|
3913
3890
|
type: Injectable,
|
|
3914
3891
|
args: [{
|
|
3915
3892
|
providedIn: 'root'
|
|
@@ -3933,8 +3910,8 @@ let MapProximityToolComponent = class MapProximityToolComponent {
|
|
|
3933
3910
|
get map() {
|
|
3934
3911
|
return this.mapState.map;
|
|
3935
3912
|
}
|
|
3936
|
-
userDefinedMapCenter;
|
|
3937
|
-
userDefinedFollowPosition;
|
|
3913
|
+
userDefinedMapCenter = false;
|
|
3914
|
+
userDefinedFollowPosition = false;
|
|
3938
3915
|
/**
|
|
3939
3916
|
* Table template
|
|
3940
3917
|
* @internal
|
|
@@ -3951,14 +3928,16 @@ let MapProximityToolComponent = class MapProximityToolComponent {
|
|
|
3951
3928
|
name: 'element',
|
|
3952
3929
|
title: this.languageService.translate.instant('igo.integration.map-proximity-tool.feature'),
|
|
3953
3930
|
valueAccessor: (localFeature) => {
|
|
3954
|
-
|
|
3931
|
+
const feature = localFeature;
|
|
3932
|
+
return feature.properties.element;
|
|
3955
3933
|
}
|
|
3956
3934
|
},
|
|
3957
3935
|
{
|
|
3958
3936
|
name: 'distance',
|
|
3959
3937
|
title: this.languageService.translate.instant('igo.integration.map-proximity-tool.distance'),
|
|
3960
3938
|
valueAccessor: (localFeature) => {
|
|
3961
|
-
|
|
3939
|
+
const feature = localFeature;
|
|
3940
|
+
return `${NumberUtils.roundToNDecimal(feature.properties.distance, 1)}m`;
|
|
3962
3941
|
}
|
|
3963
3942
|
}
|
|
3964
3943
|
]
|
|
@@ -3993,13 +3972,13 @@ let MapProximityToolComponent = class MapProximityToolComponent {
|
|
|
3993
3972
|
* Copy the coordinates to a clipboard
|
|
3994
3973
|
*/
|
|
3995
3974
|
copyTextToClipboard() {
|
|
3996
|
-
const successful = this.clipboard.copy(this.mapProximityState.currentPositionCoordinate$?.value
|
|
3975
|
+
const successful = this.clipboard.copy(this.mapProximityState.currentPositionCoordinate$?.value?.toString() ?? '');
|
|
3997
3976
|
if (successful) {
|
|
3998
3977
|
this.messageService.success('igo.integration.map-proximity-tool.copyMsg', 'igo.integration.map-proximity-tool.copyTitle');
|
|
3999
3978
|
}
|
|
4000
3979
|
}
|
|
4001
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.
|
|
4002
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.
|
|
3980
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: MapProximityToolComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
3981
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.17", 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
3982
|
};
|
|
4004
3983
|
MapProximityToolComponent = __decorate([
|
|
4005
3984
|
ToolComponent({
|
|
@@ -4013,7 +3992,7 @@ MapProximityToolComponent = __decorate([
|
|
|
4013
3992
|
,
|
|
4014
3993
|
__metadata("design:paramtypes", [])
|
|
4015
3994
|
], MapProximityToolComponent);
|
|
4016
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
3995
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: MapProximityToolComponent, decorators: [{
|
|
4017
3996
|
type: Component,
|
|
4018
3997
|
args: [{ selector: 'igo-map-proximity-tool', imports: [
|
|
4019
3998
|
EntityTableComponent,
|
|
@@ -4025,7 +4004,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.10", ngImpo
|
|
|
4025
4004
|
FormsModule,
|
|
4026
4005
|
AsyncPipe,
|
|
4027
4006
|
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 (
|
|
4007
|
+
], 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
4008
|
}], ctorParameters: () => [], propDecorators: { table: [{ type: i0.ViewChild, args: ['table', { isSignal: true }] }] } });
|
|
4030
4009
|
|
|
4031
4010
|
/**
|
|
@@ -4105,8 +4084,8 @@ let MapToolComponent = class MapToolComponent {
|
|
|
4105
4084
|
this.cdr.detectChanges();
|
|
4106
4085
|
});
|
|
4107
4086
|
}
|
|
4108
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.
|
|
4109
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.2.
|
|
4087
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: MapToolComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
4088
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.2.17", 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
4089
|
};
|
|
4111
4090
|
MapToolComponent = __decorate([
|
|
4112
4091
|
ToolComponent({
|
|
@@ -4116,7 +4095,7 @@ MapToolComponent = __decorate([
|
|
|
4116
4095
|
}),
|
|
4117
4096
|
__metadata("design:paramtypes", [])
|
|
4118
4097
|
], MapToolComponent);
|
|
4119
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
4098
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: MapToolComponent, decorators: [{
|
|
4120
4099
|
type: Component,
|
|
4121
4100
|
args: [{ selector: 'igo-map-tool', changeDetection: ChangeDetectionStrategy.OnPush, imports: [
|
|
4122
4101
|
MatTabsModule,
|
|
@@ -4144,40 +4123,21 @@ let MapToolsComponent = class MapToolsComponent {
|
|
|
4144
4123
|
configService = inject(ConfigService);
|
|
4145
4124
|
mediaService = inject(MediaService);
|
|
4146
4125
|
cdr = inject(ChangeDetectorRef);
|
|
4147
|
-
isDesktop;
|
|
4126
|
+
isDesktop = false;
|
|
4148
4127
|
layers$ = new BehaviorSubject([]);
|
|
4149
4128
|
showAllLegendsValue$ = new BehaviorSubject(false);
|
|
4150
4129
|
resolution$$;
|
|
4151
4130
|
visibleOrInRangeLayers$$;
|
|
4152
|
-
delayedShowEmptyMapContent = false;
|
|
4153
4131
|
allowShowAllLegends = input(false, ...(ngDevMode ? [{ debugName: "allowShowAllLegends" }] : /* istanbul ignore next */ []));
|
|
4154
4132
|
showAllLegendsValue = input(false, ...(ngDevMode ? [{ debugName: "showAllLegendsValue" }] : /* istanbul ignore next */ []));
|
|
4155
4133
|
toggleLegendOnVisibilityChange = input(false, ...(ngDevMode ? [{ debugName: "toggleLegendOnVisibilityChange" }] : /* istanbul ignore next */ []));
|
|
4156
4134
|
expandLegendOfVisibleLayers = input(false, ...(ngDevMode ? [{ debugName: "expandLegendOfVisibleLayers" }] : /* istanbul ignore next */ []));
|
|
4157
4135
|
updateLegendOnResolutionChange = input(false, ...(ngDevMode ? [{ debugName: "updateLegendOnResolutionChange" }] : /* istanbul ignore next */ []));
|
|
4158
|
-
selectedTabAtOpening = input(
|
|
4136
|
+
selectedTabAtOpening = input(...(ngDevMode ? [undefined, { debugName: "selectedTabAtOpening" }] : /* istanbul ignore next */ []));
|
|
4159
4137
|
ogcButton = input(true, ...(ngDevMode ? [{ debugName: "ogcButton" }] : /* istanbul ignore next */ []));
|
|
4160
4138
|
timeButton = input(true, ...(ngDevMode ? [{ debugName: "timeButton" }] : /* istanbul ignore next */ []));
|
|
4161
4139
|
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 = {};
|
|
4140
|
+
layerListControls = input({}, { ...(ngDevMode ? { debugName: "layerListControls" } : /* istanbul ignore next */ {}), transform: this.transformLayerListControls });
|
|
4181
4141
|
get map() {
|
|
4182
4142
|
return this.mapState.map;
|
|
4183
4143
|
}
|
|
@@ -4189,13 +4149,13 @@ let MapToolsComponent = class MapToolsComponent {
|
|
|
4189
4149
|
return this.layers$.pipe(map((layers) => layers.filter((layer) => layer.visible)));
|
|
4190
4150
|
}
|
|
4191
4151
|
get excludeBaseLayers() {
|
|
4192
|
-
return this.layerListControls.excludeBaseLayers || false;
|
|
4152
|
+
return this.layerListControls().excludeBaseLayers || false;
|
|
4193
4153
|
}
|
|
4194
4154
|
get layerFilterAndSortOptions() {
|
|
4195
4155
|
const filterSortOptions = Object.assign({
|
|
4196
4156
|
showToolbar: LayerListControlsEnum.default
|
|
4197
|
-
}, this.layerListControls);
|
|
4198
|
-
switch (this.layerListControls.showToolbar) {
|
|
4157
|
+
}, this.layerListControls());
|
|
4158
|
+
switch (this.layerListControls().showToolbar) {
|
|
4199
4159
|
case LayerListControlsEnum.always:
|
|
4200
4160
|
filterSortOptions.showToolbar = LayerListControlsEnum.always;
|
|
4201
4161
|
break;
|
|
@@ -4258,14 +4218,10 @@ let MapToolsComponent = class MapToolsComponent {
|
|
|
4258
4218
|
else {
|
|
4259
4219
|
this.showAllLegendsValue$.next(false);
|
|
4260
4220
|
}
|
|
4261
|
-
// prevent message to be shown too quickly. Waiting for layers
|
|
4262
|
-
setTimeout(() => (this.delayedShowEmptyMapContent = true), 250);
|
|
4263
4221
|
}
|
|
4264
4222
|
ngOnDestroy() {
|
|
4265
|
-
this.resolution
|
|
4266
|
-
|
|
4267
|
-
this.visibleOrInRangeLayers$$.unsubscribe();
|
|
4268
|
-
}
|
|
4223
|
+
this.resolution$$?.unsubscribe();
|
|
4224
|
+
this.visibleOrInRangeLayers$$?.unsubscribe();
|
|
4269
4225
|
}
|
|
4270
4226
|
onShowAllLegends(event) {
|
|
4271
4227
|
this.mapState.showAllLegendsValue = event;
|
|
@@ -4290,7 +4246,9 @@ let MapToolsComponent = class MapToolsComponent {
|
|
|
4290
4246
|
this.layers$.next(this.map.layerController.all);
|
|
4291
4247
|
}
|
|
4292
4248
|
onLayerListChange(appliedFilters) {
|
|
4293
|
-
|
|
4249
|
+
if (appliedFilters.keyword !== undefined) {
|
|
4250
|
+
this.layerListToolState.setKeyword(appliedFilters.keyword);
|
|
4251
|
+
}
|
|
4294
4252
|
this.layerListToolState.setSortAlpha(appliedFilters.sortAlpha);
|
|
4295
4253
|
this.layerListToolState.setOnlyVisible(appliedFilters.onlyVisible);
|
|
4296
4254
|
}
|
|
@@ -4338,10 +4296,16 @@ let MapToolsComponent = class MapToolsComponent {
|
|
|
4338
4296
|
this.toolState.toolbox.activateTool('contextManager');
|
|
4339
4297
|
}
|
|
4340
4298
|
isTimeFilterButton(layer) {
|
|
4299
|
+
if (!layer.dataSource)
|
|
4300
|
+
return false;
|
|
4301
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
4341
4302
|
const options = layer.dataSource.options;
|
|
4342
4303
|
return this.timeButton() && options.timeFilterable && options.timeFilter;
|
|
4343
4304
|
}
|
|
4344
4305
|
isOGCFilterButton(layer) {
|
|
4306
|
+
if (!layer.dataSource)
|
|
4307
|
+
return false;
|
|
4308
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
4345
4309
|
const options = layer.dataSource.options;
|
|
4346
4310
|
return (this.ogcButton() &&
|
|
4347
4311
|
options.ogcFilters &&
|
|
@@ -4364,10 +4328,8 @@ let MapToolsComponent = class MapToolsComponent {
|
|
|
4364
4328
|
return false;
|
|
4365
4329
|
}
|
|
4366
4330
|
isStyleEditButton(layer) {
|
|
4367
|
-
if (layer instanceof VectorLayer) {
|
|
4368
|
-
|
|
4369
|
-
return true;
|
|
4370
|
-
}
|
|
4331
|
+
if (layer instanceof VectorLayer || layer instanceof VectorTileLayer) {
|
|
4332
|
+
return layer.visible && isOlFlatStyleLike(layer.style);
|
|
4371
4333
|
}
|
|
4372
4334
|
return false;
|
|
4373
4335
|
}
|
|
@@ -4377,8 +4339,26 @@ let MapToolsComponent = class MapToolsComponent {
|
|
|
4377
4339
|
this.cdr.detectChanges();
|
|
4378
4340
|
});
|
|
4379
4341
|
}
|
|
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 });
|
|
4342
|
+
transformLayerListControls(value) {
|
|
4343
|
+
if (!value) {
|
|
4344
|
+
return {};
|
|
4345
|
+
}
|
|
4346
|
+
const stateOptions = this.layerListToolState.getLayerListControls();
|
|
4347
|
+
const stateKeyword = stateOptions.keyword;
|
|
4348
|
+
const stateOnlyVisible = stateOptions.onlyVisible;
|
|
4349
|
+
const stateSortAlpha = stateOptions.sortAlpha;
|
|
4350
|
+
value.keyword = stateKeyword !== '' ? stateKeyword : value.keyword;
|
|
4351
|
+
value.onlyVisible =
|
|
4352
|
+
stateOnlyVisible !== undefined ? stateOnlyVisible : value.onlyVisible;
|
|
4353
|
+
value.sortAlpha =
|
|
4354
|
+
stateSortAlpha !== undefined ? stateSortAlpha : value.sortAlpha;
|
|
4355
|
+
value.onlyVisible =
|
|
4356
|
+
value.onlyVisible === undefined ? false : value.onlyVisible;
|
|
4357
|
+
value.sortAlpha = value.sortAlpha === undefined ? false : value.sortAlpha;
|
|
4358
|
+
return value;
|
|
4359
|
+
}
|
|
4360
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: MapToolsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
4361
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.17", 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
4362
|
};
|
|
4383
4363
|
MapToolsComponent = __decorate([
|
|
4384
4364
|
ToolComponent({
|
|
@@ -4388,7 +4368,7 @@ MapToolsComponent = __decorate([
|
|
|
4388
4368
|
}),
|
|
4389
4369
|
__metadata("design:paramtypes", [])
|
|
4390
4370
|
], MapToolsComponent);
|
|
4391
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
4371
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: MapToolsComponent, decorators: [{
|
|
4392
4372
|
type: Component,
|
|
4393
4373
|
args: [{ selector: 'igo-map-tools', changeDetection: ChangeDetectionStrategy.OnPush, imports: [
|
|
4394
4374
|
MatTabsModule,
|
|
@@ -4407,10 +4387,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.10", ngImpo
|
|
|
4407
4387
|
MatIconModule,
|
|
4408
4388
|
AsyncPipe,
|
|
4409
4389
|
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 }] }] } });
|
|
4390
|
+
], 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"] }]
|
|
4391
|
+
}], 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
4392
|
|
|
4415
4393
|
/**
|
|
4416
4394
|
* @deprecated import the ImportExportToolComponent directly or INTEGRATION_MAP_DIRECTIVES for the set
|
|
@@ -4422,8 +4400,8 @@ class IgoAppMapModule {
|
|
|
4422
4400
|
providers: []
|
|
4423
4401
|
};
|
|
4424
4402
|
}
|
|
4425
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.
|
|
4426
|
-
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.
|
|
4403
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: IgoAppMapModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
4404
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.17", ngImport: i0, type: IgoAppMapModule, imports: [AdvancedMapToolComponent,
|
|
4427
4405
|
MapProximityToolComponent,
|
|
4428
4406
|
MapToolComponent,
|
|
4429
4407
|
MapToolsComponent,
|
|
@@ -4434,14 +4412,14 @@ class IgoAppMapModule {
|
|
|
4434
4412
|
MapToolsComponent,
|
|
4435
4413
|
MapDetailsToolComponent,
|
|
4436
4414
|
MapLegendToolComponent] });
|
|
4437
|
-
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.
|
|
4415
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: IgoAppMapModule, imports: [AdvancedMapToolComponent,
|
|
4438
4416
|
MapProximityToolComponent,
|
|
4439
4417
|
MapToolComponent,
|
|
4440
4418
|
MapToolsComponent,
|
|
4441
4419
|
MapDetailsToolComponent,
|
|
4442
4420
|
MapLegendToolComponent] });
|
|
4443
4421
|
}
|
|
4444
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
4422
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: IgoAppMapModule, decorators: [{
|
|
4445
4423
|
type: NgModule,
|
|
4446
4424
|
args: [{
|
|
4447
4425
|
imports: [
|
|
@@ -4488,10 +4466,10 @@ class MeasureState {
|
|
|
4488
4466
|
}
|
|
4489
4467
|
});
|
|
4490
4468
|
}
|
|
4491
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.
|
|
4492
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.
|
|
4469
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: MeasureState, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
4470
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: MeasureState, providedIn: 'root' });
|
|
4493
4471
|
}
|
|
4494
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
4472
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: MeasureState, decorators: [{
|
|
4495
4473
|
type: Injectable,
|
|
4496
4474
|
args: [{
|
|
4497
4475
|
providedIn: 'root'
|
|
@@ -4518,8 +4496,8 @@ let MeasurerToolComponent = class MeasurerToolComponent {
|
|
|
4518
4496
|
get map() {
|
|
4519
4497
|
return this.mapState.map;
|
|
4520
4498
|
}
|
|
4521
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.
|
|
4522
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.
|
|
4499
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: MeasurerToolComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
4500
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.17", 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
4501
|
};
|
|
4524
4502
|
MeasurerToolComponent = __decorate([
|
|
4525
4503
|
ToolComponent({
|
|
@@ -4528,7 +4506,7 @@ MeasurerToolComponent = __decorate([
|
|
|
4528
4506
|
icon: 'square_foot'
|
|
4529
4507
|
})
|
|
4530
4508
|
], MeasurerToolComponent);
|
|
4531
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
4509
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: MeasurerToolComponent, decorators: [{
|
|
4532
4510
|
type: Component,
|
|
4533
4511
|
args: [{ selector: 'igo-measurer-tool', changeDetection: ChangeDetectionStrategy.OnPush, imports: [MeasurerComponent], template: "<igo-measurer [store]=\"store\" [map]=\"map\" />\n" }]
|
|
4534
4512
|
}] });
|
|
@@ -4537,11 +4515,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.10", ngImpo
|
|
|
4537
4515
|
* @deprecated import the MeasurerToolComponent directly
|
|
4538
4516
|
*/
|
|
4539
4517
|
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.
|
|
4518
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: IgoAppMeasurerToolModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
4519
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.17", ngImport: i0, type: IgoAppMeasurerToolModule, imports: [MeasurerToolComponent], exports: [MeasurerToolComponent] });
|
|
4520
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: IgoAppMeasurerToolModule, imports: [MeasurerToolComponent] });
|
|
4543
4521
|
}
|
|
4544
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
4522
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: IgoAppMeasurerToolModule, decorators: [{
|
|
4545
4523
|
type: NgModule,
|
|
4546
4524
|
args: [{
|
|
4547
4525
|
imports: [MeasurerToolComponent],
|
|
@@ -4553,11 +4531,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.10", ngImpo
|
|
|
4553
4531
|
* @deprecated import the MeasurerToolComponent directly
|
|
4554
4532
|
*/
|
|
4555
4533
|
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.
|
|
4534
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: IgoAppMeasureModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
4535
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.17", ngImport: i0, type: IgoAppMeasureModule, exports: [IgoAppMeasurerToolModule] });
|
|
4536
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: IgoAppMeasureModule, imports: [IgoAppMeasurerToolModule] });
|
|
4559
4537
|
}
|
|
4560
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
4538
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: IgoAppMeasureModule, decorators: [{
|
|
4561
4539
|
type: NgModule,
|
|
4562
4540
|
args: [{
|
|
4563
4541
|
exports: [IgoAppMeasurerToolModule]
|
|
@@ -4569,8 +4547,8 @@ let PrintToolComponent = class PrintToolComponent {
|
|
|
4569
4547
|
get map() {
|
|
4570
4548
|
return this.mapState.map;
|
|
4571
4549
|
}
|
|
4572
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.
|
|
4573
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.
|
|
4550
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: PrintToolComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
4551
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.17", 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
4552
|
};
|
|
4575
4553
|
PrintToolComponent = __decorate([
|
|
4576
4554
|
ToolComponent({
|
|
@@ -4579,7 +4557,7 @@ PrintToolComponent = __decorate([
|
|
|
4579
4557
|
icon: 'print'
|
|
4580
4558
|
})
|
|
4581
4559
|
], PrintToolComponent);
|
|
4582
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
4560
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: PrintToolComponent, decorators: [{
|
|
4583
4561
|
type: Component,
|
|
4584
4562
|
args: [{ selector: 'igo-print-tool', imports: [PrintComponent], template: "<igo-print [map]=\"map\" />\n" }]
|
|
4585
4563
|
}] });
|
|
@@ -4594,11 +4572,11 @@ class IgoAppPrintModule {
|
|
|
4594
4572
|
providers: []
|
|
4595
4573
|
};
|
|
4596
4574
|
}
|
|
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.
|
|
4575
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: IgoAppPrintModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
4576
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.17", ngImport: i0, type: IgoAppPrintModule, imports: [PrintToolComponent], exports: [PrintToolComponent] });
|
|
4577
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: IgoAppPrintModule, imports: [PrintToolComponent] });
|
|
4600
4578
|
}
|
|
4601
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
4579
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: IgoAppPrintModule, decorators: [{
|
|
4602
4580
|
type: NgModule,
|
|
4603
4581
|
args: [{
|
|
4604
4582
|
imports: [PrintToolComponent],
|
|
@@ -4625,9 +4603,6 @@ class SearchState {
|
|
|
4625
4603
|
configService = inject(ConfigService);
|
|
4626
4604
|
mapState = inject(MapState);
|
|
4627
4605
|
searchLayerStores = [];
|
|
4628
|
-
searchOverlayStyle = {};
|
|
4629
|
-
searchOverlayStyleSelection = {};
|
|
4630
|
-
searchOverlayStyleFocus = {};
|
|
4631
4606
|
focusedOrResolution$$;
|
|
4632
4607
|
selectedOrResolution$$;
|
|
4633
4608
|
/**
|
|
@@ -4650,6 +4625,7 @@ class SearchState {
|
|
|
4650
4625
|
* Store that holds the search results
|
|
4651
4626
|
*/
|
|
4652
4627
|
store = new EntityStore([]);
|
|
4628
|
+
searchOverlayStyle = {};
|
|
4653
4629
|
/**
|
|
4654
4630
|
* Search types currently enabled in the search source service
|
|
4655
4631
|
*/
|
|
@@ -4659,12 +4635,7 @@ class SearchState {
|
|
|
4659
4635
|
.map((source) => source.constructor.type);
|
|
4660
4636
|
}
|
|
4661
4637
|
constructor() {
|
|
4662
|
-
|
|
4663
|
-
if (searchOverlayStyle) {
|
|
4664
|
-
this.searchOverlayStyle = searchOverlayStyle.base;
|
|
4665
|
-
this.searchOverlayStyleSelection = searchOverlayStyle.selection;
|
|
4666
|
-
this.searchOverlayStyleFocus = searchOverlayStyle.focus;
|
|
4667
|
-
}
|
|
4638
|
+
this.searchOverlayStyle = this.configService.getConfig('searchOverlayStyle', {});
|
|
4668
4639
|
const searchResultsGeometryEnabled = this.storageService.get('searchResultsGeometryEnabled');
|
|
4669
4640
|
if (searchResultsGeometryEnabled) {
|
|
4670
4641
|
this.searchResultsGeometryEnabled$.next(searchResultsGeometryEnabled);
|
|
@@ -4676,7 +4647,7 @@ class SearchState {
|
|
|
4676
4647
|
if (wksSource) {
|
|
4677
4648
|
this.workspaceState.store.entities$.subscribe((e) => {
|
|
4678
4649
|
const searchableWks = e.filter((fw) => fw instanceof FeatureWorkspace &&
|
|
4679
|
-
fw.layer.options.workspace
|
|
4650
|
+
fw.layer.options.workspace?.searchIndexEnabled);
|
|
4680
4651
|
this.searchSourceService.setWorkspaces(wksSource, searchableWks);
|
|
4681
4652
|
});
|
|
4682
4653
|
}
|
|
@@ -4731,7 +4702,9 @@ class SearchState {
|
|
|
4731
4702
|
this.searchTerm$.next(searchTerm);
|
|
4732
4703
|
}
|
|
4733
4704
|
setSearchType(searchType) {
|
|
4734
|
-
|
|
4705
|
+
if (searchType) {
|
|
4706
|
+
this.searchSourceService.enableSourcesByType(searchType);
|
|
4707
|
+
}
|
|
4735
4708
|
this.searchType$.next(searchType);
|
|
4736
4709
|
}
|
|
4737
4710
|
setSearchSettingsChange() {
|
|
@@ -4744,10 +4717,10 @@ class SearchState {
|
|
|
4744
4717
|
this.storageService.set('searchResultsGeometryEnabled', value);
|
|
4745
4718
|
this.searchResultsGeometryEnabled$.next(value);
|
|
4746
4719
|
}
|
|
4747
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.
|
|
4748
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.
|
|
4720
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: SearchState, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
4721
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: SearchState });
|
|
4749
4722
|
}
|
|
4750
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
4723
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: SearchState, decorators: [{
|
|
4751
4724
|
type: Injectable
|
|
4752
4725
|
}], ctorParameters: () => [] });
|
|
4753
4726
|
|
|
@@ -4793,10 +4766,10 @@ class SearchBarBindingDirective {
|
|
|
4793
4766
|
this.searchState.setSearchType(searchType);
|
|
4794
4767
|
}
|
|
4795
4768
|
}
|
|
4796
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.
|
|
4797
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.
|
|
4769
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: SearchBarBindingDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
4770
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.17", type: SearchBarBindingDirective, isStandalone: true, selector: "[igoSearchBarBinding]", host: { listeners: { "searchTermChange": "onSearchTermChange($any($event))", "searchTypeChange": "onSearchTypeChange($any($event))" } }, ngImport: i0 });
|
|
4798
4771
|
}
|
|
4799
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
4772
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: SearchBarBindingDirective, decorators: [{
|
|
4800
4773
|
type: Directive,
|
|
4801
4774
|
args: [{
|
|
4802
4775
|
selector: '[igoSearchBarBinding]',
|
|
@@ -4824,19 +4797,17 @@ let SearchResultsToolComponent = class SearchResultsToolComponent {
|
|
|
4824
4797
|
* Determine the top panel default state
|
|
4825
4798
|
*/
|
|
4826
4799
|
topPanelStateDefault = input('expanded', ...(ngDevMode ? [{ debugName: "topPanelStateDefault" }] : /* istanbul ignore next */ []));
|
|
4827
|
-
|
|
4800
|
+
searchResultsOverlayAll$$;
|
|
4828
4801
|
saveSearchResultInLayer = false;
|
|
4829
|
-
|
|
4802
|
+
searchResultsOverlayFocused;
|
|
4803
|
+
searchResultsOverlaySelected;
|
|
4804
|
+
searchResultsOverlayAll;
|
|
4830
4805
|
getRoute$$;
|
|
4831
|
-
shownResultsGeometries = [];
|
|
4832
|
-
shownResultsEmphasisGeometries = [];
|
|
4833
|
-
focusedResult$ = new BehaviorSubject(undefined);
|
|
4834
4806
|
isSelectedResultOutOfView$ = new BehaviorSubject(false);
|
|
4835
4807
|
isSelectedResultOutOfView$$;
|
|
4836
|
-
abstractFocusedResult;
|
|
4837
|
-
abstractSelectedResult;
|
|
4838
4808
|
destroyRef = inject(DestroyRef);
|
|
4839
4809
|
debouncedEmpty = signal(true, ...(ngDevMode ? [{ debugName: "debouncedEmpty" }] : /* istanbul ignore next */ []));
|
|
4810
|
+
searchResult = viewChild(SearchResultsComponent, ...(ngDevMode ? [{ debugName: "searchResult" }] : /* istanbul ignore next */ []));
|
|
4840
4811
|
/**
|
|
4841
4812
|
* Store holding the search results
|
|
4842
4813
|
* @internal
|
|
@@ -4857,15 +4828,9 @@ let SearchResultsToolComponent = class SearchResultsToolComponent {
|
|
|
4857
4828
|
feature = signal(undefined, ...(ngDevMode ? [{ debugName: "feature" }] : /* istanbul ignore next */ []));
|
|
4858
4829
|
term = '';
|
|
4859
4830
|
searchTerm$$;
|
|
4860
|
-
|
|
4861
|
-
|
|
4862
|
-
|
|
4863
|
-
set topPanelState(value) {
|
|
4864
|
-
this.topPanelState$.next(value);
|
|
4865
|
-
}
|
|
4866
|
-
get topPanelState() {
|
|
4867
|
-
return this.topPanelState$.value;
|
|
4868
|
-
}
|
|
4831
|
+
topPanelState = input(...(ngDevMode ? [undefined, { debugName: "topPanelState" }] : /* istanbul ignore next */ []));
|
|
4832
|
+
topPanelStateValue = linkedSignal({ ...(ngDevMode ? { debugName: "topPanelStateValue" } : /* istanbul ignore next */ {}), source: this.topPanelState,
|
|
4833
|
+
computation: (v, previous) => v ?? previous?.value ?? 'initial' });
|
|
4869
4834
|
get termSplitter() {
|
|
4870
4835
|
return this.searchState.searchTermSplitter$.value;
|
|
4871
4836
|
}
|
|
@@ -4875,10 +4840,29 @@ let SearchResultsToolComponent = class SearchResultsToolComponent {
|
|
|
4875
4840
|
}
|
|
4876
4841
|
constructor() {
|
|
4877
4842
|
const configService = inject(ConfigService);
|
|
4878
|
-
this.hasFeatureEmphasisOnSelection = configService.getConfig('hasFeatureEmphasisOnSelection');
|
|
4879
4843
|
this.saveSearchResultInLayer = configService.getConfig('saveSearchResultInLayer');
|
|
4844
|
+
this.handleShowAllResults();
|
|
4845
|
+
effect(() => {
|
|
4846
|
+
this.topPanelStateValue(); // re-run on state change
|
|
4847
|
+
const igoList = this.computeElementRef()[0];
|
|
4848
|
+
const selected = this.computeElementRef()[1];
|
|
4849
|
+
if (selected) {
|
|
4850
|
+
setTimeout(() => {
|
|
4851
|
+
// To be sure the flexible component has been displayed yet
|
|
4852
|
+
if (!this.isScrolledIntoView(igoList, selected)) {
|
|
4853
|
+
this.adjustTopPanel(igoList, selected);
|
|
4854
|
+
}
|
|
4855
|
+
}, FlexibleComponent.transitionTime + 50);
|
|
4856
|
+
}
|
|
4857
|
+
});
|
|
4880
4858
|
}
|
|
4881
4859
|
ngOnInit() {
|
|
4860
|
+
this.searchResultsOverlayFocused = new Overlay(this.mapState.map, this.searchState.searchOverlayStyle?.focus ??
|
|
4861
|
+
styleVariant(this.mapState.map.viewController, 'focus'));
|
|
4862
|
+
this.searchResultsOverlaySelected = new Overlay(this.mapState.map, this.searchState.searchOverlayStyle?.selection ??
|
|
4863
|
+
styleVariant(this.mapState.map.viewController, 'selection'));
|
|
4864
|
+
this.searchResultsOverlayAll = new Overlay(this.mapState.map, this.searchState.searchOverlayStyle?.base ??
|
|
4865
|
+
styleVariant(this.mapState.map.viewController));
|
|
4882
4866
|
this.searchTerm$$ = this.searchState.searchTerm$.subscribe((searchTerm) => {
|
|
4883
4867
|
if (searchTerm !== undefined &&
|
|
4884
4868
|
searchTerm !== null &&
|
|
@@ -4892,70 +4876,13 @@ let SearchResultsToolComponent = class SearchResultsToolComponent {
|
|
|
4892
4876
|
});
|
|
4893
4877
|
for (const res of this.store.stateView.all$().value) {
|
|
4894
4878
|
if (this.store.state.get(res.entity).selected === true) {
|
|
4895
|
-
this.
|
|
4879
|
+
this.topPanelStateValue.set('expanded');
|
|
4896
4880
|
}
|
|
4897
4881
|
}
|
|
4898
4882
|
this.searchState.searchSettingsChange$.subscribe(() => {
|
|
4899
|
-
this.
|
|
4900
|
-
});
|
|
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
|
-
}
|
|
4883
|
+
this.searchResult()?.resetPage();
|
|
4912
4884
|
});
|
|
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
4885
|
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
4886
|
this.store.stateView.empty$
|
|
4960
4887
|
.pipe(debounceTime(1500), takeUntilDestroyed(this.destroyRef))
|
|
4961
4888
|
.subscribe((empty) => this.debouncedEmpty.set(empty));
|
|
@@ -4967,6 +4894,25 @@ let SearchResultsToolComponent = class SearchResultsToolComponent {
|
|
|
4967
4894
|
this.feature.set(feature);
|
|
4968
4895
|
});
|
|
4969
4896
|
}
|
|
4897
|
+
handleShowAllResults() {
|
|
4898
|
+
this.searchResultsOverlayAll$$ = combineLatest([
|
|
4899
|
+
this.store.entities$,
|
|
4900
|
+
this.searchState.searchResultsGeometryEnabled$
|
|
4901
|
+
]).subscribe((bunch) => {
|
|
4902
|
+
const searchResults = bunch[0];
|
|
4903
|
+
const enabled = bunch[1];
|
|
4904
|
+
const features = searchResults
|
|
4905
|
+
.filter((sr) => sr.meta.dataType === FEATURE)
|
|
4906
|
+
.map((sr) => sr.data);
|
|
4907
|
+
if (enabled && features.length) {
|
|
4908
|
+
this.searchResultsOverlayAll.setFeatures(features, FeatureMotion.None);
|
|
4909
|
+
}
|
|
4910
|
+
else {
|
|
4911
|
+
this.searchResultsOverlayFocused?.clear();
|
|
4912
|
+
this.searchResultsOverlayAll?.clear();
|
|
4913
|
+
}
|
|
4914
|
+
});
|
|
4915
|
+
}
|
|
4970
4916
|
monitorResultOutOfView() {
|
|
4971
4917
|
this.isSelectedResultOutOfView$$ = combineLatest([
|
|
4972
4918
|
this.map.viewController.state$,
|
|
@@ -4980,84 +4926,19 @@ let SearchResultsToolComponent = class SearchResultsToolComponent {
|
|
|
4980
4926
|
return;
|
|
4981
4927
|
}
|
|
4982
4928
|
if (selectedResult.data.geometry) {
|
|
4983
|
-
const selectedOlFeature = featureToOl(selectedResult.data, this.map.
|
|
4929
|
+
const selectedOlFeature = featureToOl(selectedResult.data, this.map.projectionCode);
|
|
4984
4930
|
const selectedOlFeatureExtent = computeOlFeaturesExtent([selectedOlFeature], this.map.viewController.getOlProjection());
|
|
4985
|
-
this.isSelectedResultOutOfView$.next(featuresAreOutOfView(this.map.getExtent(), selectedOlFeatureExtent));
|
|
4931
|
+
this.isSelectedResultOutOfView$.next(featuresAreOutOfView(this.map.viewController.getExtent(), selectedOlFeatureExtent));
|
|
4986
4932
|
}
|
|
4987
4933
|
});
|
|
4988
4934
|
}
|
|
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
4935
|
ngOnDestroy() {
|
|
5054
|
-
this.topPanelState$$.unsubscribe();
|
|
5055
4936
|
this.searchTerm$$.unsubscribe();
|
|
5056
4937
|
if (this.isSelectedResultOutOfView$$) {
|
|
5057
4938
|
this.isSelectedResultOutOfView$$.unsubscribe();
|
|
5058
4939
|
}
|
|
5059
|
-
if (this.
|
|
5060
|
-
this.
|
|
4940
|
+
if (this.searchResultsOverlayAll$$) {
|
|
4941
|
+
this.searchResultsOverlayAll$$.unsubscribe();
|
|
5061
4942
|
}
|
|
5062
4943
|
if (this.getRoute$$) {
|
|
5063
4944
|
this.getRoute$$.unsubscribe();
|
|
@@ -5069,31 +4950,17 @@ let SearchResultsToolComponent = class SearchResultsToolComponent {
|
|
|
5069
4950
|
* @param result A search result that could be a feature
|
|
5070
4951
|
*/
|
|
5071
4952
|
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);
|
|
4953
|
+
if (this.store.state.get(result).selected) {
|
|
4954
|
+
this.searchResultsOverlayFocused.clear();
|
|
4955
|
+
}
|
|
4956
|
+
else {
|
|
4957
|
+
this.addResultToOverlay(result, this.searchResultsOverlayFocused, this.searchState.featureMotion.focus);
|
|
5081
4958
|
}
|
|
5082
4959
|
}
|
|
5083
4960
|
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;
|
|
4961
|
+
if (!this.store.state.get(result).selected) {
|
|
4962
|
+
this.searchResultsOverlayFocused.clear();
|
|
5095
4963
|
}
|
|
5096
|
-
this.map.searchResultsOverlay.removeFeature(result.data);
|
|
5097
4964
|
}
|
|
5098
4965
|
/**
|
|
5099
4966
|
* Try to add a feature to the map when it's being selected
|
|
@@ -5101,18 +4968,19 @@ let SearchResultsToolComponent = class SearchResultsToolComponent {
|
|
|
5101
4968
|
* @param result A search result that could be a feature or some layer options
|
|
5102
4969
|
*/
|
|
5103
4970
|
onResultSelect(result) {
|
|
5104
|
-
this.
|
|
5105
|
-
this.
|
|
4971
|
+
this.searchResultsOverlayFocused.clear();
|
|
4972
|
+
this.searchResultsOverlaySelected.clear();
|
|
4973
|
+
this.addResultToOverlay(result, this.searchResultsOverlaySelected, this.searchState.featureMotion.selected);
|
|
5106
4974
|
this.searchState.setSelectedResult(result);
|
|
5107
|
-
if (this.
|
|
4975
|
+
if (this.topPanelStateValue() === 'initial') {
|
|
5108
4976
|
if (this.topPanelStateDefault() !== 'collapsed') {
|
|
5109
|
-
this.
|
|
4977
|
+
this.topPanelStateValue.set('expanded');
|
|
5110
4978
|
}
|
|
5111
4979
|
else {
|
|
5112
|
-
this.
|
|
4980
|
+
this.topPanelStateValue.set('collapsed');
|
|
5113
4981
|
}
|
|
5114
4982
|
}
|
|
5115
|
-
if (this.
|
|
4983
|
+
if (this.topPanelStateValue() === 'expanded') {
|
|
5116
4984
|
const igoList = this.computeElementRef()[0];
|
|
5117
4985
|
const selected = this.computeElementRef()[1];
|
|
5118
4986
|
if (!this.isScrolledIntoView(igoList, selected)) {
|
|
@@ -5174,10 +5042,10 @@ let SearchResultsToolComponent = class SearchResultsToolComponent {
|
|
|
5174
5042
|
}
|
|
5175
5043
|
adjustTopPanel(elemSource, elem) {
|
|
5176
5044
|
if (!this.isScrolledIntoView(elemSource, elem)) {
|
|
5045
|
+
const firstChild = elem.children[0];
|
|
5046
|
+
const childHeight = firstChild instanceof HTMLElement ? firstChild.offsetHeight : 0;
|
|
5177
5047
|
elemSource.scrollTop =
|
|
5178
|
-
elem.offsetTop +
|
|
5179
|
-
elem.children[0].offsetHeight -
|
|
5180
|
-
elemSource.clientHeight;
|
|
5048
|
+
elem.offsetTop + childHeight - elemSource.clientHeight;
|
|
5181
5049
|
}
|
|
5182
5050
|
}
|
|
5183
5051
|
toggleTopPanel(event) {
|
|
@@ -5185,11 +5053,11 @@ let SearchResultsToolComponent = class SearchResultsToolComponent {
|
|
|
5185
5053
|
return;
|
|
5186
5054
|
}
|
|
5187
5055
|
else {
|
|
5188
|
-
if (this.
|
|
5189
|
-
this.
|
|
5056
|
+
if (this.topPanelStateValue() === 'expanded') {
|
|
5057
|
+
this.topPanelStateValue.set('collapsed');
|
|
5190
5058
|
}
|
|
5191
5059
|
else {
|
|
5192
|
-
this.
|
|
5060
|
+
this.topPanelStateValue.set('expanded');
|
|
5193
5061
|
}
|
|
5194
5062
|
}
|
|
5195
5063
|
}
|
|
@@ -5208,17 +5076,19 @@ let SearchResultsToolComponent = class SearchResultsToolComponent {
|
|
|
5208
5076
|
* @param result A search result that could be a feature
|
|
5209
5077
|
* @param motion A FeatureMotion to trigger when adding the searchresult to the map search overlay
|
|
5210
5078
|
*/
|
|
5211
|
-
|
|
5079
|
+
addResultToOverlay(result, overlay, motion = FeatureMotion.Default) {
|
|
5212
5080
|
if (result.meta.dataType !== FEATURE) {
|
|
5213
5081
|
return undefined;
|
|
5214
5082
|
}
|
|
5215
5083
|
const feature = result.data;
|
|
5216
|
-
//
|
|
5084
|
+
// Sometimes features have no geometry. It happens with some GetFeatureInfo
|
|
5217
5085
|
if (!feature.geometry) {
|
|
5218
5086
|
return;
|
|
5219
5087
|
}
|
|
5220
|
-
|
|
5221
|
-
|
|
5088
|
+
if (!feature.meta) {
|
|
5089
|
+
return;
|
|
5090
|
+
}
|
|
5091
|
+
overlay.setFeatures([feature], motion);
|
|
5222
5092
|
}
|
|
5223
5093
|
isScrolledIntoView(elemSource, elem) {
|
|
5224
5094
|
const padding = 6;
|
|
@@ -5261,9 +5131,11 @@ let SearchResultsToolComponent = class SearchResultsToolComponent {
|
|
|
5261
5131
|
];
|
|
5262
5132
|
}
|
|
5263
5133
|
}
|
|
5264
|
-
stop
|
|
5265
|
-
|
|
5266
|
-
|
|
5134
|
+
if (stop) {
|
|
5135
|
+
stop.text = this.featureTitle ?? '';
|
|
5136
|
+
stop.coordinates = coord;
|
|
5137
|
+
this.directionState.stopsStore.update(stop);
|
|
5138
|
+
}
|
|
5267
5139
|
if (this.map.geolocationController.position$.value) {
|
|
5268
5140
|
const currentPos = this.map.geolocationController.position$.value;
|
|
5269
5141
|
const stop = this.directionState.stopsStore
|
|
@@ -5271,16 +5143,18 @@ let SearchResultsToolComponent = class SearchResultsToolComponent {
|
|
|
5271
5143
|
.find((e) => e.position === 0);
|
|
5272
5144
|
const currentCoord = olProj.transform(currentPos.position, currentPos.projection, 'EPSG:4326');
|
|
5273
5145
|
const coord = roundCoordTo([currentCoord[0], currentCoord[1]], 6);
|
|
5274
|
-
|
|
5275
|
-
|
|
5276
|
-
|
|
5146
|
+
if (stop) {
|
|
5147
|
+
stop.text = coord.join(',');
|
|
5148
|
+
stop.coordinates = coord;
|
|
5149
|
+
this.directionState.stopsStore.update(stop);
|
|
5150
|
+
}
|
|
5277
5151
|
}
|
|
5278
5152
|
}
|
|
5279
5153
|
});
|
|
5280
5154
|
}, 250);
|
|
5281
5155
|
}
|
|
5282
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.
|
|
5283
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.
|
|
5156
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: SearchResultsToolComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
5157
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.17", 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
5158
|
};
|
|
5285
5159
|
SearchResultsToolComponent = __decorate([
|
|
5286
5160
|
ToolComponent({
|
|
@@ -5290,7 +5164,7 @@ SearchResultsToolComponent = __decorate([
|
|
|
5290
5164
|
}),
|
|
5291
5165
|
__metadata("design:paramtypes", [])
|
|
5292
5166
|
], SearchResultsToolComponent);
|
|
5293
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
5167
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: SearchResultsToolComponent, decorators: [{
|
|
5294
5168
|
type: Component,
|
|
5295
5169
|
args: [{ selector: 'igo-search-results-tool', changeDetection: ChangeDetectionStrategy.OnPush, imports: [
|
|
5296
5170
|
FlexibleComponent,
|
|
@@ -5305,20 +5179,18 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.10", ngImpo
|
|
|
5305
5179
|
AsyncPipe,
|
|
5306
5180
|
IgoLanguageModule,
|
|
5307
5181
|
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
|
-
}] } });
|
|
5182
|
+
], 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"] }]
|
|
5183
|
+
}], 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
5184
|
|
|
5313
5185
|
/**
|
|
5314
5186
|
* @deprecated import the components/directive directly or INTEGRATION_SEARCH_DIRECTIVES for the set
|
|
5315
5187
|
*/
|
|
5316
5188
|
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.
|
|
5189
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: IgoAppSearchModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
5190
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.17", ngImport: i0, type: IgoAppSearchModule, imports: [SearchBarBindingDirective, SearchResultsToolComponent], exports: [SearchBarBindingDirective, SearchResultsToolComponent] });
|
|
5191
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: IgoAppSearchModule, imports: [SearchResultsToolComponent] });
|
|
5320
5192
|
}
|
|
5321
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
5193
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: IgoAppSearchModule, decorators: [{
|
|
5322
5194
|
type: NgModule,
|
|
5323
5195
|
args: [{
|
|
5324
5196
|
imports: [SearchBarBindingDirective, SearchResultsToolComponent],
|
|
@@ -5330,11 +5202,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.10", ngImpo
|
|
|
5330
5202
|
* @deprecated import the WorkspaceButtonComponent directly
|
|
5331
5203
|
*/
|
|
5332
5204
|
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.
|
|
5205
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: IgoAppWorkspaceModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
5206
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.17", ngImport: i0, type: IgoAppWorkspaceModule, imports: [WorkspaceButtonComponent], exports: [WorkspaceButtonComponent] });
|
|
5207
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: IgoAppWorkspaceModule, imports: [WorkspaceButtonComponent] });
|
|
5336
5208
|
}
|
|
5337
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
5209
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: IgoAppWorkspaceModule, decorators: [{
|
|
5338
5210
|
type: NgModule,
|
|
5339
5211
|
args: [{
|
|
5340
5212
|
imports: [WorkspaceButtonComponent],
|
|
@@ -5346,8 +5218,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.10", ngImpo
|
|
|
5346
5218
|
* @deprecated import the components directly
|
|
5347
5219
|
*/
|
|
5348
5220
|
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.
|
|
5221
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: IgoIntegrationModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
5222
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.17", ngImport: i0, type: IgoIntegrationModule, exports: [IgoAppContextModule,
|
|
5351
5223
|
IgoAppCatalogModule,
|
|
5352
5224
|
IgoAppDirectionsModule,
|
|
5353
5225
|
IgoAppDrawModule,
|
|
@@ -5360,7 +5232,7 @@ class IgoIntegrationModule {
|
|
|
5360
5232
|
IgoAppFilterModule,
|
|
5361
5233
|
IgoAppAboutModule,
|
|
5362
5234
|
IgoAppGeometryFormModule] });
|
|
5363
|
-
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.
|
|
5235
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: IgoIntegrationModule, imports: [IgoAppContextModule,
|
|
5364
5236
|
IgoAppCatalogModule,
|
|
5365
5237
|
IgoAppDirectionsModule,
|
|
5366
5238
|
IgoAppDrawModule,
|
|
@@ -5374,7 +5246,7 @@ class IgoIntegrationModule {
|
|
|
5374
5246
|
IgoAppAboutModule,
|
|
5375
5247
|
IgoAppGeometryFormModule] });
|
|
5376
5248
|
}
|
|
5377
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
5249
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: IgoIntegrationModule, decorators: [{
|
|
5378
5250
|
type: NgModule,
|
|
5379
5251
|
args: [{
|
|
5380
5252
|
imports: [],
|
|
@@ -5428,7 +5300,8 @@ class AnalyticsListenerService {
|
|
|
5428
5300
|
listenContext() {
|
|
5429
5301
|
this.contextState.context$.subscribe((context) => {
|
|
5430
5302
|
if (context) {
|
|
5431
|
-
|
|
5303
|
+
const eventName = context.id?.toString() ?? context.uri;
|
|
5304
|
+
this.analyticsService.trackEvent('context', 'activateContext', eventName);
|
|
5432
5305
|
}
|
|
5433
5306
|
});
|
|
5434
5307
|
}
|
|
@@ -5498,14 +5371,15 @@ class AnalyticsListenerService {
|
|
|
5498
5371
|
break;
|
|
5499
5372
|
}
|
|
5500
5373
|
}
|
|
5501
|
-
|
|
5374
|
+
const eventName = wmsParams || wmtsParams || restParams;
|
|
5375
|
+
this.analyticsService.trackLayer('layer', 'addLayer', eventName);
|
|
5502
5376
|
});
|
|
5503
5377
|
});
|
|
5504
5378
|
}
|
|
5505
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.
|
|
5506
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.
|
|
5379
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: AnalyticsListenerService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
5380
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: AnalyticsListenerService, providedIn: 'root' });
|
|
5507
5381
|
}
|
|
5508
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
5382
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: AnalyticsListenerService, decorators: [{
|
|
5509
5383
|
type: Injectable,
|
|
5510
5384
|
args: [{
|
|
5511
5385
|
providedIn: 'root'
|
|
@@ -5533,22 +5407,15 @@ class QueryState {
|
|
|
5533
5407
|
*/
|
|
5534
5408
|
store = new EntityStore([]);
|
|
5535
5409
|
queryOverlayStyle = {};
|
|
5536
|
-
queryOverlayStyleSelection = {};
|
|
5537
|
-
queryOverlayStyleFocus = {};
|
|
5538
5410
|
constructor() {
|
|
5539
|
-
|
|
5540
|
-
if (queryOverlayStyle) {
|
|
5541
|
-
this.queryOverlayStyle = queryOverlayStyle.base;
|
|
5542
|
-
this.queryOverlayStyleSelection = queryOverlayStyle.selection;
|
|
5543
|
-
this.queryOverlayStyleFocus = queryOverlayStyle.focus;
|
|
5544
|
-
}
|
|
5411
|
+
this.queryOverlayStyle = this.configService.getConfig('queryOverlayStyle', {});
|
|
5545
5412
|
const geoPropertiesStrategy = new GeoPropertiesStrategy({ map: this.mapState.map }, this.propertyTypeDetectorService, this.capabilitiesService);
|
|
5546
5413
|
this.store.addStrategy(geoPropertiesStrategy, true);
|
|
5547
5414
|
}
|
|
5548
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.
|
|
5549
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.
|
|
5415
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: QueryState, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
5416
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: QueryState, providedIn: 'root' });
|
|
5550
5417
|
}
|
|
5551
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
5418
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: QueryState, decorators: [{
|
|
5552
5419
|
type: Injectable,
|
|
5553
5420
|
args: [{
|
|
5554
5421
|
providedIn: 'root'
|
|
@@ -5559,11 +5426,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.10", ngImpo
|
|
|
5559
5426
|
* @deprecated import the SearchResultsToolComponent directly
|
|
5560
5427
|
*/
|
|
5561
5428
|
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.
|
|
5429
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: IgoAppSearchResultsToolModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
5430
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.17", ngImport: i0, type: IgoAppSearchResultsToolModule, imports: [SearchResultsToolComponent], exports: [SearchResultsToolComponent] });
|
|
5431
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: IgoAppSearchResultsToolModule, imports: [SearchResultsToolComponent] });
|
|
5565
5432
|
}
|
|
5566
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
5433
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: IgoAppSearchResultsToolModule, decorators: [{
|
|
5567
5434
|
type: NgModule,
|
|
5568
5435
|
args: [{
|
|
5569
5436
|
imports: [SearchResultsToolComponent],
|
|
@@ -5575,11 +5442,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.10", ngImpo
|
|
|
5575
5442
|
* @deprecated import the SearchBarBindingDirective directly
|
|
5576
5443
|
*/
|
|
5577
5444
|
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.
|
|
5445
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: IgoAppSearchBarModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
5446
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.17", ngImport: i0, type: IgoAppSearchBarModule, imports: [SearchBarBindingDirective], exports: [SearchBarBindingDirective] });
|
|
5447
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: IgoAppSearchBarModule });
|
|
5581
5448
|
}
|
|
5582
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
5449
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: IgoAppSearchBarModule, decorators: [{
|
|
5583
5450
|
type: NgModule,
|
|
5584
5451
|
args: [{
|
|
5585
5452
|
imports: [SearchBarBindingDirective],
|