@igo2/integration 21.0.0-next.2 → 21.0.0-next.20
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 +540 -687
- package/fesm2022/igo2-integration.mjs.map +1 -1
- package/package.json +4 -4
- package/types/igo2-integration.d.ts +109 -134
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { inject, ChangeDetectorRef,
|
|
2
|
+
import { inject, ChangeDetectorRef, input, model, Component, CUSTOM_ELEMENTS_SCHEMA, NgModule, Injectable, ChangeDetectionStrategy, signal, DestroyRef, viewChild, Directive, ElementRef, linkedSignal, effect } from '@angular/core';
|
|
3
3
|
import { __decorate, __metadata } from 'tslib';
|
|
4
4
|
import { HttpClient } from '@angular/common/http';
|
|
5
5
|
import * as i1 from '@angular/material/button';
|
|
@@ -14,22 +14,22 @@ import { AuthService, UserService } from '@igo2/auth';
|
|
|
14
14
|
import { CustomHtmlComponent, SanitizeHtmlPipe } from '@igo2/common/custom-html';
|
|
15
15
|
import { ToolComponent, ToolService } from '@igo2/common/tool';
|
|
16
16
|
import { ConfigService, version } from '@igo2/core/config';
|
|
17
|
-
import {
|
|
18
|
-
import { of, BehaviorSubject, combineLatest, forkJoin, map as map$1, merge, Subject, ReplaySubject, interval } from 'rxjs';
|
|
17
|
+
import { IgoLanguageModule, LanguageService } from '@igo2/core/language';
|
|
19
18
|
import * as i3$1 from '@ngx-translate/core';
|
|
20
19
|
import { TranslateModule } from '@ngx-translate/core';
|
|
21
20
|
import * as i3$2 from '@angular/common';
|
|
22
21
|
import { AsyncPipe, formatDate, CommonModule, DecimalPipe, NgTemplateOutlet } from '@angular/common';
|
|
23
22
|
import { EntityStore, EntityStoreFilterCustomFuncStrategy, EntityStoreFilterSelectionStrategy, EntityTableComponent, getEntityTitle } from '@igo2/common/entity';
|
|
24
23
|
import * as i1$1 from '@igo2/geo';
|
|
25
|
-
import { MapService, ProjectionService, IgoMap, CatalogService, CatalogBrowserComponent, generateIdFromSourceOptions, isLayerItemOptions, CatalogItemType, CatalogLibraryComponent, StopsStore, StopsFeatureStore, RoutesFeatureStore, StepsFeatureStore, IgoDirectionsModule, FeatureStore, DrawComponent, isLayerItem, OgcFilterableItemComponent, TimeFilterItemComponent, OgcFilterableListComponent, OgcFilterableListBindingDirective, FeatureStoreSelectionStrategy, FeatureMotion, mapExtentStrategyActiveToolTip, noElementSelected, OgcFilterWidget, InteractiveSelectionFormWidget, WfsWorkspace, FeatureWorkspace, EditionWorkspace, SpatialFilterService, LayerService, SpatialFilterItemType, MeasureLengthUnit, SpatialFilterType,
|
|
24
|
+
import { MapService, ProjectionService, 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
|
-
import { MessageService
|
|
32
|
+
import { MessageService } from '@igo2/core/message';
|
|
33
33
|
import { trigger, state, style, transition, animate } from '@angular/animations';
|
|
34
34
|
import { SELECTION_MARKER_ICON } from '@igo2/common/icon';
|
|
35
35
|
import * as olProj from 'ol/proj';
|
|
@@ -68,8 +68,6 @@ import * as i4$2 from '@angular/material/badge';
|
|
|
68
68
|
import { MatBadgeModule } from '@angular/material/badge';
|
|
69
69
|
import { FlexibleComponent } from '@igo2/common/flexible';
|
|
70
70
|
import { PanelComponent } from '@igo2/common/panel';
|
|
71
|
-
import olFeature from 'ol/Feature';
|
|
72
|
-
import olPoint from 'ol/geom/Point';
|
|
73
71
|
import pointOnFeature from '@turf/point-on-feature';
|
|
74
72
|
import { AnalyticsService } from '@igo2/core/analytics';
|
|
75
73
|
|
|
@@ -78,47 +76,25 @@ let AboutToolComponent = class AboutToolComponent {
|
|
|
78
76
|
auth = inject(AuthService);
|
|
79
77
|
http = inject(HttpClient);
|
|
80
78
|
cdRef = inject(ChangeDetectorRef);
|
|
81
|
-
languageService = inject(LanguageService);
|
|
82
79
|
userService = inject(UserService, {
|
|
83
80
|
optional: true
|
|
84
81
|
});
|
|
85
82
|
configOptions;
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
}
|
|
89
|
-
set headerHtml(value) {
|
|
90
|
-
this._headerHtml = Array.isArray(value) ? value.join('\n') : value;
|
|
91
|
-
}
|
|
92
|
-
get html() {
|
|
93
|
-
return this._html;
|
|
94
|
-
}
|
|
95
|
-
set html(value) {
|
|
96
|
-
this._html = Array.isArray(value) ? value.join('\n') : value;
|
|
97
|
-
}
|
|
98
|
-
_discoverTitleInLocale = 'IGO';
|
|
99
|
-
discoverTitleInLocale$ = of(this._discoverTitleInLocale);
|
|
100
|
-
get discoverTitleInLocale() {
|
|
101
|
-
return this._discoverTitleInLocale;
|
|
102
|
-
}
|
|
103
|
-
set discoverTitleInLocale(value) {
|
|
104
|
-
this._discoverTitleInLocale = value;
|
|
105
|
-
this.discoverTitleInLocale$ = of(value);
|
|
106
|
-
}
|
|
107
|
-
trainingGuideURLs = model(undefined, ...(ngDevMode ? [{ debugName: "trainingGuideURLs" }] : /* istanbul ignore next */ []));
|
|
83
|
+
headerHtml = input('', { ...(ngDevMode ? { debugName: "headerHtml" } : /* istanbul ignore next */ {}), transform: (value) => (Array.isArray(value) ? value.join('\n') : value) });
|
|
84
|
+
html = input('igo.integration.aboutTool.html', { ...(ngDevMode ? { debugName: "html" } : /* istanbul ignore next */ {}), transform: (value) => (Array.isArray(value) ? value.join('\n') : value) });
|
|
85
|
+
trainingGuideURLs = model(...(ngDevMode ? [undefined, { debugName: "trainingGuideURLs" }] : /* istanbul ignore next */ []));
|
|
108
86
|
effectiveVersion;
|
|
109
|
-
_html = 'igo.integration.aboutTool.html';
|
|
110
|
-
_headerHtml;
|
|
111
87
|
baseUrlGuide;
|
|
112
88
|
loading = false;
|
|
113
89
|
constructor() {
|
|
114
|
-
this.headerHtml = this.languageService.translate.instant('igo.integration.aboutTool.headerHtml');
|
|
115
90
|
this.configOptions = this.configService.getConfigs();
|
|
116
91
|
const configVersion = this.configOptions.version;
|
|
117
92
|
this.effectiveVersion = configVersion?.app ?? version.app;
|
|
118
|
-
this.
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
93
|
+
const depot = this.configOptions.depot;
|
|
94
|
+
if (depot) {
|
|
95
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
96
|
+
this.baseUrlGuide = depot.url + depot.guideUrl;
|
|
97
|
+
}
|
|
122
98
|
}
|
|
123
99
|
ngOnInit() {
|
|
124
100
|
if (this.auth.authenticated) {
|
|
@@ -138,7 +114,7 @@ let AboutToolComponent = class AboutToolComponent {
|
|
|
138
114
|
openGuide(guide) {
|
|
139
115
|
const url = guide
|
|
140
116
|
? this.baseUrlGuide + guide
|
|
141
|
-
: this.baseUrlGuide + this.trainingGuideURLs()[0];
|
|
117
|
+
: this.baseUrlGuide + (this.trainingGuideURLs()?.[0] ?? '');
|
|
142
118
|
this.loading = true;
|
|
143
119
|
this.http
|
|
144
120
|
.get(url, {
|
|
@@ -162,8 +138,8 @@ let AboutToolComponent = class AboutToolComponent {
|
|
|
162
138
|
name = name.slice(0, index);
|
|
163
139
|
return name;
|
|
164
140
|
}
|
|
165
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.
|
|
166
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.
|
|
141
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.19", ngImport: i0, type: AboutToolComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
142
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.19", type: AboutToolComponent, isStandalone: true, selector: "igo-about-tool", inputs: { headerHtml: { classPropertyName: "headerHtml", publicName: "headerHtml", isSignal: true, isRequired: false, transformFunction: null }, html: { classPropertyName: "html", publicName: "html", isSignal: true, isRequired: false, transformFunction: null }, trainingGuideURLs: { classPropertyName: "trainingGuideURLs", publicName: "trainingGuideURLs", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { trainingGuideURLs: "trainingGuideURLsChange" }, ngImport: i0, template: "@if (auth.authenticated && trainingGuideURLs()?.length === 1) {\n <button\n class=\"training-guide-button\"\n matButton=\"elevated\"\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [disabled]=\"loading\"\n [matTooltip]=\"'igo.integration.aboutTool.trainingGuideTooltip' | translate\"\n (click)=\"openGuide()\"\n >\n {{ 'igo.integration.aboutTool.trainingGuide' | translate }}\n <mat-icon>description</mat-icon>\n </button>\n}\n\n@if (auth.authenticated && (trainingGuideURLs()?.length ?? 0) > 1) {\n <button\n class=\"training-guide-button\"\n matButton=\"elevated\"\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [disabled]=\"loading\"\n [matTooltip]=\"'igo.integration.aboutTool.trainingGuideTooltip' | translate\"\n [matMenuTriggerFor]=\"menu\"\n >\n {{ 'igo.integration.aboutTool.trainingGuide' | translate }}\n <mat-icon>description</mat-icon>\n </button>\n}\n\n<mat-menu #menu=\"matMenu\">\n @for (guide of trainingGuideURLs(); track guide) {\n <button mat-menu-item (click)=\"openGuide(guide)\">\n {{ formatFileName(guide) }}\n </button>\n }\n</mat-menu>\n\n@if (headerHtml() !== '') {\n <igo-custom-html [html]=\"headerHtml() | translate\" />\n}\n\n<igo-custom-html [html]=\"html() | translate: { version: effectiveVersion }\" />\n", styles: [".training-guide-button{margin:16px 0 0 16px;background-color:#1976d2;color:#fff}\n"], dependencies: [{ kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i1.MatButton, selector: " button[matButton], a[matButton], button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button], a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button] ", inputs: ["matButton"], exportAs: ["matButton", "matAnchor"] }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i2.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatMenuModule }, { kind: "component", type: i4.MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "component", type: i4.MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i4.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { kind: "component", type: CustomHtmlComponent, selector: "igo-custom-html", inputs: ["html"] }, { kind: "ngmodule", type: IgoLanguageModule }, { kind: "pipe", type: i3$1.TranslatePipe, name: "translate" }] });
|
|
167
143
|
};
|
|
168
144
|
AboutToolComponent = __decorate([
|
|
169
145
|
ToolComponent({
|
|
@@ -173,7 +149,7 @@ AboutToolComponent = __decorate([
|
|
|
173
149
|
}),
|
|
174
150
|
__metadata("design:paramtypes", [])
|
|
175
151
|
], AboutToolComponent);
|
|
176
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
152
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.19", ngImport: i0, type: AboutToolComponent, decorators: [{
|
|
177
153
|
type: Component,
|
|
178
154
|
args: [{ selector: 'igo-about-tool', imports: [
|
|
179
155
|
MatButtonModule,
|
|
@@ -182,14 +158,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.10", ngImpo
|
|
|
182
158
|
MatMenuModule,
|
|
183
159
|
CustomHtmlComponent,
|
|
184
160
|
IgoLanguageModule
|
|
185
|
-
], template: "@if (auth.authenticated && trainingGuideURLs()?.length === 1) {\n <button\n class=\"training-guide-button\"\n matButton=\"elevated\"\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [disabled]=\"loading\"\n [matTooltip]=\"'igo.integration.aboutTool.trainingGuideTooltip' | translate\"\n (click)=\"openGuide()\"\n >\n {{ 'igo.integration.aboutTool.trainingGuide' | translate }}\n <mat-icon>description</mat-icon>\n </button>\n}\n\n@if (auth.authenticated && (trainingGuideURLs()?.length ?? 0) > 1) {\n <button\n class=\"training-guide-button\"\n matButton=\"elevated\"\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [disabled]=\"loading\"\n [matTooltip]=\"'igo.integration.aboutTool.trainingGuideTooltip' | translate\"\n [matMenuTriggerFor]=\"menu\"\n >\n {{ 'igo.integration.aboutTool.trainingGuide' | translate }}\n <mat-icon>description</mat-icon>\n </button>\n}\n\n<mat-menu #menu=\"matMenu\">\n @for (guide of trainingGuideURLs(); track guide) {\n <button mat-menu-item (click)=\"openGuide(guide)\">\n {{ formatFileName(guide) }}\n </button>\n }\n</mat-menu>\n\n@if (headerHtml !== '') {\n <igo-custom-html [html]=\"headerHtml | translate\" />\n}\n\n<igo-custom-html [html]=\"html | translate: { version: effectiveVersion }\" />\n", styles: [".training-guide-button{margin:16px 0 0 16px;background-color:#1976d2;color:#fff}\n"] }]
|
|
186
|
-
}], ctorParameters: () => [], propDecorators: { headerHtml: [{
|
|
187
|
-
type: Input
|
|
188
|
-
}], html: [{
|
|
189
|
-
type: Input
|
|
190
|
-
}], discoverTitleInLocale: [{
|
|
191
|
-
type: Input
|
|
192
|
-
}], trainingGuideURLs: [{ type: i0.Input, args: [{ isSignal: true, alias: "trainingGuideURLs", required: false }] }, { type: i0.Output, args: ["trainingGuideURLsChange"] }] } });
|
|
161
|
+
], template: "@if (auth.authenticated && trainingGuideURLs()?.length === 1) {\n <button\n class=\"training-guide-button\"\n matButton=\"elevated\"\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [disabled]=\"loading\"\n [matTooltip]=\"'igo.integration.aboutTool.trainingGuideTooltip' | translate\"\n (click)=\"openGuide()\"\n >\n {{ 'igo.integration.aboutTool.trainingGuide' | translate }}\n <mat-icon>description</mat-icon>\n </button>\n}\n\n@if (auth.authenticated && (trainingGuideURLs()?.length ?? 0) > 1) {\n <button\n class=\"training-guide-button\"\n matButton=\"elevated\"\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [disabled]=\"loading\"\n [matTooltip]=\"'igo.integration.aboutTool.trainingGuideTooltip' | translate\"\n [matMenuTriggerFor]=\"menu\"\n >\n {{ 'igo.integration.aboutTool.trainingGuide' | translate }}\n <mat-icon>description</mat-icon>\n </button>\n}\n\n<mat-menu #menu=\"matMenu\">\n @for (guide of trainingGuideURLs(); track guide) {\n <button mat-menu-item (click)=\"openGuide(guide)\">\n {{ formatFileName(guide) }}\n </button>\n }\n</mat-menu>\n\n@if (headerHtml() !== '') {\n <igo-custom-html [html]=\"headerHtml() | translate\" />\n}\n\n<igo-custom-html [html]=\"html() | translate: { version: effectiveVersion }\" />\n", styles: [".training-guide-button{margin:16px 0 0 16px;background-color:#1976d2;color:#fff}\n"] }]
|
|
162
|
+
}], ctorParameters: () => [], propDecorators: { headerHtml: [{ type: i0.Input, args: [{ isSignal: true, alias: "headerHtml", required: false }] }], html: [{ type: i0.Input, args: [{ isSignal: true, alias: "html", required: false }] }], trainingGuideURLs: [{ type: i0.Input, args: [{ isSignal: true, alias: "trainingGuideURLs", required: false }] }, { type: i0.Output, args: ["trainingGuideURLsChange"] }] } });
|
|
193
163
|
|
|
194
164
|
/**
|
|
195
165
|
* @deprecated import the AboutToolComponent directly
|
|
@@ -201,11 +171,11 @@ class IgoAppAboutModule {
|
|
|
201
171
|
providers: []
|
|
202
172
|
};
|
|
203
173
|
}
|
|
204
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.
|
|
205
|
-
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.
|
|
206
|
-
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.
|
|
174
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.19", ngImport: i0, type: IgoAppAboutModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
175
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.19", ngImport: i0, type: IgoAppAboutModule, imports: [AboutToolComponent], exports: [AboutToolComponent] });
|
|
176
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.19", ngImport: i0, type: IgoAppAboutModule, imports: [AboutToolComponent] });
|
|
207
177
|
}
|
|
208
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
178
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.19", ngImport: i0, type: IgoAppAboutModule, decorators: [{
|
|
209
179
|
type: NgModule,
|
|
210
180
|
args: [{
|
|
211
181
|
imports: [AboutToolComponent],
|
|
@@ -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.19", ngImport: i0, type: MapState, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
221
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.19", 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.19", 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.19", ngImport: i0, type: CatalogState, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
275
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.19", 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.19", 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.19", ngImport: i0, type: CatalogBrowserToolComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
358
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.19", type: CatalogBrowserToolComponent, isStandalone: true, selector: "igo-catalog-browser-tool", inputs: { toggleCollapsedGroup: { classPropertyName: "toggleCollapsedGroup", publicName: "toggleCollapsedGroup", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "@if (store$ | async; as store) {\n <igo-catalog-browser\n [catalog]=\"catalog!\"\n [store]=\"store\"\n [map]=\"map\"\n [toggleCollapsedGroup]=\"toggleCollapsedGroup()\"\n />\n}\n", dependencies: [{ kind: "component", type: CatalogBrowserComponent, selector: "igo-catalog-browser", inputs: ["catalogAllowLegend", "catalog", "store", "map", "toggleCollapsedGroup"], outputs: ["catalogAllowLegendChange"] }, { kind: "pipe", type: AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
389
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.19", 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.19", ngImport: i0, type: IgoAppCatalogBrowserToolModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
377
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.19", ngImport: i0, type: IgoAppCatalogBrowserToolModule, imports: [CatalogBrowserToolComponent], exports: [CatalogBrowserToolComponent] });
|
|
378
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.19", 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.19", 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.19", ngImport: i0, type: ImportExportState, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
415
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.19", 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.19", 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.19", ngImport: i0, type: ToolState, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
460
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.19", 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.19", 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.19", ngImport: i0, type: CatalogLibraryToolComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
772
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.19", type: CatalogLibraryToolComponent, isStandalone: true, selector: "igo-catalog-library-tool", inputs: { addCatalogAllowed: { classPropertyName: "addCatalogAllowed", publicName: "addCatalogAllowed", isSignal: true, isRequired: false, transformFunction: null }, exportButton: { classPropertyName: "exportButton", publicName: "exportButton", isSignal: true, isRequired: false, transformFunction: null }, predefinedCatalogs: { classPropertyName: "predefinedCatalogs", publicName: "predefinedCatalogs", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "<igo-catalog-library\n [predefinedCatalogs]=\"predefinedCatalogs()\"\n [addCatalogAllowed]=\"addCatalogAllowed()\"\n [store]=\"store\"\n (catalogSelectChange)=\"onCatalogSelectChange($event)\"\n/>\n@if (exportButton()) {\n <div class=\"get-catalog-list-button\">\n <button\n matButton=\"elevated\"\n [matTooltip]=\"\n 'igo.integration.catalog.library.getCatalogList' | translate\n \"\n matTooltipPosition=\"above\"\n color=\"primary\"\n (click)=\"getCatalogList()\"\n >\n {{ 'igo.integration.catalog.library.getCatalogList' | translate }}\n </button>\n </div>\n}\n", styles: [".get-catalog-list-button{display:flex;justify-content:center;align-items:center}\n"], dependencies: [{ kind: "component", type: CatalogLibraryComponent, selector: "igo-catalog-library", inputs: ["store", "addCatalogAllowed", "predefinedCatalogs"], outputs: ["predefinedCatalogsChange", "catalogSelectChange"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i1.MatButton, selector: " button[matButton], a[matButton], button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button], a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button] ", inputs: ["matButton"], exportAs: ["matButton", "matAnchor"] }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i2.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i3$1.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
799
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.19", 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.19", ngImport: i0, type: IgoAppCatalogLibraryToolModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
796
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.19", ngImport: i0, type: IgoAppCatalogLibraryToolModule, imports: [CatalogLibraryToolComponent], exports: [CatalogLibraryToolComponent] });
|
|
797
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.19", 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.19", 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.19", ngImport: i0, type: IgoAppCatalogModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
812
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.19", ngImport: i0, type: IgoAppCatalogModule, exports: [IgoAppCatalogLibraryToolModule, IgoAppCatalogBrowserToolModule] });
|
|
813
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.19", 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.19", 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.19", ngImport: i0, type: ContextEditorToolComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
828
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.19", type: ContextEditorToolComponent, isStandalone: true, selector: "igo-context-editor-tool", ngImport: i0, template: "<igo-context-edit (submitSuccessed)=\"submitSuccessed()\" />\n", dependencies: [{ kind: "component", type: ContextEditComponent, selector: "igo-context-edit", outputs: ["submitSuccessed"] }] });
|
|
855
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.19", 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.19", ngImport: i0, type: ContextManagerToolComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
859
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.2.19", type: ContextManagerToolComponent, isStandalone: true, selector: "igo-context-manager-tool", inputs: { toolToOpenOnContextChange: { classPropertyName: "toolToOpenOnContextChange", publicName: "toolToOpenOnContextChange", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "<igo-context-list\n [map]=\"map\"\n (edit)=\"editContext()\"\n (managePermissions)=\"managePermissions()\"\n [isDesktop]=\"isDesktop()\"\n/>\n", dependencies: [{ kind: "component", type: ContextListComponent, selector: "igo-context-list", inputs: ["isDesktop", "contexts", "selectedContext", "map", "defaultContextId", "term"], outputs: ["selectedContextChange", "select", "unselect", "edit", "delete", "save", "clone", "create", "hide", "show", "showHiddenContexts", "favorite", "managePermissions", "manageTools", "filterPermissionsChanged"] }] });
|
|
886
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.19", 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.19", ngImport: i0, type: ContextPermissionManagerToolComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
875
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.19", type: ContextPermissionManagerToolComponent, isStandalone: true, selector: "igo-context-permission-manager-tool", ngImport: i0, template: "<igo-context-permissions />\n", dependencies: [{ kind: "component", type: ContextPermissionsComponent, selector: "igo-context-permissions", inputs: ["context", "permissions"], outputs: ["contextChange", "permissionsChange"] }] });
|
|
902
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.19", 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.19", ngImport: i0, type: LayerListToolState, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
918
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.19", 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.19", 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.19", ngImport: i0, type: ContextShareToolComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
937
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.19", type: ContextShareToolComponent, isStandalone: true, selector: "igo-context-share-tool", ngImport: i0, template: "<igo-share-map [map]=\"map\" />\n", dependencies: [{ kind: "component", type: ShareMapComponent, selector: "igo-share-map", inputs: ["map"] }] });
|
|
964
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.19", 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.19", ngImport: i0, type: IgoAppContextModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
963
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.19", ngImport: i0, type: IgoAppContextModule, imports: [ContextEditorToolComponent, ContextManagerToolComponent, ContextPermissionManagerToolComponent, ContextShareToolComponent], exports: [ContextEditorToolComponent, ContextManagerToolComponent, ContextPermissionManagerToolComponent, ContextShareToolComponent] });
|
|
964
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.19", 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.19", 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.19", ngImport: i0, type: ContextState, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
1050
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.19", 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.19", 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.19", ngImport: i0, type: DirectionState, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
1100
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.19", 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.19", 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.19", ngImport: i0, type: DirectionsToolComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
1170
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.19", type: DirectionsToolComponent, isStandalone: true, selector: "igo-directions-tool", ngImport: i0, template: "<igo-directions\n [contextUri]=\"currentContextUri\"\n [debounce]=\"debounceTime\"\n [stopsStore]=\"stopsStore\"\n [stopsFeatureStore]=\"stopsFeatureStore\"\n [stepsFeatureStore]=\"stepFeatureStore\"\n [routesFeatureStore]=\"routesFeatureStore\"\n [zoomToActiveRoute]=\"zoomToActiveRoute\"\n [authenticated$]=\"authenticated$\"\n/>\n", dependencies: [{ kind: "ngmodule", type: IgoDirectionsModule }, { kind: "component", type: i1$1.DirectionsComponent, selector: "igo-directions", inputs: ["contextUri", "stopsStore", "stopsFeatureStore", "routesFeatureStore", "stepsFeatureStore", "debounce", "length", "coordRoundedDecimals", "zoomToActiveRoute", "authenticated$"] }] });
|
|
1195
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.19", 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.19", ngImport: i0, type: IgoAppDirectionsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
1195
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.19", ngImport: i0, type: IgoAppDirectionsModule, imports: [DirectionsToolComponent], exports: [DirectionsToolComponent] });
|
|
1196
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.19", 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.19", 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.19", ngImport: i0, type: DrawState, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
1236
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.19", 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.19", 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.19", ngImport: i0, type: DrawingToolComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
1287
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.19", type: DrawingToolComponent, isStandalone: true, selector: "igo-drawing-tool", ngImport: i0, template: "<igo-draw\n [stores]=\"stores\"\n [map]=\"map\"\n (layersIDEvent)=\"addLayersID($event)\"\n [activeDrawingLayer]=\"activeDrawingLayer\"\n [drawControls]=\"drawControls\"\n (drawControlsEvent)=\"addDrawControls($event)\"\n (activeLayerChange)=\"activeDrawingLayer = $event\"\n/>\n", dependencies: [{ kind: "component", type: DrawComponent, selector: "igo-draw", inputs: ["map", "stores", "drawControls", "activeDrawingLayer"], outputs: ["storesChange", "drawControlsChange", "activeDrawingLayerChange", "activeLayerChange", "drawControlsEvent", "layersIDEvent"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
1312
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.19", 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.19", ngImport: i0, type: IgoAppDrawingToolModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
1306
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.19", ngImport: i0, type: IgoAppDrawingToolModule, imports: [DrawingToolComponent], exports: [DrawingToolComponent] });
|
|
1307
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.19", 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.19", 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.19", ngImport: i0, type: IgoAppDrawModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
1322
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.19", ngImport: i0, type: IgoAppDrawModule, exports: [IgoAppDrawingToolModule] });
|
|
1323
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.19", 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.19", 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.19", ngImport: i0, type: ActiveOgcFilterToolComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
1356
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.19", type: ActiveOgcFilterToolComponent, isStandalone: true, selector: "igo-active-ogc-filter-tool", ngImport: i0, template: "<igo-ogc-filterable-item\n [map]=\"map\"\n [layer]=\"layer\"\n [header]=\"false\"\n [@toolSlideInOut]=\"animate\"\n/>\n", dependencies: [{ kind: "component", type: OgcFilterableItemComponent, selector: "igo-ogc-filterable-item", inputs: ["layer", "map", "header"] }], animations: [toolSlideInOut$1()] });
|
|
1381
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.19", 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.19", ngImport: i0, type: ActiveTimeFilterToolComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
1395
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.19", type: ActiveTimeFilterToolComponent, isStandalone: true, selector: "igo-active-time-filter-tool", ngImport: i0, template: "<igo-time-filter-item\n [layer]=\"layer\"\n [header]=\"false\"\n [@toolSlideInOut]=\"animate\"\n/>\n", dependencies: [{ kind: "component", type: TimeFilterItemComponent, selector: "igo-time-filter-item", inputs: ["header", "layer"] }], animations: [toolSlideInOut()] });
|
|
1420
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.19", 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.19", ngImport: i0, type: OgcFilterToolComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
1412
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.19", type: OgcFilterToolComponent, isStandalone: true, selector: "igo-ogc-filter-tool", ngImport: i0, template: "<igo-ogc-filterable-list igoOgcFilterableListBinding [layers]=\"[]\" />\n", dependencies: [{ kind: "component", type: OgcFilterableListComponent, selector: "igo-ogc-filterable-list", inputs: ["layers"], outputs: ["layersChange"] }, { kind: "directive", type: OgcFilterableListBindingDirective, selector: "[igoOgcFilterableListBinding]" }] });
|
|
1437
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.19", 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.19", ngImport: i0, type: StorageState, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
1435
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.19", 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.19", 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.19", ngImport: i0, type: EditionActionsService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
1655
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.19", 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.19", 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.19", ngImport: i0, type: FeatureActionsService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
1703
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.19", 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.19", 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.19", ngImport: i0, type: WfsActionsService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
1754
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.19", 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.19", 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.19", ngImport: i0, type: WorkspaceState, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
1935
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.19", 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.19", 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
|
-
return featureToOl(feature, this.map.
|
|
2246
|
+
return featureToOl(feature, this.map.projectionCode);
|
|
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
|
-
return featureToOl(feature, this.map.
|
|
2300
|
+
return featureToOl(feature, this.map.projectionCode);
|
|
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
|
' - ' +
|
|
@@ -2361,14 +2343,14 @@ let SpatialFilterToolComponent = class SpatialFilterToolComponent {
|
|
|
2361
2343
|
return;
|
|
2362
2344
|
const olSource = zoneLayer.dataSource.ol;
|
|
2363
2345
|
// Convert to OL feature (same way as when adding)
|
|
2364
|
-
const featureOl = featureToOl(feature, this.map.
|
|
2346
|
+
const featureOl = featureToOl(feature, this.map.projectionCode);
|
|
2365
2347
|
// Find matching OL feature(s) by id or geometry
|
|
2366
2348
|
const toRemove = olSource.getFeatures().filter((f) => {
|
|
2367
2349
|
return f.getId() === featureOl.getId();
|
|
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
|
}),
|
|
@@ -2478,7 +2463,7 @@ let SpatialFilterToolComponent = class SpatialFilterToolComponent {
|
|
|
2478
2463
|
const olSource = layer.dataSource.ol;
|
|
2479
2464
|
if (buffer)
|
|
2480
2465
|
olSource.clear();
|
|
2481
|
-
const featuresOl = features.map((f) => featureToOl(f, this.map.
|
|
2466
|
+
const featuresOl = features.map((f) => featureToOl(f, this.map.projectionCode));
|
|
2482
2467
|
const type = this.type();
|
|
2483
2468
|
if (type !== SpatialFilterType.Predefined) {
|
|
2484
2469
|
const customType = type === SpatialFilterType.Point ? 'Cercle' : 'Polygone';
|
|
@@ -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.19", ngImport: i0, type: SpatialFilterToolComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
2503
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.19", type: SpatialFilterToolComponent, isStandalone: true, selector: "igo-spatial-filter-tool", inputs: { type: { classPropertyName: "type", publicName: "type", isSignal: true, isRequired: false, transformFunction: null }, itemType: { classPropertyName: "itemType", publicName: "itemType", isSignal: true, isRequired: false, transformFunction: null }, freehandDrawIsActive: { classPropertyName: "freehandDrawIsActive", publicName: "freehandDrawIsActive", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { type: "typeChange", itemType: "itemTypeChange", freehandDrawIsActive: "freehandDrawIsActiveChange" }, ngImport: i0, template: "<igo-spatial-filter-type\n [store]=\"spatialListStore\"\n [selectedQueryType]=\"queryType\"\n [layers]=\"activeLayers\"\n (eventType)=\"getOutputType($event)\"\n (eventQueryType)=\"getOutputQueryType($event)\"\n (zonesWithBufferChange)=\"onAddZoneWithBuffer($event)\"\n (bufferChange)=\"buffer = $event\"\n (measureUnitChange)=\"measureUnit = $event\"\n [zones]=\"zones\"\n (addZone)=\"onAddZone($event)\"\n (removeZone)=\"onRemovedZone($event)\"\n/>\n\n<igo-spatial-filter-item\n [type]=\"type()!\"\n [queryType]=\"queryType\"\n [map]=\"map\"\n [zones]=\"zones\"\n [loading]=\"loading\"\n [store]=\"store\"\n [layers]=\"activeLayers\"\n [allLayers]=\"layers\"\n [thematicLength]=\"thematicLength\"\n (radiusEvent)=\"buffer = $event\"\n (bufferEvent)=\"buffer = $event\"\n (measureUnitChange)=\"measureUnit = $event\"\n (freehandControl)=\"freehandDrawIsActive.set($event)\"\n (drawZoneEvent)=\"this.zones = [$event]\"\n (zonesWithBufferChange)=\"onAddZoneWithBuffer($event)\"\n (itemTypeChange)=\"itemType.set($event)\"\n (thematicChange)=\"thematics = $event\"\n (toggleSearch)=\"getOutputToggleSearch()\"\n (clearButtonEvent)=\"clearMap()\"\n (clearSearchEvent)=\"getOutputClearSearch()\"\n (export)=\"activateExportTool()\"\n (openWorkspace)=\"activateWorkspace()\"\n (entityChange)=\"activateWorkspace($event)\"\n/>\n@if (selectedFeature$ | async; as feature) {\n <igo-feature-details [feature]=\"feature\" />\n}\n", styles: [":host igo-spatial-filter-item{display:block;padding:0 12px}:host ::ng-deep .mat-mdc-tab-body-wrapper{margin-top:12px;padding:0 12px}\n"], dependencies: [{ kind: "component", type: SpatialFilterTypeComponent, selector: "igo-spatial-filter-type", inputs: ["store", "selectedQueryType", "zones", "layers"], outputs: ["selectedQueryTypeChange", "eventType", "eventQueryType", "bufferChange", "measureUnitChange", "addZone", "removeZone", "zonesWithBufferChange"] }, { kind: "component", type: SpatialFilterItemComponent, selector: "igo-spatial-filter-item", inputs: ["map", "type", "queryType", "zones", "loading", "store", "layers", "allLayers", "thematicLength"], outputs: ["loadingChange", "toggleSearch", "itemTypeChange", "thematicChange", "drawZoneEvent", "bufferEvent", "zonesWithBufferChange", "measureUnitChange", "radiusEvent", "freehandControl", "predefinedRadius", "clearButtonEvent", "clearSearchEvent", "export", "openWorkspace", "entityChange"] }, { kind: "component", type: FeatureDetailsComponent, selector: "igo-feature-details", inputs: ["source", "map", "toolbox", "feature"], outputs: ["routeEvent", "selectFeature", "htmlDisplayEvent"] }, { kind: "pipe", type: AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
2517
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.19", 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.19", ngImport: i0, type: TimeFilterToolComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
2527
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.19", type: TimeFilterToolComponent, isStandalone: true, selector: "igo-time-filter-tool", ngImport: i0, template: "<igo-time-filter-list igoTimeFilterListBinding />\n", dependencies: [{ kind: "component", type: TimeFilterListComponent, selector: "igo-time-filter-list", inputs: ["layers"], outputs: ["layersChange"] }, { kind: "directive", type: TimeFilterListBindingDirective, selector: "[igoTimeFilterListBinding]" }] });
|
|
2541
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.19", 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.19", ngImport: i0, type: IgoAppFilterModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
2552
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.19", 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.19", 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.19", 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.19", ngImport: i0, type: DataIssueReporterToolComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
2724
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.19", type: DataIssueReporterToolComponent, isStandalone: false, selector: "igo-issue-reporter-tool", inputs: { url: { classPropertyName: "url", publicName: "url", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "@if (form$ | async; as form) {\n <igo-form\n [form]=\"form\"\n [formData]=\"(data$ | async)!\"\n (submitForm)=\"onSubmit($any($event))\"\n >\n @if (form.fields.length) {\n <div class=\"form-container\">\n @for (field of form.fields; track field) {\n <igo-form-field [field]=\"field\" />\n }\n </div>\n }\n <div formButtons class=\"actions-container\">\n <button\n mat-stroked-button\n type=\"button\"\n color=\"primary\"\n (click)=\"clearForm()\"\n >\n {{ 'igo.integration.dataIssueReporterTool.reset.button' | translate }}\n </button>\n <button\n matButton=\"filled\"\n type=\"submit\"\n color=\"primary\"\n [disabled]=\"submitDisabled\"\n >\n {{ 'igo.integration.dataIssueReporterTool.submit.button' | translate }}\n </button>\n </div>\n </igo-form>\n}\n", styles: [":host .actions-container{display:flex;flex-direction:column;gap:8px;align-items:center;justify-content:center}:host .form-container{width:100%;padding:10px}:host .form-container igo-form-field{display:block;height:auto}\n"], dependencies: [{ kind: "component", type: i1.MatButton, selector: " button[matButton], a[matButton], button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button], a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button] ", inputs: ["matButton"], exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: i2$1.FormFieldComponent, selector: "igo-form-field", inputs: ["field"] }, { kind: "component", type: i2$1.FormComponent, selector: "igo-form", inputs: ["form", "formData", "autocomplete"], outputs: ["submitForm"] }, { kind: "pipe", type: i3$2.AsyncPipe, name: "async" }, { kind: "pipe", type: i3$1.TranslatePipe, name: "translate" }] });
|
|
2738
2725
|
};
|
|
2739
2726
|
DataIssueReporterToolComponent = __decorate([
|
|
2740
2727
|
ToolComponent({
|
|
@@ -2743,34 +2730,20 @@ 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.19", 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.
|
|
2754
|
-
|
|
2755
|
-
IgoLanguageModule,
|
|
2756
|
-
IgoFormModule,
|
|
2757
|
-
IgoMessageModule], exports: [DataIssueReporterToolComponent] });
|
|
2758
|
-
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.10", ngImport: i0, type: IgoAppGeometryFormModule, imports: [CommonModule,
|
|
2759
|
-
MatButtonModule,
|
|
2760
|
-
IgoLanguageModule,
|
|
2761
|
-
IgoFormModule,
|
|
2762
|
-
IgoMessageModule] });
|
|
2739
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.19", ngImport: i0, type: IgoAppGeometryFormModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
2740
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.19", ngImport: i0, type: IgoAppGeometryFormModule, declarations: [DataIssueReporterToolComponent], imports: [CommonModule, MatButtonModule, IgoLanguageModule, IgoFormModule], exports: [DataIssueReporterToolComponent] });
|
|
2741
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.19", ngImport: i0, type: IgoAppGeometryFormModule, imports: [CommonModule, MatButtonModule, IgoLanguageModule, IgoFormModule] });
|
|
2763
2742
|
}
|
|
2764
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
2743
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.19", ngImport: i0, type: IgoAppGeometryFormModule, decorators: [{
|
|
2765
2744
|
type: NgModule,
|
|
2766
2745
|
args: [{
|
|
2767
|
-
imports: [
|
|
2768
|
-
CommonModule,
|
|
2769
|
-
MatButtonModule,
|
|
2770
|
-
IgoLanguageModule,
|
|
2771
|
-
IgoFormModule,
|
|
2772
|
-
IgoMessageModule
|
|
2773
|
-
],
|
|
2746
|
+
imports: [CommonModule, MatButtonModule, IgoLanguageModule, IgoFormModule],
|
|
2774
2747
|
declarations: [DataIssueReporterToolComponent],
|
|
2775
2748
|
exports: [DataIssueReporterToolComponent],
|
|
2776
2749
|
schemas: []
|
|
@@ -2782,7 +2755,7 @@ let ImportExportToolComponent = class ImportExportToolComponent {
|
|
|
2782
2755
|
importExportState = inject(ImportExportState);
|
|
2783
2756
|
workspaceState = inject(WorkspaceState);
|
|
2784
2757
|
contextState = inject(ContextState);
|
|
2785
|
-
projectionsLimitations = input(
|
|
2758
|
+
projectionsLimitations = input(...(ngDevMode ? [undefined, { debugName: "projectionsLimitations" }] : /* istanbul ignore next */ []));
|
|
2786
2759
|
selectFirstProj = input(false, ...(ngDevMode ? [{ debugName: "selectFirstProj" }] : /* istanbul ignore next */ []));
|
|
2787
2760
|
/**
|
|
2788
2761
|
* Map to measure on
|
|
@@ -2831,8 +2804,8 @@ let ImportExportToolComponent = class ImportExportToolComponent {
|
|
|
2831
2804
|
importExportTypeChange(event) {
|
|
2832
2805
|
this.importExportType.set(event.value);
|
|
2833
2806
|
}
|
|
2834
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.
|
|
2835
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.
|
|
2807
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.19", ngImport: i0, type: ImportExportToolComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
2808
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.19", type: ImportExportToolComponent, isStandalone: true, selector: "igo-import-export-tool", inputs: { projectionsLimitations: { classPropertyName: "projectionsLimitations", publicName: "projectionsLimitations", isSignal: true, isRequired: false, transformFunction: null }, selectFirstProj: { classPropertyName: "selectFirstProj", publicName: "selectFirstProj", isSignal: true, isRequired: false, transformFunction: null }, importExportType: { classPropertyName: "importExportType", publicName: "importExportType", isSignal: true, isRequired: false, transformFunction: null }, importExportShowBothType: { classPropertyName: "importExportShowBothType", publicName: "importExportShowBothType", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { importExportType: "importExportTypeChange" }, ngImport: i0, template: "@if (importExportShowBothType()) {\n <mat-tab-group>\n <mat-tab\n [label]=\"'igo.integration.importExportTool.importExportData' | translate\"\n >\n <igo-import-export\n [contextUri]=\"(contextState.context$ | async)?.uri\"\n [map]=\"map\"\n [selectFirstProj]=\"selectFirstProj()\"\n [projectionsLimitations]=\"projectionsLimitations()\"\n [store]=\"workspaceStore\"\n [selectedMode]=\"(importExportState.selectedMode$ | async)!\"\n (selectMode)=\"modeChanged($any($event))\"\n [exportOptions$]=\"importExportState.exportOptions$\"\n (exportOptionsChange)=\"exportOptionsChange($event)\"\n />\n </mat-tab>\n <mat-tab\n [label]=\"\n 'igo.integration.importExportTool.importExportContext' | translate\n \"\n >\n <igo-context-import-export [map]=\"map\" />\n </mat-tab>\n </mat-tab-group>\n}\n\n@if (!importExportShowBothType() && importExportType() === 'layer') {\n <igo-import-export\n [contextUri]=\"(contextState.context$ | async)?.uri\"\n [map]=\"map\"\n [store]=\"workspaceStore\"\n [selectedMode]=\"(importExportState.selectedMode$ | async)!\"\n (selectMode)=\"modeChanged($any($event))\"\n [exportOptions$]=\"importExportState.exportOptions$\"\n (exportOptionsChange)=\"exportOptionsChange($event)\"\n />\n}\n\n@if (!importExportShowBothType() && importExportType() === 'context') {\n <igo-context-import-export [map]=\"map\" />\n}\n", styles: ["mat-form-field{width:100%}\n"], dependencies: [{ kind: "ngmodule", type: MatTabsModule }, { kind: "component", type: i1$2.MatTab, selector: "mat-tab", inputs: ["disabled", "label", "aria-label", "aria-labelledby", "labelClass", "bodyClass", "id"], exportAs: ["matTab"] }, { kind: "component", type: i1$2.MatTabGroup, selector: "mat-tab-group", inputs: ["color", "fitInkBarToContent", "mat-stretch-tabs", "mat-align-tabs", "dynamicHeight", "selectedIndex", "headerPosition", "animationDuration", "contentTabIndex", "disablePagination", "disableRipple", "preserveContent", "backgroundColor", "aria-label", "aria-labelledby"], outputs: ["selectedIndexChange", "focusChange", "animationDone", "selectedTabChange"], exportAs: ["matTabGroup"] }, { kind: "component", type: ImportExportComponent, selector: "igo-import-export", inputs: ["selectFirstProj", "map", "contextUri", "projectionsLimitations", "store", "selectedMode", "exportOptions$"], outputs: ["selectedModeChange", "selectMode", "exportOptionsChange"] }, { kind: "component", type: ContextImportExportComponent, selector: "igo-context-import-export", inputs: ["map"] }, { kind: "ngmodule", type: IgoLanguageModule }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: i3$1.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
2836
2809
|
};
|
|
2837
2810
|
ImportExportToolComponent = __decorate([
|
|
2838
2811
|
ToolComponent({
|
|
@@ -2841,7 +2814,7 @@ ImportExportToolComponent = __decorate([
|
|
|
2841
2814
|
icon: 'file_save'
|
|
2842
2815
|
})
|
|
2843
2816
|
], ImportExportToolComponent);
|
|
2844
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
2817
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.19", ngImport: i0, type: ImportExportToolComponent, decorators: [{
|
|
2845
2818
|
type: Component,
|
|
2846
2819
|
args: [{ selector: 'igo-import-export-tool', changeDetection: ChangeDetectionStrategy.OnPush, imports: [
|
|
2847
2820
|
MatTabsModule,
|
|
@@ -2849,7 +2822,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.10", ngImpo
|
|
|
2849
2822
|
ContextImportExportComponent,
|
|
2850
2823
|
AsyncPipe,
|
|
2851
2824
|
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)
|
|
2825
|
+
], 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
2826
|
}], 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
2827
|
|
|
2855
2828
|
/**
|
|
@@ -2862,11 +2835,11 @@ class IgoAppImportExportModule {
|
|
|
2862
2835
|
providers: []
|
|
2863
2836
|
};
|
|
2864
2837
|
}
|
|
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.
|
|
2838
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.19", ngImport: i0, type: IgoAppImportExportModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
2839
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.19", ngImport: i0, type: IgoAppImportExportModule, imports: [ImportExportToolComponent], exports: [ImportExportToolComponent] });
|
|
2840
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.19", ngImport: i0, type: IgoAppImportExportModule, imports: [ImportExportToolComponent] });
|
|
2868
2841
|
}
|
|
2869
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
2842
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.19", ngImport: i0, type: IgoAppImportExportModule, decorators: [{
|
|
2870
2843
|
type: NgModule,
|
|
2871
2844
|
args: [{
|
|
2872
2845
|
imports: [ImportExportToolComponent],
|
|
@@ -2895,10 +2868,13 @@ class AdvancedCoordinatesComponent {
|
|
|
2895
2868
|
inLambert2 = { 32198: true, 3798: true };
|
|
2896
2869
|
mapState$$;
|
|
2897
2870
|
formStatus$$;
|
|
2898
|
-
|
|
2899
|
-
projectionsConstraints;
|
|
2871
|
+
projectionsLimitations = input({}, { ...(ngDevMode ? { debugName: "projectionsLimitations" } : /* istanbul ignore next */ {}), transform: (value) => value ?? {} });
|
|
2900
2872
|
defaultProj;
|
|
2901
|
-
currentZones = {
|
|
2873
|
+
currentZones = {
|
|
2874
|
+
utm: undefined,
|
|
2875
|
+
mtm: undefined
|
|
2876
|
+
};
|
|
2877
|
+
projectionsConstraints;
|
|
2902
2878
|
units = true;
|
|
2903
2879
|
get map() {
|
|
2904
2880
|
return this.mapState.map;
|
|
@@ -2909,12 +2885,6 @@ class AdvancedCoordinatesComponent {
|
|
|
2909
2885
|
set inputProj(value) {
|
|
2910
2886
|
this.form.patchValue({ inputProj: value });
|
|
2911
2887
|
}
|
|
2912
|
-
get projectionsLimitations() {
|
|
2913
|
-
return this._projectionsLimitations || {};
|
|
2914
|
-
}
|
|
2915
|
-
set projectionsLimitations(value) {
|
|
2916
|
-
this._projectionsLimitations = value;
|
|
2917
|
-
}
|
|
2918
2888
|
constructor() {
|
|
2919
2889
|
this.defaultProj = {
|
|
2920
2890
|
translatedValue: this.languageService.translate.instant('igo.geo.importExportForm.projections.wgs84', { code: 'EPSG:4326' }),
|
|
@@ -3068,7 +3038,7 @@ class AdvancedCoordinatesComponent {
|
|
|
3068
3038
|
* Create a list of currents projections
|
|
3069
3039
|
*/
|
|
3070
3040
|
computeProjections() {
|
|
3071
|
-
this.projectionsConstraints = computeProjectionsConstraints(this.projectionsLimitations);
|
|
3041
|
+
this.projectionsConstraints = computeProjectionsConstraints(this.projectionsLimitations());
|
|
3072
3042
|
const projections = [];
|
|
3073
3043
|
if (!this.currentCenterDefaultProj) {
|
|
3074
3044
|
this.currentCenterDefaultProj = this.map.viewController.getCenter(this.defaultProj.code);
|
|
@@ -3153,7 +3123,7 @@ class AdvancedCoordinatesComponent {
|
|
|
3153
3123
|
* @param projections Array of the InputProjections
|
|
3154
3124
|
*/
|
|
3155
3125
|
pushMtm(projections) {
|
|
3156
|
-
if (this.projectionsConstraints
|
|
3126
|
+
if (this.projectionsConstraints?.mtm) {
|
|
3157
3127
|
const zone = zoneMtm(this.currentCenterDefaultProj[0]);
|
|
3158
3128
|
const code = zone < 10 ? `EPSG:3218${zone}` : `EPSG:321${80 + zone}`;
|
|
3159
3129
|
projections.splice(3, 0, {
|
|
@@ -3230,13 +3200,15 @@ class AdvancedCoordinatesComponent {
|
|
|
3230
3200
|
lambertProjections.forEach((projection) => {
|
|
3231
3201
|
let modifiedProj = this.projections$.value;
|
|
3232
3202
|
const extent = projection.extent;
|
|
3233
|
-
const
|
|
3203
|
+
const codeMatch = projection.code.match(/\d+/);
|
|
3204
|
+
const code = codeMatch?.[0];
|
|
3234
3205
|
const currentExtentWGS = olProj.transformExtent(extent, projection.code, this.defaultProj.code);
|
|
3235
3206
|
if (coordinates[0] < currentExtentWGS[0] ||
|
|
3236
3207
|
coordinates[0] > currentExtentWGS[2] ||
|
|
3237
3208
|
coordinates[1] < currentExtentWGS[1] ||
|
|
3238
3209
|
coordinates[1] > currentExtentWGS[3]) {
|
|
3239
|
-
|
|
3210
|
+
if (code)
|
|
3211
|
+
this.inLambert2[code] = false;
|
|
3240
3212
|
if (this.inputProj.alias === projection.alias) {
|
|
3241
3213
|
this.inputProj = this.projections$.value[0];
|
|
3242
3214
|
}
|
|
@@ -3244,17 +3216,17 @@ class AdvancedCoordinatesComponent {
|
|
|
3244
3216
|
this.projections$.next(modifiedProj);
|
|
3245
3217
|
}
|
|
3246
3218
|
else {
|
|
3247
|
-
if (!this.inLambert2[code]) {
|
|
3219
|
+
if (code && !this.inLambert2[code]) {
|
|
3248
3220
|
this.projections$.next(modifiedProj.concat(projection));
|
|
3249
3221
|
this.inLambert2[code] = true;
|
|
3250
3222
|
}
|
|
3251
3223
|
}
|
|
3252
3224
|
});
|
|
3253
3225
|
}
|
|
3254
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.
|
|
3255
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.
|
|
3226
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.19", ngImport: i0, type: AdvancedCoordinatesComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
3227
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.19", type: AdvancedCoordinatesComponent, isStandalone: true, selector: "igo-advanced-coordinates", inputs: { projectionsLimitations: { classPropertyName: "projectionsLimitations", publicName: "projectionsLimitations", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "<div class=\"advanced-coordinates__coordinates-container\">\n <div class=\"advanced-coordinates__coordinates-container__inner\">\n @if (units) {\n <mat-form-field subscriptSizing=\"dynamic\">\n <mat-label>{{\n 'igo.integration.advanced-map-tool.advanced-coordinates.lon'\n | translate\n }}</mat-label>\n <textarea\n #textArea\n matInput\n readonly\n rows=\"1\"\n [placeholder]=\"\n 'igo.integration.advanced-map-tool.advanced-coordinates.lon'\n | translate\n \"\n [value]=\"coordinates[0]\"\n ></textarea>\n </mat-form-field>\n } @else {\n <mat-form-field subscriptSizing=\"dynamic\">\n <textarea\n #textArea\n matInput\n readonly\n rows=\"1\"\n [placeholder]=\"\n 'igo.integration.advanced-map-tool.advanced-coordinates.est'\n | translate\n \"\n [value]=\"coordinates[0]\"\n ></textarea>\n </mat-form-field>\n }\n\n @if (units) {\n <mat-form-field subscriptSizing=\"dynamic\">\n <mat-label>{{\n 'igo.integration.advanced-map-tool.advanced-coordinates.lat'\n | translate\n }}</mat-label>\n <textarea\n #textArea\n matInput\n readonly\n rows=\"1\"\n [placeholder]=\"\n 'igo.integration.advanced-map-tool.advanced-coordinates.lat'\n | translate\n \"\n [value]=\"coordinates[1]\"\n ></textarea>\n </mat-form-field>\n } @else {\n <mat-form-field subscriptSizing=\"dynamic\">\n <textarea\n #textArea\n matInput\n readonly\n rows=\"1\"\n [placeholder]=\"\n 'igo.integration.advanced-map-tool.advanced-coordinates.nord'\n | translate\n \"\n [value]=\"coordinates[1]\"\n ></textarea>\n </mat-form-field>\n }\n <button\n mat-icon-button\n [attr.aria-label]=\"\n 'igo.integration.advanced-map-tool.advanced-coordinates.copy'\n | translate\n \"\n class=\"igo-form-button-group advanced-coordinates__copy-coordinates\"\n (click)=\"copyTextToClipboard()\"\n >\n <mat-icon>content_copy</mat-icon>\n </button>\n </div>\n\n <form class=\"igo-form advanced-coordinates__form\" [formGroup]=\"form\">\n <div class=\"advanced-coordinates__coordinates-container__inner\">\n <mat-form-field class=\"igo-input-container\" subscriptSizing=\"dynamic\">\n <mat-label>{{\n 'igo.integration.advanced-map-tool.advanced-coordinates.coordSystem'\n | translate\n }}</mat-label>\n <mat-select [(value)]=\"inputProj\">\n @for (projection of projections$ | async; track projection) {\n <mat-option\n matTooltipShowDelay=\"500\"\n [value]=\"projection\"\n (click)=\"$event.stopPropagation()\"\n >\n {{ projection.translatedValue || projection.alias }}\n </mat-option>\n }\n </mat-select>\n </mat-form-field>\n </div>\n <div class=\"advanced-coordinates__coordinates-container__inner\">\n <mat-slide-toggle\n class=\"center-toggle\"\n [checked]=\"center\"\n [labelPosition]=\"'before'\"\n (change)=\"displayCenter($event.checked)\"\n >\n {{\n 'igo.integration.advanced-map-tool.advanced-coordinates.center'\n | translate\n }}\n </mat-slide-toggle>\n </div>\n </form>\n\n <p class=\"igo-zoom\">\n {{\n 'igo.integration.advanced-map-tool.advanced-coordinates.zoom' | translate\n }}\n {{ map.viewController.getZoom() }}\n </p>\n <p class=\"igo-zoom\">\n {{\n 'igo.integration.advanced-map-tool.advanced-coordinates.scale' | translate\n }}\n {{ formattedScale$ | async }}\n </p>\n <p class=\"igo-zoom\">\n {{\n 'igo.integration.advanced-map-tool.advanced-coordinates.resolution'\n | translate\n }}\n {{ map.viewController.getResolution() | number: '1.0-0' }}\n </p>\n</div>\n", styles: [":host{padding:12px 0}textarea{resize:none}.advanced-coordinates__coordinates-container{width:100%;display:flex;flex-direction:column;padding:12px 0}.advanced-coordinates__coordinates-container__inner{display:flex;align-items:center;margin-bottom:16px}.advanced-coordinates__coordinates-container__inner mat-form-field{flex:1}.advanced-coordinates__coordinates-container__inner mat-form-field:not(:first-child),.advanced-coordinates__coordinates-container__inner button:not(:first-child){margin-left:8px}.advanced-coordinates__form{display:flex;flex-direction:column}.advanced-coordinates__form mat-slide-toggle{flex:1}.advanced-coordinates__form mat-slide-toggle ::ng-deep .mdc-form-field{display:flex;justify-content:space-between}.advanced-coordinates__form mat-slide-toggle ::ng-deep .mdc-label{flex:1}\n"], dependencies: [{ kind: "ngmodule", type: MatFormFieldModule }, { kind: "component", type: i1$3.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i1$3.MatLabel, selector: "mat-label" }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i2$2.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly", "disabledInteractive"], exportAs: ["matInput"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i1.MatIconButton, selector: "button[mat-icon-button], a[mat-icon-button], button[matIconButton], a[matIconButton]", exportAs: ["matButton", "matAnchor"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$4.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$4.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],[formArray],form:not([ngNoForm]),[ngForm]" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$4.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: MatSelectModule }, { kind: "component", type: i6.MatSelect, selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth", "canSelectNullableOptions"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "component", type: i6.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "ngmodule", type: MatOptionModule }, { kind: "ngmodule", type: MatSlideToggleModule }, { kind: "component", type: i7.MatSlideToggle, selector: "mat-slide-toggle", inputs: ["name", "id", "labelPosition", "aria-label", "aria-labelledby", "aria-describedby", "required", "color", "disabled", "disableRipple", "tabIndex", "checked", "hideIcon", "disabledInteractive"], outputs: ["change", "toggleChange"], exportAs: ["matSlideToggle"] }, { kind: "ngmodule", type: IgoLanguageModule }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: DecimalPipe, name: "number" }, { kind: "pipe", type: i3$1.TranslatePipe, name: "translate" }] });
|
|
3256
3228
|
}
|
|
3257
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
3229
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.19", ngImport: i0, type: AdvancedCoordinatesComponent, decorators: [{
|
|
3258
3230
|
type: Component,
|
|
3259
3231
|
args: [{ selector: 'igo-advanced-coordinates', imports: [
|
|
3260
3232
|
MatFormFieldModule,
|
|
@@ -3270,9 +3242,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.10", ngImpo
|
|
|
3270
3242
|
DecimalPipe,
|
|
3271
3243
|
IgoLanguageModule
|
|
3272
3244
|
], 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
|
-
}] } });
|
|
3245
|
+
}], ctorParameters: () => [], propDecorators: { projectionsLimitations: [{ type: i0.Input, args: [{ isSignal: true, alias: "projectionsLimitations", required: false }] }] } });
|
|
3276
3246
|
|
|
3277
3247
|
class AdvancedSwipeComponent {
|
|
3278
3248
|
mapState = inject(MapState);
|
|
@@ -3338,22 +3308,22 @@ class AdvancedSwipeComponent {
|
|
|
3338
3308
|
applyNewLayers(e) {
|
|
3339
3309
|
this.startSwipe(false); // l'approche KISS
|
|
3340
3310
|
this.startSwipe(true);
|
|
3341
|
-
if (e.
|
|
3342
|
-
e.
|
|
3311
|
+
if (e.selected) {
|
|
3312
|
+
e.select(false);
|
|
3343
3313
|
}
|
|
3344
3314
|
const allLayers = this.userControlledLayerList?.length;
|
|
3345
3315
|
const selectedLayers = this.form.controls.layers.value.length;
|
|
3346
3316
|
if (selectedLayers === allLayers) {
|
|
3347
|
-
e.
|
|
3317
|
+
e.select(true);
|
|
3348
3318
|
}
|
|
3349
3319
|
}
|
|
3350
3320
|
/**
|
|
3351
3321
|
* Select all list of layers and restart a tool
|
|
3352
3322
|
*/
|
|
3353
3323
|
selectAll(e) {
|
|
3354
|
-
if (e.
|
|
3324
|
+
if (e.selected) {
|
|
3355
3325
|
this.form.controls.layers.setValue(this.userControlledLayerList);
|
|
3356
|
-
e.
|
|
3326
|
+
e.select(true);
|
|
3357
3327
|
}
|
|
3358
3328
|
else {
|
|
3359
3329
|
this.form.controls.layers.setValue([]);
|
|
@@ -3379,10 +3349,10 @@ class AdvancedSwipeComponent {
|
|
|
3379
3349
|
contextEmit() {
|
|
3380
3350
|
this.toolState.toolbox.activateTool('contextManager');
|
|
3381
3351
|
}
|
|
3382
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.
|
|
3383
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.
|
|
3352
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.19", ngImport: i0, type: AdvancedSwipeComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
3353
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.19", type: AdvancedSwipeComponent, isStandalone: true, selector: "igo-advanced-swipe", ngImport: i0, template: "@if (userControlledLayerList.length) {\n <div class=\"igo-swipe-select-container\">\n <form class=\"igo-form\" [formGroup]=\"form\">\n <mat-form-field>\n <mat-label>{{\n 'igo.integration.advanced-map-tool.advanced-swipe.swipe-select'\n | translate\n }}</mat-label>\n <mat-select formControlName=\"layers\" multiple>\n <mat-option [value]=\"1\" (click)=\"selectAll(e)\" #e>\n {{\n 'igo.integration.advanced-map-tool.advanced-swipe.selectAll'\n | translate\n }}\n </mat-option>\n <mat-divider />\n @for (layer of userControlledLayerList; track layer) {\n <mat-option [value]=\"layer\" (click)=\"applyNewLayers(e)\">{{\n layer.title\n }}</mat-option>\n }\n </mat-select>\n </mat-form-field>\n <mat-slide-toggle\n class=\"swipe-toggle\"\n [checked]=\"swipe\"\n [labelPosition]=\"'before'\"\n (change)=\"startSwipe($event.checked)\"\n >\n {{\n 'igo.integration.advanced-map-tool.advanced-swipe.swipe' | translate\n }}\n </mat-slide-toggle>\n </form>\n </div>\n} @else {\n <mat-list>\n <p class=\"map-empty\">\n {{ 'igo.integration.advanced-map-tool.advanced-swipe.empty' | translate }}\n </p>\n <p class=\"map-empty\">\n {{\n 'igo.integration.advanced-map-tool.advanced-swipe.customize' | translate\n }}\n </p>\n <mat-list-item>\n <mat-icon matListItemIcon>search</mat-icon>\n <span matListItemTitle class=\"search-tool\" (click)=\"searchEmit()\">\n {{\n 'igo.integration.advanced-map-tool.advanced-swipe.search-tool'\n | translate\n }}\n </span>\n </mat-list-item>\n <mat-list-item>\n <mat-icon matListItemIcon>library_add</mat-icon>\n <span matListItemTitle class=\"catalog-tool\" (click)=\"catalogEmit()\">\n {{\n 'igo.integration.advanced-map-tool.advanced-swipe.catalog-tool'\n | translate\n }}\n </span>\n </mat-list-item>\n <mat-list-item>\n <mat-icon matListItemIcon>star</mat-icon>\n <span matListItemTitle class=\"context-tool\" (click)=\"contextEmit()\">\n {{\n 'igo.integration.advanced-map-tool.advanced-swipe.context-tool'\n | translate\n }}\n </span>\n </mat-list-item>\n </mat-list>\n}\n", styles: [":host{padding:12px 0}:host .igo-swipe-select-container{padding:12px 0}:host .igo-swipe-select-container mat-form-field{width:100%}:host .igo-form{display:flex;flex-direction:column;width:100%}:host mat-slide-toggle{flex:1}:host mat-slide-toggle ::ng-deep .mdc-form-field{display:flex;justify-content:space-between}:host mat-slide-toggle ::ng-deep .mdc-label{flex:1}:host .map-empty{text-align:justify}:host .search-tool,:host .catalog-tool,:host .context-tool{cursor:pointer}:host mat-list mat-list-item h4{font-weight:700}:host mat-list-item ::ng-deep .mdc-list-item__primary-text{font-size:smaller}:host .advanced-tool-line{height:2px;background-color:gray}\n"], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$4.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$4.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],[formArray],form:not([ngNoForm]),[ngForm]" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$4.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$4.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "ngmodule", type: MatFormFieldModule }, { kind: "component", type: i1$3.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i1$3.MatLabel, selector: "mat-label" }, { kind: "ngmodule", type: MatSelectModule }, { kind: "component", type: i6.MatSelect, selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth", "canSelectNullableOptions"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "component", type: i6.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "ngmodule", type: MatOptionModule }, { kind: "ngmodule", type: MatDividerModule }, { kind: "component", type: i4$1.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { kind: "ngmodule", type: MatSlideToggleModule }, { kind: "component", type: i7.MatSlideToggle, selector: "mat-slide-toggle", inputs: ["name", "id", "labelPosition", "aria-label", "aria-labelledby", "aria-describedby", "required", "color", "disabled", "disableRipple", "tabIndex", "checked", "hideIcon", "disabledInteractive"], outputs: ["change", "toggleChange"], exportAs: ["matSlideToggle"] }, { kind: "ngmodule", type: MatListModule }, { kind: "component", type: i1$5.MatList, selector: "mat-list", exportAs: ["matList"] }, { kind: "component", type: i1$5.MatListItem, selector: "mat-list-item, a[mat-list-item], button[mat-list-item]", inputs: ["activated"], exportAs: ["matListItem"] }, { kind: "directive", type: i1$5.MatListItemIcon, selector: "[matListItemIcon]" }, { kind: "directive", type: i1$5.MatListItemTitle, selector: "[matListItemTitle]" }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: IgoLanguageModule }, { kind: "pipe", type: i3$1.TranslatePipe, name: "translate" }] });
|
|
3384
3354
|
}
|
|
3385
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
3355
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.19", ngImport: i0, type: AdvancedSwipeComponent, decorators: [{
|
|
3386
3356
|
type: Component,
|
|
3387
3357
|
args: [{ selector: 'igo-advanced-swipe', imports: [
|
|
3388
3358
|
FormsModule,
|
|
@@ -3395,7 +3365,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.10", ngImpo
|
|
|
3395
3365
|
MatListModule,
|
|
3396
3366
|
MatIconModule,
|
|
3397
3367
|
IgoLanguageModule
|
|
3398
|
-
], template: "@if (userControlledLayerList
|
|
3368
|
+
], 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
3369
|
}], ctorParameters: () => [] });
|
|
3400
3370
|
|
|
3401
3371
|
let AdvancedMapToolComponent = class AdvancedMapToolComponent {
|
|
@@ -3418,8 +3388,8 @@ let AdvancedMapToolComponent = class AdvancedMapToolComponent {
|
|
|
3418
3388
|
}
|
|
3419
3389
|
this.mapState.map.geolocationController.followPosition = value;
|
|
3420
3390
|
}
|
|
3421
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.
|
|
3422
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.
|
|
3391
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.19", ngImport: i0, type: AdvancedMapToolComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
3392
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.19", type: AdvancedMapToolComponent, isStandalone: true, selector: "igo-advanced-map-tool", ngImport: i0, template: "<h4 class=\"nameOfTool\">\n {{\n 'igo.integration.advanced-map-tool.advanced-swipe.swipe-tool' | translate\n }}\n</h4>\n<igo-advanced-swipe />\n<mat-divider class=\"advanced-tool-line\" />\n<h4 class=\"nameOfTool\">\n {{\n 'igo.integration.advanced-map-tool.advanced-coordinates.coordinates'\n | translate\n }}\n</h4>\n<igo-advanced-coordinates />\n<mat-divider class=\"advanced-tool-line\" />\n\n<h4 class=\"nameOfTool\">\n {{ 'igo.integration.advanced-map-tool.geolocation.title' | translate }}\n</h4>\n\n<div class=\"igo-input-container\">\n <div class=\"geolocation-slide-toggle-container\">\n <mat-slide-toggle\n class=\"geolocation-option\"\n [checked]=\"tracking$ | async\"\n [labelPosition]=\"'before'\"\n (change)=\"toggleTracking($event.checked)\"\n >\n {{ 'igo.integration.advanced-map-tool.geolocation.tracking' | translate }}\n </mat-slide-toggle>\n\n <mat-slide-toggle\n class=\"geolocation-option\"\n [disabled]=\"(tracking$ | async) !== true\"\n [labelPosition]=\"'before'\"\n [checked]=\"followPosition$ | async\"\n (change)=\"toggleFollow($event.checked)\"\n >\n {{ 'igo.integration.advanced-map-tool.geolocation.follow' | translate }}\n </mat-slide-toggle>\n </div>\n</div>\n", styles: [":host{display:block;padding:0 16px 12px}.nameOfTool{text-align:center;margin:12px 0 8px}.advanced-tool-line{height:2px;background-color:gray}.geolocation-slide-toggle-container{display:flex;flex-direction:column;padding:12px 0}.geolocation-slide-toggle-container mat-slide-toggle{flex:1}.geolocation-slide-toggle-container mat-slide-toggle:not(:last-child){margin-bottom:16px}.geolocation-slide-toggle-container mat-slide-toggle ::ng-deep .mdc-form-field{display:flex;justify-content:space-between}.geolocation-slide-toggle-container mat-slide-toggle ::ng-deep .mdc-label{flex:1}mat-divider{margin:0 -16px}\n"], dependencies: [{ kind: "component", type: AdvancedSwipeComponent, selector: "igo-advanced-swipe" }, { kind: "ngmodule", type: MatDividerModule }, { kind: "component", type: i4$1.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { kind: "component", type: AdvancedCoordinatesComponent, selector: "igo-advanced-coordinates", inputs: ["projectionsLimitations"] }, { kind: "ngmodule", type: MatSlideToggleModule }, { kind: "component", type: i7.MatSlideToggle, selector: "mat-slide-toggle", inputs: ["name", "id", "labelPosition", "aria-label", "aria-labelledby", "aria-describedby", "required", "color", "disabled", "disableRipple", "tabIndex", "checked", "hideIcon", "disabledInteractive"], outputs: ["change", "toggleChange"], exportAs: ["matSlideToggle"] }, { kind: "ngmodule", type: IgoLanguageModule }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: i3$1.TranslatePipe, name: "translate" }] });
|
|
3423
3393
|
};
|
|
3424
3394
|
AdvancedMapToolComponent = __decorate([
|
|
3425
3395
|
ToolComponent({
|
|
@@ -3431,7 +3401,7 @@ AdvancedMapToolComponent = __decorate([
|
|
|
3431
3401
|
* Tool to handle the advanced map tools
|
|
3432
3402
|
*/
|
|
3433
3403
|
], AdvancedMapToolComponent);
|
|
3434
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
3404
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.19", ngImport: i0, type: AdvancedMapToolComponent, decorators: [{
|
|
3435
3405
|
type: Component,
|
|
3436
3406
|
args: [{ selector: 'igo-advanced-map-tool', imports: [
|
|
3437
3407
|
AdvancedSwipeComponent,
|
|
@@ -3445,54 +3415,46 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.10", ngImpo
|
|
|
3445
3415
|
|
|
3446
3416
|
class WorkspaceButtonComponent {
|
|
3447
3417
|
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;
|
|
3418
|
+
destroyRef = inject(DestroyRef);
|
|
3419
|
+
hasWorkspace = signal(false, ...(ngDevMode ? [{ debugName: "hasWorkspace" }] : /* istanbul ignore next */ []));
|
|
3420
|
+
layer = input(...(ngDevMode ? [undefined, { debugName: "layer" }] : /* istanbul ignore next */ []));
|
|
3459
3421
|
color = input('primary', ...(ngDevMode ? [{ debugName: "color" }] : /* istanbul ignore next */ []));
|
|
3460
3422
|
ngOnInit() {
|
|
3461
|
-
|
|
3423
|
+
combineLatest([
|
|
3462
3424
|
this.workspaceState.workspaceEnabled$,
|
|
3463
|
-
this.layer
|
|
3464
|
-
])
|
|
3465
|
-
|
|
3466
|
-
|
|
3467
|
-
|
|
3425
|
+
toObservable(this.layer)
|
|
3426
|
+
])
|
|
3427
|
+
.pipe(takeUntilDestroyed(this.destroyRef))
|
|
3428
|
+
.subscribe(([enabled, layer]) => {
|
|
3429
|
+
const withWorkspace = enabled &&
|
|
3430
|
+
!!layer &&
|
|
3431
|
+
isLayerItem(layer) &&
|
|
3432
|
+
(layer.options.workspace?.enabled ?? false);
|
|
3433
|
+
this.hasWorkspace.set(withWorkspace);
|
|
3434
|
+
});
|
|
3468
3435
|
}
|
|
3469
3436
|
activateWorkspace() {
|
|
3437
|
+
const layer = this.layer();
|
|
3470
3438
|
if (this.workspaceState.workspace$.value &&
|
|
3471
|
-
|
|
3472
|
-
|
|
3439
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
3440
|
+
this.workspaceState.workspace$.value.layer.id === layer?.id &&
|
|
3473
3441
|
this.workspaceState.expanded()) {
|
|
3474
3442
|
this.workspaceState.expanded.set(false);
|
|
3475
3443
|
}
|
|
3476
3444
|
else {
|
|
3477
3445
|
this.workspaceState.expanded.set(true);
|
|
3478
|
-
|
|
3446
|
+
if (layer?.id) {
|
|
3447
|
+
this.workspaceState.setActiveWorkspaceById(layer.id);
|
|
3448
|
+
}
|
|
3479
3449
|
}
|
|
3480
3450
|
}
|
|
3481
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.
|
|
3482
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.
|
|
3451
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.19", ngImport: i0, type: WorkspaceButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
3452
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.19", type: WorkspaceButtonComponent, isStandalone: true, selector: "igo-workspace-button", inputs: { layer: { classPropertyName: "layer", publicName: "layer", isSignal: true, isRequired: false, transformFunction: null }, color: { classPropertyName: "color", publicName: "color", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "@if (hasWorkspace()) {\n <button\n mat-icon-button\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"'igo.integration.workspace.toggleWorkspace' | translate\"\n [color]=\"color()\"\n (click)=\"activateWorkspace()\"\n >\n <mat-icon>table</mat-icon>\n </button>\n}\n", styles: [""], dependencies: [{ kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i1.MatIconButton, selector: "button[mat-icon-button], a[mat-icon-button], button[matIconButton], a[matIconButton]", exportAs: ["matButton", "matAnchor"] }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i2.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: IgoLanguageModule }, { kind: "pipe", type: i3$1.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
3483
3453
|
}
|
|
3484
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
3454
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.19", ngImport: i0, type: WorkspaceButtonComponent, decorators: [{
|
|
3485
3455
|
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 }] }] } });
|
|
3456
|
+
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" }]
|
|
3457
|
+
}], propDecorators: { layer: [{ type: i0.Input, args: [{ isSignal: true, alias: "layer", required: false }] }], color: [{ type: i0.Input, args: [{ isSignal: true, alias: "color", required: false }] }] } });
|
|
3496
3458
|
|
|
3497
3459
|
let MapDetailsToolComponent = class MapDetailsToolComponent {
|
|
3498
3460
|
mapState = inject(MapState);
|
|
@@ -3502,7 +3464,7 @@ let MapDetailsToolComponent = class MapDetailsToolComponent {
|
|
|
3502
3464
|
configService = inject(ConfigService);
|
|
3503
3465
|
mediaService = inject(MediaService);
|
|
3504
3466
|
cdr = inject(ChangeDetectorRef);
|
|
3505
|
-
isDesktop;
|
|
3467
|
+
isDesktop = false;
|
|
3506
3468
|
delayedShowEmptyMapContent = false;
|
|
3507
3469
|
toggleLegendOnVisibilityChange = input(false, ...(ngDevMode ? [{ debugName: "toggleLegendOnVisibilityChange" }] : /* istanbul ignore next */ []));
|
|
3508
3470
|
expandLegendOfVisibleLayers = input(false, ...(ngDevMode ? [{ debugName: "expandLegendOfVisibleLayers" }] : /* istanbul ignore next */ []));
|
|
@@ -3601,8 +3563,8 @@ let MapDetailsToolComponent = class MapDetailsToolComponent {
|
|
|
3601
3563
|
this.cdr.detectChanges();
|
|
3602
3564
|
});
|
|
3603
3565
|
}
|
|
3604
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.
|
|
3605
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.
|
|
3566
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.19", ngImport: i0, type: MapDetailsToolComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
3567
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.19", type: MapDetailsToolComponent, isStandalone: true, selector: "igo-map-details-tool", inputs: { toggleLegendOnVisibilityChange: { classPropertyName: "toggleLegendOnVisibilityChange", publicName: "toggleLegendOnVisibilityChange", isSignal: true, isRequired: false, transformFunction: null }, expandLegendOfVisibleLayers: { classPropertyName: "expandLegendOfVisibleLayers", publicName: "expandLegendOfVisibleLayers", isSignal: true, isRequired: false, transformFunction: null }, updateLegendOnResolutionChange: { classPropertyName: "updateLegendOnResolutionChange", publicName: "updateLegendOnResolutionChange", isSignal: true, isRequired: false, transformFunction: null }, ogcButton: { classPropertyName: "ogcButton", publicName: "ogcButton", isSignal: true, isRequired: false, transformFunction: null }, timeButton: { classPropertyName: "timeButton", publicName: "timeButton", isSignal: true, isRequired: false, transformFunction: null }, layerListControls: { classPropertyName: "layerListControls", publicName: "layerListControls", isSignal: true, isRequired: false, transformFunction: null }, queryBadge: { classPropertyName: "queryBadge", publicName: "queryBadge", isSignal: true, isRequired: false, transformFunction: null }, layerAdditionAllowed: { classPropertyName: "layerAdditionAllowed", publicName: "layerAdditionAllowed", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "@if ((layers$ | async)?.length) {\n <igo-layer-viewer\n class=\"mapDetailsList\"\n [map]=\"map\"\n [options]=\"layerViewerOptions\"\n [excludeBaseLayers]=\"excludeBaseLayers\"\n [isDesktop]=\"isDesktop\"\n >\n <ng-template #customBottomActions let-layer=\"layer\">\n <igo-workspace-button [layer]=\"layer\" />\n <igo-export-button [layer]=\"layer\" (click)=\"activateExport(layer)\" />\n <igo-ogc-filter-button [header]=\"ogcButton()\" [layer]=\"layer\" />\n <igo-time-filter-button [header]=\"timeButton()\" [layer]=\"layer\" />\n <igo-track-feature-button [trackFeature]=\"true\" [layer]=\"layer\" />\n <igo-metadata-button [layer]=\"layer\" />\n </ng-template>\n </igo-layer-viewer>\n} @else {\n @if (delayedShowEmptyMapContent) {\n <mat-list>\n <p class=\"map-empty\">\n {{ 'igo.integration.mapTool.empty' | translate }}\n </p>\n @if (\n layerAdditionAllowed() &&\n (searchToolInToolbar || catalogToolInToolbar || contextToolInToolbar)\n ) {\n <p class=\"map-empty\">\n {{ 'igo.integration.mapTool.customize' | translate }}\n </p>\n }\n @if (layerAdditionAllowed() && searchToolInToolbar) {\n <mat-list-item>\n <mat-icon matListItemIcon>search</mat-icon>\n <span matListItemTitle class=\"search-tool\" (click)=\"searchEmit()\">\n {{ 'igo.integration.mapTool.search-tool' | translate }}\n </span>\n </mat-list-item>\n }\n @if (layerAdditionAllowed() && catalogToolInToolbar) {\n <mat-list-item>\n <mat-icon matListItemIcon>library_add</mat-icon>\n <span matListItemTitle class=\"catalog-tool\" (click)=\"catalogEmit()\">\n {{ 'igo.integration.mapTool.catalog-tool' | translate }}\n </span>\n </mat-list-item>\n }\n @if (layerAdditionAllowed() && contextToolInToolbar) {\n <mat-list-item>\n <mat-icon matListItemIcon>star</mat-icon>\n <span matListItemTitle class=\"context-tool\" (click)=\"contextEmit()\">\n {{ 'igo.integration.mapTool.context-tool' | translate }}\n </span>\n </mat-list-item>\n }\n </mat-list>\n }\n}\n", styles: [":host .map-empty,:host .search-tool,:host .catalog-tool,:host .context-tool{margin:10px}:host .map-empty{text-align:justify}:host .search-tool,:host .catalog-tool,:host .context-tool{cursor:pointer}:host mat-list mat-list-item h4{font-weight:700}:host mat-list-item ::ng-deep .mdc-list-item__primary-text{font-size:smaller}:host mat-list.mat-mdc-list-base mat-list-item.mat-mdc-list-item ::ng-deep div.mdc-list-item__content div.mdc-list-item__primary-text{padding-left:5px}:host .mapDetailsList{overflow:hidden}\n"], dependencies: [{ kind: "component", type: LayerViewerComponent, selector: "igo-layer-viewer", inputs: ["map", "options", "isDesktop", "excludeBaseLayers"], outputs: ["appliedFilterAndSort"] }, { kind: "component", type: WorkspaceButtonComponent, selector: "igo-workspace-button", inputs: ["layer", "color"] }, { kind: "component", type: ExportButtonComponent, selector: "igo-export-button", inputs: ["layer", "color"] }, { kind: "component", type: OgcFilterButtonComponent, selector: "igo-ogc-filter-button", inputs: ["layer", "map", "color", "header"] }, { kind: "component", type: TimeFilterButtonComponent, selector: "igo-time-filter-button", inputs: ["layer", "color", "header"] }, { kind: "component", type: TrackFeatureButtonComponent, selector: "igo-track-feature-button", inputs: ["layer", "trackFeature"], outputs: ["trackFeatureChange"] }, { kind: "component", type: MetadataButtonComponent, selector: "igo-metadata-button", inputs: ["layer", "color"] }, { kind: "ngmodule", type: MatListModule }, { kind: "component", type: i1$5.MatList, selector: "mat-list", exportAs: ["matList"] }, { kind: "component", type: i1$5.MatListItem, selector: "mat-list-item, a[mat-list-item], button[mat-list-item]", inputs: ["activated"], exportAs: ["matListItem"] }, { kind: "directive", type: i1$5.MatListItemIcon, selector: "[matListItemIcon]" }, { kind: "directive", type: i1$5.MatListItemTitle, selector: "[matListItemTitle]" }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: IgoLanguageModule }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: i3$1.TranslatePipe, name: "translate" }] });
|
|
3606
3568
|
};
|
|
3607
3569
|
MapDetailsToolComponent = __decorate([
|
|
3608
3570
|
ToolComponent({
|
|
@@ -3612,7 +3574,7 @@ MapDetailsToolComponent = __decorate([
|
|
|
3612
3574
|
}),
|
|
3613
3575
|
__metadata("design:paramtypes", [])
|
|
3614
3576
|
], MapDetailsToolComponent);
|
|
3615
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
3577
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.19", ngImport: i0, type: MapDetailsToolComponent, decorators: [{
|
|
3616
3578
|
type: Component,
|
|
3617
3579
|
args: [{ selector: 'igo-map-details-tool', imports: [
|
|
3618
3580
|
LayerViewerComponent,
|
|
@@ -3626,7 +3588,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.10", ngImpo
|
|
|
3626
3588
|
MatIconModule,
|
|
3627
3589
|
AsyncPipe,
|
|
3628
3590
|
IgoLanguageModule
|
|
3629
|
-
], template: "@if ((layers$ | async)
|
|
3591
|
+
], 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
3592
|
}], 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
3593
|
|
|
3632
3594
|
let MapLegendToolComponent = class MapLegendToolComponent {
|
|
@@ -3717,10 +3679,8 @@ let MapLegendToolComponent = class MapLegendToolComponent {
|
|
|
3717
3679
|
return true;
|
|
3718
3680
|
}
|
|
3719
3681
|
ngOnDestroy() {
|
|
3720
|
-
this.resolution
|
|
3721
|
-
|
|
3722
|
-
this.visibleOrInRangeLayers$$.unsubscribe();
|
|
3723
|
-
}
|
|
3682
|
+
this.resolution$$?.unsubscribe();
|
|
3683
|
+
this.visibleOrInRangeLayers$$?.unsubscribe();
|
|
3724
3684
|
}
|
|
3725
3685
|
searchEmit() {
|
|
3726
3686
|
this.toolState.toolbox.activateTool('searchResults');
|
|
@@ -3731,8 +3691,8 @@ let MapLegendToolComponent = class MapLegendToolComponent {
|
|
|
3731
3691
|
contextEmit() {
|
|
3732
3692
|
this.toolState.toolbox.activateTool('contextManager');
|
|
3733
3693
|
}
|
|
3734
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.
|
|
3735
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.
|
|
3694
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.19", ngImport: i0, type: MapLegendToolComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
3695
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.19", type: MapLegendToolComponent, isStandalone: true, selector: "igo-map-legend-tool", inputs: { updateLegendOnResolutionChange: { classPropertyName: "updateLegendOnResolutionChange", publicName: "updateLegendOnResolutionChange", isSignal: true, isRequired: false, transformFunction: null }, layerAdditionAllowed: { classPropertyName: "layerAdditionAllowed", publicName: "layerAdditionAllowed", isSignal: true, isRequired: false, transformFunction: null }, allowShowAllLegends: { classPropertyName: "allowShowAllLegends", publicName: "allowShowAllLegends", isSignal: true, isRequired: false, transformFunction: null }, showAllLegendsValue: { classPropertyName: "showAllLegendsValue", publicName: "showAllLegendsValue", isSignal: true, isRequired: false, transformFunction: null }, layerListControls: { classPropertyName: "layerListControls", publicName: "layerListControls", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "@if (showAllLegend()) {\n <igo-layer-legend-list\n igoLayerLegendListBinding\n [excludeBaseLayers]=\"excludeBaseLayers\"\n [allowShowAllLegends]=\"allowShowAllLegends()\"\n [updateLegendOnResolutionChange]=\"updateLegendOnResolutionChange()\"\n [showAllLegendsValue]=\"(showAllLegendsValue$ | async)!\"\n (allLegendsShown)=\"onShowAllLegends($event)\"\n />\n}\n@if ((layers$ | async)?.length !== 0) {\n} @else {\n @if (delayedShowEmptyMapContent) {\n <mat-list>\n <p class=\"map-empty\">\n {{ 'igo.integration.mapTool.empty' | translate }}\n </p>\n @if (\n layerAdditionAllowed() &&\n (searchToolInToolbar || catalogToolInToolbar || contextToolInToolbar)\n ) {\n <p class=\"map-empty\">\n {{ 'igo.integration.mapTool.customize' | translate }}\n </p>\n }\n @if (layerAdditionAllowed() && searchToolInToolbar) {\n <mat-list-item>\n <mat-icon matListItemIcon>search</mat-icon>\n <span matListItemTitle class=\"search-tool\" (click)=\"searchEmit()\">\n {{ 'igo.integration.mapTool.search-tool' | translate }}\n </span>\n </mat-list-item>\n }\n @if (layerAdditionAllowed() && catalogToolInToolbar) {\n <mat-list-item>\n <mat-icon matListItemIcon>library_add</mat-icon>\n <span matListItemTitle class=\"catalog-tool\" (click)=\"catalogEmit()\">\n {{ 'igo.integration.mapTool.catalog-tool' | translate }}\n </span>\n </mat-list-item>\n }\n @if (layerAdditionAllowed() && contextToolInToolbar) {\n <mat-list-item>\n <mat-icon matListItemIcon>star</mat-icon>\n <span matListItemTitle class=\"context-tool\" (click)=\"contextEmit()\">\n {{ 'igo.integration.mapTool.context-tool' | translate }}\n </span>\n </mat-list-item>\n }\n </mat-list>\n }\n}\n\n@if (\n !allowShowAllLegends() &&\n (layers$ | async)?.length !== 0 &&\n (visibleOrInRangeLayers$ | async)?.length === 0\n) {\n <p class=\"map-empty\">\n {{\n (visibleLayers$ | async)?.length\n ? ('igo.integration.mapTool.noLayersInRange' | translate)\n : ('igo.integration.mapTool.noLayersVisible' | translate)\n }}\n </p>\n}\n", styles: [":host .map-empty,:host .search-tool,:host .catalog-tool,:host .context-tool{margin:10px}:host .map-empty{text-align:justify}:host .search-tool,:host .catalog-tool,:host .context-tool{cursor:pointer}:host mat-list mat-list-item h4{font-weight:700}:host mat-list-item ::ng-deep .mdc-list-item__primary-text{font-size:smaller}:host mat-list.mat-mdc-list-base mat-list-item.mat-mdc-list-item ::ng-deep div.mdc-list-item__content div.mdc-list-item__primary-text{padding-left:5px}\n"], dependencies: [{ kind: "component", type: LayerLegendListComponent, selector: "igo-layer-legend-list", inputs: ["layers", "excludeBaseLayers", "updateLegendOnResolutionChange", "allowShowAllLegends", "showAllLegendsValue"], outputs: ["layersChange", "showAllLegendsValueChange", "allLegendsShown"] }, { kind: "directive", type: LayerLegendListBindingDirective, selector: "[igoLayerLegendListBinding]" }, { kind: "ngmodule", type: MatListModule }, { kind: "component", type: i1$5.MatList, selector: "mat-list", exportAs: ["matList"] }, { kind: "component", type: i1$5.MatListItem, selector: "mat-list-item, a[mat-list-item], button[mat-list-item]", inputs: ["activated"], exportAs: ["matListItem"] }, { kind: "directive", type: i1$5.MatListItemIcon, selector: "[matListItemIcon]" }, { kind: "directive", type: i1$5.MatListItemTitle, selector: "[matListItemTitle]" }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: IgoLanguageModule }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: i3$1.TranslatePipe, name: "translate" }] });
|
|
3736
3696
|
};
|
|
3737
3697
|
MapLegendToolComponent = __decorate([
|
|
3738
3698
|
ToolComponent({
|
|
@@ -3741,7 +3701,7 @@ MapLegendToolComponent = __decorate([
|
|
|
3741
3701
|
icon: 'format_list_bulleted'
|
|
3742
3702
|
})
|
|
3743
3703
|
], MapLegendToolComponent);
|
|
3744
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
3704
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.19", ngImport: i0, type: MapLegendToolComponent, decorators: [{
|
|
3745
3705
|
type: Component,
|
|
3746
3706
|
args: [{ selector: 'igo-map-legend-tool', imports: [
|
|
3747
3707
|
LayerLegendListComponent,
|
|
@@ -3750,7 +3710,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.10", ngImpo
|
|
|
3750
3710
|
MatIconModule,
|
|
3751
3711
|
AsyncPipe,
|
|
3752
3712
|
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
|
|
3713
|
+
], 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
3714
|
}], 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
3715
|
|
|
3756
3716
|
/**
|
|
@@ -3804,14 +3764,14 @@ class MapProximityState {
|
|
|
3804
3764
|
if (!currentPos || !currentPos.position) {
|
|
3805
3765
|
return;
|
|
3806
3766
|
}
|
|
3807
|
-
coord = olProj.transform(currentPos.position, currentPos.projection, this.map.
|
|
3767
|
+
coord = olProj.transform(currentPos.position, currentPos.projection, this.map.projectionCode);
|
|
3808
3768
|
this.map.mapCenter$.next(false);
|
|
3809
3769
|
}
|
|
3810
3770
|
else {
|
|
3811
3771
|
coord = this.map.viewController.getCenter();
|
|
3812
3772
|
this.map.mapCenter$.next(true);
|
|
3813
3773
|
}
|
|
3814
|
-
const coordLonLat = olProj.transform(coord, this.map.
|
|
3774
|
+
const coordLonLat = olProj.transform(coord, this.map.projectionCode, 'EPSG:4269');
|
|
3815
3775
|
const roundedCoordLonLat = roundCoordTo(coordLonLat, 6);
|
|
3816
3776
|
this.currentPositionCoordinate$.next(roundedCoordLonLat);
|
|
3817
3777
|
const layersToMonitor = layers.filter((layer) => isLayerItem(layer) &&
|
|
@@ -3825,7 +3785,7 @@ class MapProximityState {
|
|
|
3825
3785
|
const olFeaturesAtCoordinate = layerSource.getFeaturesAtCoordinate(coord);
|
|
3826
3786
|
if (olFeaturesAtCoordinate && olFeaturesAtCoordinate.length) {
|
|
3827
3787
|
olFeaturesAtCoordinate.map((olFeatureAtCoordinate) => {
|
|
3828
|
-
const featureAtThisPosition = featureFromOl(olFeatureAtCoordinate, this.map.
|
|
3788
|
+
const featureAtThisPosition = featureFromOl(olFeatureAtCoordinate, this.map.projectionCode);
|
|
3829
3789
|
const title = this.getQueryTitle(featureAtThisPosition, layerToMonitor);
|
|
3830
3790
|
// todo handle imported layers without querytitle? prompt title or detect first column?
|
|
3831
3791
|
this.addFeatureToStore(layerToMonitor, coord, featureAtThisPosition, title, 0);
|
|
@@ -3836,14 +3796,17 @@ class MapProximityState {
|
|
|
3836
3796
|
const closestOlFeature = layerSource.getClosestFeatureToCoordinate(coord);
|
|
3837
3797
|
if (closestOlFeature) {
|
|
3838
3798
|
const closestOlGeom = closestOlFeature.getGeometry();
|
|
3839
|
-
|
|
3799
|
+
if (!closestOlGeom)
|
|
3800
|
+
return;
|
|
3801
|
+
const closestFeature = featureFromOl(closestOlFeature, this.map.projectionCode);
|
|
3840
3802
|
const geometryClosestPoint = closestOlGeom.getClosestPoint(coord);
|
|
3841
3803
|
const linebetween = new olLineString([
|
|
3842
3804
|
coord,
|
|
3843
3805
|
geometryClosestPoint
|
|
3844
3806
|
]);
|
|
3845
3807
|
const lineLength = measureOlGeometryLength(linebetween, 'EPSG:3857');
|
|
3846
|
-
if (lineLength
|
|
3808
|
+
if (lineLength !== undefined &&
|
|
3809
|
+
lineLength <= proximityRadiusValue) {
|
|
3847
3810
|
const title = this.getQueryTitle(closestFeature, layerToMonitor);
|
|
3848
3811
|
// todo handle imported layers without querytitle? prompt title or detect first column?
|
|
3849
3812
|
this.addFeatureToStore(layerToMonitor, coord, closestFeature, title, lineLength);
|
|
@@ -3897,8 +3860,8 @@ class MapProximityState {
|
|
|
3897
3860
|
getLabelMatch(feature, labelMatch) {
|
|
3898
3861
|
let label = labelMatch;
|
|
3899
3862
|
const labelToGet = Array.from(labelMatch.matchAll(/\$\{([^\{\}]+)\}/g));
|
|
3900
|
-
labelToGet.forEach((
|
|
3901
|
-
label = label.replace(
|
|
3863
|
+
labelToGet.forEach((entry) => {
|
|
3864
|
+
label = label.replace(entry[0], feature.properties[entry[1]]);
|
|
3902
3865
|
});
|
|
3903
3866
|
// Nothing done? check feature's attribute
|
|
3904
3867
|
if (labelToGet.length === 0 && label === labelMatch) {
|
|
@@ -3906,10 +3869,10 @@ class MapProximityState {
|
|
|
3906
3869
|
}
|
|
3907
3870
|
return label;
|
|
3908
3871
|
}
|
|
3909
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.
|
|
3910
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.
|
|
3872
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.19", ngImport: i0, type: MapProximityState, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
3873
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.19", ngImport: i0, type: MapProximityState, providedIn: 'root' });
|
|
3911
3874
|
}
|
|
3912
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
3875
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.19", ngImport: i0, type: MapProximityState, decorators: [{
|
|
3913
3876
|
type: Injectable,
|
|
3914
3877
|
args: [{
|
|
3915
3878
|
providedIn: 'root'
|
|
@@ -3933,8 +3896,8 @@ let MapProximityToolComponent = class MapProximityToolComponent {
|
|
|
3933
3896
|
get map() {
|
|
3934
3897
|
return this.mapState.map;
|
|
3935
3898
|
}
|
|
3936
|
-
userDefinedMapCenter;
|
|
3937
|
-
userDefinedFollowPosition;
|
|
3899
|
+
userDefinedMapCenter = false;
|
|
3900
|
+
userDefinedFollowPosition = false;
|
|
3938
3901
|
/**
|
|
3939
3902
|
* Table template
|
|
3940
3903
|
* @internal
|
|
@@ -3951,14 +3914,16 @@ let MapProximityToolComponent = class MapProximityToolComponent {
|
|
|
3951
3914
|
name: 'element',
|
|
3952
3915
|
title: this.languageService.translate.instant('igo.integration.map-proximity-tool.feature'),
|
|
3953
3916
|
valueAccessor: (localFeature) => {
|
|
3954
|
-
|
|
3917
|
+
const feature = localFeature;
|
|
3918
|
+
return feature.properties.element;
|
|
3955
3919
|
}
|
|
3956
3920
|
},
|
|
3957
3921
|
{
|
|
3958
3922
|
name: 'distance',
|
|
3959
3923
|
title: this.languageService.translate.instant('igo.integration.map-proximity-tool.distance'),
|
|
3960
3924
|
valueAccessor: (localFeature) => {
|
|
3961
|
-
|
|
3925
|
+
const feature = localFeature;
|
|
3926
|
+
return `${NumberUtils.roundToNDecimal(feature.properties.distance, 1)}m`;
|
|
3962
3927
|
}
|
|
3963
3928
|
}
|
|
3964
3929
|
]
|
|
@@ -3993,13 +3958,13 @@ let MapProximityToolComponent = class MapProximityToolComponent {
|
|
|
3993
3958
|
* Copy the coordinates to a clipboard
|
|
3994
3959
|
*/
|
|
3995
3960
|
copyTextToClipboard() {
|
|
3996
|
-
const successful = this.clipboard.copy(this.mapProximityState.currentPositionCoordinate$?.value
|
|
3961
|
+
const successful = this.clipboard.copy(this.mapProximityState.currentPositionCoordinate$?.value?.toString() ?? '');
|
|
3997
3962
|
if (successful) {
|
|
3998
3963
|
this.messageService.success('igo.integration.map-proximity-tool.copyMsg', 'igo.integration.map-proximity-tool.copyTitle');
|
|
3999
3964
|
}
|
|
4000
3965
|
}
|
|
4001
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.
|
|
4002
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.
|
|
3966
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.19", ngImport: i0, type: MapProximityToolComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
3967
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.19", type: MapProximityToolComponent, isStandalone: true, selector: "igo-map-proximity-tool", viewQueries: [{ propertyName: "table", first: true, predicate: ["table"], descendants: true, isSignal: true }], ngImport: i0, template: "<igo-entity-table\n #table\n class=\"table-compact\"\n [store]=\"$any(mapProximityState.proximityFeatureStore)\"\n [template]=\"tableTemplate\"\n/>\n<br />\n@if (mapProximityState.currentPositionCoordinate$ | async; as coord) {\n <mat-form-field class=\"coordinates\">\n <textarea\n #textArea\n matInput\n readonly\n rows=\"1\"\n [placeholder]=\"'igo.integration.map-proximity-tool.lon' | translate\"\n [value]=\"coord[0]\"\n ></textarea>\n </mat-form-field>\n}\n@if (mapProximityState.currentPositionCoordinate$ | async; as coord2) {\n <mat-form-field class=\"coordinates2\">\n <textarea\n #textArea\n matInput\n readonly\n rows=\"1\"\n [placeholder]=\"'igo.integration.map-proximity-tool.lat' | translate\"\n [value]=\"coord2[1]\"\n ></textarea>\n </mat-form-field>\n}\n\n@if ((mapProximityState.currentPositionCoordinate$ | async)?.length) {\n <button mat-icon-button (click)=\"copyTextToClipboard()\">\n <mat-icon>content_copy</mat-icon>\n </button>\n}\n<div class=\"title-container\">\n <mat-label class=\"title\">{{\n 'igo.integration.map-proximity-tool.method' | translate\n }}</mat-label>\n</div>\n<div class=\"igo-input-container\">\n <mat-radio-group (change)=\"onLocationTypeChange($event)\">\n <mat-radio-button\n [checked]=\"\n (mapProximityState.proximitylocationType$ | async) === 'geolocation'\n \"\n value=\"geolocation\"\n >{{\n 'igo.integration.map-proximity-tool.geolocation' | translate\n }}</mat-radio-button\n >\n <mat-radio-button\n [checked]=\"\n (mapProximityState.proximitylocationType$ | async) === 'mapCenter'\n \"\n value=\"mapCenter\"\n >{{\n 'igo.integration.map-proximity-tool.mapCenter' | translate\n }}</mat-radio-button\n >\n </mat-radio-group>\n</div>\n\n<div class=\"radius-unit\">\n <mat-form-field class=\"radius-field\" floatLabel=\"always\">\n <mat-label>{{\n 'igo.integration.map-proximity-tool.radiusM' | translate\n }}</mat-label>\n <input\n type=\"number\"\n pattern=\"[0-9]*\"\n [(ngModel)]=\"maxDistance\"\n matInput\n placeholder=\"{{\n 'igo.integration.map-proximity-tool.radiusM' | translate\n }}\"\n />\n </mat-form-field>\n</div>\n", styles: [":host .table-compact{height:auto}:host .table-compact ::ng-deep .mat-mdc-header-cell.mat-column-selectionCheckbox{width:52px}:host textarea{resize:none}:host mat-form-field{padding:10px 15px}:host mat-form-field.coordinates{width:110px}:host mat-form-field.coordinates2{width:100px;padding:0 10px 0 3px}:host mat-form-field.igo-input-container{width:60%;padding:0 15px}:host .radius-unit{display:flex;width:90%;margin-left:2px;padding:5px}:host .radius-unit mat-form-field.radius-field{display:flex;flex-flow:column nowrap;width:100%}:host .title-container{padding:10px}:host .title{margin-left:5px;font-size:initial}:host .mat-mdc-radio-group{display:flex;flex-direction:column}:host .mat-mdc-radio-button{display:inline-flex;position:relative;margin-left:12px}\n"], dependencies: [{ kind: "component", type: EntityTableComponent, selector: "igo-entity-table", inputs: ["store", "paginator", "template", "scrollBehavior", "sortNullsFirst", "withPaginator", "paginatorOptions"], outputs: ["entityClick", "entitySelectChange", "entitySortChange"] }, { kind: "ngmodule", type: MatFormFieldModule }, { kind: "component", type: i1$3.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i1$3.MatLabel, selector: "mat-label" }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i2$2.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly", "disabledInteractive"], exportAs: ["matInput"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i1.MatIconButton, selector: "button[mat-icon-button], a[mat-icon-button], button[matIconButton], a[matIconButton]", exportAs: ["matButton", "matAnchor"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatRadioModule }, { kind: "directive", type: i5.MatRadioGroup, selector: "mat-radio-group", inputs: ["color", "name", "labelPosition", "value", "selected", "disabled", "required", "disabledInteractive"], outputs: ["change"], exportAs: ["matRadioGroup"] }, { kind: "component", type: i5.MatRadioButton, selector: "mat-radio-button", inputs: ["id", "name", "aria-label", "aria-labelledby", "aria-describedby", "disableRipple", "tabIndex", "checked", "value", "labelPosition", "disabled", "required", "color", "disabledInteractive"], outputs: ["change"], exportAs: ["matRadioButton"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$4.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { kind: "directive", type: i1$4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$4.PatternValidator, selector: "[pattern][formControlName],[pattern][formControl],[pattern][ngModel]", inputs: ["pattern"] }, { kind: "directive", type: i1$4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: IgoLanguageModule }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: i3$1.TranslatePipe, name: "translate" }] });
|
|
4003
3968
|
};
|
|
4004
3969
|
MapProximityToolComponent = __decorate([
|
|
4005
3970
|
ToolComponent({
|
|
@@ -4013,7 +3978,7 @@ MapProximityToolComponent = __decorate([
|
|
|
4013
3978
|
,
|
|
4014
3979
|
__metadata("design:paramtypes", [])
|
|
4015
3980
|
], MapProximityToolComponent);
|
|
4016
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
3981
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.19", ngImport: i0, type: MapProximityToolComponent, decorators: [{
|
|
4017
3982
|
type: Component,
|
|
4018
3983
|
args: [{ selector: 'igo-map-proximity-tool', imports: [
|
|
4019
3984
|
EntityTableComponent,
|
|
@@ -4025,7 +3990,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.10", ngImpo
|
|
|
4025
3990
|
FormsModule,
|
|
4026
3991
|
AsyncPipe,
|
|
4027
3992
|
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 (
|
|
3993
|
+
], 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
3994
|
}], ctorParameters: () => [], propDecorators: { table: [{ type: i0.ViewChild, args: ['table', { isSignal: true }] }] } });
|
|
4030
3995
|
|
|
4031
3996
|
/**
|
|
@@ -4105,8 +4070,8 @@ let MapToolComponent = class MapToolComponent {
|
|
|
4105
4070
|
this.cdr.detectChanges();
|
|
4106
4071
|
});
|
|
4107
4072
|
}
|
|
4108
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.
|
|
4109
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.2.
|
|
4073
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.19", ngImport: i0, type: MapToolComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
4074
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.2.19", type: MapToolComponent, isStandalone: true, selector: "igo-map-tool", inputs: { toggleLegendOnVisibilityChange: { classPropertyName: "toggleLegendOnVisibilityChange", publicName: "toggleLegendOnVisibilityChange", isSignal: true, isRequired: false, transformFunction: null }, expandLegendOfVisibleLayers: { classPropertyName: "expandLegendOfVisibleLayers", publicName: "expandLegendOfVisibleLayers", isSignal: true, isRequired: false, transformFunction: null }, updateLegendOnResolutionChange: { classPropertyName: "updateLegendOnResolutionChange", publicName: "updateLegendOnResolutionChange", isSignal: true, isRequired: false, transformFunction: null }, ogcButton: { classPropertyName: "ogcButton", publicName: "ogcButton", isSignal: true, isRequired: false, transformFunction: null }, timeButton: { classPropertyName: "timeButton", publicName: "timeButton", isSignal: true, isRequired: false, transformFunction: null }, layerListControls: { classPropertyName: "layerListControls", publicName: "layerListControls", isSignal: true, isRequired: false, transformFunction: null }, queryBadge: { classPropertyName: "queryBadge", publicName: "queryBadge", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "<mat-tab-group>\n <mat-tab [label]=\"'igo.integration.tools.map' | translate\">\n <igo-layer-viewer\n [map]=\"map\"\n [options]=\"layerViewerOptions\"\n [excludeBaseLayers]=\"excludeBaseLayers\"\n [isDesktop]=\"isDesktop\"\n >\n <ng-template #customBottomActions let-layer=\"layer\">\n <igo-workspace-button [layer]=\"layer\" />\n <igo-export-button [layer]=\"layer\" (click)=\"activateExport(layer)\" />\n <igo-ogc-filter-button [header]=\"ogcButton()\" [layer]=\"layer\" />\n <igo-time-filter-button [header]=\"timeButton()\" [layer]=\"layer\" />\n <igo-track-feature-button [trackFeature]=\"true\" [layer]=\"layer\" />\n <igo-metadata-button [layer]=\"layer\" />\n </ng-template>\n </igo-layer-viewer>\n </mat-tab>\n\n <mat-tab [label]=\"'igo.integration.tools.contexts' | translate\">\n <igo-context-list igoContextListBinding />\n </mat-tab>\n</mat-tab-group>\n", styles: [":host ::ng-deep .mat-mdc-tab-body-content{overflow:hidden}\n"], dependencies: [{ kind: "ngmodule", type: MatTabsModule }, { kind: "component", type: i1$2.MatTab, selector: "mat-tab", inputs: ["disabled", "label", "aria-label", "aria-labelledby", "labelClass", "bodyClass", "id"], exportAs: ["matTab"] }, { kind: "component", type: i1$2.MatTabGroup, selector: "mat-tab-group", inputs: ["color", "fitInkBarToContent", "mat-stretch-tabs", "mat-align-tabs", "dynamicHeight", "selectedIndex", "headerPosition", "animationDuration", "contentTabIndex", "disablePagination", "disableRipple", "preserveContent", "backgroundColor", "aria-label", "aria-labelledby"], outputs: ["selectedIndexChange", "focusChange", "animationDone", "selectedTabChange"], exportAs: ["matTabGroup"] }, { kind: "component", type: WorkspaceButtonComponent, selector: "igo-workspace-button", inputs: ["layer", "color"] }, { kind: "component", type: ExportButtonComponent, selector: "igo-export-button", inputs: ["layer", "color"] }, { kind: "component", type: OgcFilterButtonComponent, selector: "igo-ogc-filter-button", inputs: ["layer", "map", "color", "header"] }, { kind: "component", type: TimeFilterButtonComponent, selector: "igo-time-filter-button", inputs: ["layer", "color", "header"] }, { kind: "component", type: TrackFeatureButtonComponent, selector: "igo-track-feature-button", inputs: ["layer", "trackFeature"], outputs: ["trackFeatureChange"] }, { kind: "component", type: MetadataButtonComponent, selector: "igo-metadata-button", inputs: ["layer", "color"] }, { kind: "component", type: LayerViewerComponent, selector: "igo-layer-viewer", inputs: ["map", "options", "isDesktop", "excludeBaseLayers"], outputs: ["appliedFilterAndSort"] }, { kind: "component", type: ContextListComponent, selector: "igo-context-list", inputs: ["isDesktop", "contexts", "selectedContext", "map", "defaultContextId", "term"], outputs: ["selectedContextChange", "select", "unselect", "edit", "delete", "save", "clone", "create", "hide", "show", "showHiddenContexts", "favorite", "managePermissions", "manageTools", "filterPermissionsChanged"] }, { kind: "ngmodule", type: IgoLanguageModule }, { kind: "pipe", type: i3$1.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
4110
4075
|
};
|
|
4111
4076
|
MapToolComponent = __decorate([
|
|
4112
4077
|
ToolComponent({
|
|
@@ -4116,7 +4081,7 @@ MapToolComponent = __decorate([
|
|
|
4116
4081
|
}),
|
|
4117
4082
|
__metadata("design:paramtypes", [])
|
|
4118
4083
|
], MapToolComponent);
|
|
4119
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
4084
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.19", ngImport: i0, type: MapToolComponent, decorators: [{
|
|
4120
4085
|
type: Component,
|
|
4121
4086
|
args: [{ selector: 'igo-map-tool', changeDetection: ChangeDetectionStrategy.OnPush, imports: [
|
|
4122
4087
|
MatTabsModule,
|
|
@@ -4144,40 +4109,21 @@ let MapToolsComponent = class MapToolsComponent {
|
|
|
4144
4109
|
configService = inject(ConfigService);
|
|
4145
4110
|
mediaService = inject(MediaService);
|
|
4146
4111
|
cdr = inject(ChangeDetectorRef);
|
|
4147
|
-
isDesktop;
|
|
4112
|
+
isDesktop = false;
|
|
4148
4113
|
layers$ = new BehaviorSubject([]);
|
|
4149
4114
|
showAllLegendsValue$ = new BehaviorSubject(false);
|
|
4150
4115
|
resolution$$;
|
|
4151
4116
|
visibleOrInRangeLayers$$;
|
|
4152
|
-
delayedShowEmptyMapContent = false;
|
|
4153
4117
|
allowShowAllLegends = input(false, ...(ngDevMode ? [{ debugName: "allowShowAllLegends" }] : /* istanbul ignore next */ []));
|
|
4154
4118
|
showAllLegendsValue = input(false, ...(ngDevMode ? [{ debugName: "showAllLegendsValue" }] : /* istanbul ignore next */ []));
|
|
4155
4119
|
toggleLegendOnVisibilityChange = input(false, ...(ngDevMode ? [{ debugName: "toggleLegendOnVisibilityChange" }] : /* istanbul ignore next */ []));
|
|
4156
4120
|
expandLegendOfVisibleLayers = input(false, ...(ngDevMode ? [{ debugName: "expandLegendOfVisibleLayers" }] : /* istanbul ignore next */ []));
|
|
4157
4121
|
updateLegendOnResolutionChange = input(false, ...(ngDevMode ? [{ debugName: "updateLegendOnResolutionChange" }] : /* istanbul ignore next */ []));
|
|
4158
|
-
selectedTabAtOpening = input(
|
|
4122
|
+
selectedTabAtOpening = input(...(ngDevMode ? [undefined, { debugName: "selectedTabAtOpening" }] : /* istanbul ignore next */ []));
|
|
4159
4123
|
ogcButton = input(true, ...(ngDevMode ? [{ debugName: "ogcButton" }] : /* istanbul ignore next */ []));
|
|
4160
4124
|
timeButton = input(true, ...(ngDevMode ? [{ debugName: "timeButton" }] : /* istanbul ignore next */ []));
|
|
4161
4125
|
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 = {};
|
|
4126
|
+
layerListControls = input({}, { ...(ngDevMode ? { debugName: "layerListControls" } : /* istanbul ignore next */ {}), transform: (value) => this.transformLayerListControls(value) });
|
|
4181
4127
|
get map() {
|
|
4182
4128
|
return this.mapState.map;
|
|
4183
4129
|
}
|
|
@@ -4189,13 +4135,13 @@ let MapToolsComponent = class MapToolsComponent {
|
|
|
4189
4135
|
return this.layers$.pipe(map((layers) => layers.filter((layer) => layer.visible)));
|
|
4190
4136
|
}
|
|
4191
4137
|
get excludeBaseLayers() {
|
|
4192
|
-
return this.layerListControls.excludeBaseLayers || false;
|
|
4138
|
+
return this.layerListControls().excludeBaseLayers || false;
|
|
4193
4139
|
}
|
|
4194
4140
|
get layerFilterAndSortOptions() {
|
|
4195
4141
|
const filterSortOptions = Object.assign({
|
|
4196
4142
|
showToolbar: LayerListControlsEnum.default
|
|
4197
|
-
}, this.layerListControls);
|
|
4198
|
-
switch (this.layerListControls.showToolbar) {
|
|
4143
|
+
}, this.layerListControls());
|
|
4144
|
+
switch (this.layerListControls().showToolbar) {
|
|
4199
4145
|
case LayerListControlsEnum.always:
|
|
4200
4146
|
filterSortOptions.showToolbar = LayerListControlsEnum.always;
|
|
4201
4147
|
break;
|
|
@@ -4258,14 +4204,10 @@ let MapToolsComponent = class MapToolsComponent {
|
|
|
4258
4204
|
else {
|
|
4259
4205
|
this.showAllLegendsValue$.next(false);
|
|
4260
4206
|
}
|
|
4261
|
-
// prevent message to be shown too quickly. Waiting for layers
|
|
4262
|
-
setTimeout(() => (this.delayedShowEmptyMapContent = true), 250);
|
|
4263
4207
|
}
|
|
4264
4208
|
ngOnDestroy() {
|
|
4265
|
-
this.resolution
|
|
4266
|
-
|
|
4267
|
-
this.visibleOrInRangeLayers$$.unsubscribe();
|
|
4268
|
-
}
|
|
4209
|
+
this.resolution$$?.unsubscribe();
|
|
4210
|
+
this.visibleOrInRangeLayers$$?.unsubscribe();
|
|
4269
4211
|
}
|
|
4270
4212
|
onShowAllLegends(event) {
|
|
4271
4213
|
this.mapState.showAllLegendsValue = event;
|
|
@@ -4290,7 +4232,9 @@ let MapToolsComponent = class MapToolsComponent {
|
|
|
4290
4232
|
this.layers$.next(this.map.layerController.all);
|
|
4291
4233
|
}
|
|
4292
4234
|
onLayerListChange(appliedFilters) {
|
|
4293
|
-
|
|
4235
|
+
if (appliedFilters.keyword !== undefined) {
|
|
4236
|
+
this.layerListToolState.setKeyword(appliedFilters.keyword);
|
|
4237
|
+
}
|
|
4294
4238
|
this.layerListToolState.setSortAlpha(appliedFilters.sortAlpha);
|
|
4295
4239
|
this.layerListToolState.setOnlyVisible(appliedFilters.onlyVisible);
|
|
4296
4240
|
}
|
|
@@ -4338,10 +4282,16 @@ let MapToolsComponent = class MapToolsComponent {
|
|
|
4338
4282
|
this.toolState.toolbox.activateTool('contextManager');
|
|
4339
4283
|
}
|
|
4340
4284
|
isTimeFilterButton(layer) {
|
|
4285
|
+
if (!layer.dataSource)
|
|
4286
|
+
return false;
|
|
4287
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
4341
4288
|
const options = layer.dataSource.options;
|
|
4342
4289
|
return this.timeButton() && options.timeFilterable && options.timeFilter;
|
|
4343
4290
|
}
|
|
4344
4291
|
isOGCFilterButton(layer) {
|
|
4292
|
+
if (!layer.dataSource)
|
|
4293
|
+
return false;
|
|
4294
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
4345
4295
|
const options = layer.dataSource.options;
|
|
4346
4296
|
return (this.ogcButton() &&
|
|
4347
4297
|
options.ogcFilters &&
|
|
@@ -4364,10 +4314,8 @@ let MapToolsComponent = class MapToolsComponent {
|
|
|
4364
4314
|
return false;
|
|
4365
4315
|
}
|
|
4366
4316
|
isStyleEditButton(layer) {
|
|
4367
|
-
if (layer instanceof VectorLayer) {
|
|
4368
|
-
|
|
4369
|
-
return true;
|
|
4370
|
-
}
|
|
4317
|
+
if (layer instanceof VectorLayer || layer instanceof VectorTileLayer) {
|
|
4318
|
+
return layer.visible && isOlFlatStyleLike(layer.style);
|
|
4371
4319
|
}
|
|
4372
4320
|
return false;
|
|
4373
4321
|
}
|
|
@@ -4377,8 +4325,26 @@ let MapToolsComponent = class MapToolsComponent {
|
|
|
4377
4325
|
this.cdr.detectChanges();
|
|
4378
4326
|
});
|
|
4379
4327
|
}
|
|
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 });
|
|
4328
|
+
transformLayerListControls(value) {
|
|
4329
|
+
if (!value) {
|
|
4330
|
+
return {};
|
|
4331
|
+
}
|
|
4332
|
+
const stateOptions = this.layerListToolState.getLayerListControls();
|
|
4333
|
+
const stateKeyword = stateOptions.keyword;
|
|
4334
|
+
const stateOnlyVisible = stateOptions.onlyVisible;
|
|
4335
|
+
const stateSortAlpha = stateOptions.sortAlpha;
|
|
4336
|
+
value.keyword = stateKeyword !== '' ? stateKeyword : value.keyword;
|
|
4337
|
+
value.onlyVisible =
|
|
4338
|
+
stateOnlyVisible !== undefined ? stateOnlyVisible : value.onlyVisible;
|
|
4339
|
+
value.sortAlpha =
|
|
4340
|
+
stateSortAlpha !== undefined ? stateSortAlpha : value.sortAlpha;
|
|
4341
|
+
value.onlyVisible =
|
|
4342
|
+
value.onlyVisible === undefined ? false : value.onlyVisible;
|
|
4343
|
+
value.sortAlpha = value.sortAlpha === undefined ? false : value.sortAlpha;
|
|
4344
|
+
return value;
|
|
4345
|
+
}
|
|
4346
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.19", ngImport: i0, type: MapToolsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
4347
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.19", type: MapToolsComponent, isStandalone: true, selector: "igo-map-tools", inputs: { allowShowAllLegends: { classPropertyName: "allowShowAllLegends", publicName: "allowShowAllLegends", isSignal: true, isRequired: false, transformFunction: null }, showAllLegendsValue: { classPropertyName: "showAllLegendsValue", publicName: "showAllLegendsValue", isSignal: true, isRequired: false, transformFunction: null }, toggleLegendOnVisibilityChange: { classPropertyName: "toggleLegendOnVisibilityChange", publicName: "toggleLegendOnVisibilityChange", isSignal: true, isRequired: false, transformFunction: null }, expandLegendOfVisibleLayers: { classPropertyName: "expandLegendOfVisibleLayers", publicName: "expandLegendOfVisibleLayers", isSignal: true, isRequired: false, transformFunction: null }, updateLegendOnResolutionChange: { classPropertyName: "updateLegendOnResolutionChange", publicName: "updateLegendOnResolutionChange", isSignal: true, isRequired: false, transformFunction: null }, selectedTabAtOpening: { classPropertyName: "selectedTabAtOpening", publicName: "selectedTabAtOpening", isSignal: true, isRequired: false, transformFunction: null }, ogcButton: { classPropertyName: "ogcButton", publicName: "ogcButton", isSignal: true, isRequired: false, transformFunction: null }, timeButton: { classPropertyName: "timeButton", publicName: "timeButton", isSignal: true, isRequired: false, transformFunction: null }, layerAdditionAllowed: { classPropertyName: "layerAdditionAllowed", publicName: "layerAdditionAllowed", isSignal: true, isRequired: false, transformFunction: null }, layerListControls: { classPropertyName: "layerListControls", publicName: "layerListControls", isSignal: true, isRequired: false, transformFunction: null }, queryBadge: { classPropertyName: "queryBadge", publicName: "queryBadge", isSignal: true, isRequired: false, transformFunction: null } }, viewQueries: [{ propertyName: "tabGroup", first: true, predicate: ["tabGroup"], descendants: true, isSignal: true }], ngImport: i0, template: "<mat-tab-group\n #tabGroup\n [selectedIndex]=\"layerListToolState.selectedTab$ | async\"\n (selectedTabChange)=\"tabChanged($event)\"\n>\n <mat-tab [label]=\"'igo.integration.tools.layers' | translate\">\n <igo-layer-viewer\n [options]=\"layerViewerOptions\"\n [map]=\"map\"\n [excludeBaseLayers]=\"excludeBaseLayers\"\n [isDesktop]=\"isDesktop\"\n (appliedFilterAndSort)=\"onLayerListChange($event)\"\n >\n <ng-template #customBottomActions let-layer=\"layer\">\n @if (isStyleEditButton(layer)) {\n <igo-style-modal-layer-button [layer]=\"layer\" />\n }\n <igo-metadata-button [layer]=\"layer\" />\n <igo-track-feature-button [trackFeature]=\"true\" [layer]=\"layer\" />\n @if (isTimeFilterButton(layer)) {\n <igo-time-filter-button\n [header]=\"timeButton()\"\n [layer]=\"layer\"\n (click)=\"activateTimeFilter()\"\n />\n }\n @if (isOGCFilterButton(layer)) {\n <igo-ogc-filter-button\n [header]=\"ogcButton()\"\n [layer]=\"layer\"\n (click)=\"activateOgcFilter()\"\n />\n }\n @if (isExportButton(layer)) {\n <igo-export-button [layer]=\"layer\" (click)=\"activateExport(layer)\" />\n }\n <igo-workspace-button [layer]=\"layer\" />\n </ng-template>\n\n <ng-container ngProjectAs=\"[emptyList]\">\n <ng-template [ngTemplateOutlet]=\"emptyLayers\" />\n </ng-container>\n </igo-layer-viewer>\n </mat-tab>\n\n <mat-tab [label]=\"'igo.integration.tools.legend' | translate\">\n @if (showAllLegend()) {\n <igo-layer-legend-list\n igoLayerLegendListBinding\n [allowShowAllLegends]=\"allowShowAllLegends()\"\n [showAllLegendsValue]=\"!!(showAllLegendsValue$ | async)\"\n (allLegendsShown)=\"onShowAllLegends($event)\"\n [excludeBaseLayers]=\"excludeBaseLayers\"\n [updateLegendOnResolutionChange]=\"updateLegendOnResolutionChange()\"\n />\n }\n @if ((layers$ | async)?.length !== 0) {\n } @else {\n <mat-list>\n <p class=\"map-empty mat-typography\">\n {{ 'igo.integration.mapTool.empty' | translate }}\n </p>\n @if (\n layerAdditionAllowed() &&\n (searchToolInToolbar || catalogToolInToolbar || contextToolInToolbar)\n ) {\n <p class=\"map-empty\">\n {{ 'igo.integration.mapTool.customize' | translate }}\n </p>\n }\n @if (layerAdditionAllowed() && searchToolInToolbar) {\n <mat-list-item>\n <mat-icon matListItemIcon>search</mat-icon>\n <span matListItemTitle class=\"search-tool\" (click)=\"searchEmit()\">\n {{ 'igo.integration.mapTool.search-tool' | translate }}\n </span>\n </mat-list-item>\n }\n @if (layerAdditionAllowed() && catalogToolInToolbar) {\n <mat-list-item>\n <mat-icon matListItemIcon>library_add</mat-icon>\n <span matListItemTitle class=\"catalog-tool\" (click)=\"catalogEmit()\">\n {{ 'igo.integration.mapTool.catalog-tool' | translate }}\n </span>\n </mat-list-item>\n }\n @if (layerAdditionAllowed() && contextToolInToolbar) {\n <mat-list-item>\n <mat-icon matListItemIcon>star</mat-icon>\n <span matListItemTitle class=\"context-tool\" (click)=\"contextEmit()\">\n {{ 'igo.integration.mapTool.context-tool' | translate }}\n </span>\n </mat-list-item>\n }\n </mat-list>\n }\n\n @if (\n !allowShowAllLegends() &&\n (layers$ | async)?.length !== 0 &&\n (visibleOrInRangeLayers$ | async)?.length === 0\n ) {\n <p class=\"map-empty\">\n {{\n (visibleLayers$ | async)?.length\n ? ('igo.integration.mapTool.noLayersInRange' | translate)\n : ('igo.integration.mapTool.noLayersVisible' | translate)\n }}\n </p>\n }\n </mat-tab>\n\n <ng-template #emptyLayers>\n <mat-list>\n <p class=\"map-empty mat-typography\">\n {{ 'igo.integration.mapTool.empty' | translate }}\n </p>\n @if (\n layerAdditionAllowed() &&\n (searchToolInToolbar || catalogToolInToolbar || contextToolInToolbar)\n ) {\n <p class=\"map-empty\">\n {{ 'igo.integration.mapTool.customize' | translate }}\n </p>\n }\n\n @if (layerAdditionAllowed() && searchToolInToolbar) {\n <mat-list-item>\n <mat-icon matListItemIcon>search</mat-icon>\n <span matListItemTitle class=\"search-tool\" (click)=\"searchEmit()\">\n {{ 'igo.integration.mapTool.search-tool' | translate }}\n </span>\n </mat-list-item>\n }\n @if (layerAdditionAllowed() && catalogToolInToolbar) {\n <mat-list-item>\n <mat-icon matListItemIcon>library_add</mat-icon>\n <span matListItemTitle class=\"catalog-tool\" (click)=\"catalogEmit()\">\n {{ 'igo.integration.mapTool.catalog-tool' | translate }}\n </span>\n </mat-list-item>\n }\n @if (layerAdditionAllowed() && contextToolInToolbar) {\n <mat-list-item>\n <mat-icon matListItemIcon>star</mat-icon>\n <span matListItemTitle class=\"context-tool\" (click)=\"contextEmit()\">\n {{ 'igo.integration.mapTool.context-tool' | translate }}\n </span>\n </mat-list-item>\n }\n </mat-list>\n </ng-template>\n</mat-tab-group>\n", styles: [":host mat-tab-group{height:100%}:host ::ng-deep .mat-mdc-tab-body-wrapper{flex:1}:host ::ng-deep .mat-tab-body{margin-top:8px}:host ::ng-deep .mat-mdc-tab-body-content{overflow:hidden}:host .map-empty,:host .search-tool,:host .catalog-tool,:host .context-tool{margin:10px}:host .map-empty{text-align:justify}:host .search-tool,:host .catalog-tool,:host .context-tool{cursor:pointer}:host mat-list mat-list-item h4{font-weight:700}:host mat-list-item ::ng-deep .mdc-list-item__primary-text{font-size:smaller}:host mat-list.mat-mdc-list-base mat-list-item.mat-mdc-list-item ::ng-deep div.mdc-list-item__content div.mdc-list-item__primary-text{padding-left:5px}\n"], dependencies: [{ kind: "ngmodule", type: MatTabsModule }, { kind: "component", type: i1$2.MatTab, selector: "mat-tab", inputs: ["disabled", "label", "aria-label", "aria-labelledby", "labelClass", "bodyClass", "id"], exportAs: ["matTab"] }, { kind: "component", type: i1$2.MatTabGroup, selector: "mat-tab-group", inputs: ["color", "fitInkBarToContent", "mat-stretch-tabs", "mat-align-tabs", "dynamicHeight", "selectedIndex", "headerPosition", "animationDuration", "contentTabIndex", "disablePagination", "disableRipple", "preserveContent", "backgroundColor", "aria-label", "aria-labelledby"], outputs: ["selectedIndexChange", "focusChange", "animationDone", "selectedTabChange"], exportAs: ["matTabGroup"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: LayerViewerComponent, selector: "igo-layer-viewer", inputs: ["map", "options", "isDesktop", "excludeBaseLayers"], outputs: ["appliedFilterAndSort"] }, { kind: "component", type: StyleModalLayerButtonComponent, selector: "igo-style-modal-layer-button", inputs: ["layer"] }, { kind: "component", type: MetadataButtonComponent, selector: "igo-metadata-button", inputs: ["layer", "color"] }, { kind: "component", type: TrackFeatureButtonComponent, selector: "igo-track-feature-button", inputs: ["layer", "trackFeature"], outputs: ["trackFeatureChange"] }, { kind: "component", type: TimeFilterButtonComponent, selector: "igo-time-filter-button", inputs: ["layer", "color", "header"] }, { kind: "component", type: OgcFilterButtonComponent, selector: "igo-ogc-filter-button", inputs: ["layer", "map", "color", "header"] }, { kind: "component", type: ExportButtonComponent, selector: "igo-export-button", inputs: ["layer", "color"] }, { kind: "component", type: WorkspaceButtonComponent, selector: "igo-workspace-button", inputs: ["layer", "color"] }, { kind: "component", type: LayerLegendListComponent, selector: "igo-layer-legend-list", inputs: ["layers", "excludeBaseLayers", "updateLegendOnResolutionChange", "allowShowAllLegends", "showAllLegendsValue"], outputs: ["layersChange", "showAllLegendsValueChange", "allLegendsShown"] }, { kind: "directive", type: LayerLegendListBindingDirective, selector: "[igoLayerLegendListBinding]" }, { kind: "ngmodule", type: MatListModule }, { kind: "component", type: i1$5.MatList, selector: "mat-list", exportAs: ["matList"] }, { kind: "component", type: i1$5.MatListItem, selector: "mat-list-item, a[mat-list-item], button[mat-list-item]", inputs: ["activated"], exportAs: ["matListItem"] }, { kind: "directive", type: i1$5.MatListItemIcon, selector: "[matListItemIcon]" }, { kind: "directive", type: i1$5.MatListItemTitle, selector: "[matListItemTitle]" }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: IgoLanguageModule }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: i3$1.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
4382
4348
|
};
|
|
4383
4349
|
MapToolsComponent = __decorate([
|
|
4384
4350
|
ToolComponent({
|
|
@@ -4388,7 +4354,7 @@ MapToolsComponent = __decorate([
|
|
|
4388
4354
|
}),
|
|
4389
4355
|
__metadata("design:paramtypes", [])
|
|
4390
4356
|
], MapToolsComponent);
|
|
4391
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
4357
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.19", ngImport: i0, type: MapToolsComponent, decorators: [{
|
|
4392
4358
|
type: Component,
|
|
4393
4359
|
args: [{ selector: 'igo-map-tools', changeDetection: ChangeDetectionStrategy.OnPush, imports: [
|
|
4394
4360
|
MatTabsModule,
|
|
@@ -4407,10 +4373,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.10", ngImpo
|
|
|
4407
4373
|
MatIconModule,
|
|
4408
4374
|
AsyncPipe,
|
|
4409
4375
|
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 }] }] } });
|
|
4376
|
+
], 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"] }]
|
|
4377
|
+
}], 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
4378
|
|
|
4415
4379
|
/**
|
|
4416
4380
|
* @deprecated import the ImportExportToolComponent directly or INTEGRATION_MAP_DIRECTIVES for the set
|
|
@@ -4422,8 +4386,8 @@ class IgoAppMapModule {
|
|
|
4422
4386
|
providers: []
|
|
4423
4387
|
};
|
|
4424
4388
|
}
|
|
4425
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.
|
|
4426
|
-
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.
|
|
4389
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.19", ngImport: i0, type: IgoAppMapModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
4390
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.19", ngImport: i0, type: IgoAppMapModule, imports: [AdvancedMapToolComponent,
|
|
4427
4391
|
MapProximityToolComponent,
|
|
4428
4392
|
MapToolComponent,
|
|
4429
4393
|
MapToolsComponent,
|
|
@@ -4434,14 +4398,14 @@ class IgoAppMapModule {
|
|
|
4434
4398
|
MapToolsComponent,
|
|
4435
4399
|
MapDetailsToolComponent,
|
|
4436
4400
|
MapLegendToolComponent] });
|
|
4437
|
-
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.
|
|
4401
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.19", ngImport: i0, type: IgoAppMapModule, imports: [AdvancedMapToolComponent,
|
|
4438
4402
|
MapProximityToolComponent,
|
|
4439
4403
|
MapToolComponent,
|
|
4440
4404
|
MapToolsComponent,
|
|
4441
4405
|
MapDetailsToolComponent,
|
|
4442
4406
|
MapLegendToolComponent] });
|
|
4443
4407
|
}
|
|
4444
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
4408
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.19", ngImport: i0, type: IgoAppMapModule, decorators: [{
|
|
4445
4409
|
type: NgModule,
|
|
4446
4410
|
args: [{
|
|
4447
4411
|
imports: [
|
|
@@ -4488,10 +4452,10 @@ class MeasureState {
|
|
|
4488
4452
|
}
|
|
4489
4453
|
});
|
|
4490
4454
|
}
|
|
4491
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.
|
|
4492
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.
|
|
4455
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.19", ngImport: i0, type: MeasureState, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
4456
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.19", ngImport: i0, type: MeasureState, providedIn: 'root' });
|
|
4493
4457
|
}
|
|
4494
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
4458
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.19", ngImport: i0, type: MeasureState, decorators: [{
|
|
4495
4459
|
type: Injectable,
|
|
4496
4460
|
args: [{
|
|
4497
4461
|
providedIn: 'root'
|
|
@@ -4518,8 +4482,8 @@ let MeasurerToolComponent = class MeasurerToolComponent {
|
|
|
4518
4482
|
get map() {
|
|
4519
4483
|
return this.mapState.map;
|
|
4520
4484
|
}
|
|
4521
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.
|
|
4522
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.
|
|
4485
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.19", ngImport: i0, type: MeasurerToolComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
4486
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.19", type: MeasurerToolComponent, isStandalone: true, selector: "igo-measurer-tool", ngImport: i0, template: "<igo-measurer [store]=\"store\" [map]=\"map\" />\n", dependencies: [{ kind: "component", type: MeasurerComponent, selector: "igo-measurer", inputs: ["map", "store", "activeMeasureType", "minSegmentLength"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
4523
4487
|
};
|
|
4524
4488
|
MeasurerToolComponent = __decorate([
|
|
4525
4489
|
ToolComponent({
|
|
@@ -4528,7 +4492,7 @@ MeasurerToolComponent = __decorate([
|
|
|
4528
4492
|
icon: 'square_foot'
|
|
4529
4493
|
})
|
|
4530
4494
|
], MeasurerToolComponent);
|
|
4531
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
4495
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.19", ngImport: i0, type: MeasurerToolComponent, decorators: [{
|
|
4532
4496
|
type: Component,
|
|
4533
4497
|
args: [{ selector: 'igo-measurer-tool', changeDetection: ChangeDetectionStrategy.OnPush, imports: [MeasurerComponent], template: "<igo-measurer [store]=\"store\" [map]=\"map\" />\n" }]
|
|
4534
4498
|
}] });
|
|
@@ -4537,11 +4501,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.10", ngImpo
|
|
|
4537
4501
|
* @deprecated import the MeasurerToolComponent directly
|
|
4538
4502
|
*/
|
|
4539
4503
|
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.
|
|
4504
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.19", ngImport: i0, type: IgoAppMeasurerToolModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
4505
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.19", ngImport: i0, type: IgoAppMeasurerToolModule, imports: [MeasurerToolComponent], exports: [MeasurerToolComponent] });
|
|
4506
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.19", ngImport: i0, type: IgoAppMeasurerToolModule, imports: [MeasurerToolComponent] });
|
|
4543
4507
|
}
|
|
4544
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
4508
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.19", ngImport: i0, type: IgoAppMeasurerToolModule, decorators: [{
|
|
4545
4509
|
type: NgModule,
|
|
4546
4510
|
args: [{
|
|
4547
4511
|
imports: [MeasurerToolComponent],
|
|
@@ -4553,11 +4517,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.10", ngImpo
|
|
|
4553
4517
|
* @deprecated import the MeasurerToolComponent directly
|
|
4554
4518
|
*/
|
|
4555
4519
|
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.
|
|
4520
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.19", ngImport: i0, type: IgoAppMeasureModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
4521
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.19", ngImport: i0, type: IgoAppMeasureModule, exports: [IgoAppMeasurerToolModule] });
|
|
4522
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.19", ngImport: i0, type: IgoAppMeasureModule, imports: [IgoAppMeasurerToolModule] });
|
|
4559
4523
|
}
|
|
4560
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
4524
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.19", ngImport: i0, type: IgoAppMeasureModule, decorators: [{
|
|
4561
4525
|
type: NgModule,
|
|
4562
4526
|
args: [{
|
|
4563
4527
|
exports: [IgoAppMeasurerToolModule]
|
|
@@ -4569,8 +4533,8 @@ let PrintToolComponent = class PrintToolComponent {
|
|
|
4569
4533
|
get map() {
|
|
4570
4534
|
return this.mapState.map;
|
|
4571
4535
|
}
|
|
4572
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.
|
|
4573
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.
|
|
4536
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.19", ngImport: i0, type: PrintToolComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
4537
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.19", type: PrintToolComponent, isStandalone: true, selector: "igo-print-tool", ngImport: i0, template: "<igo-print [map]=\"map\" />\n", dependencies: [{ kind: "component", type: PrintComponent, selector: "igo-print", inputs: ["map", "outputFormat", "paperFormat", "orientation", "imageFormat", "legendPosition", "resolution"] }] });
|
|
4574
4538
|
};
|
|
4575
4539
|
PrintToolComponent = __decorate([
|
|
4576
4540
|
ToolComponent({
|
|
@@ -4579,7 +4543,7 @@ PrintToolComponent = __decorate([
|
|
|
4579
4543
|
icon: 'print'
|
|
4580
4544
|
})
|
|
4581
4545
|
], PrintToolComponent);
|
|
4582
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
4546
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.19", ngImport: i0, type: PrintToolComponent, decorators: [{
|
|
4583
4547
|
type: Component,
|
|
4584
4548
|
args: [{ selector: 'igo-print-tool', imports: [PrintComponent], template: "<igo-print [map]=\"map\" />\n" }]
|
|
4585
4549
|
}] });
|
|
@@ -4594,11 +4558,11 @@ class IgoAppPrintModule {
|
|
|
4594
4558
|
providers: []
|
|
4595
4559
|
};
|
|
4596
4560
|
}
|
|
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.
|
|
4561
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.19", ngImport: i0, type: IgoAppPrintModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
4562
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.19", ngImport: i0, type: IgoAppPrintModule, imports: [PrintToolComponent], exports: [PrintToolComponent] });
|
|
4563
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.19", ngImport: i0, type: IgoAppPrintModule, imports: [PrintToolComponent] });
|
|
4600
4564
|
}
|
|
4601
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
4565
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.19", ngImport: i0, type: IgoAppPrintModule, decorators: [{
|
|
4602
4566
|
type: NgModule,
|
|
4603
4567
|
args: [{
|
|
4604
4568
|
imports: [PrintToolComponent],
|
|
@@ -4625,9 +4589,6 @@ class SearchState {
|
|
|
4625
4589
|
configService = inject(ConfigService);
|
|
4626
4590
|
mapState = inject(MapState);
|
|
4627
4591
|
searchLayerStores = [];
|
|
4628
|
-
searchOverlayStyle = {};
|
|
4629
|
-
searchOverlayStyleSelection = {};
|
|
4630
|
-
searchOverlayStyleFocus = {};
|
|
4631
4592
|
focusedOrResolution$$;
|
|
4632
4593
|
selectedOrResolution$$;
|
|
4633
4594
|
/**
|
|
@@ -4650,6 +4611,7 @@ class SearchState {
|
|
|
4650
4611
|
* Store that holds the search results
|
|
4651
4612
|
*/
|
|
4652
4613
|
store = new EntityStore([]);
|
|
4614
|
+
searchOverlayStyle = {};
|
|
4653
4615
|
/**
|
|
4654
4616
|
* Search types currently enabled in the search source service
|
|
4655
4617
|
*/
|
|
@@ -4659,12 +4621,7 @@ class SearchState {
|
|
|
4659
4621
|
.map((source) => source.constructor.type);
|
|
4660
4622
|
}
|
|
4661
4623
|
constructor() {
|
|
4662
|
-
|
|
4663
|
-
if (searchOverlayStyle) {
|
|
4664
|
-
this.searchOverlayStyle = searchOverlayStyle.base;
|
|
4665
|
-
this.searchOverlayStyleSelection = searchOverlayStyle.selection;
|
|
4666
|
-
this.searchOverlayStyleFocus = searchOverlayStyle.focus;
|
|
4667
|
-
}
|
|
4624
|
+
this.searchOverlayStyle = this.configService.getConfig('searchOverlayStyle', {});
|
|
4668
4625
|
const searchResultsGeometryEnabled = this.storageService.get('searchResultsGeometryEnabled');
|
|
4669
4626
|
if (searchResultsGeometryEnabled) {
|
|
4670
4627
|
this.searchResultsGeometryEnabled$.next(searchResultsGeometryEnabled);
|
|
@@ -4676,7 +4633,7 @@ class SearchState {
|
|
|
4676
4633
|
if (wksSource) {
|
|
4677
4634
|
this.workspaceState.store.entities$.subscribe((e) => {
|
|
4678
4635
|
const searchableWks = e.filter((fw) => fw instanceof FeatureWorkspace &&
|
|
4679
|
-
fw.layer.options.workspace
|
|
4636
|
+
fw.layer.options.workspace?.searchIndexEnabled);
|
|
4680
4637
|
this.searchSourceService.setWorkspaces(wksSource, searchableWks);
|
|
4681
4638
|
});
|
|
4682
4639
|
}
|
|
@@ -4731,7 +4688,9 @@ class SearchState {
|
|
|
4731
4688
|
this.searchTerm$.next(searchTerm);
|
|
4732
4689
|
}
|
|
4733
4690
|
setSearchType(searchType) {
|
|
4734
|
-
|
|
4691
|
+
if (searchType) {
|
|
4692
|
+
this.searchSourceService.enableSourcesByType(searchType);
|
|
4693
|
+
}
|
|
4735
4694
|
this.searchType$.next(searchType);
|
|
4736
4695
|
}
|
|
4737
4696
|
setSearchSettingsChange() {
|
|
@@ -4744,10 +4703,10 @@ class SearchState {
|
|
|
4744
4703
|
this.storageService.set('searchResultsGeometryEnabled', value);
|
|
4745
4704
|
this.searchResultsGeometryEnabled$.next(value);
|
|
4746
4705
|
}
|
|
4747
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.
|
|
4748
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.
|
|
4706
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.19", ngImport: i0, type: SearchState, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
4707
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.19", ngImport: i0, type: SearchState });
|
|
4749
4708
|
}
|
|
4750
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
4709
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.19", ngImport: i0, type: SearchState, decorators: [{
|
|
4751
4710
|
type: Injectable
|
|
4752
4711
|
}], ctorParameters: () => [] });
|
|
4753
4712
|
|
|
@@ -4793,10 +4752,10 @@ class SearchBarBindingDirective {
|
|
|
4793
4752
|
this.searchState.setSearchType(searchType);
|
|
4794
4753
|
}
|
|
4795
4754
|
}
|
|
4796
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.
|
|
4797
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.
|
|
4755
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.19", ngImport: i0, type: SearchBarBindingDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
4756
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.19", type: SearchBarBindingDirective, isStandalone: true, selector: "[igoSearchBarBinding]", host: { listeners: { "searchTermChange": "onSearchTermChange($any($event))", "searchTypeChange": "onSearchTypeChange($any($event))" } }, ngImport: i0 });
|
|
4798
4757
|
}
|
|
4799
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
4758
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.19", ngImport: i0, type: SearchBarBindingDirective, decorators: [{
|
|
4800
4759
|
type: Directive,
|
|
4801
4760
|
args: [{
|
|
4802
4761
|
selector: '[igoSearchBarBinding]',
|
|
@@ -4824,19 +4783,17 @@ let SearchResultsToolComponent = class SearchResultsToolComponent {
|
|
|
4824
4783
|
* Determine the top panel default state
|
|
4825
4784
|
*/
|
|
4826
4785
|
topPanelStateDefault = input('expanded', ...(ngDevMode ? [{ debugName: "topPanelStateDefault" }] : /* istanbul ignore next */ []));
|
|
4827
|
-
|
|
4786
|
+
searchResultsOverlayAll$$;
|
|
4828
4787
|
saveSearchResultInLayer = false;
|
|
4829
|
-
|
|
4788
|
+
searchResultsOverlayFocused;
|
|
4789
|
+
searchResultsOverlaySelected;
|
|
4790
|
+
searchResultsOverlayAll;
|
|
4830
4791
|
getRoute$$;
|
|
4831
|
-
shownResultsGeometries = [];
|
|
4832
|
-
shownResultsEmphasisGeometries = [];
|
|
4833
|
-
focusedResult$ = new BehaviorSubject(undefined);
|
|
4834
4792
|
isSelectedResultOutOfView$ = new BehaviorSubject(false);
|
|
4835
4793
|
isSelectedResultOutOfView$$;
|
|
4836
|
-
abstractFocusedResult;
|
|
4837
|
-
abstractSelectedResult;
|
|
4838
4794
|
destroyRef = inject(DestroyRef);
|
|
4839
4795
|
debouncedEmpty = signal(true, ...(ngDevMode ? [{ debugName: "debouncedEmpty" }] : /* istanbul ignore next */ []));
|
|
4796
|
+
searchResult = viewChild(SearchResultsComponent, ...(ngDevMode ? [{ debugName: "searchResult" }] : /* istanbul ignore next */ []));
|
|
4840
4797
|
/**
|
|
4841
4798
|
* Store holding the search results
|
|
4842
4799
|
* @internal
|
|
@@ -4857,15 +4814,9 @@ let SearchResultsToolComponent = class SearchResultsToolComponent {
|
|
|
4857
4814
|
feature = signal(undefined, ...(ngDevMode ? [{ debugName: "feature" }] : /* istanbul ignore next */ []));
|
|
4858
4815
|
term = '';
|
|
4859
4816
|
searchTerm$$;
|
|
4860
|
-
|
|
4861
|
-
|
|
4862
|
-
|
|
4863
|
-
set topPanelState(value) {
|
|
4864
|
-
this.topPanelState$.next(value);
|
|
4865
|
-
}
|
|
4866
|
-
get topPanelState() {
|
|
4867
|
-
return this.topPanelState$.value;
|
|
4868
|
-
}
|
|
4817
|
+
topPanelState = input(...(ngDevMode ? [undefined, { debugName: "topPanelState" }] : /* istanbul ignore next */ []));
|
|
4818
|
+
topPanelStateValue = linkedSignal({ ...(ngDevMode ? { debugName: "topPanelStateValue" } : /* istanbul ignore next */ {}), source: this.topPanelState,
|
|
4819
|
+
computation: (v, previous) => v ?? previous?.value ?? 'initial' });
|
|
4869
4820
|
get termSplitter() {
|
|
4870
4821
|
return this.searchState.searchTermSplitter$.value;
|
|
4871
4822
|
}
|
|
@@ -4875,10 +4826,29 @@ let SearchResultsToolComponent = class SearchResultsToolComponent {
|
|
|
4875
4826
|
}
|
|
4876
4827
|
constructor() {
|
|
4877
4828
|
const configService = inject(ConfigService);
|
|
4878
|
-
this.hasFeatureEmphasisOnSelection = configService.getConfig('hasFeatureEmphasisOnSelection');
|
|
4879
4829
|
this.saveSearchResultInLayer = configService.getConfig('saveSearchResultInLayer');
|
|
4830
|
+
this.handleShowAllResults();
|
|
4831
|
+
effect(() => {
|
|
4832
|
+
this.topPanelStateValue(); // re-run on state change
|
|
4833
|
+
const igoList = this.computeElementRef()[0];
|
|
4834
|
+
const selected = this.computeElementRef()[1];
|
|
4835
|
+
if (selected) {
|
|
4836
|
+
setTimeout(() => {
|
|
4837
|
+
// To be sure the flexible component has been displayed yet
|
|
4838
|
+
if (!this.isScrolledIntoView(igoList, selected)) {
|
|
4839
|
+
this.adjustTopPanel(igoList, selected);
|
|
4840
|
+
}
|
|
4841
|
+
}, FlexibleComponent.transitionTime + 50);
|
|
4842
|
+
}
|
|
4843
|
+
});
|
|
4880
4844
|
}
|
|
4881
4845
|
ngOnInit() {
|
|
4846
|
+
this.searchResultsOverlayFocused = new Overlay(this.mapState.map, this.searchState.searchOverlayStyle?.focus ??
|
|
4847
|
+
styleVariant(this.mapState.map.viewController, 'focus'));
|
|
4848
|
+
this.searchResultsOverlaySelected = new Overlay(this.mapState.map, this.searchState.searchOverlayStyle?.selection ??
|
|
4849
|
+
styleVariant(this.mapState.map.viewController, 'selection'));
|
|
4850
|
+
this.searchResultsOverlayAll = new Overlay(this.mapState.map, this.searchState.searchOverlayStyle?.base ??
|
|
4851
|
+
styleVariant(this.mapState.map.viewController));
|
|
4882
4852
|
this.searchTerm$$ = this.searchState.searchTerm$.subscribe((searchTerm) => {
|
|
4883
4853
|
if (searchTerm !== undefined &&
|
|
4884
4854
|
searchTerm !== null &&
|
|
@@ -4892,70 +4862,13 @@ let SearchResultsToolComponent = class SearchResultsToolComponent {
|
|
|
4892
4862
|
});
|
|
4893
4863
|
for (const res of this.store.stateView.all$().value) {
|
|
4894
4864
|
if (this.store.state.get(res.entity).selected === true) {
|
|
4895
|
-
this.
|
|
4865
|
+
this.topPanelStateValue.set('expanded');
|
|
4896
4866
|
}
|
|
4897
4867
|
}
|
|
4898
4868
|
this.searchState.searchSettingsChange$.subscribe(() => {
|
|
4899
|
-
this.
|
|
4869
|
+
this.searchResult()?.resetPage();
|
|
4900
4870
|
});
|
|
4901
|
-
this.topPanelState$$ = this.topPanelState$.subscribe(() => {
|
|
4902
|
-
const igoList = this.computeElementRef()[0];
|
|
4903
|
-
const selected = this.computeElementRef()[1];
|
|
4904
|
-
if (selected) {
|
|
4905
|
-
setTimeout(() => {
|
|
4906
|
-
// To be sure the flexible component has been displayed yet
|
|
4907
|
-
if (!this.isScrolledIntoView(igoList, selected)) {
|
|
4908
|
-
this.adjustTopPanel(igoList, selected);
|
|
4909
|
-
}
|
|
4910
|
-
}, FlexibleComponent.transitionTime + 50);
|
|
4911
|
-
}
|
|
4912
|
-
});
|
|
4913
|
-
if (this.hasFeatureEmphasisOnSelection) {
|
|
4914
|
-
if (!this.searchState.focusedOrResolution$$) {
|
|
4915
|
-
this.searchState.focusedOrResolution$$ = combineLatest([
|
|
4916
|
-
this.focusedResult$,
|
|
4917
|
-
this.map.viewController.resolution$
|
|
4918
|
-
]).subscribe((bunch) => this.buildResultEmphasis(bunch[0], 'focused'));
|
|
4919
|
-
}
|
|
4920
|
-
if (!this.searchState.selectedOrResolution$$) {
|
|
4921
|
-
this.searchState.selectedOrResolution$$ = combineLatest([
|
|
4922
|
-
this.searchState.selectedResult$,
|
|
4923
|
-
this.map.viewController.resolution$
|
|
4924
|
-
]).subscribe((bunch) => this.buildResultEmphasis(bunch[0], 'selected'));
|
|
4925
|
-
}
|
|
4926
|
-
}
|
|
4927
4871
|
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
4872
|
this.store.stateView.empty$
|
|
4960
4873
|
.pipe(debounceTime(1500), takeUntilDestroyed(this.destroyRef))
|
|
4961
4874
|
.subscribe((empty) => this.debouncedEmpty.set(empty));
|
|
@@ -4967,6 +4880,25 @@ let SearchResultsToolComponent = class SearchResultsToolComponent {
|
|
|
4967
4880
|
this.feature.set(feature);
|
|
4968
4881
|
});
|
|
4969
4882
|
}
|
|
4883
|
+
handleShowAllResults() {
|
|
4884
|
+
this.searchResultsOverlayAll$$ = combineLatest([
|
|
4885
|
+
this.store.entities$,
|
|
4886
|
+
this.searchState.searchResultsGeometryEnabled$
|
|
4887
|
+
]).subscribe((bunch) => {
|
|
4888
|
+
const searchResults = bunch[0];
|
|
4889
|
+
const enabled = bunch[1];
|
|
4890
|
+
const features = searchResults
|
|
4891
|
+
.filter((sr) => sr.meta.dataType === FEATURE)
|
|
4892
|
+
.map((sr) => sr.data);
|
|
4893
|
+
if (enabled && features.length) {
|
|
4894
|
+
this.searchResultsOverlayAll.setFeatures(features, FeatureMotion.None);
|
|
4895
|
+
}
|
|
4896
|
+
else {
|
|
4897
|
+
this.searchResultsOverlayFocused?.clear();
|
|
4898
|
+
this.searchResultsOverlayAll?.clear();
|
|
4899
|
+
}
|
|
4900
|
+
});
|
|
4901
|
+
}
|
|
4970
4902
|
monitorResultOutOfView() {
|
|
4971
4903
|
this.isSelectedResultOutOfView$$ = combineLatest([
|
|
4972
4904
|
this.map.viewController.state$,
|
|
@@ -4980,84 +4912,19 @@ let SearchResultsToolComponent = class SearchResultsToolComponent {
|
|
|
4980
4912
|
return;
|
|
4981
4913
|
}
|
|
4982
4914
|
if (selectedResult.data.geometry) {
|
|
4983
|
-
const selectedOlFeature = featureToOl(selectedResult.data, this.map.
|
|
4915
|
+
const selectedOlFeature = featureToOl(selectedResult.data, this.map.projectionCode);
|
|
4984
4916
|
const selectedOlFeatureExtent = computeOlFeaturesExtent([selectedOlFeature], this.map.viewController.getOlProjection());
|
|
4985
|
-
this.isSelectedResultOutOfView$.next(featuresAreOutOfView(this.map.getExtent(), selectedOlFeatureExtent));
|
|
4917
|
+
this.isSelectedResultOutOfView$.next(featuresAreOutOfView(this.map.viewController.getExtent(), selectedOlFeatureExtent));
|
|
4986
4918
|
}
|
|
4987
4919
|
});
|
|
4988
4920
|
}
|
|
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
4921
|
ngOnDestroy() {
|
|
5054
|
-
this.topPanelState$$.unsubscribe();
|
|
5055
4922
|
this.searchTerm$$.unsubscribe();
|
|
5056
4923
|
if (this.isSelectedResultOutOfView$$) {
|
|
5057
4924
|
this.isSelectedResultOutOfView$$.unsubscribe();
|
|
5058
4925
|
}
|
|
5059
|
-
if (this.
|
|
5060
|
-
this.
|
|
4926
|
+
if (this.searchResultsOverlayAll$$) {
|
|
4927
|
+
this.searchResultsOverlayAll$$.unsubscribe();
|
|
5061
4928
|
}
|
|
5062
4929
|
if (this.getRoute$$) {
|
|
5063
4930
|
this.getRoute$$.unsubscribe();
|
|
@@ -5069,31 +4936,17 @@ let SearchResultsToolComponent = class SearchResultsToolComponent {
|
|
|
5069
4936
|
* @param result A search result that could be a feature
|
|
5070
4937
|
*/
|
|
5071
4938
|
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);
|
|
4939
|
+
if (this.store.state.get(result).selected) {
|
|
4940
|
+
this.searchResultsOverlayFocused.clear();
|
|
4941
|
+
}
|
|
4942
|
+
else {
|
|
4943
|
+
this.addResultToOverlay(result, this.searchResultsOverlayFocused, this.searchState.featureMotion.focus);
|
|
5081
4944
|
}
|
|
5082
4945
|
}
|
|
5083
4946
|
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;
|
|
4947
|
+
if (!this.store.state.get(result).selected) {
|
|
4948
|
+
this.searchResultsOverlayFocused.clear();
|
|
5095
4949
|
}
|
|
5096
|
-
this.map.searchResultsOverlay.removeFeature(result.data);
|
|
5097
4950
|
}
|
|
5098
4951
|
/**
|
|
5099
4952
|
* Try to add a feature to the map when it's being selected
|
|
@@ -5101,18 +4954,19 @@ let SearchResultsToolComponent = class SearchResultsToolComponent {
|
|
|
5101
4954
|
* @param result A search result that could be a feature or some layer options
|
|
5102
4955
|
*/
|
|
5103
4956
|
onResultSelect(result) {
|
|
5104
|
-
this.
|
|
5105
|
-
this.
|
|
4957
|
+
this.searchResultsOverlayFocused.clear();
|
|
4958
|
+
this.searchResultsOverlaySelected.clear();
|
|
4959
|
+
this.addResultToOverlay(result, this.searchResultsOverlaySelected, this.searchState.featureMotion.selected);
|
|
5106
4960
|
this.searchState.setSelectedResult(result);
|
|
5107
|
-
if (this.
|
|
4961
|
+
if (this.topPanelStateValue() === 'initial') {
|
|
5108
4962
|
if (this.topPanelStateDefault() !== 'collapsed') {
|
|
5109
|
-
this.
|
|
4963
|
+
this.topPanelStateValue.set('expanded');
|
|
5110
4964
|
}
|
|
5111
4965
|
else {
|
|
5112
|
-
this.
|
|
4966
|
+
this.topPanelStateValue.set('collapsed');
|
|
5113
4967
|
}
|
|
5114
4968
|
}
|
|
5115
|
-
if (this.
|
|
4969
|
+
if (this.topPanelStateValue() === 'expanded') {
|
|
5116
4970
|
const igoList = this.computeElementRef()[0];
|
|
5117
4971
|
const selected = this.computeElementRef()[1];
|
|
5118
4972
|
if (!this.isScrolledIntoView(igoList, selected)) {
|
|
@@ -5174,10 +5028,10 @@ let SearchResultsToolComponent = class SearchResultsToolComponent {
|
|
|
5174
5028
|
}
|
|
5175
5029
|
adjustTopPanel(elemSource, elem) {
|
|
5176
5030
|
if (!this.isScrolledIntoView(elemSource, elem)) {
|
|
5031
|
+
const firstChild = elem.children[0];
|
|
5032
|
+
const childHeight = firstChild instanceof HTMLElement ? firstChild.offsetHeight : 0;
|
|
5177
5033
|
elemSource.scrollTop =
|
|
5178
|
-
elem.offsetTop +
|
|
5179
|
-
elem.children[0].offsetHeight -
|
|
5180
|
-
elemSource.clientHeight;
|
|
5034
|
+
elem.offsetTop + childHeight - elemSource.clientHeight;
|
|
5181
5035
|
}
|
|
5182
5036
|
}
|
|
5183
5037
|
toggleTopPanel(event) {
|
|
@@ -5185,11 +5039,11 @@ let SearchResultsToolComponent = class SearchResultsToolComponent {
|
|
|
5185
5039
|
return;
|
|
5186
5040
|
}
|
|
5187
5041
|
else {
|
|
5188
|
-
if (this.
|
|
5189
|
-
this.
|
|
5042
|
+
if (this.topPanelStateValue() === 'expanded') {
|
|
5043
|
+
this.topPanelStateValue.set('collapsed');
|
|
5190
5044
|
}
|
|
5191
5045
|
else {
|
|
5192
|
-
this.
|
|
5046
|
+
this.topPanelStateValue.set('expanded');
|
|
5193
5047
|
}
|
|
5194
5048
|
}
|
|
5195
5049
|
}
|
|
@@ -5208,17 +5062,19 @@ let SearchResultsToolComponent = class SearchResultsToolComponent {
|
|
|
5208
5062
|
* @param result A search result that could be a feature
|
|
5209
5063
|
* @param motion A FeatureMotion to trigger when adding the searchresult to the map search overlay
|
|
5210
5064
|
*/
|
|
5211
|
-
|
|
5065
|
+
addResultToOverlay(result, overlay, motion = FeatureMotion.Default) {
|
|
5212
5066
|
if (result.meta.dataType !== FEATURE) {
|
|
5213
5067
|
return undefined;
|
|
5214
5068
|
}
|
|
5215
5069
|
const feature = result.data;
|
|
5216
|
-
//
|
|
5070
|
+
// Sometimes features have no geometry. It happens with some GetFeatureInfo
|
|
5217
5071
|
if (!feature.geometry) {
|
|
5218
5072
|
return;
|
|
5219
5073
|
}
|
|
5220
|
-
|
|
5221
|
-
|
|
5074
|
+
if (!feature.meta) {
|
|
5075
|
+
return;
|
|
5076
|
+
}
|
|
5077
|
+
overlay.setFeatures([feature], motion);
|
|
5222
5078
|
}
|
|
5223
5079
|
isScrolledIntoView(elemSource, elem) {
|
|
5224
5080
|
const padding = 6;
|
|
@@ -5261,9 +5117,11 @@ let SearchResultsToolComponent = class SearchResultsToolComponent {
|
|
|
5261
5117
|
];
|
|
5262
5118
|
}
|
|
5263
5119
|
}
|
|
5264
|
-
stop
|
|
5265
|
-
|
|
5266
|
-
|
|
5120
|
+
if (stop) {
|
|
5121
|
+
stop.text = this.featureTitle ?? '';
|
|
5122
|
+
stop.coordinates = coord;
|
|
5123
|
+
this.directionState.stopsStore.update(stop);
|
|
5124
|
+
}
|
|
5267
5125
|
if (this.map.geolocationController.position$.value) {
|
|
5268
5126
|
const currentPos = this.map.geolocationController.position$.value;
|
|
5269
5127
|
const stop = this.directionState.stopsStore
|
|
@@ -5271,16 +5129,18 @@ let SearchResultsToolComponent = class SearchResultsToolComponent {
|
|
|
5271
5129
|
.find((e) => e.position === 0);
|
|
5272
5130
|
const currentCoord = olProj.transform(currentPos.position, currentPos.projection, 'EPSG:4326');
|
|
5273
5131
|
const coord = roundCoordTo([currentCoord[0], currentCoord[1]], 6);
|
|
5274
|
-
|
|
5275
|
-
|
|
5276
|
-
|
|
5132
|
+
if (stop) {
|
|
5133
|
+
stop.text = coord.join(',');
|
|
5134
|
+
stop.coordinates = coord;
|
|
5135
|
+
this.directionState.stopsStore.update(stop);
|
|
5136
|
+
}
|
|
5277
5137
|
}
|
|
5278
5138
|
}
|
|
5279
5139
|
});
|
|
5280
5140
|
}, 250);
|
|
5281
5141
|
}
|
|
5282
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.
|
|
5283
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.
|
|
5142
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.19", ngImport: i0, type: SearchResultsToolComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
5143
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.19", type: SearchResultsToolComponent, isStandalone: true, selector: "igo-search-results-tool", inputs: { showIcons: { classPropertyName: "showIcons", publicName: "showIcons", isSignal: true, isRequired: false, transformFunction: null }, topPanelStateDefault: { classPropertyName: "topPanelStateDefault", publicName: "topPanelStateDefault", isSignal: true, isRequired: false, transformFunction: null }, topPanelState: { classPropertyName: "topPanelState", publicName: "topPanelState", isSignal: true, isRequired: false, transformFunction: null } }, viewQueries: [{ propertyName: "searchResult", first: true, predicate: SearchResultsComponent, descendants: true, isSignal: true }], ngImport: i0, template: "@if (debouncedEmpty()) {\n @if (!store || store.stateView.empty) {\n <section class=\"search-results-tool-empty\">\n <h4>\n <strong>{{\n 'igo.integration.searchResultsTool.noResults' | translate\n }}</strong>\n </h4>\n <p>\n <strong>{{\n 'igo.integration.searchResultsTool.doSearch' | translate\n }}</strong>\n </p>\n <div\n [innerHTML]=\"\n 'igo.integration.searchResultsTool.examples'\n | translate\n | sanitizeHtml\n \"\n ></div>\n </section>\n }\n} @else {\n @let feature = this.feature();\n <igo-flexible\n #topPanel\n initial=\"100%\"\n initialMobile=\"100%\"\n collapsed=\"calc(100% - 48px)\"\n collapsedMobile=\"calc(100% - 48px)\"\n expanded=\"60%\"\n expandedMobile=\"60%\"\n [state]=\"feature ? topPanelStateValue() : 'initial'\"\n >\n <div class=\"igo-content\">\n <igo-search-results\n [store]=\"store\"\n [showIcons]=\"showIcons()\"\n [term]=\"term\"\n [termSplitter]=\"termSplitter\"\n placeholder=\"false\"\n (resultFocus)=\"onResultFocus($event)\"\n (resultSelect)=\"onResultSelect($event)\"\n (resultUnfocus)=\"onResultUnfocus($event)\"\n (resultMouseenter)=\"onResultFocus($event)\"\n (resultMouseleave)=\"onResultUnfocus($event)\"\n (moreResults)=\"onSearch($event)\"\n [map]=\"map\"\n >\n <ng-template #igoSearchItemToolbar let-result=\"result\">\n <igo-search-add-button\n [map]=\"map\"\n [store]=\"store\"\n [stores]=\"stores\"\n [layer]=\"result\"\n [saveSearchResultInLayer]=\"saveSearchResultInLayer\"\n />\n </ng-template>\n </igo-search-results>\n </div>\n <div igoFlexibleFill class=\"igo-content\">\n @if (feature) {\n <igo-panel\n [title]=\"featureTitle\"\n (click)=\"toggleTopPanel($event)\"\n [cursorPointer]=\"true\"\n >\n <button\n mat-icon-button\n panelLeftButton\n class=\"igo-icon-button\"\n (click)=\"toggleTopPanel()\"\n >\n <mat-icon>{{\n topPanelStateValue() === 'collapsed'\n ? 'arrow_upward'\n : 'arrow_downward'\n }}</mat-icon>\n </button>\n @if (feature.geometry) {\n <button\n mat-icon-button\n panelRightButton\n class=\"igo-icon-button\"\n [matTooltip]=\"\n ((isSelectedResultOutOfView$ | async)\n ? 'igo.integration.searchResultsTool.zoomOnFeatureTooltipOutOfView'\n : 'igo.integration.searchResultsTool.zoomOnFeatureTooltip'\n ) | translate\n \"\n matTooltipShowDelay=\"500\"\n (click)=\"zoomToFeatureExtent()\"\n >\n <mat-icon\n aria-hidden=\"false\"\n [matBadge]=\"(isSelectedResultOutOfView$ | async) ? '!' : ''\"\n matBadgeColor=\"accent\"\n matBadgeSize=\"small\"\n [matBadgeHidden]=\"\n (isSelectedResultOutOfView$ | async) === false\n \"\n >zoom_in</mat-icon\n >\n </button>\n }\n <igo-feature-details\n igoFeatureDetailsDirective\n [feature]=\"feature\"\n [map]=\"map\"\n [toolbox]=\"toolState.toolbox\"\n (routingEvent)=\"getRoute()\"\n />\n </igo-panel>\n }\n </div>\n </igo-flexible>\n}\n", styles: [":host{display:flex;flex-direction:column;flex:1;height:100%}.search-results-tool-empty{padding:0 16px}\n"], dependencies: [{ kind: "component", type: FlexibleComponent, selector: "igo-flexible", inputs: ["initial", "collapsed", "expanded", "initialMobile", "collapsedMobile", "expandedMobile", "direction", "state"] }, { kind: "component", type: SearchResultsComponent, selector: "igo-search-results", inputs: ["map", "store", "showIcons", "mode", "withZoomButton", "tabsMode", "term", "termSplitter"], outputs: ["resultFocus", "resultUnfocus", "resultSelect", "moreResults", "resultMouseenter", "resultMouseleave"] }, { kind: "component", type: SearchResultAddButtonComponent, selector: "igo-search-add-button", inputs: ["layer", "store", "added", "map", "saveSearchResultInLayer", "stores"], outputs: ["addedChange"] }, { kind: "component", type: PanelComponent, selector: "igo-panel", inputs: ["title", "withHeader", "cursorPointer"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i1.MatIconButton, selector: "button[mat-icon-button], a[mat-icon-button], button[matIconButton], a[matIconButton]", exportAs: ["matButton", "matAnchor"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i2.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "ngmodule", type: MatBadgeModule }, { kind: "directive", type: i4$2.MatBadge, selector: "[matBadge]", inputs: ["matBadgeColor", "matBadgeOverlap", "matBadgeDisabled", "matBadgePosition", "matBadge", "matBadgeDescription", "matBadgeSize", "matBadgeHidden"] }, { kind: "component", type: FeatureDetailsComponent, selector: "igo-feature-details", inputs: ["source", "map", "toolbox", "feature"], outputs: ["routeEvent", "selectFeature", "htmlDisplayEvent"] }, { kind: "ngmodule", type: IgoLanguageModule }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: i3$1.TranslatePipe, name: "translate" }, { kind: "pipe", type: SanitizeHtmlPipe, name: "sanitizeHtml" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
5284
5144
|
};
|
|
5285
5145
|
SearchResultsToolComponent = __decorate([
|
|
5286
5146
|
ToolComponent({
|
|
@@ -5290,7 +5150,7 @@ SearchResultsToolComponent = __decorate([
|
|
|
5290
5150
|
}),
|
|
5291
5151
|
__metadata("design:paramtypes", [])
|
|
5292
5152
|
], SearchResultsToolComponent);
|
|
5293
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
5153
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.19", ngImport: i0, type: SearchResultsToolComponent, decorators: [{
|
|
5294
5154
|
type: Component,
|
|
5295
5155
|
args: [{ selector: 'igo-search-results-tool', changeDetection: ChangeDetectionStrategy.OnPush, imports: [
|
|
5296
5156
|
FlexibleComponent,
|
|
@@ -5305,20 +5165,18 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.10", ngImpo
|
|
|
5305
5165
|
AsyncPipe,
|
|
5306
5166
|
IgoLanguageModule,
|
|
5307
5167
|
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
|
-
}] } });
|
|
5168
|
+
], 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"] }]
|
|
5169
|
+
}], 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
5170
|
|
|
5313
5171
|
/**
|
|
5314
5172
|
* @deprecated import the components/directive directly or INTEGRATION_SEARCH_DIRECTIVES for the set
|
|
5315
5173
|
*/
|
|
5316
5174
|
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.
|
|
5175
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.19", ngImport: i0, type: IgoAppSearchModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
5176
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.19", ngImport: i0, type: IgoAppSearchModule, imports: [SearchBarBindingDirective, SearchResultsToolComponent], exports: [SearchBarBindingDirective, SearchResultsToolComponent] });
|
|
5177
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.19", ngImport: i0, type: IgoAppSearchModule, imports: [SearchResultsToolComponent] });
|
|
5320
5178
|
}
|
|
5321
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
5179
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.19", ngImport: i0, type: IgoAppSearchModule, decorators: [{
|
|
5322
5180
|
type: NgModule,
|
|
5323
5181
|
args: [{
|
|
5324
5182
|
imports: [SearchBarBindingDirective, SearchResultsToolComponent],
|
|
@@ -5330,11 +5188,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.10", ngImpo
|
|
|
5330
5188
|
* @deprecated import the WorkspaceButtonComponent directly
|
|
5331
5189
|
*/
|
|
5332
5190
|
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.
|
|
5191
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.19", ngImport: i0, type: IgoAppWorkspaceModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
5192
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.19", ngImport: i0, type: IgoAppWorkspaceModule, imports: [WorkspaceButtonComponent], exports: [WorkspaceButtonComponent] });
|
|
5193
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.19", ngImport: i0, type: IgoAppWorkspaceModule, imports: [WorkspaceButtonComponent] });
|
|
5336
5194
|
}
|
|
5337
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
5195
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.19", ngImport: i0, type: IgoAppWorkspaceModule, decorators: [{
|
|
5338
5196
|
type: NgModule,
|
|
5339
5197
|
args: [{
|
|
5340
5198
|
imports: [WorkspaceButtonComponent],
|
|
@@ -5346,8 +5204,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.10", ngImpo
|
|
|
5346
5204
|
* @deprecated import the components directly
|
|
5347
5205
|
*/
|
|
5348
5206
|
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.
|
|
5207
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.19", ngImport: i0, type: IgoIntegrationModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
5208
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.19", ngImport: i0, type: IgoIntegrationModule, exports: [IgoAppContextModule,
|
|
5351
5209
|
IgoAppCatalogModule,
|
|
5352
5210
|
IgoAppDirectionsModule,
|
|
5353
5211
|
IgoAppDrawModule,
|
|
@@ -5360,7 +5218,7 @@ class IgoIntegrationModule {
|
|
|
5360
5218
|
IgoAppFilterModule,
|
|
5361
5219
|
IgoAppAboutModule,
|
|
5362
5220
|
IgoAppGeometryFormModule] });
|
|
5363
|
-
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.
|
|
5221
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.19", ngImport: i0, type: IgoIntegrationModule, imports: [IgoAppContextModule,
|
|
5364
5222
|
IgoAppCatalogModule,
|
|
5365
5223
|
IgoAppDirectionsModule,
|
|
5366
5224
|
IgoAppDrawModule,
|
|
@@ -5374,7 +5232,7 @@ class IgoIntegrationModule {
|
|
|
5374
5232
|
IgoAppAboutModule,
|
|
5375
5233
|
IgoAppGeometryFormModule] });
|
|
5376
5234
|
}
|
|
5377
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
5235
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.19", ngImport: i0, type: IgoIntegrationModule, decorators: [{
|
|
5378
5236
|
type: NgModule,
|
|
5379
5237
|
args: [{
|
|
5380
5238
|
imports: [],
|
|
@@ -5428,7 +5286,8 @@ class AnalyticsListenerService {
|
|
|
5428
5286
|
listenContext() {
|
|
5429
5287
|
this.contextState.context$.subscribe((context) => {
|
|
5430
5288
|
if (context) {
|
|
5431
|
-
|
|
5289
|
+
const eventName = context.id?.toString() ?? context.uri;
|
|
5290
|
+
this.analyticsService.trackEvent('context', 'activateContext', eventName);
|
|
5432
5291
|
}
|
|
5433
5292
|
});
|
|
5434
5293
|
}
|
|
@@ -5498,14 +5357,15 @@ class AnalyticsListenerService {
|
|
|
5498
5357
|
break;
|
|
5499
5358
|
}
|
|
5500
5359
|
}
|
|
5501
|
-
|
|
5360
|
+
const eventName = wmsParams || wmtsParams || restParams;
|
|
5361
|
+
this.analyticsService.trackLayer('layer', 'addLayer', eventName);
|
|
5502
5362
|
});
|
|
5503
5363
|
});
|
|
5504
5364
|
}
|
|
5505
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.
|
|
5506
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.
|
|
5365
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.19", ngImport: i0, type: AnalyticsListenerService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
5366
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.19", ngImport: i0, type: AnalyticsListenerService, providedIn: 'root' });
|
|
5507
5367
|
}
|
|
5508
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
5368
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.19", ngImport: i0, type: AnalyticsListenerService, decorators: [{
|
|
5509
5369
|
type: Injectable,
|
|
5510
5370
|
args: [{
|
|
5511
5371
|
providedIn: 'root'
|
|
@@ -5533,22 +5393,15 @@ class QueryState {
|
|
|
5533
5393
|
*/
|
|
5534
5394
|
store = new EntityStore([]);
|
|
5535
5395
|
queryOverlayStyle = {};
|
|
5536
|
-
queryOverlayStyleSelection = {};
|
|
5537
|
-
queryOverlayStyleFocus = {};
|
|
5538
5396
|
constructor() {
|
|
5539
|
-
|
|
5540
|
-
if (queryOverlayStyle) {
|
|
5541
|
-
this.queryOverlayStyle = queryOverlayStyle.base;
|
|
5542
|
-
this.queryOverlayStyleSelection = queryOverlayStyle.selection;
|
|
5543
|
-
this.queryOverlayStyleFocus = queryOverlayStyle.focus;
|
|
5544
|
-
}
|
|
5397
|
+
this.queryOverlayStyle = this.configService.getConfig('queryOverlayStyle', {});
|
|
5545
5398
|
const geoPropertiesStrategy = new GeoPropertiesStrategy({ map: this.mapState.map }, this.propertyTypeDetectorService, this.capabilitiesService);
|
|
5546
5399
|
this.store.addStrategy(geoPropertiesStrategy, true);
|
|
5547
5400
|
}
|
|
5548
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.
|
|
5549
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.
|
|
5401
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.19", ngImport: i0, type: QueryState, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
5402
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.19", ngImport: i0, type: QueryState, providedIn: 'root' });
|
|
5550
5403
|
}
|
|
5551
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
5404
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.19", ngImport: i0, type: QueryState, decorators: [{
|
|
5552
5405
|
type: Injectable,
|
|
5553
5406
|
args: [{
|
|
5554
5407
|
providedIn: 'root'
|
|
@@ -5559,11 +5412,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.10", ngImpo
|
|
|
5559
5412
|
* @deprecated import the SearchResultsToolComponent directly
|
|
5560
5413
|
*/
|
|
5561
5414
|
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.
|
|
5415
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.19", ngImport: i0, type: IgoAppSearchResultsToolModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
5416
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.19", ngImport: i0, type: IgoAppSearchResultsToolModule, imports: [SearchResultsToolComponent], exports: [SearchResultsToolComponent] });
|
|
5417
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.19", ngImport: i0, type: IgoAppSearchResultsToolModule, imports: [SearchResultsToolComponent] });
|
|
5565
5418
|
}
|
|
5566
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
5419
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.19", ngImport: i0, type: IgoAppSearchResultsToolModule, decorators: [{
|
|
5567
5420
|
type: NgModule,
|
|
5568
5421
|
args: [{
|
|
5569
5422
|
imports: [SearchResultsToolComponent],
|
|
@@ -5575,11 +5428,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.10", ngImpo
|
|
|
5575
5428
|
* @deprecated import the SearchBarBindingDirective directly
|
|
5576
5429
|
*/
|
|
5577
5430
|
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.
|
|
5431
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.19", ngImport: i0, type: IgoAppSearchBarModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
5432
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.19", ngImport: i0, type: IgoAppSearchBarModule, imports: [SearchBarBindingDirective], exports: [SearchBarBindingDirective] });
|
|
5433
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.19", ngImport: i0, type: IgoAppSearchBarModule });
|
|
5581
5434
|
}
|
|
5582
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
5435
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.19", ngImport: i0, type: IgoAppSearchBarModule, decorators: [{
|
|
5583
5436
|
type: NgModule,
|
|
5584
5437
|
args: [{
|
|
5585
5438
|
imports: [SearchBarBindingDirective],
|