@igo2/integration 18.0.0-next.9 → 18.0.0
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/esm2022/lib/analytics/analytics-listener.service.mjs +6 -2
- package/esm2022/lib/catalog/catalog-browser-tool/catalog-browser-tool.component.mjs +5 -1
- package/esm2022/lib/directions/directions-tool/directions-tool.component.mjs +4 -4
- package/esm2022/lib/directions/directions.state.mjs +6 -18
- package/esm2022/lib/draw/draw.state.mjs +3 -3
- package/esm2022/lib/filter/active-ogc-filter-tool/active-ogc-filter-tool.component.mjs +4 -4
- package/esm2022/lib/filter/active-time-filter-tool/active-time-filter-tool.component.mjs +4 -4
- package/esm2022/lib/filter/spatial-filter-tool/spatial-filter-tool.component.mjs +104 -104
- package/esm2022/lib/geometry-form/data-issue-reporter-tool/data-issue-reporter-tool.component.mjs +7 -3
- package/esm2022/lib/map/advanced-map-tool/advanced-map-tool.component.mjs +9 -3
- package/esm2022/lib/map/advanced-map-tool/advanced-swipe/advanced-swipe.component.mjs +22 -22
- package/esm2022/lib/map/map-details-tool/map-details-tool.component.mjs +49 -20
- package/esm2022/lib/map/map-legend/map-legend-tool.component.mjs +6 -6
- package/esm2022/lib/map/map-proximity.state.mjs +7 -8
- package/esm2022/lib/map/map-tool/map-tool.component.mjs +49 -13
- package/esm2022/lib/map/map-tools/map-tools.component.mjs +57 -24
- package/esm2022/lib/map/map.state.mjs +1 -3
- package/esm2022/lib/measure/measure.state.mjs +4 -3
- package/esm2022/lib/search/search-results-tool/search-results-tool.component.mjs +1 -1
- package/esm2022/lib/search/search.state.mjs +2 -2
- package/esm2022/lib/workspace/workspace-button/workspace-button.component.mjs +4 -3
- package/fesm2022/igo2-integration.mjs +334 -243
- package/fesm2022/igo2-integration.mjs.map +1 -1
- package/lib/directions/directions-tool/directions-tool.component.d.ts +3 -3
- package/lib/directions/directions.state.d.ts +2 -2
- package/lib/filter/spatial-filter-tool/spatial-filter-tool.component.d.ts +4 -6
- package/lib/map/advanced-map-tool/advanced-swipe/advanced-swipe.component.d.ts +5 -6
- package/lib/map/map-details-tool/map-details-tool.component.d.ts +12 -4
- package/lib/map/map-legend/map-legend-tool.component.d.ts +4 -4
- package/lib/map/map-proximity.state.d.ts +4 -3
- package/lib/map/map-tool/map-tool.component.d.ts +14 -3
- package/lib/map/map-tools/map-tools.component.d.ts +15 -6
- package/lib/workspace/workspace-button/workspace-button.component.d.ts +4 -4
- package/package.json +4 -4
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
2
|
import { ChangeDetectorRef, Component, Input, NgModule, CUSTOM_ELEMENTS_SCHEMA, Injectable, ChangeDetectionStrategy, Optional, Inject, ViewChild, Directive, Self, HostListener, ElementRef } from '@angular/core';
|
|
3
3
|
import { __decorate, __metadata } from 'tslib';
|
|
4
|
-
import * as i6$
|
|
5
|
-
import { NgIf, NgFor, AsyncPipe, CommonModule, DecimalPipe } from '@angular/common';
|
|
4
|
+
import * as i6$1 from '@angular/common';
|
|
5
|
+
import { NgIf, NgFor, AsyncPipe, CommonModule, DecimalPipe, NgTemplateOutlet } from '@angular/common';
|
|
6
6
|
import * as i3 from '@angular/common/http';
|
|
7
7
|
import { HttpClient } from '@angular/common/http';
|
|
8
8
|
import * as i7 from '@angular/material/button';
|
|
9
9
|
import { MatButtonModule } from '@angular/material/button';
|
|
10
|
-
import * as
|
|
10
|
+
import * as i10 from '@angular/material/icon';
|
|
11
11
|
import { MatIconModule, MatIconRegistry } from '@angular/material/icon';
|
|
12
12
|
import * as i8 from '@angular/material/menu';
|
|
13
13
|
import { MatMenuModule } from '@angular/material/menu';
|
|
@@ -17,21 +17,21 @@ import * as i2 from '@igo2/auth';
|
|
|
17
17
|
import { AuthService } from '@igo2/auth';
|
|
18
18
|
import { CustomHtmlComponent, SanitizeHtmlPipe } from '@igo2/common/custom-html';
|
|
19
19
|
import { InteractiveTourComponent } from '@igo2/common/interactive-tour';
|
|
20
|
-
import * as i1$
|
|
20
|
+
import * as i1$1 from '@igo2/common/tool';
|
|
21
21
|
import { ToolComponent } from '@igo2/common/tool';
|
|
22
22
|
import * as i5 from '@igo2/core/config';
|
|
23
23
|
import { version, ConfigService } from '@igo2/core/config';
|
|
24
24
|
import * as i2$1 from '@igo2/core/language';
|
|
25
25
|
import { IgoLanguageModule, LanguageService } from '@igo2/core/language';
|
|
26
26
|
import { of, BehaviorSubject, combineLatest, Subject, map, forkJoin, ReplaySubject, interval } from 'rxjs';
|
|
27
|
-
import * as
|
|
27
|
+
import * as i11 from '@ngx-translate/core';
|
|
28
28
|
import { EntityStore, EntityStoreFilterCustomFuncStrategy, EntityStoreFilterSelectionStrategy, EntityTableComponent, getEntityTitle } from '@igo2/common/entity';
|
|
29
|
-
import * as i1
|
|
30
|
-
import { IgoMap, CatalogBrowserComponent, CatalogService, CatalogLibaryComponent, StopsStore, StopsFeatureStore, RoutesFeatureStore,
|
|
29
|
+
import * as i1 from '@igo2/geo';
|
|
30
|
+
import { IgoMap, CatalogBrowserComponent, CatalogService, CatalogLibaryComponent, StopsStore, StopsFeatureStore, RoutesFeatureStore, StepsFeatureStore, IgoDirectionsModule, FeatureStore, DrawComponent, isLayerItem, OgcFilterableItemComponent, TimeFilterItemComponent, OgcFilterableListComponent, OgcFilterableListBindingDirective, FeatureStoreSelectionStrategy, FeatureMotion, mapExtentStrategyActiveToolTip, noElementSelected, OgcFilterWidget, WfsWorkspace, FeatureWorkspace, EditionWorkspace, SpatialFilterItemType, MeasureLengthUnit, SpatialFilterType, featureToOl, createOverlayMarkerStyle, moveToOlFeatures, SpatialFilterTypeComponent, SpatialFilterItemComponent, FeatureDetailsComponent, SpatialFilterService, LayerService, TimeFilterListComponent, TimeFilterListBindingDirective, isBaseLayer, ImportExportComponent, formatScale, zoneMtm, zoneUtm, computeProjectionsConstraints, LayerListControlsEnum, sourceCanSearch, LayerViewerComponent, ExportButtonComponent, OgcFilterButtonComponent, TimeFilterButtonComponent, TrackFeatureButtonComponent, MetadataButtonComponent, SearchSourceService, LayerLegendListComponent, LayerLegendListBindingDirective, roundCoordTo, featureFromOl, measureOlGeometryLength, FEATURE, VectorLayer, StyleModalLayerButtonComponent, MeasurerComponent, PrintComponent, getCommonVectorStyle, computeOlFeaturesExtent, featuresAreOutOfView, featuresAreTooDeepInView, getCommonVectorSelectedStyle, SearchResultsComponent, SearchResultAddButtonComponent, isLayerGroup, GeoPropertiesStrategy } from '@igo2/geo';
|
|
31
31
|
import { take, skipWhile, takeUntil, tap, debounceTime, map as map$1, skip } from 'rxjs/operators';
|
|
32
32
|
import * as i4 from '@igo2/core/storage';
|
|
33
33
|
import { StorageScope, StorageService, StorageServiceEventEnum } from '@igo2/core/storage';
|
|
34
|
-
import * as i1$
|
|
34
|
+
import * as i1$2 from '@igo2/context';
|
|
35
35
|
import { ContextEditComponent, ContextEditBindingDirective, ContextListComponent, ContextListBindingDirective, ContextPermissionsComponent, ContextPermissionsBindingDirective, ShareMapComponent, ContextImportExportComponent } from '@igo2/context';
|
|
36
36
|
import * as i4$1 from '@igo2/core/message';
|
|
37
37
|
import { MessageService, IgoMessageModule } from '@igo2/core/message';
|
|
@@ -43,42 +43,43 @@ import * as olstyle from 'ol/style';
|
|
|
43
43
|
import { WorkspaceStore } from '@igo2/common/workspace';
|
|
44
44
|
import * as i5$1 from '@igo2/common/widget';
|
|
45
45
|
import * as i3$1 from '@igo2/core/media';
|
|
46
|
+
import { Media, MediaService } from '@igo2/core/media';
|
|
46
47
|
import * as jsPDF from 'jspdf';
|
|
47
48
|
import 'jspdf-autotable';
|
|
48
49
|
import moment from 'moment';
|
|
49
50
|
import * as i2$2 from '@igo2/common/form';
|
|
50
51
|
import { FormService, IgoFormModule } from '@igo2/common/form';
|
|
51
|
-
import * as
|
|
52
|
+
import * as i2$3 from '@angular/forms';
|
|
52
53
|
import { Validators, FormsModule, ReactiveFormsModule } from '@angular/forms';
|
|
53
54
|
import * as i5$2 from '@angular/material/tabs';
|
|
54
55
|
import { MatTabsModule } from '@angular/material/tabs';
|
|
55
|
-
import * as
|
|
56
|
+
import * as i7$2 from '@angular/material/divider';
|
|
56
57
|
import { MatDividerModule } from '@angular/material/divider';
|
|
57
58
|
import * as i13 from '@angular/material/slide-toggle';
|
|
58
59
|
import { MatSlideToggleModule } from '@angular/material/slide-toggle';
|
|
59
60
|
import * as i12 from '@angular/material/core';
|
|
60
61
|
import { MatOptionModule } from '@angular/material/core';
|
|
61
|
-
import * as
|
|
62
|
+
import * as i7$1 from '@angular/material/form-field';
|
|
62
63
|
import { MatFormFieldModule } from '@angular/material/form-field';
|
|
63
64
|
import * as i8$1 from '@angular/material/input';
|
|
64
65
|
import { MatInputModule } from '@angular/material/input';
|
|
65
|
-
import * as i11 from '@angular/material/select';
|
|
66
|
+
import * as i11$1 from '@angular/material/select';
|
|
66
67
|
import { MatSelectModule } from '@angular/material/select';
|
|
67
68
|
import { Clipboard, uuid, NumberUtils } from '@igo2/utils';
|
|
68
69
|
import * as olProj from 'ol/proj';
|
|
69
|
-
import * as
|
|
70
|
+
import * as i9 from '@angular/material/list';
|
|
70
71
|
import { MatListModule } from '@angular/material/list';
|
|
71
|
-
import * as i9 from '@angular/material/radio';
|
|
72
|
+
import * as i9$1 from '@angular/material/radio';
|
|
72
73
|
import { MatRadioModule } from '@angular/material/radio';
|
|
73
74
|
import olLineString from 'ol/geom/LineString';
|
|
74
75
|
import olLayerVector from 'ol/layer/Vector';
|
|
75
|
-
import * as i9$
|
|
76
|
+
import * as i9$2 from '@angular/material/badge';
|
|
76
77
|
import { MatBadgeModule } from '@angular/material/badge';
|
|
77
78
|
import { FlexibleComponent } from '@igo2/common/flexible';
|
|
78
79
|
import olFeature from 'ol/Feature';
|
|
79
80
|
import olPoint from 'ol/geom/Point';
|
|
80
81
|
import pointOnFeature from '@turf/point-on-feature';
|
|
81
|
-
import * as i1$
|
|
82
|
+
import * as i1$3 from '@igo2/core/analytics';
|
|
82
83
|
|
|
83
84
|
let AboutToolComponent = class AboutToolComponent {
|
|
84
85
|
configService;
|
|
@@ -168,7 +169,7 @@ let AboutToolComponent = class AboutToolComponent {
|
|
|
168
169
|
return name;
|
|
169
170
|
}
|
|
170
171
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AboutToolComponent, deps: [{ token: i5.ConfigService }, { token: i2.AuthService }, { token: i3.HttpClient }, { token: i0.ChangeDetectorRef }, { token: i2$1.LanguageService }], target: i0.ɵɵFactoryTarget.Component });
|
|
171
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: AboutToolComponent, isStandalone: true, selector: "igo-about-tool", inputs: { headerHtml: "headerHtml", html: "html", discoverTitleInLocale: "discoverTitleInLocale", trainingGuideURLs: "trainingGuideURLs" }, ngImport: i0, template: "<p></p>\n<igo-interactive-tour\n mat-raised-button\n tourToStart=\"global\"\n menuIsOpen=\"true\"\n styleButton=\"raised\"\n [discoverTitleInLocale$]=\"discoverTitleInLocale$\"\n>\n</igo-interactive-tour>\n\n<button\n *ngIf=\"\n auth.authenticated && trainingGuideURLs && trainingGuideURLs.length === 1\n \"\n class=\"training-guide-button\"\n mat-raised-button\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [disabled]=\"loading\"\n [matTooltip]=\"'igo.integration.aboutTool.trainingGuideTooltip' | translate\"\n (click)=\"openGuide()\"\n>\n <span>{{ 'igo.integration.aboutTool.trainingGuide' | translate }}</span>\n <mat-icon>description</mat-icon>\n</button>\n\n<button\n *ngIf=\"\n auth.authenticated && trainingGuideURLs && trainingGuideURLs.length > 1\n \"\n class=\"training-guide-button\"\n mat-raised-button\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [disabled]=\"loading\"\n [matTooltip]=\"'igo.integration.aboutTool.trainingGuideTooltip' | translate\"\n [matMenuTriggerFor]=\"menu\"\n>\n <span>{{ 'igo.integration.aboutTool.trainingGuide' | translate }}</span>\n <mat-icon>description</mat-icon>\n</button>\n\n<mat-menu #menu=\"matMenu\">\n <button\n *ngFor=\"let guide of trainingGuideURLs\"\n mat-menu-item\n (click)=\"openGuide(guide)\"\n >\n {{ formatFileName(guide) }}\n </button>\n</mat-menu>\n\n<igo-custom-html\n *ngIf=\"headerHtml !== ''\"\n class=\"mat-typography\"\n [html]=\"headerHtml | translate\"\n>\n</igo-custom-html>\n\n<igo-custom-html\n class=\"mat-typography\"\n [html]=\"html | translate: { version: effectiveVersion }\"\n>\n</igo-custom-html>\n", styles: ["igo-interactive-tour button{margin-left:20px}.training-guide-button{margin-left:5px;background-color:#1976d2;color:#fff;padding:0 12px}\n"], dependencies: [{ kind: "component", type: InteractiveTourComponent, selector: "igo-interactive-tour", inputs: ["tourToStart", "styleButton", "discoverTitleInLocale$"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i7.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i6.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type:
|
|
172
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: AboutToolComponent, isStandalone: true, selector: "igo-about-tool", inputs: { headerHtml: "headerHtml", html: "html", discoverTitleInLocale: "discoverTitleInLocale", trainingGuideURLs: "trainingGuideURLs" }, ngImport: i0, template: "<p></p>\n<igo-interactive-tour\n mat-raised-button\n tourToStart=\"global\"\n menuIsOpen=\"true\"\n styleButton=\"raised\"\n [discoverTitleInLocale$]=\"discoverTitleInLocale$\"\n>\n</igo-interactive-tour>\n\n<button\n *ngIf=\"\n auth.authenticated && trainingGuideURLs && trainingGuideURLs.length === 1\n \"\n class=\"training-guide-button\"\n mat-raised-button\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [disabled]=\"loading\"\n [matTooltip]=\"'igo.integration.aboutTool.trainingGuideTooltip' | translate\"\n (click)=\"openGuide()\"\n>\n <span>{{ 'igo.integration.aboutTool.trainingGuide' | translate }}</span>\n <mat-icon>description</mat-icon>\n</button>\n\n<button\n *ngIf=\"\n auth.authenticated && trainingGuideURLs && trainingGuideURLs.length > 1\n \"\n class=\"training-guide-button\"\n mat-raised-button\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [disabled]=\"loading\"\n [matTooltip]=\"'igo.integration.aboutTool.trainingGuideTooltip' | translate\"\n [matMenuTriggerFor]=\"menu\"\n>\n <span>{{ 'igo.integration.aboutTool.trainingGuide' | translate }}</span>\n <mat-icon>description</mat-icon>\n</button>\n\n<mat-menu #menu=\"matMenu\">\n <button\n *ngFor=\"let guide of trainingGuideURLs\"\n mat-menu-item\n (click)=\"openGuide(guide)\"\n >\n {{ formatFileName(guide) }}\n </button>\n</mat-menu>\n\n<igo-custom-html\n *ngIf=\"headerHtml !== ''\"\n class=\"mat-typography\"\n [html]=\"headerHtml | translate\"\n>\n</igo-custom-html>\n\n<igo-custom-html\n class=\"mat-typography\"\n [html]=\"html | translate: { version: effectiveVersion }\"\n>\n</igo-custom-html>\n", styles: ["igo-interactive-tour button{margin-left:20px}.training-guide-button{margin-left:5px;background-color:#1976d2;color:#fff;padding:0 12px}\n"], dependencies: [{ kind: "component", type: InteractiveTourComponent, selector: "igo-interactive-tour", inputs: ["tourToStart", "styleButton", "discoverTitleInLocale$"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i7.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i6.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i10.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatMenuModule }, { kind: "component", type: i8.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: i8.MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i8.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: CustomHtmlComponent, selector: "igo-custom-html", inputs: ["html"] }, { kind: "ngmodule", type: IgoLanguageModule }, { kind: "pipe", type: i11.TranslatePipe, name: "translate" }] });
|
|
172
173
|
};
|
|
173
174
|
AboutToolComponent = __decorate([
|
|
174
175
|
ToolComponent({
|
|
@@ -228,7 +229,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
228
229
|
}]
|
|
229
230
|
}] });
|
|
230
231
|
|
|
231
|
-
// import { BehaviorSubject } from 'rxjs';
|
|
232
232
|
/**
|
|
233
233
|
* Service that holds the state of the map module
|
|
234
234
|
*/
|
|
@@ -237,7 +237,6 @@ class MapState {
|
|
|
237
237
|
projectionService;
|
|
238
238
|
storageService;
|
|
239
239
|
configService;
|
|
240
|
-
// public mapCenter$ = new BehaviorSubject<boolean>(false);
|
|
241
240
|
get showAllLegendsValue() {
|
|
242
241
|
return this._legendToolShowAll;
|
|
243
242
|
}
|
|
@@ -268,7 +267,7 @@ class MapState {
|
|
|
268
267
|
}, this.storageService, this.configService);
|
|
269
268
|
this.mapService.setMap(this.map);
|
|
270
269
|
}
|
|
271
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MapState, deps: [{ token: i1
|
|
270
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MapState, deps: [{ token: i1.MapService }, { token: i1.ProjectionService }, { token: i4.StorageService }, { token: i5.ConfigService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
272
271
|
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MapState, providedIn: 'root' });
|
|
273
272
|
}
|
|
274
273
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MapState, decorators: [{
|
|
@@ -276,7 +275,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
276
275
|
args: [{
|
|
277
276
|
providedIn: 'root'
|
|
278
277
|
}]
|
|
279
|
-
}], ctorParameters: () => [{ type: i1
|
|
278
|
+
}], ctorParameters: () => [{ type: i1.MapService }, { type: i1.ProjectionService }, { type: i4.StorageService }, { type: i5.ConfigService }] });
|
|
280
279
|
|
|
281
280
|
/**
|
|
282
281
|
* Service that holds the state of the catalog module
|
|
@@ -374,6 +373,10 @@ let CatalogBrowserToolComponent = class CatalogBrowserToolComponent {
|
|
|
374
373
|
const catalog$ = catalogStore.stateView.firstBy$((record) => record.state.selected === true);
|
|
375
374
|
const authenticate$ = this.authService.authenticate$;
|
|
376
375
|
this.catalog$$ = combineLatest([catalog$, authenticate$]).subscribe(([record]) => {
|
|
376
|
+
// Mute an error, that we are not able to replicate where the record is undefined
|
|
377
|
+
if (record === undefined) {
|
|
378
|
+
return;
|
|
379
|
+
}
|
|
377
380
|
const catalog = record.entity;
|
|
378
381
|
this.catalog = catalog;
|
|
379
382
|
this.loadCatalogItems(this.catalog);
|
|
@@ -406,7 +409,7 @@ let CatalogBrowserToolComponent = class CatalogBrowserToolComponent {
|
|
|
406
409
|
this.store$.next(store);
|
|
407
410
|
});
|
|
408
411
|
}
|
|
409
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CatalogBrowserToolComponent, deps: [{ token: i1
|
|
412
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CatalogBrowserToolComponent, deps: [{ token: i1.CatalogService }, { token: CatalogState }, { token: MapState }, { token: i2.AuthService }], target: i0.ɵɵFactoryTarget.Component });
|
|
410
413
|
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: CatalogBrowserToolComponent, isStandalone: true, selector: "igo-catalog-browser-tool", inputs: { toggleCollapsedGroup: "toggleCollapsedGroup" }, ngImport: i0, template: "<igo-catalog-browser\n *ngIf=\"store$ | async as store\"\n [catalog]=\"catalog\"\n [store]=\"store\"\n [map]=\"map\"\n [toggleCollapsedGroup]=\"toggleCollapsedGroup\"\n>\n</igo-catalog-browser>\n", dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: CatalogBrowserComponent, selector: "igo-catalog-browser", inputs: ["catalogAllowLegend", "catalog", "store", "map", "toggleCollapsedGroup"] }, { kind: "pipe", type: AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
411
414
|
};
|
|
412
415
|
CatalogBrowserToolComponent = __decorate([
|
|
@@ -423,7 +426,7 @@ CatalogBrowserToolComponent = __decorate([
|
|
|
423
426
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CatalogBrowserToolComponent, decorators: [{
|
|
424
427
|
type: Component,
|
|
425
428
|
args: [{ selector: 'igo-catalog-browser-tool', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [NgIf, CatalogBrowserComponent, AsyncPipe], template: "<igo-catalog-browser\n *ngIf=\"store$ | async as store\"\n [catalog]=\"catalog\"\n [store]=\"store\"\n [map]=\"map\"\n [toggleCollapsedGroup]=\"toggleCollapsedGroup\"\n>\n</igo-catalog-browser>\n" }]
|
|
426
|
-
}], ctorParameters: () => [{ type: i1
|
|
429
|
+
}], ctorParameters: () => [{ type: i1.CatalogService }, { type: CatalogState }, { type: MapState }, { type: i2.AuthService }], propDecorators: { toggleCollapsedGroup: [{
|
|
427
430
|
type: Input
|
|
428
431
|
}] } });
|
|
429
432
|
|
|
@@ -518,7 +521,7 @@ class ToolState {
|
|
|
518
521
|
this.openSidenav$.next(true);
|
|
519
522
|
}
|
|
520
523
|
}
|
|
521
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ToolState, deps: [{ token: i1$
|
|
524
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ToolState, deps: [{ token: i1$1.ToolService }, { token: ImportExportState }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
522
525
|
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ToolState, providedIn: 'root' });
|
|
523
526
|
}
|
|
524
527
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ToolState, decorators: [{
|
|
@@ -526,7 +529,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
526
529
|
args: [{
|
|
527
530
|
providedIn: 'root'
|
|
528
531
|
}]
|
|
529
|
-
}], ctorParameters: () => [{ type: i1$
|
|
532
|
+
}], ctorParameters: () => [{ type: i1$1.ToolService }, { type: ImportExportState }] });
|
|
530
533
|
|
|
531
534
|
/**
|
|
532
535
|
* Tool to browse the list of available catalogs.
|
|
@@ -601,7 +604,7 @@ let CatalogLibraryToolComponent = class CatalogLibraryToolComponent {
|
|
|
601
604
|
this.store.load(catalogs.concat((this.storageService.get('addedCatalogs') || [])));
|
|
602
605
|
});
|
|
603
606
|
}
|
|
604
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CatalogLibraryToolComponent, deps: [{ token: i1
|
|
607
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CatalogLibraryToolComponent, deps: [{ token: i1.CatalogService }, { token: CatalogState }, { token: ToolState }, { token: i4.StorageService }], target: i0.ɵɵFactoryTarget.Component });
|
|
605
608
|
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: CatalogLibraryToolComponent, isStandalone: true, selector: "igo-catalog-library-tool", inputs: { addCatalogAllowed: "addCatalogAllowed", predefinedCatalogs: "predefinedCatalogs" }, ngImport: i0, template: "<igo-catalog-library\n [predefinedCatalogs]=\"predefinedCatalogs\"\n [addCatalogAllowed]=\"addCatalogAllowed\"\n [store]=\"store\"\n (catalogSelectChange)=\"onCatalogSelectChange($event)\"\n>\n</igo-catalog-library>\n", dependencies: [{ kind: "component", type: CatalogLibaryComponent, selector: "igo-catalog-library", inputs: ["store", "map", "addCatalogAllowed", "predefinedCatalogs"], outputs: ["catalogSelectChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
606
609
|
};
|
|
607
610
|
CatalogLibraryToolComponent = __decorate([
|
|
@@ -618,7 +621,7 @@ CatalogLibraryToolComponent = __decorate([
|
|
|
618
621
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CatalogLibraryToolComponent, decorators: [{
|
|
619
622
|
type: Component,
|
|
620
623
|
args: [{ selector: 'igo-catalog-library-tool', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [CatalogLibaryComponent], template: "<igo-catalog-library\n [predefinedCatalogs]=\"predefinedCatalogs\"\n [addCatalogAllowed]=\"addCatalogAllowed\"\n [store]=\"store\"\n (catalogSelectChange)=\"onCatalogSelectChange($event)\"\n>\n</igo-catalog-library>\n" }]
|
|
621
|
-
}], ctorParameters: () => [{ type: i1
|
|
624
|
+
}], ctorParameters: () => [{ type: i1.CatalogService }, { type: CatalogState }, { type: ToolState }, { type: i4.StorageService }], propDecorators: { addCatalogAllowed: [{
|
|
622
625
|
type: Input
|
|
623
626
|
}], predefinedCatalogs: [{
|
|
624
627
|
type: Input
|
|
@@ -898,7 +901,7 @@ class ContextState {
|
|
|
898
901
|
}
|
|
899
902
|
this.setContext(context);
|
|
900
903
|
}
|
|
901
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ContextState, deps: [{ token: i1$
|
|
904
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ContextState, deps: [{ token: i1$2.ContextService }, { token: i1$1.ToolService }, { token: ToolState }, { token: i2$1.LanguageService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
902
905
|
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ContextState, providedIn: 'root' });
|
|
903
906
|
}
|
|
904
907
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ContextState, decorators: [{
|
|
@@ -906,7 +909,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
906
909
|
args: [{
|
|
907
910
|
providedIn: 'root'
|
|
908
911
|
}]
|
|
909
|
-
}], ctorParameters: () => [{ type: i1$
|
|
912
|
+
}], ctorParameters: () => [{ type: i1$2.ContextService }, { type: i1$1.ToolService }, { type: ToolState }, { type: i2$1.LanguageService }] });
|
|
910
913
|
|
|
911
914
|
/**
|
|
912
915
|
* Service that holds the state of the direction module
|
|
@@ -936,27 +939,15 @@ class DirectionState {
|
|
|
936
939
|
this.routesFeatureStore = new RoutesFeatureStore([], {
|
|
937
940
|
map: this.mapState.map
|
|
938
941
|
});
|
|
939
|
-
this.stepFeatureStore = new
|
|
942
|
+
this.stepFeatureStore = new StepsFeatureStore([], {
|
|
940
943
|
map: this.mapState.map
|
|
941
944
|
});
|
|
942
|
-
this.mapState.map.
|
|
943
|
-
this.
|
|
944
|
-
if (this.stopsFeatureStore.layer?.options) {
|
|
945
|
-
this.stopsFeatureStore.layer.options.showInLayerList = !empty;
|
|
946
|
-
}
|
|
947
|
-
});
|
|
948
|
-
this.routesFeatureStore.empty$.subscribe((empty) => {
|
|
949
|
-
if (this.routesFeatureStore.layer?.options) {
|
|
950
|
-
this.routesFeatureStore.layer.options.showInLayerList = !empty;
|
|
951
|
-
}
|
|
952
|
-
});
|
|
953
|
-
});
|
|
954
|
-
this.mapState.map.layers$.subscribe(() => {
|
|
955
|
-
if (!this.mapState.map.getLayerById('igo-direction-stops-layer')) {
|
|
945
|
+
this.mapState.map.layerController.all$.subscribe(() => {
|
|
946
|
+
if (!this.mapState.map.layerController.getById('igo-direction-stops-layer')) {
|
|
956
947
|
this.stopsStore.deleteMany(this.stopsStore.all());
|
|
957
948
|
this.stopsFeatureStore.deleteMany(this.stopsFeatureStore.all()); // not necessary
|
|
958
949
|
}
|
|
959
|
-
if (!this.mapState.map.
|
|
950
|
+
if (!this.mapState.map.layerController.getById('igo-direction-route-layer')) {
|
|
960
951
|
this.routesFeatureStore.deleteMany(this.routesFeatureStore.all());
|
|
961
952
|
}
|
|
962
953
|
});
|
|
@@ -1015,7 +1006,7 @@ let DirectionsToolComponent = class DirectionsToolComponent {
|
|
|
1015
1006
|
* step store
|
|
1016
1007
|
* @internal
|
|
1017
1008
|
*/
|
|
1018
|
-
get
|
|
1009
|
+
get zoomOnActiveRoute$() {
|
|
1019
1010
|
return this.directionState.zoomToActiveRoute$;
|
|
1020
1011
|
}
|
|
1021
1012
|
get authenticated$() {
|
|
@@ -1050,7 +1041,7 @@ let DirectionsToolComponent = class DirectionsToolComponent {
|
|
|
1050
1041
|
});
|
|
1051
1042
|
}
|
|
1052
1043
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DirectionsToolComponent, deps: [{ token: DirectionState }, { token: MapState }, { token: i2$1.LanguageService }, { token: i4$1.MessageService }, { token: i4.StorageService }, { token: ContextState }, { token: i2.AuthService }], target: i0.ɵɵFactoryTarget.Component });
|
|
1053
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", 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 [
|
|
1044
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", 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 [zoomOnActiveRoute$]=\"zoomOnActiveRoute$\"\n [authenticated$]=\"authenticated$\"\n>\n</igo-directions>\n", dependencies: [{ kind: "ngmodule", type: IgoDirectionsModule }, { kind: "component", type: i1.DirectionsComponent, selector: "igo-directions", inputs: ["contextUri", "stopsStore", "stopsFeatureStore", "routesFeatureStore", "stepsFeatureStore", "debounce", "length", "coordRoundedDecimals", "zoomOnActiveRoute$", "authenticated$"] }] });
|
|
1054
1045
|
};
|
|
1055
1046
|
DirectionsToolComponent = __decorate([
|
|
1056
1047
|
ToolComponent({
|
|
@@ -1068,7 +1059,7 @@ DirectionsToolComponent = __decorate([
|
|
|
1068
1059
|
], DirectionsToolComponent);
|
|
1069
1060
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DirectionsToolComponent, decorators: [{
|
|
1070
1061
|
type: Component,
|
|
1071
|
-
args: [{ selector: 'igo-directions-tool', standalone: true, imports: [IgoDirectionsModule], template: "<igo-directions\n [contextUri]=\"currentContextUri\"\n [debounce]=\"debounceTime\"\n [stopsStore]=\"stopsStore\"\n [stopsFeatureStore]=\"stopsFeatureStore\"\n [
|
|
1062
|
+
args: [{ selector: 'igo-directions-tool', standalone: true, imports: [IgoDirectionsModule], template: "<igo-directions\n [contextUri]=\"currentContextUri\"\n [debounce]=\"debounceTime\"\n [stopsStore]=\"stopsStore\"\n [stopsFeatureStore]=\"stopsFeatureStore\"\n [stepsFeatureStore]=\"stepFeatureStore\"\n [routesFeatureStore]=\"routesFeatureStore\"\n [zoomOnActiveRoute$]=\"zoomOnActiveRoute$\"\n [authenticated$]=\"authenticated$\"\n>\n</igo-directions>\n" }]
|
|
1072
1063
|
}], ctorParameters: () => [{ type: DirectionState }, { type: MapState }, { type: i2$1.LanguageService }, { type: i4$1.MessageService }, { type: i4.StorageService }, { type: ContextState }, { type: i2.AuthService }] });
|
|
1073
1064
|
|
|
1074
1065
|
/**
|
|
@@ -1104,9 +1095,9 @@ class DrawState {
|
|
|
1104
1095
|
activeDrawingLayer;
|
|
1105
1096
|
constructor(mapState) {
|
|
1106
1097
|
this.mapState = mapState;
|
|
1107
|
-
this.mapState.map.
|
|
1098
|
+
this.mapState.map.layerController.all$.subscribe(() => {
|
|
1108
1099
|
this.layersID.forEach((layerId) => {
|
|
1109
|
-
if (!this.mapState.map.
|
|
1100
|
+
if (!this.mapState.map.layerController.getById(layerId)) {
|
|
1110
1101
|
const deletedStore = this.stores.find((store) => store.layer.id === layerId);
|
|
1111
1102
|
deletedStore.deleteMany(deletedStore.all());
|
|
1112
1103
|
this.stores.splice(this.stores.indexOf(deletedStore, 0), 1);
|
|
@@ -1239,8 +1230,8 @@ let ActiveOgcFilterToolComponent = class ActiveOgcFilterToolComponent {
|
|
|
1239
1230
|
return this.mapState.map;
|
|
1240
1231
|
}
|
|
1241
1232
|
get layer() {
|
|
1242
|
-
for (const lay of this.map.
|
|
1243
|
-
if (lay.
|
|
1233
|
+
for (const lay of this.map.layerController.all) {
|
|
1234
|
+
if (isLayerItem(lay) && this.map.layerController.isSelected(lay)) {
|
|
1244
1235
|
return lay;
|
|
1245
1236
|
}
|
|
1246
1237
|
}
|
|
@@ -1282,8 +1273,8 @@ let ActiveTimeFilterToolComponent = class ActiveTimeFilterToolComponent {
|
|
|
1282
1273
|
return this.mapState.map;
|
|
1283
1274
|
}
|
|
1284
1275
|
get layer() {
|
|
1285
|
-
for (const lay of this.map.
|
|
1286
|
-
if (lay.
|
|
1276
|
+
for (const lay of this.map.layerController.all) {
|
|
1277
|
+
if (isLayerItem(lay) && this.map.layerController.isSelected(lay)) {
|
|
1287
1278
|
return lay;
|
|
1288
1279
|
}
|
|
1289
1280
|
}
|
|
@@ -1873,7 +1864,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
1873
1864
|
let SpatialFilterToolComponent = class SpatialFilterToolComponent {
|
|
1874
1865
|
matIconRegistry;
|
|
1875
1866
|
spatialFilterService;
|
|
1876
|
-
dataSourceService;
|
|
1877
1867
|
layerService;
|
|
1878
1868
|
mapState;
|
|
1879
1869
|
messageService;
|
|
@@ -1904,12 +1894,10 @@ let SpatialFilterToolComponent = class SpatialFilterToolComponent {
|
|
|
1904
1894
|
thematicLength = 0;
|
|
1905
1895
|
measureUnit = MeasureLengthUnit.Meters;
|
|
1906
1896
|
unsubscribe$ = new Subject();
|
|
1907
|
-
moveendKey;
|
|
1908
1897
|
defaultStyle;
|
|
1909
|
-
constructor(matIconRegistry, spatialFilterService,
|
|
1898
|
+
constructor(matIconRegistry, spatialFilterService, layerService, mapState, messageService, languageService, importExportState, toolState, workspaceState, cdRef) {
|
|
1910
1899
|
this.matIconRegistry = matIconRegistry;
|
|
1911
1900
|
this.spatialFilterService = spatialFilterService;
|
|
1912
|
-
this.dataSourceService = dataSourceService;
|
|
1913
1901
|
this.layerService = layerService;
|
|
1914
1902
|
this.mapState = mapState;
|
|
1915
1903
|
this.messageService = messageService;
|
|
@@ -1920,7 +1908,7 @@ let SpatialFilterToolComponent = class SpatialFilterToolComponent {
|
|
|
1920
1908
|
this.cdRef = cdRef;
|
|
1921
1909
|
}
|
|
1922
1910
|
ngOnInit() {
|
|
1923
|
-
for (const layer of this.map.
|
|
1911
|
+
for (const layer of this.map.layerController.all) {
|
|
1924
1912
|
if (layer.title &&
|
|
1925
1913
|
layer.title.includes(this.languageService.translate.instant('igo.geo.spatialFilter.spatialFilter'))) {
|
|
1926
1914
|
this.layers.push(layer);
|
|
@@ -1961,7 +1949,8 @@ let SpatialFilterToolComponent = class SpatialFilterToolComponent {
|
|
|
1961
1949
|
if (!record &&
|
|
1962
1950
|
this.activeLayers.length &&
|
|
1963
1951
|
this.workspaceState.store.all().length > 1) {
|
|
1964
|
-
if (this.itemType === SpatialFilterItemType.Thematics
|
|
1952
|
+
if (this.itemType === SpatialFilterItemType.Thematics &&
|
|
1953
|
+
this.thematics) {
|
|
1965
1954
|
for (const thematic of this.thematics) {
|
|
1966
1955
|
if (!thematic.zeroResults) {
|
|
1967
1956
|
layerToOpenWks = this.activeLayers.find((layer) => layer.title.includes(thematic.name + ' ' + this.iterator.toString()));
|
|
@@ -1986,7 +1975,7 @@ let SpatialFilterToolComponent = class SpatialFilterToolComponent {
|
|
|
1986
1975
|
this.activeLayers.length &&
|
|
1987
1976
|
this.workspaceState.store.all().length > 1) {
|
|
1988
1977
|
this.selectWorkspaceEntity(record);
|
|
1989
|
-
this.
|
|
1978
|
+
this.map.ol.on('moveend', () => {
|
|
1990
1979
|
this.selectWorkspaceEntity(record);
|
|
1991
1980
|
});
|
|
1992
1981
|
}
|
|
@@ -2029,7 +2018,7 @@ let SpatialFilterToolComponent = class SpatialFilterToolComponent {
|
|
|
2029
2018
|
this.queryType = undefined;
|
|
2030
2019
|
}
|
|
2031
2020
|
clearMap() {
|
|
2032
|
-
this.map.
|
|
2021
|
+
this.map.layerController.remove(...this.layers);
|
|
2033
2022
|
this.layers = [];
|
|
2034
2023
|
this.activeLayers = [];
|
|
2035
2024
|
this.thematicLength = 0;
|
|
@@ -2125,7 +2114,8 @@ let SpatialFilterToolComponent = class SpatialFilterToolComponent {
|
|
|
2125
2114
|
for (const feature of features) {
|
|
2126
2115
|
if (this.type === SpatialFilterType.Predefined) {
|
|
2127
2116
|
for (const layer of this.layers) {
|
|
2128
|
-
if (layer
|
|
2117
|
+
if (isLayerItem(layer) &&
|
|
2118
|
+
layer.options._internal &&
|
|
2129
2119
|
layer.options._internal.code === feature.properties.code &&
|
|
2130
2120
|
!buffer) {
|
|
2131
2121
|
if (!layer.title?.startsWith('Zone')) {
|
|
@@ -2138,7 +2128,7 @@ let SpatialFilterToolComponent = class SpatialFilterToolComponent {
|
|
|
2138
2128
|
this.activeLayers = [];
|
|
2139
2129
|
const index = this.layers.indexOf(layer);
|
|
2140
2130
|
this.layers.splice(index, 1);
|
|
2141
|
-
this.map.
|
|
2131
|
+
this.map.layerController.remove(layer);
|
|
2142
2132
|
}
|
|
2143
2133
|
}
|
|
2144
2134
|
}
|
|
@@ -2149,7 +2139,7 @@ let SpatialFilterToolComponent = class SpatialFilterToolComponent {
|
|
|
2149
2139
|
layer.title?.startsWith('Zone')) {
|
|
2150
2140
|
const index = this.layers.indexOf(layer);
|
|
2151
2141
|
this.layers.splice(index, 1);
|
|
2152
|
-
this.map.
|
|
2142
|
+
this.map.layerController.remove(layer);
|
|
2153
2143
|
}
|
|
2154
2144
|
}
|
|
2155
2145
|
}
|
|
@@ -2186,28 +2176,28 @@ let SpatialFilterToolComponent = class SpatialFilterToolComponent {
|
|
|
2186
2176
|
})
|
|
2187
2177
|
});
|
|
2188
2178
|
};
|
|
2189
|
-
|
|
2190
|
-
|
|
2191
|
-
|
|
2192
|
-
|
|
2193
|
-
|
|
2179
|
+
const options = {
|
|
2180
|
+
isIgoInternalLayer: true,
|
|
2181
|
+
title: ('Zone ' +
|
|
2182
|
+
i +
|
|
2183
|
+
' - ' +
|
|
2184
|
+
this.languageService.translate.instant('igo.geo.spatialFilter.spatialFilter')),
|
|
2185
|
+
workspace: { enabled: true },
|
|
2186
|
+
_internal: {
|
|
2187
|
+
code: this.type === SpatialFilterType.Predefined
|
|
2188
|
+
? feature.properties.code
|
|
2189
|
+
: undefined
|
|
2190
|
+
},
|
|
2191
|
+
sourceOptions: {
|
|
2192
|
+
type: 'vector',
|
|
2193
|
+
queryable: true
|
|
2194
|
+
},
|
|
2195
|
+
visible: true
|
|
2196
|
+
};
|
|
2197
|
+
this.layerService
|
|
2198
|
+
.createAsyncLayer(options)
|
|
2194
2199
|
.pipe(take(1))
|
|
2195
|
-
.subscribe((
|
|
2196
|
-
const olLayer = this.layerService.createLayer({
|
|
2197
|
-
isIgoInternalLayer: true,
|
|
2198
|
-
title: ('Zone ' +
|
|
2199
|
-
i +
|
|
2200
|
-
' - ' +
|
|
2201
|
-
this.languageService.translate.instant('igo.geo.spatialFilter.spatialFilter')),
|
|
2202
|
-
workspace: { enabled: true },
|
|
2203
|
-
_internal: {
|
|
2204
|
-
code: this.type === SpatialFilterType.Predefined
|
|
2205
|
-
? feature.properties.code
|
|
2206
|
-
: undefined
|
|
2207
|
-
},
|
|
2208
|
-
source: dataSource,
|
|
2209
|
-
visible: true
|
|
2210
|
-
});
|
|
2200
|
+
.subscribe((layer) => {
|
|
2211
2201
|
const featuresOl = features.map((f) => {
|
|
2212
2202
|
return featureToOl(f, this.map.projection);
|
|
2213
2203
|
});
|
|
@@ -2216,12 +2206,12 @@ let SpatialFilterToolComponent = class SpatialFilterToolComponent {
|
|
|
2216
2206
|
featuresOl[0].set('nom', 'Zone', true);
|
|
2217
2207
|
featuresOl[0].set('type', type, true);
|
|
2218
2208
|
}
|
|
2219
|
-
const ol = dataSource.ol;
|
|
2209
|
+
const ol = layer.dataSource.ol;
|
|
2220
2210
|
ol.addFeatures(featuresOl);
|
|
2221
|
-
|
|
2222
|
-
this.map.
|
|
2223
|
-
this.layers.push(
|
|
2224
|
-
this.activeLayers.push(
|
|
2211
|
+
layer.ol.setStyle(this.defaultStyle);
|
|
2212
|
+
this.map.layerController.add(layer);
|
|
2213
|
+
this.layers.push(layer);
|
|
2214
|
+
this.activeLayers.push(layer);
|
|
2225
2215
|
this.cdRef.detectChanges();
|
|
2226
2216
|
});
|
|
2227
2217
|
}
|
|
@@ -2241,56 +2231,57 @@ let SpatialFilterToolComponent = class SpatialFilterToolComponent {
|
|
|
2241
2231
|
i++;
|
|
2242
2232
|
}
|
|
2243
2233
|
}
|
|
2244
|
-
|
|
2245
|
-
|
|
2246
|
-
|
|
2247
|
-
|
|
2248
|
-
|
|
2249
|
-
|
|
2250
|
-
|
|
2251
|
-
|
|
2234
|
+
const icon = features[0].meta.icon;
|
|
2235
|
+
let style;
|
|
2236
|
+
if (!icon) {
|
|
2237
|
+
style = createOverlayMarkerStyle();
|
|
2238
|
+
}
|
|
2239
|
+
else {
|
|
2240
|
+
style = this.createSvgIcon(icon) || createOverlayMarkerStyle();
|
|
2241
|
+
}
|
|
2242
|
+
const options = {
|
|
2243
|
+
isIgoInternalLayer: true,
|
|
2244
|
+
title: (features[0].meta.title +
|
|
2245
|
+
' ' +
|
|
2246
|
+
i +
|
|
2247
|
+
' - ' +
|
|
2248
|
+
this.languageService.translate.instant('igo.geo.spatialFilter.spatialFilter')),
|
|
2249
|
+
visible: true,
|
|
2250
|
+
style,
|
|
2251
|
+
sourceOptions: {
|
|
2252
|
+
type: 'cluster',
|
|
2253
|
+
id,
|
|
2254
|
+
queryable: true,
|
|
2255
|
+
distance: 120,
|
|
2256
|
+
meta: {
|
|
2257
|
+
title: 'Cluster'
|
|
2258
|
+
}
|
|
2252
2259
|
}
|
|
2253
|
-
}
|
|
2260
|
+
};
|
|
2261
|
+
this.layerService
|
|
2262
|
+
.createAsyncLayer(options)
|
|
2254
2263
|
.pipe(take(1))
|
|
2255
|
-
.subscribe((
|
|
2256
|
-
const icon = features[0].meta.icon;
|
|
2257
|
-
let style;
|
|
2258
|
-
if (!icon) {
|
|
2259
|
-
style = createOverlayMarkerStyle();
|
|
2260
|
-
}
|
|
2261
|
-
else {
|
|
2262
|
-
style = this.createSvgIcon(icon) || createOverlayMarkerStyle();
|
|
2263
|
-
}
|
|
2264
|
-
const olLayer = this.layerService.createLayer({
|
|
2265
|
-
isIgoInternalLayer: true,
|
|
2266
|
-
title: (features[0].meta.title +
|
|
2267
|
-
' ' +
|
|
2268
|
-
i +
|
|
2269
|
-
' - ' +
|
|
2270
|
-
this.languageService.translate.instant('igo.geo.spatialFilter.spatialFilter')),
|
|
2271
|
-
source: dataSource,
|
|
2272
|
-
visible: true,
|
|
2273
|
-
style
|
|
2274
|
-
});
|
|
2264
|
+
.subscribe((layer) => {
|
|
2275
2265
|
const featuresOl = features.map((feature) => {
|
|
2276
2266
|
return featureToOl(feature, this.map.projection);
|
|
2277
2267
|
});
|
|
2278
|
-
const ol = dataSource.ol;
|
|
2268
|
+
const ol = layer.dataSource.ol;
|
|
2279
2269
|
ol.getSource().addFeatures(featuresOl);
|
|
2280
|
-
|
|
2281
|
-
|
|
2270
|
+
const previousLayer = this.layers.find((prevLayer) => prevLayer.id === layer.id);
|
|
2271
|
+
if (previousLayer) {
|
|
2272
|
+
this.map.layerController.remove(previousLayer);
|
|
2282
2273
|
i = i - 1;
|
|
2283
|
-
|
|
2274
|
+
layer.title = (features[0].meta.title +
|
|
2284
2275
|
' ' +
|
|
2285
2276
|
i +
|
|
2286
2277
|
' - ' +
|
|
2287
2278
|
this.languageService.translate.instant('igo.geo.spatialFilter.spatialFilter'));
|
|
2288
|
-
|
|
2279
|
+
layer.options.title = layer.title;
|
|
2289
2280
|
}
|
|
2290
2281
|
this.iterator = i;
|
|
2291
|
-
this.map.
|
|
2292
|
-
this.layers.push(
|
|
2293
|
-
this.pushLayer(
|
|
2282
|
+
this.map.layerController.add(layer);
|
|
2283
|
+
this.layers.push(layer);
|
|
2284
|
+
this.pushLayer(layer);
|
|
2294
2285
|
this.cdRef.detectChanges();
|
|
2295
2286
|
});
|
|
2296
2287
|
}
|
|
@@ -2326,42 +2317,43 @@ let SpatialFilterToolComponent = class SpatialFilterToolComponent {
|
|
|
2326
2317
|
i++;
|
|
2327
2318
|
}
|
|
2328
2319
|
}
|
|
2329
|
-
|
|
2330
|
-
|
|
2331
|
-
|
|
2332
|
-
|
|
2333
|
-
|
|
2334
|
-
|
|
2320
|
+
const options = {
|
|
2321
|
+
isIgoInternalLayer: true,
|
|
2322
|
+
title: (features[0].meta.title +
|
|
2323
|
+
' ' +
|
|
2324
|
+
i +
|
|
2325
|
+
' - ' +
|
|
2326
|
+
this.languageService.translate.instant('igo.geo.spatialFilter.spatialFilter')),
|
|
2327
|
+
sourceOptions: {
|
|
2328
|
+
type: 'vector',
|
|
2329
|
+
id,
|
|
2330
|
+
queryable: true
|
|
2331
|
+
},
|
|
2332
|
+
visible: true
|
|
2333
|
+
};
|
|
2334
|
+
this.layerService
|
|
2335
|
+
.createAsyncLayer(options)
|
|
2335
2336
|
.pipe(take(1))
|
|
2336
|
-
.subscribe((
|
|
2337
|
-
const olLayer = this.layerService.createLayer({
|
|
2338
|
-
isIgoInternalLayer: true,
|
|
2339
|
-
title: (features[0].meta.title +
|
|
2340
|
-
' ' +
|
|
2341
|
-
i +
|
|
2342
|
-
' - ' +
|
|
2343
|
-
this.languageService.translate.instant('igo.geo.spatialFilter.spatialFilter')),
|
|
2344
|
-
source: dataSource,
|
|
2345
|
-
visible: true
|
|
2346
|
-
});
|
|
2337
|
+
.subscribe((layer) => {
|
|
2347
2338
|
const featuresOl = features.map((feature) => {
|
|
2348
2339
|
return featureToOl(feature, this.map.projection);
|
|
2349
2340
|
});
|
|
2350
|
-
const ol = dataSource.ol;
|
|
2341
|
+
const ol = layer.dataSource.ol;
|
|
2351
2342
|
ol.addFeatures(featuresOl);
|
|
2352
|
-
|
|
2353
|
-
|
|
2343
|
+
const previousLayer = this.layers.find((prevLayer) => prevLayer.id === layer.id);
|
|
2344
|
+
if (previousLayer) {
|
|
2345
|
+
this.map.layerController.remove(previousLayer);
|
|
2354
2346
|
i = i - 1;
|
|
2355
|
-
|
|
2347
|
+
layer.title = (features[0].meta.title +
|
|
2356
2348
|
' ' +
|
|
2357
2349
|
i +
|
|
2358
2350
|
' - ' +
|
|
2359
2351
|
this.languageService.translate.instant('igo.geo.spatialFilter.spatialFilter'));
|
|
2360
|
-
|
|
2352
|
+
layer.options.title = layer.title;
|
|
2361
2353
|
}
|
|
2362
|
-
this.map.
|
|
2363
|
-
this.layers.push(
|
|
2364
|
-
this.pushLayer(
|
|
2354
|
+
this.map.layerController.add(layer);
|
|
2355
|
+
this.layers.push(layer);
|
|
2356
|
+
this.pushLayer(layer);
|
|
2365
2357
|
this.cdRef.detectChanges();
|
|
2366
2358
|
});
|
|
2367
2359
|
}
|
|
@@ -2383,7 +2375,7 @@ let SpatialFilterToolComponent = class SpatialFilterToolComponent {
|
|
|
2383
2375
|
}
|
|
2384
2376
|
this.activeLayers.push(layer);
|
|
2385
2377
|
}
|
|
2386
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SpatialFilterToolComponent, deps: [{ token:
|
|
2378
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SpatialFilterToolComponent, deps: [{ token: i10.MatIconRegistry }, { token: i1.SpatialFilterService }, { token: i1.LayerService }, { token: MapState }, { token: i4$1.MessageService }, { token: i2$1.LanguageService }, { token: ImportExportState }, { token: ToolState }, { token: WorkspaceState }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
2387
2379
|
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: SpatialFilterToolComponent, isStandalone: true, selector: "igo-spatial-filter-tool", inputs: { type: "type", itemType: "itemType", freehandDrawIsActive: "freehandDrawIsActive" }, ngImport: i0, template: "<igo-spatial-filter-type\n [store]=\"spatialListStore\"\n [selectedQueryType]=\"queryType\"\n [zone]=\"zone\"\n [layers]=\"activeLayers\"\n (eventType)=\"getOutputType($event)\"\n (eventQueryType)=\"getOutputQueryType($event)\"\n (zoneChange)=\"onZoneChange($event)\"\n (zoneWithBufferChange)=\"onZoneChange($event, true)\"\n (bufferChange)=\"buffer = $event\"\n (measureUnitChange)=\"measureUnit = $event\"\n>\n</igo-spatial-filter-type>\n\n<igo-spatial-filter-item\n [type]=\"type\"\n [queryType]=\"queryType\"\n [map]=\"map\"\n [zone]=\"zone\"\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 = $event\"\n (drawZoneEvent)=\"zone = $event\"\n (zoneWithBufferChange)=\"onZoneChange($event, true)\"\n (itemTypeChange)=\"itemType = $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</igo-spatial-filter-item>\n<ng-container *ngIf=\"selectedFeature$ | async as feature\">\n <igo-feature-details [feature]=\"feature\"></igo-feature-details>\n</ng-container>\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", "zone", "layers"], outputs: ["eventType", "eventQueryType", "zoneChange", "zoneWithBufferChange", "bufferChange", "measureUnitChange"] }, { kind: "component", type: SpatialFilterItemComponent, selector: "igo-spatial-filter-item", inputs: ["map", "type", "queryType", "zone", "loading", "store", "layers", "allLayers", "thematicLength"], outputs: ["toggleSearch", "itemTypeChange", "thematicChange", "drawZoneEvent", "bufferEvent", "zoneWithBufferChange", "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: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
2388
2380
|
};
|
|
2389
2381
|
SpatialFilterToolComponent = __decorate([
|
|
@@ -2398,7 +2390,6 @@ SpatialFilterToolComponent = __decorate([
|
|
|
2398
2390
|
,
|
|
2399
2391
|
__metadata("design:paramtypes", [MatIconRegistry,
|
|
2400
2392
|
SpatialFilterService,
|
|
2401
|
-
DataSourceService,
|
|
2402
2393
|
LayerService,
|
|
2403
2394
|
MapState,
|
|
2404
2395
|
MessageService,
|
|
@@ -2418,7 +2409,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
2418
2409
|
NgIf,
|
|
2419
2410
|
AsyncPipe
|
|
2420
2411
|
], template: "<igo-spatial-filter-type\n [store]=\"spatialListStore\"\n [selectedQueryType]=\"queryType\"\n [zone]=\"zone\"\n [layers]=\"activeLayers\"\n (eventType)=\"getOutputType($event)\"\n (eventQueryType)=\"getOutputQueryType($event)\"\n (zoneChange)=\"onZoneChange($event)\"\n (zoneWithBufferChange)=\"onZoneChange($event, true)\"\n (bufferChange)=\"buffer = $event\"\n (measureUnitChange)=\"measureUnit = $event\"\n>\n</igo-spatial-filter-type>\n\n<igo-spatial-filter-item\n [type]=\"type\"\n [queryType]=\"queryType\"\n [map]=\"map\"\n [zone]=\"zone\"\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 = $event\"\n (drawZoneEvent)=\"zone = $event\"\n (zoneWithBufferChange)=\"onZoneChange($event, true)\"\n (itemTypeChange)=\"itemType = $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</igo-spatial-filter-item>\n<ng-container *ngIf=\"selectedFeature$ | async as feature\">\n <igo-feature-details [feature]=\"feature\"></igo-feature-details>\n</ng-container>\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"] }]
|
|
2421
|
-
}], ctorParameters: () => [{ type:
|
|
2412
|
+
}], ctorParameters: () => [{ type: i10.MatIconRegistry }, { type: i1.SpatialFilterService }, { type: i1.LayerService }, { type: MapState }, { type: i4$1.MessageService }, { type: i2$1.LanguageService }, { type: ImportExportState }, { type: ToolState }, { type: WorkspaceState }, { type: i0.ChangeDetectorRef }], propDecorators: { type: [{
|
|
2422
2413
|
type: Input
|
|
2423
2414
|
}], itemType: [{
|
|
2424
2415
|
type: Input
|
|
@@ -2517,9 +2508,12 @@ let DataIssueReporterToolComponent = class DataIssueReporterToolComponent {
|
|
|
2517
2508
|
this.httpClient = httpClient;
|
|
2518
2509
|
}
|
|
2519
2510
|
ngOnInit() {
|
|
2520
|
-
combineLatest([
|
|
2511
|
+
combineLatest([
|
|
2512
|
+
this.languageService.language$,
|
|
2513
|
+
this.map.layerController.all$
|
|
2514
|
+
]).subscribe(([_language, layers]) => {
|
|
2521
2515
|
const baseLayerOrShownInLayerList = layers
|
|
2522
|
-
.filter((l) => l
|
|
2516
|
+
.filter((l) => isBaseLayer(l) || l.showInLayerList)
|
|
2523
2517
|
.map((l) => {
|
|
2524
2518
|
return { value: `${l.title}-${l.id}`, title: l.title };
|
|
2525
2519
|
});
|
|
@@ -2630,7 +2624,7 @@ let DataIssueReporterToolComponent = class DataIssueReporterToolComponent {
|
|
|
2630
2624
|
}
|
|
2631
2625
|
}
|
|
2632
2626
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DataIssueReporterToolComponent, deps: [{ token: MapState }, { token: i2$2.FormService }, { token: i2$1.LanguageService }, { token: i4$1.MessageService }, { token: i3.HttpClient }], target: i0.ɵɵFactoryTarget.Component });
|
|
2633
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: DataIssueReporterToolComponent, selector: "igo-issue-reporter-tool", inputs: { url: "url" }, ngImport: i0, template: "<igo-form\n *ngIf=\"form$ | async as form\"\n [form]=\"form\"\n [formData]=\"data$ | async\"\n (submitForm)=\"onSubmit($any($event))\"\n>\n <div *ngIf=\"form.fields.length\" class=\"form-container\">\n <igo-form-field\n *ngFor=\"let field of form.fields\"\n [field]=\"field\"\n ></igo-form-field>\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 mat-flat-button\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", styles: [":host .actions-container button:not(:last-child){margin-right:8px}:host .form-container{width:100%;padding:10px}:host .form-container igo-form-field{display:block;height:auto}\n"], dependencies: [{ kind: "directive", type: i6$
|
|
2627
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: DataIssueReporterToolComponent, selector: "igo-issue-reporter-tool", inputs: { url: "url" }, ngImport: i0, template: "<igo-form\n *ngIf=\"form$ | async as form\"\n [form]=\"form\"\n [formData]=\"data$ | async\"\n (submitForm)=\"onSubmit($any($event))\"\n>\n <div *ngIf=\"form.fields.length\" class=\"form-container\">\n <igo-form-field\n *ngFor=\"let field of form.fields\"\n [field]=\"field\"\n ></igo-form-field>\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 mat-flat-button\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", styles: [":host .actions-container button:not(:last-child){margin-right:8px}:host .form-container{width:100%;padding:10px}:host .form-container igo-form-field{display:block;height:auto}\n"], dependencies: [{ kind: "directive", type: i6$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i6$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i7.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i2$2.FormFieldComponent, selector: "igo-form-field", inputs: ["field"] }, { kind: "component", type: i2$2.FormComponent, selector: "igo-form", inputs: ["form", "formData", "autocomplete"], outputs: ["submitForm"] }, { kind: "pipe", type: i6$1.AsyncPipe, name: "async" }, { kind: "pipe", type: i11.TranslatePipe, name: "translate" }] });
|
|
2634
2628
|
};
|
|
2635
2629
|
DataIssueReporterToolComponent = __decorate([
|
|
2636
2630
|
ToolComponent({
|
|
@@ -2740,7 +2734,7 @@ let ImportExportToolComponent = class ImportExportToolComponent {
|
|
|
2740
2734
|
this.importExportType = event.value;
|
|
2741
2735
|
}
|
|
2742
2736
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ImportExportToolComponent, deps: [{ token: MapState }, { token: ImportExportState }, { token: WorkspaceState }, { token: ContextState }], target: i0.ɵɵFactoryTarget.Component });
|
|
2743
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: ImportExportToolComponent, isStandalone: true, selector: "igo-import-export-tool", inputs: { projectionsLimitations: "projectionsLimitations", selectFirstProj: "selectFirstProj", importExportType: "importExportType", importExportShowBothType: "importExportShowBothType" }, ngImport: i0, template: "<mat-tab-group *ngIf=\"importExportShowBothType\">\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 </igo-import-export>\n </mat-tab>\n <mat-tab\n [label]=\"'igo.integration.importExportTool.importExportContext' | translate\"\n >\n <igo-context-import-export [map]=\"map\"></igo-context-import-export>\n </mat-tab>\n</mat-tab-group>\n\n<igo-import-export\n *ngIf=\"!importExportShowBothType && importExportType === 'layer'\"\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</igo-import-export>\n\n<igo-context-import-export\n *ngIf=\"!importExportShowBothType && importExportType === 'context'\"\n [map]=\"map\"\n>\n</igo-context-import-export>\n", styles: ["mat-form-field{width:100%}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: MatTabsModule }, { kind: "component", type: i5$2.MatTab, selector: "mat-tab", inputs: ["disabled", "label", "aria-label", "aria-labelledby", "labelClass", "bodyClass"], exportAs: ["matTab"] }, { kind: "component", type: i5$2.MatTabGroup, selector: "mat-tab-group", inputs: ["color", "fitInkBarToContent", "mat-stretch-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: ["selectMode", "exportOptionsChange"] }, { kind: "component", type: ContextImportExportComponent, selector: "igo-context-import-export", inputs: ["map"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "ngmodule", type: IgoLanguageModule }, { kind: "pipe", type:
|
|
2737
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: ImportExportToolComponent, isStandalone: true, selector: "igo-import-export-tool", inputs: { projectionsLimitations: "projectionsLimitations", selectFirstProj: "selectFirstProj", importExportType: "importExportType", importExportShowBothType: "importExportShowBothType" }, ngImport: i0, template: "<mat-tab-group *ngIf=\"importExportShowBothType\">\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 </igo-import-export>\n </mat-tab>\n <mat-tab\n [label]=\"'igo.integration.importExportTool.importExportContext' | translate\"\n >\n <igo-context-import-export [map]=\"map\"></igo-context-import-export>\n </mat-tab>\n</mat-tab-group>\n\n<igo-import-export\n *ngIf=\"!importExportShowBothType && importExportType === 'layer'\"\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</igo-import-export>\n\n<igo-context-import-export\n *ngIf=\"!importExportShowBothType && importExportType === 'context'\"\n [map]=\"map\"\n>\n</igo-context-import-export>\n", styles: ["mat-form-field{width:100%}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: MatTabsModule }, { kind: "component", type: i5$2.MatTab, selector: "mat-tab", inputs: ["disabled", "label", "aria-label", "aria-labelledby", "labelClass", "bodyClass"], exportAs: ["matTab"] }, { kind: "component", type: i5$2.MatTabGroup, selector: "mat-tab-group", inputs: ["color", "fitInkBarToContent", "mat-stretch-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: ["selectMode", "exportOptionsChange"] }, { kind: "component", type: ContextImportExportComponent, selector: "igo-context-import-export", inputs: ["map"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "ngmodule", type: IgoLanguageModule }, { kind: "pipe", type: i11.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
2744
2738
|
};
|
|
2745
2739
|
ImportExportToolComponent = __decorate([
|
|
2746
2740
|
ToolComponent({
|
|
@@ -3179,8 +3173,8 @@ class AdvancedCoordinatesComponent {
|
|
|
3179
3173
|
}
|
|
3180
3174
|
});
|
|
3181
3175
|
}
|
|
3182
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AdvancedCoordinatesComponent, deps: [{ token: MapState }, { token: i2$1.LanguageService }, { token: i4$1.MessageService }, { token: i0.ChangeDetectorRef }, { token: i4.StorageService }, { token: i5.ConfigService }, { token:
|
|
3183
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: AdvancedCoordinatesComponent, isStandalone: true, selector: "igo-advanced-coordinates", inputs: { projectionsLimitations: "projectionsLimitations" }, ngImport: i0, template: "<div class=\"advanced-coordinates__coordinates-container\">\n <div class=\"advanced-coordinates__coordinates-container__inner\">\n <mat-form-field *ngIf=\"units; else elseBlock\" subscriptSizing=\"dynamic\">\n <mat-label>{{\n 'igo.integration.advanced-map-tool.advanced-coordinates.lon' | 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 <ng-template #elseBlock>\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 </ng-template>\n\n <mat-form-field *ngIf=\"units; else elseBlock2\" subscriptSizing=\"dynamic\">\n <mat-label>{{\n 'igo.integration.advanced-map-tool.advanced-coordinates.lat' | 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 <ng-template #elseBlock2>\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 </ng-template>\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 <mat-option\n matTooltipShowDelay=\"500\"\n *ngFor=\"let projection of projections$ | async\"\n [value]=\"projection\"\n (click)=\"$event.stopPropagation()\"\n >\n {{ projection.translatedValue || projection.alias }}\n </mat-option>\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 mat-typography\"\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 mat-typography\">\n {{\n 'igo.integration.advanced-map-tool.advanced-coordinates.zoom' | translate\n }}\n {{ map.viewController.getZoom() }}\n </p>\n <p class=\"igo-zoom mat-typography\">\n {{\n 'igo.integration.advanced-map-tool.advanced-coordinates.scale' | translate\n }}\n {{ formattedScale$ | async }}\n </p>\n <p class=\"igo-zoom mat-typography\">\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: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: MatFormFieldModule }, { kind: "component", type:
|
|
3176
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AdvancedCoordinatesComponent, deps: [{ token: MapState }, { token: i2$1.LanguageService }, { token: i4$1.MessageService }, { token: i0.ChangeDetectorRef }, { token: i4.StorageService }, { token: i5.ConfigService }, { token: i2$3.UntypedFormBuilder }], target: i0.ɵɵFactoryTarget.Component });
|
|
3177
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: AdvancedCoordinatesComponent, isStandalone: true, selector: "igo-advanced-coordinates", inputs: { projectionsLimitations: "projectionsLimitations" }, ngImport: i0, template: "<div class=\"advanced-coordinates__coordinates-container\">\n <div class=\"advanced-coordinates__coordinates-container__inner\">\n <mat-form-field *ngIf=\"units; else elseBlock\" subscriptSizing=\"dynamic\">\n <mat-label>{{\n 'igo.integration.advanced-map-tool.advanced-coordinates.lon' | 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 <ng-template #elseBlock>\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 </ng-template>\n\n <mat-form-field *ngIf=\"units; else elseBlock2\" subscriptSizing=\"dynamic\">\n <mat-label>{{\n 'igo.integration.advanced-map-tool.advanced-coordinates.lat' | 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 <ng-template #elseBlock2>\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 </ng-template>\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 <mat-option\n matTooltipShowDelay=\"500\"\n *ngFor=\"let projection of projections$ | async\"\n [value]=\"projection\"\n (click)=\"$event.stopPropagation()\"\n >\n {{ projection.translatedValue || projection.alias }}\n </mat-option>\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 mat-typography\"\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 mat-typography\">\n {{\n 'igo.integration.advanced-map-tool.advanced-coordinates.zoom' | translate\n }}\n {{ map.viewController.getZoom() }}\n </p>\n <p class=\"igo-zoom mat-typography\">\n {{\n 'igo.integration.advanced-map-tool.advanced-coordinates.scale' | translate\n }}\n {{ formattedScale$ | async }}\n </p>\n <p class=\"igo-zoom mat-typography\">\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: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: MatFormFieldModule }, { kind: "component", type: i7$1.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i7$1.MatLabel, selector: "mat-label" }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i8$1.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i7.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i10.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2$3.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i2$3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2$3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: MatSelectModule }, { kind: "component", type: i11$1.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"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "component", type: i12.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "ngmodule", type: MatOptionModule }, { kind: "ngmodule", type: MatSlideToggleModule }, { kind: "component", type: i13.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: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: DecimalPipe, name: "number" }, { kind: "ngmodule", type: IgoLanguageModule }, { kind: "pipe", type: i11.TranslatePipe, name: "translate" }] });
|
|
3184
3178
|
}
|
|
3185
3179
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AdvancedCoordinatesComponent, decorators: [{
|
|
3186
3180
|
type: Component,
|
|
@@ -3200,13 +3194,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
3200
3194
|
DecimalPipe,
|
|
3201
3195
|
IgoLanguageModule
|
|
3202
3196
|
], template: "<div class=\"advanced-coordinates__coordinates-container\">\n <div class=\"advanced-coordinates__coordinates-container__inner\">\n <mat-form-field *ngIf=\"units; else elseBlock\" subscriptSizing=\"dynamic\">\n <mat-label>{{\n 'igo.integration.advanced-map-tool.advanced-coordinates.lon' | 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 <ng-template #elseBlock>\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 </ng-template>\n\n <mat-form-field *ngIf=\"units; else elseBlock2\" subscriptSizing=\"dynamic\">\n <mat-label>{{\n 'igo.integration.advanced-map-tool.advanced-coordinates.lat' | 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 <ng-template #elseBlock2>\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 </ng-template>\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 <mat-option\n matTooltipShowDelay=\"500\"\n *ngFor=\"let projection of projections$ | async\"\n [value]=\"projection\"\n (click)=\"$event.stopPropagation()\"\n >\n {{ projection.translatedValue || projection.alias }}\n </mat-option>\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 mat-typography\"\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 mat-typography\">\n {{\n 'igo.integration.advanced-map-tool.advanced-coordinates.zoom' | translate\n }}\n {{ map.viewController.getZoom() }}\n </p>\n <p class=\"igo-zoom mat-typography\">\n {{\n 'igo.integration.advanced-map-tool.advanced-coordinates.scale' | translate\n }}\n {{ formattedScale$ | async }}\n </p>\n <p class=\"igo-zoom mat-typography\">\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"] }]
|
|
3203
|
-
}], ctorParameters: () => [{ type: MapState }, { type: i2$1.LanguageService }, { type: i4$1.MessageService }, { type: i0.ChangeDetectorRef }, { type: i4.StorageService }, { type: i5.ConfigService }, { type:
|
|
3197
|
+
}], ctorParameters: () => [{ type: MapState }, { type: i2$1.LanguageService }, { type: i4$1.MessageService }, { type: i0.ChangeDetectorRef }, { type: i4.StorageService }, { type: i5.ConfigService }, { type: i2$3.UntypedFormBuilder }], propDecorators: { projectionsLimitations: [{
|
|
3204
3198
|
type: Input
|
|
3205
3199
|
}] } });
|
|
3206
3200
|
|
|
3207
3201
|
class AdvancedSwipeComponent {
|
|
3208
3202
|
mapState;
|
|
3209
|
-
contextService;
|
|
3210
3203
|
formBuilder;
|
|
3211
3204
|
toolState;
|
|
3212
3205
|
swipe = false;
|
|
@@ -3222,9 +3215,8 @@ class AdvancedSwipeComponent {
|
|
|
3222
3215
|
get map() {
|
|
3223
3216
|
return this.mapState.map;
|
|
3224
3217
|
}
|
|
3225
|
-
constructor(mapState,
|
|
3218
|
+
constructor(mapState, formBuilder, toolState) {
|
|
3226
3219
|
this.mapState = mapState;
|
|
3227
|
-
this.contextService = contextService;
|
|
3228
3220
|
this.formBuilder = formBuilder;
|
|
3229
3221
|
this.toolState = toolState;
|
|
3230
3222
|
this.buildForm();
|
|
@@ -3234,7 +3226,10 @@ class AdvancedSwipeComponent {
|
|
|
3234
3226
|
* @internal
|
|
3235
3227
|
*/
|
|
3236
3228
|
ngOnInit() {
|
|
3237
|
-
this.map.
|
|
3229
|
+
this.map.layerController.all$.subscribe((layers) => (this.userControlledLayerList = layers.filter((layer) => isLayerItem(layer) &&
|
|
3230
|
+
!layer.baseLayer &&
|
|
3231
|
+
layer.showInLayerList &&
|
|
3232
|
+
layer.displayed)));
|
|
3238
3233
|
}
|
|
3239
3234
|
/**
|
|
3240
3235
|
* Desactivate the swipe
|
|
@@ -3273,7 +3268,7 @@ class AdvancedSwipeComponent {
|
|
|
3273
3268
|
if (e._selected) {
|
|
3274
3269
|
e._selected = false;
|
|
3275
3270
|
}
|
|
3276
|
-
const allLayers = this.userControlledLayerList
|
|
3271
|
+
const allLayers = this.userControlledLayerList?.length;
|
|
3277
3272
|
const selectedLayers = this.form.controls.layers.value.length;
|
|
3278
3273
|
if (selectedLayers === allLayers) {
|
|
3279
3274
|
e._selected = true;
|
|
@@ -3311,8 +3306,8 @@ class AdvancedSwipeComponent {
|
|
|
3311
3306
|
contextEmit() {
|
|
3312
3307
|
this.toolState.toolbox.activateTool('contextManager');
|
|
3313
3308
|
}
|
|
3314
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AdvancedSwipeComponent, deps: [{ token: MapState }, { token:
|
|
3315
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: AdvancedSwipeComponent, isStandalone: true, selector: "igo-advanced-swipe", ngImport: i0, template: "<div\n *ngIf=\"userControlledLayerList
|
|
3309
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AdvancedSwipeComponent, deps: [{ token: MapState }, { token: i2$3.UntypedFormBuilder }, { token: ToolState }], target: i0.ɵɵFactoryTarget.Component });
|
|
3310
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: AdvancedSwipeComponent, isStandalone: true, selector: "igo-advanced-swipe", ngImport: i0, template: "<div\n *ngIf=\"userControlledLayerList?.length; else noLayersBlock\"\n class=\"igo-swipe-select-container\"\n>\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></mat-divider>\n <mat-option\n *ngFor=\"let layer of userControlledLayerList\"\n [value]=\"layer\"\n (click)=\"applyNewLayers(e)\"\n >{{ layer.title }}</mat-option\n >\n </mat-select>\n </mat-form-field>\n <mat-slide-toggle\n class=\"swipe-toggle mat-typography\"\n [checked]=\"swipe\"\n [labelPosition]=\"'before'\"\n (change)=\"startSwipe($event.checked)\"\n >\n {{ 'igo.integration.advanced-map-tool.advanced-swipe.swipe' | translate }}\n </mat-slide-toggle>\n </form>\n</div>\n\n<ng-template #noLayersBlock>\n <mat-list>\n <p class=\"map-empty mat-typography\">\n {{ 'igo.integration.advanced-map-tool.advanced-swipe.empty' | translate }}\n </p>\n <p class=\"map-empty mat-typography\">\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\n matListItemTitle\n class=\"search-tool mat-typography\"\n (click)=\"searchEmit()\"\n >\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\n matListItemTitle\n class=\"catalog-tool mat-typography\"\n (click)=\"catalogEmit()\"\n >\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\n matListItemTitle\n class=\"context-tool mat-typography\"\n (click)=\"contextEmit()\"\n >\n {{\n 'igo.integration.advanced-map-tool.advanced-swipe.context-tool'\n | translate\n }}\n </span>\n </mat-list-item>\n </mat-list>\n</ng-template>\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,:host .search-tool,:host .catalog-tool,:host .context-tool{margin:4px}:host .map-empty{padding:12px 0;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: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2$3.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i2$3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2$3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2$3.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "ngmodule", type: MatFormFieldModule }, { kind: "component", type: i7$1.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i7$1.MatLabel, selector: "mat-label" }, { kind: "ngmodule", type: MatSelectModule }, { kind: "component", type: i11$1.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"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "component", type: i12.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "ngmodule", type: MatOptionModule }, { kind: "ngmodule", type: MatDividerModule }, { kind: "component", type: i7$2.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "ngmodule", type: MatSlideToggleModule }, { kind: "component", type: i13.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: i9.MatList, selector: "mat-list", exportAs: ["matList"] }, { kind: "component", type: i9.MatListItem, selector: "mat-list-item, a[mat-list-item], button[mat-list-item]", inputs: ["activated"], exportAs: ["matListItem"] }, { kind: "directive", type: i9.MatListItemIcon, selector: "[matListItemIcon]" }, { kind: "directive", type: i9.MatListItemTitle, selector: "[matListItemTitle]" }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i10.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: IgoLanguageModule }, { kind: "pipe", type: i11.TranslatePipe, name: "translate" }] });
|
|
3316
3311
|
}
|
|
3317
3312
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AdvancedSwipeComponent, decorators: [{
|
|
3318
3313
|
type: Component,
|
|
@@ -3330,28 +3325,34 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
3330
3325
|
MatIconModule,
|
|
3331
3326
|
IgoLanguageModule,
|
|
3332
3327
|
IgoIconComponent
|
|
3333
|
-
], template: "<div\n *ngIf=\"userControlledLayerList
|
|
3334
|
-
}], ctorParameters: () => [{ type: MapState }, { type:
|
|
3328
|
+
], template: "<div\n *ngIf=\"userControlledLayerList?.length; else noLayersBlock\"\n class=\"igo-swipe-select-container\"\n>\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></mat-divider>\n <mat-option\n *ngFor=\"let layer of userControlledLayerList\"\n [value]=\"layer\"\n (click)=\"applyNewLayers(e)\"\n >{{ layer.title }}</mat-option\n >\n </mat-select>\n </mat-form-field>\n <mat-slide-toggle\n class=\"swipe-toggle mat-typography\"\n [checked]=\"swipe\"\n [labelPosition]=\"'before'\"\n (change)=\"startSwipe($event.checked)\"\n >\n {{ 'igo.integration.advanced-map-tool.advanced-swipe.swipe' | translate }}\n </mat-slide-toggle>\n </form>\n</div>\n\n<ng-template #noLayersBlock>\n <mat-list>\n <p class=\"map-empty mat-typography\">\n {{ 'igo.integration.advanced-map-tool.advanced-swipe.empty' | translate }}\n </p>\n <p class=\"map-empty mat-typography\">\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\n matListItemTitle\n class=\"search-tool mat-typography\"\n (click)=\"searchEmit()\"\n >\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\n matListItemTitle\n class=\"catalog-tool mat-typography\"\n (click)=\"catalogEmit()\"\n >\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\n matListItemTitle\n class=\"context-tool mat-typography\"\n (click)=\"contextEmit()\"\n >\n {{\n 'igo.integration.advanced-map-tool.advanced-swipe.context-tool'\n | translate\n }}\n </span>\n </mat-list-item>\n </mat-list>\n</ng-template>\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,:host .search-tool,:host .catalog-tool,:host .context-tool{margin:4px}:host .map-empty{padding:12px 0;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"] }]
|
|
3329
|
+
}], ctorParameters: () => [{ type: MapState }, { type: i2$3.UntypedFormBuilder }, { type: ToolState }] });
|
|
3335
3330
|
|
|
3336
3331
|
let AdvancedMapToolComponent = class AdvancedMapToolComponent {
|
|
3337
3332
|
mapState;
|
|
3338
3333
|
get tracking$() {
|
|
3339
|
-
return this.mapState.map.geolocationController
|
|
3334
|
+
return this.mapState.map.geolocationController?.tracking$;
|
|
3340
3335
|
}
|
|
3341
3336
|
get followPosition$() {
|
|
3342
|
-
return this.mapState.map.geolocationController
|
|
3337
|
+
return this.mapState.map.geolocationController?.followPosition$;
|
|
3343
3338
|
}
|
|
3344
3339
|
constructor(mapState) {
|
|
3345
3340
|
this.mapState = mapState;
|
|
3346
3341
|
}
|
|
3347
3342
|
toggleTracking(value) {
|
|
3343
|
+
if (!this.mapState.map.geolocationController) {
|
|
3344
|
+
return;
|
|
3345
|
+
}
|
|
3348
3346
|
this.mapState.map.geolocationController.tracking = value;
|
|
3349
3347
|
}
|
|
3350
3348
|
toggleFollow(value) {
|
|
3349
|
+
if (!this.mapState.map.geolocationController) {
|
|
3350
|
+
return;
|
|
3351
|
+
}
|
|
3351
3352
|
this.mapState.map.geolocationController.followPosition = value;
|
|
3352
3353
|
}
|
|
3353
3354
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AdvancedMapToolComponent, deps: [{ token: MapState }], target: i0.ɵɵFactoryTarget.Component });
|
|
3354
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", 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></igo-advanced-swipe>\n<mat-divider class=\"advanced-tool-line\"></mat-divider>\n<h4 class=\"nameOfTool\">\n {{\n 'igo.integration.advanced-map-tool.advanced-coordinates.coordinates'\n | translate\n }}\n</h4>\n<igo-advanced-coordinates></igo-advanced-coordinates>\n<mat-divider class=\"advanced-tool-line\"></mat-divider>\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;font-weight:700;font-size:small;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:
|
|
3355
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", 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></igo-advanced-swipe>\n<mat-divider class=\"advanced-tool-line\"></mat-divider>\n<h4 class=\"nameOfTool\">\n {{\n 'igo.integration.advanced-map-tool.advanced-coordinates.coordinates'\n | translate\n }}\n</h4>\n<igo-advanced-coordinates></igo-advanced-coordinates>\n<mat-divider class=\"advanced-tool-line\"></mat-divider>\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;font-weight:700;font-size:small;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: i7$2.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { kind: "component", type: AdvancedCoordinatesComponent, selector: "igo-advanced-coordinates", inputs: ["projectionsLimitations"] }, { kind: "ngmodule", type: MatSlideToggleModule }, { kind: "component", type: i13.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: "pipe", type: AsyncPipe, name: "async" }, { kind: "ngmodule", type: IgoLanguageModule }, { kind: "pipe", type: i11.TranslatePipe, name: "translate" }] });
|
|
3355
3356
|
};
|
|
3356
3357
|
AdvancedMapToolComponent = __decorate([
|
|
3357
3358
|
ToolComponent({
|
|
@@ -3381,7 +3382,6 @@ class WorkspaceButtonComponent {
|
|
|
3381
3382
|
workspaceState;
|
|
3382
3383
|
hasWorkspace$ = new BehaviorSubject(false);
|
|
3383
3384
|
hasWorkspace$$;
|
|
3384
|
-
_layer;
|
|
3385
3385
|
layer$ = new BehaviorSubject(undefined);
|
|
3386
3386
|
set layer(value) {
|
|
3387
3387
|
this._layer = value;
|
|
@@ -3390,6 +3390,7 @@ class WorkspaceButtonComponent {
|
|
|
3390
3390
|
get layer() {
|
|
3391
3391
|
return this._layer;
|
|
3392
3392
|
}
|
|
3393
|
+
_layer;
|
|
3393
3394
|
color = 'primary';
|
|
3394
3395
|
constructor(workspaceState) {
|
|
3395
3396
|
this.workspaceState = workspaceState;
|
|
@@ -3398,7 +3399,7 @@ class WorkspaceButtonComponent {
|
|
|
3398
3399
|
this.hasWorkspace$$ = combineLatest([
|
|
3399
3400
|
this.workspaceState.workspaceEnabled$,
|
|
3400
3401
|
this.layer$
|
|
3401
|
-
]).subscribe((
|
|
3402
|
+
]).subscribe(([enabled, layer]) => this.hasWorkspace$.next(enabled && isLayerItem(layer) && layer.options.workspace?.enabled));
|
|
3402
3403
|
}
|
|
3403
3404
|
ngOnDestroy() {
|
|
3404
3405
|
this.hasWorkspace$$.unsubscribe();
|
|
@@ -3416,7 +3417,7 @@ class WorkspaceButtonComponent {
|
|
|
3416
3417
|
}
|
|
3417
3418
|
}
|
|
3418
3419
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: WorkspaceButtonComponent, deps: [{ token: WorkspaceState }], target: i0.ɵɵFactoryTarget.Component });
|
|
3419
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: WorkspaceButtonComponent, isStandalone: true, selector: "igo-workspace-button", inputs: { layer: "layer", color: "color" }, ngImport: i0, template: "<button\n *ngIf=\"hasWorkspace$ | async\"\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", styles: [""], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i7.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i6.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type:
|
|
3420
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: WorkspaceButtonComponent, isStandalone: true, selector: "igo-workspace-button", inputs: { layer: "layer", color: "color" }, ngImport: i0, template: "<button\n *ngIf=\"hasWorkspace$ | async\"\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", styles: [""], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i7.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i6.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i10.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "ngmodule", type: IgoLanguageModule }, { kind: "pipe", type: i11.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
3420
3421
|
}
|
|
3421
3422
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: WorkspaceButtonComponent, decorators: [{
|
|
3422
3423
|
type: Component,
|
|
@@ -3438,8 +3439,11 @@ let MapDetailsToolComponent = class MapDetailsToolComponent {
|
|
|
3438
3439
|
mapState;
|
|
3439
3440
|
toolState;
|
|
3440
3441
|
searchSourceService;
|
|
3441
|
-
cdRef;
|
|
3442
3442
|
importExportState;
|
|
3443
|
+
configService;
|
|
3444
|
+
mediaService;
|
|
3445
|
+
cdr;
|
|
3446
|
+
isDesktop;
|
|
3443
3447
|
delayedShowEmptyMapContent = false;
|
|
3444
3448
|
toggleLegendOnVisibilityChange = false;
|
|
3445
3449
|
expandLegendOfVisibleLayers = false;
|
|
@@ -3449,12 +3453,24 @@ let MapDetailsToolComponent = class MapDetailsToolComponent {
|
|
|
3449
3453
|
layerListControls = {};
|
|
3450
3454
|
queryBadge = false;
|
|
3451
3455
|
layerAdditionAllowed = true;
|
|
3456
|
+
_layerViewerOptions;
|
|
3457
|
+
get layerViewerOptions() {
|
|
3458
|
+
return {
|
|
3459
|
+
filterAndSortOptions: this.layerFilterAndSortOptions,
|
|
3460
|
+
legend: {
|
|
3461
|
+
showForVisibleLayers: this.expandLegendOfVisibleLayers,
|
|
3462
|
+
showOnVisibilityChange: this.toggleLegendOnVisibilityChange,
|
|
3463
|
+
updateOnResolutionChange: this.updateLegendOnResolutionChange
|
|
3464
|
+
},
|
|
3465
|
+
queryBadge: this.queryBadge,
|
|
3466
|
+
...this._layerViewerOptions
|
|
3467
|
+
};
|
|
3468
|
+
}
|
|
3452
3469
|
get map() {
|
|
3453
3470
|
return this.mapState.map;
|
|
3454
3471
|
}
|
|
3455
3472
|
get layers$() {
|
|
3456
|
-
return this.map.
|
|
3457
|
-
(!this.excludeBaseLayers || !layer.baseLayer))));
|
|
3473
|
+
return this.map.layerController.all$;
|
|
3458
3474
|
}
|
|
3459
3475
|
get excludeBaseLayers() {
|
|
3460
3476
|
return this.layerListControls.excludeBaseLayers || false;
|
|
@@ -3488,18 +3504,22 @@ let MapDetailsToolComponent = class MapDetailsToolComponent {
|
|
|
3488
3504
|
get contextToolInToolbar() {
|
|
3489
3505
|
return this.toolState.toolbox.getToolbar().indexOf('contextManager') !== -1;
|
|
3490
3506
|
}
|
|
3491
|
-
constructor(mapState, toolState, searchSourceService,
|
|
3507
|
+
constructor(mapState, toolState, searchSourceService, importExportState, configService, mediaService, cdr) {
|
|
3492
3508
|
this.mapState = mapState;
|
|
3493
3509
|
this.toolState = toolState;
|
|
3494
3510
|
this.searchSourceService = searchSourceService;
|
|
3495
|
-
this.cdRef = cdRef;
|
|
3496
3511
|
this.importExportState = importExportState;
|
|
3512
|
+
this.configService = configService;
|
|
3513
|
+
this.mediaService = mediaService;
|
|
3514
|
+
this.cdr = cdr;
|
|
3515
|
+
this._layerViewerOptions = this.configService.getConfig('layer');
|
|
3497
3516
|
}
|
|
3498
3517
|
ngOnInit() {
|
|
3518
|
+
this.handleMedia();
|
|
3499
3519
|
// prevent message to be shown too quickly. Waiting for layers
|
|
3500
3520
|
setTimeout(() => {
|
|
3501
3521
|
this.delayedShowEmptyMapContent = true;
|
|
3502
|
-
this.
|
|
3522
|
+
this.cdr.detectChanges();
|
|
3503
3523
|
}, 250);
|
|
3504
3524
|
}
|
|
3505
3525
|
searchEmit() {
|
|
@@ -3523,8 +3543,14 @@ let MapDetailsToolComponent = class MapDetailsToolComponent {
|
|
|
3523
3543
|
this.importExportState.setMode(ImportExportMode.export);
|
|
3524
3544
|
this.toolState.toolbox.activateTool('importExport');
|
|
3525
3545
|
}
|
|
3526
|
-
|
|
3527
|
-
|
|
3546
|
+
handleMedia() {
|
|
3547
|
+
this.mediaService.media$.subscribe((result) => {
|
|
3548
|
+
this.isDesktop = result === Media.Desktop;
|
|
3549
|
+
this.cdr.detectChanges();
|
|
3550
|
+
});
|
|
3551
|
+
}
|
|
3552
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MapDetailsToolComponent, deps: [{ token: MapState }, { token: ToolState }, { token: i1.SearchSourceService }, { token: ImportExportState }, { token: i5.ConfigService }, { token: i3$1.MediaService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
3553
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: MapDetailsToolComponent, isStandalone: true, selector: "igo-map-details-tool", inputs: { toggleLegendOnVisibilityChange: "toggleLegendOnVisibilityChange", expandLegendOfVisibleLayers: "expandLegendOfVisibleLayers", updateLegendOnResolutionChange: "updateLegendOnResolutionChange", ogcButton: "ogcButton", timeButton: "timeButton", layerListControls: "layerListControls", queryBadge: "queryBadge", layerAdditionAllowed: "layerAdditionAllowed" }, ngImport: i0, template: "<igo-layer-viewer\n class=\"mapDetailsList\"\n *ngIf=\"(layers$ | async).length; else empty\"\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\"></igo-workspace-button>\n <igo-export-button\n [layer]=\"layer\"\n (click)=\"activateExport(layer)\"\n ></igo-export-button>\n <igo-ogc-filter-button\n [header]=\"ogcButton\"\n [layer]=\"layer\"\n ></igo-ogc-filter-button>\n <igo-time-filter-button\n [header]=\"timeButton\"\n [layer]=\"layer\"\n ></igo-time-filter-button>\n <igo-track-feature-button\n [trackFeature]=\"true\"\n [layer]=\"layer\"\n ></igo-track-feature-button>\n <igo-metadata-button [layer]=\"layer\"></igo-metadata-button>\n </ng-template>\n</igo-layer-viewer>\n\n<ng-template #empty>\n <mat-list *ngIf=\"delayedShowEmptyMapContent\">\n <p class=\"map-empty mat-typography\">\n {{ 'igo.integration.mapTool.empty' | translate }}\n </p>\n <p\n *ngIf=\"\n layerAdditionAllowed &&\n (searchToolInToolbar || catalogToolInToolbar || contextToolInToolbar)\n \"\n class=\"map-empty mat-typography\"\n >\n {{ 'igo.integration.mapTool.customize' | translate }}\n </p>\n <mat-list-item *ngIf=\"layerAdditionAllowed && searchToolInToolbar\">\n <mat-icon matListItemIcon>search</mat-icon>\n <span\n matListItemTitle\n class=\"search-tool mat-typography\"\n (click)=\"searchEmit()\"\n >\n {{ 'igo.integration.mapTool.search-tool' | translate }}\n </span>\n </mat-list-item>\n <mat-list-item *ngIf=\"layerAdditionAllowed && catalogToolInToolbar\">\n <mat-icon matListItemIcon>library_add</mat-icon>\n <span\n matListItemTitle\n class=\"catalog-tool mat-typography\"\n (click)=\"catalogEmit()\"\n >\n {{ 'igo.integration.mapTool.catalog-tool' | translate }}\n </span>\n </mat-list-item>\n <mat-list-item *ngIf=\"layerAdditionAllowed && contextToolInToolbar\">\n <mat-icon matListItemIcon>star</mat-icon>\n <span\n matListItemTitle\n class=\"context-tool mat-typography\"\n (click)=\"contextEmit()\"\n >\n {{ 'igo.integration.mapTool.context-tool' | translate }}\n </span>\n </mat-list-item>\n </mat-list>\n</ng-template>\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: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { 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", "map", "color", "header"] }, { kind: "component", type: TrackFeatureButtonComponent, selector: "igo-track-feature-button", inputs: ["layer", "trackFeature"] }, { kind: "component", type: MetadataButtonComponent, selector: "igo-metadata-button", inputs: ["layer", "color"] }, { kind: "ngmodule", type: MatListModule }, { kind: "component", type: i9.MatList, selector: "mat-list", exportAs: ["matList"] }, { kind: "component", type: i9.MatListItem, selector: "mat-list-item, a[mat-list-item], button[mat-list-item]", inputs: ["activated"], exportAs: ["matListItem"] }, { kind: "directive", type: i9.MatListItemIcon, selector: "[matListItemIcon]" }, { kind: "directive", type: i9.MatListItemTitle, selector: "[matListItemTitle]" }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i10.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "ngmodule", type: IgoLanguageModule }, { kind: "pipe", type: i11.TranslatePipe, name: "translate" }] });
|
|
3528
3554
|
};
|
|
3529
3555
|
MapDetailsToolComponent = __decorate([
|
|
3530
3556
|
ToolComponent({
|
|
@@ -3535,15 +3561,16 @@ MapDetailsToolComponent = __decorate([
|
|
|
3535
3561
|
__metadata("design:paramtypes", [MapState,
|
|
3536
3562
|
ToolState,
|
|
3537
3563
|
SearchSourceService,
|
|
3538
|
-
|
|
3539
|
-
|
|
3564
|
+
ImportExportState,
|
|
3565
|
+
ConfigService,
|
|
3566
|
+
MediaService,
|
|
3567
|
+
ChangeDetectorRef])
|
|
3540
3568
|
], MapDetailsToolComponent);
|
|
3541
3569
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MapDetailsToolComponent, decorators: [{
|
|
3542
3570
|
type: Component,
|
|
3543
3571
|
args: [{ selector: 'igo-map-details-tool', standalone: true, imports: [
|
|
3544
3572
|
NgIf,
|
|
3545
|
-
|
|
3546
|
-
LayerListBindingDirective,
|
|
3573
|
+
LayerViewerComponent,
|
|
3547
3574
|
WorkspaceButtonComponent,
|
|
3548
3575
|
ExportButtonComponent,
|
|
3549
3576
|
OgcFilterButtonComponent,
|
|
@@ -3554,8 +3581,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
3554
3581
|
MatIconModule,
|
|
3555
3582
|
AsyncPipe,
|
|
3556
3583
|
IgoLanguageModule
|
|
3557
|
-
], template: "<igo-layer-
|
|
3558
|
-
}], ctorParameters: () => [{ type: MapState }, { type: ToolState }, { type: i1
|
|
3584
|
+
], template: "<igo-layer-viewer\n class=\"mapDetailsList\"\n *ngIf=\"(layers$ | async).length; else empty\"\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\"></igo-workspace-button>\n <igo-export-button\n [layer]=\"layer\"\n (click)=\"activateExport(layer)\"\n ></igo-export-button>\n <igo-ogc-filter-button\n [header]=\"ogcButton\"\n [layer]=\"layer\"\n ></igo-ogc-filter-button>\n <igo-time-filter-button\n [header]=\"timeButton\"\n [layer]=\"layer\"\n ></igo-time-filter-button>\n <igo-track-feature-button\n [trackFeature]=\"true\"\n [layer]=\"layer\"\n ></igo-track-feature-button>\n <igo-metadata-button [layer]=\"layer\"></igo-metadata-button>\n </ng-template>\n</igo-layer-viewer>\n\n<ng-template #empty>\n <mat-list *ngIf=\"delayedShowEmptyMapContent\">\n <p class=\"map-empty mat-typography\">\n {{ 'igo.integration.mapTool.empty' | translate }}\n </p>\n <p\n *ngIf=\"\n layerAdditionAllowed &&\n (searchToolInToolbar || catalogToolInToolbar || contextToolInToolbar)\n \"\n class=\"map-empty mat-typography\"\n >\n {{ 'igo.integration.mapTool.customize' | translate }}\n </p>\n <mat-list-item *ngIf=\"layerAdditionAllowed && searchToolInToolbar\">\n <mat-icon matListItemIcon>search</mat-icon>\n <span\n matListItemTitle\n class=\"search-tool mat-typography\"\n (click)=\"searchEmit()\"\n >\n {{ 'igo.integration.mapTool.search-tool' | translate }}\n </span>\n </mat-list-item>\n <mat-list-item *ngIf=\"layerAdditionAllowed && catalogToolInToolbar\">\n <mat-icon matListItemIcon>library_add</mat-icon>\n <span\n matListItemTitle\n class=\"catalog-tool mat-typography\"\n (click)=\"catalogEmit()\"\n >\n {{ 'igo.integration.mapTool.catalog-tool' | translate }}\n </span>\n </mat-list-item>\n <mat-list-item *ngIf=\"layerAdditionAllowed && contextToolInToolbar\">\n <mat-icon matListItemIcon>star</mat-icon>\n <span\n matListItemTitle\n class=\"context-tool mat-typography\"\n (click)=\"contextEmit()\"\n >\n {{ 'igo.integration.mapTool.context-tool' | translate }}\n </span>\n </mat-list-item>\n </mat-list>\n</ng-template>\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"] }]
|
|
3585
|
+
}], ctorParameters: () => [{ type: MapState }, { type: ToolState }, { type: i1.SearchSourceService }, { type: ImportExportState }, { type: i5.ConfigService }, { type: i3$1.MediaService }, { type: i0.ChangeDetectorRef }], propDecorators: { toggleLegendOnVisibilityChange: [{
|
|
3559
3586
|
type: Input
|
|
3560
3587
|
}], expandLegendOfVisibleLayers: [{
|
|
3561
3588
|
type: Input
|
|
@@ -3593,10 +3620,10 @@ let MapLegendToolComponent = class MapLegendToolComponent {
|
|
|
3593
3620
|
return this.mapState.map;
|
|
3594
3621
|
}
|
|
3595
3622
|
get visibleOrInRangeLayers$() {
|
|
3596
|
-
return this.layers$.pipe(map$1((layers) => layers.filter((layer) => layer.
|
|
3623
|
+
return this.layers$.pipe(map$1((layers) => layers.filter((layer) => layer.displayed)));
|
|
3597
3624
|
}
|
|
3598
3625
|
get visibleLayers$() {
|
|
3599
|
-
return this.layers$.pipe(map$1((layers) => layers.filter((layer) => layer.visible
|
|
3626
|
+
return this.layers$.pipe(map$1((layers) => layers.filter((layer) => layer.visible)));
|
|
3600
3627
|
}
|
|
3601
3628
|
get excludeBaseLayers() {
|
|
3602
3629
|
return this.layerListControls.excludeBaseLayers || false;
|
|
@@ -3622,13 +3649,13 @@ let MapLegendToolComponent = class MapLegendToolComponent {
|
|
|
3622
3649
|
}
|
|
3623
3650
|
ngOnInit() {
|
|
3624
3651
|
this.resolution$$ = combineLatest([
|
|
3625
|
-
this.map.
|
|
3652
|
+
this.map.layerController.all$,
|
|
3626
3653
|
this.map.viewController.resolution$
|
|
3627
3654
|
])
|
|
3628
3655
|
.pipe(debounceTime(10))
|
|
3629
3656
|
.subscribe((bunch) => {
|
|
3630
3657
|
this.layers$.next(bunch[0].filter((layer) => layer.showInLayerList !== false &&
|
|
3631
|
-
(!this.excludeBaseLayers || !layer
|
|
3658
|
+
(!this.excludeBaseLayers || !isBaseLayer(layer))));
|
|
3632
3659
|
});
|
|
3633
3660
|
if (this.allowShowAllLegends) {
|
|
3634
3661
|
this.mapState.showAllLegendsValue =
|
|
@@ -3681,8 +3708,8 @@ let MapLegendToolComponent = class MapLegendToolComponent {
|
|
|
3681
3708
|
contextEmit() {
|
|
3682
3709
|
this.toolState.toolbox.activateTool('contextManager');
|
|
3683
3710
|
}
|
|
3684
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MapLegendToolComponent, deps: [{ token: MapState }, { token: ToolState }, { token: i1
|
|
3685
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: MapLegendToolComponent, isStandalone: true, selector: "igo-map-legend-tool", inputs: { updateLegendOnResolutionChange: "updateLegendOnResolutionChange", layerAdditionAllowed: "layerAdditionAllowed", allowShowAllLegends: "allowShowAllLegends", showAllLegendsValue: "showAllLegendsValue", layerListControls: "layerListControls" }, ngImport: i0, template: "<igo-layer-legend-list\n *ngIf=\"showAllLegend()\"\n igoLayerLegendListBinding\n [excludeBaseLayers]=\"excludeBaseLayers\"\n [allowShowAllLegends]=\"allowShowAllLegends\"\n [updateLegendOnResolutionChange]=\"updateLegendOnResolutionChange\"\n [showAllLegendsValue]=\"showAllLegendsValue$ | async\"\n (allLegendsShown)=\"onShowAllLegends($event)\"\n>\n</igo-layer-legend-list>\n<ng-template\n *ngIf=\"(layers$ | async).length !== 0; else emptyLayers\"\n></ng-template>\n\n<p\n class=\"map-empty mat-typography\"\n *ngIf=\"\n !allowShowAllLegends &&\n (layers$ | async).length !== 0 &&\n (visibleOrInRangeLayers$ | async).length === 0\n \"\n>\n {{\n (visibleLayers$ | async).length\n ? ('igo.integration.mapTool.noLayersInRange' | translate)\n : ('igo.integration.mapTool.noLayersVisible' | translate)\n }}\n</p>\n\n<ng-template #emptyLayers>\n <mat-list *ngIf=\"delayedShowEmptyMapContent\">\n <p class=\"map-empty mat-typography\">\n {{ 'igo.integration.mapTool.empty' | translate }}\n </p>\n <p\n *ngIf=\"\n layerAdditionAllowed &&\n (searchToolInToolbar || catalogToolInToolbar || contextToolInToolbar)\n \"\n class=\"map-empty mat-typography\"\n >\n {{ 'igo.integration.mapTool.customize' | translate }}\n </p>\n\n <mat-list-item *ngIf=\"layerAdditionAllowed && searchToolInToolbar\">\n <mat-icon matListItemIcon>search</mat-icon>\n <span\n matListItemTitle\n class=\"search-tool mat-typography\"\n (click)=\"searchEmit()\"\n >\n {{ 'igo.integration.mapTool.search-tool' | translate }}\n </span>\n </mat-list-item>\n <mat-list-item *ngIf=\"layerAdditionAllowed && catalogToolInToolbar\">\n <mat-icon matListItemIcon>library_add</mat-icon>\n <span\n matListItemTitle\n class=\"catalog-tool mat-typography\"\n (click)=\"catalogEmit()\"\n >\n {{ 'igo.integration.mapTool.catalog-tool' | translate }}\n </span>\n </mat-list-item>\n <mat-list-item *ngIf=\"layerAdditionAllowed && contextToolInToolbar\">\n <mat-icon matListItemIcon>star</mat-icon>\n <span\n matListItemTitle\n class=\"context-tool mat-typography\"\n (click)=\"contextEmit()\"\n >\n {{ 'igo.integration.mapTool.context-tool' | translate }}\n </span>\n </mat-list-item>\n </mat-list>\n</ng-template>\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: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: LayerLegendListComponent, selector: "igo-layer-legend-list", inputs: ["layers", "excludeBaseLayers", "updateLegendOnResolutionChange", "allowShowAllLegends", "showAllLegendsValue"], outputs: ["allLegendsShown"] }, { kind: "directive", type: LayerLegendListBindingDirective, selector: "[igoLayerLegendListBinding]" }, { kind: "ngmodule", type: MatListModule }, { kind: "component", type:
|
|
3711
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MapLegendToolComponent, deps: [{ token: MapState }, { token: ToolState }, { token: i1.SearchSourceService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
3712
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: MapLegendToolComponent, isStandalone: true, selector: "igo-map-legend-tool", inputs: { updateLegendOnResolutionChange: "updateLegendOnResolutionChange", layerAdditionAllowed: "layerAdditionAllowed", allowShowAllLegends: "allowShowAllLegends", showAllLegendsValue: "showAllLegendsValue", layerListControls: "layerListControls" }, ngImport: i0, template: "<igo-layer-legend-list\n *ngIf=\"showAllLegend()\"\n igoLayerLegendListBinding\n [excludeBaseLayers]=\"excludeBaseLayers\"\n [allowShowAllLegends]=\"allowShowAllLegends\"\n [updateLegendOnResolutionChange]=\"updateLegendOnResolutionChange\"\n [showAllLegendsValue]=\"showAllLegendsValue$ | async\"\n (allLegendsShown)=\"onShowAllLegends($event)\"\n>\n</igo-layer-legend-list>\n<ng-template\n *ngIf=\"(layers$ | async).length !== 0; else emptyLayers\"\n></ng-template>\n\n<p\n class=\"map-empty mat-typography\"\n *ngIf=\"\n !allowShowAllLegends &&\n (layers$ | async).length !== 0 &&\n (visibleOrInRangeLayers$ | async).length === 0\n \"\n>\n {{\n (visibleLayers$ | async).length\n ? ('igo.integration.mapTool.noLayersInRange' | translate)\n : ('igo.integration.mapTool.noLayersVisible' | translate)\n }}\n</p>\n\n<ng-template #emptyLayers>\n <mat-list *ngIf=\"delayedShowEmptyMapContent\">\n <p class=\"map-empty mat-typography\">\n {{ 'igo.integration.mapTool.empty' | translate }}\n </p>\n <p\n *ngIf=\"\n layerAdditionAllowed &&\n (searchToolInToolbar || catalogToolInToolbar || contextToolInToolbar)\n \"\n class=\"map-empty mat-typography\"\n >\n {{ 'igo.integration.mapTool.customize' | translate }}\n </p>\n\n <mat-list-item *ngIf=\"layerAdditionAllowed && searchToolInToolbar\">\n <mat-icon matListItemIcon>search</mat-icon>\n <span\n matListItemTitle\n class=\"search-tool mat-typography\"\n (click)=\"searchEmit()\"\n >\n {{ 'igo.integration.mapTool.search-tool' | translate }}\n </span>\n </mat-list-item>\n <mat-list-item *ngIf=\"layerAdditionAllowed && catalogToolInToolbar\">\n <mat-icon matListItemIcon>library_add</mat-icon>\n <span\n matListItemTitle\n class=\"catalog-tool mat-typography\"\n (click)=\"catalogEmit()\"\n >\n {{ 'igo.integration.mapTool.catalog-tool' | translate }}\n </span>\n </mat-list-item>\n <mat-list-item *ngIf=\"layerAdditionAllowed && contextToolInToolbar\">\n <mat-icon matListItemIcon>star</mat-icon>\n <span\n matListItemTitle\n class=\"context-tool mat-typography\"\n (click)=\"contextEmit()\"\n >\n {{ 'igo.integration.mapTool.context-tool' | translate }}\n </span>\n </mat-list-item>\n </mat-list>\n</ng-template>\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: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: LayerLegendListComponent, selector: "igo-layer-legend-list", inputs: ["layers", "excludeBaseLayers", "updateLegendOnResolutionChange", "allowShowAllLegends", "showAllLegendsValue"], outputs: ["allLegendsShown"] }, { kind: "directive", type: LayerLegendListBindingDirective, selector: "[igoLayerLegendListBinding]" }, { kind: "ngmodule", type: MatListModule }, { kind: "component", type: i9.MatList, selector: "mat-list", exportAs: ["matList"] }, { kind: "component", type: i9.MatListItem, selector: "mat-list-item, a[mat-list-item], button[mat-list-item]", inputs: ["activated"], exportAs: ["matListItem"] }, { kind: "directive", type: i9.MatListItemIcon, selector: "[matListItemIcon]" }, { kind: "directive", type: i9.MatListItemTitle, selector: "[matListItemTitle]" }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i10.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "ngmodule", type: IgoLanguageModule }, { kind: "pipe", type: i11.TranslatePipe, name: "translate" }] });
|
|
3686
3713
|
};
|
|
3687
3714
|
MapLegendToolComponent = __decorate([
|
|
3688
3715
|
ToolComponent({
|
|
@@ -3706,7 +3733,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
3706
3733
|
AsyncPipe,
|
|
3707
3734
|
IgoLanguageModule
|
|
3708
3735
|
], template: "<igo-layer-legend-list\n *ngIf=\"showAllLegend()\"\n igoLayerLegendListBinding\n [excludeBaseLayers]=\"excludeBaseLayers\"\n [allowShowAllLegends]=\"allowShowAllLegends\"\n [updateLegendOnResolutionChange]=\"updateLegendOnResolutionChange\"\n [showAllLegendsValue]=\"showAllLegendsValue$ | async\"\n (allLegendsShown)=\"onShowAllLegends($event)\"\n>\n</igo-layer-legend-list>\n<ng-template\n *ngIf=\"(layers$ | async).length !== 0; else emptyLayers\"\n></ng-template>\n\n<p\n class=\"map-empty mat-typography\"\n *ngIf=\"\n !allowShowAllLegends &&\n (layers$ | async).length !== 0 &&\n (visibleOrInRangeLayers$ | async).length === 0\n \"\n>\n {{\n (visibleLayers$ | async).length\n ? ('igo.integration.mapTool.noLayersInRange' | translate)\n : ('igo.integration.mapTool.noLayersVisible' | translate)\n }}\n</p>\n\n<ng-template #emptyLayers>\n <mat-list *ngIf=\"delayedShowEmptyMapContent\">\n <p class=\"map-empty mat-typography\">\n {{ 'igo.integration.mapTool.empty' | translate }}\n </p>\n <p\n *ngIf=\"\n layerAdditionAllowed &&\n (searchToolInToolbar || catalogToolInToolbar || contextToolInToolbar)\n \"\n class=\"map-empty mat-typography\"\n >\n {{ 'igo.integration.mapTool.customize' | translate }}\n </p>\n\n <mat-list-item *ngIf=\"layerAdditionAllowed && searchToolInToolbar\">\n <mat-icon matListItemIcon>search</mat-icon>\n <span\n matListItemTitle\n class=\"search-tool mat-typography\"\n (click)=\"searchEmit()\"\n >\n {{ 'igo.integration.mapTool.search-tool' | translate }}\n </span>\n </mat-list-item>\n <mat-list-item *ngIf=\"layerAdditionAllowed && catalogToolInToolbar\">\n <mat-icon matListItemIcon>library_add</mat-icon>\n <span\n matListItemTitle\n class=\"catalog-tool mat-typography\"\n (click)=\"catalogEmit()\"\n >\n {{ 'igo.integration.mapTool.catalog-tool' | translate }}\n </span>\n </mat-list-item>\n <mat-list-item *ngIf=\"layerAdditionAllowed && contextToolInToolbar\">\n <mat-icon matListItemIcon>star</mat-icon>\n <span\n matListItemTitle\n class=\"context-tool mat-typography\"\n (click)=\"contextEmit()\"\n >\n {{ 'igo.integration.mapTool.context-tool' | translate }}\n </span>\n </mat-list-item>\n </mat-list>\n</ng-template>\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"] }]
|
|
3709
|
-
}], ctorParameters: () => [{ type: MapState }, { type: ToolState }, { type: i1
|
|
3736
|
+
}], ctorParameters: () => [{ type: MapState }, { type: ToolState }, { type: i1.SearchSourceService }, { type: i0.ChangeDetectorRef }], propDecorators: { updateLegendOnResolutionChange: [{
|
|
3710
3737
|
type: Input
|
|
3711
3738
|
}], layerAdditionAllowed: [{
|
|
3712
3739
|
type: Input
|
|
@@ -3758,7 +3785,7 @@ class MapProximityState {
|
|
|
3758
3785
|
.subscribe((bunch) => {
|
|
3759
3786
|
this.proximityFeatureStore.clear();
|
|
3760
3787
|
const enabled = bunch[0];
|
|
3761
|
-
const layers = this.map.
|
|
3788
|
+
const layers = this.map.layerController.all;
|
|
3762
3789
|
const currentPos = this.map.geolocationController.position$.value;
|
|
3763
3790
|
const locationType = bunch[1];
|
|
3764
3791
|
const proximityRadiusValue = bunch[2];
|
|
@@ -3781,7 +3808,8 @@ class MapProximityState {
|
|
|
3781
3808
|
const coordLonLat = olProj.transform(coord, this.map.projection, 'EPSG:4269');
|
|
3782
3809
|
const roundedCoordLonLat = roundCoordTo(coordLonLat, 6);
|
|
3783
3810
|
this.currentPositionCoordinate$.next(roundedCoordLonLat);
|
|
3784
|
-
const layersToMonitor = layers.filter((layer) => layer
|
|
3811
|
+
const layersToMonitor = layers.filter((layer) => isLayerItem(layer) &&
|
|
3812
|
+
layer.ol instanceof olLayerVector &&
|
|
3785
3813
|
layer.dataSource.options.queryable &&
|
|
3786
3814
|
layer.visible &&
|
|
3787
3815
|
layer.isInResolutionsRange);
|
|
@@ -3852,15 +3880,13 @@ class MapProximityState {
|
|
|
3852
3880
|
});
|
|
3853
3881
|
}
|
|
3854
3882
|
getQueryTitle(feature, layer) {
|
|
3855
|
-
|
|
3856
|
-
if (layer.options?.source?.options) {
|
|
3883
|
+
if (isLayerItem(layer) && layer.options?.source?.options) {
|
|
3857
3884
|
const dataSourceOptions = layer.options.source
|
|
3858
3885
|
.options;
|
|
3859
3886
|
if (dataSourceOptions.queryTitle) {
|
|
3860
|
-
|
|
3887
|
+
return this.getLabelMatch(feature, dataSourceOptions.queryTitle);
|
|
3861
3888
|
}
|
|
3862
3889
|
}
|
|
3863
|
-
return title;
|
|
3864
3890
|
}
|
|
3865
3891
|
getLabelMatch(feature, labelMatch) {
|
|
3866
3892
|
let label = labelMatch;
|
|
@@ -3970,7 +3996,7 @@ let MapProximityToolComponent = class MapProximityToolComponent {
|
|
|
3970
3996
|
}
|
|
3971
3997
|
}
|
|
3972
3998
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MapProximityToolComponent, deps: [{ token: MapState }, { token: MapProximityState }, { token: i2$1.LanguageService }, { token: i4$1.MessageService }], target: i0.ɵɵFactoryTarget.Component });
|
|
3973
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: MapProximityToolComponent, isStandalone: true, selector: "igo-map-proximity-tool", viewQueries: [{ propertyName: "table", first: true, predicate: ["table"], descendants: true, static: true }], ngImport: i0, template: "<igo-entity-table\n #table\n class=\"table-compact\"\n [store]=\"mapProximityState.proximityFeatureStore\"\n [template]=\"tableTemplate\"\n></igo-entity-table>\n<br />\n<mat-form-field\n *ngIf=\"mapProximityState.currentPositionCoordinate$ | async as coord\"\n class=\"coordinates\"\n>\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<mat-form-field\n *ngIf=\"mapProximityState.currentPositionCoordinate$ | async as coord2\"\n class=\"coordinates2\"\n>\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<button\n *ngIf=\"\n (mapProximityState.currentPositionCoordinate$ | async) &&\n (mapProximityState.currentPositionCoordinate$ | async).length\n \"\n mat-icon-button\n (click)=\"copyTextToClipboard()\"\n>\n <mat-icon>content_copy</mat-icon>\n</button>\n<div class=\"title-container\">\n <mat-label class=\"title mat-typography\">{{\n 'igo.integration.map-proximity-tool.method' | translate\n }}</mat-label>\n</div>\n<div class=\"igo-input-container mat-typography\">\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: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: MatFormFieldModule }, { kind: "component", type:
|
|
3999
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: MapProximityToolComponent, isStandalone: true, selector: "igo-map-proximity-tool", viewQueries: [{ propertyName: "table", first: true, predicate: ["table"], descendants: true, static: true }], ngImport: i0, template: "<igo-entity-table\n #table\n class=\"table-compact\"\n [store]=\"mapProximityState.proximityFeatureStore\"\n [template]=\"tableTemplate\"\n></igo-entity-table>\n<br />\n<mat-form-field\n *ngIf=\"mapProximityState.currentPositionCoordinate$ | async as coord\"\n class=\"coordinates\"\n>\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<mat-form-field\n *ngIf=\"mapProximityState.currentPositionCoordinate$ | async as coord2\"\n class=\"coordinates2\"\n>\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<button\n *ngIf=\"\n (mapProximityState.currentPositionCoordinate$ | async) &&\n (mapProximityState.currentPositionCoordinate$ | async).length\n \"\n mat-icon-button\n (click)=\"copyTextToClipboard()\"\n>\n <mat-icon>content_copy</mat-icon>\n</button>\n<div class=\"title-container\">\n <mat-label class=\"title mat-typography\">{{\n 'igo.integration.map-proximity-tool.method' | translate\n }}</mat-label>\n</div>\n<div class=\"igo-input-container mat-typography\">\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: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: MatFormFieldModule }, { kind: "component", type: i7$1.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i7$1.MatLabel, selector: "mat-label" }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i8$1.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i7.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i10.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatRadioModule }, { kind: "directive", type: i9$1.MatRadioGroup, selector: "mat-radio-group", inputs: ["color", "name", "labelPosition", "value", "selected", "disabled", "required", "disabledInteractive"], outputs: ["change"], exportAs: ["matRadioGroup"] }, { kind: "component", type: i9$1.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: i2$3.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: i2$3.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { kind: "directive", type: i2$3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$3.PatternValidator, selector: "[pattern][formControlName],[pattern][formControl],[pattern][ngModel]", inputs: ["pattern"] }, { kind: "directive", type: i2$3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "ngmodule", type: IgoLanguageModule }, { kind: "pipe", type: i11.TranslatePipe, name: "translate" }] });
|
|
3974
4000
|
};
|
|
3975
4001
|
MapProximityToolComponent = __decorate([
|
|
3976
4002
|
ToolComponent({
|
|
@@ -4013,6 +4039,10 @@ let MapToolComponent = class MapToolComponent {
|
|
|
4013
4039
|
mapState;
|
|
4014
4040
|
toolState;
|
|
4015
4041
|
importExportState;
|
|
4042
|
+
configService;
|
|
4043
|
+
mediaService;
|
|
4044
|
+
cdr;
|
|
4045
|
+
isDesktop;
|
|
4016
4046
|
toggleLegendOnVisibilityChange = false;
|
|
4017
4047
|
expandLegendOfVisibleLayers = false;
|
|
4018
4048
|
updateLegendOnResolutionChange = false;
|
|
@@ -4042,10 +4072,30 @@ let MapToolComponent = class MapToolComponent {
|
|
|
4042
4072
|
}
|
|
4043
4073
|
return filterSortOptions;
|
|
4044
4074
|
}
|
|
4045
|
-
|
|
4075
|
+
_layerViewerOptions;
|
|
4076
|
+
get layerViewerOptions() {
|
|
4077
|
+
return {
|
|
4078
|
+
filterAndSortOptions: this.layerFilterAndSortOptions,
|
|
4079
|
+
legend: {
|
|
4080
|
+
showForVisibleLayers: this.expandLegendOfVisibleLayers,
|
|
4081
|
+
showOnVisibilityChange: this.toggleLegendOnVisibilityChange,
|
|
4082
|
+
updateOnResolutionChange: this.updateLegendOnResolutionChange
|
|
4083
|
+
},
|
|
4084
|
+
queryBadge: this.queryBadge,
|
|
4085
|
+
...this._layerViewerOptions
|
|
4086
|
+
};
|
|
4087
|
+
}
|
|
4088
|
+
constructor(mapState, toolState, importExportState, configService, mediaService, cdr) {
|
|
4046
4089
|
this.mapState = mapState;
|
|
4047
4090
|
this.toolState = toolState;
|
|
4048
4091
|
this.importExportState = importExportState;
|
|
4092
|
+
this.configService = configService;
|
|
4093
|
+
this.mediaService = mediaService;
|
|
4094
|
+
this.cdr = cdr;
|
|
4095
|
+
this._layerViewerOptions = this.configService.getConfig('layer');
|
|
4096
|
+
}
|
|
4097
|
+
ngOnInit() {
|
|
4098
|
+
this.handleMedia();
|
|
4049
4099
|
}
|
|
4050
4100
|
activateExport(layer) {
|
|
4051
4101
|
let id = layer.id;
|
|
@@ -4059,8 +4109,14 @@ let MapToolComponent = class MapToolComponent {
|
|
|
4059
4109
|
this.importExportState.setMode(ImportExportMode.export);
|
|
4060
4110
|
this.toolState.toolbox.activateTool('importExport');
|
|
4061
4111
|
}
|
|
4062
|
-
|
|
4063
|
-
|
|
4112
|
+
handleMedia() {
|
|
4113
|
+
this.mediaService.media$.subscribe((result) => {
|
|
4114
|
+
this.isDesktop = result === Media.Desktop;
|
|
4115
|
+
this.cdr.detectChanges();
|
|
4116
|
+
});
|
|
4117
|
+
}
|
|
4118
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MapToolComponent, deps: [{ token: MapState }, { token: ToolState }, { token: ImportExportState }, { token: i5.ConfigService }, { token: i3$1.MediaService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
4119
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: MapToolComponent, isStandalone: true, selector: "igo-map-tool", inputs: { toggleLegendOnVisibilityChange: "toggleLegendOnVisibilityChange", expandLegendOfVisibleLayers: "expandLegendOfVisibleLayers", updateLegendOnResolutionChange: "updateLegendOnResolutionChange", ogcButton: "ogcButton", timeButton: "timeButton", layerListControls: "layerListControls", queryBadge: "queryBadge" }, 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\"></igo-workspace-button>\n <igo-export-button\n [layer]=\"layer\"\n (click)=\"activateExport(layer)\"\n ></igo-export-button>\n <igo-ogc-filter-button\n [header]=\"ogcButton\"\n [layer]=\"layer\"\n ></igo-ogc-filter-button>\n <igo-time-filter-button\n [header]=\"timeButton\"\n [layer]=\"layer\"\n ></igo-time-filter-button>\n <igo-track-feature-button\n [trackFeature]=\"true\"\n [layer]=\"layer\"\n ></igo-track-feature-button>\n <igo-metadata-button [layer]=\"layer\"></igo-metadata-button>\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></igo-context-list>\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: i5$2.MatTab, selector: "mat-tab", inputs: ["disabled", "label", "aria-label", "aria-labelledby", "labelClass", "bodyClass"], exportAs: ["matTab"] }, { kind: "component", type: i5$2.MatTabGroup, selector: "mat-tab-group", inputs: ["color", "fitInkBarToContent", "mat-stretch-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", "map", "color", "header"] }, { kind: "component", type: TrackFeatureButtonComponent, selector: "igo-track-feature-button", inputs: ["layer", "trackFeature"] }, { 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: ["contexts", "selectedContext", "map", "defaultContextId", "term"], outputs: ["select", "unselect", "edit", "delete", "save", "clone", "create", "hide", "show", "showHiddenContexts", "favorite", "managePermissions", "manageTools", "filterPermissionsChanged"] }, { kind: "directive", type: ContextListBindingDirective, selector: "[igoContextListBinding]" }, { kind: "ngmodule", type: IgoLanguageModule }, { kind: "pipe", type: i11.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
4064
4120
|
};
|
|
4065
4121
|
MapToolComponent = __decorate([
|
|
4066
4122
|
ToolComponent({
|
|
@@ -4070,25 +4126,27 @@ MapToolComponent = __decorate([
|
|
|
4070
4126
|
}),
|
|
4071
4127
|
__metadata("design:paramtypes", [MapState,
|
|
4072
4128
|
ToolState,
|
|
4073
|
-
ImportExportState
|
|
4129
|
+
ImportExportState,
|
|
4130
|
+
ConfigService,
|
|
4131
|
+
MediaService,
|
|
4132
|
+
ChangeDetectorRef])
|
|
4074
4133
|
], MapToolComponent);
|
|
4075
4134
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MapToolComponent, decorators: [{
|
|
4076
4135
|
type: Component,
|
|
4077
4136
|
args: [{ selector: 'igo-map-tool', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [
|
|
4078
4137
|
MatTabsModule,
|
|
4079
|
-
LayerListComponent,
|
|
4080
|
-
LayerListBindingDirective,
|
|
4081
4138
|
WorkspaceButtonComponent,
|
|
4082
4139
|
ExportButtonComponent,
|
|
4083
4140
|
OgcFilterButtonComponent,
|
|
4084
4141
|
TimeFilterButtonComponent,
|
|
4085
4142
|
TrackFeatureButtonComponent,
|
|
4086
4143
|
MetadataButtonComponent,
|
|
4144
|
+
LayerViewerComponent,
|
|
4087
4145
|
ContextListComponent,
|
|
4088
4146
|
ContextListBindingDirective,
|
|
4089
4147
|
IgoLanguageModule
|
|
4090
|
-
], template: "<mat-tab-group>\n <mat-tab [label]=\"'igo.integration.tools.map' | translate\">\n <igo-layer-
|
|
4091
|
-
}], ctorParameters: () => [{ type: MapState }, { type: ToolState }, { type: ImportExportState }], propDecorators: { toggleLegendOnVisibilityChange: [{
|
|
4148
|
+
], 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\"></igo-workspace-button>\n <igo-export-button\n [layer]=\"layer\"\n (click)=\"activateExport(layer)\"\n ></igo-export-button>\n <igo-ogc-filter-button\n [header]=\"ogcButton\"\n [layer]=\"layer\"\n ></igo-ogc-filter-button>\n <igo-time-filter-button\n [header]=\"timeButton\"\n [layer]=\"layer\"\n ></igo-time-filter-button>\n <igo-track-feature-button\n [trackFeature]=\"true\"\n [layer]=\"layer\"\n ></igo-track-feature-button>\n <igo-metadata-button [layer]=\"layer\"></igo-metadata-button>\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></igo-context-list>\n </mat-tab>\n</mat-tab-group>\n", styles: [":host ::ng-deep .mat-mdc-tab-body-content{overflow:hidden}\n"] }]
|
|
4149
|
+
}], ctorParameters: () => [{ type: MapState }, { type: ToolState }, { type: ImportExportState }, { type: i5.ConfigService }, { type: i3$1.MediaService }, { type: i0.ChangeDetectorRef }], propDecorators: { toggleLegendOnVisibilityChange: [{
|
|
4092
4150
|
type: Input
|
|
4093
4151
|
}], expandLegendOfVisibleLayers: [{
|
|
4094
4152
|
type: Input
|
|
@@ -4113,6 +4171,10 @@ let MapToolsComponent = class MapToolsComponent {
|
|
|
4113
4171
|
mapState;
|
|
4114
4172
|
searchSourceService;
|
|
4115
4173
|
importExportState;
|
|
4174
|
+
configService;
|
|
4175
|
+
mediaService;
|
|
4176
|
+
cdr;
|
|
4177
|
+
isDesktop;
|
|
4116
4178
|
layers$ = new BehaviorSubject([]);
|
|
4117
4179
|
showAllLegendsValue$ = new BehaviorSubject(false);
|
|
4118
4180
|
resolution$$;
|
|
@@ -4151,10 +4213,10 @@ let MapToolsComponent = class MapToolsComponent {
|
|
|
4151
4213
|
}
|
|
4152
4214
|
queryBadge = false;
|
|
4153
4215
|
get visibleOrInRangeLayers$() {
|
|
4154
|
-
return this.layers$.pipe(map$1((layers) => layers.filter((layer) => layer.
|
|
4216
|
+
return this.layers$.pipe(map$1((layers) => layers.filter((layer) => layer.displayed)));
|
|
4155
4217
|
}
|
|
4156
4218
|
get visibleLayers$() {
|
|
4157
|
-
return this.layers$.pipe(map$1((layers) => layers.filter((layer) => layer.visible
|
|
4219
|
+
return this.layers$.pipe(map$1((layers) => layers.filter((layer) => layer.visible)));
|
|
4158
4220
|
}
|
|
4159
4221
|
get excludeBaseLayers() {
|
|
4160
4222
|
return this.layerListControls.excludeBaseLayers || false;
|
|
@@ -4175,6 +4237,19 @@ let MapToolsComponent = class MapToolsComponent {
|
|
|
4175
4237
|
}
|
|
4176
4238
|
return filterSortOptions;
|
|
4177
4239
|
}
|
|
4240
|
+
_layerViewerOptions;
|
|
4241
|
+
get layerViewerOptions() {
|
|
4242
|
+
return {
|
|
4243
|
+
filterAndSortOptions: this.layerFilterAndSortOptions,
|
|
4244
|
+
legend: {
|
|
4245
|
+
showForVisibleLayers: this.expandLegendOfVisibleLayers,
|
|
4246
|
+
showOnVisibilityChange: this.toggleLegendOnVisibilityChange,
|
|
4247
|
+
updateOnResolutionChange: this.updateLegendOnResolutionChange
|
|
4248
|
+
},
|
|
4249
|
+
queryBadge: this.queryBadge,
|
|
4250
|
+
...this._layerViewerOptions
|
|
4251
|
+
};
|
|
4252
|
+
}
|
|
4178
4253
|
tabGroup;
|
|
4179
4254
|
get searchToolInToolbar() {
|
|
4180
4255
|
return (this.toolState.toolbox.getToolbar().indexOf('searchResults') !== -1 &&
|
|
@@ -4189,23 +4264,27 @@ let MapToolsComponent = class MapToolsComponent {
|
|
|
4189
4264
|
get contextToolInToolbar() {
|
|
4190
4265
|
return this.toolState.toolbox.getToolbar().indexOf('contextManager') !== -1;
|
|
4191
4266
|
}
|
|
4192
|
-
constructor(layerListToolState, toolState, mapState, searchSourceService, importExportState) {
|
|
4267
|
+
constructor(layerListToolState, toolState, mapState, searchSourceService, importExportState, configService, mediaService, cdr) {
|
|
4193
4268
|
this.layerListToolState = layerListToolState;
|
|
4194
4269
|
this.toolState = toolState;
|
|
4195
4270
|
this.mapState = mapState;
|
|
4196
4271
|
this.searchSourceService = searchSourceService;
|
|
4197
4272
|
this.importExportState = importExportState;
|
|
4273
|
+
this.configService = configService;
|
|
4274
|
+
this.mediaService = mediaService;
|
|
4275
|
+
this.cdr = cdr;
|
|
4276
|
+
this._layerViewerOptions = this.configService.getConfig('layer');
|
|
4198
4277
|
}
|
|
4199
4278
|
ngOnInit() {
|
|
4279
|
+
this.handleMedia();
|
|
4200
4280
|
this.selectedTab();
|
|
4201
4281
|
this.resolution$$ = combineLatest([
|
|
4202
|
-
this.map.
|
|
4282
|
+
this.map.layerController.all$,
|
|
4203
4283
|
this.map.viewController.resolution$
|
|
4204
4284
|
])
|
|
4205
4285
|
.pipe(debounceTime(10))
|
|
4206
|
-
.subscribe((
|
|
4207
|
-
this.layers$.next(
|
|
4208
|
-
(!this.excludeBaseLayers || !layer.baseLayer)));
|
|
4286
|
+
.subscribe(([layers]) => {
|
|
4287
|
+
this.layers$.next(layers);
|
|
4209
4288
|
});
|
|
4210
4289
|
if (this.allowShowAllLegends) {
|
|
4211
4290
|
this.mapState.showAllLegendsValue =
|
|
@@ -4246,8 +4325,7 @@ let MapToolsComponent = class MapToolsComponent {
|
|
|
4246
4325
|
}
|
|
4247
4326
|
tabChanged(tab) {
|
|
4248
4327
|
this.layerListToolState.setSelectedTab(tab.index);
|
|
4249
|
-
this.layers$.next(this.map.
|
|
4250
|
-
(!this.excludeBaseLayers || !layer.baseLayer)));
|
|
4328
|
+
this.layers$.next(this.map.layerController.all);
|
|
4251
4329
|
}
|
|
4252
4330
|
onLayerListChange(appliedFilters) {
|
|
4253
4331
|
this.layerListToolState.setKeyword(appliedFilters.keyword);
|
|
@@ -4331,8 +4409,14 @@ let MapToolsComponent = class MapToolsComponent {
|
|
|
4331
4409
|
}
|
|
4332
4410
|
return false;
|
|
4333
4411
|
}
|
|
4334
|
-
|
|
4335
|
-
|
|
4412
|
+
handleMedia() {
|
|
4413
|
+
this.mediaService.media$.subscribe((result) => {
|
|
4414
|
+
this.isDesktop = result === Media.Desktop;
|
|
4415
|
+
this.cdr.detectChanges();
|
|
4416
|
+
});
|
|
4417
|
+
}
|
|
4418
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MapToolsComponent, deps: [{ token: LayerListToolState }, { token: ToolState }, { token: MapState }, { token: i1.SearchSourceService }, { token: ImportExportState }, { token: i5.ConfigService }, { token: i3$1.MediaService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
4419
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: MapToolsComponent, isStandalone: true, selector: "igo-map-tools", inputs: { allowShowAllLegends: "allowShowAllLegends", showAllLegendsValue: "showAllLegendsValue", toggleLegendOnVisibilityChange: "toggleLegendOnVisibilityChange", expandLegendOfVisibleLayers: "expandLegendOfVisibleLayers", updateLegendOnResolutionChange: "updateLegendOnResolutionChange", selectedTabAtOpening: "selectedTabAtOpening", ogcButton: "ogcButton", timeButton: "timeButton", layerAdditionAllowed: "layerAdditionAllowed", layerListControls: "layerListControls", queryBadge: "queryBadge" }, viewQueries: [{ propertyName: "tabGroup", first: true, predicate: ["tabGroup"], descendants: true, static: 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 <igo-style-modal-layer-button\n *ngIf=\"isStyleEditButton(layer)\"\n [layer]=\"layer\"\n ></igo-style-modal-layer-button>\n <igo-metadata-button [layer]=\"layer\"></igo-metadata-button>\n <igo-track-feature-button\n [trackFeature]=\"true\"\n [layer]=\"layer\"\n ></igo-track-feature-button>\n <igo-time-filter-button\n *ngIf=\"isTimeFilterButton(layer)\"\n [header]=\"timeButton\"\n [layer]=\"layer\"\n (click)=\"activateTimeFilter()\"\n ></igo-time-filter-button>\n <igo-ogc-filter-button\n *ngIf=\"isOGCFilterButton(layer)\"\n [header]=\"ogcButton\"\n [layer]=\"layer\"\n (click)=\"activateOgcFilter()\"\n ></igo-ogc-filter-button>\n <igo-export-button\n *ngIf=\"isExportButton(layer)\"\n [layer]=\"layer\"\n (click)=\"activateExport(layer)\"\n ></igo-export-button>\n <igo-workspace-button [layer]=\"layer\"></igo-workspace-button>\n </ng-template>\n\n <ng-container ngProjectAs=\"[emptyList]\">\n <ng-template [ngTemplateOutlet]=\"emptyLayers\"></ng-template>\n </ng-container>\n </igo-layer-viewer>\n </mat-tab>\n\n <mat-tab [label]=\"'igo.integration.tools.legend' | translate\">\n <igo-layer-legend-list\n *ngIf=\"showAllLegend()\"\n igoLayerLegendListBinding\n [allowShowAllLegends]=\"allowShowAllLegends\"\n [showAllLegendsValue]=\"showAllLegendsValue$ | async\"\n (allLegendsShown)=\"onShowAllLegends($event)\"\n [excludeBaseLayers]=\"excludeBaseLayers\"\n [updateLegendOnResolutionChange]=\"updateLegendOnResolutionChange\"\n >\n </igo-layer-legend-list>\n <ng-template\n *ngIf=\"(layers$ | async).length !== 0; else emptyLayers\"\n ></ng-template>\n\n <p\n class=\"map-empty mat-typography\"\n *ngIf=\"\n !allowShowAllLegends &&\n (layers$ | async).length !== 0 &&\n (visibleOrInRangeLayers$ | async).length === 0\n \"\n >\n {{\n (visibleLayers$ | async).length\n ? ('igo.integration.mapTool.noLayersInRange' | translate)\n : ('igo.integration.mapTool.noLayersVisible' | translate)\n }}\n </p>\n </mat-tab>\n\n <ng-template #emptyLayers>\n <mat-list *ngIf=\"delayedShowEmptyMapContent\">\n <p class=\"map-empty mat-typography\">\n {{ 'igo.integration.mapTool.empty' | translate }}\n </p>\n <p\n *ngIf=\"\n layerAdditionAllowed &&\n (searchToolInToolbar || catalogToolInToolbar || contextToolInToolbar)\n \"\n class=\"map-empty mat-typography\"\n >\n {{ 'igo.integration.mapTool.customize' | translate }}\n </p>\n\n <mat-list-item *ngIf=\"layerAdditionAllowed && searchToolInToolbar\">\n <mat-icon matListItemIcon>search</mat-icon>\n <span\n matListItemTitle\n class=\"search-tool mat-typography\"\n (click)=\"searchEmit()\"\n >\n {{ 'igo.integration.mapTool.search-tool' | translate }}\n </span>\n </mat-list-item>\n <mat-list-item *ngIf=\"layerAdditionAllowed && catalogToolInToolbar\">\n <mat-icon matListItemIcon>library_add</mat-icon>\n <span\n matListItemTitle\n class=\"catalog-tool mat-typography\"\n (click)=\"catalogEmit()\"\n >\n {{ 'igo.integration.mapTool.catalog-tool' | translate }}\n </span>\n </mat-list-item>\n <mat-list-item *ngIf=\"layerAdditionAllowed && contextToolInToolbar\">\n <mat-icon matListItemIcon>star</mat-icon>\n <span\n matListItemTitle\n class=\"context-tool mat-typography\"\n (click)=\"contextEmit()\"\n >\n {{ 'igo.integration.mapTool.context-tool' | translate }}\n </span>\n </mat-list-item>\n </mat-list>\n </ng-template>\n</mat-tab-group>\n", styles: [":host mat-tab-group{height:100%}:host ::ng-deep mat-tab-header{border-bottom:1px solid #ccc}: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: i5$2.MatTab, selector: "mat-tab", inputs: ["disabled", "label", "aria-label", "aria-labelledby", "labelClass", "bodyClass"], exportAs: ["matTab"] }, { kind: "component", type: i5$2.MatTabGroup, selector: "mat-tab-group", inputs: ["color", "fitInkBarToContent", "mat-stretch-tabs", "dynamicHeight", "selectedIndex", "headerPosition", "animationDuration", "contentTabIndex", "disablePagination", "disableRipple", "preserveContent", "backgroundColor", "aria-label", "aria-labelledby"], outputs: ["selectedIndexChange", "focusChange", "animationDone", "selectedTabChange"], exportAs: ["matTabGroup"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { 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"] }, { 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: ["allLegendsShown"] }, { kind: "directive", type: LayerLegendListBindingDirective, selector: "[igoLayerLegendListBinding]" }, { kind: "ngmodule", type: MatListModule }, { kind: "component", type: i9.MatList, selector: "mat-list", exportAs: ["matList"] }, { kind: "component", type: i9.MatListItem, selector: "mat-list-item, a[mat-list-item], button[mat-list-item]", inputs: ["activated"], exportAs: ["matListItem"] }, { kind: "directive", type: i9.MatListItemIcon, selector: "[matListItemIcon]" }, { kind: "directive", type: i9.MatListItemTitle, selector: "[matListItemTitle]" }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i10.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "ngmodule", type: IgoLanguageModule }, { kind: "pipe", type: i11.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
4336
4420
|
};
|
|
4337
4421
|
MapToolsComponent = __decorate([
|
|
4338
4422
|
ToolComponent({
|
|
@@ -4344,15 +4428,18 @@ MapToolsComponent = __decorate([
|
|
|
4344
4428
|
ToolState,
|
|
4345
4429
|
MapState,
|
|
4346
4430
|
SearchSourceService,
|
|
4347
|
-
ImportExportState
|
|
4431
|
+
ImportExportState,
|
|
4432
|
+
ConfigService,
|
|
4433
|
+
MediaService,
|
|
4434
|
+
ChangeDetectorRef])
|
|
4348
4435
|
], MapToolsComponent);
|
|
4349
4436
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MapToolsComponent, decorators: [{
|
|
4350
4437
|
type: Component,
|
|
4351
4438
|
args: [{ selector: 'igo-map-tools', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [
|
|
4352
4439
|
MatTabsModule,
|
|
4353
4440
|
NgIf,
|
|
4354
|
-
|
|
4355
|
-
|
|
4441
|
+
NgTemplateOutlet,
|
|
4442
|
+
LayerViewerComponent,
|
|
4356
4443
|
StyleModalLayerButtonComponent,
|
|
4357
4444
|
MetadataButtonComponent,
|
|
4358
4445
|
TrackFeatureButtonComponent,
|
|
@@ -4366,8 +4453,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
4366
4453
|
MatIconModule,
|
|
4367
4454
|
AsyncPipe,
|
|
4368
4455
|
IgoLanguageModule
|
|
4369
|
-
], 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-
|
|
4370
|
-
}], ctorParameters: () => [{ type: LayerListToolState }, { type: ToolState }, { type: MapState }, { type: i1
|
|
4456
|
+
], 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 <igo-style-modal-layer-button\n *ngIf=\"isStyleEditButton(layer)\"\n [layer]=\"layer\"\n ></igo-style-modal-layer-button>\n <igo-metadata-button [layer]=\"layer\"></igo-metadata-button>\n <igo-track-feature-button\n [trackFeature]=\"true\"\n [layer]=\"layer\"\n ></igo-track-feature-button>\n <igo-time-filter-button\n *ngIf=\"isTimeFilterButton(layer)\"\n [header]=\"timeButton\"\n [layer]=\"layer\"\n (click)=\"activateTimeFilter()\"\n ></igo-time-filter-button>\n <igo-ogc-filter-button\n *ngIf=\"isOGCFilterButton(layer)\"\n [header]=\"ogcButton\"\n [layer]=\"layer\"\n (click)=\"activateOgcFilter()\"\n ></igo-ogc-filter-button>\n <igo-export-button\n *ngIf=\"isExportButton(layer)\"\n [layer]=\"layer\"\n (click)=\"activateExport(layer)\"\n ></igo-export-button>\n <igo-workspace-button [layer]=\"layer\"></igo-workspace-button>\n </ng-template>\n\n <ng-container ngProjectAs=\"[emptyList]\">\n <ng-template [ngTemplateOutlet]=\"emptyLayers\"></ng-template>\n </ng-container>\n </igo-layer-viewer>\n </mat-tab>\n\n <mat-tab [label]=\"'igo.integration.tools.legend' | translate\">\n <igo-layer-legend-list\n *ngIf=\"showAllLegend()\"\n igoLayerLegendListBinding\n [allowShowAllLegends]=\"allowShowAllLegends\"\n [showAllLegendsValue]=\"showAllLegendsValue$ | async\"\n (allLegendsShown)=\"onShowAllLegends($event)\"\n [excludeBaseLayers]=\"excludeBaseLayers\"\n [updateLegendOnResolutionChange]=\"updateLegendOnResolutionChange\"\n >\n </igo-layer-legend-list>\n <ng-template\n *ngIf=\"(layers$ | async).length !== 0; else emptyLayers\"\n ></ng-template>\n\n <p\n class=\"map-empty mat-typography\"\n *ngIf=\"\n !allowShowAllLegends &&\n (layers$ | async).length !== 0 &&\n (visibleOrInRangeLayers$ | async).length === 0\n \"\n >\n {{\n (visibleLayers$ | async).length\n ? ('igo.integration.mapTool.noLayersInRange' | translate)\n : ('igo.integration.mapTool.noLayersVisible' | translate)\n }}\n </p>\n </mat-tab>\n\n <ng-template #emptyLayers>\n <mat-list *ngIf=\"delayedShowEmptyMapContent\">\n <p class=\"map-empty mat-typography\">\n {{ 'igo.integration.mapTool.empty' | translate }}\n </p>\n <p\n *ngIf=\"\n layerAdditionAllowed &&\n (searchToolInToolbar || catalogToolInToolbar || contextToolInToolbar)\n \"\n class=\"map-empty mat-typography\"\n >\n {{ 'igo.integration.mapTool.customize' | translate }}\n </p>\n\n <mat-list-item *ngIf=\"layerAdditionAllowed && searchToolInToolbar\">\n <mat-icon matListItemIcon>search</mat-icon>\n <span\n matListItemTitle\n class=\"search-tool mat-typography\"\n (click)=\"searchEmit()\"\n >\n {{ 'igo.integration.mapTool.search-tool' | translate }}\n </span>\n </mat-list-item>\n <mat-list-item *ngIf=\"layerAdditionAllowed && catalogToolInToolbar\">\n <mat-icon matListItemIcon>library_add</mat-icon>\n <span\n matListItemTitle\n class=\"catalog-tool mat-typography\"\n (click)=\"catalogEmit()\"\n >\n {{ 'igo.integration.mapTool.catalog-tool' | translate }}\n </span>\n </mat-list-item>\n <mat-list-item *ngIf=\"layerAdditionAllowed && contextToolInToolbar\">\n <mat-icon matListItemIcon>star</mat-icon>\n <span\n matListItemTitle\n class=\"context-tool mat-typography\"\n (click)=\"contextEmit()\"\n >\n {{ 'igo.integration.mapTool.context-tool' | translate }}\n </span>\n </mat-list-item>\n </mat-list>\n </ng-template>\n</mat-tab-group>\n", styles: [":host mat-tab-group{height:100%}:host ::ng-deep mat-tab-header{border-bottom:1px solid #ccc}: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"] }]
|
|
4457
|
+
}], ctorParameters: () => [{ type: LayerListToolState }, { type: ToolState }, { type: MapState }, { type: i1.SearchSourceService }, { type: ImportExportState }, { type: i5.ConfigService }, { type: i3$1.MediaService }, { type: i0.ChangeDetectorRef }], propDecorators: { allowShowAllLegends: [{
|
|
4371
4458
|
type: Input
|
|
4372
4459
|
}], showAllLegendsValue: [{
|
|
4373
4460
|
type: Input
|
|
@@ -4459,8 +4546,9 @@ class MeasureState {
|
|
|
4459
4546
|
this.store = new FeatureStore([], {
|
|
4460
4547
|
map: this.mapState.map
|
|
4461
4548
|
});
|
|
4462
|
-
this.mapState.map.
|
|
4463
|
-
|
|
4549
|
+
this.mapState.map.layerController.all$.subscribe((layers) => {
|
|
4550
|
+
const hasMeasure = layers.some((l) => l.id?.startsWith('igo-measures-'));
|
|
4551
|
+
if (!hasMeasure) {
|
|
4464
4552
|
this.store.deleteMany(this.store.all());
|
|
4465
4553
|
this.mapState.map.ol
|
|
4466
4554
|
.getOverlays()
|
|
@@ -4680,7 +4768,7 @@ class SearchState {
|
|
|
4680
4768
|
this.monitorLayerDeletion();
|
|
4681
4769
|
}
|
|
4682
4770
|
monitorLayerDeletion() {
|
|
4683
|
-
this.mapState.map.
|
|
4771
|
+
this.mapState.map.layerController.all$.subscribe((layers) => {
|
|
4684
4772
|
this.searchLayerStores.forEach((store) => {
|
|
4685
4773
|
const layer = layers.find((l) => l.id === store.layer.id);
|
|
4686
4774
|
if (!layer) {
|
|
@@ -4741,12 +4829,12 @@ class SearchState {
|
|
|
4741
4829
|
this.storageService.set('searchResultsGeometryEnabled', value);
|
|
4742
4830
|
this.searchResultsGeometryEnabled$.next(value);
|
|
4743
4831
|
}
|
|
4744
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SearchState, deps: [{ token: i1
|
|
4832
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SearchState, deps: [{ token: i1.SearchSourceService }, { token: i4.StorageService }, { token: WorkspaceState }, { token: i5.ConfigService }, { token: MapState }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
4745
4833
|
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SearchState });
|
|
4746
4834
|
}
|
|
4747
4835
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SearchState, decorators: [{
|
|
4748
4836
|
type: Injectable
|
|
4749
|
-
}], ctorParameters: () => [{ type: i1
|
|
4837
|
+
}], ctorParameters: () => [{ type: i1.SearchSourceService }, { type: i4.StorageService }, { type: WorkspaceState }, { type: i5.ConfigService }, { type: MapState }] });
|
|
4750
4838
|
|
|
4751
4839
|
class SearchBarBindingDirective {
|
|
4752
4840
|
component;
|
|
@@ -4794,7 +4882,7 @@ class SearchBarBindingDirective {
|
|
|
4794
4882
|
this.searchState.setSearchType(searchType);
|
|
4795
4883
|
}
|
|
4796
4884
|
}
|
|
4797
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SearchBarBindingDirective, deps: [{ token: i1
|
|
4885
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SearchBarBindingDirective, deps: [{ token: i1.SearchBarComponent, self: true }, { token: SearchState }], target: i0.ɵɵFactoryTarget.Directive });
|
|
4798
4886
|
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: SearchBarBindingDirective, isStandalone: true, selector: "[igoSearchBarBinding]", host: { listeners: { "searchTermChange": "onSearchTermChange($event)", "searchTypeChange": "onSearchTypeChange($event)" } }, ngImport: i0 });
|
|
4799
4887
|
}
|
|
4800
4888
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SearchBarBindingDirective, decorators: [{
|
|
@@ -4803,7 +4891,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
4803
4891
|
selector: '[igoSearchBarBinding]',
|
|
4804
4892
|
standalone: true
|
|
4805
4893
|
}]
|
|
4806
|
-
}], ctorParameters: () => [{ type: i1
|
|
4894
|
+
}], ctorParameters: () => [{ type: i1.SearchBarComponent, decorators: [{
|
|
4807
4895
|
type: Self
|
|
4808
4896
|
}] }, { type: SearchState }], propDecorators: { onSearchTermChange: [{
|
|
4809
4897
|
type: HostListener,
|
|
@@ -5292,7 +5380,7 @@ let SearchResultsToolComponent = class SearchResultsToolComponent {
|
|
|
5292
5380
|
}, 250);
|
|
5293
5381
|
}
|
|
5294
5382
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SearchResultsToolComponent, deps: [{ token: MapState }, { token: SearchState }, { token: i0.ElementRef }, { token: ToolState }, { token: DirectionState }, { token: i5.ConfigService }], target: i0.ɵɵFactoryTarget.Component });
|
|
5295
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: SearchResultsToolComponent, isStandalone: true, selector: "igo-search-results-tool", inputs: { showIcons: "showIcons", topPanelStateDefault: "topPanelStateDefault", topPanelState: "topPanelState" }, ngImport: i0, template: "<div\n *ngIf=\"(!store || store.stateView.empty) && (debouncedEmpty$ | async)\"\n style=\"margin: 10px\"\n>\n <section class=\"mat-typography\">\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' | translate | sanitizeHtml\n \"\n ></div>\n </section>\n</div>\n\n<igo-flexible\n *ngIf=\"(debouncedEmpty$ | async) === false\"\n #topPanel\n initial=\"100%\"\n initialMobile=\"100%\"\n collapsed=\"calc(100% - 58px)\"\n collapsedMobile=\"calc(100% - 58px)\"\n expanded=\"60%\"\n expandedMobile=\"60%\"\n [state]=\"(feature$ | async) ? topPanelState : 'initial'\"\n>\n <div class=\"igo-content\">\n <igo-search-results\n [store]=\"store\"\n [showIcons]=\"showIcons\"\n [term]=\"term\"\n [termSplitter]=\"termSplitter\"\n [settingsChange$]=\"settingsChange$\"\n placeholder=\"false\"\n (resultFocus)=\"onResultFocus($event)\"\n (resultSelect)=\"onResultSelect($event)\"\n (resultUnfocus)=\"onResultUnfocus($event)\"\n (resultMouseenter)=\"onResultFocus($event)\"\n (resultMouseleave)=\"onResultUnfocus($event)\"\n (moreResults)=\"onSearch($event)\"\n [map]=\"map\"\n >\n <ng-template #igoSearchItemToolbar let-result=\"result\">\n <igo-search-add-button\n [map]=\"map\"\n [store]=\"store\"\n [stores]=\"stores\"\n [layer]=\"result\"\n [saveSearchResultInLayer]=\"saveSearchResultInLayer\"\n >\n </igo-search-add-button>\n </ng-template>\n </igo-search-results>\n </div>\n\n <div igoFlexibleFill class=\"igo-content\">\n <igo-panel\n [title]=\"featureTitle\"\n *ngIf=\"feature$ | async\"\n (click)=\"toggleTopPanel($event)\"\n [cursorPointer]=\"true\"\n >\n <button\n mat-icon-button\n panelLeftButton\n class=\"igo-icon-button\"\n (click)=\"toggleTopPanel()\"\n >\n <mat-icon>{{\n (topPanelState$ | async) === 'collapsed'\n ? 'arrow_upward'\n : 'arrow_downward'\n }}</mat-icon>\n </button>\n\n <button\n *ngIf=\"feature.geometry\"\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]=\"(isSelectedResultOutOfView$ | async) === false\"\n >zoom_in</mat-icon\n >\n </button>\n\n <igo-feature-details\n igoFeatureDetailsDirective\n [feature]=\"feature$ | async\"\n [map]=\"map\"\n [toolbox]=\"toolState.toolbox\"\n (routingEvent)=\"getRoute()\"\n >\n </igo-feature-details>\n </igo-panel>\n </div>\n</igo-flexible>\n", dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: FlexibleComponent, selector: "igo-flexible", inputs: ["initial", "collapsed", "expanded", "initialMobile", "collapsedMobile", "expandedMobile", "direction", "state"] }, { kind: "component", type: SearchResultsComponent, selector: "igo-search-results", inputs: ["map", "store", "showIcons", "mode", "withZoomButton", "tabsMode", "term", "settingsChange$", "termSplitter"], outputs: ["resultFocus", "resultUnfocus", "resultSelect", "moreResults", "resultMouseenter", "resultMouseleave"] }, { kind: "component", type: SearchResultAddButtonComponent, selector: "igo-search-add-button", inputs: ["layer", "store", "added", "map", "saveSearchResultInLayer", "color", "stores"] }, { kind: "component", type: PanelComponent, selector: "igo-panel", inputs: ["title", "withHeader", "cursorPointer"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i7.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type:
|
|
5383
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: SearchResultsToolComponent, isStandalone: true, selector: "igo-search-results-tool", inputs: { showIcons: "showIcons", topPanelStateDefault: "topPanelStateDefault", topPanelState: "topPanelState" }, ngImport: i0, template: "<div\n *ngIf=\"(!store || store.stateView.empty) && (debouncedEmpty$ | async)\"\n style=\"margin: 10px\"\n>\n <section class=\"mat-typography\">\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' | translate | sanitizeHtml\n \"\n ></div>\n </section>\n</div>\n\n<igo-flexible\n *ngIf=\"(debouncedEmpty$ | async) === false\"\n #topPanel\n initial=\"100%\"\n initialMobile=\"100%\"\n collapsed=\"calc(100% - 58px)\"\n collapsedMobile=\"calc(100% - 58px)\"\n expanded=\"60%\"\n expandedMobile=\"60%\"\n [state]=\"(feature$ | async) ? topPanelState : 'initial'\"\n>\n <div class=\"igo-content\">\n <igo-search-results\n [store]=\"store\"\n [showIcons]=\"showIcons\"\n [term]=\"term\"\n [termSplitter]=\"termSplitter\"\n [settingsChange$]=\"settingsChange$\"\n placeholder=\"false\"\n (resultFocus)=\"onResultFocus($event)\"\n (resultSelect)=\"onResultSelect($event)\"\n (resultUnfocus)=\"onResultUnfocus($event)\"\n (resultMouseenter)=\"onResultFocus($event)\"\n (resultMouseleave)=\"onResultUnfocus($event)\"\n (moreResults)=\"onSearch($event)\"\n [map]=\"map\"\n >\n <ng-template #igoSearchItemToolbar let-result=\"result\">\n <igo-search-add-button\n [map]=\"map\"\n [store]=\"store\"\n [stores]=\"stores\"\n [layer]=\"result\"\n [saveSearchResultInLayer]=\"saveSearchResultInLayer\"\n >\n </igo-search-add-button>\n </ng-template>\n </igo-search-results>\n </div>\n\n <div igoFlexibleFill class=\"igo-content\">\n <igo-panel\n [title]=\"featureTitle\"\n *ngIf=\"feature$ | async\"\n (click)=\"toggleTopPanel($event)\"\n [cursorPointer]=\"true\"\n >\n <button\n mat-icon-button\n panelLeftButton\n class=\"igo-icon-button\"\n (click)=\"toggleTopPanel()\"\n >\n <mat-icon>{{\n (topPanelState$ | async) === 'collapsed'\n ? 'arrow_upward'\n : 'arrow_downward'\n }}</mat-icon>\n </button>\n\n <button\n *ngIf=\"feature.geometry\"\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]=\"(isSelectedResultOutOfView$ | async) === false\"\n >zoom_in</mat-icon\n >\n </button>\n\n <igo-feature-details\n igoFeatureDetailsDirective\n [feature]=\"feature$ | async\"\n [map]=\"map\"\n [toolbox]=\"toolState.toolbox\"\n (routingEvent)=\"getRoute()\"\n >\n </igo-feature-details>\n </igo-panel>\n </div>\n</igo-flexible>\n", dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: FlexibleComponent, selector: "igo-flexible", inputs: ["initial", "collapsed", "expanded", "initialMobile", "collapsedMobile", "expandedMobile", "direction", "state"] }, { kind: "component", type: SearchResultsComponent, selector: "igo-search-results", inputs: ["map", "store", "showIcons", "mode", "withZoomButton", "tabsMode", "term", "settingsChange$", "termSplitter"], outputs: ["resultFocus", "resultUnfocus", "resultSelect", "moreResults", "resultMouseenter", "resultMouseleave"] }, { kind: "component", type: SearchResultAddButtonComponent, selector: "igo-search-add-button", inputs: ["layer", "store", "added", "map", "saveSearchResultInLayer", "color", "stores"] }, { kind: "component", type: PanelComponent, selector: "igo-panel", inputs: ["title", "withHeader", "cursorPointer"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i7.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i10.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i6.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "ngmodule", type: MatBadgeModule }, { kind: "directive", type: i9$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: "pipe", type: AsyncPipe, name: "async" }, { kind: "ngmodule", type: IgoLanguageModule }, { kind: "pipe", type: i11.TranslatePipe, name: "translate" }, { kind: "pipe", type: SanitizeHtmlPipe, name: "sanitizeHtml" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
5296
5384
|
};
|
|
5297
5385
|
SearchResultsToolComponent = __decorate([
|
|
5298
5386
|
ToolComponent({
|
|
@@ -5479,11 +5567,14 @@ class AnalyticsListenerService {
|
|
|
5479
5567
|
if (!layers) {
|
|
5480
5568
|
return;
|
|
5481
5569
|
}
|
|
5482
|
-
layers.
|
|
5570
|
+
layers.forEach((layer) => {
|
|
5483
5571
|
let wmsParams;
|
|
5484
5572
|
let wmtsParams;
|
|
5485
5573
|
let xyzParams;
|
|
5486
5574
|
let restParams;
|
|
5575
|
+
if (isLayerGroup(layer)) {
|
|
5576
|
+
return;
|
|
5577
|
+
}
|
|
5487
5578
|
switch (layer.dataSource.options.type) {
|
|
5488
5579
|
case 'wms': {
|
|
5489
5580
|
const wmsDataSource = layer.dataSource
|
|
@@ -5541,7 +5632,7 @@ class AnalyticsListenerService {
|
|
|
5541
5632
|
});
|
|
5542
5633
|
});
|
|
5543
5634
|
}
|
|
5544
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AnalyticsListenerService, deps: [{ token: i1$
|
|
5635
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AnalyticsListenerService, deps: [{ token: i1$3.AnalyticsService }, { token: i2.AuthService }, { token: ContextState }, { token: ToolState }, { token: MapState }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
5545
5636
|
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AnalyticsListenerService, providedIn: 'root' });
|
|
5546
5637
|
}
|
|
5547
5638
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AnalyticsListenerService, decorators: [{
|
|
@@ -5549,7 +5640,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
5549
5640
|
args: [{
|
|
5550
5641
|
providedIn: 'root'
|
|
5551
5642
|
}]
|
|
5552
|
-
}], ctorParameters: () => [{ type: i1$
|
|
5643
|
+
}], ctorParameters: () => [{ type: i1$3.AnalyticsService }, { type: i2.AuthService }, { type: ContextState }, { type: ToolState }, { type: MapState }] });
|
|
5553
5644
|
|
|
5554
5645
|
const INTEGRATION_FILTER_DIRECTIVES = [
|
|
5555
5646
|
OgcFilterToolComponent,
|
|
@@ -5588,7 +5679,7 @@ class QueryState {
|
|
|
5588
5679
|
const geoPropertiesStrategy = new GeoPropertiesStrategy({ map: this.mapState.map }, this.propertyTypeDetectorService, this.capabilitiesService);
|
|
5589
5680
|
this.store.addStrategy(geoPropertiesStrategy, true);
|
|
5590
5681
|
}
|
|
5591
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: QueryState, deps: [{ token: i5.ConfigService }, { token: i1
|
|
5682
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: QueryState, deps: [{ token: i5.ConfigService }, { token: i1.PropertyTypeDetectorService }, { token: i1.CapabilitiesService }, { token: MapState }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
5592
5683
|
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: QueryState, providedIn: 'root' });
|
|
5593
5684
|
}
|
|
5594
5685
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: QueryState, decorators: [{
|
|
@@ -5596,7 +5687,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
5596
5687
|
args: [{
|
|
5597
5688
|
providedIn: 'root'
|
|
5598
5689
|
}]
|
|
5599
|
-
}], ctorParameters: () => [{ type: i5.ConfigService }, { type: i1
|
|
5690
|
+
}], ctorParameters: () => [{ type: i5.ConfigService }, { type: i1.PropertyTypeDetectorService }, { type: i1.CapabilitiesService }, { type: MapState }] });
|
|
5600
5691
|
|
|
5601
5692
|
/**
|
|
5602
5693
|
* @deprecated import the SearchResultsToolComponent directly
|