@igo2/geo 1.14.1 → 1.14.2
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/esm2020/lib/catalog/catalog-browser/catalog-browser-group.component.mjs +7 -5
- package/esm2020/lib/catalog/catalog-browser/catalog-browser-layer.component.mjs +59 -21
- package/esm2020/lib/catalog/catalog-browser/catalog-browser.component.mjs +7 -7
- package/esm2020/lib/import-export/shared/export.service.mjs +3 -3
- package/esm2020/lib/map/baselayers-switcher/mini-basemap.component.mjs +16 -7
- package/esm2020/lib/map/shared/map.utils.mjs +2 -1
- package/esm2020/lib/print/print/print.component.mjs +15 -12
- package/esm2020/lib/print/print-form/print-form.component.mjs +46 -23
- package/esm2020/lib/print/shared/print.service.mjs +96 -23
- package/esm2020/lib/query/shared/query.interfaces.mjs +1 -1
- package/esm2020/lib/query/shared/query.service.mjs +142 -28
- package/esm2020/lib/search/search-bar/search-bar.component.mjs +27 -8
- package/esm2020/lib/search/search-results/save-feature-dialog.component.mjs +118 -0
- package/esm2020/lib/search/search-results/search-results-add-button.component.mjs +207 -29
- package/esm2020/lib/search/search-results/search-results-item.component.mjs +2 -2
- package/esm2020/lib/search/search-results/search-results.component.mjs +1 -1
- package/esm2020/lib/search/search-results/search-results.module.mjs +32 -5
- package/esm2020/lib/search/search-settings/search-settings.component.mjs +33 -9
- package/esm2020/lib/search/shared/search.service.mjs +10 -7
- package/esm2020/lib/search/shared/sources/coordinates.mjs +17 -11
- package/esm2020/lib/search/shared/sources/icherche.mjs +7 -7
- package/esm2020/lib/search/shared/sources/ilayer.mjs +4 -4
- package/esm2020/lib/search/shared/sources/source.mjs +1 -1
- package/fesm2015/igo2-geo.mjs +990 -361
- package/fesm2015/igo2-geo.mjs.map +1 -1
- package/fesm2020/igo2-geo.mjs +966 -360
- package/fesm2020/igo2-geo.mjs.map +1 -1
- package/lib/catalog/catalog-browser/catalog-browser-group.component.d.ts +3 -1
- package/lib/catalog/catalog-browser/catalog-browser-layer.component.d.ts +9 -2
- package/lib/import-export/shared/export.service.d.ts +1 -1
- package/lib/map/baselayers-switcher/mini-basemap.component.d.ts +7 -4
- package/lib/map/shared/map.utils.d.ts +1 -0
- package/lib/print/shared/print.service.d.ts +10 -1
- package/lib/query/shared/query.interfaces.d.ts +8 -1
- package/lib/query/shared/query.service.d.ts +5 -3
- package/lib/search/search-bar/search-bar.component.d.ts +12 -2
- package/lib/search/search-results/save-feature-dialog.component.d.ts +32 -0
- package/lib/search/search-results/search-results-add-button.component.d.ts +20 -2
- package/lib/search/search-results/search-results-item.component.d.ts +0 -1
- package/lib/search/search-results/search-results.module.d.ts +17 -10
- package/lib/search/search-settings/search-settings.component.d.ts +7 -1
- package/lib/search/shared/search.service.d.ts +3 -1
- package/lib/search/shared/sources/coordinates.d.ts +1 -1
- package/lib/search/shared/sources/source.d.ts +1 -1
- package/package.json +4 -4
package/fesm2020/igo2-geo.mjs
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
2
|
import { Injectable, Component, ChangeDetectionStrategy, Input, ViewEncapsulation, Inject, NgModule, Optional, Directive, EventEmitter, Self, Output, HostListener, ViewChildren, ContentChild, ViewChild, Pipe, InjectionToken, APP_INITIALIZER, Injector } from '@angular/core';
|
|
3
|
-
import * as i1
|
|
3
|
+
import * as i1 from '@angular/common';
|
|
4
4
|
import { CommonModule } from '@angular/common';
|
|
5
5
|
import * as i7$1 from '@angular/material/badge';
|
|
6
6
|
import { MatBadgeModule } from '@angular/material/badge';
|
|
@@ -12,15 +12,15 @@ import * as i4 from '@angular/material/tooltip';
|
|
|
12
12
|
import { MatTooltipModule } from '@angular/material/tooltip';
|
|
13
13
|
import * as i5$1 from '@igo2/common';
|
|
14
14
|
import { getEntityId, getEntityTitle, getEntityProperty, getEntityRevision, getEntityIcon, EntityStore, EntityStoreStrategy, EntityStoreWatcher, SecureImagePipe, EntityTableColumnRenderer, IgoListModule, IgoCollapsibleModule, IgoImageModule, IgoPanelModule, IgoMatBadgeIconModule, IgoCustomHtmlModule, IgoEntityTableModule, IgoKeyValueModule, IgoFormModule, IgoFormFieldComponent, DOMService, EntityStoreFilterSelectionStrategy, IgoEntityModule, IgoDOMModule, DragAndDropDirective, IgoSpinnerModule, IgoDrapDropModule, IgoConfirmDialogModule, getEntityTitleHtml, EntityStoreFilterCustomFuncStrategy, IgoStopPropagationModule, IgoFlexibleModule, WidgetService, Workspace, ActionStore, IgoWidgetModule } from '@igo2/common';
|
|
15
|
-
import * as i3 from '@angular/material/button';
|
|
15
|
+
import * as i3$1 from '@angular/material/button';
|
|
16
16
|
import { MatButtonModule } from '@angular/material/button';
|
|
17
17
|
import * as i2$1 from '@igo2/core';
|
|
18
18
|
import { IgoLanguageModule, ConfigService, Media, StorageScope, IgoMessageModule, LanguageService, StorageService } from '@igo2/core';
|
|
19
|
-
import * as
|
|
19
|
+
import * as i3 from '@angular/material/dialog';
|
|
20
20
|
import { MAT_DIALOG_DATA, MatDialogModule } from '@angular/material/dialog';
|
|
21
21
|
import * as i7 from '@ngx-translate/core';
|
|
22
|
-
import { BehaviorSubject, combineLatest, of, Observable, forkJoin, Subject, interval, skipWhile as skipWhile$1, zip, EMPTY, ReplaySubject, timer, fromEvent, Subscription, throwError } from 'rxjs';
|
|
23
|
-
import { map, concatMap, first, catchError, skipWhile, debounceTime, skip, distinctUntilChanged, switchMap, take, mergeMap, debounce, takeUntil } from 'rxjs/operators';
|
|
22
|
+
import { BehaviorSubject, combineLatest, of, Observable, forkJoin, Subject, interval, skipWhile as skipWhile$1, zip, EMPTY, ReplaySubject, timer, fromEvent, Subscription, throwError, take as take$1 } from 'rxjs';
|
|
23
|
+
import { map, concatMap, first, catchError, skipWhile, debounceTime, skip, distinctUntilChanged, switchMap, take, mergeMap, debounce, takeUntil, startWith } from 'rxjs/operators';
|
|
24
24
|
import { Watcher, uuid, SubjectStatus, NumberUtils, ObjectUtils, userAgent, Clipboard, downloadContent, strEnum, ChangeUtils } from '@igo2/utils';
|
|
25
25
|
import olMap from 'ol/Map';
|
|
26
26
|
import olView from 'ol/View';
|
|
@@ -64,7 +64,7 @@ import olFormatOSMXML from 'ol/format/OSMXML';
|
|
|
64
64
|
import olSourceOSM from 'ol/source/OSM';
|
|
65
65
|
import olSourceXYZ from 'ol/source/XYZ';
|
|
66
66
|
import * as OlLoadingStrategy from 'ol/loadingstrategy';
|
|
67
|
-
import * as i1$
|
|
67
|
+
import * as i1$1 from '@angular/common/http';
|
|
68
68
|
import { HttpParams, HttpClient, HttpHeaders } from '@angular/common/http';
|
|
69
69
|
import olSourceImageWMS from 'ol/source/ImageWMS';
|
|
70
70
|
import olSourceWMTS from 'ol/source/WMTS';
|
|
@@ -96,7 +96,7 @@ import RenderFeature from 'ol/render/Feature';
|
|
|
96
96
|
import NoSleep from 'nosleep.js';
|
|
97
97
|
import { trigger, state, style, transition, animate } from '@angular/animations';
|
|
98
98
|
import { stylefunction } from 'ol-mapbox-style';
|
|
99
|
-
import * as i1$
|
|
99
|
+
import * as i1$2 from 'ngx-indexed-db';
|
|
100
100
|
import { DBMode } from 'ngx-indexed-db';
|
|
101
101
|
import { bearingToAzimuth, lineString } from '@turf/helpers';
|
|
102
102
|
import striptags from 'striptags';
|
|
@@ -160,7 +160,7 @@ import { saveAs } from 'file-saver';
|
|
|
160
160
|
import jsPDF from 'jspdf';
|
|
161
161
|
import html2canvas from 'html2canvas';
|
|
162
162
|
import JSZip from 'jszip';
|
|
163
|
-
import * as i3$
|
|
163
|
+
import * as i3$2 from '@angular/cdk/drag-drop';
|
|
164
164
|
import { moveItemInArray, DragDropModule } from '@angular/cdk/drag-drop';
|
|
165
165
|
import pointOnFeature from '@turf/point-on-feature';
|
|
166
166
|
import Collection from 'ol/Collection';
|
|
@@ -261,16 +261,16 @@ class MetadataButtonComponent {
|
|
|
261
261
|
return this.layer.options;
|
|
262
262
|
}
|
|
263
263
|
}
|
|
264
|
-
MetadataButtonComponent.ɵfac = function MetadataButtonComponent_Factory(t) { return new (t || MetadataButtonComponent)(i0.ɵɵdirectiveInject(MetadataService), i0.ɵɵdirectiveInject(
|
|
264
|
+
MetadataButtonComponent.ɵfac = function MetadataButtonComponent_Factory(t) { return new (t || MetadataButtonComponent)(i0.ɵɵdirectiveInject(MetadataService), i0.ɵɵdirectiveInject(i3.MatDialog)); };
|
|
265
265
|
MetadataButtonComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: MetadataButtonComponent, selectors: [["igo-metadata-button"]], inputs: { layer: "layer", color: "color" }, decls: 1, vars: 1, consts: [["mat-icon-button", "", "tooltip-position", "below", "matTooltipShowDelay", "500", 3, "matTooltip", "color", "click", 4, "ngIf"], ["mat-icon-button", "", "tooltip-position", "below", "matTooltipShowDelay", "500", 3, "matTooltip", "color", "click"], ["svgIcon", "information-outline"]], template: function MetadataButtonComponent_Template(rf, ctx) { if (rf & 1) {
|
|
266
266
|
i0.ɵɵtemplate(0, MetadataButtonComponent_button_0_Template, 3, 4, "button", 0);
|
|
267
267
|
} if (rf & 2) {
|
|
268
268
|
i0.ɵɵproperty("ngIf", ctx.options && ctx.options.metadata && ctx.options.metadata.url || ctx.options && ctx.options.metadata && ctx.options.metadata.abstract);
|
|
269
|
-
} }, dependencies: [i1
|
|
269
|
+
} }, dependencies: [i1.NgIf, i2.MatIcon, i3$1.MatButton, i4.MatTooltip, i7.TranslatePipe], changeDetection: 0 });
|
|
270
270
|
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(MetadataButtonComponent, [{
|
|
271
271
|
type: Component,
|
|
272
272
|
args: [{ selector: 'igo-metadata-button', changeDetection: ChangeDetectionStrategy.OnPush, template: "<button\n *ngIf=\"(options && options.metadata && options.metadata.url) || (options && options.metadata && options.metadata.abstract)\"\n mat-icon-button\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"'igo.geo.metadata.show' | translate\"\n [color]=\"color\"\n (click)=\"openMetadata(options.metadata)\">\n <mat-icon svgIcon=\"information-outline\"></mat-icon>\n</button>\n" }]
|
|
273
|
-
}], function () { return [{ type: MetadataService }, { type:
|
|
273
|
+
}], function () { return [{ type: MetadataService }, { type: i3.MatDialog }]; }, { layer: [{
|
|
274
274
|
type: Input
|
|
275
275
|
}], color: [{
|
|
276
276
|
type: Input
|
|
@@ -297,7 +297,7 @@ MetadataAbstractComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: M
|
|
|
297
297
|
i0.ɵɵproperty("ngIf", ctx.data.type !== "arcgisrest");
|
|
298
298
|
i0.ɵɵadvance(1);
|
|
299
299
|
i0.ɵɵproperty("ngIf", ctx.data.type === "arcgisrest");
|
|
300
|
-
} }, dependencies: [i1
|
|
300
|
+
} }, dependencies: [i1.NgIf, i3$1.MatButton, i3.MatDialogClose, i3.MatDialogTitle, i3.MatDialogContent], styles: [".close-button{top:5px;right:5px;padding:7px;line-height:10px;position:absolute!important;min-width:auto}mat-dialog-container{position:relative}\n"], encapsulation: 2 });
|
|
301
301
|
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(MetadataAbstractComponent, [{
|
|
302
302
|
type: Component,
|
|
303
303
|
args: [{ selector: 'igo-metadata-abstract', encapsulation: ViewEncapsulation.None, template: "<h2 mat-dialog-title>{{ data.layerTitle }}</h2>\n<button class=\"close-button\" mat-button mat-dialog-close>X</button>\n<mat-dialog-content *ngIf=\"data.type !== 'arcgisrest'\" class=\"mat-typography\">\n <h3>{{ data.abstract }}</h3>\n</mat-dialog-content>\n<mat-dialog-content *ngIf=\"data.type === 'arcgisrest'\" class=\"mat-typography\">\n <h3 [innerHTML]=\"data.abstract\"></h3>\n</mat-dialog-content>\n", styles: [".close-button{top:5px;right:5px;padding:7px;line-height:10px;position:absolute!important;min-width:auto}mat-dialog-container{position:relative}\n"] }]
|
|
@@ -1104,6 +1104,7 @@ function roundCoordToString(coord, decimal = 3) {
|
|
|
1104
1104
|
* and for the current UTM zone and MTM zone.
|
|
1105
1105
|
* @param lonLat [number, number] array of the coordinate to transform.
|
|
1106
1106
|
* @param projections Projection[] Array of destination projection.
|
|
1107
|
+
* @param reverseCoords To reverse coords from latLon to lonLat (search option)
|
|
1107
1108
|
* @returns Returns an array of converted coordinates.
|
|
1108
1109
|
*/
|
|
1109
1110
|
function lonLatConversion(lonLat, projections) {
|
|
@@ -2866,14 +2867,14 @@ class WFSService extends DataService {
|
|
|
2866
2867
|
return sourceFields;
|
|
2867
2868
|
}
|
|
2868
2869
|
}
|
|
2869
|
-
WFSService.ɵfac = function WFSService_Factory(t) { return new (t || WFSService)(i0.ɵɵinject(i1$
|
|
2870
|
+
WFSService.ɵfac = function WFSService_Factory(t) { return new (t || WFSService)(i0.ɵɵinject(i1$1.HttpClient)); };
|
|
2870
2871
|
WFSService.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: WFSService, factory: WFSService.ɵfac, providedIn: 'root' });
|
|
2871
2872
|
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(WFSService, [{
|
|
2872
2873
|
type: Injectable,
|
|
2873
2874
|
args: [{
|
|
2874
2875
|
providedIn: 'root'
|
|
2875
2876
|
}]
|
|
2876
|
-
}], function () { return [{ type: i1$
|
|
2877
|
+
}], function () { return [{ type: i1$1.HttpClient }]; }, null); })();
|
|
2877
2878
|
|
|
2878
2879
|
var QueryFormat;
|
|
2879
2880
|
(function (QueryFormat) {
|
|
@@ -4347,7 +4348,7 @@ class CapabilitiesService {
|
|
|
4347
4348
|
return legendOptions;
|
|
4348
4349
|
}
|
|
4349
4350
|
}
|
|
4350
|
-
CapabilitiesService.ɵfac = function CapabilitiesService_Factory(t) { return new (t || CapabilitiesService)(i0.ɵɵinject(i1$
|
|
4351
|
+
CapabilitiesService.ɵfac = function CapabilitiesService_Factory(t) { return new (t || CapabilitiesService)(i0.ɵɵinject(i1$1.HttpClient), i0.ɵɵinject(MapService)); };
|
|
4351
4352
|
CapabilitiesService.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: CapabilitiesService, factory: CapabilitiesService.ɵfac, providedIn: 'root' });
|
|
4352
4353
|
__decorate([
|
|
4353
4354
|
Cacheable({
|
|
@@ -4374,7 +4375,7 @@ __decorate([
|
|
|
4374
4375
|
args: [{
|
|
4375
4376
|
providedIn: 'root'
|
|
4376
4377
|
}]
|
|
4377
|
-
}], function () { return [{ type: i1$
|
|
4378
|
+
}], function () { return [{ type: i1$1.HttpClient }, { type: MapService }]; }, { getArcgisOptions: [], getImageArcgisOptions: [], getTileArcgisOptions: [], getCapabilities: [] }); })();
|
|
4378
4379
|
|
|
4379
4380
|
class OptionsService {
|
|
4380
4381
|
}
|
|
@@ -4724,14 +4725,14 @@ class OptionsApiService extends OptionsService {
|
|
|
4724
4725
|
}));
|
|
4725
4726
|
}
|
|
4726
4727
|
}
|
|
4727
|
-
OptionsApiService.ɵfac = function OptionsApiService_Factory(t) { return new (t || OptionsApiService)(i0.ɵɵinject(i1$
|
|
4728
|
+
OptionsApiService.ɵfac = function OptionsApiService_Factory(t) { return new (t || OptionsApiService)(i0.ɵɵinject(i1$1.HttpClient), i0.ɵɵinject('options')); };
|
|
4728
4729
|
OptionsApiService.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: OptionsApiService, factory: OptionsApiService.ɵfac, providedIn: 'root' });
|
|
4729
4730
|
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(OptionsApiService, [{
|
|
4730
4731
|
type: Injectable,
|
|
4731
4732
|
args: [{
|
|
4732
4733
|
providedIn: 'root'
|
|
4733
4734
|
}]
|
|
4734
|
-
}], function () { return [{ type: i1$
|
|
4735
|
+
}], function () { return [{ type: i1$1.HttpClient }, { type: undefined, decorators: [{
|
|
4735
4736
|
type: Inject,
|
|
4736
4737
|
args: ['options']
|
|
4737
4738
|
}] }]; }, null); })();
|
|
@@ -8293,7 +8294,7 @@ class IgoMap {
|
|
|
8293
8294
|
}
|
|
8294
8295
|
}
|
|
8295
8296
|
|
|
8296
|
-
const _c0$
|
|
8297
|
+
const _c0$n = ["*"];
|
|
8297
8298
|
class MapBrowserComponent {
|
|
8298
8299
|
constructor(activityService) {
|
|
8299
8300
|
this.activityService = activityService;
|
|
@@ -8339,7 +8340,7 @@ class MapBrowserComponent {
|
|
|
8339
8340
|
}
|
|
8340
8341
|
}
|
|
8341
8342
|
MapBrowserComponent.ɵfac = function MapBrowserComponent_Factory(t) { return new (t || MapBrowserComponent)(i0.ɵɵdirectiveInject(i2$1.ActivityService)); };
|
|
8342
|
-
MapBrowserComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: MapBrowserComponent, selectors: [["igo-map-browser"]], inputs: { map: "map", view: "view" }, ngContentSelectors: _c0$
|
|
8343
|
+
MapBrowserComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: MapBrowserComponent, selectors: [["igo-map-browser"]], inputs: { map: "map", view: "view" }, ngContentSelectors: _c0$n, decls: 2, vars: 1, consts: [[1, "igo-map-browser-target", 3, "id"]], template: function MapBrowserComponent_Template(rf, ctx) { if (rf & 1) {
|
|
8343
8344
|
i0.ɵɵprojectionDef();
|
|
8344
8345
|
i0.ɵɵelement(0, "div", 0);
|
|
8345
8346
|
i0.ɵɵprojection(1);
|
|
@@ -9158,7 +9159,7 @@ function computeProjectionsConstraints(projectionsLimitations) {
|
|
|
9158
9159
|
return projectionsConstraints;
|
|
9159
9160
|
}
|
|
9160
9161
|
|
|
9161
|
-
const _c0$
|
|
9162
|
+
const _c0$m = function (a0) { return { zoom: a0 }; };
|
|
9162
9163
|
class ZoomButtonComponent {
|
|
9163
9164
|
constructor() { }
|
|
9164
9165
|
get zoom() { return this.map.viewController.getZoom(); }
|
|
@@ -9179,10 +9180,10 @@ ZoomButtonComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: ZoomBut
|
|
|
9179
9180
|
i0.ɵɵelementEnd()();
|
|
9180
9181
|
} if (rf & 2) {
|
|
9181
9182
|
i0.ɵɵadvance(1);
|
|
9182
|
-
i0.ɵɵproperty("matTooltip", i0.ɵɵpipeBind2(2, 6, "igo.geo.mapButtons.zoomIn", i0.ɵɵpureFunction1(12, _c0$
|
|
9183
|
+
i0.ɵɵproperty("matTooltip", i0.ɵɵpipeBind2(2, 6, "igo.geo.mapButtons.zoomIn", i0.ɵɵpureFunction1(12, _c0$m, ctx.zoom + 1)))("color", ctx.color)("disabled", ctx.zoom >= ctx.maxZoom);
|
|
9183
9184
|
i0.ɵɵadvance(3);
|
|
9184
|
-
i0.ɵɵproperty("matTooltip", i0.ɵɵpipeBind2(5, 9, "igo.geo.mapButtons.zoomOut", i0.ɵɵpureFunction1(14, _c0$
|
|
9185
|
-
} }, dependencies: [i2.MatIcon, i3.MatButton, i4.MatTooltip, i7.TranslatePipe], styles: [".igo-zoom-button-container[_ngcontent-%COMP%]{width:40px}.igo-zoom-button-container[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{background-color:#fff}.igo-zoom-button-container[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:hover{background-color:#efefef}.igo-zoom-button-container[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:first-child{margin-bottom:2px}button[_ngcontent-%COMP%], [_nghost-%COMP%] button .mat-button-ripple-round{border-radius:0}"] });
|
|
9185
|
+
i0.ɵɵproperty("matTooltip", i0.ɵɵpipeBind2(5, 9, "igo.geo.mapButtons.zoomOut", i0.ɵɵpureFunction1(14, _c0$m, ctx.zoom - 1)))("color", ctx.color)("disabled", ctx.zoom <= ctx.minZoom);
|
|
9186
|
+
} }, dependencies: [i2.MatIcon, i3$1.MatButton, i4.MatTooltip, i7.TranslatePipe], styles: [".igo-zoom-button-container[_ngcontent-%COMP%]{width:40px}.igo-zoom-button-container[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{background-color:#fff}.igo-zoom-button-container[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:hover{background-color:#efefef}.igo-zoom-button-container[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:first-child{margin-bottom:2px}button[_ngcontent-%COMP%], [_nghost-%COMP%] button .mat-button-ripple-round{border-radius:0}"] });
|
|
9186
9187
|
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ZoomButtonComponent, [{
|
|
9187
9188
|
type: Component,
|
|
9188
9189
|
args: [{ selector: 'igo-zoom-button', template: "<div class=\"igo-zoom-button-container\">\n <button\n mat-icon-button\n [matTooltip]=\"'igo.geo.mapButtons.zoomIn' | translate: {zoom: zoom + 1}\"\n matTooltipPosition=\"left\"\n [color]=\"color\"\n [disabled]=\"zoom >= maxZoom\"\n (click)=\"map.viewController.zoomIn()\">\n <mat-icon svgIcon=\"plus\"></mat-icon>\n </button>\n\n <button\n mat-icon-button\n [matTooltip]=\"'igo.geo.mapButtons.zoomOut' | translate: {zoom: zoom - 1}\"\n matTooltipPosition=\"left\"\n [color]=\"color\"\n [disabled]=\"zoom <= minZoom\"\n (click)=\"map.viewController.zoomOut()\">\n <mat-icon svgIcon=\"minus\"></mat-icon>\n </button>\n</div>\n", styles: [".igo-zoom-button-container{width:40px}.igo-zoom-button-container button{background-color:#fff}.igo-zoom-button-container button:hover{background-color:#efefef}.igo-zoom-button-container button:first-child{margin-bottom:2px}button,:host ::ng-deep button .mat-button-ripple-round{border-radius:0}\n"] }]
|
|
@@ -9236,7 +9237,7 @@ MenuButtonComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: MenuBut
|
|
|
9236
9237
|
i0.ɵɵelementEnd();
|
|
9237
9238
|
} if (rf & 2) {
|
|
9238
9239
|
i0.ɵɵproperty("ngClass", ctx.menuButtonClass)("matTooltip", i0.ɵɵpipeBind1(1, 2, ctx.sidenavOpened ? "menu.close" : "menu.open"));
|
|
9239
|
-
} }, dependencies: [i1
|
|
9240
|
+
} }, dependencies: [i1.NgClass, i2.MatIcon, i3$1.MatButton, i4.MatTooltip, i7.TranslatePipe], styles: ["#menu-button[_ngcontent-%COMP%]{background-color:#fff;border-radius:0;left:5px;top:5px}#menu-button.menu-button-reverse-color[_ngcontent-%COMP%]{height:40px;border-radius:0;height:45px;width:48px;left:0px;top:3px}#menu-button.menu-button-reverse-color-close[_ngcontent-%COMP%]{border-radius:0;left:5px;top:5px}mat-icon.disabled[_ngcontent-%COMP%]{color:#00000061}#menu-button[_ngcontent-%COMP%] div.mat-button-ripple-round{border-radius:0}"] });
|
|
9240
9241
|
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(MenuButtonComponent, [{
|
|
9241
9242
|
type: Component,
|
|
9242
9243
|
args: [{ selector: 'igo-menu-button', template: "<button\n mat-icon-button\n id= \"menu-button\"\n [ngClass]=\"menuButtonClass\"\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"(sidenavOpened ? 'menu.close' : 'menu.open') | translate\"\n (click)=\"onToggleSidenavClick()\">\n <mat-icon svgIcon=\"menu\"></mat-icon>\n</button>\n", styles: ["#menu-button{background-color:#fff;border-radius:0;left:5px;top:5px}#menu-button.menu-button-reverse-color{height:40px;border-radius:0;height:45px;width:48px;left:0px;top:3px}#menu-button.menu-button-reverse-color-close{border-radius:0;left:5px;top:5px}mat-icon.disabled{color:#00000061}#menu-button ::ng-deep div.mat-button-ripple-round{border-radius:0}\n"] }]
|
|
@@ -9306,7 +9307,7 @@ GeolocateButtonComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: Ge
|
|
|
9306
9307
|
i0.ɵɵtemplate(0, GeolocateButtonComponent_div_0_Template, 6, 9, "div", 0);
|
|
9307
9308
|
} if (rf & 2) {
|
|
9308
9309
|
i0.ɵɵproperty("ngIf", ctx.map.geolocationController);
|
|
9309
|
-
} }, dependencies: [i1
|
|
9310
|
+
} }, dependencies: [i1.NgIf, i2.MatIcon, i3$1.MatButton, i4.MatTooltip, i1.AsyncPipe, i7.TranslatePipe], styles: [".igo-geolocate-button-container[_ngcontent-%COMP%]{width:40px;background-color:#fff}.igo-geolocate-button-container[_ngcontent-%COMP%]:hover{background-color:#efefef}button[_ngcontent-%COMP%], [_nghost-%COMP%] button .mat-button-ripple-round{border-radius:0}"] });
|
|
9310
9311
|
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(GeolocateButtonComponent, [{
|
|
9311
9312
|
type: Component,
|
|
9312
9313
|
args: [{ selector: 'igo-geolocate-button', template: "<div class=\"igo-geolocate-button-container\" *ngIf=\"map.geolocationController\">\n <button\n mat-icon-button\n [matTooltip]=\"map.geolocationController.tracking ? ('igo.geo.mapButtons.geolocateInactive' | translate) :('igo.geo.mapButtons.geolocate' | translate)\"\n matTooltipPosition=\"left\"\n [color]=\"color\"\n (click)=\"onGeolocationClick()\">\n <mat-icon svgIcon=\"{{icon$ | async}}\"></mat-icon>\n </button>\n</div>\n", styles: [".igo-geolocate-button-container{width:40px;background-color:#fff}.igo-geolocate-button-container:hover{background-color:#efefef}button,:host ::ng-deep button .mat-button-ripple-round{border-radius:0}\n"] }]
|
|
@@ -9355,7 +9356,7 @@ HomeExtentButtonComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: H
|
|
|
9355
9356
|
} if (rf & 2) {
|
|
9356
9357
|
i0.ɵɵadvance(1);
|
|
9357
9358
|
i0.ɵɵproperty("matTooltip", i0.ɵɵpipeBind1(2, 2, "igo.geo.mapButtons.home-extent"))("color", ctx.color);
|
|
9358
|
-
} }, dependencies: [i2.MatIcon, i3.MatButton, i4.MatTooltip, i7.TranslatePipe], styles: ["@charset \"UTF-8\";.igo-home-extent-button-container[_ngcontent-%COMP%]{width:40px;background-color:#fff}\\a0[_ngcontent-%COMP%] .igo-home-extent-button-container[_ngcontent-%COMP%]:hover{background-color:#efefef}button[_ngcontent-%COMP%], [_nghost-%COMP%] button .mat-button-ripple-round{border-radius:0}"] });
|
|
9359
|
+
} }, dependencies: [i2.MatIcon, i3$1.MatButton, i4.MatTooltip, i7.TranslatePipe], styles: ["@charset \"UTF-8\";.igo-home-extent-button-container[_ngcontent-%COMP%]{width:40px;background-color:#fff}\\a0[_ngcontent-%COMP%] .igo-home-extent-button-container[_ngcontent-%COMP%]:hover{background-color:#efefef}button[_ngcontent-%COMP%], [_nghost-%COMP%] button .mat-button-ripple-round{border-radius:0}"] });
|
|
9359
9360
|
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(HomeExtentButtonComponent, [{
|
|
9360
9361
|
type: Component,
|
|
9361
9362
|
args: [{ selector: 'igo-home-extent-button', template: "<div class=\"igo-home-extent-button-container\"><button\r\n \u00A0 \u00A0 mat-icon-button\r\n \u00A0 \u00A0 [matTooltip]=\"'igo.geo.mapButtons.home-extent' | translate\"\r\n matTooltipPosition=\"left\"\r\n \u00A0 \u00A0 [color]=\"color\"\r\n \u00A0 \u00A0 (click)=\"onToggleClick()\"><mat-icon svgIcon = \"home-map-marker\"></mat-icon></button></div>\r\n", styles: ["@charset \"UTF-8\";.igo-home-extent-button-container{width:40px;background-color:#fff}\\a0 .igo-home-extent-button-container:hover{background-color:#efefef}button,:host ::ng-deep button .mat-button-ripple-round{border-radius:0}\n"] }]
|
|
@@ -9371,7 +9372,7 @@ HomeExtentButtonComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: H
|
|
|
9371
9372
|
type: Input
|
|
9372
9373
|
}] }); })();
|
|
9373
9374
|
|
|
9374
|
-
const _c0$
|
|
9375
|
+
const _c0$l = function (a0) { return [a0]; };
|
|
9375
9376
|
function OfflineButtonComponent_div_0_Template(rf, ctx) { if (rf & 1) {
|
|
9376
9377
|
const _r2 = i0.ɵɵgetCurrentView();
|
|
9377
9378
|
i0.ɵɵelementStart(0, "div", 1)(1, "div")(2, "button", 2);
|
|
@@ -9383,7 +9384,7 @@ function OfflineButtonComponent_div_0_Template(rf, ctx) { if (rf & 1) {
|
|
|
9383
9384
|
} if (rf & 2) {
|
|
9384
9385
|
const ctx_r0 = i0.ɵɵnextContext();
|
|
9385
9386
|
i0.ɵɵadvance(2);
|
|
9386
|
-
i0.ɵɵproperty("matTooltip", ctx_r0.checked ? i0.ɵɵpipeBind1(3, 3, "igo.geo.mapButtons.online") : i0.ɵɵpipeBind1(4, 5, "igo.geo.mapButtons.offline"))("ngClass", i0.ɵɵpureFunction1(7, _c0$
|
|
9387
|
+
i0.ɵɵproperty("matTooltip", ctx_r0.checked ? i0.ɵɵpipeBind1(3, 3, "igo.geo.mapButtons.online") : i0.ɵɵpipeBind1(4, 5, "igo.geo.mapButtons.offline"))("ngClass", i0.ɵɵpureFunction1(7, _c0$l, ctx_r0.btnStyle))("color", ctx_r0.checked ? ctx_r0.color : i0.ɵɵpureFunction1(9, _c0$l, ctx_r0.colorOff));
|
|
9387
9388
|
} }
|
|
9388
9389
|
class OfflineButtonComponent {
|
|
9389
9390
|
constructor(config) {
|
|
@@ -9425,7 +9426,7 @@ OfflineButtonComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: Offl
|
|
|
9425
9426
|
i0.ɵɵtemplate(0, OfflineButtonComponent_div_0_Template, 6, 11, "div", 0);
|
|
9426
9427
|
} if (rf & 2) {
|
|
9427
9428
|
i0.ɵɵproperty("ngIf", ctx.visible);
|
|
9428
|
-
} }, dependencies: [i1
|
|
9429
|
+
} }, dependencies: [i1.NgClass, i1.NgIf, i2.MatIcon, i3$1.MatButton, i4.MatTooltip, i7.TranslatePipe], styles: [".baseStyle[_ngcontent-%COMP%]{width:40px;background-color:#fff}.baseStyle[_ngcontent-%COMP%]:hover{background-color:#efefef}.toggleStyle[_ngcontent-%COMP%]{width:40px;background-color:#b9b9b9}button[_ngcontent-%COMP%], [_nghost-%COMP%] button .mat-button-ripple-round{border-radius:0}"] });
|
|
9429
9430
|
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(OfflineButtonComponent, [{
|
|
9430
9431
|
type: Component,
|
|
9431
9432
|
args: [{ selector: 'igo-offline-button', template: "<div *ngIf=\"visible\" class=\"igo-user-button-container\">\n <div>\n <button\n mat-icon-button\n [matTooltip]=\"checked ? ('igo.geo.mapButtons.online' | translate): ('igo.geo.mapButtons.offline' | translate)\"\n matTooltipPosition=\"left\"\n [ngClass]=\"[btnStyle]\"\n [color]=\"checked ? color : [colorOff]\"\n (click)=\"onToggle()\"\n (click)=\"map.onOfflineToggle(check)\">\n <mat-icon svgIcon=\"wifi-strength-off\"></mat-icon>\n </button>\n </div>\n</div>", styles: [".baseStyle{width:40px;background-color:#fff}.baseStyle:hover{background-color:#efefef}.toggleStyle{width:40px;background-color:#b9b9b9}button,:host ::ng-deep button .mat-button-ripple-round{border-radius:0}\n"] }]
|
|
@@ -9530,7 +9531,7 @@ WakeLockButtonComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: Wak
|
|
|
9530
9531
|
i0.ɵɵtemplate(0, WakeLockButtonComponent_div_0_Template, 7, 9, "div", 0);
|
|
9531
9532
|
} if (rf & 2) {
|
|
9532
9533
|
i0.ɵɵproperty("ngIf", ctx.visible);
|
|
9533
|
-
} }, dependencies: [i1
|
|
9534
|
+
} }, dependencies: [i1.NgIf, i2.MatIcon, i3$1.MatButton, i4.MatTooltip, i1.AsyncPipe, i7.TranslatePipe], styles: [".igo-wake-lock-button-container[_ngcontent-%COMP%]{width:40px;background-color:#fff}.igo-wake-lock-button-container[_ngcontent-%COMP%]:hover{background-color:#efefef}button[_ngcontent-%COMP%], [_nghost-%COMP%] button .mat-button-ripple-round{border-radius:0}"] });
|
|
9534
9535
|
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(WakeLockButtonComponent, [{
|
|
9535
9536
|
type: Component,
|
|
9536
9537
|
args: [{ selector: 'igo-wake-lock-button', template: "<div *ngIf=\"visible\" class=\"igo-wake-lock-button-container\">\n <div>\n <button \n [color]=\"color\"\n mat-icon-button\n [matTooltip]=\"enabled ? ('igo.geo.mapButtons.preventSreenLock' | translate): ('igo.geo.mapButtons.letScreenLock' | translate)\"\n matTooltipPosition=\"left\"\n (click)=\"toggleWakeLock()\">\n <mat-icon svgIcon=\"{{icon$ | async}}\"></mat-icon>\n </button>\n </div>\n</div>", styles: [".igo-wake-lock-button-container{width:40px;background-color:#fff}.igo-wake-lock-button-container:hover{background-color:#efefef}button,:host ::ng-deep button .mat-button-ripple-round{border-radius:0}\n"] }]
|
|
@@ -9579,7 +9580,7 @@ function BaseLayersSwitcherComponent_div_0_igo_mini_basemap_2_Template(rf, ctx)
|
|
|
9579
9580
|
const ctx_r2 = i0.ɵɵnextContext(2);
|
|
9580
9581
|
i0.ɵɵproperty("map", ctx_r2.map)("baseLayer", baseLayer_r3)("title", ctx_r2.baseLayers.length > 2 && !ctx_r2.expand ? i0.ɵɵpipeBind1(1, 5, "igo.geo.baselayersSwitcher.title") : baseLayer_r3.title)("display", ctx_r2.expand || i_r4 === 0 && !ctx_r2.useStaticIcon)("disabled", !ctx_r2.expand && ctx_r2.baseLayers.length > 1);
|
|
9581
9582
|
} }
|
|
9582
|
-
const _c0$
|
|
9583
|
+
const _c0$k = function (a0) { return { "container-expand": a0 }; };
|
|
9583
9584
|
function BaseLayersSwitcherComponent_div_0_Template(rf, ctx) { if (rf & 1) {
|
|
9584
9585
|
const _r6 = i0.ɵɵgetCurrentView();
|
|
9585
9586
|
i0.ɵɵelementStart(0, "div", 1);
|
|
@@ -9591,7 +9592,7 @@ function BaseLayersSwitcherComponent_div_0_Template(rf, ctx) { if (rf & 1) {
|
|
|
9591
9592
|
i0.ɵɵelementEnd()();
|
|
9592
9593
|
} if (rf & 2) {
|
|
9593
9594
|
const ctx_r0 = i0.ɵɵnextContext();
|
|
9594
|
-
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(4, _c0$
|
|
9595
|
+
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(4, _c0$k, ctx_r0.expand))("@baseLayerSwitcherState", ctx_r0.expand ? "expand" : ctx_r0.useStaticIcon ? "collapseIcon" : "collapseMap");
|
|
9595
9596
|
i0.ɵɵadvance(1);
|
|
9596
9597
|
i0.ɵɵproperty("ngIf", ctx_r0.useStaticIcon && !ctx_r0.expand && ctx_r0.showButton);
|
|
9597
9598
|
i0.ɵɵadvance(1);
|
|
@@ -9804,14 +9805,14 @@ class GeoDBService {
|
|
|
9804
9805
|
return this._newData;
|
|
9805
9806
|
}
|
|
9806
9807
|
}
|
|
9807
|
-
GeoDBService.ɵfac = function GeoDBService_Factory(t) { return new (t || GeoDBService)(i0.ɵɵinject(i1$
|
|
9808
|
+
GeoDBService.ɵfac = function GeoDBService_Factory(t) { return new (t || GeoDBService)(i0.ɵɵinject(i1$2.NgxIndexedDBService), i0.ɵɵinject(i2$1.CompressionService)); };
|
|
9808
9809
|
GeoDBService.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: GeoDBService, factory: GeoDBService.ɵfac, providedIn: 'root' });
|
|
9809
9810
|
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(GeoDBService, [{
|
|
9810
9811
|
type: Injectable,
|
|
9811
9812
|
args: [{
|
|
9812
9813
|
providedIn: 'root'
|
|
9813
9814
|
}]
|
|
9814
|
-
}], function () { return [{ type: i1$
|
|
9815
|
+
}], function () { return [{ type: i1$2.NgxIndexedDBService }, { type: i2$1.CompressionService }]; }, null); })();
|
|
9815
9816
|
|
|
9816
9817
|
var ResponseType;
|
|
9817
9818
|
(function (ResponseType) {
|
|
@@ -9865,14 +9866,14 @@ class GeoNetworkService {
|
|
|
9865
9866
|
return this.networkOnline && window.navigator.onLine;
|
|
9866
9867
|
}
|
|
9867
9868
|
}
|
|
9868
|
-
GeoNetworkService.ɵfac = function GeoNetworkService_Factory(t) { return new (t || GeoNetworkService)(i0.ɵɵinject(i1$
|
|
9869
|
+
GeoNetworkService.ɵfac = function GeoNetworkService_Factory(t) { return new (t || GeoNetworkService)(i0.ɵɵinject(i1$1.HttpClient), i0.ɵɵinject(GeoDBService), i0.ɵɵinject(i2$1.NetworkService)); };
|
|
9869
9870
|
GeoNetworkService.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: GeoNetworkService, factory: GeoNetworkService.ɵfac, providedIn: 'root' });
|
|
9870
9871
|
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(GeoNetworkService, [{
|
|
9871
9872
|
type: Injectable,
|
|
9872
9873
|
args: [{
|
|
9873
9874
|
providedIn: 'root'
|
|
9874
9875
|
}]
|
|
9875
|
-
}], function () { return [{ type: i1$
|
|
9876
|
+
}], function () { return [{ type: i1$1.HttpClient }, { type: GeoDBService }, { type: i2$1.NetworkService }]; }, null); })();
|
|
9876
9877
|
|
|
9877
9878
|
class LayerService {
|
|
9878
9879
|
constructor(http, styleService, dataSourceService, geoNetwork, messageService, languageService, authInterceptor) {
|
|
@@ -10034,14 +10035,14 @@ class LayerService {
|
|
|
10034
10035
|
}
|
|
10035
10036
|
}
|
|
10036
10037
|
}
|
|
10037
|
-
LayerService.ɵfac = function LayerService_Factory(t) { return new (t || LayerService)(i0.ɵɵinject(i1$
|
|
10038
|
+
LayerService.ɵfac = function LayerService_Factory(t) { return new (t || LayerService)(i0.ɵɵinject(i1$1.HttpClient), i0.ɵɵinject(StyleService), i0.ɵɵinject(DataSourceService), i0.ɵɵinject(GeoNetworkService), i0.ɵɵinject(i2$1.MessageService), i0.ɵɵinject(i2$1.LanguageService), i0.ɵɵinject(i6.AuthInterceptor, 8)); };
|
|
10038
10039
|
LayerService.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: LayerService, factory: LayerService.ɵfac, providedIn: 'root' });
|
|
10039
10040
|
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(LayerService, [{
|
|
10040
10041
|
type: Injectable,
|
|
10041
10042
|
args: [{
|
|
10042
10043
|
providedIn: 'root'
|
|
10043
10044
|
}]
|
|
10044
|
-
}], function () { return [{ type: i1$
|
|
10045
|
+
}], function () { return [{ type: i1$1.HttpClient }, { type: StyleService }, { type: DataSourceService }, { type: GeoNetworkService }, { type: i2$1.MessageService }, { type: i2$1.LanguageService }, { type: i6.AuthInterceptor, decorators: [{
|
|
10045
10046
|
type: Optional
|
|
10046
10047
|
}] }]; }, null); })();
|
|
10047
10048
|
|
|
@@ -10069,14 +10070,23 @@ function MiniBaseMapComponent_div_1_Template(rf, ctx) { if (rf & 1) {
|
|
|
10069
10070
|
i0.ɵɵproperty("ngIf", ctx_r0.title);
|
|
10070
10071
|
} }
|
|
10071
10072
|
class MiniBaseMapComponent {
|
|
10072
|
-
constructor(layerService, appRef) {
|
|
10073
|
+
constructor(layerService, appRef, cdRef) {
|
|
10073
10074
|
this.layerService = layerService;
|
|
10074
10075
|
this.appRef = appRef;
|
|
10076
|
+
this.cdRef = cdRef;
|
|
10075
10077
|
this.basemap = new IgoMap({
|
|
10076
10078
|
controls: {},
|
|
10077
10079
|
interactions: false
|
|
10078
10080
|
});
|
|
10079
10081
|
}
|
|
10082
|
+
get display() {
|
|
10083
|
+
return this._display;
|
|
10084
|
+
}
|
|
10085
|
+
set display(value) {
|
|
10086
|
+
this._display = value;
|
|
10087
|
+
this.cdRef.detectChanges();
|
|
10088
|
+
this.basemap.ol.getView().changed();
|
|
10089
|
+
}
|
|
10080
10090
|
get baseLayer() {
|
|
10081
10091
|
return this._baseLayer;
|
|
10082
10092
|
}
|
|
@@ -10150,8 +10160,8 @@ class MiniBaseMapComponent {
|
|
|
10150
10160
|
}
|
|
10151
10161
|
}
|
|
10152
10162
|
}
|
|
10153
|
-
MiniBaseMapComponent.ɵfac = function MiniBaseMapComponent_Factory(t) { return new (t || MiniBaseMapComponent)(i0.ɵɵdirectiveInject(LayerService), i0.ɵɵdirectiveInject(i0.ApplicationRef)); };
|
|
10154
|
-
MiniBaseMapComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: MiniBaseMapComponent, selectors: [["igo-mini-basemap"]], inputs: { map: "map", disabled: "disabled",
|
|
10163
|
+
MiniBaseMapComponent.ɵfac = function MiniBaseMapComponent_Factory(t) { return new (t || MiniBaseMapComponent)(i0.ɵɵdirectiveInject(LayerService), i0.ɵɵdirectiveInject(i0.ApplicationRef), i0.ɵɵdirectiveInject(i0.ChangeDetectorRef)); };
|
|
10164
|
+
MiniBaseMapComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: MiniBaseMapComponent, selectors: [["igo-mini-basemap"]], inputs: { map: "map", disabled: "disabled", title: "title", display: "display", baseLayer: "baseLayer" }, decls: 2, vars: 1, consts: [[1, "igo-mini-basemap-container"], [3, "click", 4, "ngIf"], [3, "click"], [3, "map"], ["class", "igo-mini-basemap-title", 4, "ngIf"], [1, "igo-mini-basemap-title"]], template: function MiniBaseMapComponent_Template(rf, ctx) { if (rf & 1) {
|
|
10155
10165
|
i0.ɵɵelementStart(0, "div", 0);
|
|
10156
10166
|
i0.ɵɵtemplate(1, MiniBaseMapComponent_div_1_Template, 3, 2, "div", 1);
|
|
10157
10167
|
i0.ɵɵelementEnd();
|
|
@@ -10162,19 +10172,19 @@ MiniBaseMapComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: MiniBa
|
|
|
10162
10172
|
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(MiniBaseMapComponent, [{
|
|
10163
10173
|
type: Component,
|
|
10164
10174
|
args: [{ selector: 'igo-mini-basemap', template: "<div class=\"igo-mini-basemap-container\">\n\n <div *ngIf=\"display\" (click)=\"changeBaseLayer(baseLayer)\">\n <igo-map-browser [map]=\"basemap\"></igo-map-browser>\n <div *ngIf='title' class='igo-mini-basemap-title'> {{title}} </div>\n </div>\n\n</div>\n", styles: [".igo-mini-basemap-container{width:80px;height:80px;background-color:#ffffff03;border:2px solid white;box-shadow:0 1px 4px #0000004d;cursor:pointer;margin-top:5px}.igo-mini-basemap-container:hover .igo-mini-basemap-title{color:#000;text-shadow:0 0 5px white}.igo-mini-basemap-container>div{width:100%;height:100%}.igo-mini-basemap-title{position:relative;top:-76px;height:76px;width:76px;text-align:center;vertical-align:bottom;color:#fff;text-shadow:0 0 5px black;white-space:normal;display:flex;align-items:flex-end;justify-content:center}\n"] }]
|
|
10165
|
-
}], function () { return [{ type: LayerService }, { type: i0.ApplicationRef }]; }, { map: [{
|
|
10175
|
+
}], function () { return [{ type: LayerService }, { type: i0.ApplicationRef }, { type: i0.ChangeDetectorRef }]; }, { map: [{
|
|
10166
10176
|
type: Input
|
|
10167
10177
|
}], disabled: [{
|
|
10168
10178
|
type: Input
|
|
10169
|
-
}], display: [{
|
|
10170
|
-
type: Input
|
|
10171
10179
|
}], title: [{
|
|
10172
10180
|
type: Input
|
|
10181
|
+
}], display: [{
|
|
10182
|
+
type: Input
|
|
10173
10183
|
}], baseLayer: [{
|
|
10174
10184
|
type: Input
|
|
10175
10185
|
}] }); })();
|
|
10176
10186
|
|
|
10177
|
-
const _c0$
|
|
10187
|
+
const _c0$j = function (a0, a1) { return { azimuth: a0, rotation: a1 }; };
|
|
10178
10188
|
function RotationButtonComponent_div_0_Template(rf, ctx) { if (rf & 1) {
|
|
10179
10189
|
const _r2 = i0.ɵɵgetCurrentView();
|
|
10180
10190
|
i0.ɵɵelementStart(0, "div", 1);
|
|
@@ -10189,7 +10199,7 @@ function RotationButtonComponent_div_0_Template(rf, ctx) { if (rf & 1) {
|
|
|
10189
10199
|
i0.ɵɵelementEnd()();
|
|
10190
10200
|
} if (rf & 2) {
|
|
10191
10201
|
const ctx_r0 = i0.ɵɵnextContext();
|
|
10192
|
-
i0.ɵɵproperty("matTooltip", i0.ɵɵpipeBind1(1, 4, ctx_r0.rotated$) ? i0.ɵɵpipeBind2(2, 6, "igo.geo.mapButtons.resetRotation", i0.ɵɵpureFunction2(15, _c0$
|
|
10202
|
+
i0.ɵɵproperty("matTooltip", i0.ɵɵpipeBind1(1, 4, ctx_r0.rotated$) ? i0.ɵɵpipeBind2(2, 6, "igo.geo.mapButtons.resetRotation", i0.ɵɵpureFunction2(15, _c0$j, ctx_r0.azimuthRounded, ctx_r0.rotationRounded)) : i0.ɵɵpipeBind1(3, 9, "igo.geo.mapButtons.tipRotation"));
|
|
10193
10203
|
i0.ɵɵadvance(4);
|
|
10194
10204
|
i0.ɵɵproperty("color", ctx_r0.color)("disabled", i0.ɵɵpipeBind1(5, 11, ctx_r0.rotated$) === false);
|
|
10195
10205
|
i0.ɵɵadvance(2);
|
|
@@ -10223,7 +10233,7 @@ RotationButtonComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: Rot
|
|
|
10223
10233
|
i0.ɵɵpipe(1, "async");
|
|
10224
10234
|
} if (rf & 2) {
|
|
10225
10235
|
i0.ɵɵproperty("ngIf", i0.ɵɵpipeBind1(1, 1, ctx.rotated$) && !ctx.showIfNoRotation || ctx.showIfNoRotation);
|
|
10226
|
-
} }, dependencies: [i1
|
|
10236
|
+
} }, dependencies: [i1.NgIf, i1.NgStyle, i2.MatIcon, i3$1.MatButton, i4.MatTooltip, i1.AsyncPipe, i7.TranslatePipe], styles: [".igo-rotation-button-container[_ngcontent-%COMP%]{width:40px;background-color:#fff}.igo-rotation-button-container[_ngcontent-%COMP%]:hover{background-color:#efefef}button[_ngcontent-%COMP%], [_nghost-%COMP%] button .mat-button-ripple-round{border-radius:0}@media only screen and (orientation:portrait) and (max-width: 599px),only screen and (orientation:landscape) and (max-width: 959px){button[_ngcontent-%COMP%]:disabled, [_nghost-%COMP%] button .mat-button-ripple-round:disabled{display:none}}"] });
|
|
10227
10237
|
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(RotationButtonComponent, [{
|
|
10228
10238
|
type: Component,
|
|
10229
10239
|
args: [{ selector: 'igo-rotation-button', template: "<div *ngIf=\"((rotated$ | async) && !showIfNoRotation) || showIfNoRotation\" class=\"igo-rotation-button-container\"\n [matTooltip]=\"(rotated$ | async) ? ('igo.geo.mapButtons.resetRotation' | translate: {azimuth: azimuthRounded, rotation: rotationRounded}): ('igo.geo.mapButtons.tipRotation' | translate)\"\n matTooltipPosition=\"left\">\n <button mat-icon-button matTooltipPosition=\"left\" [color]=\"color\" [disabled]=\"(rotated$ | async) === false\"\n (click)=\"map.viewController.resetRotation()\">\n <mat-icon [ngStyle]=\"currentStyle$ | async\" svgIcon=\"navigation\">\n </mat-icon>\n </button>\n</div>\n", styles: [".igo-rotation-button-container{width:40px;background-color:#fff}.igo-rotation-button-container:hover{background-color:#efefef}button,:host ::ng-deep button .mat-button-ripple-round{border-radius:0}@media only screen and (orientation:portrait) and (max-width: 599px),only screen and (orientation:landscape) and (max-width: 959px){button:disabled,:host ::ng-deep button .mat-button-ripple-round:disabled{display:none}}\n"] }]
|
|
@@ -10492,7 +10502,7 @@ InfoSectionComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: InfoSe
|
|
|
10492
10502
|
i0.ɵɵtemplate(0, InfoSectionComponent_div_0_Template, 3, 1, "div", 0);
|
|
10493
10503
|
} if (rf & 2) {
|
|
10494
10504
|
i0.ɵɵproperty("ngIf", ctx.infoContent && ctx.infoContent.length);
|
|
10495
|
-
} }, dependencies: [i1
|
|
10505
|
+
} }, dependencies: [i1.NgIf], styles: [".infoSection[_ngcontent-%COMP%]{border-radius:10px;background-color:#6e6e6e66;padding:2.5px;position:absolute;text-align:center;top:5px;left:50%;text-shadow:0 0 5px white,0 0 10px white,0 0 15px white}@media only screen and (orientation:portrait) and (max-width: 599px),only screen and (orientation:landscape) and (max-width: 959px){.infoSection[_ngcontent-%COMP%]{top:50px;left:10%}}"] });
|
|
10496
10506
|
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(InfoSectionComponent, [{
|
|
10497
10507
|
type: Component,
|
|
10498
10508
|
args: [{ selector: 'igo-info-section', template: "<div *ngIf=\"infoContent && infoContent.length\" class=\"infoSection\">\n <pre>{{infoContent}}</pre>\n</div>", styles: [".infoSection{border-radius:10px;background-color:#6e6e6e66;padding:2.5px;position:absolute;text-align:center;top:5px;left:50%;text-shadow:0 0 5px white,0 0 10px white,0 0 15px white}@media only screen and (orientation:portrait) and (max-width: 599px),only screen and (orientation:landscape) and (max-width: 959px){.infoSection{top:50px;left:10%}}\n"] }]
|
|
@@ -10626,29 +10636,119 @@ class QueryService {
|
|
|
10626
10636
|
this.messageService.remove(id);
|
|
10627
10637
|
});
|
|
10628
10638
|
}
|
|
10629
|
-
|
|
10630
|
-
.filter((layer) => layer.visible && layer.isInResolutionsRange)
|
|
10639
|
+
const newLayers = layers.filter((layer) => layer.visible && layer.isInResolutionsRange)
|
|
10631
10640
|
.map((layer) => this.queryLayer(layer, options));
|
|
10641
|
+
// the directive accept array in this format [observable, observable...]
|
|
10642
|
+
// if we use multiple 'url' in queryUrl so the result => this form [observable, observable, [observable, observable]]
|
|
10643
|
+
// so we need to flat the array
|
|
10644
|
+
let flatArray = [].concat.apply([], newLayers);
|
|
10645
|
+
return flatArray;
|
|
10632
10646
|
}
|
|
10633
10647
|
queryLayer(layer, options) {
|
|
10634
10648
|
const url = this.getQueryUrl(layer.dataSource, options, false, layer.map.viewController.getExtent());
|
|
10635
10649
|
if (!url) {
|
|
10636
10650
|
return of([]);
|
|
10637
10651
|
}
|
|
10638
|
-
|
|
10639
|
-
|
|
10640
|
-
|
|
10641
|
-
|
|
10642
|
-
const
|
|
10643
|
-
|
|
10644
|
-
|
|
10645
|
-
|
|
10646
|
-
|
|
10647
|
-
|
|
10648
|
-
|
|
10652
|
+
const resolution = layer.map.viewController.getResolution();
|
|
10653
|
+
const scale = layer.map.viewController.getScale();
|
|
10654
|
+
if (layer.dataSource.options.queryFormat === QueryFormat.HTMLGML2) {
|
|
10655
|
+
if (typeof url === 'string') {
|
|
10656
|
+
const urlGml = this.getQueryUrl(layer.dataSource, options, true);
|
|
10657
|
+
return this.http.get(urlGml, { responseType: 'text' }).pipe(mergeMap(gmlRes => {
|
|
10658
|
+
const mergedGML = this.mergeGML(gmlRes, url, layer);
|
|
10659
|
+
const imposedGeom = mergedGML[0];
|
|
10660
|
+
const imposedProperties = mergedGML[1];
|
|
10661
|
+
return this.http
|
|
10662
|
+
.get(url, { responseType: 'text' })
|
|
10663
|
+
.pipe(map(res => this.extractData(res, layer, options, url, imposedGeom, imposedProperties)));
|
|
10664
|
+
}));
|
|
10665
|
+
}
|
|
10666
|
+
const urlGmls = this.getQueryUrl(layer.dataSource, options, true);
|
|
10667
|
+
let observables = [];
|
|
10668
|
+
for (let i = 0; i < urlGmls.length; i++) {
|
|
10669
|
+
const element = urlGmls[i];
|
|
10670
|
+
if (this.checkScaleAndResolution(resolution, scale, element)) {
|
|
10671
|
+
observables.push(this.requestDataForHTMLGML2(element.url, url[i].url, layer, options));
|
|
10672
|
+
}
|
|
10673
|
+
}
|
|
10674
|
+
return observables;
|
|
10675
|
+
}
|
|
10676
|
+
else {
|
|
10677
|
+
if (typeof url === 'string') {
|
|
10678
|
+
const request = this.http.get(url, { responseType: 'text' });
|
|
10679
|
+
return request.pipe(map(res => this.extractData(res, layer, options, url)));
|
|
10680
|
+
}
|
|
10681
|
+
let observables = [];
|
|
10682
|
+
for (let i = 0; i < url.length; i++) {
|
|
10683
|
+
const element = url[i];
|
|
10684
|
+
if (this.checkScaleAndResolution(resolution, scale, element)) {
|
|
10685
|
+
const request = this.http.get(element.url, { responseType: 'text' });
|
|
10686
|
+
observables.push(request.pipe(map(res => this.extractData(res, layer, options, element.url))));
|
|
10687
|
+
}
|
|
10688
|
+
}
|
|
10689
|
+
return observables;
|
|
10690
|
+
}
|
|
10691
|
+
}
|
|
10692
|
+
requestDataForHTMLGML2(urlGml, url, layer, options) {
|
|
10693
|
+
return this.http.get(urlGml, { responseType: 'text' }).pipe(mergeMap(gmlRes => {
|
|
10694
|
+
const mergedGML = this.mergeGML(gmlRes, url, layer);
|
|
10695
|
+
const imposedGeom = mergedGML[0];
|
|
10696
|
+
const imposedProperties = mergedGML[1];
|
|
10697
|
+
return this.http
|
|
10698
|
+
.get(url, { responseType: 'text' })
|
|
10699
|
+
.pipe(map(res => this.extractData(res, layer, options, url, imposedGeom, imposedProperties)));
|
|
10700
|
+
}));
|
|
10701
|
+
}
|
|
10702
|
+
checkScaleAndResolution(resolution, scale, element) {
|
|
10703
|
+
let checkScale;
|
|
10704
|
+
let checkResolution;
|
|
10705
|
+
if (!element.minResolution && !element.maxResolution && !element.minScale && !element.maxScale) {
|
|
10706
|
+
return true;
|
|
10707
|
+
}
|
|
10708
|
+
else {
|
|
10709
|
+
/******************* checking Resolution *******************/
|
|
10710
|
+
if (element.minResolution && element.maxResolution) {
|
|
10711
|
+
// if "minResolution" and "maxResolution" exists check if resoltion is between
|
|
10712
|
+
if ((resolution >= element.minResolution) && (resolution <= element.maxResolution)) {
|
|
10713
|
+
checkResolution = true;
|
|
10714
|
+
}
|
|
10715
|
+
}
|
|
10716
|
+
else {
|
|
10717
|
+
// check if "minResolution" or "maxResolution" exists
|
|
10718
|
+
if (element.minResolution && resolution >= element.minResolution) {
|
|
10719
|
+
checkResolution = true;
|
|
10720
|
+
}
|
|
10721
|
+
if (element.maxResolution && resolution <= element.maxResolution) {
|
|
10722
|
+
checkResolution = true;
|
|
10723
|
+
}
|
|
10724
|
+
}
|
|
10725
|
+
/******************* checking Scale *******************/
|
|
10726
|
+
if (element.minScale && element.maxScale) {
|
|
10727
|
+
// if "minScale" and "maxScale" exists check if scale is between
|
|
10728
|
+
if ((scale > element.minScale) && (scale < element.maxScale)) {
|
|
10729
|
+
checkScale = true;
|
|
10730
|
+
}
|
|
10731
|
+
}
|
|
10732
|
+
else {
|
|
10733
|
+
// check if "minScale" or "maxScale" exists
|
|
10734
|
+
if (element.maxScale && scale <= element.maxScale) {
|
|
10735
|
+
checkScale = true;
|
|
10736
|
+
}
|
|
10737
|
+
if (element.minScale && scale >= element.minScale) {
|
|
10738
|
+
checkScale = true;
|
|
10739
|
+
}
|
|
10740
|
+
}
|
|
10741
|
+
/******************* result of checking *******************/
|
|
10742
|
+
if (checkScale === true && checkResolution === true) {
|
|
10743
|
+
return true;
|
|
10744
|
+
}
|
|
10745
|
+
else if ((checkResolution === true && !checkScale) || (checkScale === true && !checkResolution)) {
|
|
10746
|
+
return true;
|
|
10747
|
+
}
|
|
10748
|
+
else {
|
|
10749
|
+
return false;
|
|
10750
|
+
}
|
|
10649
10751
|
}
|
|
10650
|
-
const request = this.http.get(url, { responseType: 'text' });
|
|
10651
|
-
return request.pipe(map(res => this.extractData(res, layer, options, url)));
|
|
10652
10752
|
}
|
|
10653
10753
|
mergeGML(gmlRes, url, layer) {
|
|
10654
10754
|
const parser = new olFormatGML2();
|
|
@@ -10741,18 +10841,22 @@ class QueryService {
|
|
|
10741
10841
|
type: olmline.getType(),
|
|
10742
10842
|
coordinates: olmline.getCoordinates()
|
|
10743
10843
|
};
|
|
10844
|
+
break;
|
|
10744
10845
|
case 'Point':
|
|
10745
10846
|
returnGeometry = olmpts;
|
|
10847
|
+
break;
|
|
10746
10848
|
case 'Polygon':
|
|
10747
10849
|
returnGeometry = {
|
|
10748
10850
|
type: olmpoly.getType(),
|
|
10749
10851
|
coordinates: olmpoly.getCoordinates()
|
|
10750
10852
|
};
|
|
10853
|
+
break;
|
|
10751
10854
|
case 'MultiPolygon':
|
|
10752
10855
|
returnGeometry = {
|
|
10753
10856
|
type: olmpoly.getType(),
|
|
10754
10857
|
coordinates: olmpoly.getCoordinates()
|
|
10755
10858
|
};
|
|
10859
|
+
break;
|
|
10756
10860
|
}
|
|
10757
10861
|
const imposedProperties = {};
|
|
10758
10862
|
if (queryTileField) {
|
|
@@ -11054,7 +11158,7 @@ class QueryService {
|
|
|
11054
11158
|
}
|
|
11055
11159
|
getQueryUrl(datasource, options, forceGML2 = false, mapExtent) {
|
|
11056
11160
|
let url;
|
|
11057
|
-
if (datasource.options.
|
|
11161
|
+
if (datasource.options.queryUrls) {
|
|
11058
11162
|
return this.getCustomQueryUrl(datasource, options, mapExtent);
|
|
11059
11163
|
}
|
|
11060
11164
|
switch (datasource.constructor) {
|
|
@@ -11191,26 +11295,46 @@ class QueryService {
|
|
|
11191
11295
|
*/
|
|
11192
11296
|
getCustomQueryUrl(datasource, options, mapExtent) {
|
|
11193
11297
|
const extent = olextent.getForViewAndSize(options.coordinates, options.resolution, 0, [101, 101]);
|
|
11194
|
-
|
|
11195
|
-
|
|
11196
|
-
|
|
11197
|
-
|
|
11198
|
-
|
|
11199
|
-
|
|
11200
|
-
|
|
11201
|
-
|
|
11202
|
-
|
|
11203
|
-
|
|
11298
|
+
return datasource.options.queryUrls.map(item => {
|
|
11299
|
+
let data = {
|
|
11300
|
+
url: item.url.replace(/\{bbox\}/g, extent.join(','))
|
|
11301
|
+
.replace(/\{x\}/g, options.coordinates[0].toString())
|
|
11302
|
+
.replace(/\{y\}/g, options.coordinates[1].toString())
|
|
11303
|
+
.replace(/\{resolution\}/g, options.resolution.toString())
|
|
11304
|
+
.replace(/\{srid\}/g, options.projection.replace('EPSG:', ''))
|
|
11305
|
+
};
|
|
11306
|
+
// if the queryFormat changed to "QueryFormat.HTMLGML2": mapExtent will be undefined
|
|
11307
|
+
// we need to check "mapExtent" befor replace variables in the url
|
|
11308
|
+
if (mapExtent) {
|
|
11309
|
+
data.url.replace(/\{xmin\}/g, mapExtent[0].toString())
|
|
11310
|
+
.replace(/\{ymin\}/g, mapExtent[1].toString())
|
|
11311
|
+
.replace(/\{xmax\}/g, mapExtent[2].toString())
|
|
11312
|
+
.replace(/\{ymax\}/g, mapExtent[3].toString());
|
|
11313
|
+
}
|
|
11314
|
+
if (item.maxResolution) {
|
|
11315
|
+
data.maxResolution = item.maxResolution;
|
|
11316
|
+
}
|
|
11317
|
+
if (item.minResolution) {
|
|
11318
|
+
data.minResolution = item.minResolution;
|
|
11319
|
+
}
|
|
11320
|
+
if (item.minScale) {
|
|
11321
|
+
data.minScale = item.minScale;
|
|
11322
|
+
}
|
|
11323
|
+
if (item.maxScale) {
|
|
11324
|
+
data.maxScale = item.maxScale;
|
|
11325
|
+
}
|
|
11326
|
+
return data;
|
|
11327
|
+
});
|
|
11204
11328
|
}
|
|
11205
11329
|
}
|
|
11206
|
-
QueryService.ɵfac = function QueryService_Factory(t) { return new (t || QueryService)(i0.ɵɵinject(i1$
|
|
11330
|
+
QueryService.ɵfac = function QueryService_Factory(t) { return new (t || QueryService)(i0.ɵɵinject(i1$1.HttpClient), i0.ɵɵinject(i2$1.MessageService), i0.ɵɵinject(i2$1.LanguageService)); };
|
|
11207
11331
|
QueryService.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: QueryService, factory: QueryService.ɵfac, providedIn: 'root' });
|
|
11208
11332
|
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(QueryService, [{
|
|
11209
11333
|
type: Injectable,
|
|
11210
11334
|
args: [{
|
|
11211
11335
|
providedIn: 'root'
|
|
11212
11336
|
}]
|
|
11213
|
-
}], function () { return [{ type: i1$
|
|
11337
|
+
}], function () { return [{ type: i1$1.HttpClient }, { type: i2$1.MessageService }, { type: i2$1.LanguageService }]; }, null); })();
|
|
11214
11338
|
|
|
11215
11339
|
/**
|
|
11216
11340
|
* Whether a layer is queryable
|
|
@@ -12384,14 +12508,14 @@ class CatalogService {
|
|
|
12384
12508
|
return layersQueryFormat;
|
|
12385
12509
|
}
|
|
12386
12510
|
}
|
|
12387
|
-
CatalogService.ɵfac = function CatalogService_Factory(t) { return new (t || CatalogService)(i0.ɵɵinject(i1$
|
|
12511
|
+
CatalogService.ɵfac = function CatalogService_Factory(t) { return new (t || CatalogService)(i0.ɵɵinject(i1$1.HttpClient), i0.ɵɵinject(i2$1.ConfigService), i0.ɵɵinject(i2$1.LanguageService), i0.ɵɵinject(i2$1.MessageService), i0.ɵɵinject(CapabilitiesService)); };
|
|
12388
12512
|
CatalogService.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: CatalogService, factory: CatalogService.ɵfac, providedIn: 'root' });
|
|
12389
12513
|
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(CatalogService, [{
|
|
12390
12514
|
type: Injectable,
|
|
12391
12515
|
args: [{
|
|
12392
12516
|
providedIn: 'root'
|
|
12393
12517
|
}]
|
|
12394
|
-
}], function () { return [{ type: i1$
|
|
12518
|
+
}], function () { return [{ type: i1$1.HttpClient }, { type: i2$1.ConfigService }, { type: i2$1.LanguageService }, { type: i2$1.MessageService }, { type: CapabilitiesService }]; }, null); })();
|
|
12395
12519
|
|
|
12396
12520
|
function CatalogBrowserComponent_ng_template_1_ng_container_0_Template(rf, ctx) { if (rf & 1) {
|
|
12397
12521
|
const _r5 = i0.ɵɵgetCurrentView();
|
|
@@ -12405,7 +12529,7 @@ function CatalogBrowserComponent_ng_template_1_ng_container_0_Template(rf, ctx)
|
|
|
12405
12529
|
const item_r1 = i0.ɵɵnextContext().$implicit;
|
|
12406
12530
|
const ctx_r2 = i0.ɵɵnextContext();
|
|
12407
12531
|
i0.ɵɵadvance(1);
|
|
12408
|
-
i0.ɵɵproperty("catalog", ctx_r2.catalog)("group", item_r1)("state", ctx_r2.store.state)("resolution", i0.ɵɵpipeBind1(2,
|
|
12532
|
+
i0.ɵɵproperty("catalog", ctx_r2.catalog)("group", item_r1)("map", ctx_r2.map)("state", ctx_r2.store.state)("resolution", i0.ɵɵpipeBind1(2, 8, ctx_r2.resolution$))("catalogAllowLegend", ctx_r2.catalogAllowLegend)("collapsed", ctx_r2.store.count === 1 ? false : true)("toggleCollapsed", ctx_r2.toggleCollapsedGroup);
|
|
12409
12533
|
} }
|
|
12410
12534
|
function CatalogBrowserComponent_ng_template_1_ng_container_1_Template(rf, ctx) { if (rf & 1) {
|
|
12411
12535
|
const _r9 = i0.ɵɵgetCurrentView();
|
|
@@ -12419,11 +12543,11 @@ function CatalogBrowserComponent_ng_template_1_ng_container_1_Template(rf, ctx)
|
|
|
12419
12543
|
const item_r1 = i0.ɵɵnextContext().$implicit;
|
|
12420
12544
|
const ctx_r3 = i0.ɵɵnextContext();
|
|
12421
12545
|
i0.ɵɵadvance(1);
|
|
12422
|
-
i0.ɵɵproperty("layer", item_r1)("resolution", i0.ɵɵpipeBind1(2,
|
|
12546
|
+
i0.ɵɵproperty("layer", item_r1)("map", ctx_r3.map)("resolution", i0.ɵɵpipeBind1(2, 5, ctx_r3.resolution$))("catalogAllowLegend", ctx_r3.catalogAllowLegend)("added", ctx_r3.store.state.get(item_r1).added);
|
|
12423
12547
|
} }
|
|
12424
12548
|
function CatalogBrowserComponent_ng_template_1_Template(rf, ctx) { if (rf & 1) {
|
|
12425
|
-
i0.ɵɵtemplate(0, CatalogBrowserComponent_ng_template_1_ng_container_0_Template, 3,
|
|
12426
|
-
i0.ɵɵtemplate(1, CatalogBrowserComponent_ng_template_1_ng_container_1_Template, 3,
|
|
12549
|
+
i0.ɵɵtemplate(0, CatalogBrowserComponent_ng_template_1_ng_container_0_Template, 3, 10, "ng-container", 2);
|
|
12550
|
+
i0.ɵɵtemplate(1, CatalogBrowserComponent_ng_template_1_ng_container_1_Template, 3, 7, "ng-container", 2);
|
|
12427
12551
|
} if (rf & 2) {
|
|
12428
12552
|
const item_r1 = ctx.$implicit;
|
|
12429
12553
|
const ctx_r0 = i0.ɵɵnextContext();
|
|
@@ -12609,7 +12733,7 @@ class CatalogBrowserComponent {
|
|
|
12609
12733
|
}
|
|
12610
12734
|
}
|
|
12611
12735
|
CatalogBrowserComponent.ɵfac = function CatalogBrowserComponent_Factory(t) { return new (t || CatalogBrowserComponent)(i0.ɵɵdirectiveInject(LayerService), i0.ɵɵdirectiveInject(i0.ChangeDetectorRef)); };
|
|
12612
|
-
CatalogBrowserComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: CatalogBrowserComponent, selectors: [["igo-catalog-browser"]], inputs: { catalogAllowLegend: "catalogAllowLegend", catalog: "catalog", store: "store", map: "map", toggleCollapsedGroup: "toggleCollapsedGroup" }, decls: 3, vars: 5, consts: [[3, "navigation", "selection"], ["ngFor", "", 3, "ngForOf"], [4, "ngIf"], [3, "catalog", "group", "state", "resolution", "catalogAllowLegend", "collapsed", "toggleCollapsed", "addedChange", "layerAddedChange"], ["igoListItem", "", 3, "layer", "resolution", "catalogAllowLegend", "added", "addedChange"]], template: function CatalogBrowserComponent_Template(rf, ctx) { if (rf & 1) {
|
|
12736
|
+
CatalogBrowserComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: CatalogBrowserComponent, selectors: [["igo-catalog-browser"]], inputs: { catalogAllowLegend: "catalogAllowLegend", catalog: "catalog", store: "store", map: "map", toggleCollapsedGroup: "toggleCollapsedGroup" }, decls: 3, vars: 5, consts: [[3, "navigation", "selection"], ["ngFor", "", 3, "ngForOf"], [4, "ngIf"], [3, "catalog", "group", "map", "state", "resolution", "catalogAllowLegend", "collapsed", "toggleCollapsed", "addedChange", "layerAddedChange"], ["igoListItem", "", 3, "layer", "map", "resolution", "catalogAllowLegend", "added", "addedChange"]], template: function CatalogBrowserComponent_Template(rf, ctx) { if (rf & 1) {
|
|
12613
12737
|
i0.ɵɵelementStart(0, "igo-list", 0);
|
|
12614
12738
|
i0.ɵɵtemplate(1, CatalogBrowserComponent_ng_template_1_Template, 2, 2, "ng-template", 1);
|
|
12615
12739
|
i0.ɵɵpipe(2, "async");
|
|
@@ -12621,7 +12745,7 @@ CatalogBrowserComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: Cat
|
|
|
12621
12745
|
} }, encapsulation: 2, changeDetection: 0 });
|
|
12622
12746
|
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(CatalogBrowserComponent, [{
|
|
12623
12747
|
type: Component,
|
|
12624
|
-
args: [{ selector: 'igo-catalog-browser', changeDetection: ChangeDetectionStrategy.OnPush, template: "<igo-list [navigation]=\"false\" [selection]=\"false\">\n <ng-template ngFor let-item [ngForOf]=\"store.view.all$() | async\">\n <ng-container *ngIf=\"isGroup(item)\">\n <igo-catalog-browser-group\n [catalog]=\"catalog\"\n [group]=\"item\"\n [state]=\"store.state\"\n [resolution]=\"resolution$ | async\"\n [catalogAllowLegend]=\"catalogAllowLegend\"\n [collapsed]=\"(store.count === 1) ? false : true\"\n [toggleCollapsed]=\"toggleCollapsedGroup\"\n (addedChange)=\"onGroupAddedChange($event)\"\n (layerAddedChange)=\"onLayerAddedChange($event)\">\n </igo-catalog-browser-group>\n </ng-container>\n\n <ng-container *ngIf=\"isLayer(item)\">\n <igo-catalog-browser-layer\n igoListItem\n [layer]=\"item\"\n [resolution]=\"resolution$ | async\"\n [catalogAllowLegend]=\"catalogAllowLegend\"\n [added]=\"store.state.get(item).added\"\n (addedChange)=\"onLayerAddedChange($event)\">\n </igo-catalog-browser-layer>\n </ng-container>\n </ng-template>\n</igo-list>\n" }]
|
|
12748
|
+
args: [{ selector: 'igo-catalog-browser', changeDetection: ChangeDetectionStrategy.OnPush, template: "<igo-list [navigation]=\"false\" [selection]=\"false\">\n <ng-template ngFor let-item [ngForOf]=\"store.view.all$() | async\">\n <ng-container *ngIf=\"isGroup(item)\">\n <igo-catalog-browser-group\n [catalog]=\"catalog\"\n [group]=\"item\"\n [map]=\"map\"\n [state]=\"store.state\"\n [resolution]=\"resolution$ | async\"\n [catalogAllowLegend]=\"catalogAllowLegend\"\n [collapsed]=\"(store.count === 1) ? false : true\"\n [toggleCollapsed]=\"toggleCollapsedGroup\"\n (addedChange)=\"onGroupAddedChange($event)\"\n (layerAddedChange)=\"onLayerAddedChange($event)\">\n </igo-catalog-browser-group>\n </ng-container>\n\n <ng-container *ngIf=\"isLayer(item)\">\n <igo-catalog-browser-layer\n igoListItem\n [layer]=\"item\"\n [map]=\"map\"\n [resolution]=\"resolution$ | async\"\n [catalogAllowLegend]=\"catalogAllowLegend\"\n [added]=\"store.state.get(item).added\"\n (addedChange)=\"onLayerAddedChange($event)\">\n </igo-catalog-browser-layer>\n </ng-container>\n </ng-template>\n</igo-list>\n" }]
|
|
12625
12749
|
}], function () { return [{ type: LayerService }, { type: i0.ChangeDetectorRef }]; }, { catalogAllowLegend: [{
|
|
12626
12750
|
type: Input
|
|
12627
12751
|
}], catalog: [{
|
|
@@ -12634,7 +12758,7 @@ CatalogBrowserComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: Cat
|
|
|
12634
12758
|
type: Input
|
|
12635
12759
|
}] }); })();
|
|
12636
12760
|
|
|
12637
|
-
const _c0$
|
|
12761
|
+
const _c0$i = ["renderedLegend"];
|
|
12638
12762
|
function LayerLegendComponent_ng_container_0_ng_container_1_ng_container_1_div_2_mat_list_item_1_Template(rf, ctx) { if (rf & 1) {
|
|
12639
12763
|
const _r15 = i0.ɵɵgetCurrentView();
|
|
12640
12764
|
i0.ɵɵelementStart(0, "mat-list-item")(1, "mat-icon", 7);
|
|
@@ -12979,9 +13103,9 @@ class LayerLegendComponent {
|
|
|
12979
13103
|
this.imagesHeight[id] = elemRef.height;
|
|
12980
13104
|
}
|
|
12981
13105
|
}
|
|
12982
|
-
LayerLegendComponent.ɵfac = function LayerLegendComponent_Factory(t) { return new (t || LayerLegendComponent)(i0.ɵɵdirectiveInject(CapabilitiesService), i0.ɵɵdirectiveInject(i2$1.LanguageService), i0.ɵɵdirectiveInject(i2$1.ConfigService), i0.ɵɵdirectiveInject(i1$
|
|
13106
|
+
LayerLegendComponent.ɵfac = function LayerLegendComponent_Factory(t) { return new (t || LayerLegendComponent)(i0.ɵɵdirectiveInject(CapabilitiesService), i0.ɵɵdirectiveInject(i2$1.LanguageService), i0.ɵɵdirectiveInject(i2$1.ConfigService), i0.ɵɵdirectiveInject(i1$1.HttpClient), i0.ɵɵdirectiveInject(i0.ChangeDetectorRef)); };
|
|
12983
13107
|
LayerLegendComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: LayerLegendComponent, selectors: [["igo-layer-legend"]], viewQuery: function LayerLegendComponent_Query(rf, ctx) { if (rf & 1) {
|
|
12984
|
-
i0.ɵɵviewQuery(_c0$
|
|
13108
|
+
i0.ɵɵviewQuery(_c0$i, 5);
|
|
12985
13109
|
} if (rf & 2) {
|
|
12986
13110
|
let _t;
|
|
12987
13111
|
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.renderedLegends = _t);
|
|
@@ -12990,11 +13114,11 @@ LayerLegendComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: LayerL
|
|
|
12990
13114
|
i0.ɵɵpipe(1, "async");
|
|
12991
13115
|
} if (rf & 2) {
|
|
12992
13116
|
i0.ɵɵproperty("ngIf", i0.ɵɵpipeBind1(1, 1, ctx.legendItems$));
|
|
12993
|
-
} }, dependencies: [i13.MatFormField, i2$2.NgControlStatus, i1
|
|
13117
|
+
} }, dependencies: [i13.MatFormField, i2$2.NgControlStatus, i1.NgClass, i1.NgForOf, i1.NgIf, i1.NgStyle, i2$2.NgModel, i2.MatIcon, i15.MatSelect, i9.MatOption, i4.MatTooltip, i5.MatListItem, i5.MatListAvatarCssMatStyler, i9.MatLine, i5$1.CollapseDirective, i5$1.ImageErrorDirective, i1.AsyncPipe, i7.TranslatePipe, i5$1.SanitizeHtmlPipe], styles: [".igo-layer-legend.with-title[_ngcontent-%COMP%]{padding-left:18px}img[_ngcontent-%COMP%]:after{content:\" \";position:relative;height:17px;float:left;width:17px;top:-3px;right:19px;background-color:#fff;border:3px solid #f3f3f3;border-radius:50%;-webkit-animation:2s linear infinite spin;animation:2s linear infinite spin}@-moz-document url-prefix(){img:after{margin-left:19px}}@-webkit-keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}"], changeDetection: 0 });
|
|
12994
13118
|
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(LayerLegendComponent, [{
|
|
12995
13119
|
type: Component,
|
|
12996
13120
|
args: [{ selector: 'igo-layer-legend', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-container *ngIf=\"legendItems$ | async as items\">\n <ng-container *ngIf=\"items.length; else noItems\">\n <ng-container *ngFor=\"let item of items.slice().reverse()\" #renderedLegends>\n <div *ngIf=\"getLegend; else noItems\">\n <mat-list-item *ngIf=\"item.title\">\n <mat-icon\n id=\"legend-toggle\"\n class=\"igo-chevron\"\n mat-list-avatar\n igoCollapse\n [target]=\"legend\"\n [collapsed]=\"(item.collapsed)\"\n (toggle)=\"toggleLegendItem($event, item)\"\n svgIcon=\"chevron-up\">\n </mat-icon>\n <h4 matLine>{{computeItemTitle(item) | async}} </h4>\n </mat-list-item>\n <div #legend class=\"igo-layer-legend\" [ngClass]=\"{'with-title': item.title}\">\n <div *ngIf=\"currentStyle !== undefined\">\n <mat-form-field>\n <mat-select tooltip-position=\"below\" matTooltipShowDelay=\"500\"\n [matTooltip]=\"'igo.geo.layer.legend.selectStyle' | translate\" [(ngModel)]=\"currentStyle\"\n (selectionChange)=\"onChangeStyle()\">\n <mat-option *ngFor=\"let style of styles\" [value]=\"style.name\">{{style.title}}</mat-option>\n </mat-select>\n </mat-form-field>\n </div>\n <div *ngIf=\"!(item.collapsed)\">\n <div *ngIf=\"item.url\">\n <img igoImageError *ngIf=\"item.imgGraphValue\" hideError=\"true\" #renderedLegend id=\"{{item.title}}\" (load)=\"onLoadImage(item.title)\"\n [src]=\"item.imgGraphValue\"\n alt=\"{{'igo.geo.layer.legend.loadingLegendText' | translate}}\">\n <small *ngIf=\"imagesHeight[item.title]<16\">\n {{'igo.geo.layer.legend.noLegendScale' | translate}}\n </small>\n </div>\n <div\n [ngStyle]=\"item.style\"\n [innerHTML]=\"item.html | sanitizeHtml\"\n *ngIf=\"item.html\">\n </div>\n </div>\n </div>\n </div>\n </ng-container>\n </ng-container>\n\n <ng-template #noItems>\n <small>\n {{'igo.geo.layer.legend.noLegendText' | translate}}\n </small>\n </ng-template>\n\n</ng-container>\n", styles: [".igo-layer-legend.with-title{padding-left:18px}img:after{content:\" \";position:relative;height:17px;float:left;width:17px;top:-3px;right:19px;background-color:#fff;border:3px solid #f3f3f3;border-radius:50%;-webkit-animation:2s linear infinite spin;animation:2s linear infinite spin}@-moz-document url-prefix(){img:after{margin-left:19px}}@-webkit-keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}\n"] }]
|
|
12997
|
-
}], function () { return [{ type: CapabilitiesService }, { type: i2$1.LanguageService }, { type: i2$1.ConfigService }, { type: i1$
|
|
13121
|
+
}], function () { return [{ type: CapabilitiesService }, { type: i2$1.LanguageService }, { type: i2$1.ConfigService }, { type: i1$1.HttpClient }, { type: i0.ChangeDetectorRef }]; }, { updateLegendOnResolutionChange: [{
|
|
12998
13122
|
type: Input
|
|
12999
13123
|
}], renderedLegends: [{
|
|
13000
13124
|
type: ViewChildren,
|
|
@@ -13023,7 +13147,7 @@ function CatalogBrowserLayerComponent_button_4_Template(rf, ctx) { if (rf & 1) {
|
|
|
13023
13147
|
i0.ɵɵadvance(1);
|
|
13024
13148
|
i0.ɵɵproperty("ngIf", ctx_r1.layer.externalProvider);
|
|
13025
13149
|
} }
|
|
13026
|
-
function
|
|
13150
|
+
function CatalogBrowserLayerComponent_igo_layer_legend_19_Template(rf, ctx) { if (rf & 1) {
|
|
13027
13151
|
i0.ɵɵelement(0, "igo-layer-legend", 3);
|
|
13028
13152
|
i0.ɵɵpipe(1, "async");
|
|
13029
13153
|
} if (rf & 2) {
|
|
@@ -13038,6 +13162,7 @@ class CatalogBrowserLayerComponent {
|
|
|
13038
13162
|
this.layerService = layerService;
|
|
13039
13163
|
this.inRange$ = new BehaviorSubject(true);
|
|
13040
13164
|
this.isPreview$ = new BehaviorSubject(false);
|
|
13165
|
+
this.isVisible$ = new BehaviorSubject(false);
|
|
13041
13166
|
this.layerLegendShown$ = new BehaviorSubject(false);
|
|
13042
13167
|
this.igoLayer$ = new BehaviorSubject(undefined);
|
|
13043
13168
|
this.mouseInsideAdd = false;
|
|
@@ -13065,11 +13190,19 @@ class CatalogBrowserLayerComponent {
|
|
|
13065
13190
|
return getEntityIcon(this.layer) || 'layers';
|
|
13066
13191
|
}
|
|
13067
13192
|
ngOnInit() {
|
|
13068
|
-
this.isInResolutionsRange();
|
|
13069
13193
|
this.isPreview$$ = this.isPreview$.subscribe(value => this.addedLayerIsPreview.emit(value));
|
|
13194
|
+
this.layers$$ = this.map.layers$.subscribe(() => {
|
|
13195
|
+
this.isVisible();
|
|
13196
|
+
});
|
|
13197
|
+
this.resolution$$ = this.map.viewController.resolution$.subscribe((resolution) => {
|
|
13198
|
+
this.isInResolutionsRange(resolution);
|
|
13199
|
+
this.isVisible();
|
|
13200
|
+
});
|
|
13070
13201
|
}
|
|
13071
13202
|
ngOnDestroy() {
|
|
13072
13203
|
this.isPreview$$.unsubscribe();
|
|
13204
|
+
this.resolution$$.unsubscribe();
|
|
13205
|
+
this.layers$$.unsubscribe();
|
|
13073
13206
|
}
|
|
13074
13207
|
computeTitleTooltip() {
|
|
13075
13208
|
const layerOptions = this.layer.options;
|
|
@@ -13175,19 +13308,40 @@ class CatalogBrowserLayerComponent {
|
|
|
13175
13308
|
haveGroup() {
|
|
13176
13309
|
return !(!this.layer.address || this.layer.address.split('.').length === 1);
|
|
13177
13310
|
}
|
|
13178
|
-
isInResolutionsRange() {
|
|
13179
|
-
const minResolution = this.layer.options.minResolution ||
|
|
13180
|
-
|
|
13181
|
-
|
|
13182
|
-
|
|
13311
|
+
isInResolutionsRange(resolution) {
|
|
13312
|
+
const minResolution = (!this.layer.options.minResolution || Number.isNaN(this.layer.options.minResolution))
|
|
13313
|
+
? 0 : this.layer.options.minResolution;
|
|
13314
|
+
const maxResolution = (!this.layer.options.maxResolution || Number.isNaN(this.layer.options.maxResolution))
|
|
13315
|
+
? Infinity : this.layer.options.maxResolution;
|
|
13316
|
+
this.inRange$.next(resolution >= minResolution && resolution <= maxResolution);
|
|
13317
|
+
}
|
|
13318
|
+
isVisible() {
|
|
13319
|
+
if (this.layer?.id) {
|
|
13320
|
+
const oLayer = this.map.getLayerById(this.layer?.id);
|
|
13321
|
+
oLayer ? this.isVisible$.next(oLayer.visible) : this.isVisible$.next(false);
|
|
13322
|
+
}
|
|
13323
|
+
}
|
|
13324
|
+
getBadgeIcon() {
|
|
13325
|
+
if (this.inRange$.getValue()) {
|
|
13326
|
+
return this.isVisible$.getValue() ? '' : 'eye-off';
|
|
13327
|
+
}
|
|
13328
|
+
else {
|
|
13329
|
+
return 'eye-off';
|
|
13330
|
+
}
|
|
13183
13331
|
}
|
|
13184
13332
|
computeTooltip() {
|
|
13185
13333
|
if (this.added) {
|
|
13186
|
-
|
|
13187
|
-
|
|
13188
|
-
|
|
13334
|
+
if (this.isPreview$.value) {
|
|
13335
|
+
return 'igo.geo.catalog.layer.addToMap';
|
|
13336
|
+
}
|
|
13337
|
+
else if (this.inRange$.value) {
|
|
13338
|
+
return this.isVisible$.value
|
|
13189
13339
|
? 'igo.geo.catalog.layer.removeFromMap'
|
|
13190
|
-
: 'igo.geo.catalog.layer.
|
|
13340
|
+
: 'igo.geo.catalog.layer.removeFromMapNotVisible';
|
|
13341
|
+
}
|
|
13342
|
+
else {
|
|
13343
|
+
return 'igo.geo.catalog.layer.removeFromMapOutRange';
|
|
13344
|
+
}
|
|
13191
13345
|
}
|
|
13192
13346
|
else {
|
|
13193
13347
|
return this.inRange$.value
|
|
@@ -13197,7 +13351,7 @@ class CatalogBrowserLayerComponent {
|
|
|
13197
13351
|
}
|
|
13198
13352
|
}
|
|
13199
13353
|
CatalogBrowserLayerComponent.ɵfac = function CatalogBrowserLayerComponent_Factory(t) { return new (t || CatalogBrowserLayerComponent)(i0.ɵɵdirectiveInject(LayerService)); };
|
|
13200
|
-
CatalogBrowserLayerComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: CatalogBrowserLayerComponent, selectors: [["igo-catalog-browser-layer"]], inputs: { resolution: "resolution", catalogAllowLegend: "catalogAllowLegend", layer: "layer", added: "added" }, outputs: { addedChange: "addedChange", addedLayerIsPreview: "addedLayerIsPreview" }, decls:
|
|
13354
|
+
CatalogBrowserLayerComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: CatalogBrowserLayerComponent, selectors: [["igo-catalog-browser-layer"]], inputs: { resolution: "resolution", catalogAllowLegend: "catalogAllowLegend", layer: "layer", map: "map", added: "added" }, outputs: { addedChange: "addedChange", addedLayerIsPreview: "addedLayerIsPreview" }, decls: 22, vars: 35, consts: [["mat-list-avatar", "", "svgIcon", "blank", 4, "ngIf"], ["mat-line", "", "matTooltipShowDelay", "500", 3, "ngClass", "matTooltip", "click"], ["disabled", "true", "mat-icon-button", "", 4, "ngIf"], [3, "layer"], ["mat-icon-button", "", "tooltip-position", "below", "matTooltipShowDelay", "500", 3, "matTooltip", "color", "mouseenter", "mouseleave", "click"], ["matBadge", "icon", "igoMatBadgeColor", "rgba(0,0,0,0.87)", "igoMatBadgeBackgroundColor", "none", "igoMatBadgeInverseColor", "true", "matBadgeSize", "small", "matBadgePosition", "after", 3, "igoMatBadgeIcon", "matBadgeHidden", "matBadgeDisabled", "svgIcon"], [1, "igo-cataloglayer-legend-container"], ["legend", ""], [3, "layer", 4, "ngIf"], ["mat-list-avatar", "", "svgIcon", "blank"], ["disabled", "true", "mat-icon-button", ""], ["class", "igo-cataloglayer-external-icon", "tooltip-position", "below", "matTooltipShowDelay", "500", "color", "primary", "svgIcon", "earth-arrow-right", 3, "matTooltip", "click", 4, "ngIf"], ["tooltip-position", "below", "matTooltipShowDelay", "500", "color", "primary", "svgIcon", "earth-arrow-right", 1, "igo-cataloglayer-external-icon", 3, "matTooltip", "click"]], template: function CatalogBrowserLayerComponent_Template(rf, ctx) { if (rf & 1) {
|
|
13201
13355
|
i0.ɵɵelementStart(0, "mat-list-item");
|
|
13202
13356
|
i0.ɵɵtemplate(1, CatalogBrowserLayerComponent_mat_icon_1_Template, 1, 0, "mat-icon", 0);
|
|
13203
13357
|
i0.ɵɵelementStart(2, "h4", 1);
|
|
@@ -13212,11 +13366,17 @@ CatalogBrowserLayerComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type
|
|
|
13212
13366
|
i0.ɵɵpipe(8, "async");
|
|
13213
13367
|
i0.ɵɵelement(9, "mat-icon", 5);
|
|
13214
13368
|
i0.ɵɵpipe(10, "async");
|
|
13215
|
-
i0.ɵɵ
|
|
13216
|
-
i0.ɵɵ
|
|
13217
|
-
i0.ɵɵ
|
|
13369
|
+
i0.ɵɵpipe(11, "async");
|
|
13370
|
+
i0.ɵɵpipe(12, "async");
|
|
13371
|
+
i0.ɵɵpipe(13, "async");
|
|
13218
13372
|
i0.ɵɵpipe(14, "async");
|
|
13219
13373
|
i0.ɵɵpipe(15, "async");
|
|
13374
|
+
i0.ɵɵpipe(16, "async");
|
|
13375
|
+
i0.ɵɵelementEnd()();
|
|
13376
|
+
i0.ɵɵelementStart(17, "div", 6, 7);
|
|
13377
|
+
i0.ɵɵtemplate(19, CatalogBrowserLayerComponent_igo_layer_legend_19_Template, 2, 3, "igo-layer-legend", 8);
|
|
13378
|
+
i0.ɵɵpipe(20, "async");
|
|
13379
|
+
i0.ɵɵpipe(21, "async");
|
|
13220
13380
|
i0.ɵɵelementEnd();
|
|
13221
13381
|
} if (rf & 2) {
|
|
13222
13382
|
i0.ɵɵadvance(1);
|
|
@@ -13230,21 +13390,23 @@ CatalogBrowserLayerComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type
|
|
|
13230
13390
|
i0.ɵɵadvance(1);
|
|
13231
13391
|
i0.ɵɵproperty("layer", ctx.layer);
|
|
13232
13392
|
i0.ɵɵadvance(1);
|
|
13233
|
-
i0.ɵɵproperty("matTooltip", i0.ɵɵpipeBind1(7,
|
|
13393
|
+
i0.ɵɵproperty("matTooltip", i0.ɵɵpipeBind1(7, 13, ctx.computeTooltip()))("color", i0.ɵɵpipeBind1(8, 15, ctx.isPreview$) ? "" : ctx.added ? "warn" : "");
|
|
13234
13394
|
i0.ɵɵadvance(3);
|
|
13235
|
-
i0.ɵɵproperty("
|
|
13236
|
-
i0.ɵɵadvance(
|
|
13237
|
-
i0.ɵɵproperty("ngIf", i0.ɵɵpipeBind1(
|
|
13238
|
-
} }, dependencies: [i1
|
|
13395
|
+
i0.ɵɵproperty("igoMatBadgeIcon", ctx.getBadgeIcon())("matBadgeHidden", i0.ɵɵpipeBind1(10, 17, ctx.inRange$) && i0.ɵɵpipeBind1(11, 19, ctx.isVisible$) === true || i0.ɵɵpipeBind1(12, 21, ctx.inRange$) && !ctx.added || i0.ɵɵpipeBind1(13, 23, ctx.inRange$) && i0.ɵɵpipeBind1(14, 25, ctx.isPreview$))("matBadgeDisabled", i0.ɵɵpipeBind1(15, 27, ctx.inRange$) === false)("svgIcon", i0.ɵɵpipeBind1(16, 29, ctx.isPreview$) ? "plus" : ctx.added ? "delete" : "plus");
|
|
13396
|
+
i0.ɵɵadvance(10);
|
|
13397
|
+
i0.ɵɵproperty("ngIf", i0.ɵɵpipeBind1(20, 31, ctx.layerLegendShown$) && i0.ɵɵpipeBind1(21, 33, ctx.igoLayer$) && ctx.catalogAllowLegend);
|
|
13398
|
+
} }, dependencies: [i1.NgClass, i1.NgIf, i7$1.MatBadge, i3$1.MatButton, i2.MatIcon, i5.MatListItem, i5.MatListAvatarCssMatStyler, i9.MatLine, i4.MatTooltip, i5$1.IgoBadgeIconDirective, MetadataButtonComponent, LayerLegendComponent, i1.AsyncPipe, i7.TranslatePipe], styles: [".igo-cataloglayer-title[_ngcontent-%COMP%]{cursor:pointer}.igo-cataloglayer-legend-container[_ngcontent-%COMP%]{padding-left:18px;width:calc(100% - 18px);margin-left:40px}.igo-cataloglayer-external-icon[_ngcontent-%COMP%]{cursor:help}"], changeDetection: 0 });
|
|
13239
13399
|
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(CatalogBrowserLayerComponent, [{
|
|
13240
13400
|
type: Component,
|
|
13241
|
-
args: [{ selector: 'igo-catalog-browser-layer', changeDetection: ChangeDetectionStrategy.OnPush, template: "<mat-list-item>\n <mat-icon *ngIf=\"haveGroup()\" mat-list-avatar svgIcon=\"blank\"></mat-icon>\n <h4 mat-line matTooltipShowDelay=\"500\" [ngClass]=\"(catalogAllowLegend)?'igo-cataloglayer-title':''\" (click)=\"askForLegend($event)\" [matTooltip]=\"computeTitleTooltip()\">{{title}}</h4>\n\n <button *ngIf=\"layer.externalProvider\"\n disabled=\"true\"\n mat-icon-button>\n <mat-icon\n class=\"igo-cataloglayer-external-icon\"\n *ngIf=\"layer.externalProvider\"\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"'igo.geo.catalog.externalProvider.layer' | translate\"\n color=\"primary\"\n (click)=\"$event.stopPropagation()\"\n svgIcon=\"earth-arrow-right\">\n </mat-icon>\n </button>\n <igo-metadata-button [layer]=\"layer\"></igo-metadata-button>\n\n <button\n (mouseenter)=\"onMouseEvent($event)\" (mouseleave)=\"onMouseEvent($event)\"\n mat-icon-button\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"computeTooltip() | translate\"\n [color]=\"(isPreview$ | async) ? '' : added ? 'warn' : ''\"\n (click)=\"onToggleClick($event)\">\n <mat-icon\n matBadge=\"icon\"\n igoMatBadgeIcon=\"
|
|
13401
|
+
args: [{ selector: 'igo-catalog-browser-layer', changeDetection: ChangeDetectionStrategy.OnPush, template: "<mat-list-item>\n <mat-icon *ngIf=\"haveGroup()\" mat-list-avatar svgIcon=\"blank\"></mat-icon>\n <h4 mat-line matTooltipShowDelay=\"500\" [ngClass]=\"(catalogAllowLegend)?'igo-cataloglayer-title':''\" (click)=\"askForLegend($event)\" [matTooltip]=\"computeTitleTooltip()\">{{title}}</h4>\n\n <button *ngIf=\"layer.externalProvider\"\n disabled=\"true\"\n mat-icon-button>\n <mat-icon\n class=\"igo-cataloglayer-external-icon\"\n *ngIf=\"layer.externalProvider\"\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"'igo.geo.catalog.externalProvider.layer' | translate\"\n color=\"primary\"\n (click)=\"$event.stopPropagation()\"\n svgIcon=\"earth-arrow-right\">\n </mat-icon>\n </button>\n <igo-metadata-button [layer]=\"layer\"></igo-metadata-button>\n\n <button\n (mouseenter)=\"onMouseEvent($event)\" (mouseleave)=\"onMouseEvent($event)\"\n mat-icon-button\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"computeTooltip() | translate\"\n [color]=\"(isPreview$ | async) ? '' : added ? 'warn' : ''\"\n (click)=\"onToggleClick($event)\">\n <mat-icon\n matBadge=\"icon\"\n [igoMatBadgeIcon]=\"getBadgeIcon()\"\n igoMatBadgeColor=\"rgba(0,0,0,0.87)\"\n igoMatBadgeBackgroundColor=\"none\"\n igoMatBadgeInverseColor=\"true\"\n [matBadgeHidden]=\"((inRange$ | async) && (isVisible$ | async) === true) || ((inRange$ | async) && !added) || ((inRange$ | async) && (isPreview$ | async))\"\n [matBadgeDisabled]=\"(inRange$ | async) === false\"\n matBadgeSize=\"small\"\n matBadgePosition=\"after\"\n [svgIcon]=\"(isPreview$ | async) ? 'plus' : added ? 'delete' : 'plus'\">\n </mat-icon>\n </button>\n\n</mat-list-item>\n\n<div #legend class=\"igo-cataloglayer-legend-container\">\n <igo-layer-legend\n *ngIf=\"(layerLegendShown$ | async) && (igoLayer$ | async) && catalogAllowLegend\"\n [layer]=\"igoLayer$ | async\">\n </igo-layer-legend>\n</div>\n", styles: [".igo-cataloglayer-title{cursor:pointer}.igo-cataloglayer-legend-container{padding-left:18px;width:calc(100% - 18px);margin-left:40px}.igo-cataloglayer-external-icon{cursor:help}\n"] }]
|
|
13242
13402
|
}], function () { return [{ type: LayerService }]; }, { resolution: [{
|
|
13243
13403
|
type: Input
|
|
13244
13404
|
}], catalogAllowLegend: [{
|
|
13245
13405
|
type: Input
|
|
13246
13406
|
}], layer: [{
|
|
13247
13407
|
type: Input
|
|
13408
|
+
}], map: [{
|
|
13409
|
+
type: Input
|
|
13248
13410
|
}], added: [{
|
|
13249
13411
|
type: Input
|
|
13250
13412
|
}], addedChange: [{
|
|
@@ -13311,11 +13473,11 @@ function CatalogBrowserGroupComponent_ng_template_12_ng_container_1_Template(rf,
|
|
|
13311
13473
|
const item_r12 = i0.ɵɵnextContext().$implicit;
|
|
13312
13474
|
const ctx_r14 = i0.ɵɵnextContext();
|
|
13313
13475
|
i0.ɵɵadvance(1);
|
|
13314
|
-
i0.ɵɵproperty("layer", item_r12)("resolution", ctx_r14.resolution)("catalogAllowLegend", ctx_r14.catalogAllowLegend)("added", ctx_r14.state.get(item_r12).added);
|
|
13476
|
+
i0.ɵɵproperty("layer", item_r12)("resolution", ctx_r14.resolution)("map", ctx_r14.map)("catalogAllowLegend", ctx_r14.catalogAllowLegend)("added", ctx_r14.state.get(item_r12).added);
|
|
13315
13477
|
} }
|
|
13316
13478
|
function CatalogBrowserGroupComponent_ng_template_12_Template(rf, ctx) { if (rf & 1) {
|
|
13317
13479
|
i0.ɵɵtemplate(0, CatalogBrowserGroupComponent_ng_template_12_ng_container_0_Template, 1, 0, "ng-container", 14);
|
|
13318
|
-
i0.ɵɵtemplate(1, CatalogBrowserGroupComponent_ng_template_12_ng_container_1_Template, 2,
|
|
13480
|
+
i0.ɵɵtemplate(1, CatalogBrowserGroupComponent_ng_template_12_ng_container_1_Template, 2, 5, "ng-container", 14);
|
|
13319
13481
|
} if (rf & 2) {
|
|
13320
13482
|
const item_r12 = ctx.$implicit;
|
|
13321
13483
|
const ctx_r5 = i0.ɵɵnextContext();
|
|
@@ -13481,7 +13643,7 @@ class CatalogBrowserGroupComponent {
|
|
|
13481
13643
|
}
|
|
13482
13644
|
}
|
|
13483
13645
|
CatalogBrowserGroupComponent.ɵfac = function CatalogBrowserGroupComponent_Factory(t) { return new (t || CatalogBrowserGroupComponent)(); };
|
|
13484
|
-
CatalogBrowserGroupComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: CatalogBrowserGroupComponent, selectors: [["igo-catalog-browser-group"]], inputs: { catalog: "catalog", group: "group", collapsed: "collapsed", resolution: "resolution", catalogAllowLegend: "catalogAllowLegend", toggleCollapsed: "toggleCollapsed", state: "state" }, outputs: { addedChange: "addedChange", layerAddedChange: "layerAddedChange" }, decls: 14, vars: 14, consts: [["mat-list-avatar", "", "svgIcon", "chevron-up", "igoCollapse", "", 1, "igo-chevron", 3, "target", "collapsed", "toggle"], ["id", "catalog-group-title", "mat-line", "", "matTooltipShowDelay", "500", 1, "igo-catalog-group-title", 3, "matTooltip", "click"], ["disabled", "true", "mat-icon-button", "", 4, "ngIf"], [4, "ngIf", "ngIfElse"], ["notadded", ""], ["items", ""], ["ngFor", "", 3, "ngForOf"], ["disabled", "true", "mat-icon-button", ""], ["class", "igo-cataloggroup-external-icon", "tooltip-position", "below", "matTooltipShowDelay", "500", "color", "primary", "svgIcon", "earth-arrow-right", 3, "matTooltip", "click", 4, "ngIf"], ["tooltip-position", "below", "matTooltipShowDelay", "500", "color", "primary", "svgIcon", "earth-arrow-right", 1, "igo-cataloggroup-external-icon", 3, "matTooltip", "click"], ["mat-icon-button", "", "tooltip-position", "below", "matTooltipShowDelay", "500", "color", "warn", 3, "matTooltip", "disabled", "click"], ["svgIcon", "delete"], ["mat-icon-button", "", "tooltip-position", "below", "matTooltipShowDelay", "500", 3, "matTooltip", "disabled", "click"], ["svgIcon", "plus"], [4, "ngIf"], ["igoListItem", "", 3, "layer", "resolution", "catalogAllowLegend", "added", "addedLayerIsPreview", "addedChange"]], template: function CatalogBrowserGroupComponent_Template(rf, ctx) { if (rf & 1) {
|
|
13646
|
+
CatalogBrowserGroupComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: CatalogBrowserGroupComponent, selectors: [["igo-catalog-browser-group"]], inputs: { catalog: "catalog", group: "group", map: "map", collapsed: "collapsed", resolution: "resolution", catalogAllowLegend: "catalogAllowLegend", toggleCollapsed: "toggleCollapsed", state: "state" }, outputs: { addedChange: "addedChange", layerAddedChange: "layerAddedChange" }, decls: 14, vars: 14, consts: [["mat-list-avatar", "", "svgIcon", "chevron-up", "igoCollapse", "", 1, "igo-chevron", 3, "target", "collapsed", "toggle"], ["id", "catalog-group-title", "mat-line", "", "matTooltipShowDelay", "500", 1, "igo-catalog-group-title", 3, "matTooltip", "click"], ["disabled", "true", "mat-icon-button", "", 4, "ngIf"], [4, "ngIf", "ngIfElse"], ["notadded", ""], ["items", ""], ["ngFor", "", 3, "ngForOf"], ["disabled", "true", "mat-icon-button", ""], ["class", "igo-cataloggroup-external-icon", "tooltip-position", "below", "matTooltipShowDelay", "500", "color", "primary", "svgIcon", "earth-arrow-right", 3, "matTooltip", "click", 4, "ngIf"], ["tooltip-position", "below", "matTooltipShowDelay", "500", "color", "primary", "svgIcon", "earth-arrow-right", 1, "igo-cataloggroup-external-icon", 3, "matTooltip", "click"], ["mat-icon-button", "", "tooltip-position", "below", "matTooltipShowDelay", "500", "color", "warn", 3, "matTooltip", "disabled", "click"], ["svgIcon", "delete"], ["mat-icon-button", "", "tooltip-position", "below", "matTooltipShowDelay", "500", 3, "matTooltip", "disabled", "click"], ["svgIcon", "plus"], [4, "ngIf"], ["igoListItem", "", 3, "layer", "resolution", "map", "catalogAllowLegend", "added", "addedLayerIsPreview", "addedChange"]], template: function CatalogBrowserGroupComponent_Template(rf, ctx) { if (rf & 1) {
|
|
13485
13647
|
i0.ɵɵelementStart(0, "mat-list-item")(1, "mat-icon", 0);
|
|
13486
13648
|
i0.ɵɵlistener("toggle", function CatalogBrowserGroupComponent_Template_mat_icon_toggle_1_listener($event) { return ctx.onToggleCollapsed($event); });
|
|
13487
13649
|
i0.ɵɵelementEnd();
|
|
@@ -13514,14 +13676,16 @@ CatalogBrowserGroupComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type
|
|
|
13514
13676
|
i0.ɵɵproperty("ngIf", i0.ɵɵpipeBind1(6, 8, ctx.added$) && i0.ɵɵpipeBind1(7, 10, ctx.preview$) === false)("ngIfElse", _r2);
|
|
13515
13677
|
i0.ɵɵadvance(7);
|
|
13516
13678
|
i0.ɵɵproperty("ngForOf", i0.ɵɵpipeBind1(13, 12, ctx.store.view.all$()));
|
|
13517
|
-
} }, dependencies: [i1
|
|
13679
|
+
} }, dependencies: [i1.NgForOf, i1.NgIf, i3$1.MatButton, i2.MatIcon, i5.MatListItem, i5.MatListAvatarCssMatStyler, i9.MatLine, i4.MatTooltip, i5$1.ListItemDirective, i5$1.CollapseDirective, CatalogBrowserLayerComponent, i1.AsyncPipe, i7.TranslatePipe], styles: [".igo-catalog-group-title[_ngcontent-%COMP%]{cursor:pointer;opacity:.9}#catalog-group-title[_ngcontent-%COMP%]{font-weight:700}.igo-cataloggroup-external-icon[_ngcontent-%COMP%]{cursor:help}"], changeDetection: 0 });
|
|
13518
13680
|
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(CatalogBrowserGroupComponent, [{
|
|
13519
13681
|
type: Component,
|
|
13520
|
-
args: [{ selector: 'igo-catalog-browser-group', changeDetection: ChangeDetectionStrategy.OnPush, template: "<mat-list-item>\n <mat-icon\n mat-list-avatar\n svgIcon=\"chevron-up\"\n igoCollapse\n class=\"igo-chevron\"\n [target]=\"items\"\n [collapsed]=\"collapsed\"\n (toggle)=\"onToggleCollapsed($event)\">\n </mat-icon>\n\n <h4 class=\"igo-catalog-group-title\" id=\"catalog-group-title\" mat-line matTooltipShowDelay=\"500\" [matTooltip]=\"title\" (click)=\"onTitleClick()\">{{title}}</h4>\n\n <button *ngIf=\"group.externalProvider\"\n disabled=\"true\"\n mat-icon-button>\n <mat-icon\n class=\"igo-cataloggroup-external-icon\"\n *ngIf=\"group.externalProvider\"\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"'igo.geo.catalog.externalProvider.group' | translate\"\n color=\"primary\"\n (click)=\"$event.stopPropagation()\"\n svgIcon=\"earth-arrow-right\">\n </mat-icon>\n </button>\n\n <ng-container *ngIf=\"(added$ | async) && (preview$ | async) === false; else notadded\">\n <button\n mat-icon-button\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"'igo.geo.catalog.group.removeFromMap' | translate\"\n color=\"warn\"\n [disabled]=\"disabled$ | async\"\n (click)=\"onToggleClick()\">\n <mat-icon svgIcon=\"delete\"></mat-icon>\n </button>\n </ng-container>\n\n <ng-template #notadded>\n <button\n mat-icon-button\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"'igo.geo.catalog.group.addToMap' | translate\"\n [disabled]=\"disabled$ | async\"\n (click)=\"onToggleClick()\">\n <mat-icon svgIcon=\"plus\"></mat-icon>\n </button>\n </ng-template>\n</mat-list-item>\n\n<div #items>\n <ng-template ngFor let-item [ngForOf]=\"store.view.all$() | async\">\n <ng-container *ngIf=\"isGroup(item)\">\n <!-- todo: add display ans manage CatalogItemGroup -->\n </ng-container>\n <ng-container *ngIf=\"isLayer(item)\">\n <igo-catalog-browser-layer\n igoListItem\n [layer]=\"item\"\n [resolution]=\"resolution\"\n [catalogAllowLegend]=\"catalogAllowLegend\"\n [added]=\"state.get(item).added\"\n (addedLayerIsPreview)=\"onLayerPreview($event)\"\n (addedChange)=\"onLayerAddedChange($event)\">\n </igo-catalog-browser-layer>\n </ng-container>\n </ng-template>\n</div>\n", styles: [".igo-catalog-group-title{cursor:pointer;opacity:.9}#catalog-group-title{font-weight:700}.igo-cataloggroup-external-icon{cursor:help}\n"] }]
|
|
13682
|
+
args: [{ selector: 'igo-catalog-browser-group', changeDetection: ChangeDetectionStrategy.OnPush, template: "<mat-list-item>\n <mat-icon\n mat-list-avatar\n svgIcon=\"chevron-up\"\n igoCollapse\n class=\"igo-chevron\"\n [target]=\"items\"\n [collapsed]=\"collapsed\"\n (toggle)=\"onToggleCollapsed($event)\">\n </mat-icon>\n\n <h4 class=\"igo-catalog-group-title\" id=\"catalog-group-title\" mat-line matTooltipShowDelay=\"500\" [matTooltip]=\"title\" (click)=\"onTitleClick()\">{{title}}</h4>\n\n <button *ngIf=\"group.externalProvider\"\n disabled=\"true\"\n mat-icon-button>\n <mat-icon\n class=\"igo-cataloggroup-external-icon\"\n *ngIf=\"group.externalProvider\"\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"'igo.geo.catalog.externalProvider.group' | translate\"\n color=\"primary\"\n (click)=\"$event.stopPropagation()\"\n svgIcon=\"earth-arrow-right\">\n </mat-icon>\n </button>\n\n <ng-container *ngIf=\"(added$ | async) && (preview$ | async) === false; else notadded\">\n <button\n mat-icon-button\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"'igo.geo.catalog.group.removeFromMap' | translate\"\n color=\"warn\"\n [disabled]=\"disabled$ | async\"\n (click)=\"onToggleClick()\">\n <mat-icon svgIcon=\"delete\"></mat-icon>\n </button>\n </ng-container>\n\n <ng-template #notadded>\n <button\n mat-icon-button\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"'igo.geo.catalog.group.addToMap' | translate\"\n [disabled]=\"disabled$ | async\"\n (click)=\"onToggleClick()\">\n <mat-icon svgIcon=\"plus\"></mat-icon>\n </button>\n </ng-template>\n</mat-list-item>\n\n<div #items>\n <ng-template ngFor let-item [ngForOf]=\"store.view.all$() | async\">\n <ng-container *ngIf=\"isGroup(item)\">\n <!-- todo: add display ans manage CatalogItemGroup -->\n </ng-container>\n <ng-container *ngIf=\"isLayer(item)\">\n <igo-catalog-browser-layer\n igoListItem\n [layer]=\"item\"\n [resolution]=\"resolution\"\n [map]=\"map\"\n [catalogAllowLegend]=\"catalogAllowLegend\"\n [added]=\"state.get(item).added\"\n (addedLayerIsPreview)=\"onLayerPreview($event)\"\n (addedChange)=\"onLayerAddedChange($event)\">\n </igo-catalog-browser-layer>\n </ng-container>\n </ng-template>\n</div>\n", styles: [".igo-catalog-group-title{cursor:pointer;opacity:.9}#catalog-group-title{font-weight:700}.igo-cataloggroup-external-icon{cursor:help}\n"] }]
|
|
13521
13683
|
}], null, { catalog: [{
|
|
13522
13684
|
type: Input
|
|
13523
13685
|
}], group: [{
|
|
13524
13686
|
type: Input
|
|
13687
|
+
}], map: [{
|
|
13688
|
+
type: Input
|
|
13525
13689
|
}], collapsed: [{
|
|
13526
13690
|
type: Input
|
|
13527
13691
|
}], resolution: [{
|
|
@@ -13567,7 +13731,7 @@ function LayerItemComponent_mat_checkbox_1_Template(rf, ctx) { if (rf & 1) {
|
|
|
13567
13731
|
const ctx_r0 = i0.ɵɵnextContext();
|
|
13568
13732
|
i0.ɵɵproperty("checked", ctx_r0.layerCheck);
|
|
13569
13733
|
} }
|
|
13570
|
-
const _c0$
|
|
13734
|
+
const _c0$h = function (a0) { return { disabled: a0 }; };
|
|
13571
13735
|
function LayerItemComponent_button_4_Template(rf, ctx) { if (rf & 1) {
|
|
13572
13736
|
const _r9 = i0.ɵɵgetCurrentView();
|
|
13573
13737
|
i0.ɵɵelementStart(0, "button", 10);
|
|
@@ -13582,7 +13746,7 @@ function LayerItemComponent_button_4_Template(rf, ctx) { if (rf & 1) {
|
|
|
13582
13746
|
const ctx_r1 = i0.ɵɵnextContext();
|
|
13583
13747
|
i0.ɵɵproperty("color", ctx_r1.layer.visible ? "primary" : "default")("matTooltip", i0.ɵɵpipeBind1(1, 5, ctx_r1.eyeTooltip));
|
|
13584
13748
|
i0.ɵɵadvance(2);
|
|
13585
|
-
i0.ɵɵproperty("matBadgeHidden", i0.ɵɵpipeBind1(3, 7, ctx_r1.queryBadgeHidden$))("ngClass", i0.ɵɵpureFunction1(13, _c0$
|
|
13749
|
+
i0.ɵɵproperty("matBadgeHidden", i0.ɵɵpipeBind1(3, 7, ctx_r1.queryBadgeHidden$))("ngClass", i0.ɵɵpureFunction1(13, _c0$h, i0.ɵɵpipeBind1(4, 9, ctx_r1.inResolutionRange$) === false))("svgIcon", i0.ɵɵpipeBind1(5, 11, ctx_r1.layer.visible$) ? "eye" : "eye-off");
|
|
13586
13750
|
} }
|
|
13587
13751
|
function LayerItemComponent_button_5_Template(rf, ctx) { if (rf & 1) {
|
|
13588
13752
|
const _r11 = i0.ɵɵgetCurrentView();
|
|
@@ -13598,7 +13762,7 @@ function LayerItemComponent_button_5_Template(rf, ctx) { if (rf & 1) {
|
|
|
13598
13762
|
const ctx_r2 = i0.ɵɵnextContext();
|
|
13599
13763
|
i0.ɵɵproperty("color", ctx_r2.layer.visible ? "primary" : "default")("matTooltip", ctx_r2.layer.visible ? i0.ɵɵpipeBind1(1, 5, "igo.geo.layer.hideLayer") : i0.ɵɵpipeBind1(2, 7, "igo.geo.layer.showLayer"));
|
|
13600
13764
|
i0.ɵɵadvance(3);
|
|
13601
|
-
i0.ɵɵproperty("matBadgeHidden", i0.ɵɵpipeBind1(4, 9, ctx_r2.queryBadgeHidden$))("ngClass", i0.ɵɵpureFunction1(13, _c0$
|
|
13765
|
+
i0.ɵɵproperty("matBadgeHidden", i0.ɵɵpipeBind1(4, 9, ctx_r2.queryBadgeHidden$))("ngClass", i0.ɵɵpureFunction1(13, _c0$h, i0.ɵɵpipeBind1(5, 11, ctx_r2.inResolutionRange$) === false))("svgIcon", ctx_r2.layer.visible ? "eye" : "eye-off");
|
|
13602
13766
|
} }
|
|
13603
13767
|
function LayerItemComponent_button_6_Template(rf, ctx) { if (rf & 1) {
|
|
13604
13768
|
const _r13 = i0.ɵɵgetCurrentView();
|
|
@@ -13871,7 +14035,7 @@ var LayerListDisplacement;
|
|
|
13871
14035
|
LayerListDisplacement["Lower"] = "lower";
|
|
13872
14036
|
})(LayerListDisplacement || (LayerListDisplacement = {}));
|
|
13873
14037
|
|
|
13874
|
-
const _c0$
|
|
14038
|
+
const _c0$g = ["igoLayerItemToolbar"];
|
|
13875
14039
|
function LayerListComponent_igo_layer_list_tool_1_Template(rf, ctx) { if (rf & 1) {
|
|
13876
14040
|
const _r7 = i0.ɵɵgetCurrentView();
|
|
13877
14041
|
i0.ɵɵelementStart(0, "igo-layer-list-tool", 6);
|
|
@@ -14804,7 +14968,7 @@ class LayerListComponent {
|
|
|
14804
14968
|
}
|
|
14805
14969
|
LayerListComponent.ɵfac = function LayerListComponent_Factory(t) { return new (t || LayerListComponent)(i0.ɵɵdirectiveInject(i0.ElementRef)); };
|
|
14806
14970
|
LayerListComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: LayerListComponent, selectors: [["igo-layer-list"]], contentQueries: function LayerListComponent_ContentQueries(rf, ctx, dirIndex) { if (rf & 1) {
|
|
14807
|
-
i0.ɵɵcontentQuery(dirIndex, _c0$
|
|
14971
|
+
i0.ɵɵcontentQuery(dirIndex, _c0$g, 5);
|
|
14808
14972
|
} if (rf & 2) {
|
|
14809
14973
|
let _t;
|
|
14810
14974
|
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.templateLayerToolbar = _t.first);
|
|
@@ -15001,7 +15165,7 @@ LayerListToolComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: Laye
|
|
|
15001
15165
|
i0.ɵɵproperty("matTooltip", ctx.selectionMode ? i0.ɵɵpipeBind1(17, 26, "igo.geo.layer.deactivateSelectionMode") : i0.ɵɵpipeBind1(18, 28, "igo.geo.layer.activateSelectionMode"));
|
|
15002
15166
|
i0.ɵɵadvance(4);
|
|
15003
15167
|
i0.ɵɵproperty("svgIcon", ctx.selectionMode ? "checkbox-multiple-marked-outline" : "checkbox-multiple-blank-outline");
|
|
15004
|
-
} }, dependencies: [i13.MatFormField, i13.MatSuffix, i14.MatInput, i2$2.DefaultValueAccessor, i2$2.NgControlStatus, i1
|
|
15168
|
+
} }, dependencies: [i13.MatFormField, i13.MatSuffix, i14.MatInput, i2$2.DefaultValueAccessor, i2$2.NgControlStatus, i1.NgIf, i2$2.NgModel, i2.MatIcon, i3$1.MatButton, i4.MatTooltip, i5.MatListItem, i7$1.MatBadge, i5$1.IgoBadgeIconDirective, i7.TranslatePipe], styles: ["mat-form-field.inputFilter[_ngcontent-%COMP%]{width:calc(100% - 100px);max-width:200px}.selection-mode[_ngcontent-%COMP%]{margin-left:5px}"], changeDetection: 0 });
|
|
15005
15169
|
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(LayerListToolComponent, [{
|
|
15006
15170
|
type: Component,
|
|
15007
15171
|
args: [{ selector: 'igo-layer-list-tool', changeDetection: ChangeDetectionStrategy.OnPush, template: " <mat-list-item>\n <mat-form-field class=\"inputFilter\" [floatLabel]=\"floatLabel\">\n <input\n matInput\n [placeholder]=\"'igo.geo.layer.filterPlaceholder' | translate\"\n [matTooltip]=\"'igo.geo.layer.subsetLayersListKeyword' | translate\"\n matTooltipShowDelay=\"500\"\n type=\"text\" [(ngModel)]=\"term\">\n <button\n mat-button\n *ngIf=\"term\"\n matSuffix\n mat-icon-button\n aria-label=\"Clear\"\n color=\"warn\"\n (click)=\"clearTerm()\">\n <mat-icon svgIcon=\"close\"></mat-icon>\n </button>\n </mat-form-field>\n\n <div [matTooltip]=\"sortAlpha ?\n ('igo.geo.layer.sortMapOrder' | translate) :\n ('igo.geo.layer.sortAlphabetically' | translate)\" matTooltipShowDelay=\"500\">\n <button class=\"sort-alpha\" [color]=\"sortAlpha ? 'warn' : 'primary'\" mat-icon-button (click)=\"toggleSortAlpha()\">\n <mat-icon [svgIcon]=\"sortAlpha ? 'sort-ascending' : 'sort-alphabetical-ascending'\"></mat-icon>\n </button>\n </div>\n\n <div [matTooltip]=\"onlyVisible ?\n ('igo.geo.layer.resetLayersList' | translate) :\n ('igo.geo.layer.subsetLayersListOnlyVisible' | translate)\" matTooltipShowDelay=\"500\">\n <button class=\"only-visible\" mat-icon-button [disabled]=\"layersAreAllVisible && !onlyVisible\"\n [color]=\"onlyVisible ? 'warn' : 'primary'\" (click)=\"toggleOnlyVisible()\">\n <mat-icon\n matBadge=\"icon\"\n igoMatBadgeIcon=\"eye\"\n igoMatBadgeInverseColor=\"true\"\n igoMatBadgeInheritColor=\"true\"\n [svgIcon]=\"onlyVisible ? 'filter-remove' : 'filter'\">\n </mat-icon>\n </button>\n </div>\n\n <div [matTooltip]=\"selectionMode ?\n ('igo.geo.layer.deactivateSelectionMode' | translate) :\n ('igo.geo.layer.activateSelectionMode' | translate)\" matTooltipShowDelay=\"500\">\n <button class=\"selection-mode\" mat-icon-button\n color=\"primary\" (click)=\"toggleSelectionMode()\">\n <mat-icon [svgIcon]=\"selectionMode ? 'checkbox-multiple-marked-outline' : 'checkbox-multiple-blank-outline'\"></mat-icon>\n </button>\n </div>\n\n</mat-list-item>\n", styles: ["mat-form-field.inputFilter{width:calc(100% - 100px);max-width:200px}.selection-mode{margin-left:5px}\n"] }]
|
|
@@ -15348,7 +15512,7 @@ TrackFeatureButtonComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type:
|
|
|
15348
15512
|
i0.ɵɵtemplate(0, TrackFeatureButtonComponent_button_0_Template, 3, 4, "button", 0);
|
|
15349
15513
|
} if (rf & 2) {
|
|
15350
15514
|
i0.ɵɵproperty("ngIf", ctx.options.trackFeature);
|
|
15351
|
-
} }, dependencies: [i1
|
|
15515
|
+
} }, dependencies: [i1.NgIf, i2.MatIcon, i3$1.MatButton, i4.MatTooltip, i7.TranslatePipe], changeDetection: 0 });
|
|
15352
15516
|
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(TrackFeatureButtonComponent, [{
|
|
15353
15517
|
type: Component,
|
|
15354
15518
|
args: [{ selector: 'igo-track-feature-button', changeDetection: ChangeDetectionStrategy.OnPush, template: "<button *ngIf=\"options.trackFeature\"\n mat-icon-button\n collapsibleButton\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"'igo.geo.layer.trackFeature' | translate\"\n [color]=\"color\"\n (click)=\"toggleTrackFeature()\">\n <mat-icon svgIcon=\"crosshairs-gps\"></mat-icon>\n</button>\n" }]
|
|
@@ -16355,7 +16519,7 @@ function FeatureDetailsComponent_table_0_tr_2_td_4_Template(rf, ctx) { if (rf &
|
|
|
16355
16519
|
const property_r3 = i0.ɵɵnextContext().$implicit;
|
|
16356
16520
|
i0.ɵɵproperty("innerHTML", property_r3.value, i0.ɵɵsanitizeHtml);
|
|
16357
16521
|
} }
|
|
16358
|
-
const _c0$
|
|
16522
|
+
const _c0$f = function () { return { "cursor": "pointer", "color": "blue" }; };
|
|
16359
16523
|
function FeatureDetailsComponent_table_0_tr_2_td_5_Template(rf, ctx) { if (rf & 1) {
|
|
16360
16524
|
const _r20 = i0.ɵɵgetCurrentView();
|
|
16361
16525
|
i0.ɵɵelementStart(0, "td")(1, "u", 13);
|
|
@@ -16366,7 +16530,7 @@ function FeatureDetailsComponent_table_0_tr_2_td_5_Template(rf, ctx) { if (rf &
|
|
|
16366
16530
|
const property_r3 = i0.ɵɵnextContext().$implicit;
|
|
16367
16531
|
const ctx_r8 = i0.ɵɵnextContext(2);
|
|
16368
16532
|
i0.ɵɵadvance(1);
|
|
16369
|
-
i0.ɵɵproperty("ngStyle", i0.ɵɵpureFunction0(2, _c0$
|
|
16533
|
+
i0.ɵɵproperty("ngStyle", i0.ɵɵpureFunction0(2, _c0$f));
|
|
16370
16534
|
i0.ɵɵadvance(1);
|
|
16371
16535
|
i0.ɵɵtextInterpolate(ctx_r8.getEmbeddedLinkText(property_r3.value));
|
|
16372
16536
|
} }
|
|
@@ -16383,7 +16547,7 @@ function FeatureDetailsComponent_table_0_tr_2_td_6_Template(rf, ctx) { if (rf &
|
|
|
16383
16547
|
i0.ɵɵelementEnd()();
|
|
16384
16548
|
} if (rf & 2) {
|
|
16385
16549
|
i0.ɵɵadvance(1);
|
|
16386
|
-
i0.ɵɵproperty("ngStyle", i0.ɵɵpureFunction0(4, _c0$
|
|
16550
|
+
i0.ɵɵproperty("ngStyle", i0.ɵɵpureFunction0(4, _c0$f));
|
|
16387
16551
|
i0.ɵɵadvance(1);
|
|
16388
16552
|
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(3, 2, "igo.geo.targetHtmlUrl"));
|
|
16389
16553
|
} }
|
|
@@ -16676,7 +16840,7 @@ class FeatureDetailsComponent {
|
|
|
16676
16840
|
}
|
|
16677
16841
|
}
|
|
16678
16842
|
}
|
|
16679
|
-
FeatureDetailsComponent.ɵfac = function FeatureDetailsComponent_Factory(t) { return new (t || FeatureDetailsComponent)(i0.ɵɵdirectiveInject(i1$
|
|
16843
|
+
FeatureDetailsComponent.ɵfac = function FeatureDetailsComponent_Factory(t) { return new (t || FeatureDetailsComponent)(i0.ɵɵdirectiveInject(i1$1.HttpClient), i0.ɵɵdirectiveInject(i0.ChangeDetectorRef), i0.ɵɵdirectiveInject(i2$3.DomSanitizer), i0.ɵɵdirectiveInject(i2$1.NetworkService), i0.ɵɵdirectiveInject(i2$1.MessageService), i0.ɵɵdirectiveInject(i2$1.ConfigService)); };
|
|
16680
16844
|
FeatureDetailsComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: FeatureDetailsComponent, selectors: [["igo-feature-details"]], inputs: { source: "source", map: "map", toolbox: "toolbox", feature: "feature" }, outputs: { routeEvent: "routeEvent", selectFeature: "selectFeature", htmlDisplayEvent: "htmlDisplayEvent" }, decls: 2, vars: 2, consts: [["class", "igo-striped mat-typography", 4, "ngIf"], [3, "srcdoc", "src", 4, "ngIf"], [1, "igo-striped", "mat-typography"], [4, "ngFor", "ngForOf"], [4, "ngIf"], ["id", "keyValue", 4, "ngIf"], [3, "innerHTML", 4, "ngIf"], ["mat-list-avatar", "", 3, "svgIcon"], ["target", "_blank", "rel", "noopener noreferrer", 3, "href"], ["mat-icon-button", "", 1, "copyClipboard", 3, "click"], ["svgIcon", "content-copy"], ["id", "keyValue"], [3, "innerHTML"], [3, "ngStyle", "click"], ["target", "_blank", "rel", "noopener noreferrer", 3, "href", "click"], ["igoImageError", "", "width", "225", "height", "auto", 3, "src"], [3, "srcdoc", "src"]], template: function FeatureDetailsComponent_Template(rf, ctx) { if (rf & 1) {
|
|
16681
16845
|
i0.ɵɵtemplate(0, FeatureDetailsComponent_table_0_Template, 4, 3, "table", 0);
|
|
16682
16846
|
i0.ɵɵtemplate(1, FeatureDetailsComponent_iframe_1_Template, 1, 2, "iframe", 1);
|
|
@@ -16684,11 +16848,11 @@ FeatureDetailsComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: Fea
|
|
|
16684
16848
|
i0.ɵɵproperty("ngIf", ctx.ready && ctx.feature && ctx.isObject(ctx.feature.properties) && ctx.feature.properties.target !== "iframe");
|
|
16685
16849
|
i0.ɵɵadvance(1);
|
|
16686
16850
|
i0.ɵɵproperty("ngIf", ctx.isHtmlDisplay());
|
|
16687
|
-
} }, dependencies: [i1
|
|
16851
|
+
} }, dependencies: [i1.NgForOf, i1.NgIf, i1.NgStyle, i2.MatIcon, i5$1.ImageErrorDirective, i1.AsyncPipe, i1.JsonPipe, i7.TranslatePipe, i5$1.KeyValuePipe, i5$1.SecureImagePipe], styles: ["table[_ngcontent-%COMP%]{width:100%}table[_ngcontent-%COMP%] td[_ngcontent-%COMP%]{padding:5px}#keyValue[_ngcontent-%COMP%]{width:30%}table[_ngcontent-%COMP%] .routing{cursor:pointer}iframe[_ngcontent-%COMP%]{height:calc(100% - 4px);width:100%;border:0}.copyClipboard[_ngcontent-%COMP%]{border:none;background:transparent;cursor:pointer}"], changeDetection: 0 });
|
|
16688
16852
|
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(FeatureDetailsComponent, [{
|
|
16689
16853
|
type: Component,
|
|
16690
16854
|
args: [{ selector: 'igo-feature-details', changeDetection: ChangeDetectionStrategy.OnPush, template: "<table class=\"igo-striped mat-typography\" *ngIf=\"ready && feature && isObject(feature.properties) && feature.properties.target !== 'iframe'\">\n <tbody>\n <tr *ngFor=\"let property of filterFeatureProperties(feature) | keyvalue\">\n\n <td *ngIf=\"feature.properties.target === '_blank' && property.key === 'url'\">\n <mat-icon mat-list-avatar svgIcon=\"{{icon}}\"></mat-icon>\n </td>\n\n <td *ngIf=\"feature.properties.target === '_blank' && property.key === 'url'\">\n <a href=\"{{property.value}}\" target='_blank' rel=\"noopener noreferrer\"> {{ 'igo.geo.targetHtmlUrl' | translate }} {{title}}</a>\n <button class=\"copyClipboard\" mat-icon-button (click)=\"copyTextToClipboard(property.value)\">\n <mat-icon svgIcon=\"content-copy\"></mat-icon>\n </button>\n </td>\n\n <td id=\"keyValue\" *ngIf=\"feature.properties.target === undefined\">\n {{property.key}}\n </td>\n\n <td *ngIf=\"feature.properties.target === undefined && !isObject(property.value) && !isUrl(property.value) && !isEmbeddedLink(property.value)\" [innerHTML]=\"property.value\">\n </td>\n\n <td *ngIf=\"feature.properties.target === undefined && isEmbeddedLink(property.value)\">\n <u [ngStyle]=\"{'cursor': 'pointer', 'color': 'blue'}\" (click)=\"openSecureUrl(property.value)\">{{ getEmbeddedLinkText(property.value) }}</u>\n </td>\n\n <td *ngIf=\"feature.properties.target === undefined && !isObject(property.value) && (isDoc(property.value) || isUrl(property.value)) && !isImg(property.value)\">\n <u [ngStyle]=\"{'cursor': 'pointer', 'color': 'blue'}\" (click)=\"openSecureUrl(property.value)\">{{ 'igo.geo.targetHtmlUrl' | translate }}</u>\n <button class=\"copyClipboard\" mat-icon-button (click)=\"copyTextToClipboard(property.value)\">\n <mat-icon svgIcon=\"content-copy\"></mat-icon>\n </button>\n </td>\n\n <td *ngIf=\"feature.properties.target === undefined && !isObject(property.value) && isUrl(property.value) && isImg(property.value)\">\n <a href=\"{{property.value}}\" target='_blank' (click)=\"openSecureUrl(property.value)\" rel=\"noopener noreferrer\">\n <img igoImageError src=\"{{(property.value | secureImage) |\u00A0async}}\" width=\"225\" height=\"auto\">\n </a>\n </td>\n\n <td *ngIf=\"feature.properties.target === undefined && isObject(property.value)\" [innerHTML]=\"property.value | json\">\n </td>\n\n </tr>\n </tbody>\n</table>\n\n<iframe *ngIf=\"isHtmlDisplay()\" [srcdoc]=\"htmlSanitizer(feature.properties)\" [src]=\"urlSanitizer(feature.properties.url)\"></iframe>\n", styles: ["table{width:100%}table td{padding:5px}#keyValue{width:30%}table ::ng-deep .routing{cursor:pointer}iframe{height:calc(100% - 4px);width:100%;border:0}.copyClipboard{border:none;background:transparent;cursor:pointer}\n"] }]
|
|
16691
|
-
}], function () { return [{ type: i1$
|
|
16855
|
+
}], function () { return [{ type: i1$1.HttpClient }, { type: i0.ChangeDetectorRef }, { type: i2$3.DomSanitizer }, { type: i2$1.NetworkService }, { type: i2$1.MessageService }, { type: i2$1.ConfigService }]; }, { source: [{
|
|
16692
16856
|
type: Input
|
|
16693
16857
|
}], map: [{
|
|
16694
16858
|
type: Input
|
|
@@ -16704,7 +16868,7 @@ FeatureDetailsComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: Fea
|
|
|
16704
16868
|
type: Output
|
|
16705
16869
|
}] }); })();
|
|
16706
16870
|
|
|
16707
|
-
const _c0$
|
|
16871
|
+
const _c0$e = ["igoForm"];
|
|
16708
16872
|
const _c1$a = ["*", [["", "formButtons", ""]]];
|
|
16709
16873
|
const _c2$5 = ["*", "[formButtons]"];
|
|
16710
16874
|
/**
|
|
@@ -16779,7 +16943,7 @@ class FeatureFormComponent {
|
|
|
16779
16943
|
}
|
|
16780
16944
|
FeatureFormComponent.ɵfac = function FeatureFormComponent_Factory(t) { return new (t || FeatureFormComponent)(); };
|
|
16781
16945
|
FeatureFormComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: FeatureFormComponent, selectors: [["igo-feature-form"]], viewQuery: function FeatureFormComponent_Query(rf, ctx) { if (rf & 1) {
|
|
16782
|
-
i0.ɵɵviewQuery(_c0$
|
|
16946
|
+
i0.ɵɵviewQuery(_c0$e, 7);
|
|
16783
16947
|
} if (rf & 2) {
|
|
16784
16948
|
let _t;
|
|
16785
16949
|
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.igoForm = _t.first);
|
|
@@ -16793,7 +16957,7 @@ FeatureFormComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: Featur
|
|
|
16793
16957
|
i0.ɵɵelementEnd();
|
|
16794
16958
|
} if (rf & 2) {
|
|
16795
16959
|
i0.ɵɵproperty("form", ctx.form)("formData", i0.ɵɵpipeBind1(2, 2, ctx.feature$));
|
|
16796
|
-
} }, dependencies: [i5$1.FormComponent, i1
|
|
16960
|
+
} }, dependencies: [i5$1.FormComponent, i1.AsyncPipe], styles: ["[_nghost-%COMP%]{display:block}igo-form[_ngcontent-%COMP%]{height:100%}"], changeDetection: 0 });
|
|
16797
16961
|
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(FeatureFormComponent, [{
|
|
16798
16962
|
type: Component,
|
|
16799
16963
|
args: [{ selector: 'igo-feature-form', changeDetection: ChangeDetectionStrategy.OnPush, template: "\n<igo-form\n #igoForm\n [form]=\"form\"\n [formData]=\"feature$ | async\"\n (submitForm)=\"onSubmit($event)\">\n\n <ng-content></ng-content>\n \n <ng-content select=\"[formButtons]\" formButtons></ng-content>\n \n</igo-form>\n", styles: [":host{display:block}igo-form{height:100%}\n"] }]
|
|
@@ -17766,7 +17930,7 @@ class DrawPopupComponent {
|
|
|
17766
17930
|
return this.languageService.translate.instant('igo.geo.draw.labelType.' + option);
|
|
17767
17931
|
}
|
|
17768
17932
|
}
|
|
17769
|
-
DrawPopupComponent.ɵfac = function DrawPopupComponent_Factory(t) { return new (t || DrawPopupComponent)(i0.ɵɵdirectiveInject(i2$1.LanguageService), i0.ɵɵdirectiveInject(
|
|
17933
|
+
DrawPopupComponent.ɵfac = function DrawPopupComponent_Factory(t) { return new (t || DrawPopupComponent)(i0.ɵɵdirectiveInject(i2$1.LanguageService), i0.ɵɵdirectiveInject(i3.MatDialogRef), i0.ɵɵdirectiveInject(MAT_DIALOG_DATA)); };
|
|
17770
17934
|
DrawPopupComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: DrawPopupComponent, selectors: [["igo-draw-popup-component"]], inputs: { confirmFlag: "confirmFlag", labelFlag: "labelFlag", coordinatesMeasureUnit: "coordinatesMeasureUnit", lengthMeasureUnit: "lengthMeasureUnit", areaMeasureUnit: "areaMeasureUnit" }, decls: 14, vars: 14, consts: [["mat-dialog-title", ""], [1, "geometry-type-toggle", "mat-typography"], [3, "value", "change"], [3, "value"], [4, "ngIf"], [1, "mat-typography"], ["class", "mat-typography", 4, "ngIf"], ["mat-dialog-actions", ""], ["mat-raised-button", "", 3, "click"], ["mat-raised-button", "", "color", "primary", 3, "click"], [3, "value", "disabled", "checked", "change", 4, "ngFor", "ngForOf"], [3, "value", "disabled", "checked", "change"], ["class", "mat-typography", 3, "value", "disabled", "checked", "change", 4, "ngFor", "ngForOf"], [1, "mat-typography", 3, "value", "disabled", "checked", "change"], [1, "readOnly-Input"], ["matInput", "", "placeholder", "(Latitude, Longitude)", "readonly", "", 3, "value"], ["input", ""], [1, "unit-field"], [3, "value", "selectionChange"], [3, "value", 4, "ngFor", "ngForOf"], ["matInput", "", "readonly", "", 3, "placeholder", "value"], [1, "input"], ["matInput", "", "cdkFocusInitial", "", 3, "placeholder", "value", "select", "input"]], template: function DrawPopupComponent_Template(rf, ctx) { if (rf & 1) {
|
|
17771
17935
|
i0.ɵɵelementStart(0, "div")(1, "h2", 0);
|
|
17772
17936
|
i0.ɵɵtext(2);
|
|
@@ -17801,11 +17965,11 @@ DrawPopupComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: DrawPopu
|
|
|
17801
17965
|
i0.ɵɵproperty("ngIf", ctx.labelFlag !== ctx.labelType.Custom);
|
|
17802
17966
|
i0.ɵɵadvance(1);
|
|
17803
17967
|
i0.ɵɵproperty("ngIf", ctx.labelFlag === ctx.labelType.Custom);
|
|
17804
|
-
} }, dependencies: [i1
|
|
17968
|
+
} }, dependencies: [i1.NgForOf, i1.NgIf, i3$1.MatButton, i18.MatButtonToggleGroup, i18.MatButtonToggle, i13.MatFormField, i14.MatInput, i15.MatSelect, i9.MatOption, i3.MatDialogTitle, i3.MatDialogActions, i17.MatRadioGroup, i17.MatRadioButton, i12.MatCheckbox, i7.TranslatePipe], styles: [".mat-radio-button[_ngcontent-%COMP%] ~ .mat-radio-button[_ngcontent-%COMP%]{margin-left:16px}.readOnly-Input[_ngcontent-%COMP%]{width:200px!important}.unit-field[_ngcontent-%COMP%]{width:50px;margin-left:10px;margin-top:10px}.mat-form-field[_ngcontent-%COMP%]{position:-webkit-sticky!important;position:sticky!important}.coordinatesInputView[_ngcontent-%COMP%]{top:5em!important} .mat-form-field-wrapper{margin-bottom:-1.25em;margin-top:.25em}.geometry-type-toggle[_ngcontent-%COMP%], .mat-dialog-actions[_ngcontent-%COMP%]{display:flex!important;justify-content:center}.input[_ngcontent-%COMP%]{width:auto!important}.mat-button-toggle-group[_ngcontent-%COMP%], .mat-button-toggle[_ngcontent-%COMP%]{width:100%}mat-checkbox[_ngcontent-%COMP%]{margin-right:10px}"] });
|
|
17805
17969
|
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(DrawPopupComponent, [{
|
|
17806
17970
|
type: Component,
|
|
17807
17971
|
args: [{ selector: 'igo-draw-popup-component', template: "<div>\n <h2 mat-dialog-title>\n {{ 'igo.geo.draw.popupTitle' | translate }}\n </h2>\n</div>\n\n\n<div class=\"geometry-type-toggle mat-typography\">\n <mat-button-toggle-group\n (change)=\"onLabelTypeChange($event.value)\" [value]=\"customOrPredefined\">\n <mat-button-toggle [value]=\"labelType.Custom\" >\n {{ 'igo.geo.draw.labelType.custom' | translate }}\n </mat-button-toggle>\n <mat-button-toggle [value]=\"labelType.Predefined\">\n {{ 'igo.geo.draw.labelType.predefined' | translate }}\n </mat-button-toggle>\n </mat-button-toggle-group>\n</div>\n\n<div *ngIf=\"labelFlag !== labelType.Custom\">\n <div>\n <p class=\"mat-typography\">{{ 'igo.geo.draw.builtInInstructions' | translate }}</p>\n <mat-radio-group *ngIf=\"olGeometryType !== 'Polygon'\" class=\"mat-typography\">\n <mat-radio-button *ngFor=\"let option of arrayBuiltInType\" [value]=\"option.value\" [disabled]=\"optionAvailable(option.value)\" \n (change)=\"onLabelTypeChange($event.value)\" [checked]=\"option.checked\">\n {{getProperLengthLabel(option.value)}}\n </mat-radio-button>\n </mat-radio-group>\n <ng-container class=\"mat-typography\" *ngIf=\"olGeometryType === 'Polygon'\">\n <mat-checkbox\n *ngFor=\"let option of arrayBuiltInType\"\n class=\"mat-typography\"\n [value]=\"option.value\"\n [disabled]=\"optionAvailable(option.value)\"\n (change)=\"onLabelTypeChange($event.source.value, $event.checked)\"\n [checked]=\"option.checked\">\n {{getProperLengthLabel(option.value)}}\n </mat-checkbox>\n </ng-container>\n <div *ngIf=\"labelFlag === labelType.Coordinates\">\n <mat-form-field class=\"readOnly-Input\">\n <input\n #input\n matInput\n placeholder=\"(Latitude, Longitude)\"\n value=\"{{currentCoordinates}}\" readonly>\n </mat-form-field>\n <mat-form-field class=\"unit-field\">\n <mat-select [value]=\"coordinatesMeasureUnit\" (selectionChange)=\"onChangeCoordinateUnit($event.value)\">\n <mat-option *ngFor=\"let unit of allCoordinatesUnits\" [value]=\"unit\">\n {{unit}}\n </mat-option>\n </mat-select> \n </mat-form-field>\n </div>\n <div *ngIf=\"labelFlag === labelType.Length || polygonCheck === 2\">\n <mat-form-field class=\"readOnly-Input\">\n <input\n #input\n matInput\n placeholder={{lengthLabelT}}\n value=\"{{currentLength}}\" readonly>\n </mat-form-field>\n <mat-form-field class=\"unit-field\">\n <mat-select [value]=\"lengthMeasureUnit\" (selectionChange)=\"onChangeLengthUnit($event.value)\">\n <mat-option *ngFor=\"let unit of allLengthUnits\" [value]=\"unit\">\n {{getLengthUnitEnum(unit)}}\n </mat-option>\n </mat-select> \n </mat-form-field>\n </div>\n <div *ngIf=\"labelFlag === labelType.Area || polygonCheck === 2\">\n <mat-form-field class=\"readOnly-Input\">\n <input\n #input\n matInput\n placeholder=\"{{ 'igo.geo.draw.labelType.Area' | translate }}\"\n value=\"{{currentArea}}\" readonly>\n </mat-form-field>\n <mat-form-field class=\"unit-field\">\n <mat-select [value]=\"areaMeasureUnit\" (selectionChange)=\"onChangeAreaUnit($event.value)\">\n <mat-option *ngFor=\"let unit of allAreaUnits\" [value]=\"unit\">\n {{getAreaUnitEnum(unit)}}\n </mat-option>\n </mat-select>\n </mat-form-field>\n </div>\n </div>\n\n\n <div mat-dialog-actions>\n <button mat-raised-button (click)=\"cancelDrawing()\" >\n {{'igo.geo.draw.cancel' | translate}}\n </button>\n <button \n mat-raised-button \n color=\"primary\" \n (click)=\"confirm()\"> \n {{noLabelButton()}} \n </button>\n </div>\n</div>\n\n<div *ngIf=\"labelFlag === labelType.Custom\">\n <div>\n <p class=\"mat-typography\">{{ 'igo.geo.draw.dialogInstruction' | translate }}</p>\n <mat-form-field class=\"input\">\n <input\n #input\n matInput\n (select)=\"true\"\n (input)=\"getLabelLength($event.target.value)\"\n placeholder=\"{{'igo.geo.draw.dialogTitle' | translate}}\"\n value=\"{{ currentLabel }}\"\n cdkFocusInitial/>\n </mat-form-field>\n </div>\n \n <div mat-dialog-actions>\n <button mat-raised-button (click)=\"cancelDrawing()\" >\n {{'igo.geo.draw.cancel' | translate}}\n </button>\n <button \n mat-raised-button \n color=\"primary\" \n (click)=\"confirm(input.value)\">\n {{noLabelButton()}}\n </button>\n </div>\n</div>\n", styles: [".mat-radio-button~.mat-radio-button{margin-left:16px}.readOnly-Input{width:200px!important}.unit-field{width:50px;margin-left:10px;margin-top:10px}.mat-form-field{position:-webkit-sticky!important;position:sticky!important}.coordinatesInputView{top:5em!important}::ng-deep .mat-form-field-wrapper{margin-bottom:-1.25em;margin-top:.25em}.geometry-type-toggle,.mat-dialog-actions{display:flex!important;justify-content:center}.input{width:auto!important}.mat-button-toggle-group,.mat-button-toggle{width:100%}mat-checkbox{margin-right:10px}\n"] }]
|
|
17808
|
-
}], function () { return [{ type: i2$1.LanguageService }, { type:
|
|
17972
|
+
}], function () { return [{ type: i2$1.LanguageService }, { type: i3.MatDialogRef }, { type: undefined, decorators: [{
|
|
17809
17973
|
type: Inject,
|
|
17810
17974
|
args: [MAT_DIALOG_DATA]
|
|
17811
17975
|
}] }]; }, { confirmFlag: [{
|
|
@@ -17856,7 +18020,7 @@ DrawShorcutsComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: DrawS
|
|
|
17856
18020
|
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(15, 8, "igo.geo.draw.abort"));
|
|
17857
18021
|
i0.ɵɵadvance(5);
|
|
17858
18022
|
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(20, 10, "igo.geo.draw.move"));
|
|
17859
|
-
} }, dependencies: [i3.MatButton, i2.MatIcon,
|
|
18023
|
+
} }, dependencies: [i3$1.MatButton, i2.MatIcon, i3.MatDialogClose, i3.MatDialogContent, i3.MatDialogActions, i7.TranslatePipe], styles: [".shortcut[_ngcontent-%COMP%]{display:flex;align-items:center}.shortcut-icon[_ngcontent-%COMP%]{margin-right:10px}.shortcuts-close[_ngcontent-%COMP%]{display:flex;justify-content:center}"] });
|
|
17860
18024
|
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(DrawShorcutsComponent, [{
|
|
17861
18025
|
type: Component,
|
|
17862
18026
|
args: [{ selector: 'igo-draw-shorcuts', template: "<mat-dialog-content>\n <div>\n <span class=\"shortcut mat-typography\">\n <mat-icon class=\"shortcut-icon\" svgIcon=\"keyboard-return\"></mat-icon>{{'igo.geo.draw.finish' | translate}}</span>\n </div>\n <div>\n <span class=\"shortcut mat-typography\">\n <mat-icon class=\"shortcut-icon\" svgIcon=\"backspace-outline\"></mat-icon>{{'igo.geo.draw.undo' | translate}}</span>\n </div>\n <div>\n <span class=\"shortcut mat-typography\">\n <mat-icon class=\"shortcut-icon\" svgIcon=\"keyboard-esc\"></mat-icon>{{'igo.geo.draw.abort' | translate}}</span>\n </div>\n <div>\n <span class=\"shortcut mat-typography\">\n <mat-icon class=\"shortcut-icon\" svgIcon=\"keyboard-space\"></mat-icon>{{'igo.geo.draw.move' | translate}}</span>\n </div>\n</mat-dialog-content>\n<mat-dialog-actions class=\"shortcuts-close\">\n <button mat-raised-button mat-dialog-close color=\"primary\">OK</button>\n</mat-dialog-actions>", styles: [".shortcut{display:flex;align-items:center}.shortcut-icon{margin-right:10px}.shortcuts-close{display:flex;justify-content:center}\n"] }]
|
|
@@ -17875,7 +18039,7 @@ class DrawLayerPopupComponent {
|
|
|
17875
18039
|
this.dialogRef.close(labelString);
|
|
17876
18040
|
}
|
|
17877
18041
|
}
|
|
17878
|
-
DrawLayerPopupComponent.ɵfac = function DrawLayerPopupComponent_Factory(t) { return new (t || DrawLayerPopupComponent)(i0.ɵɵdirectiveInject(
|
|
18042
|
+
DrawLayerPopupComponent.ɵfac = function DrawLayerPopupComponent_Factory(t) { return new (t || DrawLayerPopupComponent)(i0.ɵɵdirectiveInject(i3.MatDialogRef)); };
|
|
17879
18043
|
DrawLayerPopupComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: DrawLayerPopupComponent, selectors: [["igo-draw-popup-component"]], inputs: { confirmFlag: "confirmFlag" }, decls: 14, vars: 9, consts: [["mat-dialog-content", ""], [1, "mat-typography"], [1, "example-full-width"], ["matInput", "", 3, "placeholder"], ["input", ""], ["mat-dialog-actions", ""], ["mat-raised-button", "", 3, "click"], ["mat-raised-button", "", "color", "primary", 3, "click"]], template: function DrawLayerPopupComponent_Template(rf, ctx) { if (rf & 1) {
|
|
17880
18044
|
const _r1 = i0.ɵɵgetCurrentView();
|
|
17881
18045
|
i0.ɵɵelementStart(0, "div", 0)(1, "p", 1);
|
|
@@ -17902,15 +18066,15 @@ DrawLayerPopupComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: Dra
|
|
|
17902
18066
|
i0.ɵɵpropertyInterpolate("placeholder", i0.ɵɵpipeBind1(7, 5, "igo.geo.draw.layer.title"));
|
|
17903
18067
|
i0.ɵɵadvance(5);
|
|
17904
18068
|
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(11, 7, "igo.geo.draw.cancel"), " ");
|
|
17905
|
-
} }, dependencies: [i3.MatButton, i13.MatFormField, i14.MatInput,
|
|
18069
|
+
} }, dependencies: [i3$1.MatButton, i13.MatFormField, i14.MatInput, i3.MatDialogContent, i3.MatDialogActions, i7.TranslatePipe] });
|
|
17906
18070
|
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(DrawLayerPopupComponent, [{
|
|
17907
18071
|
type: Component,
|
|
17908
18072
|
args: [{ selector: 'igo-draw-popup-component', template: "<div mat-dialog-content>\n <p class=\"mat-typography\">\n {{ 'igo.geo.draw.layer.layerDialogInstruction' | translate }}\n </p>\n <mat-form-field class=\"example-full-width\">\n <input\n #input\n matInput\n placeholder=\"{{ 'igo.geo.draw.layer.title' | translate }}\"\n />\n </mat-form-field>\n</div>\n<div mat-dialog-actions>\n <button mat-raised-button (click)=\"cancelDrawing()\">\n {{ 'igo.geo.draw.cancel' | translate }}\n </button>\n <button mat-raised-button color=\"primary\" (click)=\"confirm(input.value)\">\n OK\n </button>\n</div>\n" }]
|
|
17909
|
-
}], function () { return [{ type:
|
|
18073
|
+
}], function () { return [{ type: i3.MatDialogRef }]; }, { confirmFlag: [{
|
|
17910
18074
|
type: Input
|
|
17911
18075
|
}] }); })();
|
|
17912
18076
|
|
|
17913
|
-
const _c0$
|
|
18077
|
+
const _c0$d = ["selectedLayer"];
|
|
17914
18078
|
function DrawComponent_mat_slide_toggle_22_Template(rf, ctx) { if (rf & 1) {
|
|
17915
18079
|
const _r10 = i0.ɵɵgetCurrentView();
|
|
17916
18080
|
i0.ɵɵelementStart(0, "mat-slide-toggle", 5);
|
|
@@ -18985,9 +19149,9 @@ class DrawComponent {
|
|
|
18985
19149
|
return Number(length / (2 * Math.PI));
|
|
18986
19150
|
}
|
|
18987
19151
|
}
|
|
18988
|
-
DrawComponent.ɵfac = function DrawComponent_Factory(t) { return new (t || DrawComponent)(i0.ɵɵdirectiveInject(i2$1.LanguageService), i0.ɵɵdirectiveInject(i2$2.UntypedFormBuilder), i0.ɵɵdirectiveInject(DrawStyleService), i0.ɵɵdirectiveInject(
|
|
19152
|
+
DrawComponent.ɵfac = function DrawComponent_Factory(t) { return new (t || DrawComponent)(i0.ɵɵdirectiveInject(i2$1.LanguageService), i0.ɵɵdirectiveInject(i2$2.UntypedFormBuilder), i0.ɵɵdirectiveInject(DrawStyleService), i0.ɵɵdirectiveInject(i3.MatDialog), i0.ɵɵdirectiveInject(DrawIconService)); };
|
|
18989
19153
|
DrawComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: DrawComponent, selectors: [["igo-draw"]], viewQuery: function DrawComponent_Query(rf, ctx) { if (rf & 1) {
|
|
18990
|
-
i0.ɵɵviewQuery(_c0$
|
|
19154
|
+
i0.ɵɵviewQuery(_c0$d, 5);
|
|
18991
19155
|
} if (rf & 2) {
|
|
18992
19156
|
let _t;
|
|
18993
19157
|
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.select = _t.first);
|
|
@@ -19105,7 +19269,7 @@ DrawComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: DrawComponent
|
|
|
19105
19269
|
i0.ɵɵproperty("matTooltip", i0.ɵɵpipeBind1(47, 45, "igo.geo.draw.shortcuts"));
|
|
19106
19270
|
i0.ɵɵadvance(2);
|
|
19107
19271
|
i0.ɵɵproperty("ngIf", ctx.selectedFeatures$.value.length);
|
|
19108
|
-
} }, dependencies: [i2$2.ɵNgNoValidate, i2$2.DefaultValueAccessor, i2$2.NumberValueAccessor, i2$2.NgControlStatus, i2$2.NgControlStatusGroup, i2$2.MinValidator, i2$2.NgForm, i2$2.FormControlDirective, i1
|
|
19272
|
+
} }, dependencies: [i2$2.ɵNgNoValidate, i2$2.DefaultValueAccessor, i2$2.NumberValueAccessor, i2$2.NgControlStatus, i2$2.NgControlStatusGroup, i2$2.MinValidator, i2$2.NgForm, i2$2.FormControlDirective, i1.NgForOf, i1.NgIf, i3$1.MatButton, i18.MatButtonToggleGroup, i18.MatButtonToggle, i11.MatDivider, i13.MatFormField, i13.MatLabel, i2.MatIcon, i7$1.MatBadge, i4.MatTooltip, i14.MatInput, i15.MatSelect, i15.MatSelectTrigger, i9.MatOption, i23.MatSlideToggle, i5$1.EntityTableComponent, i1.AsyncPipe, i7.TranslatePipe], styles: [".geometry-type-toggle[_ngcontent-%COMP%]{padding:10px;text-align:center}.geometry-type-toggle[_ngcontent-%COMP%] mat-button-toggle-group[_ngcontent-%COMP%]{width:100%}.geometry-type-toggle[_ngcontent-%COMP%] mat-button-toggle-group[_ngcontent-%COMP%] mat-button-toggle[_ngcontent-%COMP%]{width:25%}.draw-options[_ngcontent-%COMP%]{overflow-x:hidden}.draw-options[_ngcontent-%COMP%] mat-slide-toggle[_ngcontent-%COMP%]{width:100%;margin:10px}.draw-options[_ngcontent-%COMP%] mat-slide-toggle[_ngcontent-%COMP%] .mat-slide-toggle-content{width:calc(100% - 60px)}.icon-options[_ngcontent-%COMP%]{margin:5px 5px 0}.edition-drawing[_ngcontent-%COMP%]{padding:10px 0}img[_ngcontent-%COMP%]{width:100%;height:100%}.deleteBtn[_ngcontent-%COMP%]{margin-left:12px}.storeTable[_ngcontent-%COMP%]{height:auto!important}.layer-select[_ngcontent-%COMP%]{width:85%;padding:10px 10px 0%}.input-button-container[_ngcontent-%COMP%]{padding:10px}.input-button-container[_ngcontent-%COMP%] mat-form-field[_ngcontent-%COMP%]{width:25%}.input-button-container[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{left:8px;bottom:10px}.radius[_ngcontent-%COMP%]{display:flex;flex-flow:column nowrap;width:110%}.unit-field[_ngcontent-%COMP%]{width:110px;margin-left:30px}.radius-unit[_ngcontent-%COMP%]{display:flex;width:100%;margin-left:2px;padding:5px} igo-entity-table td:last-child{text-align:right!important} igo-entity-table td:last-child button{margin:0%!important}"], data: { animation: [
|
|
19109
19273
|
trigger('openClose', [
|
|
19110
19274
|
state('open', style({
|
|
19111
19275
|
opacity: 1
|
|
@@ -19131,7 +19295,7 @@ DrawComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: DrawComponent
|
|
|
19131
19295
|
transition('closed => open', [animate('800ms ease')])
|
|
19132
19296
|
])
|
|
19133
19297
|
], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div>\n <div class=\"geometry-type-toggle mat-typography\">\n <mat-button-toggle-group\n (change)=\"onGeometryTypeChange($event.value)\" [value]=\"geometryType.Point\">\n <mat-button-toggle [value]=\"geometryType.Point\">\n {{'igo.geo.draw.' + geometryType.Point | translate}}\n </mat-button-toggle>\n\n <mat-button-toggle [value]=\"geometryType.LineString\">\n {{'igo.geo.draw.' + geometryType.LineString | translate}}\n </mat-button-toggle>\n\n <mat-button-toggle [value]=\"geometryType.Polygon\">\n {{'igo.geo.draw.' + geometryType.Polygon | translate}}\n </mat-button-toggle>\n\n <mat-button-toggle [value]=\"geometryType.Circle\">\n {{'igo.geo.draw.' + geometryType.Circle | translate}}\n </mat-button-toggle>\n </mat-button-toggle-group>\n </div>\n\n <div class=\"draw-options mat-typography\">\n <mat-slide-toggle\n [disabled]=\"drawControlIsDisabled\"\n [checked]=\"drawControlIsActive\"\n [labelPosition]=\"'before'\"\n (change)=\"onToggleDrawControl($event.checked)\">\n {{'igo.geo.spatialFilter.drawControl' | translate}}\n </mat-slide-toggle>\n\n <mat-slide-toggle\n [checked]=\"labelsAreShown\"\n [labelPosition]=\"'before'\"\n (change)=\"onToggleLabels()\">\n {{ 'igo.geo.draw.toggleMapTooltips' | translate }}\n </mat-slide-toggle>\n\n <mat-slide-toggle\n *ngIf=\"!isPoint()\"\n [checked]=\"freehandMode\"\n [labelPosition]=\"'before'\"\n (change)=\"onToggleFreehandMode($event)\">\n {{ 'igo.geo.draw.freehandMode' | translate }}\n </mat-slide-toggle>\n\n <div class=\"radius-unit\" *ngIf=\"isCircle()\">\n <form class=\"radius-form\">\n <mat-form-field class=\"radius\">\n <input\n matInput type=\"number\"\n min=\"0\"\n placeholder=\"{{ 'igo.geo.spatialFilter.radius' | translate }}\"\n [formControl]=\"radiusFormControl\"\n [readonly]=\"this.freehandMode\">\n </mat-form-field>\n </form>\n\n <mat-form-field class=\"unit-field\">\n <mat-select\n [value]=\"measureUnit\"\n (selectionChange)=\"onMeasureUnitChange($event.value)\">\n <mat-option\n *ngFor=\"let measureUnit of measureUnits\"\n [value]=\"measureUnit\">\n {{('igo.geo.measure.' + measureUnit) | translate}}\n </mat-option>\n </mat-select>\n </mat-form-field>\n </div>\n </div>\n\n <mat-divider></mat-divider>\n\n <div>\n <mat-form-field appearance=\"outline\" class=\"layer-select\">\n <mat-label>{{'igo.geo.draw.layer.title' | translate}}</mat-label>\n <mat-select #selectedLayer (selectionChange)=\"onLayerChange(selectedLayer.value)\" [value]=\"updateActiveLayer()\">\n <mat-option *ngFor=\"let layer of allLayers\" [value]=\"layer\">\n {{ layer.title }}\n </mat-option>\n <mat-option id=\"createNewLayer\" >\n {{'igo.geo.draw.layer.createNewLayer' | translate}}\n </mat-option>\n </mat-select>\n </mat-form-field>\n <button\n *ngIf=\"activeDrawingLayer\"\n mat-icon-button\n [color]=\"activeDrawingLayer.visible ? 'primary' : 'default'\"\n collapsibleButton\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"activeDrawingLayer.visible ?\n ('igo.geo.layer.hideLayer' | translate) :\n ('igo.geo.layer.showLayer' | translate)\"\n (click)=\"activeDrawingLayer.visible = !activeDrawingLayer.visible\">\n <mat-icon\n [svgIcon]=\"activeDrawingLayer.visible ? 'eye' : 'eye-off'\">\n </mat-icon>\n </button>\n </div>\n <mat-divider></mat-divider>\n <div>\n <button\n *ngIf=\"activeStore.count$.getValue() > 0\"\n class=\"deleteBtn\"\n mat-icon-button\n color=\"warn\"\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"'igo.geo.draw.delete' | translate\"\n [disabled]=\"(selectedFeatures$ | async).length === 0\"\n (click)=\"deleteDrawings()\"\n >\n <mat-icon svgIcon=\"delete\"></mat-icon>\n </button>\n\n <div>\n <igo-entity-table\n #table\n class=\"table-compact\"\n [store]=\"activeStore\"\n [template]=\"tableTemplate\">\n </igo-entity-table>\n </div>\n </div>\n\n <div class=\"icon-options\">\n <mat-form-field *ngIf=\"icons.length >= 1\">\n <mat-label>{{ 'igo.geo.draw.icon' | translate }}</mat-label>\n <mat-select>\n <mat-select-trigger>\n <div *ngIf=\"icon\" class=\"box\">\n <img src=\"{{ icon }}\">\n </div>\n </mat-select-trigger>\n <mat-option value=\"\" (click)=\"onIconChange()\">{{ 'igo.geo.draw.noIcon' | translate }}</mat-option>\n <mat-option\n *ngFor=\"let icon_html of icons\"\n [value]=\"icon_html\"\n (click)=\"onIconChange(icon_html)\">\n <div class=\"box\">\n <img src=\"{{ icon_html }}\">\n </div>\n </mat-option>\n </mat-select>\n </mat-form-field>\n </div>\n\n <button\n mat-icon-button\n color=\"accent\"\n disableRipple=\"true\"\n (click)=\"openShorcutsDialog()\"\n >\n <mat-icon\n class=\"shortcuts-icon\"\n svgIcon=\"keyboard-outline\"\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"'igo.geo.draw.shortcuts' | translate\"\n >\n </mat-icon>\n </button>\n\n <button\n *ngIf=\"selectedFeatures$.value.length\"\n mat-raised-button\n color=\"primary\"\n (click)=\"openStyleModalDialog()\"\n [matTooltip]=\"'igo.geo.layer.style.styleModalTooltip' | translate\">\n {{'igo.geo.layer.style.styleModal' | translate}}\n <mat-icon\n class=\"style-icon\"\n svgIcon=\"palette\"\n [matBadge]=\"selectedFeatures$.value.length\"\n matBadgeColor=\"warn\"\n matBadgeSize=\"medium\">\n </mat-icon>\n </button>\n</div>\n", styles: [".geometry-type-toggle{padding:10px;text-align:center}.geometry-type-toggle mat-button-toggle-group{width:100%}.geometry-type-toggle mat-button-toggle-group mat-button-toggle{width:25%}.draw-options{overflow-x:hidden}.draw-options mat-slide-toggle{width:100%;margin:10px}.draw-options mat-slide-toggle ::ng-deep .mat-slide-toggle-content{width:calc(100% - 60px)}.icon-options{margin:5px 5px 0}.edition-drawing{padding:10px 0}img{width:100%;height:100%}.deleteBtn{margin-left:12px}.storeTable{height:auto!important}.layer-select{width:85%;padding:10px 10px 0%}.input-button-container{padding:10px}.input-button-container mat-form-field{width:25%}.input-button-container button{left:8px;bottom:10px}.radius{display:flex;flex-flow:column nowrap;width:110%}.unit-field{width:110px;margin-left:30px}.radius-unit{display:flex;width:100%;margin-left:2px;padding:5px}::ng-deep igo-entity-table td:last-child{text-align:right!important}::ng-deep igo-entity-table td:last-child button{margin:0%!important}\n"] }]
|
|
19134
|
-
}], function () { return [{ type: i2$1.LanguageService }, { type: i2$2.UntypedFormBuilder }, { type: DrawStyleService }, { type:
|
|
19298
|
+
}], function () { return [{ type: i2$1.LanguageService }, { type: i2$2.UntypedFormBuilder }, { type: DrawStyleService }, { type: i3.MatDialog }, { type: DrawIconService }]; }, { map: [{
|
|
19135
19299
|
type: Input
|
|
19136
19300
|
}], stores: [{
|
|
19137
19301
|
type: Input
|
|
@@ -19319,7 +19483,7 @@ class StyleModalComponent {
|
|
|
19319
19483
|
this.dialogRef.close(this.styleModalData);
|
|
19320
19484
|
}
|
|
19321
19485
|
}
|
|
19322
|
-
StyleModalComponent.ɵfac = function StyleModalComponent_Factory(t) { return new (t || StyleModalComponent)(i0.ɵɵdirectiveInject(
|
|
19486
|
+
StyleModalComponent.ɵfac = function StyleModalComponent_Factory(t) { return new (t || StyleModalComponent)(i0.ɵɵdirectiveInject(i3.MatDialogRef), i0.ɵɵdirectiveInject(i2$2.UntypedFormBuilder), i0.ɵɵdirectiveInject(DrawStyleService), i0.ɵɵdirectiveInject(MAT_DIALOG_DATA)); };
|
|
19323
19487
|
StyleModalComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: StyleModalComponent, selectors: [["igo-style-modal-component"]], inputs: { confirmFlag: "confirmFlag" }, decls: 54, vars: 46, consts: [["mat-dialog-content", ""], ["mat-dialog-title", "", 1, "mat-typography"], [1, "edition-drawing", "mat-typography", 3, "hidden"], [1, "igo-form", 3, "formGroup"], ["class", "fill-color-picker mat-typography", 4, "ngIf"], [1, "stroke-color-picker", "mat-typography"], ["svgIcon", "square-outline", 1, "stroke-palette-icon"], ["appearance", "outline", "floatLabel", "always", "tooltip-position", "below", "matTooltipShowDelay", "500", 1, "stroke-field", 3, "matTooltip"], ["formControlName", "stroke", "matInput", "", "type", "text", 3, "readonly", "colorPicker", "cpWidth", "cpPosition", "cpPositionOffset", "cpOutputFormat", "cpCancelButton", "cpCancelButtonText", "cpOKButton", "colorPickerChange"], ["strokeColorInput", ""], [1, "igo-input-container"], ["appearance", "outline", 1, "igo-form-input-box"], ["matInput", "", "type", "number", "placeholder", "10", "min", "10", "onkeydown", "return event.keyCode !== 69", 3, "value", "input"], ["testFontSize", ""], ["matSuffix", ""], [3, "value", "selectionChange"], ["testFontStyle", ""], [3, "value", 4, "ngFor", "ngForOf"], ["matInput", "", "type", "number", "onkeydown", "return event.keyCode !== 69", 3, "value", "input"], ["offsetXInput", ""], ["offsetYInput", ""], ["mat-dialog-actions", ""], ["mat-raised-button", "", 3, "click"], ["mat-raised-button", "", "color", "primary", 3, "click"], [1, "fill-color-picker", "mat-typography"], ["svgIcon", "square", 1, "stroke-palette-icon"], ["appearance", "outline", "floatLabel", "always", "tooltip-position", "below", "matTooltipShowDelay", "500", 1, "fill-field", 3, "matTooltip"], ["formControlName", "fill", "matInput", "", "type", "text", 3, "readonly", "colorPicker", "cpWidth", "cpOutputFormat", "cpPosition", "cpPositionOffset", "cpCancelButton", "cpCancelButtonText", "cpOKButton", "colorPickerChange"], ["fillColorInput", ""], [3, "value"]], template: function StyleModalComponent_Template(rf, ctx) { if (rf & 1) {
|
|
19324
19488
|
i0.ɵɵelementStart(0, "div", 0)(1, "h2", 1);
|
|
19325
19489
|
i0.ɵɵtext(2);
|
|
@@ -19420,11 +19584,11 @@ StyleModalComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: StyleMo
|
|
|
19420
19584
|
i0.ɵɵproperty("value", ctx.getFeatureOffsetY());
|
|
19421
19585
|
i0.ɵɵadvance(4);
|
|
19422
19586
|
i0.ɵɵtextInterpolate1("", i0.ɵɵpipeBind1(51, 44, "igo.geo.draw.cancel"), " ");
|
|
19423
|
-
} }, dependencies: [i13.MatFormField, i13.MatLabel, i13.MatSuffix, i14.MatInput, i2$2.ɵNgNoValidate, i2$2.DefaultValueAccessor, i2$2.NgControlStatus, i2$2.NgControlStatusGroup, i2$2.FormGroupDirective, i2$2.FormControlName, i1
|
|
19587
|
+
} }, dependencies: [i13.MatFormField, i13.MatLabel, i13.MatSuffix, i14.MatInput, i2$2.ɵNgNoValidate, i2$2.DefaultValueAccessor, i2$2.NgControlStatus, i2$2.NgControlStatusGroup, i2$2.FormGroupDirective, i2$2.FormControlName, i1.NgForOf, i1.NgIf, i2.MatIcon, i3$1.MatButton, i15.MatSelect, i9.MatOption, i4.MatTooltip, i12$1.ColorPickerDirective, i7.TranslatePipe], styles: ["h2[_ngcontent-%COMP%]{font-weight:700;font-size:large}.igo-form[_ngcontent-%COMP%]{padding:10px}.fill-field[_ngcontent-%COMP%], .stroke-field[_ngcontent-%COMP%]{width:130px}.fill-color-picker[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{position:relative;top:7px}.fill-color-picker[_ngcontent-%COMP%] mat-form-field[_ngcontent-%COMP%]{left:8px}.stroke-color-picker[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{position:relative;top:7px}.stroke-color-picker[_ngcontent-%COMP%] mat-form-field[_ngcontent-%COMP%]{left:35px}.box[_ngcontent-%COMP%]{width:25px;height:25px}.edition-drawing[_ngcontent-%COMP%]{padding:10px 0}.igo-input-container[_ngcontent-%COMP%] .mat-form-field[_ngcontent-%COMP%] + .mat-form-field[_ngcontent-%COMP%]{margin-left:8px}.igo-form-input-box[_ngcontent-%COMP%]{width:150px}button[_ngcontent-%COMP%]{margin-right:5px}"] });
|
|
19424
19588
|
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(StyleModalComponent, [{
|
|
19425
19589
|
type: Component,
|
|
19426
19590
|
args: [{ selector: 'igo-style-modal-component', template: "<div mat-dialog-content>\n <h2 mat-dialog-title class=\"mat-typography\">{{ 'igo.geo.layer.style.styleModal' | translate }}</h2>\n <div\n class=\"edition-drawing mat-typography\"\n [hidden]=\"data.features.length === 0\">\n <form\n class=\"igo-form\"\n [formGroup]=\"form\">\n <div class=\"fill-color-picker mat-typography\" *ngIf=\"linestringOnly !== true\">\n <span>\n <mat-icon class=\"stroke-palette-icon\" svgIcon=\"square\"></mat-icon>\n {{ 'igo.geo.draw.fill' | translate }}\n </span>\n\n <mat-form-field\n class=\"fill-field\"\n appearance=\"outline\"\n floatLabel=\"always\"\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"'igo.geo.draw.colorPicker' | translate\">\n <mat-label>{{ getFeatureFillColor() }}</mat-label>\n <input\n #fillColorInput\n formControlName=\"fill\"\n matInput\n type=\"text\"\n [style.background]=\"getFeatureFillColor()\"\n [readonly]=\"true\"\n [colorPicker]=\"getFeatureFillColor()\"\n [cpWidth]=\"'200px'\"\n [cpOutputFormat]=\"'rgba'\"\n [cpPosition]=\"'bottom'\"\n [cpPositionOffset]=\"'-75%'\"\n [cpCancelButton]=\"true\"\n [cpCancelButtonText]=\"'igo.geo.draw.cancel' | translate\"\n [cpOKButton]=\"true\"\n (colorPickerChange)=\"styleModalData.fillColor = $event\">\n </mat-form-field>\n </div>\n\n <div class=\"stroke-color-picker mat-typography\">\n <span>\n <mat-icon\n class=\"stroke-palette-icon\"\n svgIcon=\"square-outline\">\n </mat-icon>\n {{'igo.geo.draw.stroke' | translate}}\n </span>\n\n <mat-form-field\n class=\"stroke-field\"\n appearance=\"outline\"\n floatLabel=\"always\"\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"'igo.geo.draw.colorPicker' | translate\">\n <mat-label>{{ getFeatureStrokeColor() }}</mat-label>\n <input\n #strokeColorInput\n formControlName=\"stroke\"\n matInput\n type=\"text\"\n [style.background]=\"getFeatureStrokeColor()\"\n [readonly]=\"true\"\n [colorPicker]=\"getFeatureStrokeColor()\"\n [cpWidth]=\"'200px'\"\n [cpPosition]=\"'bottom'\"\n [cpPositionOffset]=\"'-75%'\"\n [cpOutputFormat]=\"'rgba'\"\n [cpCancelButton]=\"true\"\n [cpCancelButtonText]=\"'igo.geo.draw.cancel' | translate\"\n [cpOKButton]=\"true\"\n (colorPickerChange)=\"styleModalData.strokeColor = $event\">\n </mat-form-field>\n </div>\n\n <div class=\"igo-input-container\">\n <mat-form-field appearance=\"outline\" class=\"igo-form-input-box\">\n <mat-label>{{ 'igo.geo.draw.fontSize' | translate }}</mat-label>\n <input\n matInput\n #testFontSize\n type=\"number\"\n placeholder=\"10\"\n min=\"10\"\n onkeydown=\"return event.keyCode !== 69\"\n [value]=\"getFeatureFontSize()\"\n (input)=\"styleModalData.fontSize = $event.target.value\">\n <span matSuffix>px</span>\n </mat-form-field>\n <mat-form-field appearance=\"outline\" class=\"igo-form-input-box\">\n <mat-label>{{ 'igo.geo.draw.fontStyle' | translate }}</mat-label>\n <mat-select\n #testFontStyle\n [value]=\"getFeatureFontStyle()\"\n (selectionChange)=\"styleModalData.fontStyle = $event.value\">\n <mat-option\n *ngFor=\"let fontSelect of allFontStyles\"\n [value]=\"fontSelect\">\n {{ fontSelect }}\n </mat-option>\n </mat-select>\n </mat-form-field>\n </div>\n\n <div class=\"igo-input-container\">\n <mat-form-field appearance=\"outline\" class=\"igo-form-input-box\">\n <mat-label>{{ 'igo.geo.draw.offsetX' | translate }}</mat-label>\n <input\n matInput\n #offsetXInput\n type=\"number\"\n onkeydown=\"return event.keyCode !== 69\"\n [value]=\"getFeatureOffsetX()\"\n (input)=\"styleModalData.offsetX = $event.target.value\">\n </mat-form-field>\n <mat-form-field appearance=\"outline\" class=\"igo-form-input-box\">\n <mat-label>{{ 'igo.geo.draw.offsetY' | translate }}</mat-label>\n <input\n matInput\n #offsetYInput\n type=\"number\"\n onkeydown=\"return event.keyCode !== 69\"\n [value]=\"getFeatureOffsetY()\"\n (input)=\"styleModalData.offsetY= $event.target.value\">\n </mat-form-field>\n </div>\n </form>\n </div>\n</div>\n<div mat-dialog-actions>\n <button \n mat-raised-button \n (click)=\"cancelDrawing()\">{{'igo.geo.draw.cancel' | translate}}\n </button>\n <button \n mat-raised-button \n color=\"primary\" \n (click)=\"confirm()\">OK\n </button>\n</div>\n", styles: ["h2{font-weight:700;font-size:large}.igo-form{padding:10px}.fill-field,.stroke-field{width:130px}.fill-color-picker mat-icon{position:relative;top:7px}.fill-color-picker mat-form-field{left:8px}.stroke-color-picker mat-icon{position:relative;top:7px}.stroke-color-picker mat-form-field{left:35px}.box{width:25px;height:25px}.edition-drawing{padding:10px 0}.igo-input-container .mat-form-field+.mat-form-field{margin-left:8px}.igo-form-input-box{width:150px}button{margin-right:5px}\n"] }]
|
|
19427
|
-
}], function () { return [{ type:
|
|
19591
|
+
}], function () { return [{ type: i3.MatDialogRef }, { type: i2$2.UntypedFormBuilder }, { type: DrawStyleService }, { type: undefined, decorators: [{
|
|
19428
19592
|
type: Inject,
|
|
19429
19593
|
args: [MAT_DIALOG_DATA]
|
|
19430
19594
|
}] }]; }, { confirmFlag: [{
|
|
@@ -19562,11 +19726,11 @@ IgoLayerModule.ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ imports: [MatInputM
|
|
|
19562
19726
|
LayerLegendListBindingDirective,
|
|
19563
19727
|
TrackFeatureButtonComponent,
|
|
19564
19728
|
StyleModalComponent] }); })();
|
|
19565
|
-
i0.ɵɵsetComponentScope(LayerItemComponent, [i1
|
|
19729
|
+
i0.ɵɵsetComponentScope(LayerItemComponent, [i1.NgClass, i1.NgIf, i2.MatIcon, i3$1.MatButton, i4.MatTooltip, i5.MatListItem, i9.MatLine, i5.MatListIconCssMatStyler, i7$1.MatBadge, i12.MatCheckbox, LayerLegendComponent], [i1.AsyncPipe, i7.TranslatePipe]);
|
|
19566
19730
|
i0.ɵɵsetComponentScope(LayerLegendItemComponent, [i4.MatTooltip, i5.MatListItem, i9.MatLine, LayerLegendComponent], []);
|
|
19567
|
-
i0.ɵɵsetComponentScope(LayerListComponent, [i2$2.NgControlStatus, i1
|
|
19568
|
-
LayerListToolComponent], [i1
|
|
19569
|
-
i0.ɵɵsetComponentScope(LayerLegendListComponent, [i1
|
|
19731
|
+
i0.ɵɵsetComponentScope(LayerListComponent, [i2$2.NgControlStatus, i1.NgClass, i1.NgForOf, i1.NgIf, i1.NgTemplateOutlet, i2$2.NgModel, i11.MatDivider, i7$2.MatMenu, i7$2.MatMenuTrigger, i2.MatIcon, i3$1.MatButton, i4.MatTooltip, i5.MatList, i5.MatListItem, i13$1.MatSlider, i7$1.MatBadge, i12.MatCheckbox, i5$1.ListItemDirective, i5$1.ListComponent, i5$1.PanelComponent, LayerItemComponent,
|
|
19732
|
+
LayerListToolComponent], [i1.AsyncPipe, i7.TranslatePipe]);
|
|
19733
|
+
i0.ɵɵsetComponentScope(LayerLegendListComponent, [i1.NgForOf, i1.NgIf, i11.MatDivider, i23.MatSlideToggle, i4.MatTooltip, i5$1.ListItemDirective, i5$1.ListComponent, LayerLegendItemComponent], [i1.AsyncPipe, i7.TranslatePipe]);
|
|
19570
19734
|
|
|
19571
19735
|
/**
|
|
19572
19736
|
* @ignore
|
|
@@ -19628,8 +19792,8 @@ IgoCatalogBrowserModule.ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ imports: [
|
|
|
19628
19792
|
IgoCollapsibleModule,
|
|
19629
19793
|
IgoMetadataModule,
|
|
19630
19794
|
IgoLayerModule], exports: [CatalogBrowserComponent] }); })();
|
|
19631
|
-
i0.ɵɵsetComponentScope(CatalogBrowserComponent, [i1
|
|
19632
|
-
CatalogBrowserLayerComponent], [i1
|
|
19795
|
+
i0.ɵɵsetComponentScope(CatalogBrowserComponent, [i1.NgForOf, i1.NgIf, i5$1.ListItemDirective, i5$1.ListComponent, CatalogBrowserGroupComponent,
|
|
19796
|
+
CatalogBrowserLayerComponent], [i1.AsyncPipe]);
|
|
19633
19797
|
|
|
19634
19798
|
function AddCatalogDialogComponent_mat_option_11_Template(rf, ctx) { if (rf & 1) {
|
|
19635
19799
|
i0.ɵɵelementStart(0, "mat-option", 17);
|
|
@@ -19663,7 +19827,7 @@ function AddCatalogDialogComponent_mat_option_23_Template(rf, ctx) { if (rf & 1)
|
|
|
19663
19827
|
i0.ɵɵadvance(2);
|
|
19664
19828
|
i0.ɵɵtextInterpolate(type_r9);
|
|
19665
19829
|
} }
|
|
19666
|
-
const _c0$
|
|
19830
|
+
const _c0$c = function (a0, a1) { return { value: a0, email: a1 }; };
|
|
19667
19831
|
function AddCatalogDialogComponent_span_24_Template(rf, ctx) { if (rf & 1) {
|
|
19668
19832
|
i0.ɵɵelementStart(0, "span")(1, "p", 20);
|
|
19669
19833
|
i0.ɵɵtext(2);
|
|
@@ -19671,7 +19835,7 @@ function AddCatalogDialogComponent_span_24_Template(rf, ctx) { if (rf & 1) {
|
|
|
19671
19835
|
} if (rf & 2) {
|
|
19672
19836
|
const ctx_r5 = i0.ɵɵnextContext();
|
|
19673
19837
|
i0.ɵɵadvance(2);
|
|
19674
|
-
i0.ɵɵtextInterpolate(ctx_r5.languageService.translate.instant("igo.geo.catalog.externalProvider.unavailableWithEmail", i0.ɵɵpureFunction2(1, _c0$
|
|
19838
|
+
i0.ɵɵtextInterpolate(ctx_r5.languageService.translate.instant("igo.geo.catalog.externalProvider.unavailableWithEmail", i0.ɵɵpureFunction2(1, _c0$c, ctx_r5.addedCatalog.url, ctx_r5.emailAddress)));
|
|
19675
19839
|
} }
|
|
19676
19840
|
const _c1$9 = function (a0) { return { value: a0 }; };
|
|
19677
19841
|
function AddCatalogDialogComponent_span_25_Template(rf, ctx) { if (rf & 1) {
|
|
@@ -19746,7 +19910,7 @@ class AddCatalogDialogComponent {
|
|
|
19746
19910
|
this.dialogRef.close();
|
|
19747
19911
|
}
|
|
19748
19912
|
}
|
|
19749
|
-
AddCatalogDialogComponent.ɵfac = function AddCatalogDialogComponent_Factory(t) { return new (t || AddCatalogDialogComponent)(i0.ɵɵdirectiveInject(i2$2.UntypedFormBuilder), i0.ɵɵdirectiveInject(i2$1.LanguageService), i0.ɵɵdirectiveInject(i2$1.ConfigService), i0.ɵɵdirectiveInject(
|
|
19913
|
+
AddCatalogDialogComponent.ɵfac = function AddCatalogDialogComponent_Factory(t) { return new (t || AddCatalogDialogComponent)(i0.ɵɵdirectiveInject(i2$2.UntypedFormBuilder), i0.ɵɵdirectiveInject(i2$1.LanguageService), i0.ɵɵdirectiveInject(i2$1.ConfigService), i0.ɵɵdirectiveInject(i3.MatDialogRef), i0.ɵɵdirectiveInject(MAT_DIALOG_DATA, 8)); };
|
|
19750
19914
|
AddCatalogDialogComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: AddCatalogDialogComponent, selectors: [["igo-add-catalog-dialog"]], decls: 34, vars: 25, consts: [["mat-dialog-title", "", 1, "mat-typography"], ["mat-dialog-content", "", 1, "mat-typography"], [1, "igo-form", 3, "formGroup"], [1, "igo-input-container"], ["type", "text", "formControlName", "title", "matInput", "", 3, "placeholder", "matAutocomplete"], [3, "optionSelected"], ["auto2", "matAutocomplete"], ["matTooltipShowDelay", "500", 3, "matTooltip", "value", 4, "ngFor", "ngForOf"], ["type", "text", "formControlName", "url", "placeholder", "URL", "matInput", "", 3, "matAutocomplete"], ["auto", "matAutocomplete"], ["formControlName", "type", "placeholder", "Type"], [3, "value", "click", 4, "ngFor", "ngForOf"], [4, "ngIf"], ["mat-dialog-actions", "", 2, "justify-content", "center"], [1, "igo-form-button-group", "add-catalog-button-top-padding"], ["mat-raised-button", "", "type", "button", 3, "click"], ["id", "addCatalogBtnDialog", "mat-raised-button", "", "type", "button", "color", "primary", 3, "disabled", "click"], ["matTooltipShowDelay", "500", 3, "matTooltip", "value"], [3, "value", "click"], ["mat-line", ""], [1, "error"]], template: function AddCatalogDialogComponent_Template(rf, ctx) { if (rf & 1) {
|
|
19751
19915
|
i0.ɵɵelementStart(0, "h1", 0);
|
|
19752
19916
|
i0.ɵɵtext(1);
|
|
@@ -19811,11 +19975,11 @@ AddCatalogDialogComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: A
|
|
|
19811
19975
|
i0.ɵɵproperty("disabled", !ctx.form.valid);
|
|
19812
19976
|
i0.ɵɵadvance(1);
|
|
19813
19977
|
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(33, 23, "igo.geo.catalog.library.add"), " ");
|
|
19814
|
-
} }, dependencies: [i1
|
|
19978
|
+
} }, dependencies: [i1.NgForOf, i1.NgIf, i9.MatLine, i4.MatTooltip, i3$1.MatButton, i13.MatFormField, i2$2.ɵNgNoValidate, i2$2.DefaultValueAccessor, i2$2.NgControlStatus, i2$2.NgControlStatusGroup, i2$2.FormGroupDirective, i2$2.FormControlName, i14.MatInput, i15.MatSelect, i9.MatOption, i11$1.MatAutocomplete, i11$1.MatAutocompleteTrigger, i3.MatDialogTitle, i3.MatDialogContent, i3.MatDialogActions, i1.AsyncPipe, i7.TranslatePipe], styles: ["mat-form-field[_ngcontent-%COMP%]{width:100%}.add-catalog-button-top-padding[_ngcontent-%COMP%]{padding-top:25px}.igo-form[_ngcontent-%COMP%]{padding:10px 5px 5px}.igo-form-button-group[_ngcontent-%COMP%]{text-align:center}button[_ngcontent-%COMP%]{cursor:pointer}button#addCatalogBtnDialog[disabled=true][_ngcontent-%COMP%]{cursor:default;background-color:#0000001f;color:#00000042}.error[_ngcontent-%COMP%]{color:red}"] });
|
|
19815
19979
|
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(AddCatalogDialogComponent, [{
|
|
19816
19980
|
type: Component,
|
|
19817
19981
|
args: [{ selector: 'igo-add-catalog-dialog', template: "<h1 mat-dialog-title class=\"mat-typography\">{{'igo.geo.catalog.library.addTitle' | translate}}</h1>\n<div mat-dialog-content class=\"mat-typography\">\n <form class=\"igo-form\" [formGroup]=\"form\">\n <div class=\"igo-input-container\">\n <mat-form-field>\n <input type=\"text\" formControlName=\"title\" placeholder=\"{{'igo.geo.printForm.title' | translate}}\" matInput [matAutocomplete]=\"auto2\">\n <mat-autocomplete #auto2=\"matAutocomplete\" (optionSelected)='changeUrlOrTitle($event.option.value)'>\n <mat-option *ngFor=\"let predefinedCatalog of (predefinedCatalogsList$ | async)\" matTooltipShowDelay=\"500\"\n [matTooltip]=\"predefinedCatalog.title\" [value]=\"predefinedCatalog\">\n {{predefinedCatalog.title}}\n </mat-option>\n </mat-autocomplete>\n </mat-form-field>\n </div>\n <div class=\"igo-input-container\">\n <mat-form-field>\n <input type=\"text\" formControlName=\"url\" placeholder=\"URL\" matInput [matAutocomplete]=\"auto\">\n <mat-autocomplete #auto=\"matAutocomplete\" (optionSelected)='changeUrlOrTitle($event.option.value)'>\n <mat-option *ngFor=\"let predefinedCatalog of (predefinedCatalogsList$ | async)\" matTooltipShowDelay=\"500\"\n [matTooltip]=\"predefinedCatalog.url\" [value]=\"predefinedCatalog\">\n {{predefinedCatalog.url}}\n </mat-option>\n </mat-autocomplete>\n </mat-form-field>\n </div>\n <div class=\"igo-input-container\">\n <mat-form-field>\n <mat-select\n formControlName=\"type\"\n placeholder=\"Type\">\n <mat-option\n *ngFor=\"let type of typeCapabilities\"\n [value]=\"type\"\n (click)=\"$event.stopPropagation()\">\n <p mat-line>{{type}}</p>\n </mat-option>\n </mat-select>\n </mat-form-field>\n </div>\n </form>\n <span *ngIf=\"error && addedCatalog && emailAddress\">\n <p class=\"error\">{{languageService.translate.instant('igo.geo.catalog.externalProvider.unavailableWithEmail', { value: addedCatalog.url, email: emailAddress })}}</p>\n </span>\n <span *ngIf=\"error && addedCatalog && !emailAddress\">\n <p class=\"error\">{{languageService.translate.instant('igo.geo.catalog.unavailable', { value: addedCatalog.url })}}</p>\n </span>\n</div>\n<div mat-dialog-actions style=\"justify-content: center\">\n <div class=\"igo-form-button-group add-catalog-button-top-padding\">\n <button\n mat-raised-button\n type=\"button\"\n (click)=\"cancel()\">\n {{'igo.geo.catalog.library.cancel' | translate}}\n </button>\n <button\n id=\"addCatalogBtnDialog\"\n mat-raised-button\n type=\"button\"\n color=\"primary\"\n [disabled]=\"!form.valid\"\n (click)=\"addCatalog(form.value)\">\n {{'igo.geo.catalog.library.add' | translate}}\n </button>\n </div>\n</div>", styles: ["mat-form-field{width:100%}.add-catalog-button-top-padding{padding-top:25px}.igo-form{padding:10px 5px 5px}.igo-form-button-group{text-align:center}button{cursor:pointer}button#addCatalogBtnDialog[disabled=true]{cursor:default;background-color:#0000001f;color:#00000042}.error{color:red}\n"] }]
|
|
19818
|
-
}], function () { return [{ type: i2$2.UntypedFormBuilder }, { type: i2$1.LanguageService }, { type: i2$1.ConfigService }, { type:
|
|
19982
|
+
}], function () { return [{ type: i2$2.UntypedFormBuilder }, { type: i2$1.LanguageService }, { type: i2$1.ConfigService }, { type: i3.MatDialogRef }, { type: undefined, decorators: [{
|
|
19819
19983
|
type: Optional
|
|
19820
19984
|
}, {
|
|
19821
19985
|
type: Inject,
|
|
@@ -20000,7 +20164,7 @@ class CatalogLibaryComponent {
|
|
|
20000
20164
|
});
|
|
20001
20165
|
}
|
|
20002
20166
|
}
|
|
20003
|
-
CatalogLibaryComponent.ɵfac = function CatalogLibaryComponent_Factory(t) { return new (t || CatalogLibaryComponent)(i0.ɵɵdirectiveInject(CapabilitiesService), i0.ɵɵdirectiveInject(i2$1.MessageService), i0.ɵɵdirectiveInject(i2$1.LanguageService), i0.ɵɵdirectiveInject(i2$1.StorageService), i0.ɵɵdirectiveInject(
|
|
20167
|
+
CatalogLibaryComponent.ɵfac = function CatalogLibaryComponent_Factory(t) { return new (t || CatalogLibaryComponent)(i0.ɵɵdirectiveInject(CapabilitiesService), i0.ɵɵdirectiveInject(i2$1.MessageService), i0.ɵɵdirectiveInject(i2$1.LanguageService), i0.ɵɵdirectiveInject(i2$1.StorageService), i0.ɵɵdirectiveInject(i3.MatDialog)); };
|
|
20004
20168
|
CatalogLibaryComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: CatalogLibaryComponent, selectors: [["igo-catalog-library"]], inputs: { store: "store", map: "map", addCatalogAllowed: "addCatalogAllowed", predefinedCatalogs: "predefinedCatalogs" }, outputs: { catalogSelectChange: "catalogSelectChange" }, decls: 4, vars: 5, consts: [[3, "navigation"], ["ngFor", "", 3, "ngForOf"], ["class", "btnAddCatalog", 4, "ngIf"], ["igoListItem", "", "color", "accent", 3, "map", "catalog", "catalogRemove", "select"], [1, "btnAddCatalog"], ["mat-raised-button", "", "matTooltipPosition", "above", "color", "primary", 3, "matTooltip", "click"], ["svgIcon", "earth-plus"]], template: function CatalogLibaryComponent_Template(rf, ctx) { if (rf & 1) {
|
|
20005
20169
|
i0.ɵɵelementStart(0, "igo-list", 0);
|
|
20006
20170
|
i0.ɵɵtemplate(1, CatalogLibaryComponent_ng_template_1_Template, 1, 2, "ng-template", 1);
|
|
@@ -20017,7 +20181,7 @@ CatalogLibaryComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: Cata
|
|
|
20017
20181
|
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(CatalogLibaryComponent, [{
|
|
20018
20182
|
type: Component,
|
|
20019
20183
|
args: [{ selector: 'igo-catalog-library', changeDetection: ChangeDetectionStrategy.OnPush, template: "<igo-list [navigation]=\"false\">\n <ng-template ngFor let-catalog [ngForOf]=\"getCatalogs() | async\">\n <igo-catalog-library-item\n igoListItem\n color=\"accent\"\n [map]=\"map\"\n [catalog]=\"catalog\"\n (catalogRemove)=\"onCatalogRemove(catalog)\"\n (select)=\"onCatalogSelect(catalog)\">\n </igo-catalog-library-item>\n </ng-template>\n</igo-list>\n\n<div *ngIf=\"addCatalogAllowed\" class=btnAddCatalog>\n <button\n mat-raised-button\n [matTooltip]=\"'igo.geo.catalog.library.addBtn' | translate\"\n matTooltipPosition=\"above\"\n color=\"primary\"\n (click)=\"addCatalogDialog()\">\n {{'igo.geo.catalog.library.addBtn' | translate}}\n <mat-icon svgIcon=\"earth-plus\"></mat-icon>\n </button>\n</div>\n", styles: ["igo-list{height:auto}.btnAddCatalog{justify-content:center;display:flex;margin:30px 0}\n"] }]
|
|
20020
|
-
}], function () { return [{ type: CapabilitiesService }, { type: i2$1.MessageService }, { type: i2$1.LanguageService }, { type: i2$1.StorageService }, { type:
|
|
20184
|
+
}], function () { return [{ type: CapabilitiesService }, { type: i2$1.MessageService }, { type: i2$1.LanguageService }, { type: i2$1.StorageService }, { type: i3.MatDialog }]; }, { store: [{
|
|
20021
20185
|
type: Input
|
|
20022
20186
|
}], map: [{
|
|
20023
20187
|
type: Input
|
|
@@ -20086,7 +20250,7 @@ CatalogLibaryItemComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type:
|
|
|
20086
20250
|
i0.ɵɵproperty("ngIf", ctx.catalog.removable);
|
|
20087
20251
|
i0.ɵɵadvance(1);
|
|
20088
20252
|
i0.ɵɵproperty("ngIf", !ctx.catalog.removable);
|
|
20089
|
-
} }, dependencies: [i1
|
|
20253
|
+
} }, dependencies: [i1.NgIf, i2.MatIcon, i5.MatListItem, i9.MatLine, i4.MatTooltip, i3$1.MatButton, i7.TranslatePipe], styles: [".igo-blank[_ngcontent-%COMP%]{cursor:pointer}.igo-external-provider[_ngcontent-%COMP%]{cursor:help}"], changeDetection: 0 });
|
|
20090
20254
|
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(CatalogLibaryItemComponent, [{
|
|
20091
20255
|
type: Component,
|
|
20092
20256
|
args: [{ selector: 'igo-catalog-library-item', changeDetection: ChangeDetectionStrategy.OnPush, template: "<mat-list-item>\n <h4 mat-line>\n {{title}}\n </h4>\n <mat-icon\n class=\"igo-external-provider\"\n *ngIf=\"catalog.externalProvider\"\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"'igo.geo.catalog.externalProvider.catalog' | translate\"\n color=\"primary\"\n (click)=\"$event.stopPropagation()\"\n svgIcon=\"earth-arrow-right\">\n </mat-icon>\n\n <button\n *ngIf=\"catalog.removable\"\n mat-icon-button\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"'igo.geo.catalog.library.remove' | translate\"\n color=\"warn\"\n (click)=\"removeCatalogFromLibrary($event)\">\n <mat-icon svgIcon=\"delete\"></mat-icon>\n</button>\n\n<button\n class=\"igo-blank\"\n *ngIf=\"!catalog.removable\"\n disabled=\"true\"\n mat-icon-button>\n <mat-icon svgIcon=\"blank\"></mat-icon>\n</button>\n</mat-list-item>\n", styles: [".igo-blank{cursor:pointer}.igo-external-provider{cursor:help}\n"] }]
|
|
@@ -20166,7 +20330,7 @@ IgoCatalogLibraryModule.ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ imports: [
|
|
|
20166
20330
|
MatAutocompleteModule,
|
|
20167
20331
|
MatDialogModule], exports: [CatalogLibaryComponent,
|
|
20168
20332
|
AddCatalogDialogComponent] }); })();
|
|
20169
|
-
i0.ɵɵsetComponentScope(CatalogLibaryComponent, [i1
|
|
20333
|
+
i0.ɵɵsetComponentScope(CatalogLibaryComponent, [i1.NgForOf, i1.NgIf, i2.MatIcon, i4.MatTooltip, i5$1.ListItemDirective, i5$1.ListComponent, i3$1.MatButton, CatalogLibaryItemComponent], [i1.AsyncPipe, i7.TranslatePipe]);
|
|
20170
20334
|
|
|
20171
20335
|
class IgoCatalogModule {
|
|
20172
20336
|
}
|
|
@@ -20706,14 +20870,14 @@ class SpatialFilterService {
|
|
|
20706
20870
|
}
|
|
20707
20871
|
}
|
|
20708
20872
|
}
|
|
20709
|
-
SpatialFilterService.ɵfac = function SpatialFilterService_Factory(t) { return new (t || SpatialFilterService)(i0.ɵɵinject(i1$
|
|
20873
|
+
SpatialFilterService.ɵfac = function SpatialFilterService_Factory(t) { return new (t || SpatialFilterService)(i0.ɵɵinject(i1$1.HttpClient), i0.ɵɵinject(i2$1.LanguageService), i0.ɵɵinject(i2$1.ConfigService)); };
|
|
20710
20874
|
SpatialFilterService.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: SpatialFilterService, factory: SpatialFilterService.ɵfac, providedIn: 'root' });
|
|
20711
20875
|
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(SpatialFilterService, [{
|
|
20712
20876
|
type: Injectable,
|
|
20713
20877
|
args: [{
|
|
20714
20878
|
providedIn: 'root'
|
|
20715
20879
|
}]
|
|
20716
|
-
}], function () { return [{ type: i1$
|
|
20880
|
+
}], function () { return [{ type: i1$1.HttpClient }, { type: i2$1.LanguageService }, { type: i2$1.ConfigService }]; }, null); })();
|
|
20717
20881
|
|
|
20718
20882
|
class DownloadService {
|
|
20719
20883
|
constructor(messageService, languageService) {
|
|
@@ -20817,7 +20981,7 @@ DownloadButtonComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: Dow
|
|
|
20817
20981
|
i0.ɵɵtemplate(0, DownloadButtonComponent_button_0_Template, 3, 4, "button", 0);
|
|
20818
20982
|
} if (rf & 2) {
|
|
20819
20983
|
i0.ɵɵproperty("ngIf", ctx.options && ctx.options.download && (ctx.options.download["dynamicUrl"] || ctx.options.download["url"]));
|
|
20820
|
-
} }, dependencies: [i1
|
|
20984
|
+
} }, dependencies: [i1.NgIf, i2.MatIcon, i3$1.MatButton, i4.MatTooltip, i7.TranslatePipe], changeDetection: 0 });
|
|
20821
20985
|
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(DownloadButtonComponent, [{
|
|
20822
20986
|
type: Component,
|
|
20823
20987
|
args: [{ selector: 'igo-download-button', changeDetection: ChangeDetectionStrategy.OnPush, template: "<button\n *ngIf=\"options && options.download && (options.download['dynamicUrl'] || options.download['url']) \"\n mat-icon-button\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"'igo.geo.download.action' | translate\"\n [color]=\"color\"\n (click)=\"openDownload(layer)\">\n <mat-icon svgIcon=\"download\"></mat-icon>\n</button>\n" }]
|
|
@@ -21945,7 +22109,7 @@ class MeasurerDialogComponent {
|
|
|
21945
22109
|
this.dialogRef.close();
|
|
21946
22110
|
}
|
|
21947
22111
|
}
|
|
21948
|
-
MeasurerDialogComponent.ɵfac = function MeasurerDialogComponent_Factory(t) { return new (t || MeasurerDialogComponent)(i0.ɵɵdirectiveInject(
|
|
22112
|
+
MeasurerDialogComponent.ɵfac = function MeasurerDialogComponent_Factory(t) { return new (t || MeasurerDialogComponent)(i0.ɵɵdirectiveInject(i3.MatDialogRef), i0.ɵɵdirectiveInject(MAT_DIALOG_DATA)); };
|
|
21949
22113
|
MeasurerDialogComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: MeasurerDialogComponent, selectors: [["igo-measurer-dialog"]], decls: 5, vars: 5, consts: [["mat-dialog-title", ""], ["class", "mat-typography", 4, "ngIf"], [1, "mat-typography"], ["colspan", "2"]], template: function MeasurerDialogComponent_Template(rf, ctx) { if (rf & 1) {
|
|
21950
22114
|
i0.ɵɵelementStart(0, "h3", 0);
|
|
21951
22115
|
i0.ɵɵtext(1);
|
|
@@ -21964,12 +22128,12 @@ MeasurerDialogComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: Mea
|
|
|
21964
22128
|
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(MeasurerDialogComponent, [{
|
|
21965
22129
|
type: Component,
|
|
21966
22130
|
args: [{ selector: 'igo-measurer-dialog', template: "<h3 mat-dialog-title>{{'igo.geo.measure.dialog.title' | translate}}</h3>\n\n<table *ngIf=\"data.length > 0\"\n class=\"mat-typography\">\n <thead>\n <tr>\n <th colspan=\"2\">{{'igo.geo.measure.dialog.length.title' | translate}}</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <td>{{data.length | measureFormat: measureLengthUnit.Meters}}</td>\n <td>{{'igo.geo.measure.dialog.lengthInMeters' | translate}}</td>\n </tr>\n <tr>\n <td>{{data.length | measureFormat: measureLengthUnit.Kilometers}}</td>\n <td>{{'igo.geo.measure.dialog.lengthInKilometers' | translate}}</td>\n </tr>\n <tr>\n <td>{{data.length | measureFormat: measureLengthUnit.Miles}}</td>\n <td>{{'igo.geo.measure.dialog.lengthInMiles' | translate}}</td>\n </tr>\n <tr>\n <td>{{data.length | measureFormat: measureLengthUnit.Feet}}</td>\n <td>{{'igo.geo.measure.dialog.lengthInFeet' | translate}}</td>\n </tr>\n </tbody>\n</table>\n\n<table *ngIf=\"data.area > 0\"\n class=\"mat-typography\">\n <thead>\n <tr>\n <th colspan=\"2\">{{'igo.geo.measure.dialog.area.title' | translate}}</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <td>{{data.area | measureFormat: measureAreaUnit.SquareMeters}}</td>\n <td>{{'igo.geo.measure.dialog.areaInSquareMeters' | translate}}</td>\n </tr>\n <tr>\n <td>{{data.area | measureFormat:measureAreaUnit.SquareKilometers}}</td>\n <td>{{'igo.geo.measure.dialog.areaInSquareKilometers' | translate}}</td>\n </tr>\n <tr>\n <td>{{data.area | measureFormat: measureAreaUnit.SquareMiles}}</td>\n <td>{{'igo.geo.measure.dialog.areaInSquareMiles' | translate}}</td>\n </tr>\n <tr>\n <td>{{data.area | measureFormat: measureAreaUnit.Acres}}</td>\n <td>{{'igo.geo.measure.dialog.areaInAcres' | translate}}</td>\n </tr>\n <tr>\n <td>{{data.area | measureFormat: measureAreaUnit.Hectares}}</td>\n <td>{{'igo.geo.measure.dialog.areaInHectares' | translate}}</td>\n </tr>\n <tr>\n <td>{{'igo.geo.measure.dialog.perimeterInMeters' | translate}}</td>\n <td>{{data.perimeter | measureFormat: measureLengthUnit.Meters}}</td>\n </tr>\n </tbody>\n</table>\n", styles: [":host{font-family:Roboto,Helvetica Neue,sans-serif}h3{text-align:center;margin:0}table{width:100%;padding:10px}table tbody tr td:last-child{padding-left:10px}\n"] }]
|
|
21967
|
-
}], function () { return [{ type:
|
|
22131
|
+
}], function () { return [{ type: i3.MatDialogRef }, { type: undefined, decorators: [{
|
|
21968
22132
|
type: Inject,
|
|
21969
22133
|
args: [MAT_DIALOG_DATA]
|
|
21970
22134
|
}] }]; }, null); })();
|
|
21971
22135
|
|
|
21972
|
-
const _c0$
|
|
22136
|
+
const _c0$b = ["table"];
|
|
21973
22137
|
function MeasurerComponent_mat_divider_13_Template(rf, ctx) { if (rf & 1) {
|
|
21974
22138
|
i0.ɵɵelement(0, "mat-divider");
|
|
21975
22139
|
} }
|
|
@@ -22879,9 +23043,9 @@ class MeasurerComponent {
|
|
|
22879
23043
|
return true;
|
|
22880
23044
|
}
|
|
22881
23045
|
}
|
|
22882
|
-
MeasurerComponent.ɵfac = function MeasurerComponent_Factory(t) { return new (t || MeasurerComponent)(i0.ɵɵdirectiveInject(i2$1.LanguageService), i0.ɵɵdirectiveInject(
|
|
23046
|
+
MeasurerComponent.ɵfac = function MeasurerComponent_Factory(t) { return new (t || MeasurerComponent)(i0.ɵɵdirectiveInject(i2$1.LanguageService), i0.ɵɵdirectiveInject(i3.MatDialog), i0.ɵɵdirectiveInject(i2$1.StorageService)); };
|
|
22883
23047
|
MeasurerComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: MeasurerComponent, selectors: [["igo-measurer"]], viewQuery: function MeasurerComponent_Query(rf, ctx) { if (rf & 1) {
|
|
22884
|
-
i0.ɵɵviewQuery(_c0$
|
|
23048
|
+
i0.ɵɵviewQuery(_c0$b, 7);
|
|
22885
23049
|
} if (rf & 2) {
|
|
22886
23050
|
let _t;
|
|
22887
23051
|
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.table = _t.first);
|
|
@@ -22979,7 +23143,7 @@ MeasurerComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: MeasurerC
|
|
|
22979
23143
|
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(MeasurerComponent, [{
|
|
22980
23144
|
type: Component,
|
|
22981
23145
|
args: [{ selector: 'igo-measurer', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div>\n <div class=\"measure-type-toggle mat-typography\">\n <mat-button-toggle-group\n [value]=\"activeMeasureType\"\n (change)=\"onMeasureTypeChange($event.value)\">\n <mat-button-toggle [value]=\"measureType.Length\">\n {{('igo.geo.measure.' + measureType.Length) | translate}}\n </mat-button-toggle>\n <mat-button-toggle [value]=\"measureType.Area\">\n {{('igo.geo.measure.' + measureType.Area) | translate}}\n </mat-button-toggle>\n </mat-button-toggle-group>\n </div>\n\n <div class=\"measure-options mat-typography\">\n <mat-slide-toggle\n [disabled]=\"drawControlIsDisabled\"\n [checked]=\"drawControlIsActive\"\n [labelPosition]=\"'before'\"\n (change)=\"onToggleDrawControl($event.checked)\">\n {{'igo.geo.measure.toggleActive' | translate}}\n </mat-slide-toggle>\n\n <mat-divider *ngIf=\"(hasLine$ | async)\"></mat-divider>\n\n <mat-slide-toggle *ngIf=\"(hasLine$ | async)\"\n [checked]=\"displayLines\"\n [labelPosition]=\"'before'\"\n (change)=\"onToggleDisplayLines($event.checked)\">\n {{'igo.geo.measure.toggleDisplayLines' | translate}}\n </mat-slide-toggle>\n\n <mat-divider *ngIf=\"(hasLine$ | async) || (hasArea$ | async)\"></mat-divider>\n\n <mat-slide-toggle *ngIf=\"(hasArea$ | async)\"\n [checked]=\"displayDistance\"\n [labelPosition]=\"'before'\"\n (change)=\"onToggleDisplayDistance($event.checked)\">\n {{'igo.geo.measure.toggleDisplayDistance' | translate}}\n </mat-slide-toggle>\n\n <mat-slide-toggle *ngIf=\"(hasArea$ | async)\"\n [checked]=\"displayAreas\"\n [labelPosition]=\"'before'\"\n (change)=\"onToggleDisplayAreas($event.checked)\">\n {{'igo.geo.measure.toggleDisplayAreas' | translate}}\n </mat-slide-toggle>\n\n <mat-divider *ngIf=\"(hasArea$ | async)\"></mat-divider>\n\n <mat-slide-toggle\n [checked]=\"measureUnitsAuto\"\n [labelPosition]=\"'before'\"\n (change)=\"onToggleMeasureUnitsAuto($event.checked)\">\n {{'igo.geo.measure.toggleAutoUnits' | translate}}\n </mat-slide-toggle>\n </div>\n\n <ng-container *ngIf=\"measure$ | async as measure\">\n <igo-measurer-item *ngIf=\"activeMeasureType === measureType.Length || activeMeasureType === measureType.Area\"\n [measureType]=\"measureType.Length\"\n [measureUnit]=\"measureLengthUnit.Meters\"\n [measure]=\"measure.length\"\n [auto]=\"measureUnitsAuto\"\n [placeholder]=\"(activeMeasureType === measureType.Area ? 'igo.geo.measure.perimeter' : 'igo.geo.measure.length') | translate\"\n (measureUnitChange)=\"onLengthUnitChange($event)\">\n </igo-measurer-item>\n\n <igo-measurer-item *ngIf=\"activeMeasureType === measureType.Area\"\n [measureType]=\"measureType.Area\"\n [measureUnit]=\"measureAreaUnit.SquareMeters\"\n [measure]=\"measure.area\"\n [auto]=\"measureUnitsAuto\"\n [placeholder]=\"'igo.geo.measure.area' | translate\"\n (measureUnitChange)=\"onAreaUnitChange($event)\">\n </igo-measurer-item>\n </ng-container>\n\n <mat-divider *ngIf=\"(hasLine$ | async) || (hasArea$ | async)\"></mat-divider>\n\n <div class=\"measure-store-buttons\">\n <button *ngIf=\"(hasLine$ | async) || (hasArea$ | async)\"\n mat-icon-button\n [matTooltip]=\"'igo.geo.measure.actionbar.calculate.tooltip' | translate\"\n [disabled]=\"(selectedFeatures$ | async).length === 0\"\n color=\"accent\"\n (click)=\"onCalculateClick()\">\n <mat-icon svgIcon=\"calculator\"></mat-icon>\n </button>\n\n <button *ngIf=\"(hasLine$ | async) || (hasArea$ | async)\"\n mat-icon-button\n [matTooltip]=\"'igo.geo.measure.actionbar.delete.tooltip' | translate\"\n [disabled]=\"(selectedFeatures$ | async).length === 0\"\n color=\"warn\"\n (click)=\"onDeleteClick()\">\n <mat-icon svgIcon=\"delete\"></mat-icon>\n </button>\n\n <!--button\n mat-icon-button\n [matTooltip]=\"'igo.geo.measure.actionbar.modify.tooltip' | translate\"\n [disabled]=\"(selectedFeatures$ | async).length !== 1\"\n (click)=\"onModifyClick()\">\n <mat-icon svgIcon=\"edit\"></mat-icon>\n </button-->\n </div>\n\n <igo-entity-table\n #table\n class=\"table-compact\"\n [store]=\"store\"\n [template]=\"tableTemplate\">\n </igo-entity-table>\n</div>\n", styles: [".measure-type-toggle{padding:10px;text-align:center}.measure-type-toggle mat-button-toggle-group{width:100%}.measure-type-toggle mat-button-toggle-group mat-button-toggle{width:50%}.measure-options{overflow-x:hidden}.measure-options mat-slide-toggle{width:100%;margin:10px}.measure-options mat-slide-toggle ::ng-deep .mat-slide-toggle-content{width:calc(100% - 60px)}.measure-store-buttons{margin-left:-2px}.measure-store-buttons button:first-of-type{margin-left:14px}.table-compact ::ng-deep .mat-header-cell.mat-column-selectionCheckbox{width:52px}\n"] }]
|
|
22982
|
-
}], function () { return [{ type: i2$1.LanguageService }, { type:
|
|
23146
|
+
}], function () { return [{ type: i2$1.LanguageService }, { type: i3.MatDialog }, { type: i2$1.StorageService }]; }, { map: [{
|
|
22983
23147
|
type: Input
|
|
22984
23148
|
}], store: [{
|
|
22985
23149
|
type: Input
|
|
@@ -23675,7 +23839,7 @@ GeometryFormFieldComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type:
|
|
|
23675
23839
|
i0.ɵɵproperty("ngIf", ctx.geometryTypeField);
|
|
23676
23840
|
i0.ɵɵadvance(1);
|
|
23677
23841
|
i0.ɵɵproperty("ngIf", ctx.drawGuideField);
|
|
23678
|
-
} }, dependencies: [i1
|
|
23842
|
+
} }, dependencies: [i1.NgIf, i2$2.DefaultValueAccessor, i2$2.NumberValueAccessor, i2$2.NgControlStatus, i2$2.NgModel, i2$2.FormControlDirective, i2.MatIcon, i13.MatFormField, i13.MatPrefix, i13.MatSuffix, i14.MatInput, i18.MatButtonToggleGroup, i18.MatButtonToggle, GeometryFormFieldInputComponent, i1.AsyncPipe, i7.TranslatePipe], styles: ["[_nghost-%COMP%]{display:block;width:100%}.geometry-type-toggle[_ngcontent-%COMP%], .draw-guide-field[_ngcontent-%COMP%]{width:100%}.geometry-type-toggle[_ngcontent-%COMP%]{padding:10px;text-align:center}.draw-guide-field[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{margin:0 10px}.draw-guide-units[_ngcontent-%COMP%]{padding:10px}"], changeDetection: 0 });
|
|
23679
23843
|
GeometryFormFieldComponent = __decorate([
|
|
23680
23844
|
IgoFormFieldComponent('geometry')
|
|
23681
23845
|
], GeometryFormFieldComponent);
|
|
@@ -24556,7 +24720,7 @@ TimeFilterFormComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: Tim
|
|
|
24556
24720
|
i0.ɵɵproperty("ngIf", !ctx.isRange && ctx.style === "slider" && ctx.type === "year");
|
|
24557
24721
|
i0.ɵɵadvance(1);
|
|
24558
24722
|
i0.ɵɵproperty("ngIf", ctx.style === "slider" && ctx.type !== "year");
|
|
24559
|
-
} }, dependencies: [i1
|
|
24723
|
+
} }, dependencies: [i1.NgForOf, i1.NgIf, i2$2.DefaultValueAccessor, i2$2.NgControlStatus, i2$2.NgModel, i9.MatOption, i2.MatIcon, i3$1.MatButton, i13$1.MatSlider, i23.MatSlideToggle, i13.MatFormField, i13.MatSuffix, i14.MatInput, i15.MatSelect, i4.MatTooltip, i12$2.MatDatetimepickerComponent, i12$2.MatDatetimepickerToggleComponent, i12$2.MatDatetimepickerInputDirective, i7.TranslatePipe], styles: [".igo-layer-filters-container[_ngcontent-%COMP%]{padding-left:5px}mat-slider[_ngcontent-%COMP%] div.mat-slider-thumb-label{width:32px;height:32px;margin:0 auto}mat-slider[_ngcontent-%COMP%] span.mat-slider-thumb-label-text{font-size:10px}#time-slider[_ngcontent-%COMP%]{width:70%;margin:0 auto}@media only screen and (orientation:portrait) and (max-width: 599px),only screen and (orientation:landscape) and (max-width: 959px){#time-slider[_ngcontent-%COMP%]{width:60%;margin:0 auto}}.date-below[_ngcontent-%COMP%]{margin:0}mat-form-field[_ngcontent-%COMP%]{text-align:center}mat-datetimepicker-toggle[_ngcontent-%COMP%] .mat-icon{padding-bottom:30px}.igo-layer-actions-container[_ngcontent-%COMP%] > .mat-slide-toggle[_ngcontent-%COMP%]{vertical-align:middle}.time-filter-mat-datetimepicker-toggle[_ngcontent-%COMP%] .mat-icon{width:auto}"] });
|
|
24560
24724
|
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(TimeFilterFormComponent, [{
|
|
24561
24725
|
type: Component,
|
|
24562
24726
|
args: [{ selector: 'igo-time-filter-form', template: "<div *ngIf=\"style === 'calendar' && type !=='year'\">\n <div *ngIf=\"!isRange\" class=\"igo-col igo-col-100 igo-col-100-m\">\n <mat-form-field>\n <mat-datetimepicker-toggle class=\"time-filter-mat-datetimepicker-toggle\" [for]=\"datetimePicker\" matSuffix></mat-datetimepicker-toggle>\n <mat-datetimepicker #datetimePicker type=\"{{type}}\" openOnFocus=\"true\" timeInterval=\"5\"></mat-datetimepicker>\n <input matInput autocomplete=\"false\"\n placeholder=\"{{'igo.geo.timeFilter.date' | translate}}\"\n [matDatetimepicker]=\"datetimePicker\"\n [(ngModel)]=\"date\"\n [min]=\"min\"\n [max]=\"max\"\n readonly=\"readonly\"\n (dateChange)=\"handleDateChange($event)\">\n </mat-form-field>\n\n </div>\n\n <div *ngIf=\"isRange\">\n <div class=\"igo-col igo-col-100\">\n <mat-form-field>\n <mat-datetimepicker-toggle class=\"time-filter-mat-datetimepicker-toggle\" [for]=\"minDatetimePicker\" matSuffix></mat-datetimepicker-toggle>\n <mat-datetimepicker #minDatetimePicker type=\"{{type}}\" openOnFocus=\"true\" timeInterval=\"5\"></mat-datetimepicker>\n <input matInput autocomplete=\"false\"\n placeholder=\"{{'igo.geo.timeFilter.startDate' | translate}}\"\n [matDatetimepicker]=\"minDatetimePicker\"\n [(ngModel)]=\"startDate\"\n [min]=\"min\"\n [max]=\"getRangeMaxDate()\"\n readonly=\"readonly\"\n (input)=\"startDate\"\n (dateChange)=\"handleDateChange($event)\">\n </mat-form-field>\n </div>\n\n <div class=\"igo-col igo-col-100\">\n <mat-form-field>\n <mat-datetimepicker-toggle class=\"time-filter-mat-datetimepicker-toggle\" [for]=\"maxDatetimePicker\" matSuffix></mat-datetimepicker-toggle>\n <mat-datetimepicker #maxDatetimePicker type=\"{{type}}\" openOnFocus=\"true\" timeInterval=\"5\"></mat-datetimepicker>\n <input matInput autocomplete=\"false\"\n placeholder=\"{{'igo.geo.timeFilter.endDate' | translate}}\"\n [matDatetimepicker]=\"maxDatetimePicker\"\n [(ngModel)]=\"endDate\"\n [min]=\"getRangeMinDate()\"\n [max]=\"max\"\n readonly=\"readonly\"\n (dateChange)=\"handleDateChange($event)\">\n </mat-form-field>\n </div>\n </div>\n</div>\n\n<div *ngIf=\"style === 'calendar' && type ==='year'\">\n\n <div *ngIf=\"!isRange\" class=\"igo-col igo-col-100 igo-col-100-m\">\n <mat-form-field>\n <mat-select placeholder=\"{{'igo.geo.timeFilter.date' | translate}}\" [(ngModel)]=\"year\" (selectionChange)=\"handleYearChange($event)\">\n <mat-option [value]=\"year\" *ngFor=\"let year of listYears\">{{year}}</mat-option>\n </mat-select>\n </mat-form-field>\n </div>\n\n <div *ngIf=\"isRange\">\n <div class=\"igo-col igo-col-100\">\n <mat-form-field>\n <mat-select placeholder=\"{{'igo.geo.timeFilter.startDate' | translate}}\" [(ngModel)]=\"startYear\" (selectionChange)=\"handleYearChange($event)\">\n <mat-option [value]=\"startYear\" *ngFor=\"let startYear of startListYears\">{{startYear}}</mat-option>\n </mat-select>\n </mat-form-field>\n </div>\n\n <div class=\"igo-col igo-col-100\">\n <mat-form-field>\n <mat-select placeholder=\"{{'igo.geo.timeFilter.endDate' | translate}}\" [(ngModel)]=\"endYear\" (selectionChange)=\"handleYearChange($event)\">\n <mat-option [value]=\"endYear\" *ngFor=\"let endYear of endListYears\">{{endYear}}</mat-option>\n </mat-select>\n </mat-form-field>\n </div>\n </div>\n\n</div>\n\n\n <br>\n <div *ngIf=\"!isRange && style === 'slider' && type === 'year'\" class=\"igo-col igo-col-100 igo-col-100-m mat-typography\">\n <span>{{startYear}}</span>\n <mat-slider\n id=\"time-slider\"\n tickInterval=\"auto\"\n step=\"{{step}}\"\n [min]=\"startYear\"\n [max]=\"endYear\"\n [value]=\"handleSliderValue()\"\n [color]=\"color\"\n thumbLabel\n (input)=\"handleSliderYearChange($event)\"\n (change)=\"handleSliderYearChange($event)\"\n [disabled]= \"!options.enabled || !layer.visible\">\n </mat-slider>\n <span>{{endYear}}</span>\n <p *ngIf= \"options.enabled\" class=\"date-below\">{{year}}</p>\n <div #actions class=\"igo-layer-actions-container\">\n <mat-slide-toggle (change)=\"toggleFilterState()\" tooltip-position=\"below\" matTooltipShowDelay=\"500\"\n [matTooltip]=\"'igo.geo.filter.toggleFilterState' | translate\" [color]=\"color\" [checked]=\"options.enabled\"\n [disabled]=\"!layer.visible\">\n </mat-slide-toggle>\n <button [disabled]= \"!options.enabled || !layer.visible\" mat-icon-button color=\"primary\" (click)=\"playYear($event)\">\n <mat-icon svgIcon=\"{{playIcon}}\"></mat-icon>\n </button>\n <button [disabled]=\"!options.enabled || !layer.visible\" mat-icon-button color=\"primary\" (click)=\"resetFilter($event)\">\n <mat-icon svgIcon=\"{{resetIcon}}\"></mat-icon>\n </button>\n </div>\n </div>\n\n<div *ngIf=\"style === 'slider' && type !== 'year'\" class=\"igo-col igo-col-100 igo-col-100-m\">\n <mat-slider\n id=\"time-slider\"\n tickInterval=\"auto\"\n step=\"{{step}}\"\n [min]=\"dateToNumber(min)\"\n [max]=\"dateToNumber(max)\"\n [value]=\"handleSliderValue()\"\n thumbLabel\n (input)=\"handleSliderDateChange($event)\"\n (selectionChange)=\"handleSliderDateChange($event)\">\n </mat-slider>\n <p class=\"date-below\">{{handleSliderTooltip()}}</p>\n <button mat-icon-button color=\"primary\" (click)=\"playFilter($event)\">\n <mat-icon svgIcon=\"{{playIcon}}\"></mat-icon>\n </button>\n</div>\n", styles: [".igo-layer-filters-container{padding-left:5px}mat-slider ::ng-deep div.mat-slider-thumb-label{width:32px;height:32px;margin:0 auto}mat-slider ::ng-deep span.mat-slider-thumb-label-text{font-size:10px}#time-slider{width:70%;margin:0 auto}@media only screen and (orientation:portrait) and (max-width: 599px),only screen and (orientation:landscape) and (max-width: 959px){#time-slider{width:60%;margin:0 auto}}.date-below{margin:0}mat-form-field{text-align:center}mat-datetimepicker-toggle ::ng-deep .mat-icon{padding-bottom:30px}.igo-layer-actions-container>.mat-slide-toggle{vertical-align:middle}.time-filter-mat-datetimepicker-toggle ::ng-deep .mat-icon{width:auto}\n"] }]
|
|
@@ -24575,7 +24739,7 @@ TimeFilterFormComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: Tim
|
|
|
24575
24739
|
args: [MatSlider]
|
|
24576
24740
|
}] }); })();
|
|
24577
24741
|
|
|
24578
|
-
const _c0$
|
|
24742
|
+
const _c0$a = function (a0) { return { disabled: a0 }; };
|
|
24579
24743
|
function TimeFilterItemComponent_mat_list_item_0_button_4_Template(rf, ctx) { if (rf & 1) {
|
|
24580
24744
|
const _r6 = i0.ɵɵgetCurrentView();
|
|
24581
24745
|
i0.ɵɵelementStart(0, "button", 10);
|
|
@@ -24589,7 +24753,7 @@ function TimeFilterItemComponent_mat_list_item_0_button_4_Template(rf, ctx) { if
|
|
|
24589
24753
|
const ctx_r4 = i0.ɵɵnextContext(2);
|
|
24590
24754
|
i0.ɵɵproperty("color", ctx_r4.layer.visible ? "primary" : "default")("matTooltip", ctx_r4.layer.visible ? i0.ɵɵpipeBind1(1, 4, "igo.geo.layer.hideLayer") : i0.ɵɵpipeBind1(2, 6, "igo.geo.layer.showLayer"));
|
|
24591
24755
|
i0.ɵɵadvance(3);
|
|
24592
|
-
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(10, _c0$
|
|
24756
|
+
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(10, _c0$a, i0.ɵɵpipeBind1(4, 8, ctx_r4.inResolutionRange$) === false))("svgIcon", ctx_r4.layer.visible ? "eye" : "eye-off");
|
|
24593
24757
|
} }
|
|
24594
24758
|
const _c1$8 = function (a0) { return { "cursor": a0 }; };
|
|
24595
24759
|
function TimeFilterItemComponent_mat_list_item_0_Template(rf, ctx) { if (rf & 1) {
|
|
@@ -25271,7 +25435,7 @@ function OgcFilterFormComponent_igo_ogc_filter_time_41_Template(rf, ctx) { if (r
|
|
|
25271
25435
|
const ctx_r8 = i0.ɵɵnextContext();
|
|
25272
25436
|
i0.ɵɵproperty("datasource", ctx_r8.datasource)("currentFilter", ctx_r8.currentFilter);
|
|
25273
25437
|
} }
|
|
25274
|
-
const _c0$
|
|
25438
|
+
const _c0$9 = function (a0, a1) { return { "logical": a0, "logicalHidden": a1 }; };
|
|
25275
25439
|
const _c1$7 = function (a0, a1) { return { "operator": a0, "dualInput": a1 }; };
|
|
25276
25440
|
const _c2$4 = function () { return ["expression", "pattern"]; };
|
|
25277
25441
|
const _c3$1 = function () { return ["lowerBoundary", "begin"]; };
|
|
@@ -25577,7 +25741,7 @@ OgcFilterFormComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: OgcF
|
|
|
25577
25741
|
} if (rf & 2) {
|
|
25578
25742
|
i0.ɵɵproperty("matTooltip", i0.ɵɵpipeBind1(1, 27, "igo.geo.filter.toggleFilterState"))("checked", ctx.currentFilter.active);
|
|
25579
25743
|
i0.ɵɵadvance(2);
|
|
25580
|
-
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction2(67, _c0$
|
|
25744
|
+
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction2(67, _c0$9, ctx.activeFilters.indexOf(ctx.currentFilter) !== 0 && ctx.currentFilter.active === true, ctx.activeFilters.indexOf(ctx.currentFilter) === 0 || ctx.currentFilter.active !== true));
|
|
25581
25745
|
i0.ɵɵadvance(1);
|
|
25582
25746
|
i0.ɵɵproperty("disabled", !ctx.currentFilter.active)("value", ctx.currentFilter.parentLogical)("matTooltip", ctx.currentFilter.parentLogical ? i0.ɵɵpipeBind1(4, 29, "igo.geo.operators.tooltip." + ctx.currentFilter.parentLogical) : "");
|
|
25583
25747
|
i0.ɵɵadvance(2);
|
|
@@ -25695,7 +25859,7 @@ function OgcFilterableItemComponent_mat_icon_2_Template(rf, ctx) { if (rf & 1) {
|
|
|
25695
25859
|
const _r4 = i0.ɵɵreference(7);
|
|
25696
25860
|
i0.ɵɵproperty("target", _r4)("collapsed", ctx_r0.filtersCollapsed);
|
|
25697
25861
|
} }
|
|
25698
|
-
const _c0$
|
|
25862
|
+
const _c0$8 = function (a0) { return { "cursor": a0 }; };
|
|
25699
25863
|
function OgcFilterableItemComponent_h4_3_Template(rf, ctx) { if (rf & 1) {
|
|
25700
25864
|
const _r10 = i0.ɵɵgetCurrentView();
|
|
25701
25865
|
i0.ɵɵelementStart(0, "h4", 10);
|
|
@@ -25704,7 +25868,7 @@ function OgcFilterableItemComponent_h4_3_Template(rf, ctx) { if (rf & 1) {
|
|
|
25704
25868
|
i0.ɵɵelementEnd();
|
|
25705
25869
|
} if (rf & 2) {
|
|
25706
25870
|
const ctx_r1 = i0.ɵɵnextContext();
|
|
25707
|
-
i0.ɵɵproperty("ngStyle", i0.ɵɵpureFunction1(3, _c0$
|
|
25871
|
+
i0.ɵɵproperty("ngStyle", i0.ɵɵpureFunction1(3, _c0$8, ctx_r1.filtersCollapsed ? "default" : "pointer"))("matTooltip", ctx_r1.layer.title);
|
|
25708
25872
|
i0.ɵɵadvance(1);
|
|
25709
25873
|
i0.ɵɵtextInterpolate(ctx_r1.layer.title);
|
|
25710
25874
|
} }
|
|
@@ -26262,7 +26426,7 @@ OGCFilterTimeService.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: OGC
|
|
|
26262
26426
|
type: Injectable
|
|
26263
26427
|
}], function () { return []; }, null); })();
|
|
26264
26428
|
|
|
26265
|
-
const _c0$
|
|
26429
|
+
const _c0$7 = ["selection"];
|
|
26266
26430
|
function OgcFilterSelectionComponent_div_1_div_1_div_2_mat_option_4_Template(rf, ctx) { if (rf & 1) {
|
|
26267
26431
|
i0.ɵɵelementStart(0, "mat-option", 13);
|
|
26268
26432
|
i0.ɵɵtext(1);
|
|
@@ -27514,7 +27678,7 @@ class OgcFilterSelectionComponent {
|
|
|
27514
27678
|
}
|
|
27515
27679
|
OgcFilterSelectionComponent.ɵfac = function OgcFilterSelectionComponent_Factory(t) { return new (t || OgcFilterSelectionComponent)(i0.ɵɵdirectiveInject(OGCFilterService), i0.ɵɵdirectiveInject(i2$2.UntypedFormBuilder), i0.ɵɵdirectiveInject(i5$1.DOMService), i0.ɵɵdirectiveInject(i2$1.ConfigService), i0.ɵɵdirectiveInject(i0.ChangeDetectorRef)); };
|
|
27516
27680
|
OgcFilterSelectionComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: OgcFilterSelectionComponent, selectors: [["igo-ogc-filter-selection"]], viewQuery: function OgcFilterSelectionComponent_Query(rf, ctx) { if (rf & 1) {
|
|
27517
|
-
i0.ɵɵviewQuery(_c0$
|
|
27681
|
+
i0.ɵɵviewQuery(_c0$7, 5);
|
|
27518
27682
|
} if (rf & 2) {
|
|
27519
27683
|
let _t;
|
|
27520
27684
|
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.sel = _t.first);
|
|
@@ -27862,7 +28026,7 @@ SpatialFilterListComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type:
|
|
|
27862
28026
|
i0.ɵɵproperty("value", ctx.measureUnit);
|
|
27863
28027
|
i0.ɵɵadvance(1);
|
|
27864
28028
|
i0.ɵɵproperty("ngForOf", ctx.measureUnits);
|
|
27865
|
-
} }, dependencies: [i1
|
|
28029
|
+
} }, dependencies: [i1.NgForOf, i2$2.ɵNgNoValidate, i2$2.DefaultValueAccessor, i2$2.NumberValueAccessor, i2$2.NgControlStatus, i2$2.NgControlStatusGroup, i2$2.NgForm, i2$2.FormControlDirective, i11$1.MatAutocomplete, i11$1.MatAutocompleteTrigger, i9.MatOption, i13.MatFormField, i14.MatInput, i15.MatSelect, i1.AsyncPipe, i7.TranslatePipe], styles: [".buffer-div[_ngcontent-%COMP%]{display:flex;width:100%;margin-left:2px;padding:5px}.zone-list[_ngcontent-%COMP%]{padding:5px;width:95%;margin-left:2px}.buffer[_ngcontent-%COMP%]{display:flex;flex-flow:column nowrap;width:110%}.unit-field[_ngcontent-%COMP%]{width:110px;margin-left:30px}"], changeDetection: 0 });
|
|
27866
28030
|
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(SpatialFilterListComponent, [{
|
|
27867
28031
|
type: Component,
|
|
27868
28032
|
args: [{ selector: 'igo-spatial-filter-list', changeDetection: ChangeDetectionStrategy.OnPush, template: "<form class=\"form-list\">\n <mat-form-field class=\"zone-list\">\n <input #input type=\"text\" placeholder=\"{{'igo.geo.spatialFilter.listLabel' |\u00A0translate}}\" matInput\n [formControl]=\"formControl\" [matAutocomplete]=\"auto\">\n <mat-autocomplete #auto=\"matAutocomplete\" (optionSelected)=\"onZoneChange($event.option.value)\"\n [displayWith]=\"displayFn\">\n <mat-option *ngFor=\"let entities of this.store.view.all$() | async\" [value]=\"entities\">\n {{entities.properties.nom}}\n </mat-option>\n </mat-autocomplete>\n </mat-form-field>\n<form>\n\n<div class=\"buffer-div\">\n <form class=\"buffer-form\">\n <mat-form-field class=\"buffer\">\n <input type=\"number\" matInput placeholder=\"{{'igo.geo.spatialFilter.buffer' | translate}}\" [formControl]=\"bufferFormControl\"\n [value]=\"0\" [readonly]=\"!zone\">\n </mat-form-field>\n </form>\n\n <mat-form-field class=\"unit-field\">\n <mat-select\n [value]=\"measureUnit\"\n (selectionChange)=\"onMeasureUnitChange($event.value)\">\n <mat-option *ngFor=\"let measureUnit of measureUnits\" [value]=\"measureUnit\">\n {{('igo.geo.measure.' + measureUnit) | translate}}\n </mat-option>\n </mat-select>\n </mat-form-field>\n</div>\n", styles: [".buffer-div{display:flex;width:100%;margin-left:2px;padding:5px}.zone-list{padding:5px;width:95%;margin-left:2px}.buffer{display:flex;flex-flow:column nowrap;width:110%}.unit-field{width:110px;margin-left:30px}\n"] }]
|
|
@@ -28954,7 +29118,7 @@ SpatialFilterItemComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type:
|
|
|
28954
29118
|
type: Output
|
|
28955
29119
|
}] }); })();
|
|
28956
29120
|
|
|
28957
|
-
const _c0$
|
|
29121
|
+
const _c0$6 = ["endDatepickerTime"];
|
|
28958
29122
|
const _c1$4 = ["beginDatepickerTime"];
|
|
28959
29123
|
const _c2$2 = ["beginTime"];
|
|
28960
29124
|
const _c3 = ["endTime"];
|
|
@@ -29799,7 +29963,7 @@ class OgcFilterTimeComponent {
|
|
|
29799
29963
|
}
|
|
29800
29964
|
OgcFilterTimeComponent.ɵfac = function OgcFilterTimeComponent_Factory(t) { return new (t || OgcFilterTimeComponent)(i0.ɵɵdirectiveInject(OGCFilterTimeService)); };
|
|
29801
29965
|
OgcFilterTimeComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: OgcFilterTimeComponent, selectors: [["igo-ogc-filter-time"]], viewQuery: function OgcFilterTimeComponent_Query(rf, ctx) { if (rf & 1) {
|
|
29802
|
-
i0.ɵɵviewQuery(_c0$
|
|
29966
|
+
i0.ɵɵviewQuery(_c0$6, 5);
|
|
29803
29967
|
i0.ɵɵviewQuery(_c1$4, 5);
|
|
29804
29968
|
i0.ɵɵviewQuery(_c2$2, 5);
|
|
29805
29969
|
i0.ɵɵviewQuery(_c3, 5);
|
|
@@ -29995,7 +30159,7 @@ OgcFilterTimeSliderComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type
|
|
|
29995
30159
|
i0.ɵɵproperty("svgIcon", ctx.playIcon);
|
|
29996
30160
|
i0.ɵɵadvance(2);
|
|
29997
30161
|
i0.ɵɵpropertyInterpolate("svgIcon", ctx.resetIcon);
|
|
29998
|
-
} }, dependencies: [i2$2.NgControlStatus, i2$2.NgModel, i2.MatIcon, i3.MatButton, i13$1.MatSlider], styles: ["input{text-align:center!important;margin:auto 5px!important} .mat-slider-thumb{transform:scale(0)!important} .mat-slider-thumb-label{transform:rotate(45deg)!important;border-radius:50% 50% 0!important;background-color:#ffd740!important} .mat-slider-thumb-label-text{opacity:1!important;transform:rotate(135deg)!important} .mat-slider-horizontal .mat-slider-thumb-label{top:10px!important;transform:rotate(225deg)!important} .mat-slider-horizontal.cdk-focused .mat-slider-thumb-label{transform:rotate(225deg)!important}.datetime-container[_ngcontent-%COMP%], .slider-container[_ngcontent-%COMP%]{text-align:center}.datetime-input[_ngcontent-%COMP%]{display:inline-block;margin:5px 25px}.date-input[_ngcontent-%COMP%]{width:120px;margin-right:25px}.time-input[_ngcontent-%COMP%]{display:inherit;margin-right:25px}.hour-input[_ngcontent-%COMP%], .minute-input[_ngcontent-%COMP%]{width:40px}.minute-input[_ngcontent-%COMP%]{margin-left:10px}"] });
|
|
30162
|
+
} }, dependencies: [i2$2.NgControlStatus, i2$2.NgModel, i2.MatIcon, i3$1.MatButton, i13$1.MatSlider], styles: ["input{text-align:center!important;margin:auto 5px!important} .mat-slider-thumb{transform:scale(0)!important} .mat-slider-thumb-label{transform:rotate(45deg)!important;border-radius:50% 50% 0!important;background-color:#ffd740!important} .mat-slider-thumb-label-text{opacity:1!important;transform:rotate(135deg)!important} .mat-slider-horizontal .mat-slider-thumb-label{top:10px!important;transform:rotate(225deg)!important} .mat-slider-horizontal.cdk-focused .mat-slider-thumb-label{transform:rotate(225deg)!important}.datetime-container[_ngcontent-%COMP%], .slider-container[_ngcontent-%COMP%]{text-align:center}.datetime-input[_ngcontent-%COMP%]{display:inline-block;margin:5px 25px}.date-input[_ngcontent-%COMP%]{width:120px;margin-right:25px}.time-input[_ngcontent-%COMP%]{display:inherit;margin-right:25px}.hour-input[_ngcontent-%COMP%], .minute-input[_ngcontent-%COMP%]{width:40px}.minute-input[_ngcontent-%COMP%]{margin-left:10px}"] });
|
|
29999
30163
|
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(OgcFilterTimeSliderComponent, [{
|
|
30000
30164
|
type: Component,
|
|
30001
30165
|
args: [{ selector: 'igo-ogc-filter-time-slider', template: "<div class=\"slider-container\">\n <mat-slider\n id=\"time-slider\"\n [step]=\"1\"\n [min]=\"1\"\n [max]=\"calculatedStep\"\n [(ngModel)]=\"sliderValue\"\n [displayWith]=\"sliderDisplayWith\"\n (input)=\"handleSliderInput($event)\"\n thumbLabel\n >\n </mat-slider>\n <button mat-icon-button color=\"primary\" (click)=\"playFilter($event)\">\n <mat-icon [svgIcon]=\"playIcon\"></mat-icon>\n </button>\n <button mat-icon-button color=\"primary\" (click)=\"resetFilter($event)\">\n <mat-icon svgIcon=\"{{resetIcon}}\"></mat-icon>\n </button>\n \n</div>", styles: ["::ng-deep input{text-align:center!important;margin:auto 5px!important}::ng-deep .mat-slider-thumb{transform:scale(0)!important}::ng-deep .mat-slider-thumb-label{transform:rotate(45deg)!important;border-radius:50% 50% 0!important;background-color:#ffd740!important}::ng-deep .mat-slider-thumb-label-text{opacity:1!important;transform:rotate(135deg)!important}::ng-deep .mat-slider-horizontal .mat-slider-thumb-label{top:10px!important;transform:rotate(225deg)!important}::ng-deep .mat-slider-horizontal.cdk-focused .mat-slider-thumb-label{transform:rotate(225deg)!important}.datetime-container,.slider-container{text-align:center}.datetime-input{display:inline-block;margin:5px 25px}.date-input{width:120px;margin-right:25px}.time-input{display:inherit;margin-right:25px}.hour-input,.minute-input{width:40px}.minute-input{margin-left:10px}\n"] }]
|
|
@@ -30213,19 +30377,19 @@ IgoFilterModule.ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ providers: [TimeFi
|
|
|
30213
30377
|
SpatialFilterItemComponent,
|
|
30214
30378
|
OgcFilterTimeComponent,
|
|
30215
30379
|
OgcFilterTimeSliderComponent] }); })();
|
|
30216
|
-
i0.ɵɵsetComponentScope(TimeFilterButtonComponent, [i1
|
|
30217
|
-
i0.ɵɵsetComponentScope(TimeFilterItemComponent, [i1
|
|
30218
|
-
i0.ɵɵsetComponentScope(TimeFilterListComponent, [i1
|
|
30219
|
-
i0.ɵɵsetComponentScope(OgcFilterFormComponent, [i1
|
|
30220
|
-
i0.ɵɵsetComponentScope(OgcFilterButtonComponent, [i1
|
|
30221
|
-
i0.ɵɵsetComponentScope(OgcFilterSelectionComponent, [i1
|
|
30222
|
-
i0.ɵɵsetComponentScope(OgcFilterableFormComponent, [i1
|
|
30380
|
+
i0.ɵɵsetComponentScope(TimeFilterButtonComponent, [i1.NgIf, i2.MatIcon, i3$1.MatButton, i4.MatTooltip, i5$1.ListItemDirective, i7$1.MatBadge, TimeFilterItemComponent], [i7.TranslatePipe]);
|
|
30381
|
+
i0.ɵɵsetComponentScope(TimeFilterItemComponent, [i1.NgClass, i1.NgIf, i1.NgStyle, i2.MatIcon, i3$1.MatButton, i5.MatListItem, i5.MatListAvatarCssMatStyler, i9.MatLine, i4.MatTooltip, LayerLegendComponent, i5$1.CollapseDirective, TimeFilterFormComponent], [i1.AsyncPipe, i7.TranslatePipe]);
|
|
30382
|
+
i0.ɵɵsetComponentScope(TimeFilterListComponent, [i1.NgForOf, i5$1.ListItemDirective, i5$1.ListComponent, TimeFilterItemComponent], [FilterableDataSourcePipe]);
|
|
30383
|
+
i0.ɵɵsetComponentScope(OgcFilterFormComponent, [i1.NgClass, i1.NgForOf, i1.NgIf, i11$1.MatAutocomplete, i11$1.MatAutocompleteTrigger, i9.MatOption, i2.MatIcon, i3$1.MatButton, i12.MatCheckbox, i13.MatFormField, i13.MatSuffix, i14.MatInput, i15.MatSelect, i4.MatTooltip, OgcFilterTimeComponent], [i1.AsyncPipe, i7.TranslatePipe, i5$1.KeyValuePipe]);
|
|
30384
|
+
i0.ɵɵsetComponentScope(OgcFilterButtonComponent, [i1.NgIf, i2.MatIcon, i3$1.MatButton, i4.MatTooltip, i5$1.ListItemDirective, i7$1.MatBadge, OgcFilterableItemComponent], [i7.TranslatePipe]);
|
|
30385
|
+
i0.ɵɵsetComponentScope(OgcFilterSelectionComponent, [i1.NgForOf, i1.NgIf, i1.NgStyle, i2$2.ɵNgNoValidate, i2$2.DefaultValueAccessor, i2$2.NgControlStatus, i2$2.NgControlStatusGroup, i2$2.NgModel, i2$2.FormGroupDirective, i2$2.FormControlName, i11$1.MatAutocomplete, i11$1.MatAutocompleteTrigger, i9.MatOption, i2.MatIcon, i17.MatRadioGroup, i17.MatRadioButton, i18.MatButtonToggleGroup, i18.MatButtonToggle, i12.MatCheckbox, i13.MatFormField, i14.MatInput, i15.MatSelect, i11.MatDivider, i4.MatTooltip, OgcFilterTimeComponent], [i1.AsyncPipe, i7.TranslatePipe]);
|
|
30386
|
+
i0.ɵɵsetComponentScope(OgcFilterableFormComponent, [i1.NgForOf, i1.NgIf, i5$1.ListItemDirective, OgcFilterFormComponent,
|
|
30223
30387
|
OgcFilterSelectionComponent], []);
|
|
30224
|
-
i0.ɵɵsetComponentScope(OgcFilterableItemComponent, [i1
|
|
30225
|
-
i0.ɵɵsetComponentScope(OgcFilterableListComponent, [i1
|
|
30226
|
-
i0.ɵɵsetComponentScope(SpatialFilterTypeComponent, [i1
|
|
30227
|
-
i0.ɵɵsetComponentScope(SpatialFilterItemComponent, [i1
|
|
30228
|
-
i0.ɵɵsetComponentScope(OgcFilterTimeComponent, [i1
|
|
30388
|
+
i0.ɵɵsetComponentScope(OgcFilterableItemComponent, [i1.NgClass, i1.NgIf, i1.NgStyle, i2$2.NgControlStatus, i2$2.NgModel, i2.MatIcon, i3$1.MatButton, i12.MatCheckbox, i5.MatListItem, i5.MatListAvatarCssMatStyler, i9.MatLine, i11.MatDivider, i4.MatTooltip, LayerLegendComponent, i5$1.CollapseDirective, OgcFilterableFormComponent], [i1.AsyncPipe, i7.TranslatePipe]);
|
|
30389
|
+
i0.ɵɵsetComponentScope(OgcFilterableListComponent, [i1.NgForOf, i1.NgIf, i5$1.ListItemDirective, i5$1.ListComponent, OgcFilterableItemComponent], [i7.TranslatePipe, FilterableDataSourcePipe]);
|
|
30390
|
+
i0.ɵɵsetComponentScope(SpatialFilterTypeComponent, [i1.NgForOf, i9.MatOption, i2.MatIcon, i20.MatTabGroup, i20.MatTab, i18.MatButtonToggleGroup, i18.MatButtonToggle, i13.MatFormField, i13.MatLabel, i15.MatSelect, i4.MatTooltip, SpatialFilterListComponent], [i7.TranslatePipe]);
|
|
30391
|
+
i0.ɵɵsetComponentScope(SpatialFilterItemComponent, [i1.NgForOf, i1.NgIf, i2$2.ɵNgNoValidate, i2$2.DefaultValueAccessor, i2$2.NumberValueAccessor, i2$2.NgControlStatus, i2$2.NgControlStatusGroup, i2$2.NgForm, i2$2.FormControlDirective, i9.MatOption, i2.MatIcon, i3$1.MatButton, i17.MatRadioGroup, i17.MatRadioButton, i21.MatTable, i21.MatHeaderCellDef, i21.MatHeaderRowDef, i21.MatColumnDef, i21.MatRowDef, i21.MatHeaderCell, i21.MatHeaderRow, i21.MatRow, i22.MatNestedTreeNode, i22.MatTreeNodeDef, i22.MatTreeNodeToggle, i22.MatTree, i22.MatTreeNode, i22.MatTreeNodeOutlet, i12.MatCheckbox, i23.MatSlideToggle, i13.MatFormField, i13.MatLabel, i14.MatInput, i15.MatSelect, i4.MatTooltip, i5$1.EntityTableComponent, GeometryFormFieldInputComponent], [i1.AsyncPipe, i7.TranslatePipe]);
|
|
30392
|
+
i0.ɵɵsetComponentScope(OgcFilterTimeComponent, [i1.NgForOf, i1.NgIf, i2$2.NgControlStatus, i2$2.NgModel, i2$2.FormControlDirective, i9.MatOption, i2.MatIcon, i3$1.MatButton, i23.MatSlideToggle, i13.MatFormField, i13.MatLabel, i13.MatSuffix, i14.MatInput, i15.MatSelect, i4.MatTooltip, i25.MatDatepicker, i25.MatDatepickerInput, i25.MatDatepickerToggle, OgcFilterTimeSliderComponent], [i7.TranslatePipe]);
|
|
30229
30393
|
|
|
30230
30394
|
function ExportButtonComponent_button_0_Template(rf, ctx) { if (rf & 1) {
|
|
30231
30395
|
i0.ɵɵelementStart(0, "button", 1);
|
|
@@ -30273,7 +30437,7 @@ ExportButtonComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: Expor
|
|
|
30273
30437
|
i0.ɵɵtemplate(0, ExportButtonComponent_button_0_Template, 3, 4, "button", 0);
|
|
30274
30438
|
} if (rf & 2) {
|
|
30275
30439
|
i0.ɵɵproperty("ngIf", ctx.layerIsExportable());
|
|
30276
|
-
} }, dependencies: [i2.MatIcon, i4.MatTooltip, i1
|
|
30440
|
+
} }, dependencies: [i2.MatIcon, i4.MatTooltip, i1.NgIf, i3$1.MatButton, i7.TranslatePipe], changeDetection: 0 });
|
|
30277
30441
|
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ExportButtonComponent, [{
|
|
30278
30442
|
type: Component,
|
|
30279
30443
|
args: [{ selector: 'igo-export-button', changeDetection: ChangeDetectionStrategy.OnPush, template: "<button\n *ngIf=\"layerIsExportable()\"\n mat-icon-button\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"'igo.geo.download.action' | translate\"\n [color]=\"color\">\n <!-- (click)=\"openDownload(layer)\"> -->\n <mat-icon svgIcon=\"file-export\"></mat-icon>\n</button>\n\n" }]
|
|
@@ -30367,14 +30531,14 @@ class ExportService {
|
|
|
30367
30531
|
const exportOlFeatures = this.generateFeature(olFeatures, format);
|
|
30368
30532
|
return this.exportAsync(exportOlFeatures, format, title, encoding, projectionIn, projectionOut);
|
|
30369
30533
|
}
|
|
30370
|
-
generateFeature(olFeatures, format) {
|
|
30534
|
+
generateFeature(olFeatures, format, excludePrefix = '_') {
|
|
30371
30535
|
if (format === ExportFormat.GPX && this.aggregateInComment) {
|
|
30372
30536
|
return this.generateAggregatedFeature(olFeatures);
|
|
30373
30537
|
}
|
|
30374
30538
|
return olFeatures.map((olFeature) => {
|
|
30375
30539
|
const keys = olFeature
|
|
30376
30540
|
.getKeys()
|
|
30377
|
-
.filter((key) => !key.startsWith(
|
|
30541
|
+
.filter((key) => !key.startsWith(excludePrefix));
|
|
30378
30542
|
const properties = keys.reduce((acc, key) => {
|
|
30379
30543
|
acc[key] = olFeature.get(key);
|
|
30380
30544
|
return acc;
|
|
@@ -31001,14 +31165,14 @@ ImportService.allowedZipMimeTypes = [
|
|
|
31001
31165
|
'application/x-zip'
|
|
31002
31166
|
];
|
|
31003
31167
|
ImportService.allowedExtensions = ['geojson', 'kml', 'gpx', 'json', 'gml', 'zip'];
|
|
31004
|
-
ImportService.ɵfac = function ImportService_Factory(t) { return new (t || ImportService)(i0.ɵɵinject(i1$
|
|
31168
|
+
ImportService.ɵfac = function ImportService_Factory(t) { return new (t || ImportService)(i0.ɵɵinject(i1$1.HttpClient), i0.ɵɵinject(i2$1.ConfigService)); };
|
|
31005
31169
|
ImportService.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: ImportService, factory: ImportService.ɵfac, providedIn: 'root' });
|
|
31006
31170
|
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ImportService, [{
|
|
31007
31171
|
type: Injectable,
|
|
31008
31172
|
args: [{
|
|
31009
31173
|
providedIn: 'root'
|
|
31010
31174
|
}]
|
|
31011
|
-
}], function () { return [{ type: i1$
|
|
31175
|
+
}], function () { return [{ type: i1$1.HttpClient }, { type: i2$1.ConfigService }]; }, null); })();
|
|
31012
31176
|
|
|
31013
31177
|
class StyleListService {
|
|
31014
31178
|
constructor(injector) {
|
|
@@ -31133,7 +31297,7 @@ function ImportExportComponent_form_8_Template(rf, ctx) { if (rf & 1) {
|
|
|
31133
31297
|
i0.ɵɵadvance(2);
|
|
31134
31298
|
i0.ɵɵstyleProp("display", "none");
|
|
31135
31299
|
} }
|
|
31136
|
-
const _c0$
|
|
31300
|
+
const _c0$5 = function (a0) { return { size: a0 }; };
|
|
31137
31301
|
function ImportExportComponent_section_9_div_1_Template(rf, ctx) { if (rf & 1) {
|
|
31138
31302
|
i0.ɵɵelementStart(0, "div")(1, "h4");
|
|
31139
31303
|
i0.ɵɵtext(2);
|
|
@@ -31156,7 +31320,7 @@ function ImportExportComponent_section_9_div_1_Template(rf, ctx) { if (rf & 1) {
|
|
|
31156
31320
|
i0.ɵɵadvance(2);
|
|
31157
31321
|
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(3, 4, "igo.geo.importExportForm.importClarifications"));
|
|
31158
31322
|
i0.ɵɵadvance(4);
|
|
31159
|
-
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind2(7, 6, "igo.geo.importExportForm.importSizeMax", i0.ɵɵpureFunction1(13, _c0$
|
|
31323
|
+
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind2(7, 6, "igo.geo.importExportForm.importSizeMax", i0.ɵɵpureFunction1(13, _c0$5, ctx_r17.fileSizeMb)));
|
|
31160
31324
|
i0.ɵɵadvance(3);
|
|
31161
31325
|
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(10, 9, "igo.geo.importExportForm.importFormatAuthorized"));
|
|
31162
31326
|
i0.ɵɵadvance(3);
|
|
@@ -32220,7 +32384,7 @@ ImportExportComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: Impor
|
|
|
32220
32384
|
i0.ɵɵproperty("ngIf", i0.ɵɵpipeBind1(11, 13, ctx.exportableLayers$).length === 0 && ctx.selectedMode === "export");
|
|
32221
32385
|
i0.ɵɵadvance(2);
|
|
32222
32386
|
i0.ɵɵproperty("ngIf", i0.ɵɵpipeBind1(13, 15, ctx.exportableLayers$).length > 0 && ctx.selectedMode === "export");
|
|
32223
|
-
} }, dependencies: [i4.MatTooltip, i2$2.ɵNgNoValidate, i2$2.DefaultValueAccessor, i2$2.NgControlStatus, i2$2.NgControlStatusGroup, i2$2.FormGroupDirective, i2$2.FormControlName, i1
|
|
32387
|
+
} }, dependencies: [i4.MatTooltip, i2$2.ɵNgNoValidate, i2$2.DefaultValueAccessor, i2$2.NgControlStatus, i2$2.NgControlStatusGroup, i2$2.FormGroupDirective, i2$2.FormControlName, i1.NgClass, i1.NgForOf, i1.NgIf, i3$1.MatButton, i18.MatButtonToggleGroup, i18.MatButtonToggle, i13.MatFormField, i13.MatLabel, i15.MatSelect, i15.MatSelectTrigger, i9.MatOption, i14.MatInput, i23.MatSlideToggle, i5$1.SpinnerComponent, i5$1.CustomHtmlComponent, i1.AsyncPipe, i7.TranslatePipe, i5$1.KeyValuePipe], styles: ["mat-option.igo-export-layer-mat-option[_ngcontent-%COMP%]{height:5em;line-height:1em}.import-export-toggle[_ngcontent-%COMP%]{padding:10px;text-align:center}.import-export-toggle[_ngcontent-%COMP%] mat-button-toggle-group[_ngcontent-%COMP%]{width:100%}.import-export-toggle[_ngcontent-%COMP%] mat-button-toggle-group[_ngcontent-%COMP%] mat-button-toggle[_ngcontent-%COMP%]{width:50%}h4[_ngcontent-%COMP%]{padding:0 5px}.igo-form[_ngcontent-%COMP%]{padding:15px 5px}.igo-input-container[_ngcontent-%COMP%] mat-form-field[_ngcontent-%COMP%]{width:100%}.igo-form-button-group[_ngcontent-%COMP%]{text-align:center;padding-top:10px}igo-spinner[_ngcontent-%COMP%]{position:absolute;padding-left:10px}.export-options[_ngcontent-%COMP%], .export-combine-layers[_ngcontent-%COMP%], .export-separator[_ngcontent-%COMP%]{overflow-x:hidden}.export-options[_ngcontent-%COMP%] mat-slide-toggle[_ngcontent-%COMP%], .export-combine-layers[_ngcontent-%COMP%] mat-slide-toggle[_ngcontent-%COMP%], .export-separator[_ngcontent-%COMP%] mat-slide-toggle[_ngcontent-%COMP%]{width:100%;margin:10px}.export-options[_ngcontent-%COMP%] mat-slide-toggle[_ngcontent-%COMP%] .mat-slide-toggle-content, .export-combine-layers[_ngcontent-%COMP%] mat-slide-toggle[_ngcontent-%COMP%] .mat-slide-toggle-content, .export-separator[_ngcontent-%COMP%] mat-slide-toggle[_ngcontent-%COMP%] .mat-slide-toggle-content{width:calc(100% - 60px)}.export-select-trigger[_ngcontent-%COMP%]{opacity:.75;font-size:.75em}"] });
|
|
32224
32388
|
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ImportExportComponent, [{
|
|
32225
32389
|
type: Component,
|
|
32226
32390
|
args: [{ selector: 'igo-import-export', template: "<div class=\"import-export-toggle mat-typography\">\n <mat-button-toggle-group\n [value]=\"selectedMode\"\n (change)=\"onImportExportChange($event)\">\n <mat-button-toggle [value]=\"'import'\">\n {{'igo.geo.importExportForm.importTabTitle' | translate}}\n </mat-button-toggle>\n <mat-button-toggle [value]=\"'export'\">\n {{'igo.geo.importExportForm.exportTabTitle' | translate}}\n </mat-button-toggle>\n </mat-button-toggle-group>\n</div>\n\n<form class=\"igo-form\" [formGroup]=\"importForm\" *ngIf=\"selectedMode === 'import'\">\n <div class=\"igo-input-container\">\n <mat-form-field>\n <mat-label>{{'igo.geo.importExportForm.importProjPlaceholder' | translate}}</mat-label>\n <mat-select\n [(value)]=\"inputProj\">\n <mat-option\n *ngFor=\"let projection of (projections$ | async)\"\n [value]=\"projection\"\n (click)=\"$event.stopPropagation()\">\n <p mat-line *ngIf=\"projection.translateKey\">{{('igo.geo.importExportForm.projections.' + projection.translateKey) | translate: projection}}</p>\n <p mat-line *ngIf=\"!projection.translateKey\">{{projection.alias}}</p>\n </mat-option>\n </mat-select>\n </mat-form-field>\n </div>\n\n <div\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"importForm.invalid ? ('igo.geo.importExportForm.projections.choose' | translate) : ('igo.geo.importExportForm.importButton' | translate)\"\n class=\"igo-form-button-group\">\n <button\n [disabled]=\"importForm.invalid || (loading$ | async)\"\n mat-raised-button\n type=\"button\"\n (click)=\"fileInput.click()\">\n {{'igo.geo.importExportForm.importButton' | translate}}\n </button>\n <igo-spinner [shown]=\"loading$ | async\"></igo-spinner>\n <input\n hidden\n #fileInput\n type=\"file\"\n [style.display]=\"'none'\"\n (click)=\"fileInput.value = null\"\n (change)=\"importFiles($event.target.files)\">\n </div>\n</form>\n<section class=\"mat-typography\" *ngIf=\"selectedMode === 'import'\">\n <div *ngIf=\"importHtmlClarifications === ''\">\n <h4>{{'igo.geo.importExportForm.importClarifications' | translate}}</h4>\n <ul>\n <li>{{'igo.geo.importExportForm.importSizeMax' | translate: {size: fileSizeMb} }}</li>\n <li>{{'igo.geo.importExportForm.importFormatAuthorized' | translate}}</li>\n <li>{{'igo.geo.importExportForm.importShpZip' | translate}}</li>\n </ul>\n </div>\n <igo-custom-html *ngIf=\"importHtmlClarifications !== ''\" class=\"mat-typography\"\n [html]=\"importHtmlClarifications\">\n </igo-custom-html>\n</section>\n\n<section class=\"mat-typography\" *ngIf=\"(exportableLayers$ | async).length === 0 && selectedMode === 'export'\">\n <h4>{{'igo.geo.importExportForm.exportNoLayersExportable' | translate}}</h4>\n</section>\n\n<form class=\"igo-form\" [formGroup]=\"form\" *ngIf=\"(exportableLayers$ | async).length > 0 && selectedMode === 'export'\">\n <div class=\"igo-input-container\">\n <mat-form-field>\n <mat-label>{{'igo.geo.importExportForm.exportLayerPlaceholder' | translate}}</mat-label>\n <mat-select\n [(value)]=\"layers\" multiple>\n <mat-select-trigger>\n {{layers.length ? getLayerTitleById(layers[0]) : ''}}\n <span *ngIf=\"layers.length > 1\" class=\"export-select-trigger\">\n (+{{layers.length - 1}} {{(layers?.length === 2 ? 'igo.geo.importExportForm.other' : 'igo.geo.importExportForm.others') | translate }})\n </span>\n </mat-select-trigger>\n <mat-option\n *ngFor=\"let layer of (exportableLayers$ | async)\"\n [ngClass]=\"{'igo-export-layer-mat-option': layerHasSelectedFeatures(layer)}\"\n [value]=\"layer.id\"\n (click)=\"$event.stopPropagation()\">\n <p mat-line>{{layer.title}}</p>\n <p mat-line>\n <mat-slide-toggle *ngIf=\"layerHasSelectedFeatures(layer)\"\n [labelPosition]=\"'after'\"\n (click)=\"onlySelectedClick($event,layer.id)\"\n (checked)=\"inLayersIdToExportSelectionOnly(layer)\"\n (change)=\"onlySelected($event,layer.id)\">\n <small>{{'igo.geo.importExportForm.exportSelectedFeature' | translate}}</small>\n </mat-slide-toggle>\n </p>\n </mat-option>\n </mat-select>\n </mat-form-field>\n </div>\n\n <div class=\"igo-input-container\">\n <mat-form-field>\n <mat-label>{{'igo.geo.importExportForm.exportFormatPlaceholder' | translate}}</mat-label>\n <mat-select\n formControlName=\"format\">\n <ng-container *ngIf=\"(formats$ | async).length !== 0\">\n <mat-option *ngFor=\"let format of (formats$ | async) | keyvalue\" [value]=\"format.key\">\n {{'igo.geo.export.format.' + format.value | translate}}\n </mat-option>\n </ng-container>\n <mat-option *ngIf=\"(formats$ | async).length === 0\" disabled=\"true\">\n {{'igo.geo.export.noFormat.title' | translate}}\n </mat-option>\n </mat-select>\n </mat-form-field>\n </div>\n\n <div class=\"igo-input-container\" *ngIf=\"forceNaming && form.value.format !== 'URL'\">\n <mat-form-field>\n <input matInput formControlName=\"name\" placeholder=\"{{'igo.geo.importExportForm.exportFileNamePlaceholder' | translate}}\">\n </mat-form-field>\n </div>\n\n <div class=\"igo-input-container\" *ngIf=\"form.value.format === 'CSVcomma' || form.value.format === 'CSVsemicolon'\">\n <mat-form-field>\n <mat-label>{{'igo.geo.importExportForm.encodingPlaceholder' | translate}}</mat-label>\n <mat-select\n formControlName=\"encoding\">\n <ng-container *ngIf=\"(encodings$ | async).length !== 0\">\n <mat-option *ngFor=\"let encoding of (encodings$ | async) | keyvalue\" [value]=\"encoding.key\">\n {{'igo.geo.export.encoding.' + encoding.value | translate}}\n </mat-option>\n </ng-container>\n </mat-select>\n </mat-form-field>\n </div>\n\n <div class=\"export-combine-layers mat-typography\" *ngIf=\"layers.length > 1 && (form.value.format === 'CSVcomma' || form.value.format === 'CSVsemicolon')\">\n <mat-slide-toggle\n formControlName=\"combineLayers\"\n [labelPosition]=\"'before'\">\n {{'igo.geo.importExportForm.exportCombineResults' | translate}}\n </mat-slide-toggle>\n </div>\n\n <div class=\"export-separator mat-typography\" *ngIf=\"layers.length > 1 && (form.value.format === 'CSVcomma' || form.value.format === 'CSVsemicolon') && form.value.combineLayers\">\n <mat-slide-toggle\n formControlName=\"separator\"\n [labelPosition]=\"'before'\">\n {{'igo.geo.importExportForm.exportSeparator' | translate}}\n </mat-slide-toggle>\n </div>\n\n <div class=\"export-options mat-typography\" *ngIf=\"form.value.format !== 'URL'\">\n <mat-slide-toggle\n formControlName=\"featureInMapExtent\"\n [labelPosition]=\"'before'\">\n {{'igo.geo.importExportForm.exportFeatureInExtent' | translate}}\n </mat-slide-toggle>\n </div>\n\n <div class=\"igo-form-button-group\">\n <button\n mat-raised-button\n type=\"button\"\n [disabled]=\"!form.valid || (loading$ | async)\"\n (click)=\"handleExportFormSubmit(form.value)\">\n {{form.value.format !== 'URL' ? ('igo.geo.importExportForm.exportButton' | translate): (form.value.layers.length > 1 ? ('igo.geo.importExportForm.exportButtonLinks' | translate): ('igo.geo.importExportForm.exportButtonLink' | translate))}}\n </button>\n <igo-spinner [shown]=\"loading$ | async\"></igo-spinner>\n </div>\n\n <igo-custom-html *ngIf=\"exportHtmlClarifications !== ''\" class=\"mat-typography\"\n [html]=\"exportHtmlClarifications\">\n </igo-custom-html>\n\n</form>\n", styles: ["mat-option.igo-export-layer-mat-option{height:5em;line-height:1em}.import-export-toggle{padding:10px;text-align:center}.import-export-toggle mat-button-toggle-group{width:100%}.import-export-toggle mat-button-toggle-group mat-button-toggle{width:50%}h4{padding:0 5px}.igo-form{padding:15px 5px}.igo-input-container mat-form-field{width:100%}.igo-form-button-group{text-align:center;padding-top:10px}igo-spinner{position:absolute;padding-left:10px}.export-options,.export-combine-layers,.export-separator{overflow-x:hidden}.export-options mat-slide-toggle,.export-combine-layers mat-slide-toggle,.export-separator mat-slide-toggle{width:100%;margin:10px}.export-options mat-slide-toggle ::ng-deep .mat-slide-toggle-content,.export-combine-layers mat-slide-toggle ::ng-deep .mat-slide-toggle-content,.export-separator mat-slide-toggle ::ng-deep .mat-slide-toggle-content{width:calc(100% - 60px)}.export-select-trigger{opacity:.75;font-size:.75em}\n"] }]
|
|
@@ -32575,8 +32739,8 @@ IgoMapModule.ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ imports: [CommonModul
|
|
|
32575
32739
|
SwipeControlComponent,
|
|
32576
32740
|
MapCenterComponent,
|
|
32577
32741
|
MenuButtonComponent] }); })();
|
|
32578
|
-
i0.ɵɵsetComponentScope(BaseLayersSwitcherComponent, [i1
|
|
32579
|
-
i0.ɵɵsetComponentScope(MiniBaseMapComponent, [i1
|
|
32742
|
+
i0.ɵɵsetComponentScope(BaseLayersSwitcherComponent, [i1.NgClass, i1.NgForOf, i1.NgIf, i2.MatIcon, i3$1.MatButton, i4.MatTooltip, MiniBaseMapComponent], [i7.TranslatePipe]);
|
|
32743
|
+
i0.ɵɵsetComponentScope(MiniBaseMapComponent, [i1.NgIf, MapBrowserComponent], []);
|
|
32580
32744
|
|
|
32581
32745
|
function MeasurerItemComponent_mat_option_8_Template(rf, ctx) { if (rf & 1) {
|
|
32582
32746
|
i0.ɵɵelementStart(0, "mat-option", 5);
|
|
@@ -32688,7 +32852,7 @@ MeasurerItemComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: Measu
|
|
|
32688
32852
|
i0.ɵɵproperty("value", ctx.measureUnit)("disabled", ctx.auto);
|
|
32689
32853
|
i0.ɵɵadvance(1);
|
|
32690
32854
|
i0.ɵɵproperty("ngForOf", ctx.measureUnits);
|
|
32691
|
-
} }, dependencies: [i1
|
|
32855
|
+
} }, dependencies: [i1.NgForOf, i13.MatFormField, i13.MatLabel, i14.MatInput, i15.MatSelect, i9.MatOption, i1.AsyncPipe, i7.TranslatePipe, MeasureFormatPipe], styles: ["[_nghost-%COMP%]{display:flex;width:100%;padding:5px 10px}.measure-field[_ngcontent-%COMP%]{pointer-events:none;display:flex;flex-flow:column nowrap;width:100%}.unit-field[_ngcontent-%COMP%]{width:50px;margin-left:10px;margin-top:10px}"], changeDetection: 0 });
|
|
32692
32856
|
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(MeasurerItemComponent, [{
|
|
32693
32857
|
type: Component,
|
|
32694
32858
|
args: [{ selector: 'igo-measurer-item', changeDetection: ChangeDetectionStrategy.OnPush, template: "<mat-form-field\n class=\"measure-field\"\n appearance=\"outline\"\n floatLabel=\"always\">\n <mat-label>{{placeholder}}</mat-label>\n <input\n matInput\n [readonly]=\"true\"\n [value]=\"((measure$ | async) || 0) | measureFormat: measureUnit\">\n</mat-form-field>\n<mat-form-field class=\"unit-field\">\n <mat-select\n [value]=\"measureUnit\"\n [disabled]=\"auto\"\n (selectionChange)=\"onMeasureUnitChange($event.value)\">\n <mat-option *ngFor=\"let measureUnit of measureUnits\" [value]=\"measureUnit\">\n {{('igo.geo.measure.' + measureUnit) | translate}}\n </mat-option>\n </mat-select>\n</mat-form-field>\n", styles: [":host{display:flex;width:100%;padding:5px 10px}.measure-field{pointer-events:none;display:flex;flex-flow:column nowrap;width:100%}.unit-field{width:50px;margin-left:10px;margin-top:10px}\n"] }]
|
|
@@ -32770,8 +32934,8 @@ IgoMeasurerModule.ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ imports: [Common
|
|
|
32770
32934
|
IgoLanguageModule,
|
|
32771
32935
|
IgoEntityTableModule], exports: [MeasureFormatPipe,
|
|
32772
32936
|
MeasurerComponent] }); })();
|
|
32773
|
-
i0.ɵɵsetComponentScope(MeasurerComponent, [i1
|
|
32774
|
-
i0.ɵɵsetComponentScope(MeasurerDialogComponent, [i1
|
|
32937
|
+
i0.ɵɵsetComponentScope(MeasurerComponent, [i1.NgIf, i3$1.MatButton, i18.MatButtonToggleGroup, i18.MatButtonToggle, i2.MatIcon, i4.MatTooltip, i23.MatSlideToggle, i11.MatDivider, i5$1.EntityTableComponent, MeasurerItemComponent], [i1.AsyncPipe, i7.TranslatePipe]);
|
|
32938
|
+
i0.ɵɵsetComponentScope(MeasurerDialogComponent, [i1.NgIf], [i7.TranslatePipe, MeasureFormatPipe]);
|
|
32775
32939
|
|
|
32776
32940
|
class IgoMeasureModule {
|
|
32777
32941
|
}
|
|
@@ -33435,12 +33599,12 @@ class PrintService {
|
|
|
33435
33599
|
* @param doZipFile - Indicate if we do a zip with the file
|
|
33436
33600
|
* @return Image file of the map with extension format given as parameter
|
|
33437
33601
|
*/
|
|
33438
|
-
downloadMapImage(map, resolution, format = 'png', projection = false, scale = false,
|
|
33602
|
+
downloadMapImage(map, resolution, format = 'png', projection = false, scale = false, title = '', subtitle = '', comment = '', doZipFile = true, legendPosition) {
|
|
33439
33603
|
const status$ = new Subject();
|
|
33440
33604
|
// const resolution = map.ol.getView().getResolution();
|
|
33441
33605
|
this.activityId = this.activityService.register();
|
|
33442
33606
|
const translate = this.languageService.translate;
|
|
33443
|
-
map.ol.once('rendercomplete', (event) => {
|
|
33607
|
+
map.ol.once('rendercomplete', async (event) => {
|
|
33444
33608
|
format = format.toLowerCase();
|
|
33445
33609
|
const oldCanvas = event.target
|
|
33446
33610
|
.getViewport()
|
|
@@ -33449,8 +33613,6 @@ class PrintService {
|
|
|
33449
33613
|
const newContext = newCanvas.getContext('2d');
|
|
33450
33614
|
// Postion in height to set the canvas in new canvas
|
|
33451
33615
|
let positionHCanvas = 0;
|
|
33452
|
-
// Position in width to set the Proj/Scale in new canvas
|
|
33453
|
-
let positionWProjScale = 10;
|
|
33454
33616
|
// Get height/width of map canvas
|
|
33455
33617
|
const width = oldCanvas.width;
|
|
33456
33618
|
let height = oldCanvas.height;
|
|
@@ -33472,11 +33634,19 @@ class PrintService {
|
|
|
33472
33634
|
// Set the new canvas with the new calculated size
|
|
33473
33635
|
newCanvas.width = width;
|
|
33474
33636
|
newCanvas.height = height;
|
|
33475
|
-
|
|
33476
|
-
|
|
33477
|
-
|
|
33478
|
-
|
|
33479
|
-
|
|
33637
|
+
if (['bmp', 'gif', 'jpeg', 'png', 'tiff'].indexOf(format) > -1) {
|
|
33638
|
+
// Patch Jpeg default black background to white
|
|
33639
|
+
if (format === 'jpeg') {
|
|
33640
|
+
newContext.fillStyle = '#ffffff';
|
|
33641
|
+
newContext.fillRect(0, 0, width, height);
|
|
33642
|
+
newContext.fillStyle = '#000000';
|
|
33643
|
+
}
|
|
33644
|
+
else if (title !== '' || subtitle !== '' || comment !== '' ||
|
|
33645
|
+
projection !== false || scale !== false) {
|
|
33646
|
+
newContext.fillStyle = '#ffffff';
|
|
33647
|
+
newContext.fillRect(0, 0, width, height);
|
|
33648
|
+
newContext.fillStyle = '#000000';
|
|
33649
|
+
}
|
|
33480
33650
|
}
|
|
33481
33651
|
// If a title need to be added to canvas
|
|
33482
33652
|
if (title !== '') {
|
|
@@ -33497,19 +33667,20 @@ class PrintService {
|
|
|
33497
33667
|
}
|
|
33498
33668
|
// Set font for next section
|
|
33499
33669
|
newContext.font = '20px Calibri';
|
|
33500
|
-
// If projection need to be added to canvas
|
|
33501
|
-
if (projection !== false) {
|
|
33502
|
-
|
|
33503
|
-
|
|
33504
|
-
|
|
33505
|
-
|
|
33506
|
-
|
|
33507
|
-
|
|
33508
|
-
|
|
33509
|
-
|
|
33510
|
-
|
|
33511
|
-
|
|
33512
|
-
newContext.
|
|
33670
|
+
// If projection or/end scale need to be added to canvas
|
|
33671
|
+
if ((projection !== false) || (scale !== false)) {
|
|
33672
|
+
let projectionScaleText = '';
|
|
33673
|
+
if (projection !== false) {
|
|
33674
|
+
const projText = translate.instant('igo.geo.printForm.projection');
|
|
33675
|
+
projectionScaleText = projText + ': ' + map.projection + ' ';
|
|
33676
|
+
}
|
|
33677
|
+
if (scale !== false) {
|
|
33678
|
+
const scaleText = translate.instant('igo.geo.printForm.scale');
|
|
33679
|
+
const mapScale = map.viewController.getScale(resolution);
|
|
33680
|
+
projectionScaleText += scaleText + ': ~ 1 / ' + formatScale(mapScale);
|
|
33681
|
+
}
|
|
33682
|
+
newContext.textAlign = 'center';
|
|
33683
|
+
newContext.fillText(projectionScaleText, width / 2, positionHProjScale, width * 0.9);
|
|
33513
33684
|
}
|
|
33514
33685
|
// If a comment need to be added to canvas
|
|
33515
33686
|
if (comment !== '') {
|
|
@@ -33547,6 +33718,12 @@ class PrintService {
|
|
|
33547
33718
|
}
|
|
33548
33719
|
// Add map to new canvas
|
|
33549
33720
|
newContext.drawImage(oldCanvas, 0, positionHCanvas);
|
|
33721
|
+
// Check the legendPosition
|
|
33722
|
+
if (legendPosition !== 'none') {
|
|
33723
|
+
if (['topleft', 'topright', 'bottomleft', 'bottomright'].indexOf(legendPosition) > -1) {
|
|
33724
|
+
await this.addLegendToImage(newCanvas, map, resolution, legendPosition, format);
|
|
33725
|
+
}
|
|
33726
|
+
}
|
|
33550
33727
|
let status = SubjectStatus.Done;
|
|
33551
33728
|
let fileNameWithExt = 'map.' + format;
|
|
33552
33729
|
if (format.toLowerCase() === 'tiff') {
|
|
@@ -33590,6 +33767,66 @@ class PrintService {
|
|
|
33590
33767
|
map.ol.renderSync();
|
|
33591
33768
|
return status$;
|
|
33592
33769
|
}
|
|
33770
|
+
/**
|
|
33771
|
+
* Create and Add Legend to the map canvas
|
|
33772
|
+
* @param canvas Canvas of the map
|
|
33773
|
+
* @param map Map of the app
|
|
33774
|
+
* @param resolution Resolution of map
|
|
33775
|
+
* @param legendPosition Legend position
|
|
33776
|
+
* @param format Image format
|
|
33777
|
+
*/
|
|
33778
|
+
async addLegendToImage(canvas, map, resolution, legendPosition, format) {
|
|
33779
|
+
const fileNameWithExt = 'map.' + format;
|
|
33780
|
+
const context = canvas.getContext('2d');
|
|
33781
|
+
// Get html code for the legend
|
|
33782
|
+
const html = await this.getLayersLegendHtml(map, canvas.width, resolution).toPromise();
|
|
33783
|
+
// If no legend, save the map directly
|
|
33784
|
+
if (html === '') {
|
|
33785
|
+
await this.saveCanvasImageAsFile(canvas, fileNameWithExt, format);
|
|
33786
|
+
return true;
|
|
33787
|
+
}
|
|
33788
|
+
// Create div to contain html code for legend
|
|
33789
|
+
const div = window.document.createElement('div');
|
|
33790
|
+
div.style.position = 'absolute';
|
|
33791
|
+
div.style.top = '0';
|
|
33792
|
+
// Add html code to convert in the new window
|
|
33793
|
+
window.document.body.appendChild(div);
|
|
33794
|
+
div.innerHTML = html;
|
|
33795
|
+
await this.timeout(1);
|
|
33796
|
+
const canvasLegend = await html2canvas(div, { useCORS: true }).catch((e) => {
|
|
33797
|
+
console.log(e);
|
|
33798
|
+
});
|
|
33799
|
+
if (canvasLegend) {
|
|
33800
|
+
const canvasHeight = canvas.height;
|
|
33801
|
+
const canvasWidth = canvas.width;
|
|
33802
|
+
const legendHeight = canvasLegend.height;
|
|
33803
|
+
const legendWidth = canvasLegend.width;
|
|
33804
|
+
// Move the legend to the correct position on the page
|
|
33805
|
+
const offset = canvasHeight * 0.01;
|
|
33806
|
+
let legendX;
|
|
33807
|
+
let legendY;
|
|
33808
|
+
if (legendPosition === 'bottomright') {
|
|
33809
|
+
legendX = canvasWidth - legendWidth - offset;
|
|
33810
|
+
legendY = canvasHeight - legendHeight - offset;
|
|
33811
|
+
}
|
|
33812
|
+
else if (legendPosition === 'topright') {
|
|
33813
|
+
legendX = canvasWidth - legendWidth - offset;
|
|
33814
|
+
legendY = offset;
|
|
33815
|
+
}
|
|
33816
|
+
else if (legendPosition === 'bottomleft') {
|
|
33817
|
+
legendX = offset;
|
|
33818
|
+
legendY = canvasHeight - legendHeight - offset;
|
|
33819
|
+
}
|
|
33820
|
+
else if (legendPosition === 'topleft') {
|
|
33821
|
+
legendX = offset;
|
|
33822
|
+
legendY = offset;
|
|
33823
|
+
}
|
|
33824
|
+
context.drawImage(canvasLegend, legendX, legendY, legendWidth, legendHeight);
|
|
33825
|
+
context.strokeRect(legendX, legendY, legendWidth, legendHeight);
|
|
33826
|
+
div.parentNode.removeChild(div); // remove temp div (IE style)
|
|
33827
|
+
return true;
|
|
33828
|
+
}
|
|
33829
|
+
}
|
|
33593
33830
|
renderMap(map, size, extent) {
|
|
33594
33831
|
map.ol.updateSize();
|
|
33595
33832
|
map.ol.renderSync();
|
|
@@ -33764,14 +34001,14 @@ class PrintService {
|
|
|
33764
34001
|
return n * k;
|
|
33765
34002
|
}
|
|
33766
34003
|
}
|
|
33767
|
-
PrintService.ɵfac = function PrintService_Factory(t) { return new (t || PrintService)(i0.ɵɵinject(i1$
|
|
34004
|
+
PrintService.ɵfac = function PrintService_Factory(t) { return new (t || PrintService)(i0.ɵɵinject(i1$1.HttpClient), i0.ɵɵinject(i2$1.MessageService), i0.ɵɵinject(i2$1.ActivityService), i0.ɵɵinject(i2$1.LanguageService), i0.ɵɵinject(i2$1.ConfigService)); };
|
|
33768
34005
|
PrintService.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: PrintService, factory: PrintService.ɵfac, providedIn: 'root' });
|
|
33769
34006
|
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(PrintService, [{
|
|
33770
34007
|
type: Injectable,
|
|
33771
34008
|
args: [{
|
|
33772
34009
|
providedIn: 'root'
|
|
33773
34010
|
}]
|
|
33774
|
-
}], function () { return [{ type: i1$
|
|
34011
|
+
}], function () { return [{ type: i1$1.HttpClient }, { type: i2$1.MessageService }, { type: i2$1.ActivityService }, { type: i2$1.LanguageService }, { type: i2$1.ConfigService }]; }, null); })();
|
|
33775
34012
|
|
|
33776
34013
|
const PrintOutputFormat = strEnum(['Pdf', 'Image']);
|
|
33777
34014
|
const PrintPaperFormat = strEnum([
|
|
@@ -33802,26 +34039,49 @@ const PrintLegendPosition = strEnum([
|
|
|
33802
34039
|
'newpage'
|
|
33803
34040
|
]);
|
|
33804
34041
|
|
|
33805
|
-
function
|
|
33806
|
-
i0.ɵɵ
|
|
34042
|
+
function PrintFormComponent_mat_option_28_ng_container_1_Template(rf, ctx) { if (rf & 1) {
|
|
34043
|
+
i0.ɵɵelementContainerStart(0);
|
|
33807
34044
|
i0.ɵɵtext(1);
|
|
33808
34045
|
i0.ɵɵpipe(2, "translate");
|
|
34046
|
+
i0.ɵɵelementContainerEnd();
|
|
34047
|
+
} if (rf & 2) {
|
|
34048
|
+
const legendPosition_r6 = i0.ɵɵnextContext().$implicit;
|
|
34049
|
+
i0.ɵɵadvance(1);
|
|
34050
|
+
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(2, 1, "igo.geo.printForm.legendPositions." + legendPosition_r6.value), " ");
|
|
34051
|
+
} }
|
|
34052
|
+
function PrintFormComponent_mat_option_28_ng_container_2_Template(rf, ctx) { if (rf & 1) {
|
|
34053
|
+
i0.ɵɵelementContainerStart(0);
|
|
34054
|
+
i0.ɵɵtext(1);
|
|
34055
|
+
i0.ɵɵpipe(2, "translate");
|
|
34056
|
+
i0.ɵɵelementContainerEnd();
|
|
34057
|
+
} if (rf & 2) {
|
|
34058
|
+
const ctx_r8 = i0.ɵɵnextContext(2);
|
|
34059
|
+
i0.ɵɵadvance(1);
|
|
34060
|
+
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(2, 1, ctx_r8.outputFormat === "Pdf" ? "igo.geo.printForm.legendPositions.newpage" : "igo.geo.printForm.legendPositions.newimage"), " ");
|
|
34061
|
+
} }
|
|
34062
|
+
const _c0$4 = function () { return ["newpage", "newimage"]; };
|
|
34063
|
+
function PrintFormComponent_mat_option_28_Template(rf, ctx) { if (rf & 1) {
|
|
34064
|
+
i0.ɵɵelementStart(0, "mat-option", 19);
|
|
34065
|
+
i0.ɵɵtemplate(1, PrintFormComponent_mat_option_28_ng_container_1_Template, 3, 3, "ng-container", 20);
|
|
34066
|
+
i0.ɵɵtemplate(2, PrintFormComponent_mat_option_28_ng_container_2_Template, 3, 3, "ng-container", 20);
|
|
33809
34067
|
i0.ɵɵelementEnd();
|
|
33810
34068
|
} if (rf & 2) {
|
|
33811
34069
|
const legendPosition_r6 = ctx.$implicit;
|
|
33812
34070
|
i0.ɵɵproperty("value", legendPosition_r6.key);
|
|
33813
34071
|
i0.ɵɵadvance(1);
|
|
33814
|
-
i0.ɵɵ
|
|
34072
|
+
i0.ɵɵproperty("ngIf", !i0.ɵɵpureFunction0(3, _c0$4).includes(legendPosition_r6.value));
|
|
34073
|
+
i0.ɵɵadvance(1);
|
|
34074
|
+
i0.ɵɵproperty("ngIf", i0.ɵɵpureFunction0(4, _c0$4).includes(legendPosition_r6.value));
|
|
33815
34075
|
} }
|
|
33816
34076
|
function PrintFormComponent_mat_option_34_Template(rf, ctx) { if (rf & 1) {
|
|
33817
34077
|
i0.ɵɵelementStart(0, "mat-option", 19);
|
|
33818
34078
|
i0.ɵɵtext(1);
|
|
33819
34079
|
i0.ɵɵelementEnd();
|
|
33820
34080
|
} if (rf & 2) {
|
|
33821
|
-
const
|
|
33822
|
-
i0.ɵɵproperty("value",
|
|
34081
|
+
const outputFormat_r10 = ctx.$implicit;
|
|
34082
|
+
i0.ɵɵproperty("value", outputFormat_r10.key);
|
|
33823
34083
|
i0.ɵɵadvance(1);
|
|
33824
|
-
i0.ɵɵtextInterpolate1(" ",
|
|
34084
|
+
i0.ɵɵtextInterpolate1(" ", outputFormat_r10.value, " ");
|
|
33825
34085
|
} }
|
|
33826
34086
|
function PrintFormComponent_mat_option_40_Template(rf, ctx) { if (rf & 1) {
|
|
33827
34087
|
i0.ɵɵelementStart(0, "mat-option", 19);
|
|
@@ -33829,30 +34089,30 @@ function PrintFormComponent_mat_option_40_Template(rf, ctx) { if (rf & 1) {
|
|
|
33829
34089
|
i0.ɵɵpipe(2, "translate");
|
|
33830
34090
|
i0.ɵɵelementEnd();
|
|
33831
34091
|
} if (rf & 2) {
|
|
33832
|
-
const
|
|
33833
|
-
i0.ɵɵproperty("value",
|
|
34092
|
+
const paperFormat_r11 = ctx.$implicit;
|
|
34093
|
+
i0.ɵɵproperty("value", paperFormat_r11.key);
|
|
33834
34094
|
i0.ɵɵadvance(1);
|
|
33835
|
-
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(2, 2, "igo.geo.printForm.paperFormats." +
|
|
34095
|
+
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(2, 2, "igo.geo.printForm.paperFormats." + paperFormat_r11.value), " ");
|
|
33836
34096
|
} }
|
|
33837
34097
|
function PrintFormComponent_mat_option_46_Template(rf, ctx) { if (rf & 1) {
|
|
33838
34098
|
i0.ɵɵelementStart(0, "mat-option", 19);
|
|
33839
34099
|
i0.ɵɵtext(1);
|
|
33840
34100
|
i0.ɵɵelementEnd();
|
|
33841
34101
|
} if (rf & 2) {
|
|
33842
|
-
const
|
|
33843
|
-
i0.ɵɵproperty("value",
|
|
34102
|
+
const imageFormat_r12 = ctx.$implicit;
|
|
34103
|
+
i0.ɵɵproperty("value", imageFormat_r12.key);
|
|
33844
34104
|
i0.ɵɵadvance(1);
|
|
33845
|
-
i0.ɵɵtextInterpolate1(" ",
|
|
34105
|
+
i0.ɵɵtextInterpolate1(" ", imageFormat_r12.value, " ");
|
|
33846
34106
|
} }
|
|
33847
34107
|
function PrintFormComponent_mat_option_52_Template(rf, ctx) { if (rf & 1) {
|
|
33848
34108
|
i0.ɵɵelementStart(0, "mat-option", 19);
|
|
33849
34109
|
i0.ɵɵtext(1);
|
|
33850
34110
|
i0.ɵɵelementEnd();
|
|
33851
34111
|
} if (rf & 2) {
|
|
33852
|
-
const
|
|
33853
|
-
i0.ɵɵproperty("value",
|
|
34112
|
+
const resolution_r13 = ctx.$implicit;
|
|
34113
|
+
i0.ɵɵproperty("value", resolution_r13.key);
|
|
33854
34114
|
i0.ɵɵadvance(1);
|
|
33855
|
-
i0.ɵɵtextInterpolate1(" ",
|
|
34115
|
+
i0.ɵɵtextInterpolate1(" ", resolution_r13.value + " PPI", " ");
|
|
33856
34116
|
} }
|
|
33857
34117
|
function PrintFormComponent_mat_option_58_Template(rf, ctx) { if (rf & 1) {
|
|
33858
34118
|
i0.ɵɵelementStart(0, "mat-option", 19);
|
|
@@ -33860,10 +34120,10 @@ function PrintFormComponent_mat_option_58_Template(rf, ctx) { if (rf & 1) {
|
|
|
33860
34120
|
i0.ɵɵpipe(2, "translate");
|
|
33861
34121
|
i0.ɵɵelementEnd();
|
|
33862
34122
|
} if (rf & 2) {
|
|
33863
|
-
const
|
|
33864
|
-
i0.ɵɵproperty("value",
|
|
34123
|
+
const orientation_r14 = ctx.$implicit;
|
|
34124
|
+
i0.ɵɵproperty("value", orientation_r14.key);
|
|
33865
34125
|
i0.ɵɵadvance(1);
|
|
33866
|
-
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(2, 2, "igo.geo.printForm." +
|
|
34126
|
+
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(2, 2, "igo.geo.printForm." + orientation_r14.value), " ");
|
|
33867
34127
|
} }
|
|
33868
34128
|
class PrintFormComponent {
|
|
33869
34129
|
constructor(formBuilder) {
|
|
@@ -34040,7 +34300,7 @@ class PrintFormComponent {
|
|
|
34040
34300
|
}
|
|
34041
34301
|
}
|
|
34042
34302
|
PrintFormComponent.ɵfac = function PrintFormComponent_Factory(t) { return new (t || PrintFormComponent)(i0.ɵɵdirectiveInject(i2$2.UntypedFormBuilder)); };
|
|
34043
|
-
PrintFormComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: PrintFormComponent, selectors: [["igo-print-form"]], inputs: { disabled$: "disabled$", imageFormat: "imageFormat", outputFormat: "outputFormat", paperFormat: "paperFormat", orientation: "orientation", resolution: "resolution", legendPosition: "legendPosition", title: "title", subtitle: "subtitle", comment: "comment", showProjection: "showProjection", showScale: "showScale", showLegend: "showLegend", doZipFile: "doZipFile" }, outputs: { submit: "submit" }, decls: 65, vars: 72, consts: [[1, "igo-form", 3, "formGroup"], [1, "igo-input-container"], ["matInput", "", "formControlName", "title", 3, "placeholder"], ["matInput", "", "formControlName", "subtitle", 3, "placeholder"], ["matInput", "", "formControlName", "comment", 3, "placeholder"], [1, "print-slide-toggle-container", "mat-typography"], ["formControlName", "showProjection", 1, "print-option", 3, "labelPosition"], ["formControlName", "showScale", 1, "print-option", 3, "labelPosition"], ["formControlName", "doZipFile", 1, "print-option", 3, "labelPosition"], ["formControlName", "legendPosition", 3, "placeholder"], [3, "value", 4, "ngFor", "ngForOf"], ["formControlName", "outputFormat", 3, "placeholder", "selectionChange"], ["formControlName", "paperFormat", 3, "placeholder"], ["formControlName", "imageFormat", 3, "placeholder"], [1, "igo-input-container", 2, "display", "none"], ["formControlName", "resolution", 3, "placeholder"], ["formControlName", "orientation", 3, "placeholder"], [1, "igo-form-button-group", "print-button-top-padding"], ["mat-raised-button", "", "type", "button", 3, "disabled", "click"], [3, "value"]], template: function PrintFormComponent_Template(rf, ctx) { if (rf & 1) {
|
|
34303
|
+
PrintFormComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: PrintFormComponent, selectors: [["igo-print-form"]], inputs: { disabled$: "disabled$", imageFormat: "imageFormat", outputFormat: "outputFormat", paperFormat: "paperFormat", orientation: "orientation", resolution: "resolution", legendPosition: "legendPosition", title: "title", subtitle: "subtitle", comment: "comment", showProjection: "showProjection", showScale: "showScale", showLegend: "showLegend", doZipFile: "doZipFile" }, outputs: { submit: "submit" }, decls: 65, vars: 72, consts: [[1, "igo-form", 3, "formGroup"], [1, "igo-input-container"], ["matInput", "", "formControlName", "title", 3, "placeholder"], ["matInput", "", "formControlName", "subtitle", 3, "placeholder"], ["matInput", "", "formControlName", "comment", 3, "placeholder"], [1, "print-slide-toggle-container", "mat-typography"], ["formControlName", "showProjection", 1, "print-option", 3, "labelPosition"], ["formControlName", "showScale", 1, "print-option", 3, "labelPosition"], ["formControlName", "doZipFile", 1, "print-option", 3, "labelPosition"], ["formControlName", "legendPosition", 3, "placeholder"], [3, "value", 4, "ngFor", "ngForOf"], ["formControlName", "outputFormat", 3, "placeholder", "selectionChange"], ["formControlName", "paperFormat", 3, "placeholder"], ["formControlName", "imageFormat", 3, "placeholder"], [1, "igo-input-container", 2, "display", "none"], ["formControlName", "resolution", 3, "placeholder"], ["formControlName", "orientation", 3, "placeholder"], [1, "igo-form-button-group", "print-button-top-padding"], ["mat-raised-button", "", "type", "button", 3, "disabled", "click"], [3, "value"], [4, "ngIf"]], template: function PrintFormComponent_Template(rf, ctx) { if (rf & 1) {
|
|
34044
34304
|
i0.ɵɵelementStart(0, "form", 0)(1, "div", 1)(2, "mat-form-field");
|
|
34045
34305
|
i0.ɵɵelement(3, "input", 2);
|
|
34046
34306
|
i0.ɵɵpipe(4, "translate");
|
|
@@ -34067,7 +34327,7 @@ PrintFormComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: PrintFor
|
|
|
34067
34327
|
i0.ɵɵelementEnd()()();
|
|
34068
34328
|
i0.ɵɵelementStart(24, "div", 1)(25, "mat-form-field")(26, "mat-select", 9);
|
|
34069
34329
|
i0.ɵɵpipe(27, "translate");
|
|
34070
|
-
i0.ɵɵtemplate(28, PrintFormComponent_mat_option_28_Template, 3,
|
|
34330
|
+
i0.ɵɵtemplate(28, PrintFormComponent_mat_option_28_Template, 3, 5, "mat-option", 10);
|
|
34071
34331
|
i0.ɵɵpipe(29, "keyvalue");
|
|
34072
34332
|
i0.ɵɵelementEnd()()();
|
|
34073
34333
|
i0.ɵɵelementStart(30, "div", 1)(31, "mat-form-field")(32, "mat-select", 11);
|
|
@@ -34157,10 +34417,10 @@ PrintFormComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: PrintFor
|
|
|
34157
34417
|
i0.ɵɵproperty("disabled", !ctx.form.valid || i0.ɵɵpipeBind1(62, 68, ctx.disabled$));
|
|
34158
34418
|
i0.ɵɵadvance(2);
|
|
34159
34419
|
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(64, 70, "igo.geo.printForm.saveBtn"), " ");
|
|
34160
|
-
} }, dependencies: [i1
|
|
34420
|
+
} }, dependencies: [i1.NgForOf, i1.NgIf, i2$2.ɵNgNoValidate, i2$2.DefaultValueAccessor, i2$2.NgControlStatus, i2$2.NgControlStatusGroup, i2$2.FormGroupDirective, i2$2.FormControlName, i3$1.MatButton, i13.MatFormField, i15.MatSelect, i9.MatOption, i14.MatInput, i23.MatSlideToggle, i1.AsyncPipe, i7.TranslatePipe, i5$1.KeyValuePipe], styles: ["mat-form-field[_ngcontent-%COMP%]{width:100%}.print-slide-toggle-container[_ngcontent-%COMP%]{overflow-x:hidden}.print-slide-toggle-container[_ngcontent-%COMP%] mat-slide-toggle[_ngcontent-%COMP%]{width:100%;margin:10px}.print-slide-toggle-container[_ngcontent-%COMP%] mat-slide-toggle[_ngcontent-%COMP%] .mat-slide-toggle-content{width:calc(100% - 60px)}.print-option[_ngcontent-%COMP%]{display:block;margin-right:10px;margin-bottom:15px}.print-button-top-padding[_ngcontent-%COMP%]{padding-top:25px}.igo-form[_ngcontent-%COMP%]{padding:10px 5px 5px}.igo-form-button-group[_ngcontent-%COMP%]{text-align:center}"] });
|
|
34161
34421
|
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(PrintFormComponent, [{
|
|
34162
34422
|
type: Component,
|
|
34163
|
-
args: [{ selector: 'igo-print-form', template: "<form class=\"igo-form\" [formGroup]=\"form\">\n <div class=\"igo-input-container\">\n <mat-form-field>\n <input\n matInput\n formControlName=\"title\"\n placeholder=\"{{'igo.geo.printForm.title' | translate}}\">\n </mat-form-field>\n </div>\n <div class=\"igo-input-container\">\n <mat-form-field>\n <input\n matInput\n formControlName=\"subtitle\"\n placeholder=\"{{'igo.geo.printForm.subtitle' | translate}}\">\n </mat-form-field>\n </div>\n <div class=\"igo-input-container\">\n <mat-form-field>\n <input\n matInput\n formControlName=\"comment\"\n placeholder=\"{{'igo.geo.printForm.comment' | translate}}\">\n </mat-form-field>\n </div>\n\n <div class=\"igo-input-container\">\n <div class=\"print-slide-toggle-container mat-typography\">\n <mat-slide-toggle\n class=\"print-option\"\n formControlName=\"showProjection\"\n [labelPosition]=\"'before'\">\n {{'igo.geo.printForm.showProjection' | translate}}\n </mat-slide-toggle>\n <mat-slide-toggle\n class=\"print-option\"\n formControlName=\"showScale\"\n [labelPosition]=\"'before'\">\n {{'igo.geo.printForm.showScale' | translate}}\n </mat-slide-toggle>\n <mat-slide-toggle\n class=\"print-option\"\n formControlName=\"doZipFile\"\n [labelPosition]=\"'before'\"\n [style.display]=\"isPrintService ? 'none' : ''\">\n {{'igo.geo.printForm.doZipFile' | translate}}\n </mat-slide-toggle>\n </div>\n </div>\n\n <div class=\"igo-input-container\">\n <mat-form-field>\n <mat-select\n formControlName=\"legendPosition\"\n placeholder=\"{{'igo.geo.printForm.legendPosition' | translate}}\">\n <mat-option *ngFor=\"let legendPosition of legendPositions | keyvalue \" [value]=\"legendPosition.key\">\n {{'igo.geo.printForm.legendPositions.' + legendPosition.value | translate}}\n </mat-option>\n </mat-select>\n </mat-form-field>\n </div>\n\n <div class=\"igo-input-container\">\n <mat-form-field>\n <mat-select (selectionChange)=\"toggleImageSaveProp()\"\n formControlName=\"outputFormat\"\n placeholder=\"{{'igo.geo.printForm.outputFormat' | translate}}\">\n <mat-option *ngFor=\"let outputFormat of outputFormats | keyvalue \" [value]=\"outputFormat.key\">\n {{outputFormat.value}}\n </mat-option>\n </mat-select>\n </mat-form-field>\n </div>\n\n <div class=\"igo-input-container\" [style.display]=\"isPrintService ? 'block' : 'none'\">\n <mat-form-field>\n <mat-select\n formControlName=\"paperFormat\"\n placeholder=\"{{'igo.geo.printForm.paperFormat' | translate}}\">\n <mat-option *ngFor=\"let paperFormat of paperFormats | keyvalue \" [value]=\"paperFormat.key\">\n {{('igo.geo.printForm.paperFormats.' + paperFormat.value) | translate}}\n </mat-option>\n </mat-select>\n </mat-form-field>\n </div>\n\n <div class=\"igo-input-container\" [style.display]=\"isPrintService ? 'none' : 'block'\">\n <mat-form-field>\n <mat-select\n formControlName=\"imageFormat\"\n placeholder=\"{{'igo.geo.printForm.imageFormat' | translate}}\">\n <mat-option *ngFor=\"let imageFormat of imageFormats | keyvalue \" [value]=\"imageFormat.key\">\n {{imageFormat.value}}\n </mat-option>\n </mat-select>\n </mat-form-field>\n </div>\n\n <div class=\"igo-input-container\" style=\"display: none;\">\n <mat-form-field>\n <mat-select\n formControlName=\"resolution\"\n placeholder=\"{{'igo.geo.printForm.resolution' | translate}}\">\n <mat-option *ngFor=\"let resolution of resolutions | keyvalue \" [value]=\"resolution.key\">\n {{resolution.value + ' PPI'}}\n </mat-option>\n </mat-select>\n </mat-form-field>\n </div>\n\n <div class=\"igo-input-container\" [style.display]=\"isPrintService ? 'block' : 'none'\">\n <mat-form-field>\n <mat-select\n formControlName=\"orientation\"\n placeholder=\"{{'igo.geo.printForm.orientation' | translate}}\">\n <mat-option *ngFor=\"let orientation of orientations | keyvalue \" [value]=\"orientation.key\">\n {{('igo.geo.printForm.' + orientation.value) | translate}}\n </mat-option>\n </mat-select>\n </mat-form-field>\n </div>\n\n <div class=\"igo-form-button-group print-button-top-padding\">\n <button\n mat-raised-button\n type=\"button\"\n [disabled]=\"!form.valid || (disabled$ | async)\"\n (click)=\"handleFormSubmit(form.value, form.valid)\">\n {{'igo.geo.printForm.saveBtn' | translate}}\n </button>\n </div>\n\n</form>\n", styles: ["mat-form-field{width:100%}.print-slide-toggle-container{overflow-x:hidden}.print-slide-toggle-container mat-slide-toggle{width:100%;margin:10px}.print-slide-toggle-container mat-slide-toggle ::ng-deep .mat-slide-toggle-content{width:calc(100% - 60px)}.print-option{display:block;margin-right:10px;margin-bottom:15px}.print-button-top-padding{padding-top:25px}.igo-form{padding:10px 5px 5px}.igo-form-button-group{text-align:center}\n"] }]
|
|
34423
|
+
args: [{ selector: 'igo-print-form', template: "<form class=\"igo-form\" [formGroup]=\"form\">\n <div class=\"igo-input-container\">\n <mat-form-field>\n <input\n matInput\n formControlName=\"title\"\n placeholder=\"{{'igo.geo.printForm.title' | translate}}\">\n </mat-form-field>\n </div>\n <div class=\"igo-input-container\">\n <mat-form-field>\n <input\n matInput\n formControlName=\"subtitle\"\n placeholder=\"{{'igo.geo.printForm.subtitle' | translate}}\">\n </mat-form-field>\n </div>\n <div class=\"igo-input-container\">\n <mat-form-field>\n <input\n matInput\n formControlName=\"comment\"\n placeholder=\"{{'igo.geo.printForm.comment' | translate}}\">\n </mat-form-field>\n </div>\n\n <div class=\"igo-input-container\">\n <div class=\"print-slide-toggle-container mat-typography\">\n <mat-slide-toggle\n class=\"print-option\"\n formControlName=\"showProjection\"\n [labelPosition]=\"'before'\">\n {{'igo.geo.printForm.showProjection' | translate}}\n </mat-slide-toggle>\n <mat-slide-toggle\n class=\"print-option\"\n formControlName=\"showScale\"\n [labelPosition]=\"'before'\">\n {{'igo.geo.printForm.showScale' | translate}}\n </mat-slide-toggle>\n <mat-slide-toggle\n class=\"print-option\"\n formControlName=\"doZipFile\"\n [labelPosition]=\"'before'\"\n [style.display]=\"isPrintService ? 'none' : ''\">\n {{'igo.geo.printForm.doZipFile' | translate}}\n </mat-slide-toggle>\n </div>\n </div>\n\n <div class=\"igo-input-container\">\n <mat-form-field>\n <mat-select\n formControlName=\"legendPosition\"\n placeholder=\"{{'igo.geo.printForm.legendPosition' | translate}}\">\n <mat-option *ngFor=\"let legendPosition of legendPositions | keyvalue \" [value]=\"legendPosition.key\">\n <ng-container *ngIf=\"!['newpage', 'newimage'].includes(legendPosition.value)\">\n {{'igo.geo.printForm.legendPositions.' + legendPosition.value | translate}}\n </ng-container>\n\n <ng-container *ngIf=\"['newpage', 'newimage'].includes(legendPosition.value)\">\n {{ ((outputFormat === 'Pdf') ? 'igo.geo.printForm.legendPositions.newpage' : \n 'igo.geo.printForm.legendPositions.newimage') | translate}}\n </ng-container>\n </mat-option>\n\n </mat-select>\n </mat-form-field>\n </div>\n\n <div class=\"igo-input-container\">\n <mat-form-field>\n <mat-select (selectionChange)=\"toggleImageSaveProp()\"\n formControlName=\"outputFormat\"\n placeholder=\"{{'igo.geo.printForm.outputFormat' | translate}}\">\n <mat-option *ngFor=\"let outputFormat of outputFormats | keyvalue \" [value]=\"outputFormat.key\">\n {{outputFormat.value}}\n </mat-option>\n </mat-select>\n </mat-form-field>\n </div>\n\n <div class=\"igo-input-container\" [style.display]=\"isPrintService ? 'block' : 'none'\">\n <mat-form-field>\n <mat-select\n formControlName=\"paperFormat\"\n placeholder=\"{{'igo.geo.printForm.paperFormat' | translate}}\">\n <mat-option *ngFor=\"let paperFormat of paperFormats | keyvalue \" [value]=\"paperFormat.key\">\n {{('igo.geo.printForm.paperFormats.' + paperFormat.value) | translate}}\n </mat-option>\n </mat-select>\n </mat-form-field>\n </div>\n\n <div class=\"igo-input-container\" [style.display]=\"isPrintService ? 'none' : 'block'\">\n <mat-form-field>\n <mat-select\n formControlName=\"imageFormat\"\n placeholder=\"{{'igo.geo.printForm.imageFormat' | translate}}\">\n <mat-option *ngFor=\"let imageFormat of imageFormats | keyvalue \" [value]=\"imageFormat.key\">\n {{imageFormat.value}}\n </mat-option>\n </mat-select>\n </mat-form-field>\n </div>\n\n <div class=\"igo-input-container\" style=\"display: none;\">\n <mat-form-field>\n <mat-select\n formControlName=\"resolution\"\n placeholder=\"{{'igo.geo.printForm.resolution' | translate}}\">\n <mat-option *ngFor=\"let resolution of resolutions | keyvalue \" [value]=\"resolution.key\">\n {{resolution.value + ' PPI'}}\n </mat-option>\n </mat-select>\n </mat-form-field>\n </div>\n\n <div class=\"igo-input-container\" [style.display]=\"isPrintService ? 'block' : 'none'\">\n <mat-form-field>\n <mat-select\n formControlName=\"orientation\"\n placeholder=\"{{'igo.geo.printForm.orientation' | translate}}\">\n <mat-option *ngFor=\"let orientation of orientations | keyvalue \" [value]=\"orientation.key\">\n {{('igo.geo.printForm.' + orientation.value) | translate}}\n </mat-option>\n </mat-select>\n </mat-form-field>\n </div>\n\n <div class=\"igo-form-button-group print-button-top-padding\">\n <button\n mat-raised-button\n type=\"button\"\n [disabled]=\"!form.valid || (disabled$ | async)\"\n (click)=\"handleFormSubmit(form.value, form.valid)\">\n {{'igo.geo.printForm.saveBtn' | translate}}\n </button>\n </div>\n\n</form>\n", styles: ["mat-form-field{width:100%}.print-slide-toggle-container{overflow-x:hidden}.print-slide-toggle-container mat-slide-toggle{width:100%;margin:10px}.print-slide-toggle-container mat-slide-toggle ::ng-deep .mat-slide-toggle-content{width:calc(100% - 60px)}.print-option{display:block;margin-right:10px;margin-bottom:15px}.print-button-top-padding{padding-top:25px}.igo-form{padding:10px 5px 5px}.igo-form-button-group{text-align:center}\n"] }]
|
|
34164
34424
|
}], function () { return [{ type: i2$2.UntypedFormBuilder }]; }, { disabled$: [{
|
|
34165
34425
|
type: Input
|
|
34166
34426
|
}], imageFormat: [{
|
|
@@ -34261,25 +34521,28 @@ class PrintComponent {
|
|
|
34261
34521
|
this.printService.defineNbFileToProcess(nbFileToProcess);
|
|
34262
34522
|
const resolution = +data.resolution;
|
|
34263
34523
|
let nbRequests = data.showLegend ? 2 : 1;
|
|
34524
|
+
if (data.legendPosition === 'newpage') {
|
|
34525
|
+
nbRequests++;
|
|
34526
|
+
}
|
|
34264
34527
|
this.printService
|
|
34265
|
-
.downloadMapImage(this.map, resolution, data.imageFormat, data.showProjection, data.showScale, data.
|
|
34528
|
+
.downloadMapImage(this.map, resolution, data.imageFormat, data.showProjection, data.showScale, data.title, data.subtitle, data.comment, data.doZipFile, data.legendPosition)
|
|
34266
34529
|
.pipe(take(1))
|
|
34267
34530
|
.subscribe(() => {
|
|
34268
34531
|
nbRequests--;
|
|
34269
|
-
if (
|
|
34270
|
-
this.
|
|
34532
|
+
if (data.legendPosition === 'newpage') {
|
|
34533
|
+
this.printService.getLayersLegendImage(this.map, data.imageFormat, data.doZipFile, resolution).then(() => {
|
|
34534
|
+
nbRequests--;
|
|
34535
|
+
if (!nbRequests) {
|
|
34536
|
+
this.disabled$.next(false);
|
|
34537
|
+
}
|
|
34538
|
+
});
|
|
34271
34539
|
}
|
|
34272
|
-
|
|
34273
|
-
if (data.showLegend) {
|
|
34274
|
-
this.printService
|
|
34275
|
-
.getLayersLegendImage(this.map, data.imageFormat, data.doZipFile, +resolution)
|
|
34276
|
-
.then(() => {
|
|
34277
|
-
nbRequests--;
|
|
34540
|
+
else {
|
|
34278
34541
|
if (!nbRequests) {
|
|
34279
34542
|
this.disabled$.next(false);
|
|
34280
34543
|
}
|
|
34281
|
-
}
|
|
34282
|
-
}
|
|
34544
|
+
}
|
|
34545
|
+
});
|
|
34283
34546
|
}
|
|
34284
34547
|
}
|
|
34285
34548
|
}
|
|
@@ -35192,7 +35455,7 @@ DirectionsInputsComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: D
|
|
|
35192
35455
|
} if (rf & 2) {
|
|
35193
35456
|
i0.ɵɵadvance(1);
|
|
35194
35457
|
i0.ɵɵproperty("ngForOf", i0.ɵɵpipeBind1(2, 1, ctx.stopsStore.view.all$()));
|
|
35195
|
-
} }, dependencies: [i1
|
|
35458
|
+
} }, dependencies: [i1.NgClass, i1.NgForOf, i1.NgIf, i3$2.CdkDropList, i3$2.CdkDrag, i3$2.CdkDragHandle, i2$2.DefaultValueAccessor, i2$2.NgControlStatus, i2$2.NgModel, i2.MatIcon, i3$1.MatButton, i13.MatFormField, i13.MatSuffix, i14.MatInput, i9.MatOption, i9.MatOptgroup, i4.MatTooltip, i11$1.MatAutocomplete, i11$1.MatAutocompleteTrigger, i1.AsyncPipe, i7.TranslatePipe], styles: [".igo-input-container[_ngcontent-%COMP%]{width:100%}.igo-input-container[_ngcontent-%COMP%] mat-form-field[_ngcontent-%COMP%]{width:100%}.igo-input-container.reduce[_ngcontent-%COMP%]{width:70%}.igo-input-container.reduce[_ngcontent-%COMP%] mat-form-field[_ngcontent-%COMP%]{width:100%}.stops-list[_ngcontent-%COMP%]{max-width:100%;min-height:60px;display:block;background:white;border-radius:4px;overflow:hidden;padding:20px 10px}.swipe-vertical[_ngcontent-%COMP%]{cursor:move}.stop-box[_ngcontent-%COMP%]{height:60px;padding:20px 10px;color:#000000de;display:flex;flex-direction:row;align-items:center;justify-content:space-between;box-sizing:border-box;background:white}.cdk-drag-preview[_ngcontent-%COMP%]{box-sizing:border-box;border-radius:4px;box-shadow:0 5px 5px -3px #0003,0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f}.cdk-drag-placeholder[_ngcontent-%COMP%]{opacity:0}.cdk-drag-animating[_ngcontent-%COMP%]{transition:transform .25s cubic-bezier(0,0,.2,1)}.stops-list.cdk-drop-list-dragging[_ngcontent-%COMP%] .stop-box[_ngcontent-%COMP%]:not(.cdk-drag-placeholder){transition:transform .25s cubic-bezier(0,0,.2,1)}"] });
|
|
35196
35459
|
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(DirectionsInputsComponent, [{
|
|
35197
35460
|
type: Component,
|
|
35198
35461
|
args: [{ selector: 'igo-directions-inputs', template: "<div cdkDropList class=\"stops-list\" (cdkDropListDropped)=\"drop($event)\">\n <div touchleave \n (touchenter)=\"onStopEnter(stop)\"\n (touchleave)=\"onStopLeave()\"\n (mouseover)=\"onStopEnter(stop)\"\n (mouseleave)=\"onStopLeave()\"\n (cdkDragStarted)=\"stopIsDragged=true\"\n (cdkDragEnded)=\"stopIsDragged=false\"\n cdkDragLockAxis=\"y\" class=\"stop-box mat-typography\" *ngFor=\"let stop of stopsStore.view.all$() | async; let i = index;\" cdkDrag>\n <div [ngClass]=\"getNgClass(stop)\">\n <mat-form-field>\n <input id=\"{{stop.id}}\" type=\"text\"\n [placeholder]=\"getPlaceholder(stop)\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"stop.text\"\n aria-label=\"Number\"\n matInput\n (focus)=\"onInputFocus(stop)\"\n [(ngModel)]=\"stop.text\"\n (keyup)=\"setStopText($event,stop)\"\n (keydown.enter)=\"$event.preventDefault()\"\n [matAutocomplete]=\"auto\">\n <button \n mat-button \n *ngIf=\"(stop.text || stop.coordinates) && stopWithHover && stop.id===stopWithHover.id\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"'igo.geo.directionsForm.clearStop' | translate\"\n matSuffix mat-icon-button color=\"warn\" aria-label=\"Clear\" (click)=\"clearStop(stop)\">\n <mat-icon svgIcon=\"close\"></mat-icon>\n </button>\n \n <mat-autocomplete [displayWith]=\"getOptionText\" #auto=\"matAutocomplete\" (optionSelected)=\"chooseProposal($event,stop)\">\n <mat-optgroup *ngFor=\"let source of stop.searchProposals\" [label]=\"source.source.title\" [disabled]=\"source.source.enabled === false\">\n <mat-option *ngFor=\"let result of source.results\" [value]=\"result\" \n matTooltipShowDelay=\"500\" [matTooltip]=\"result.meta ? result.meta.title : ''\">\n {{ result.meta ? result.meta.title : '' }}\n </mat-option>\n </mat-optgroup>\n </mat-autocomplete>\n </mat-form-field>\n </div>\n\n\n\n\n <div class=\"igo-form-button-group\" *ngIf=\"!stopIsDragged && stopWithHover && stop.id === stopWithHover.id\">\n <button class=\"swipe-vertical\" cdkDragHandle mat-icon-button tooltip-position=\"below\" matTooltipShowDelay=\"500\"\n [matTooltip]=\"'igo.geo.directionsForm.moveStop' | translate\" color=\"primary\">\n <mat-icon svgIcon=\"gesture-swipe-vertical\"></mat-icon>\n </button>\n\n <button *ngIf=\"(stopsStore.count$ | async)> 2\" mat-icon-button tooltip-position=\"below\" matTooltipShowDelay=\"500\"\n [matTooltip]=\"'igo.geo.directionsForm.removeStop' | translate\" color=\"warn\" (click)=\"removeStop(stop)\">\n <mat-icon svgIcon=\"delete\"></mat-icon>\n </button>\n <button *ngIf=\"(stopsStore.count$ | async)<= 2\" disabled=\"true\" mat-icon-button tooltip-position=\"below\"\n matTooltipShowDelay=\"500\" [matTooltip]=\"'igo.geo.directionsForm.removeStop' | translate\" color=\"warn\">\n <mat-icon svgIcon=\"blank\"></mat-icon>\n </button>\n </div>\n </div>\n</div>", styles: [".igo-input-container{width:100%}.igo-input-container mat-form-field{width:100%}.igo-input-container.reduce{width:70%}.igo-input-container.reduce mat-form-field{width:100%}.stops-list{max-width:100%;min-height:60px;display:block;background:white;border-radius:4px;overflow:hidden;padding:20px 10px}.swipe-vertical{cursor:move}.stop-box{height:60px;padding:20px 10px;color:#000000de;display:flex;flex-direction:row;align-items:center;justify-content:space-between;box-sizing:border-box;background:white}.cdk-drag-preview{box-sizing:border-box;border-radius:4px;box-shadow:0 5px 5px -3px #0003,0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f}.cdk-drag-placeholder{opacity:0}.cdk-drag-animating{transition:transform .25s cubic-bezier(0,0,.2,1)}.stops-list.cdk-drop-list-dragging .stop-box:not(.cdk-drag-placeholder){transition:transform .25s cubic-bezier(0,0,.2,1)}\n"] }]
|
|
@@ -35383,9 +35646,10 @@ class SearchSourceService {
|
|
|
35383
35646
|
* and the results they yielded.
|
|
35384
35647
|
*/
|
|
35385
35648
|
class SearchService {
|
|
35386
|
-
constructor(searchSourceService, mapService) {
|
|
35649
|
+
constructor(searchSourceService, mapService, storageService) {
|
|
35387
35650
|
this.searchSourceService = searchSourceService;
|
|
35388
35651
|
this.mapService = mapService;
|
|
35652
|
+
this.storageService = storageService;
|
|
35389
35653
|
}
|
|
35390
35654
|
/**
|
|
35391
35655
|
* Perform a research by text
|
|
@@ -35437,7 +35701,8 @@ class SearchService {
|
|
|
35437
35701
|
const sources = this.searchSourceService
|
|
35438
35702
|
.getEnabledSources()
|
|
35439
35703
|
.filter(reverseSourceFonction);
|
|
35440
|
-
|
|
35704
|
+
const reverseSearchCoordsFormat = this.storageService.get('reverseSearchCoordsFormatEnabled') || false;
|
|
35705
|
+
return this.reverseSearchSources(sources, lonLat, options || {}, reverseSearchCoordsFormat);
|
|
35441
35706
|
}
|
|
35442
35707
|
/**
|
|
35443
35708
|
* Create a text research out of all given search sources
|
|
@@ -35460,10 +35725,10 @@ class SearchService {
|
|
|
35460
35725
|
* @param lonLat Any lon/lat coordinates
|
|
35461
35726
|
* @returns Observable of Researches
|
|
35462
35727
|
*/
|
|
35463
|
-
reverseSearchSources(sources, lonLat, options) {
|
|
35728
|
+
reverseSearchSources(sources, lonLat, options, reverseSearchCoordsFormat) {
|
|
35464
35729
|
return sources.map((source) => {
|
|
35465
35730
|
return {
|
|
35466
|
-
request: source.reverseSearch(lonLat, options),
|
|
35731
|
+
request: source.reverseSearch(lonLat, options, reverseSearchCoordsFormat),
|
|
35467
35732
|
reverse: true,
|
|
35468
35733
|
source
|
|
35469
35734
|
};
|
|
@@ -35478,14 +35743,14 @@ class SearchService {
|
|
|
35478
35743
|
return typeof term === 'string' && term !== '';
|
|
35479
35744
|
}
|
|
35480
35745
|
}
|
|
35481
|
-
SearchService.ɵfac = function SearchService_Factory(t) { return new (t || SearchService)(i0.ɵɵinject(SearchSourceService), i0.ɵɵinject(MapService)); };
|
|
35746
|
+
SearchService.ɵfac = function SearchService_Factory(t) { return new (t || SearchService)(i0.ɵɵinject(SearchSourceService), i0.ɵɵinject(MapService), i0.ɵɵinject(i2$1.StorageService)); };
|
|
35482
35747
|
SearchService.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: SearchService, factory: SearchService.ɵfac, providedIn: 'root' });
|
|
35483
35748
|
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(SearchService, [{
|
|
35484
35749
|
type: Injectable,
|
|
35485
35750
|
args: [{
|
|
35486
35751
|
providedIn: 'root'
|
|
35487
35752
|
}]
|
|
35488
|
-
}], function () { return [{ type: SearchSourceService }, { type: MapService }]; }, null); })();
|
|
35753
|
+
}], function () { return [{ type: SearchSourceService }, { type: MapService }, { type: i2$1.StorageService }]; }, null); })();
|
|
35489
35754
|
|
|
35490
35755
|
function DirectionsButtonsComponent_button_4_Template(rf, ctx) { if (rf & 1) {
|
|
35491
35756
|
const _r5 = i0.ɵɵgetCurrentView();
|
|
@@ -35683,7 +35948,7 @@ DirectionsButtonsComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type:
|
|
|
35683
35948
|
i0.ɵɵproperty("ngIf", i0.ɵɵpipeBind1(10, 13, ctx.routesFeatureStore.count$) >= 1);
|
|
35684
35949
|
i0.ɵɵadvance(2);
|
|
35685
35950
|
i0.ɵɵproperty("ngIf", i0.ɵɵpipeBind1(12, 15, ctx.routesFeatureStore.count$) >= 1);
|
|
35686
|
-
} }, dependencies: [i1
|
|
35951
|
+
} }, dependencies: [i1.NgIf, i2.MatIcon, i3$1.MatButton, i4.MatTooltip, i1.AsyncPipe, i7.TranslatePipe] });
|
|
35687
35952
|
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(DirectionsButtonsComponent, [{
|
|
35688
35953
|
type: Component,
|
|
35689
35954
|
args: [{ selector: 'igo-directions-buttons', template: "<div class=\"igo-form-button-group\">\n <button mat-icon-button tooltip-position=\"below\" matTooltipShowDelay=\"500\"\n [matTooltip]=\"'igo.geo.directionsForm.addStop' | translate\" color=\"primary\" (click)=\"addStop()\">\n <mat-icon svgIcon=\"map-marker-plus\"></mat-icon>\n </button>\n <button mat-icon-button tooltip-position=\"below\" matTooltipShowDelay=\"500\"\n *ngIf=\"(routesFeatureStore.count$ | async)>=1 || (stopsStore.count$ | async)>=1\"\n [matTooltip]=\"'igo.geo.directionsForm.resetDirectionsBtn' | translate\" color=\"warn\" (click)=\"resetStops()\">\n <mat-icon svgIcon=\"file-restore\"></mat-icon>\n </button>\n <button mat-icon-button tooltip-position=\"below\" matTooltipShowDelay=\"500\"\n *ngIf=\"(routesFeatureStore.count$ | async)>=1\" (click)=\"zoomRoute()\"\n [matTooltip]=\"'igo.geo.directionsForm.zoomRoute' | translate\" color=\"primary\">\n <mat-icon svgIcon=\"magnify-plus-outline\"></mat-icon>\n </button>\n <button mat-icon-button tooltip-position=\"below\" matTooltipShowDelay=\"500\"\n *ngIf=\"(routesFeatureStore.count$ | async)>=1\" (click)=\"copyDirectionsToClipboard()\"\n [matTooltip]=\"'igo.geo.directionsForm.copy' | translate\" color=\"primary\">\n <mat-icon svgIcon=\"content-copy\"></mat-icon>\n </button>\n <button mat-icon-button tooltip-position=\"below\" matTooltipShowDelay=\"500\"\n *ngIf=\"(routesFeatureStore.count$ | async)>=1\" (click)=\"copyLinkToClipboard()\" \n [matTooltip]=\"'igo.geo.directionsForm.link' | translate\" color=\"primary\">\n <mat-icon svgIcon=\"link\"></mat-icon>\n </button>\n</div>" }]
|
|
@@ -35866,7 +36131,7 @@ DirectionsResultsComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type:
|
|
|
35866
36131
|
i0.ɵɵtemplate(0, DirectionsResultsComponent_div_0_Template, 10, 6, "div", 0);
|
|
35867
36132
|
} if (rf & 2) {
|
|
35868
36133
|
i0.ɵɵproperty("ngIf", ctx.directions && ctx.activeDirection);
|
|
35869
|
-
} }, dependencies: [i1
|
|
36134
|
+
} }, dependencies: [i1.NgClass, i1.NgForOf, i1.NgIf, i2$2.NgControlStatus, i2$2.NgModel, i2.MatIcon, i5.MatList, i5.MatListItem, i9.MatLine, i5.MatListIconCssMatStyler, i5.MatListSubheaderCssMatStyler, i11.MatDivider, i13.MatFormField, i9.MatOption, i15.MatSelect, i7.TranslatePipe], styles: [".igo-input-container[_ngcontent-%COMP%]{width:100%;padding:20px 10px}.igo-input-container[_ngcontent-%COMP%] mat-form-field[_ngcontent-%COMP%]{width:70%}.igo-route-title[_ngcontent-%COMP%]{font-weight:700}.igo-steps[_ngcontent-%COMP%]{cursor:pointer}.mat-line[_ngcontent-%COMP%]{word-wrap:break-word!important;white-space:pre-wrap!important}.mat-line.right[_ngcontent-%COMP%]{text-align:right}.rotate-90[_ngcontent-%COMP%]{transform:rotate(90deg)}.rotate-45[_ngcontent-%COMP%]{transform:rotate(45deg)}.rotate-270[_ngcontent-%COMP%]{transform:rotate(270deg)}.rotate-250[_ngcontent-%COMP%]{transform:rotate(250deg)}.rotate-290[_ngcontent-%COMP%]{transform:rotate(290deg)}.icon-flipped[_ngcontent-%COMP%]{transform:scaleY(-1)}"] });
|
|
35870
36135
|
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(DirectionsResultsComponent, [{
|
|
35871
36136
|
type: Component,
|
|
35872
36137
|
args: [{ selector: 'igo-directions-results', template: "<div class=\"igo-input-container\" *ngIf=\"directions && activeDirection\">\n <mat-form-field *ngIf=\"directions && directions.length > 1\">\n <mat-select placeholder=\"{{'igo.geo.directionsForm.drivingOptions' | translate}}\"\n (selectionChange)=\"changeRoute()\" [(ngModel)]=\"activeDirection\">\n <mat-option *ngFor=\"let direction of directions; let cnt = index;\" [value]=\"direction\">\n Option {{cnt + 1}} : {{formatDistance(direction.distance)}}\n ({{formatDuration(direction.duration)}})\n </mat-option>\n </mat-select>\n </mat-form-field>\n\n <mat-divider *ngIf=\"directions && directions.length === 0\"></mat-divider>\n\n <mat-list (mouseleave)=\"onStepsListBlur()\">\n <h2 mat-header class=\"igo-route-title mat-typography\">{{activeDirection.title}}</h2>\n <h2 mat-subheader>{{formatDistance(activeDirection.distance)}}, {{formatDuration(activeDirection.duration)}}</h2>\n <mat-list-item class=\"igo-steps\" \n (mouseenter)=\"showSegment(step)\" \n (click)=\"showSegment(step,true)\" \n *ngFor=\"let step of activeDirection.steps; let cnt = index;\" igoListItem>\n <mat-icon [ngClass]=\"formatStep(step,cnt).cssClass\" mat-list-icon svgIcon=\"{{formatStep(step,cnt).image}}\">\n </mat-icon>\n\n <h4 mat-line>{{cnt +1}}. {{formatStep(step,cnt).instruction}}</h4>\n <h4 mat-line class=\"right\">{{formatDistance(step.distance)}}</h4>\n </mat-list-item>\n\n <mat-divider></mat-divider>\n\n </mat-list>\n\n</div>", styles: [".igo-input-container{width:100%;padding:20px 10px}.igo-input-container mat-form-field{width:70%}.igo-route-title{font-weight:700}.igo-steps{cursor:pointer}.mat-line{word-wrap:break-word!important;white-space:pre-wrap!important}.mat-line.right{text-align:right}.rotate-90{transform:rotate(90deg)}.rotate-45{transform:rotate(45deg)}.rotate-270{transform:rotate(270deg)}.rotate-250{transform:rotate(250deg)}.rotate-290{transform:rotate(290deg)}.icon-flipped{transform:scaleY(-1)}\n"] }]
|
|
@@ -36306,9 +36571,6 @@ class IChercheSearchSource extends SearchSource {
|
|
|
36306
36571
|
this.formatter = formatter;
|
|
36307
36572
|
this.title$ = new BehaviorSubject('');
|
|
36308
36573
|
this.hashtagsLieuxToKeep = [];
|
|
36309
|
-
this.languageService.translate
|
|
36310
|
-
.get(this.options.title)
|
|
36311
|
-
.subscribe((title) => this.title$.next(title));
|
|
36312
36574
|
const authService = injector.get(AuthService);
|
|
36313
36575
|
if (this.settings.length) {
|
|
36314
36576
|
if (!authService) {
|
|
@@ -36320,6 +36582,9 @@ class IChercheSearchSource extends SearchSource {
|
|
|
36320
36582
|
});
|
|
36321
36583
|
}
|
|
36322
36584
|
}
|
|
36585
|
+
this.languageService.language$.subscribe(() => {
|
|
36586
|
+
this.title$.next(this.languageService.translate.instant(this.options.title));
|
|
36587
|
+
});
|
|
36323
36588
|
}
|
|
36324
36589
|
get title() {
|
|
36325
36590
|
return this.title$.getValue();
|
|
@@ -36762,7 +37027,7 @@ class IChercheSearchSource extends SearchSource {
|
|
|
36762
37027
|
IChercheSearchSource.id = 'icherche';
|
|
36763
37028
|
IChercheSearchSource.type = FEATURE;
|
|
36764
37029
|
IChercheSearchSource.propertiesBlacklist = [];
|
|
36765
|
-
IChercheSearchSource.ɵfac = function IChercheSearchSource_Factory(t) { return new (t || IChercheSearchSource)(i0.ɵɵinject(i1$
|
|
37030
|
+
IChercheSearchSource.ɵfac = function IChercheSearchSource_Factory(t) { return new (t || IChercheSearchSource)(i0.ɵɵinject(i1$1.HttpClient), i0.ɵɵinject(i2$1.LanguageService), i0.ɵɵinject(i2$1.StorageService), i0.ɵɵinject('options'), i0.ɵɵinject(IChercheSearchResultFormatter), i0.ɵɵinject(i0.Injector)); };
|
|
36766
37031
|
IChercheSearchSource.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: IChercheSearchSource, factory: IChercheSearchSource.ɵfac });
|
|
36767
37032
|
__decorate([
|
|
36768
37033
|
Cacheable({
|
|
@@ -36771,7 +37036,7 @@ __decorate([
|
|
|
36771
37036
|
], IChercheSearchSource.prototype, "search", null);
|
|
36772
37037
|
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(IChercheSearchSource, [{
|
|
36773
37038
|
type: Injectable
|
|
36774
|
-
}], function () { return [{ type: i1$
|
|
37039
|
+
}], function () { return [{ type: i1$1.HttpClient }, { type: i2$1.LanguageService }, { type: i2$1.StorageService }, { type: undefined, decorators: [{
|
|
36775
37040
|
type: Inject,
|
|
36776
37041
|
args: ['options']
|
|
36777
37042
|
}] }, { type: IChercheSearchResultFormatter, decorators: [{
|
|
@@ -36787,9 +37052,9 @@ class IChercheReverseSearchSource extends SearchSource {
|
|
|
36787
37052
|
this.http = http;
|
|
36788
37053
|
this.languageService = languageService;
|
|
36789
37054
|
this.title$ = new BehaviorSubject('');
|
|
36790
|
-
this.languageService.
|
|
36791
|
-
.
|
|
36792
|
-
|
|
37055
|
+
this.languageService.language$.subscribe(() => {
|
|
37056
|
+
this.title$.next(this.languageService.translate.instant(this.options.title));
|
|
37057
|
+
});
|
|
36793
37058
|
const authService = injector.get(AuthService);
|
|
36794
37059
|
if (this.settings.length) {
|
|
36795
37060
|
if (!authService) {
|
|
@@ -37003,7 +37268,7 @@ class IChercheReverseSearchSource extends SearchSource {
|
|
|
37003
37268
|
IChercheReverseSearchSource.id = 'icherchereverse';
|
|
37004
37269
|
IChercheReverseSearchSource.type = FEATURE;
|
|
37005
37270
|
IChercheReverseSearchSource.propertiesBlacklist = [];
|
|
37006
|
-
IChercheReverseSearchSource.ɵfac = function IChercheReverseSearchSource_Factory(t) { return new (t || IChercheReverseSearchSource)(i0.ɵɵinject(i1$
|
|
37271
|
+
IChercheReverseSearchSource.ɵfac = function IChercheReverseSearchSource_Factory(t) { return new (t || IChercheReverseSearchSource)(i0.ɵɵinject(i1$1.HttpClient), i0.ɵɵinject(i2$1.LanguageService), i0.ɵɵinject(i2$1.StorageService), i0.ɵɵinject('options'), i0.ɵɵinject(i0.Injector)); };
|
|
37007
37272
|
IChercheReverseSearchSource.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: IChercheReverseSearchSource, factory: IChercheReverseSearchSource.ɵfac });
|
|
37008
37273
|
__decorate([
|
|
37009
37274
|
Cacheable({
|
|
@@ -37012,7 +37277,7 @@ __decorate([
|
|
|
37012
37277
|
], IChercheReverseSearchSource.prototype, "reverseSearch", null);
|
|
37013
37278
|
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(IChercheReverseSearchSource, [{
|
|
37014
37279
|
type: Injectable
|
|
37015
|
-
}], function () { return [{ type: i1$
|
|
37280
|
+
}], function () { return [{ type: i1$1.HttpClient }, { type: i2$1.LanguageService }, { type: i2$1.StorageService }, { type: undefined, decorators: [{
|
|
37016
37281
|
type: Inject,
|
|
37017
37282
|
args: ['options']
|
|
37018
37283
|
}] }, { type: i0.Injector }]; }, { reverseSearch: [] }); })();
|
|
@@ -37100,9 +37365,9 @@ class CoordinatesReverseSearchSource extends SearchSource {
|
|
|
37100
37365
|
this.languageService = languageService;
|
|
37101
37366
|
this.title$ = new BehaviorSubject('');
|
|
37102
37367
|
this.projections = projections;
|
|
37103
|
-
this.languageService.
|
|
37104
|
-
.
|
|
37105
|
-
|
|
37368
|
+
this.languageService.language$.subscribe(() => {
|
|
37369
|
+
this.title$.next(this.languageService.translate.instant(this.options.title));
|
|
37370
|
+
});
|
|
37106
37371
|
}
|
|
37107
37372
|
get title() {
|
|
37108
37373
|
return this.title$.getValue();
|
|
@@ -37126,15 +37391,17 @@ class CoordinatesReverseSearchSource extends SearchSource {
|
|
|
37126
37391
|
* @param options options of ReverseSearchOptions (distance, conf, zoom, params)
|
|
37127
37392
|
* @returns Observable of <SearchResult<Feature>[]
|
|
37128
37393
|
*/
|
|
37129
|
-
reverseSearch(lonLat, options) {
|
|
37130
|
-
return of([this.dataToResult(lonLat, options)]);
|
|
37394
|
+
reverseSearch(lonLat, options, reverseSearchCoordsFormatEnabled) {
|
|
37395
|
+
return of([this.dataToResult(lonLat, options, reverseSearchCoordsFormatEnabled)]);
|
|
37131
37396
|
}
|
|
37132
|
-
dataToResult(data, options) {
|
|
37397
|
+
dataToResult(data, options, reverseSearchCoordsFormatEnabled) {
|
|
37133
37398
|
const dataDMS = convertDDToDMS(data);
|
|
37134
37399
|
const convertedCoord = lonLatConversion(data, this.projections);
|
|
37135
37400
|
const coords = convertedCoord.reduce((obj, item) => (obj[item.alias] = item.igo2CoordFormat, obj), {});
|
|
37136
|
-
const roundedCoordString =
|
|
37137
|
-
|
|
37401
|
+
const roundedCoordString = (!reverseSearchCoordsFormatEnabled) ?
|
|
37402
|
+
roundCoordTo(data, 6).join(', ') : roundCoordTo(data, 6).reverse().join(', ');
|
|
37403
|
+
const roundedCoordStringDMS = (!reverseSearchCoordsFormatEnabled) ?
|
|
37404
|
+
dataDMS.join(', ') : dataDMS.reverse().join(', ');
|
|
37138
37405
|
let geometry = {
|
|
37139
37406
|
type: 'Point',
|
|
37140
37407
|
coordinates: [data[0], data[1]]
|
|
@@ -37158,9 +37425,13 @@ class CoordinatesReverseSearchSource extends SearchSource {
|
|
|
37158
37425
|
subtitleHtml += subtitleHtml === '' ? '<br>' : '<small> - </small>';
|
|
37159
37426
|
subtitleHtml += '<small>Confiance: ' + options.conf + '%</small>';
|
|
37160
37427
|
}
|
|
37161
|
-
const coordKey =
|
|
37428
|
+
const coordKey = (!reverseSearchCoordsFormatEnabled) ?
|
|
37429
|
+
this.languageService.translate.instant('igo.geo.search.coordinates.coord') :
|
|
37430
|
+
this.languageService.translate.instant('igo.geo.search.coordinates.reversedCoord');
|
|
37162
37431
|
properties[coordKey] = roundedCoordString;
|
|
37163
|
-
const coordKeyDMS =
|
|
37432
|
+
const coordKeyDMS = (!reverseSearchCoordsFormatEnabled) ?
|
|
37433
|
+
this.languageService.translate.instant('igo.geo.search.coordinates.coordDMS') :
|
|
37434
|
+
this.languageService.translate.instant('igo.geo.search.coordinates.reversedCoordDMS');
|
|
37164
37435
|
properties[coordKeyDMS] = roundedCoordStringDMS;
|
|
37165
37436
|
return {
|
|
37166
37437
|
source: this,
|
|
@@ -37294,9 +37565,9 @@ class ILayerSearchSource extends SearchSource {
|
|
|
37294
37565
|
this.languageService = languageService;
|
|
37295
37566
|
this.formatter = formatter;
|
|
37296
37567
|
this.title$ = new BehaviorSubject('');
|
|
37297
|
-
this.languageService.
|
|
37298
|
-
.
|
|
37299
|
-
|
|
37568
|
+
this.languageService.language$.subscribe(() => {
|
|
37569
|
+
this.title$.next(this.languageService.translate.instant(this.options.title));
|
|
37570
|
+
});
|
|
37300
37571
|
}
|
|
37301
37572
|
get title() {
|
|
37302
37573
|
return this.title$.getValue();
|
|
@@ -37534,7 +37805,7 @@ class ILayerSearchSource extends SearchSource {
|
|
|
37534
37805
|
}
|
|
37535
37806
|
ILayerSearchSource.id = 'ilayer';
|
|
37536
37807
|
ILayerSearchSource.type = LAYER;
|
|
37537
|
-
ILayerSearchSource.ɵfac = function ILayerSearchSource_Factory(t) { return new (t || ILayerSearchSource)(i0.ɵɵinject(i1$
|
|
37808
|
+
ILayerSearchSource.ɵfac = function ILayerSearchSource_Factory(t) { return new (t || ILayerSearchSource)(i0.ɵɵinject(i1$1.HttpClient), i0.ɵɵinject(i2$1.LanguageService), i0.ɵɵinject(i2$1.StorageService), i0.ɵɵinject('options'), i0.ɵɵinject(ILayerSearchResultFormatter)); };
|
|
37538
37809
|
ILayerSearchSource.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: ILayerSearchSource, factory: ILayerSearchSource.ɵfac });
|
|
37539
37810
|
__decorate([
|
|
37540
37811
|
Cacheable({
|
|
@@ -37543,7 +37814,7 @@ __decorate([
|
|
|
37543
37814
|
], ILayerSearchSource.prototype, "search", null);
|
|
37544
37815
|
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ILayerSearchSource, [{
|
|
37545
37816
|
type: Injectable
|
|
37546
|
-
}], function () { return [{ type: i1$
|
|
37817
|
+
}], function () { return [{ type: i1$1.HttpClient }, { type: i2$1.LanguageService }, { type: i2$1.StorageService }, { type: undefined, decorators: [{
|
|
37547
37818
|
type: Inject,
|
|
37548
37819
|
args: ['options']
|
|
37549
37820
|
}] }, { type: ILayerSearchResultFormatter, decorators: [{
|
|
@@ -37687,7 +37958,7 @@ SearchSelectorComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: Sea
|
|
|
37687
37958
|
i0.ɵɵproperty("value", i0.ɵɵpipeBind1(7, 6, ctx.searchType$));
|
|
37688
37959
|
i0.ɵɵadvance(2);
|
|
37689
37960
|
i0.ɵɵproperty("ngForOf", ctx.searchTypes);
|
|
37690
|
-
} }, dependencies: [i1
|
|
37961
|
+
} }, dependencies: [i1.NgForOf, i4.MatTooltip, i2.MatIcon, i3$1.MatButton, i7$2.MatMenu, i7$2.MatMenuTrigger, i17.MatRadioGroup, i17.MatRadioButton, i1.AsyncPipe, i7.TranslatePipe], styles: [".igo-search-selector-button[_ngcontent-%COMP%] div.mat-button-ripple-round{border-radius:0}.igo-search-selector-radio-group[_ngcontent-%COMP%]{display:inline-flex;flex-direction:column}.igo-search-selector-radio-group[_ngcontent-%COMP%] mat-radio-button[_ngcontent-%COMP%]{margin:5px}"], changeDetection: 0 });
|
|
37691
37962
|
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(SearchSelectorComponent, [{
|
|
37692
37963
|
type: Component,
|
|
37693
37964
|
args: [{ selector: 'igo-search-selector', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"igo-search-selector\">\n <button\n mat-icon-button\n class=\"igo-search-selector-button\"\n color=\"primary\"\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"'igo.geo.search.menu.tooltip' | translate\"\n [matMenuTriggerFor]=\"searchSelectorMenu\">\n <mat-icon svgIcon=\"menu-down\"></mat-icon>\n </button>\n\n <mat-menu\n #searchSelectorMenu=\"matMenu\"\n class=\"no-border-radius\"\n xPosition=\"before\"\n yPosition=\"above\">\n <mat-radio-group\n class=\"igo-search-selector-radio-group\"\n [value]=\"searchType$ | async\"\n (change)=\"onSearchTypeChange($event.value)\">\n <mat-radio-button *ngFor=\"let searchType of searchTypes\" [value]=\"searchType\">\n {{getSearchTypeTitle(searchType) | translate}}\n </mat-radio-button>\n </mat-radio-group>\n </mat-menu>\n\n</div>\n", styles: [".igo-search-selector-button ::ng-deep div.mat-button-ripple-round{border-radius:0}.igo-search-selector-radio-group{display:inline-flex;flex-direction:column}.igo-search-selector-radio-group mat-radio-button{margin:5px}\n"] }]
|
|
@@ -37907,17 +38178,28 @@ function SearchSettingsComponent_span_8_Template(rf, ctx) { if (rf & 1) {
|
|
|
37907
38178
|
i0.ɵɵpipe(8, "translate");
|
|
37908
38179
|
i0.ɵɵtext(9);
|
|
37909
38180
|
i0.ɵɵpipe(10, "translate");
|
|
38181
|
+
i0.ɵɵelementEnd();
|
|
38182
|
+
i0.ɵɵelementStart(11, "mat-slide-toggle", 26);
|
|
38183
|
+
i0.ɵɵlistener("change", function SearchSettingsComponent_span_8_Template_mat_slide_toggle_change_11_listener($event) { i0.ɵɵrestoreView(_r44); const ctx_r48 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r48.reverseSearchCoordsFormat($event)); })("click", function SearchSettingsComponent_span_8_Template_mat_slide_toggle_click_11_listener($event) { return $event.stopPropagation(); });
|
|
38184
|
+
i0.ɵɵpipe(12, "translate");
|
|
38185
|
+
i0.ɵɵpipe(13, "translate");
|
|
38186
|
+
i0.ɵɵtext(14);
|
|
38187
|
+
i0.ɵɵpipe(15, "translate");
|
|
37910
38188
|
i0.ɵɵelementEnd()()();
|
|
37911
38189
|
} if (rf & 2) {
|
|
37912
38190
|
const ctx_r3 = i0.ɵɵnextContext();
|
|
37913
38191
|
i0.ɵɵadvance(3);
|
|
37914
|
-
i0.ɵɵproperty("matTooltip", i0.ɵɵpipeBind1(4,
|
|
38192
|
+
i0.ɵɵproperty("matTooltip", i0.ɵɵpipeBind1(4, 12, "igo.geo.search.pointerSearchSummary.tooltip"))("checked", ctx_r3.pointerSummaryEnabled)("labelPosition", "after");
|
|
38193
|
+
i0.ɵɵadvance(2);
|
|
38194
|
+
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(6, 14, "igo.geo.search.pointerSearchSummary.title"), " ");
|
|
37915
38195
|
i0.ɵɵadvance(2);
|
|
37916
|
-
i0.ɵɵ
|
|
38196
|
+
i0.ɵɵproperty("matTooltip", i0.ɵɵpipeBind1(8, 16, "igo.geo.search.searchResultsGeometry.tooltip"))("checked", ctx_r3.searchResultsGeometryEnabled)("labelPosition", "after");
|
|
37917
38197
|
i0.ɵɵadvance(2);
|
|
37918
|
-
i0.ɵɵ
|
|
38198
|
+
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(10, 18, "igo.geo.search.searchResultsGeometry.title"), " ");
|
|
37919
38199
|
i0.ɵɵadvance(2);
|
|
37920
|
-
i0.ɵɵ
|
|
38200
|
+
i0.ɵɵproperty("matTooltip", ctx_r3.reverseSearchCoordsFormatEnabled ? i0.ɵɵpipeBind1(12, 20, "igo.geo.search.reverseCoordFormat.tooltipLatLon") : i0.ɵɵpipeBind1(13, 22, "igo.geo.search.reverseCoordFormat.tooltipLonLat"))("checked", ctx_r3.reverseSearchCoordsFormatEnabled)("labelPosition", "after");
|
|
38201
|
+
i0.ɵɵadvance(3);
|
|
38202
|
+
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(15, 24, "igo.geo.search.reverseCoordFormat.title"), " ");
|
|
37921
38203
|
} }
|
|
37922
38204
|
/**
|
|
37923
38205
|
* This component allows a user to select a search type yo enable. In it's
|
|
@@ -37939,6 +38221,7 @@ class SearchSettingsComponent {
|
|
|
37939
38221
|
this.displayBlock = 'block';
|
|
37940
38222
|
this.pointerSummaryEnabled = false;
|
|
37941
38223
|
this.searchResultsGeometryEnabled = false;
|
|
38224
|
+
this.reverseSearchCoordsFormatEnabled = false;
|
|
37942
38225
|
/**
|
|
37943
38226
|
* Event emitted when the enabled search source changes
|
|
37944
38227
|
*/
|
|
@@ -37951,6 +38234,10 @@ class SearchSettingsComponent {
|
|
|
37951
38234
|
* Event emitted when the show geometry summary is changed
|
|
37952
38235
|
*/
|
|
37953
38236
|
this.searchResultsGeometryStatus = new EventEmitter();
|
|
38237
|
+
/**
|
|
38238
|
+
* Event emitted when the coords format is changed
|
|
38239
|
+
*/
|
|
38240
|
+
this.reverseSearchCoordsFormatStatus = new EventEmitter();
|
|
37954
38241
|
}
|
|
37955
38242
|
get isTouchScreen() {
|
|
37956
38243
|
return this.mediaService.isTouchScreen();
|
|
@@ -38103,11 +38390,15 @@ class SearchSettingsComponent {
|
|
|
38103
38390
|
this.searchResultsGeometryEnabled = event.checked;
|
|
38104
38391
|
this.searchResultsGeometryStatus.emit(this.searchResultsGeometryEnabled);
|
|
38105
38392
|
}
|
|
38393
|
+
reverseSearchCoordsFormat(event) {
|
|
38394
|
+
this.reverseSearchCoordsFormatEnabled = event.checked;
|
|
38395
|
+
this.reverseSearchCoordsFormatStatus.emit(this.reverseSearchCoordsFormatEnabled);
|
|
38396
|
+
}
|
|
38106
38397
|
}
|
|
38107
38398
|
SearchSettingsComponent.ɵfac = function SearchSettingsComponent_Factory(t) { return new (t || SearchSettingsComponent)(i0.ɵɵdirectiveInject(SearchSourceService), i0.ɵɵdirectiveInject(i2$1.MediaService), i0.ɵɵdirectiveInject(i2$1.StorageService)); };
|
|
38108
38399
|
SearchSettingsComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: SearchSettingsComponent, selectors: [["igo-search-settings"]], hostBindings: function SearchSettingsComponent_HostBindings(rf, ctx) { if (rf & 1) {
|
|
38109
38400
|
i0.ɵɵlistener("keydown", function SearchSettingsComponent_keydown_HostBindingHandler($event) { return ctx.handleKeyboardEvent($event); }, false, i0.ɵɵresolveDocument);
|
|
38110
|
-
} }, inputs: { pointerSummaryEnabled: "pointerSummaryEnabled", searchResultsGeometryEnabled: "searchResultsGeometryEnabled" }, outputs: { searchSourceChange: "searchSourceChange", pointerSummaryStatus: "pointerSummaryStatus", searchResultsGeometryStatus: "searchResultsGeometryStatus" }, decls: 9, vars: 7, consts: [[1, "igo-search-settings"], ["mat-icon-button", "", "color", "primary", "tooltip-position", "below", "matTooltipShowDelay", "500", 1, "igo-search-settings-button", 3, "matTooltip", "matMenuTriggerFor"], ["svgIcon", "chevron-down"], [1, "no-border-radius"], ["searchSettingsMenu", "matMenu"], ["class", "checkAllButton", 4, "ngIf"], [4, "ngFor", "ngForOf"], [4, "ngIf"], [1, "checkAllButton"], ["mat-raised-button", "", 3, "click"], [1, "igo-search-settings-search-source"], [1, "igo-search-settings-checkbox", 3, "checked", "value", "click", "change"], ["mat-menu-item", "", 3, "matMenuTriggerFor", 4, "ngIf"], ["mat-menu-item", "", 4, "ngIf"], ["sub_menu", "matMenu"], ["mat-menu-item", "", 3, "matMenuTriggerFor"], ["mat-menu-item", ""], ["yPosition", "above", 3, "ngSwitch"], ["test_sub_menu", "matMenu"], [4, "ngSwitchCase"], [1, "igo-search-settings-radio-group", 3, "value"], ["class", "mat-typography", 3, "value", "matTooltip", "checked", "click", "change", 4, "ngFor", "ngForOf"], [1, "mat-typography", 3, "value", "matTooltip", "checked", "click", "change"], ["class", "mat-menu-item", 3, "display", "checked", "value", "matTooltip", "click", "change", 4, "ngFor", "ngForOf"], [1, "mat-menu-item", 3, "checked", "value", "matTooltip", "click", "change"], [1, "pointer-summary-slide-toggle-container", "mat-typography"], ["tooltip-position", "below", "matTooltipShowDelay", "500", 1, "
|
|
38401
|
+
} }, inputs: { pointerSummaryEnabled: "pointerSummaryEnabled", searchResultsGeometryEnabled: "searchResultsGeometryEnabled", reverseSearchCoordsFormatEnabled: "reverseSearchCoordsFormatEnabled" }, outputs: { searchSourceChange: "searchSourceChange", pointerSummaryStatus: "pointerSummaryStatus", searchResultsGeometryStatus: "searchResultsGeometryStatus", reverseSearchCoordsFormatStatus: "reverseSearchCoordsFormatStatus" }, decls: 9, vars: 7, consts: [[1, "igo-search-settings"], ["mat-icon-button", "", "color", "primary", "tooltip-position", "below", "matTooltipShowDelay", "500", 1, "igo-search-settings-button", 3, "matTooltip", "matMenuTriggerFor"], ["svgIcon", "chevron-down"], [1, "no-border-radius"], ["searchSettingsMenu", "matMenu"], ["class", "checkAllButton", 4, "ngIf"], [4, "ngFor", "ngForOf"], [4, "ngIf"], [1, "checkAllButton"], ["mat-raised-button", "", 3, "click"], [1, "igo-search-settings-search-source"], [1, "igo-search-settings-checkbox", 3, "checked", "value", "click", "change"], ["mat-menu-item", "", 3, "matMenuTriggerFor", 4, "ngIf"], ["mat-menu-item", "", 4, "ngIf"], ["sub_menu", "matMenu"], ["mat-menu-item", "", 3, "matMenuTriggerFor"], ["mat-menu-item", ""], ["yPosition", "above", 3, "ngSwitch"], ["test_sub_menu", "matMenu"], [4, "ngSwitchCase"], [1, "igo-search-settings-radio-group", 3, "value"], ["class", "mat-typography", 3, "value", "matTooltip", "checked", "click", "change", 4, "ngFor", "ngForOf"], [1, "mat-typography", 3, "value", "matTooltip", "checked", "click", "change"], ["class", "mat-menu-item", 3, "display", "checked", "value", "matTooltip", "click", "change", 4, "ngFor", "ngForOf"], [1, "mat-menu-item", 3, "checked", "value", "matTooltip", "click", "change"], [1, "pointer-summary-slide-toggle-container", "mat-typography"], ["tooltip-position", "below", "matTooltipShowDelay", "500", 1, "search-option", 3, "matTooltip", "checked", "labelPosition", "change", "click"]], template: function SearchSettingsComponent_Template(rf, ctx) { if (rf & 1) {
|
|
38111
38402
|
i0.ɵɵelementStart(0, "div", 0)(1, "button", 1);
|
|
38112
38403
|
i0.ɵɵpipe(2, "translate");
|
|
38113
38404
|
i0.ɵɵelement(3, "mat-icon", 2);
|
|
@@ -38115,7 +38406,7 @@ SearchSettingsComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: Sea
|
|
|
38115
38406
|
i0.ɵɵelementStart(4, "mat-menu", 3, 4);
|
|
38116
38407
|
i0.ɵɵtemplate(6, SearchSettingsComponent_div_6_Template, 5, 5, "div", 5);
|
|
38117
38408
|
i0.ɵɵtemplate(7, SearchSettingsComponent_ng_container_7_Template, 8, 5, "ng-container", 6);
|
|
38118
|
-
i0.ɵɵtemplate(8, SearchSettingsComponent_span_8_Template,
|
|
38409
|
+
i0.ɵɵtemplate(8, SearchSettingsComponent_span_8_Template, 16, 26, "span", 7);
|
|
38119
38410
|
i0.ɵɵelementEnd()();
|
|
38120
38411
|
} if (rf & 2) {
|
|
38121
38412
|
const _r0 = i0.ɵɵreference(5);
|
|
@@ -38127,20 +38418,24 @@ SearchSettingsComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: Sea
|
|
|
38127
38418
|
i0.ɵɵproperty("ngForOf", ctx.getSearchSources());
|
|
38128
38419
|
i0.ɵɵadvance(1);
|
|
38129
38420
|
i0.ɵɵproperty("ngIf", ctx.hasPointerReverseSearchSource && !ctx.isTouchScreen);
|
|
38130
|
-
} }, dependencies: [i1
|
|
38421
|
+
} }, dependencies: [i1.NgForOf, i1.NgIf, i1.NgSwitch, i1.NgSwitchCase, i4.MatTooltip, i2.MatIcon, i3$1.MatButton, i7$2.MatMenu, i7$2.MatMenuItem, i7$2.MatMenuTrigger, i17.MatRadioGroup, i17.MatRadioButton, i12.MatCheckbox, i11.MatDivider, i23.MatSlideToggle, i7.TranslatePipe], styles: [".checkAllButton[_ngcontent-%COMP%]{text-align:center;padding:0 5px}.igo-search-settings-button[_ngcontent-%COMP%] div.mat-button-ripple-round{border-radius:0}.igo-search-settings-radio-group[_ngcontent-%COMP%]{display:flex;flex-direction:column}.igo-search-settings-radio-group[_ngcontent-%COMP%] mat-radio-button[_ngcontent-%COMP%]{margin:5px}.igo-search-settings-checkbox[_ngcontent-%COMP%] mat-radio-button[_ngcontent-%COMP%]{display:flex}.igo-search-settings-search-source[_ngcontent-%COMP%]{display:flex;width:100%}.igo-search-settings-search-source[_ngcontent-%COMP%] mat-checkbox[_ngcontent-%COMP%]{display:flex;margin-left:5px;margin-right:5px}.search-option[_ngcontent-%COMP%]{display:block;margin-right:10px;margin-bottom:15px}.pointer-summary-slide-toggle-container[_ngcontent-%COMP%]{overflow-x:hidden}.pointer-summary-slide-toggle-container[_ngcontent-%COMP%] mat-slide-toggle[_ngcontent-%COMP%]{margin:10px}"], changeDetection: 0 });
|
|
38131
38422
|
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(SearchSettingsComponent, [{
|
|
38132
38423
|
type: Component,
|
|
38133
|
-
args: [{ selector: 'igo-search-settings', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"igo-search-settings\">\n\n <button\n mat-icon-button\n class=\"igo-search-settings-button\"\n color=\"primary\"\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"'igo.geo.search.menu.tooltip' | translate\"\n [matMenuTriggerFor]=\"searchSettingsMenu\">\n <mat-icon svgIcon=\"chevron-down\"></mat-icon>\n </button>\n <mat-menu\n #searchSettingsMenu=\"matMenu\"\n class=\"no-border-radius\">\n <div class=\"checkAllButton\" *ngIf=\"getSearchSources().length>4\">\n <button mat-raised-button\n (click)=\"checkUncheckAllSources($event)\">{{!searchSourcesAllEnabled ? ('igo.geo.search.searchSources.unselectAll' | translate): ('igo.geo.search.searchSources.selectAll' | translate)}}</button>\n </div>\n <ng-container *ngFor=\"let source of getSearchSources()\">\n <span class=\"igo-search-settings-search-source\">\n <mat-checkbox\n class=\"igo-search-settings-checkbox\"\n [checked]=\"source.enabled\"\n [value]=\"source\"\n (click)=\"$event.stopPropagation()\"\n (change)=\"onCheckSearchSource($event, source)\">\n </mat-checkbox>\n <button *ngIf=\"source.settings.length\u00A0>\u00A00\"\n [matMenuTriggerFor]=\"sub_menu\"\n mat-menu-item>{{source.title}}\n </button>\n <button\n mat-menu-item\n *ngIf=\"source.settings.length\u00A0===\u00A00\">\n {{source.title}}\n </button>\n </span>\n <mat-menu #sub_menu=\"matMenu\">\n <ng-container *ngFor=\"let setting of source.settings\">\n <button\n mat-menu-item\n [matMenuTriggerFor]=\"test_sub_menu\">\n {{'igo.geo.search.searchSources.settings.'+ setting.title | translate}}\n </button>\n <mat-menu #test_sub_menu=\"matMenu\"\n [ngSwitch]=\"setting.type\"\n yPosition=\"above\">\n <span *ngSwitchCase=\"'radiobutton'\">\n <mat-radio-group\n class=\"igo-search-settings-radio-group\"\n [value]=\"setting\">\n <mat-radio-button *ngFor=\"let settingValue of setting.values\"\n class=\"mat-typography\"\n [value]=\"settingValue\"\n [matTooltip]=\"getAvailableHashtagsValues(settingValue)\"\n [checked]=\"settingValue.enabled\"\n (click)=\"$event.stopPropagation()\"\n (change)=\"settingsValueCheckedRadioButton($event, source, setting, settingValue)\">\n {{settingValue.title | translate}}\n </mat-radio-button>\n </mat-radio-group>\n </span>\n <span *ngSwitchCase=\"'checkbox'\">\n <div class=\"checkAllButton\" *ngIf=\"setting.values.length\u00A0>\u00A03\">\n <button mat-raised-button\n (click)=\"checkUncheckAll($event, source, setting)\">{{setting.allEnabled || setting.allEnabled === undefined ? ('igo.geo.search.searchSources.settings.unselectAll' | translate): ('igo.geo.search.searchSources.settings.selectAll' | translate)}}</button>\n </div>\n <mat-checkbox *ngFor=\"let settingValue of getAvailableValues(setting)\"\n class=\"mat-menu-item\"\n [style.display]=\"displayBlock\"\n [checked]=\"settingValue.enabled\"\n [value]=\"setting\"\n [matTooltip]=\"getAvailableHashtagsValues(settingValue)\"\n (click)=\"$event.stopPropagation()\"\n (change)=\"settingsValueCheckedCheckbox($event, source, setting, settingValue)\">\n {{settingValue.title | translate}}\n </mat-checkbox>\n </span>\n </mat-menu>\n </ng-container>\n </mat-menu>\n </ng-container>\n <span *ngIf=\"hasPointerReverseSearchSource && !isTouchScreen\">\n <mat-divider></mat-divider>\n <span class=\"pointer-summary-slide-toggle-container mat-typography\">\n <mat-slide-toggle class=\"
|
|
38424
|
+
args: [{ selector: 'igo-search-settings', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"igo-search-settings\">\n\n <button\n mat-icon-button\n class=\"igo-search-settings-button\"\n color=\"primary\"\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"'igo.geo.search.menu.tooltip' | translate\"\n [matMenuTriggerFor]=\"searchSettingsMenu\">\n <mat-icon svgIcon=\"chevron-down\"></mat-icon>\n </button>\n <mat-menu\n #searchSettingsMenu=\"matMenu\"\n class=\"no-border-radius\">\n <div class=\"checkAllButton\" *ngIf=\"getSearchSources().length>4\">\n <button mat-raised-button\n (click)=\"checkUncheckAllSources($event)\">{{!searchSourcesAllEnabled ? ('igo.geo.search.searchSources.unselectAll' | translate): ('igo.geo.search.searchSources.selectAll' | translate)}}</button>\n </div>\n <ng-container *ngFor=\"let source of getSearchSources()\">\n <span class=\"igo-search-settings-search-source\">\n <mat-checkbox\n class=\"igo-search-settings-checkbox\"\n [checked]=\"source.enabled\"\n [value]=\"source\"\n (click)=\"$event.stopPropagation()\"\n (change)=\"onCheckSearchSource($event, source)\">\n </mat-checkbox>\n <button *ngIf=\"source.settings.length\u00A0>\u00A00\"\n [matMenuTriggerFor]=\"sub_menu\"\n mat-menu-item>{{source.title}}\n </button>\n <button\n mat-menu-item\n *ngIf=\"source.settings.length\u00A0===\u00A00\">\n {{source.title}}\n </button>\n </span>\n <mat-menu #sub_menu=\"matMenu\">\n <ng-container *ngFor=\"let setting of source.settings\">\n <button\n mat-menu-item\n [matMenuTriggerFor]=\"test_sub_menu\">\n {{'igo.geo.search.searchSources.settings.'+ setting.title | translate}}\n </button>\n <mat-menu #test_sub_menu=\"matMenu\"\n [ngSwitch]=\"setting.type\"\n yPosition=\"above\">\n <span *ngSwitchCase=\"'radiobutton'\">\n <mat-radio-group\n class=\"igo-search-settings-radio-group\"\n [value]=\"setting\">\n <mat-radio-button *ngFor=\"let settingValue of setting.values\"\n class=\"mat-typography\"\n [value]=\"settingValue\"\n [matTooltip]=\"getAvailableHashtagsValues(settingValue)\"\n [checked]=\"settingValue.enabled\"\n (click)=\"$event.stopPropagation()\"\n (change)=\"settingsValueCheckedRadioButton($event, source, setting, settingValue)\">\n {{settingValue.title | translate}}\n </mat-radio-button>\n </mat-radio-group>\n </span>\n <span *ngSwitchCase=\"'checkbox'\">\n <div class=\"checkAllButton\" *ngIf=\"setting.values.length\u00A0>\u00A03\">\n <button mat-raised-button\n (click)=\"checkUncheckAll($event, source, setting)\">{{setting.allEnabled || setting.allEnabled === undefined ? ('igo.geo.search.searchSources.settings.unselectAll' | translate): ('igo.geo.search.searchSources.settings.selectAll' | translate)}}</button>\n </div>\n <mat-checkbox *ngFor=\"let settingValue of getAvailableValues(setting)\"\n class=\"mat-menu-item\"\n [style.display]=\"displayBlock\"\n [checked]=\"settingValue.enabled\"\n [value]=\"setting\"\n [matTooltip]=\"getAvailableHashtagsValues(settingValue)\"\n (click)=\"$event.stopPropagation()\"\n (change)=\"settingsValueCheckedCheckbox($event, source, setting, settingValue)\">\n {{settingValue.title | translate}}\n </mat-checkbox>\n </span>\n </mat-menu>\n </ng-container>\n </mat-menu>\n </ng-container>\n <span *ngIf=\"hasPointerReverseSearchSource && !isTouchScreen\">\n <mat-divider></mat-divider>\n <span class=\"pointer-summary-slide-toggle-container mat-typography\">\n <mat-slide-toggle class=\"search-option\" (change)=\"changePointerReverseSearch($event)\" tooltip-position=\"below\"\n matTooltipShowDelay=\"500\" [matTooltip]=\"'igo.geo.search.pointerSearchSummary.tooltip' | translate\"\n (click)=\"$event.stopPropagation()\" [checked]=\"pointerSummaryEnabled\" [labelPosition]=\"'after'\">\n {{'igo.geo.search.pointerSearchSummary.title' | translate}}\n </mat-slide-toggle>\n <mat-slide-toggle class=\"search-option\" (change)=\"changeSearchResultsGeometry($event)\" tooltip-position=\"below\"\n matTooltipShowDelay=\"500\" [matTooltip]=\"'igo.geo.search.searchResultsGeometry.tooltip' | translate\"\n (click)=\"$event.stopPropagation()\" [checked]=\"searchResultsGeometryEnabled\" [labelPosition]=\"'after'\">\n {{'igo.geo.search.searchResultsGeometry.title' | translate}}\n </mat-slide-toggle>\n <mat-slide-toggle class=\"search-option\" (change)=\"reverseSearchCoordsFormat($event)\" tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"reverseSearchCoordsFormatEnabled ? ('igo.geo.search.reverseCoordFormat.tooltipLatLon' | translate)\n : ('igo.geo.search.reverseCoordFormat.tooltipLonLat' | translate)\"\n (click)=\"$event.stopPropagation()\" [checked]=\"reverseSearchCoordsFormatEnabled\" [labelPosition]=\"'after'\">\n {{'igo.geo.search.reverseCoordFormat.title' | translate}}\n </mat-slide-toggle>\n </span>\n </span>\n </mat-menu>\n</div>\n", styles: [".checkAllButton{text-align:center;padding:0 5px}.igo-search-settings-button ::ng-deep div.mat-button-ripple-round{border-radius:0}.igo-search-settings-radio-group{display:flex;flex-direction:column}.igo-search-settings-radio-group mat-radio-button{margin:5px}.igo-search-settings-checkbox mat-radio-button{display:flex}.igo-search-settings-search-source{display:flex;width:100%}.igo-search-settings-search-source mat-checkbox{display:flex;margin-left:5px;margin-right:5px}.search-option{display:block;margin-right:10px;margin-bottom:15px}.pointer-summary-slide-toggle-container{overflow-x:hidden}.pointer-summary-slide-toggle-container mat-slide-toggle{margin:10px}\n"] }]
|
|
38134
38425
|
}], function () { return [{ type: SearchSourceService }, { type: i2$1.MediaService }, { type: i2$1.StorageService }]; }, { pointerSummaryEnabled: [{
|
|
38135
38426
|
type: Input
|
|
38136
38427
|
}], searchResultsGeometryEnabled: [{
|
|
38137
38428
|
type: Input
|
|
38429
|
+
}], reverseSearchCoordsFormatEnabled: [{
|
|
38430
|
+
type: Input
|
|
38138
38431
|
}], searchSourceChange: [{
|
|
38139
38432
|
type: Output
|
|
38140
38433
|
}], pointerSummaryStatus: [{
|
|
38141
38434
|
type: Output
|
|
38142
38435
|
}], searchResultsGeometryStatus: [{
|
|
38143
38436
|
type: Output
|
|
38437
|
+
}], reverseSearchCoordsFormatStatus: [{
|
|
38438
|
+
type: Output
|
|
38144
38439
|
}], handleKeyboardEvent: [{
|
|
38145
38440
|
type: HostListener,
|
|
38146
38441
|
args: ['document:keydown', ['$event']]
|
|
@@ -38235,11 +38530,11 @@ function SearchBarComponent_igo_search_selector_14_Template(rf, ctx) { if (rf &
|
|
|
38235
38530
|
function SearchBarComponent_igo_search_settings_15_Template(rf, ctx) { if (rf & 1) {
|
|
38236
38531
|
const _r11 = i0.ɵɵgetCurrentView();
|
|
38237
38532
|
i0.ɵɵelementStart(0, "igo-search-settings", 15);
|
|
38238
|
-
i0.ɵɵlistener("pointerSummaryStatus", function SearchBarComponent_igo_search_settings_15_Template_igo_search_settings_pointerSummaryStatus_0_listener($event) { i0.ɵɵrestoreView(_r11); const ctx_r10 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r10.pointerSummaryStatus.emit($event)); })("searchResultsGeometryStatus", function SearchBarComponent_igo_search_settings_15_Template_igo_search_settings_searchResultsGeometryStatus_0_listener($event) { i0.ɵɵrestoreView(_r11); const ctx_r12 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r12.searchResultsGeometryStatus.emit($event)); })("
|
|
38533
|
+
i0.ɵɵlistener("pointerSummaryStatus", function SearchBarComponent_igo_search_settings_15_Template_igo_search_settings_pointerSummaryStatus_0_listener($event) { i0.ɵɵrestoreView(_r11); const ctx_r10 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r10.pointerSummaryStatus.emit($event)); })("searchResultsGeometryStatus", function SearchBarComponent_igo_search_settings_15_Template_igo_search_settings_searchResultsGeometryStatus_0_listener($event) { i0.ɵɵrestoreView(_r11); const ctx_r12 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r12.searchResultsGeometryStatus.emit($event)); })("reverseSearchCoordsFormatStatus", function SearchBarComponent_igo_search_settings_15_Template_igo_search_settings_reverseSearchCoordsFormatStatus_0_listener($event) { i0.ɵɵrestoreView(_r11); const ctx_r13 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r13.reverseSearchCoordsFormatStatus.emit($event)); })("searchSourceChange", function SearchBarComponent_igo_search_settings_15_Template_igo_search_settings_searchSourceChange_0_listener() { i0.ɵɵrestoreView(_r11); const ctx_r14 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r14.onSearchSettingsChange()); });
|
|
38239
38534
|
i0.ɵɵelementEnd();
|
|
38240
38535
|
} if (rf & 2) {
|
|
38241
38536
|
const ctx_r5 = i0.ɵɵnextContext();
|
|
38242
|
-
i0.ɵɵproperty("pointerSummaryEnabled", ctx_r5.pointerSummaryEnabled)("searchResultsGeometryEnabled", ctx_r5.searchResultsGeometryEnabled);
|
|
38537
|
+
i0.ɵɵproperty("pointerSummaryEnabled", ctx_r5.pointerSummaryEnabled)("searchResultsGeometryEnabled", ctx_r5.searchResultsGeometryEnabled)("reverseSearchCoordsFormatEnabled", ctx_r5.reverseSearchCoordsFormatEnabled);
|
|
38243
38538
|
} }
|
|
38244
38539
|
const _c1$2 = function (a0) { return { empty: a0 }; };
|
|
38245
38540
|
const _c2$1 = function (a0) { return { "hasSearchIcon": a0 }; };
|
|
@@ -38276,10 +38571,15 @@ class SearchBarComponent {
|
|
|
38276
38571
|
* Event emitted when the show geometry setting is changed
|
|
38277
38572
|
*/
|
|
38278
38573
|
this.searchResultsGeometryStatus = new EventEmitter();
|
|
38574
|
+
/**
|
|
38575
|
+
* Event emitted when the coords format setting is changed
|
|
38576
|
+
*/
|
|
38577
|
+
this.reverseSearchCoordsFormatStatus = new EventEmitter();
|
|
38279
38578
|
this.term$ = new BehaviorSubject('');
|
|
38280
38579
|
this.disabled$ = new BehaviorSubject(false);
|
|
38281
38580
|
this.pointerSummaryEnabled = false;
|
|
38282
38581
|
this.searchResultsGeometryEnabled = false;
|
|
38582
|
+
this._reverseSearchCoordsFormatEnabled = false;
|
|
38283
38583
|
/**
|
|
38284
38584
|
* Whether a float label should be displayed
|
|
38285
38585
|
*/
|
|
@@ -38358,6 +38658,16 @@ class SearchBarComponent {
|
|
|
38358
38658
|
get disabled() {
|
|
38359
38659
|
return this.disabled$.value;
|
|
38360
38660
|
}
|
|
38661
|
+
/**
|
|
38662
|
+
* When reverse coordinates status change
|
|
38663
|
+
*/
|
|
38664
|
+
get reverseSearchCoordsFormatEnabled() {
|
|
38665
|
+
return this._reverseSearchCoordsFormatEnabled;
|
|
38666
|
+
}
|
|
38667
|
+
set reverseSearchCoordsFormatEnabled(value) {
|
|
38668
|
+
this._reverseSearchCoordsFormatEnabled = value;
|
|
38669
|
+
this.setTerm(this.term, true);
|
|
38670
|
+
}
|
|
38361
38671
|
/**
|
|
38362
38672
|
* Whether the search bar is empty
|
|
38363
38673
|
* @internal
|
|
@@ -38441,12 +38751,12 @@ class SearchBarComponent {
|
|
|
38441
38751
|
* Send the term into the stream only if this component is not disabled
|
|
38442
38752
|
* @param term Search term
|
|
38443
38753
|
*/
|
|
38444
|
-
setTerm(term) {
|
|
38754
|
+
setTerm(term, reverseCoordEvent) {
|
|
38445
38755
|
if (this.disabled) {
|
|
38446
38756
|
return;
|
|
38447
38757
|
}
|
|
38448
38758
|
term = term || '';
|
|
38449
|
-
if (term !== this.term) {
|
|
38759
|
+
if (term !== this.term && !reverseCoordEvent) {
|
|
38450
38760
|
this.term$.next(term);
|
|
38451
38761
|
}
|
|
38452
38762
|
const slug = term.replace(/(#[^\s]*)/g, '').trim();
|
|
@@ -38575,7 +38885,7 @@ SearchBarComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: SearchBa
|
|
|
38575
38885
|
} if (rf & 2) {
|
|
38576
38886
|
let _t;
|
|
38577
38887
|
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.input = _t.first);
|
|
38578
|
-
} }, inputs: { searchTypes: "searchTypes", searchType: "searchType", term: "term", disabled: "disabled", pointerSummaryEnabled: "pointerSummaryEnabled", searchResultsGeometryEnabled: "searchResultsGeometryEnabled", floatLabel: "floatLabel", appearance: "appearance", placeholder: "placeholder", label: "label", color: "color", termSplitter: "termSplitter", debounce: "debounce", minLength: "minLength", searchSelector: "searchSelector", searchSettings: "searchSettings", forceNA: "forceNA", store: "store" }, outputs: { pointerSummaryStatus: "pointerSummaryStatus", searchResultsGeometryStatus: "searchResultsGeometryStatus", searchTermChange: "searchTermChange", search: "search", searchTypeChange: "searchTypeChange", clearFeature: "clearFeature", searchSettingsChange: "searchSettingsChange" }, decls: 16, vars: 28, consts: [[1, "igo-search-bar-container", 3, "ngClass"], [3, "floatLabel", "appearance"], [4, "ngIf"], ["matInput", "", "autocomplete", "off", 3, "ngClass", "disabled", "placeholder", "value", "keyup", "touchend"], ["input", ""], [1, "search-bar-buttons"], ["mat-icon-button", "", 3, "color", "matTooltip", "click", 4, "ngIf"], ["mat-icon-button", "", 3, "color", 4, "ngIf"], [3, "searchTypes", "searchType", "searchTypeChange", 4, "ngIf"], [3, "pointerSummaryEnabled", "searchResultsGeometryEnabled", "pointerSummaryStatus", "searchResultsGeometryStatus", "searchSourceChange", 4, "ngIf"], ["mat-icon-button", "", 3, "color", "matTooltip", "click"], ["svgIcon", "close"], ["mat-icon-button", "", 3, "color"], ["svgIcon", "magnify"], [3, "searchTypes", "searchType", "searchTypeChange"], [3, "pointerSummaryEnabled", "searchResultsGeometryEnabled", "pointerSummaryStatus", "searchResultsGeometryStatus", "searchSourceChange"]], template: function SearchBarComponent_Template(rf, ctx) { if (rf & 1) {
|
|
38888
|
+
} }, inputs: { searchTypes: "searchTypes", searchType: "searchType", term: "term", disabled: "disabled", pointerSummaryEnabled: "pointerSummaryEnabled", searchResultsGeometryEnabled: "searchResultsGeometryEnabled", reverseSearchCoordsFormatEnabled: "reverseSearchCoordsFormatEnabled", floatLabel: "floatLabel", appearance: "appearance", placeholder: "placeholder", label: "label", color: "color", termSplitter: "termSplitter", debounce: "debounce", minLength: "minLength", searchSelector: "searchSelector", searchSettings: "searchSettings", forceNA: "forceNA", store: "store" }, outputs: { pointerSummaryStatus: "pointerSummaryStatus", searchResultsGeometryStatus: "searchResultsGeometryStatus", reverseSearchCoordsFormatStatus: "reverseSearchCoordsFormatStatus", searchTermChange: "searchTermChange", search: "search", searchTypeChange: "searchTypeChange", clearFeature: "clearFeature", searchSettingsChange: "searchSettingsChange" }, decls: 16, vars: 28, consts: [[1, "igo-search-bar-container", 3, "ngClass"], [3, "floatLabel", "appearance"], [4, "ngIf"], ["matInput", "", "autocomplete", "off", 3, "ngClass", "disabled", "placeholder", "value", "keyup", "touchend"], ["input", ""], [1, "search-bar-buttons"], ["mat-icon-button", "", 3, "color", "matTooltip", "click", 4, "ngIf"], ["mat-icon-button", "", 3, "color", 4, "ngIf"], [3, "searchTypes", "searchType", "searchTypeChange", 4, "ngIf"], [3, "pointerSummaryEnabled", "searchResultsGeometryEnabled", "reverseSearchCoordsFormatEnabled", "pointerSummaryStatus", "searchResultsGeometryStatus", "reverseSearchCoordsFormatStatus", "searchSourceChange", 4, "ngIf"], ["mat-icon-button", "", 3, "color", "matTooltip", "click"], ["svgIcon", "close"], ["mat-icon-button", "", 3, "color"], ["svgIcon", "magnify"], [3, "searchTypes", "searchType", "searchTypeChange"], [3, "pointerSummaryEnabled", "searchResultsGeometryEnabled", "reverseSearchCoordsFormatEnabled", "pointerSummaryStatus", "searchResultsGeometryStatus", "reverseSearchCoordsFormatStatus", "searchSourceChange"]], template: function SearchBarComponent_Template(rf, ctx) { if (rf & 1) {
|
|
38579
38889
|
i0.ɵɵelementStart(0, "div", 0);
|
|
38580
38890
|
i0.ɵɵpipe(1, "async");
|
|
38581
38891
|
i0.ɵɵelementStart(2, "mat-form-field", 1);
|
|
@@ -38592,7 +38902,7 @@ SearchBarComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: SearchBa
|
|
|
38592
38902
|
i0.ɵɵpipe(12, "async");
|
|
38593
38903
|
i0.ɵɵtemplate(13, SearchBarComponent_button_13_Template, 2, 1, "button", 7);
|
|
38594
38904
|
i0.ɵɵtemplate(14, SearchBarComponent_igo_search_selector_14_Template, 2, 4, "igo-search-selector", 8);
|
|
38595
|
-
i0.ɵɵtemplate(15, SearchBarComponent_igo_search_settings_15_Template, 1,
|
|
38905
|
+
i0.ɵɵtemplate(15, SearchBarComponent_igo_search_settings_15_Template, 1, 3, "igo-search-settings", 9);
|
|
38596
38906
|
i0.ɵɵelementEnd()();
|
|
38597
38907
|
} if (rf & 2) {
|
|
38598
38908
|
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(24, _c1$2, i0.ɵɵpipeBind1(1, 12, ctx.empty$)));
|
|
@@ -38610,10 +38920,10 @@ SearchBarComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: SearchBa
|
|
|
38610
38920
|
i0.ɵɵproperty("ngIf", ctx.searchSelector);
|
|
38611
38921
|
i0.ɵɵadvance(1);
|
|
38612
38922
|
i0.ɵɵproperty("ngIf", ctx.searchSettings);
|
|
38613
|
-
} }, dependencies: [i1
|
|
38923
|
+
} }, dependencies: [i1.NgClass, i1.NgIf, i4.MatTooltip, i2.MatIcon, i3$1.MatButton, i13.MatFormField, i13.MatLabel, i14.MatInput, SearchSelectorComponent, SearchSettingsComponent, i1.AsyncPipe, i7.TranslatePipe], styles: ["[_nghost-%COMP%] .mat-form-field{padding:0 5px}[_nghost-%COMP%] .mat-form-field-wrapper{margin-bottom:-1.5em}[_nghost-%COMP%] span.mat-form-field-label-wrapper{top:-20px}[_nghost-%COMP%] div.mat-form-field-infix{left:5px;right:5px;padding:0 0 12px!important}[_nghost-%COMP%] div.mat-form-field-underline{display:none}.igo-search-bar-container[_ngcontent-%COMP%]{position:relative;width:100%;display:inline-flex;overflow:hidden}.igo-search-bar-container[_ngcontent-%COMP%] > mat-form-field[_ngcontent-%COMP%]{width:calc(100% - 80px)}.igo-search-bar-container.empty[_ngcontent-%COMP%] > mat-form-field[_ngcontent-%COMP%]{width:calc(100% - 40px)}.search-bar-buttons[_ngcontent-%COMP%]{position:relative;right:0px;display:inline-flex;top:0}.search-bar-buttons[_ngcontent-%COMP%] > button[_ngcontent-%COMP%]:nth-child(2):before{content:\"\";left:0px;top:5px;border-right:1px solid #ddd;height:28px}igo-search-selector[_ngcontent-%COMP%]{background-color:#fff;top:0;border-radius:0}igo-search-settings[_ngcontent-%COMP%]{background-color:#fff;top:0;border-radius:0}"], changeDetection: 0 });
|
|
38614
38924
|
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(SearchBarComponent, [{
|
|
38615
38925
|
type: Component,
|
|
38616
|
-
args: [{ selector: 'igo-search-bar', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"igo-search-bar-container\" [ngClass]=\"{empty: empty$ | async}\">\n <mat-form-field [floatLabel]=\"floatLabel\" [appearance]=\"appearance\">\n <mat-label *ngIf=\"label\">{{label}}</mat-label>\n <input\n #input\n matInput\n autocomplete=\"off\"\n [ngClass]=\"{'hasSearchIcon': showSearchButton}\"\n [disabled]=\"disabled$ | async\"\n [placeholder]=\"placeholder ? placeholder : (placeholder$ | async) ? (placeholder$.value | translate) : undefined\"\n [value]=\"term$ | async\"\n (keyup)=\"onKeyup($event)\"\n (touchend)=\"onKeyup($event)\">\n </mat-form-field>\n\n <div class=\"search-bar-buttons\">\n <button *ngIf=\"(empty$ | async)===false\"\n mat-icon-button\n [color]=\"color\"\n (click)=\"onClearButtonClick()\"\n [matTooltip]=\"'igo.geo.search.clearSearch' | translate\">\n <mat-icon svgIcon=\"close\"></mat-icon>\n </button>\n \n <button *ngIf=\"showSearchButton\"\n mat-icon-button\n [color]=\"color\">\n <mat-icon svgIcon=\"magnify\"></mat-icon>\n </button>\n\n <igo-search-selector\n *ngIf=\"searchSelector\"\n [searchTypes]=\"searchTypes\"\n [searchType]=\"searchType$ | async\"\n (searchTypeChange)=\"onSearchTypeChange($event)\">\n </igo-search-selector>\n\n <igo-search-settings\n *ngIf=\"searchSettings\"\n [pointerSummaryEnabled]=\"pointerSummaryEnabled\"\n (pointerSummaryStatus)=\"pointerSummaryStatus.emit($event)\"\n [searchResultsGeometryEnabled]=\"searchResultsGeometryEnabled\"\n (searchResultsGeometryStatus)=\"searchResultsGeometryStatus.emit($event)\"\n (searchSourceChange)=\"onSearchSettingsChange()\">\n </igo-search-settings>\n </div>\n</div>\n", styles: [":host ::ng-deep .mat-form-field{padding:0 5px}:host ::ng-deep .mat-form-field-wrapper{margin-bottom:-1.5em}:host ::ng-deep span.mat-form-field-label-wrapper{top:-20px}:host ::ng-deep div.mat-form-field-infix{left:5px;right:5px;padding:0 0 12px!important}:host ::ng-deep div.mat-form-field-underline{display:none}.igo-search-bar-container{position:relative;width:100%;display:inline-flex;overflow:hidden}.igo-search-bar-container>mat-form-field{width:calc(100% - 80px)}.igo-search-bar-container.empty>mat-form-field{width:calc(100% - 40px)}.search-bar-buttons{position:relative;right:0px;display:inline-flex;top:0}.search-bar-buttons>button:nth-child(2):before{content:\"\";left:0px;top:5px;border-right:1px solid #ddd;height:28px}igo-search-selector{background-color:#fff;top:0;border-radius:0}igo-search-settings{background-color:#fff;top:0;border-radius:0}\n"] }]
|
|
38926
|
+
args: [{ selector: 'igo-search-bar', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"igo-search-bar-container\" [ngClass]=\"{empty: empty$ | async}\">\n <mat-form-field [floatLabel]=\"floatLabel\" [appearance]=\"appearance\">\n <mat-label *ngIf=\"label\">{{label}}</mat-label>\n <input\n #input\n matInput\n autocomplete=\"off\"\n [ngClass]=\"{'hasSearchIcon': showSearchButton}\"\n [disabled]=\"disabled$ | async\"\n [placeholder]=\"placeholder ? placeholder : (placeholder$ | async) ? (placeholder$.value | translate) : undefined\"\n [value]=\"term$ | async\"\n (keyup)=\"onKeyup($event)\"\n (touchend)=\"onKeyup($event)\">\n </mat-form-field>\n\n <div class=\"search-bar-buttons\">\n <button *ngIf=\"(empty$ | async)===false\"\n mat-icon-button\n [color]=\"color\"\n (click)=\"onClearButtonClick()\"\n [matTooltip]=\"'igo.geo.search.clearSearch' | translate\">\n <mat-icon svgIcon=\"close\"></mat-icon>\n </button>\n \n <button *ngIf=\"showSearchButton\"\n mat-icon-button\n [color]=\"color\">\n <mat-icon svgIcon=\"magnify\"></mat-icon>\n </button>\n\n <igo-search-selector\n *ngIf=\"searchSelector\"\n [searchTypes]=\"searchTypes\"\n [searchType]=\"searchType$ | async\"\n (searchTypeChange)=\"onSearchTypeChange($event)\">\n </igo-search-selector>\n\n <igo-search-settings\n *ngIf=\"searchSettings\"\n [pointerSummaryEnabled]=\"pointerSummaryEnabled\"\n (pointerSummaryStatus)=\"pointerSummaryStatus.emit($event)\"\n [searchResultsGeometryEnabled]=\"searchResultsGeometryEnabled\"\n (searchResultsGeometryStatus)=\"searchResultsGeometryStatus.emit($event)\"\n [reverseSearchCoordsFormatEnabled]=\"reverseSearchCoordsFormatEnabled\"\n (reverseSearchCoordsFormatStatus)=\"reverseSearchCoordsFormatStatus.emit($event)\"\n (searchSourceChange)=\"onSearchSettingsChange()\">\n </igo-search-settings>\n </div>\n</div>\n", styles: [":host ::ng-deep .mat-form-field{padding:0 5px}:host ::ng-deep .mat-form-field-wrapper{margin-bottom:-1.5em}:host ::ng-deep span.mat-form-field-label-wrapper{top:-20px}:host ::ng-deep div.mat-form-field-infix{left:5px;right:5px;padding:0 0 12px!important}:host ::ng-deep div.mat-form-field-underline{display:none}.igo-search-bar-container{position:relative;width:100%;display:inline-flex;overflow:hidden}.igo-search-bar-container>mat-form-field{width:calc(100% - 80px)}.igo-search-bar-container.empty>mat-form-field{width:calc(100% - 40px)}.search-bar-buttons{position:relative;right:0px;display:inline-flex;top:0}.search-bar-buttons>button:nth-child(2):before{content:\"\";left:0px;top:5px;border-right:1px solid #ddd;height:28px}igo-search-selector{background-color:#fff;top:0;border-radius:0}igo-search-settings{background-color:#fff;top:0;border-radius:0}\n"] }]
|
|
38617
38927
|
}], function () { return [{ type: i2$1.ConfigService }, { type: SearchService }, { type: SearchSourceService }]; }, { searchTypes: [{
|
|
38618
38928
|
type: Input
|
|
38619
38929
|
}], searchType: [{
|
|
@@ -38622,6 +38932,8 @@ SearchBarComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: SearchBa
|
|
|
38622
38932
|
type: Output
|
|
38623
38933
|
}], searchResultsGeometryStatus: [{
|
|
38624
38934
|
type: Output
|
|
38935
|
+
}], reverseSearchCoordsFormatStatus: [{
|
|
38936
|
+
type: Output
|
|
38625
38937
|
}], term: [{
|
|
38626
38938
|
type: Input
|
|
38627
38939
|
}], disabled: [{
|
|
@@ -38630,6 +38942,8 @@ SearchBarComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: SearchBa
|
|
|
38630
38942
|
type: Input
|
|
38631
38943
|
}], searchResultsGeometryEnabled: [{
|
|
38632
38944
|
type: Input
|
|
38945
|
+
}], reverseSearchCoordsFormatEnabled: [{
|
|
38946
|
+
type: Input
|
|
38633
38947
|
}], floatLabel: [{
|
|
38634
38948
|
type: Input
|
|
38635
38949
|
}], appearance: [{
|
|
@@ -38855,11 +39169,11 @@ SearchResultsItemComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type:
|
|
|
38855
39169
|
i0.ɵɵproperty("ngIf", !ctx.titleHtml);
|
|
38856
39170
|
i0.ɵɵadvance(1);
|
|
38857
39171
|
i0.ɵɵproperty("ngIf", ctx.withZoomButton);
|
|
38858
|
-
} }, dependencies: [i1
|
|
39172
|
+
} }, dependencies: [i1.NgIf, i4.MatTooltip, i2.MatIcon, i5.MatListItem, i5.MatListAvatarCssMatStyler, i9.MatLine, i3$1.MatButton, i5$1.StopPropagationDirective], styles: ["[_nghost-%COMP%] small{color:#8c8c8c} .search-result-tooltip{white-space:pre-line}"], changeDetection: 0 });
|
|
38859
39173
|
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(SearchResultsItemComponent, [{
|
|
38860
39174
|
type: Component,
|
|
38861
39175
|
args: [{ selector: 'igo-search-results-item', changeDetection: ChangeDetectionStrategy.OnPush, template: "<mat-list-item>\n <mat-icon *ngIf=\"icon\" mat-list-avatar svgIcon=\"{{showIcons ? icon : 'blank'}}\"></mat-icon>\n\n <h4 matLine *ngIf=\"titleHtml\" [innerHtml]=\"titleHtml\" matTooltipShowDelay=\"500\" [matTooltip]=\"tooltipHtml\" matTooltipClass=\"search-result-tooltip\"></h4>\n <h4 matLine *ngIf=\"!titleHtml\" matTooltipShowDelay=\"500\" [matTooltip]=\"title\">{{title}}</h4>\n\n <button *ngIf=\"withZoomButton\"\n igoStopPropagation\n mat-icon-button\n (click)=\"onZoomHandler()\">\n <mat-icon svgIcon=\"magnify\"></mat-icon>\n </button>\n\n <ng-content\n select=[igoSearchItemToolbar]>\n </ng-content>\n\n</mat-list-item>\n", styles: [":host ::ng-deep small{color:#8c8c8c}::ng-deep .search-result-tooltip{white-space:pre-line}\n"] }]
|
|
38862
|
-
}],
|
|
39176
|
+
}], null, { result: [{
|
|
38863
39177
|
type: Input
|
|
38864
39178
|
}], map: [{
|
|
38865
39179
|
type: Input
|
|
@@ -39163,7 +39477,7 @@ SearchResultsComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: Sear
|
|
|
39163
39477
|
i0.ɵɵproperty("navigation", true);
|
|
39164
39478
|
i0.ɵɵadvance(1);
|
|
39165
39479
|
i0.ɵɵproperty("ngForOf", i0.ɵɵpipeBind1(3, 2, ctx.results$));
|
|
39166
|
-
} }, dependencies: [i1
|
|
39480
|
+
} }, dependencies: [i1.NgForOf, i1.NgIf, i1.NgTemplateOutlet, i5$1.CollapsibleComponent, i5$1.ListItemDirective, i5$1.ListComponent, SearchResultsItemComponent, i1.AsyncPipe, i7.TranslatePipe], styles: [".moreResults[_ngcontent-%COMP%]{cursor:pointer;color:#00f;float:right;margin-right:10px;margin-top:5px}igo-list[_ngcontent-%COMP%] mat-list{height:100%}"], changeDetection: 0 });
|
|
39167
39481
|
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(SearchResultsComponent, [{
|
|
39168
39482
|
type: Component,
|
|
39169
39483
|
args: [{ selector: 'igo-search-results', changeDetection: ChangeDetectionStrategy.OnPush, template: "<igo-list [navigation]=\"true\">\n <ng-template\n #groupTemplate\n ngFor let-group\n [ngForOf]=\"results$ | async\">\n\n <igo-collapsible [class]=\"group.source.getId()\"\n *ngIf=\"mode === searchResultMode.Grouped; else flatTemplate\"\n [title]=\"computeGroupTitle(group)\"\n [collapsed]=\"collapsed[group.source.title]\"\n (toggle)=\"collapsed[group.source.title] = $event\">\n <ng-container *ngTemplateOutlet=\"storeItemTemplate; context: {results: group.results}\"></ng-container>\n </igo-collapsible>\n\n <ng-template #flatTemplate>\n <ng-container *ngTemplateOutlet=\"storeItemTemplate; context: {results: group.results}\"></ng-container>\n </ng-template>\n\n <ng-template #storeItemTemplate let-results=\"results\">\n <ng-template ngFor let-result [ngForOf]=\"results\">\n <igo-search-results-item\n igoListItem\n color=\"accent\"\n [map]=\"map\"\n [result]=\"result\"\n [showIcons]=\"showIcons\"\n [withZoomButton]=\"withZoomButton\"\n [focused]=\"store.state.get(result).focused\"\n [selected]=\"store.state.get(result).selected\"\n (focus)=\"resultFocus.emit(result)\"\n (unfocus)=\"resultUnfocus.emit(result)\"\n (select)=\"onResultSelect(result)\"\n (mouseenter)=\"resultFocus.emit(result)\"\n (mouseleave)=\"resultUnfocus.emit(result)\">\n\n <ng-container igoSearchItemToolbar\n [ngTemplateOutlet]=\"templateSearchToolbar\"\n [ngTemplateOutletContext]=\"{result: result}\">\n </ng-container>\n\n </igo-search-results-item>\n </ng-template>\n <span class=\"moreResults mat-typography\" *ngIf=\"isMoreResults(group)\" (click)=\"displayMoreResults(group)\">\n <u>{{ 'igo.geo.search.displayMoreResults' | translate }}</u>\n </span>\n </ng-template>\n\n </ng-template>\n\n</igo-list>\n", styles: [".moreResults{cursor:pointer;color:#00f;float:right;margin-right:10px;margin-top:5px}igo-list ::ng-deep mat-list{height:100%}\n"] }]
|
|
@@ -39200,32 +39514,157 @@ SearchResultsComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: Sear
|
|
|
39200
39514
|
args: ['igoSearchItemToolbar', /* TODO: add static flag */ {}]
|
|
39201
39515
|
}] }); })();
|
|
39202
39516
|
|
|
39517
|
+
function SaveFeatureDialogComponent_mat_option_13_Template(rf, ctx) { if (rf & 1) {
|
|
39518
|
+
i0.ɵɵelementStart(0, "mat-option", 14)(1, "p", 15);
|
|
39519
|
+
i0.ɵɵtext(2);
|
|
39520
|
+
i0.ɵɵelementEnd()();
|
|
39521
|
+
} if (rf & 2) {
|
|
39522
|
+
const layer_r2 = ctx.$implicit;
|
|
39523
|
+
i0.ɵɵproperty("value", layer_r2);
|
|
39524
|
+
i0.ɵɵadvance(2);
|
|
39525
|
+
i0.ɵɵtextInterpolate(layer_r2.title);
|
|
39526
|
+
} }
|
|
39527
|
+
class SaveFeatureDialogComponent {
|
|
39528
|
+
constructor(formBuilder, languageService, dialogRef, data) {
|
|
39529
|
+
this.formBuilder = formBuilder;
|
|
39530
|
+
this.languageService = languageService;
|
|
39531
|
+
this.dialogRef = dialogRef;
|
|
39532
|
+
this.data = data;
|
|
39533
|
+
this.layers = [];
|
|
39534
|
+
this.form = this.formBuilder.group({
|
|
39535
|
+
layerName: ['', [Validators.required]],
|
|
39536
|
+
});
|
|
39537
|
+
}
|
|
39538
|
+
ngOnInit() {
|
|
39539
|
+
this.feature = this.data.feature;
|
|
39540
|
+
this.layers = this.data.layers;
|
|
39541
|
+
this.filteredLayers = this.form.controls['layerName'].valueChanges.pipe(startWith(''), map(val => this.filter(val)));
|
|
39542
|
+
}
|
|
39543
|
+
filter(val) {
|
|
39544
|
+
if (typeof val !== 'string') {
|
|
39545
|
+
return;
|
|
39546
|
+
}
|
|
39547
|
+
return this.layers.map(l => l).filter(layer => layer?.title?.toLowerCase().includes(val.toLowerCase()));
|
|
39548
|
+
}
|
|
39549
|
+
displayFn(layer) {
|
|
39550
|
+
return layer && layer.title ? layer.title : '';
|
|
39551
|
+
}
|
|
39552
|
+
save() {
|
|
39553
|
+
const data = { layer: this.form.value.layerName, feature: this.feature };
|
|
39554
|
+
this.dialogRef.close(data);
|
|
39555
|
+
}
|
|
39556
|
+
cancel() {
|
|
39557
|
+
this.dialogRef.close();
|
|
39558
|
+
}
|
|
39559
|
+
}
|
|
39560
|
+
SaveFeatureDialogComponent.ɵfac = function SaveFeatureDialogComponent_Factory(t) { return new (t || SaveFeatureDialogComponent)(i0.ɵɵdirectiveInject(i2$2.UntypedFormBuilder), i0.ɵɵdirectiveInject(i2$1.LanguageService), i0.ɵɵdirectiveInject(i3.MatDialogRef), i0.ɵɵdirectiveInject(MAT_DIALOG_DATA, 8)); };
|
|
39561
|
+
SaveFeatureDialogComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: SaveFeatureDialogComponent, selectors: [["igo-save-feature-dialog"]], decls: 23, vars: 21, consts: [["mat-dialog-title", "", 1, "mat-typography"], ["mat-dialog-content", "", 1, "mat-typography"], [1, "igo-form", 3, "formGroup"], [3, "navigation", "selection"], ["igoListItem", "", "color", "accent", "showIcons", "true", 3, "result"], [1, "igo-input-container"], ["type", "text", "matInput", "", "formControlName", "layerName", 3, "placeholder", "matAutocomplete"], [3, "displayWith"], ["auto", "matAutocomplete"], [3, "value", 4, "ngFor", "ngForOf"], ["mat-dialog-actions", "", 2, "justify-content", "center"], [1, "igo-form-button-group", "create-layer-button-top-padding"], ["mat-raised-button", "", "type", "button", 3, "click"], ["id", "createLayerBtnDialog", "mat-raised-button", "", "type", "button", "color", "primary", 3, "click"], [3, "value"], ["mat-line", ""]], template: function SaveFeatureDialogComponent_Template(rf, ctx) { if (rf & 1) {
|
|
39562
|
+
i0.ɵɵelementStart(0, "h1", 0);
|
|
39563
|
+
i0.ɵɵtext(1);
|
|
39564
|
+
i0.ɵɵpipe(2, "translate");
|
|
39565
|
+
i0.ɵɵelementEnd();
|
|
39566
|
+
i0.ɵɵelementStart(3, "div", 1)(4, "form", 2)(5, "igo-list", 3);
|
|
39567
|
+
i0.ɵɵelement(6, "igo-search-results-item", 4);
|
|
39568
|
+
i0.ɵɵelementEnd();
|
|
39569
|
+
i0.ɵɵelementStart(7, "div", 5)(8, "mat-form-field");
|
|
39570
|
+
i0.ɵɵelement(9, "input", 6);
|
|
39571
|
+
i0.ɵɵpipe(10, "translate");
|
|
39572
|
+
i0.ɵɵelementStart(11, "mat-autocomplete", 7, 8);
|
|
39573
|
+
i0.ɵɵtemplate(13, SaveFeatureDialogComponent_mat_option_13_Template, 3, 2, "mat-option", 9);
|
|
39574
|
+
i0.ɵɵpipe(14, "async");
|
|
39575
|
+
i0.ɵɵelementEnd()()()()();
|
|
39576
|
+
i0.ɵɵelementStart(15, "div", 10)(16, "div", 11)(17, "button", 12);
|
|
39577
|
+
i0.ɵɵlistener("click", function SaveFeatureDialogComponent_Template_button_click_17_listener() { return ctx.cancel(); });
|
|
39578
|
+
i0.ɵɵtext(18);
|
|
39579
|
+
i0.ɵɵpipe(19, "translate");
|
|
39580
|
+
i0.ɵɵelementEnd();
|
|
39581
|
+
i0.ɵɵelementStart(20, "button", 13);
|
|
39582
|
+
i0.ɵɵlistener("click", function SaveFeatureDialogComponent_Template_button_click_20_listener() { return ctx.save(); });
|
|
39583
|
+
i0.ɵɵtext(21);
|
|
39584
|
+
i0.ɵɵpipe(22, "translate");
|
|
39585
|
+
i0.ɵɵelementEnd()()();
|
|
39586
|
+
} if (rf & 2) {
|
|
39587
|
+
const _r0 = i0.ɵɵreference(12);
|
|
39588
|
+
i0.ɵɵadvance(1);
|
|
39589
|
+
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(2, 11, "igo.geo.layer.saveFeatureInLayer"));
|
|
39590
|
+
i0.ɵɵadvance(3);
|
|
39591
|
+
i0.ɵɵproperty("formGroup", ctx.form);
|
|
39592
|
+
i0.ɵɵadvance(1);
|
|
39593
|
+
i0.ɵɵproperty("navigation", false)("selection", false);
|
|
39594
|
+
i0.ɵɵadvance(1);
|
|
39595
|
+
i0.ɵɵproperty("result", ctx.feature);
|
|
39596
|
+
i0.ɵɵadvance(3);
|
|
39597
|
+
i0.ɵɵpropertyInterpolate("placeholder", i0.ɵɵpipeBind1(10, 13, "igo.geo.layer.chooseOrSet"));
|
|
39598
|
+
i0.ɵɵproperty("matAutocomplete", _r0);
|
|
39599
|
+
i0.ɵɵadvance(2);
|
|
39600
|
+
i0.ɵɵproperty("displayWith", ctx.displayFn);
|
|
39601
|
+
i0.ɵɵadvance(2);
|
|
39602
|
+
i0.ɵɵproperty("ngForOf", i0.ɵɵpipeBind1(14, 15, ctx.filteredLayers));
|
|
39603
|
+
i0.ɵɵadvance(5);
|
|
39604
|
+
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(19, 17, "igo.geo.layer.cancelBtn"), " ");
|
|
39605
|
+
i0.ɵɵadvance(3);
|
|
39606
|
+
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(22, 19, "igo.geo.layer.saveBtn"), " ");
|
|
39607
|
+
} }, dependencies: [i1.NgForOf, i9.MatLine, i3$1.MatButton, i3.MatDialogTitle, i3.MatDialogContent, i3.MatDialogActions, i5$1.ListItemDirective, i5$1.ListComponent, i13.MatFormField, i2$2.ɵNgNoValidate, i2$2.DefaultValueAccessor, i2$2.NgControlStatus, i2$2.NgControlStatusGroup, i2$2.FormGroupDirective, i2$2.FormControlName, i14.MatInput, i9.MatOption, i11$1.MatAutocomplete, i11$1.MatAutocompleteTrigger, SearchResultsItemComponent, i1.AsyncPipe, i7.TranslatePipe], styles: ["mat-form-field[_ngcontent-%COMP%]{width:100%}.create-layer-button-top-padding[_ngcontent-%COMP%]{padding-top:25px}.igo-form[_ngcontent-%COMP%]{padding:10px 5px 5px}.igo-form-button-group[_ngcontent-%COMP%]{text-align:center}button[_ngcontent-%COMP%]{cursor:pointer}button#createLayerBtnDialog[disabled=true][_ngcontent-%COMP%]{cursor:default;background-color:#0000001f;color:#00000042}.error[_ngcontent-%COMP%]{color:red}"] });
|
|
39608
|
+
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(SaveFeatureDialogComponent, [{
|
|
39609
|
+
type: Component,
|
|
39610
|
+
args: [{ selector: 'igo-save-feature-dialog', template: "<h1 mat-dialog-title class=\"mat-typography\">{{'igo.geo.layer.saveFeatureInLayer' | translate}}</h1>\n\n<div mat-dialog-content class=\"mat-typography\">\n <form class=\"igo-form\" [formGroup]=\"form\">\n <igo-list [navigation]=\"false\" [selection]=\"false\">\n <igo-search-results-item\n igoListItem\n color=\"accent\"\n [result]=\"feature\"\n showIcons=\"true\">\n </igo-search-results-item>\n </igo-list>\n \n <div class=\"igo-input-container\">\n <mat-form-field>\n <input type=\"text\"\n placeholder=\"{{'igo.geo.layer.chooseOrSet' | translate}}\"\n matInput\n [matAutocomplete]=\"auto\"\n formControlName=\"layerName\">\n <mat-autocomplete [displayWith]=\"displayFn\" #auto=\"matAutocomplete\">\n <mat-option *ngFor=\"let layer of filteredLayers | async\" [value]=\"layer\">\n <p mat-line>{{layer.title}}</p>\n </mat-option>\n </mat-autocomplete>\n </mat-form-field>\n </div>\n </form>\n</div>\n\n<div mat-dialog-actions style=\"justify-content: center\">\n <div class=\"igo-form-button-group create-layer-button-top-padding\">\n <button\n mat-raised-button\n type=\"button\"\n (click)=\"cancel()\">\n {{'igo.geo.layer.cancelBtn' | translate}}\n </button>\n <button\n id=\"createLayerBtnDialog\"\n mat-raised-button\n type=\"button\"\n color=\"primary\"\n (click)=\"save()\">\n {{'igo.geo.layer.saveBtn' | translate}}\n </button>\n </div>\n</div>", styles: ["mat-form-field{width:100%}.create-layer-button-top-padding{padding-top:25px}.igo-form{padding:10px 5px 5px}.igo-form-button-group{text-align:center}button{cursor:pointer}button#createLayerBtnDialog[disabled=true]{cursor:default;background-color:#0000001f;color:#00000042}.error{color:red}\n"] }]
|
|
39611
|
+
}], function () { return [{ type: i2$2.UntypedFormBuilder }, { type: i2$1.LanguageService }, { type: i3.MatDialogRef }, { type: undefined, decorators: [{
|
|
39612
|
+
type: Optional
|
|
39613
|
+
}, {
|
|
39614
|
+
type: Inject,
|
|
39615
|
+
args: [MAT_DIALOG_DATA]
|
|
39616
|
+
}] }]; }, null); })();
|
|
39617
|
+
|
|
39203
39618
|
function SearchResultAddButtonComponent_button_0_Template(rf, ctx) { if (rf & 1) {
|
|
39204
|
-
const
|
|
39205
|
-
i0.ɵɵelementStart(0, "button",
|
|
39206
|
-
i0.ɵɵlistener("mouseenter", function SearchResultAddButtonComponent_button_0_Template_button_mouseenter_0_listener($event) { i0.ɵɵrestoreView(
|
|
39619
|
+
const _r3 = i0.ɵɵgetCurrentView();
|
|
39620
|
+
i0.ɵɵelementStart(0, "button", 2);
|
|
39621
|
+
i0.ɵɵlistener("mouseenter", function SearchResultAddButtonComponent_button_0_Template_button_mouseenter_0_listener($event) { i0.ɵɵrestoreView(_r3); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.onMouseEvent($event)); })("mouseleave", function SearchResultAddButtonComponent_button_0_Template_button_mouseleave_0_listener($event) { i0.ɵɵrestoreView(_r3); const ctx_r4 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r4.onMouseEvent($event)); })("click", function SearchResultAddButtonComponent_button_0_Template_button_click_0_listener($event) { i0.ɵɵrestoreView(_r3); const ctx_r5 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r5.onToggleClick($event)); });
|
|
39207
39622
|
i0.ɵɵpipe(1, "translate");
|
|
39208
39623
|
i0.ɵɵpipe(2, "async");
|
|
39209
|
-
i0.ɵɵ
|
|
39210
|
-
i0.ɵɵ
|
|
39624
|
+
i0.ɵɵelement(3, "mat-icon", 3);
|
|
39625
|
+
i0.ɵɵpipe(4, "async");
|
|
39211
39626
|
i0.ɵɵpipe(5, "async");
|
|
39212
39627
|
i0.ɵɵpipe(6, "async");
|
|
39628
|
+
i0.ɵɵpipe(7, "async");
|
|
39629
|
+
i0.ɵɵpipe(8, "async");
|
|
39630
|
+
i0.ɵɵpipe(9, "async");
|
|
39631
|
+
i0.ɵɵpipe(10, "async");
|
|
39213
39632
|
i0.ɵɵelementEnd();
|
|
39214
39633
|
} if (rf & 2) {
|
|
39215
39634
|
const ctx_r0 = i0.ɵɵnextContext();
|
|
39216
|
-
i0.ɵɵproperty("matTooltip", i0.ɵɵpipeBind1(1,
|
|
39217
|
-
i0.ɵɵadvance(
|
|
39218
|
-
i0.ɵɵproperty("matBadgeHidden", i0.ɵɵpipeBind1(
|
|
39635
|
+
i0.ɵɵproperty("matTooltip", i0.ɵɵpipeBind1(1, 6, ctx_r0.computeTooltip()))("color", i0.ɵɵpipeBind1(2, 8, ctx_r0.isPreview$) ? "" : ctx_r0.added ? "warn" : "");
|
|
39636
|
+
i0.ɵɵadvance(3);
|
|
39637
|
+
i0.ɵɵproperty("igoMatBadgeIcon", ctx_r0.getBadgeIcon())("matBadgeHidden", i0.ɵɵpipeBind1(4, 10, ctx_r0.inRange$) && i0.ɵɵpipeBind1(5, 12, ctx_r0.isVisible$) === true || i0.ɵɵpipeBind1(6, 14, ctx_r0.inRange$) && !ctx_r0.added || i0.ɵɵpipeBind1(7, 16, ctx_r0.inRange$) && i0.ɵɵpipeBind1(8, 18, ctx_r0.isPreview$))("matBadgeDisabled", i0.ɵɵpipeBind1(9, 20, ctx_r0.inRange$) === false)("svgIcon", i0.ɵɵpipeBind1(10, 22, ctx_r0.isPreview$) ? "plus" : ctx_r0.added ? "delete" : "plus");
|
|
39638
|
+
} }
|
|
39639
|
+
function SearchResultAddButtonComponent_button_1_Template(rf, ctx) { if (rf & 1) {
|
|
39640
|
+
const _r7 = i0.ɵɵgetCurrentView();
|
|
39641
|
+
i0.ɵɵelementStart(0, "button", 4);
|
|
39642
|
+
i0.ɵɵlistener("click", function SearchResultAddButtonComponent_button_1_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r7); const ctx_r6 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r6.addFeatureToLayer()); });
|
|
39643
|
+
i0.ɵɵpipe(1, "translate");
|
|
39644
|
+
i0.ɵɵpipe(2, "async");
|
|
39645
|
+
i0.ɵɵelement(3, "mat-icon", 5);
|
|
39646
|
+
i0.ɵɵpipe(4, "async");
|
|
39647
|
+
i0.ɵɵelementEnd();
|
|
39648
|
+
} if (rf & 2) {
|
|
39649
|
+
const ctx_r1 = i0.ɵɵnextContext();
|
|
39650
|
+
i0.ɵɵproperty("matTooltip", i0.ɵɵpipeBind1(1, 2, i0.ɵɵpipeBind1(2, 4, ctx_r1.addFeatureToLayerTooltip$)));
|
|
39651
|
+
i0.ɵɵadvance(3);
|
|
39652
|
+
i0.ɵɵproperty("matBadgeHidden", i0.ɵɵpipeBind1(4, 6, ctx_r1.inRange$));
|
|
39219
39653
|
} }
|
|
39220
39654
|
class SearchResultAddButtonComponent {
|
|
39221
|
-
constructor(layerService) {
|
|
39655
|
+
constructor(layerService, dialog, dataSourceService) {
|
|
39222
39656
|
this.layerService = layerService;
|
|
39657
|
+
this.dialog = dialog;
|
|
39658
|
+
this.dataSourceService = dataSourceService;
|
|
39223
39659
|
this.tooltip$ = new BehaviorSubject('igo.geo.catalog.layer.addToMap');
|
|
39660
|
+
this.addFeatureToLayerTooltip$ = new BehaviorSubject('igo.geo.search.addToLayer');
|
|
39224
39661
|
this.inRange$ = new BehaviorSubject(true);
|
|
39662
|
+
this.isVisible$ = new BehaviorSubject(false);
|
|
39225
39663
|
this.isPreview$ = new BehaviorSubject(false);
|
|
39226
39664
|
this.layersSubcriptions = [];
|
|
39227
39665
|
this.mouseInsideAdd = false;
|
|
39228
39666
|
this._color = 'primary';
|
|
39667
|
+
this.stores = [];
|
|
39229
39668
|
}
|
|
39230
39669
|
get color() {
|
|
39231
39670
|
return this._color;
|
|
@@ -39233,6 +39672,9 @@ class SearchResultAddButtonComponent {
|
|
|
39233
39672
|
set color(value) {
|
|
39234
39673
|
this._color = value;
|
|
39235
39674
|
}
|
|
39675
|
+
get allLayers() {
|
|
39676
|
+
return this.map.layers.filter((layer) => layer.id.includes('igo-search-layer'));
|
|
39677
|
+
}
|
|
39236
39678
|
/**
|
|
39237
39679
|
* @internal
|
|
39238
39680
|
*/
|
|
@@ -39241,13 +39683,17 @@ class SearchResultAddButtonComponent {
|
|
|
39241
39683
|
this.added =
|
|
39242
39684
|
this.map.layers.findIndex(lay => lay.id === this.layer.data.sourceOptions.id) !== -1;
|
|
39243
39685
|
}
|
|
39686
|
+
this.layers$$ = this.map.layers$.subscribe(() => {
|
|
39687
|
+
this.isVisible();
|
|
39688
|
+
});
|
|
39244
39689
|
this.resolution$$ = this.map.viewController.resolution$.subscribe(value => {
|
|
39245
39690
|
this.isInResolutionsRange(value);
|
|
39246
|
-
this.
|
|
39691
|
+
this.isVisible();
|
|
39247
39692
|
});
|
|
39248
39693
|
}
|
|
39249
39694
|
ngOnDestroy() {
|
|
39250
39695
|
this.resolution$$.unsubscribe();
|
|
39696
|
+
this.layers$$.unsubscribe();
|
|
39251
39697
|
}
|
|
39252
39698
|
/**
|
|
39253
39699
|
* On mouse event, mouseenter /mouseleave
|
|
@@ -39349,11 +39795,33 @@ class SearchResultAddButtonComponent {
|
|
|
39349
39795
|
const maxResolution = this.layer.data.maxResolution || Infinity;
|
|
39350
39796
|
this.inRange$.next(resolution >= minResolution && resolution <= maxResolution);
|
|
39351
39797
|
}
|
|
39798
|
+
isVisible() {
|
|
39799
|
+
if (this.layer?.data?.sourceOptions?.id) {
|
|
39800
|
+
const oLayer = this.map.getLayerById(this.layer.data.sourceOptions.id);
|
|
39801
|
+
oLayer ? this.isVisible$.next(oLayer.visible) : this.isVisible$.next(false);
|
|
39802
|
+
}
|
|
39803
|
+
}
|
|
39804
|
+
getBadgeIcon() {
|
|
39805
|
+
if (this.inRange$.value) {
|
|
39806
|
+
return this.isVisible$.value ? '' : 'eye-off';
|
|
39807
|
+
}
|
|
39808
|
+
else {
|
|
39809
|
+
return 'eye-off';
|
|
39810
|
+
}
|
|
39811
|
+
}
|
|
39352
39812
|
computeTooltip() {
|
|
39353
39813
|
if (this.added) {
|
|
39354
|
-
|
|
39355
|
-
|
|
39356
|
-
|
|
39814
|
+
if (this.isPreview$.value) {
|
|
39815
|
+
return 'igo.geo.catalog.layer.addToMap';
|
|
39816
|
+
}
|
|
39817
|
+
else if (this.inRange$.value) {
|
|
39818
|
+
return this.isVisible$.value
|
|
39819
|
+
? 'igo.geo.catalog.layer.removeFromMap'
|
|
39820
|
+
: 'igo.geo.catalog.layer.removeFromMapNotVisible';
|
|
39821
|
+
}
|
|
39822
|
+
else {
|
|
39823
|
+
return 'igo.geo.catalog.layer.removeFromMapOutRange';
|
|
39824
|
+
}
|
|
39357
39825
|
}
|
|
39358
39826
|
else {
|
|
39359
39827
|
return this.inRange$.value
|
|
@@ -39361,17 +39829,133 @@ class SearchResultAddButtonComponent {
|
|
|
39361
39829
|
: 'igo.geo.catalog.layer.addToMapOutRange';
|
|
39362
39830
|
}
|
|
39363
39831
|
}
|
|
39832
|
+
addFeatureToLayer() {
|
|
39833
|
+
if (this.layer.meta.dataType !== 'Feature') {
|
|
39834
|
+
return;
|
|
39835
|
+
}
|
|
39836
|
+
const selectedFeature = this.layer;
|
|
39837
|
+
const dialogRef = this.dialog.open(SaveFeatureDialogComponent, {
|
|
39838
|
+
width: '700px',
|
|
39839
|
+
data: {
|
|
39840
|
+
feature: selectedFeature,
|
|
39841
|
+
layers: this.allLayers
|
|
39842
|
+
}
|
|
39843
|
+
});
|
|
39844
|
+
dialogRef.afterClosed().subscribe((data) => {
|
|
39845
|
+
if (data) {
|
|
39846
|
+
if (this.stores.length > 0) {
|
|
39847
|
+
this.stores.map((store) => {
|
|
39848
|
+
store.state.updateAll({ selected: false });
|
|
39849
|
+
(store?.layer).visible = false;
|
|
39850
|
+
return store;
|
|
39851
|
+
});
|
|
39852
|
+
}
|
|
39853
|
+
// check if is new layer
|
|
39854
|
+
if (typeof data.layer === 'string') {
|
|
39855
|
+
this.createLayer(data.layer, data.feature);
|
|
39856
|
+
}
|
|
39857
|
+
else {
|
|
39858
|
+
const activeStore = this.stores.find(store => store.layer.id === data.layer.id);
|
|
39859
|
+
activeStore.layer.visible = true;
|
|
39860
|
+
activeStore.layer.opacity = 1;
|
|
39861
|
+
this.addFeature(data.feature, activeStore);
|
|
39862
|
+
}
|
|
39863
|
+
}
|
|
39864
|
+
});
|
|
39865
|
+
}
|
|
39866
|
+
createLayer(layerTitle, selectedFeature) {
|
|
39867
|
+
const activeStore = new FeatureStore([], {
|
|
39868
|
+
map: this.map
|
|
39869
|
+
});
|
|
39870
|
+
// set layer id
|
|
39871
|
+
let layerCounterID = 0;
|
|
39872
|
+
for (const layer of this.allLayers) {
|
|
39873
|
+
let numberId = Number(layer.id.replace('igo-search-layer', ''));
|
|
39874
|
+
layerCounterID = Math.max(numberId, layerCounterID);
|
|
39875
|
+
}
|
|
39876
|
+
this.dataSourceService
|
|
39877
|
+
.createAsyncDataSource({
|
|
39878
|
+
type: 'vector',
|
|
39879
|
+
queryable: true
|
|
39880
|
+
})
|
|
39881
|
+
.pipe(take$1(1))
|
|
39882
|
+
.subscribe((dataSource) => {
|
|
39883
|
+
let searchLayer = new VectorLayer({
|
|
39884
|
+
isIgoInternalLayer: true,
|
|
39885
|
+
id: 'igo-search-layer' + ++layerCounterID,
|
|
39886
|
+
title: layerTitle,
|
|
39887
|
+
source: dataSource,
|
|
39888
|
+
style: createOverlayDefaultStyle({
|
|
39889
|
+
text: '',
|
|
39890
|
+
strokeWidth: 1,
|
|
39891
|
+
fillColor: 'rgba(255,255,255,0.4)',
|
|
39892
|
+
strokeColor: 'rgba(143,7,7,1)'
|
|
39893
|
+
}),
|
|
39894
|
+
showInLayerList: true,
|
|
39895
|
+
exportable: true,
|
|
39896
|
+
workspace: {
|
|
39897
|
+
enabled: true
|
|
39898
|
+
}
|
|
39899
|
+
});
|
|
39900
|
+
tryBindStoreLayer(activeStore, searchLayer);
|
|
39901
|
+
tryAddLoadingStrategy(activeStore, new FeatureStoreLoadingStrategy({
|
|
39902
|
+
motion: FeatureMotion.None
|
|
39903
|
+
}));
|
|
39904
|
+
tryAddSelectionStrategy(activeStore, new FeatureStoreSelectionStrategy({
|
|
39905
|
+
map: this.map,
|
|
39906
|
+
motion: FeatureMotion.None,
|
|
39907
|
+
many: true
|
|
39908
|
+
}));
|
|
39909
|
+
activeStore.layer.visible = true;
|
|
39910
|
+
activeStore.source.ol.on('removefeature', (event) => {
|
|
39911
|
+
const olGeometry = event.feature.getGeometry();
|
|
39912
|
+
this.clearLabelsOfOlGeometry(olGeometry);
|
|
39913
|
+
});
|
|
39914
|
+
this.addFeature(selectedFeature, activeStore);
|
|
39915
|
+
this.stores.push(activeStore);
|
|
39916
|
+
});
|
|
39917
|
+
}
|
|
39918
|
+
addFeature(feature, activeStore) {
|
|
39919
|
+
const newFeature = {
|
|
39920
|
+
type: feature.data.type,
|
|
39921
|
+
geometry: {
|
|
39922
|
+
coordinates: feature.data.geometry.coordinates,
|
|
39923
|
+
type: feature.data.geometry.type
|
|
39924
|
+
},
|
|
39925
|
+
projection: feature.data.projection,
|
|
39926
|
+
properties: feature.data.properties,
|
|
39927
|
+
meta: {
|
|
39928
|
+
id: feature.meta.id
|
|
39929
|
+
}
|
|
39930
|
+
};
|
|
39931
|
+
delete newFeature.properties.Route;
|
|
39932
|
+
activeStore.update(newFeature);
|
|
39933
|
+
activeStore.setLayerExtent();
|
|
39934
|
+
activeStore.layer.ol.getSource().refresh();
|
|
39935
|
+
}
|
|
39936
|
+
clearLabelsOfOlGeometry(olGeometry) {
|
|
39937
|
+
getTooltipsOfOlGeometry(olGeometry).forEach((olTooltip) => {
|
|
39938
|
+
if (olTooltip && olTooltip.getMap()) {
|
|
39939
|
+
this.map.ol.removeOverlay(olTooltip);
|
|
39940
|
+
}
|
|
39941
|
+
});
|
|
39942
|
+
}
|
|
39364
39943
|
}
|
|
39365
|
-
SearchResultAddButtonComponent.ɵfac = function SearchResultAddButtonComponent_Factory(t) { return new (t || SearchResultAddButtonComponent)(i0.ɵɵdirectiveInject(LayerService)); };
|
|
39366
|
-
SearchResultAddButtonComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: SearchResultAddButtonComponent, selectors: [["igo-search-add-button"]], inputs: { layer: "layer", added: "added", map: "map", color: "color" }, decls:
|
|
39367
|
-
i0.ɵɵtemplate(0, SearchResultAddButtonComponent_button_0_Template,
|
|
39944
|
+
SearchResultAddButtonComponent.ɵfac = function SearchResultAddButtonComponent_Factory(t) { return new (t || SearchResultAddButtonComponent)(i0.ɵɵdirectiveInject(LayerService), i0.ɵɵdirectiveInject(i3.MatDialog), i0.ɵɵdirectiveInject(DataSourceService)); };
|
|
39945
|
+
SearchResultAddButtonComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: SearchResultAddButtonComponent, selectors: [["igo-search-add-button"]], inputs: { layer: "layer", store: "store", added: "added", map: "map", color: "color", stores: "stores" }, decls: 2, vars: 2, consts: [["igoStopPropagation", "", "mat-icon-button", "", "tooltip-position", "below", "matTooltipShowDelay", "500", 3, "matTooltip", "color", "mouseenter", "mouseleave", "click", 4, "ngIf"], ["igoStopPropagation", "", "mat-icon-button", "", "tooltip-position", "below", "matTooltipShowDelay", "500", 3, "matTooltip", "click", 4, "ngIf"], ["igoStopPropagation", "", "mat-icon-button", "", "tooltip-position", "below", "matTooltipShowDelay", "500", 3, "matTooltip", "color", "mouseenter", "mouseleave", "click"], ["matBadge", "icon", "igoMatBadgeColor", "rgba(0,0,0,0.87)", "igoMatBadgeBackgroundColor", "none", "igoMatBadgeInverseColor", "true", "matBadgeSize", "small", "matBadgePosition", "after", 3, "igoMatBadgeIcon", "matBadgeHidden", "matBadgeDisabled", "svgIcon"], ["igoStopPropagation", "", "mat-icon-button", "", "tooltip-position", "below", "matTooltipShowDelay", "500", 3, "matTooltip", "click"], ["matBadge", "icon", "igoMatBadgeIcon", "eye-off", "igoMatBadgeInverseColor", "true", "matBadgeDisabled", "true", "matBadgeSize", "small", "matBadgePosition", "after", "svgIcon", "file-plus-outline", 3, "matBadgeHidden"]], template: function SearchResultAddButtonComponent_Template(rf, ctx) { if (rf & 1) {
|
|
39946
|
+
i0.ɵɵtemplate(0, SearchResultAddButtonComponent_button_0_Template, 11, 24, "button", 0);
|
|
39947
|
+
i0.ɵɵtemplate(1, SearchResultAddButtonComponent_button_1_Template, 5, 8, "button", 1);
|
|
39368
39948
|
} if (rf & 2) {
|
|
39369
39949
|
i0.ɵɵproperty("ngIf", ctx.layer.meta.dataType === "Layer");
|
|
39370
|
-
|
|
39950
|
+
i0.ɵɵadvance(1);
|
|
39951
|
+
i0.ɵɵproperty("ngIf", ctx.layer.meta.dataType === "Feature");
|
|
39952
|
+
} }, dependencies: [i1.NgIf, i7$1.MatBadge, i4.MatTooltip, i2.MatIcon, i3$1.MatButton, i5$1.StopPropagationDirective, i5$1.IgoBadgeIconDirective, i1.AsyncPipe, i7.TranslatePipe], changeDetection: 0 });
|
|
39371
39953
|
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(SearchResultAddButtonComponent, [{
|
|
39372
39954
|
type: Component,
|
|
39373
|
-
args: [{ selector: 'igo-search-add-button', changeDetection: ChangeDetectionStrategy.OnPush, template: "<button\nigoStopPropagation\n(mouseenter)=\"onMouseEvent($event)\" (mouseleave)=\"onMouseEvent($event)\"\n*ngIf=\"layer.meta.dataType === 'Layer'\"\nmat-icon-button\ntooltip-position=\"below\"\nmatTooltipShowDelay=\"500\"\n[matTooltip]=\"(
|
|
39374
|
-
}], function () { return [{ type: LayerService }]; }, { layer: [{
|
|
39955
|
+
args: [{ selector: 'igo-search-add-button', changeDetection: ChangeDetectionStrategy.OnPush, template: "<button\nigoStopPropagation\n(mouseenter)=\"onMouseEvent($event)\" (mouseleave)=\"onMouseEvent($event)\"\n*ngIf=\"layer.meta.dataType === 'Layer'\"\nmat-icon-button\ntooltip-position=\"below\"\nmatTooltipShowDelay=\"500\"\n[matTooltip]=\"computeTooltip() | translate\"\n[color]=\"(isPreview$ | async) ? '' : added ? 'warn' : ''\"\n(click)=\"onToggleClick($event)\">\n<mat-icon\n matBadge=\"icon\"\n [igoMatBadgeIcon]=\"getBadgeIcon()\"\n igoMatBadgeColor=\"rgba(0,0,0,0.87)\"\n igoMatBadgeBackgroundColor=\"none\"\n igoMatBadgeInverseColor=\"true\"\n [matBadgeHidden]=\"((inRange$ | async) && (isVisible$ | async) === true) || ((inRange$ | async) && !added) || ((inRange$ | async) && (isPreview$ | async))\"\n [matBadgeDisabled]=\"(inRange$ | async) === false\"\n matBadgeSize=\"small\"\n matBadgePosition=\"after\"\n [svgIcon]=\"(isPreview$ | async) ? 'plus' : added ? 'delete' : 'plus'\">\n</mat-icon>\n</button>\n\n<button\nigoStopPropagation\n*ngIf=\"layer.meta.dataType === 'Feature'\"\nmat-icon-button\ntooltip-position=\"below\"\nmatTooltipShowDelay=\"500\"\n[matTooltip]=\"(addFeatureToLayerTooltip$ | async) | translate\"\n(click)=\"addFeatureToLayer()\">\n<mat-icon\n matBadge=\"icon\"\n igoMatBadgeIcon=\"eye-off\"\n igoMatBadgeInverseColor=\"true\"\n [matBadgeHidden]=\"(inRange$ | async)\"\n matBadgeDisabled=\"true\"\n matBadgeSize=\"small\"\n matBadgePosition=\"after\"\n svgIcon=\"file-plus-outline\">\n</mat-icon>\n</button>\n" }]
|
|
39956
|
+
}], function () { return [{ type: LayerService }, { type: i3.MatDialog }, { type: DataSourceService }]; }, { layer: [{
|
|
39957
|
+
type: Input
|
|
39958
|
+
}], store: [{
|
|
39375
39959
|
type: Input
|
|
39376
39960
|
}], added: [{
|
|
39377
39961
|
type: Input
|
|
@@ -39379,6 +39963,8 @@ SearchResultAddButtonComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ ty
|
|
|
39379
39963
|
type: Input
|
|
39380
39964
|
}], color: [{
|
|
39381
39965
|
type: Input
|
|
39966
|
+
}], stores: [{
|
|
39967
|
+
type: Input
|
|
39382
39968
|
}] }); })();
|
|
39383
39969
|
|
|
39384
39970
|
/**
|
|
@@ -39394,12 +39980,18 @@ IgoSearchResultsModule.ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ imports: [C
|
|
|
39394
39980
|
MatIconModule,
|
|
39395
39981
|
MatListModule,
|
|
39396
39982
|
MatButtonModule,
|
|
39983
|
+
MatDialogModule,
|
|
39397
39984
|
IgoCollapsibleModule,
|
|
39398
39985
|
IgoListModule,
|
|
39399
39986
|
IgoStopPropagationModule,
|
|
39400
39987
|
IgoLanguageModule,
|
|
39401
39988
|
IgoMatBadgeIconModule,
|
|
39402
|
-
IgoMetadataModule
|
|
39989
|
+
IgoMetadataModule,
|
|
39990
|
+
MatFormFieldModule,
|
|
39991
|
+
ReactiveFormsModule,
|
|
39992
|
+
MatInputModule,
|
|
39993
|
+
MatSelectModule,
|
|
39994
|
+
MatAutocompleteModule] });
|
|
39403
39995
|
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(IgoSearchResultsModule, [{
|
|
39404
39996
|
type: NgModule,
|
|
39405
39997
|
args: [{
|
|
@@ -39410,12 +40002,18 @@ IgoSearchResultsModule.ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ imports: [C
|
|
|
39410
40002
|
MatIconModule,
|
|
39411
40003
|
MatListModule,
|
|
39412
40004
|
MatButtonModule,
|
|
40005
|
+
MatDialogModule,
|
|
39413
40006
|
IgoCollapsibleModule,
|
|
39414
40007
|
IgoListModule,
|
|
39415
40008
|
IgoStopPropagationModule,
|
|
39416
40009
|
IgoLanguageModule,
|
|
39417
40010
|
IgoMatBadgeIconModule,
|
|
39418
40011
|
IgoMetadataModule,
|
|
40012
|
+
MatFormFieldModule,
|
|
40013
|
+
ReactiveFormsModule,
|
|
40014
|
+
MatInputModule,
|
|
40015
|
+
MatSelectModule,
|
|
40016
|
+
MatAutocompleteModule,
|
|
39419
40017
|
],
|
|
39420
40018
|
exports: [
|
|
39421
40019
|
SearchResultsComponent,
|
|
@@ -39424,24 +40022,32 @@ IgoSearchResultsModule.ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ imports: [C
|
|
|
39424
40022
|
declarations: [
|
|
39425
40023
|
SearchResultsComponent,
|
|
39426
40024
|
SearchResultsItemComponent,
|
|
39427
|
-
SearchResultAddButtonComponent
|
|
40025
|
+
SearchResultAddButtonComponent,
|
|
40026
|
+
SaveFeatureDialogComponent
|
|
39428
40027
|
]
|
|
39429
40028
|
}]
|
|
39430
40029
|
}], null, null); })();
|
|
39431
40030
|
(function () { (typeof ngJitMode === "undefined" || ngJitMode) && i0.ɵɵsetNgModuleScope(IgoSearchResultsModule, { declarations: [SearchResultsComponent,
|
|
39432
40031
|
SearchResultsItemComponent,
|
|
39433
|
-
SearchResultAddButtonComponent
|
|
40032
|
+
SearchResultAddButtonComponent,
|
|
40033
|
+
SaveFeatureDialogComponent], imports: [CommonModule,
|
|
39434
40034
|
MatBadgeModule,
|
|
39435
40035
|
MatTooltipModule,
|
|
39436
40036
|
MatIconModule,
|
|
39437
40037
|
MatListModule,
|
|
39438
40038
|
MatButtonModule,
|
|
40039
|
+
MatDialogModule,
|
|
39439
40040
|
IgoCollapsibleModule,
|
|
39440
40041
|
IgoListModule,
|
|
39441
40042
|
IgoStopPropagationModule,
|
|
39442
40043
|
IgoLanguageModule,
|
|
39443
40044
|
IgoMatBadgeIconModule,
|
|
39444
|
-
IgoMetadataModule
|
|
40045
|
+
IgoMetadataModule,
|
|
40046
|
+
MatFormFieldModule,
|
|
40047
|
+
ReactiveFormsModule,
|
|
40048
|
+
MatInputModule,
|
|
40049
|
+
MatSelectModule,
|
|
40050
|
+
MatAutocompleteModule], exports: [SearchResultsComponent,
|
|
39445
40051
|
SearchResultAddButtonComponent] }); })();
|
|
39446
40052
|
|
|
39447
40053
|
/**
|
|
@@ -39888,7 +40494,7 @@ ToastComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: ToastCompone
|
|
|
39888
40494
|
i0.ɵɵproperty("ngIf", ctx.feature.geometry);
|
|
39889
40495
|
i0.ɵɵadvance(1);
|
|
39890
40496
|
i0.ɵɵproperty("feature", ctx.feature);
|
|
39891
|
-
} }, dependencies: [i1
|
|
40497
|
+
} }, dependencies: [i1.NgIf, i2.MatIcon, i3$1.MatButton, i5$1.PanelComponent, i5$1.FlexibleComponent, FeatureDetailsComponent], styles: ["[_nghost-%COMP%]{position:absolute;bottom:0px;width:100%;max-height:calc(100% - 50px);background-color:#fff}igo-feature-details[_ngcontent-%COMP%] table{width:100%}"] });
|
|
39892
40498
|
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ToastComponent, [{
|
|
39893
40499
|
type: Component,
|
|
39894
40500
|
args: [{ selector: 'igo-toast', template: "<igo-flexible #flex\n collapsedMobile=\"51px\"\n expandedMobile=\"300px\"\n [state]=\"state\"\n (swipeup)=\"swipe($event.type)\"\n (swipedown)=\"swipe($event.type)\">\n\n <igo-panel [title]=\"title\">\n <button\n mat-icon-button\n panelLeftButton\n (click)=\"toggle()\">\n <mat-icon [svgIcon]=\"['collapsed', 'initial'].indexOf(flex.state) >= 0 ? 'arrow_upward' : 'arrow_downward'\"></mat-icon>\n </button>\n\n <button mat-icon-button panelRightButton class=\"igo-icon-button\" (click)=\"zoomToFeatureExtent()\" *ngIf=\"feature.geometry\">\n <mat-icon svgIcon=\"zoom-in\"></mat-icon>\n </button>\n\n <igo-feature-details [feature]=\"feature\"></igo-feature-details>\n </igo-panel>\n\n</igo-flexible>\n", styles: [":host{position:absolute;bottom:0px;width:100%;max-height:calc(100% - 50px);background-color:#fff}igo-feature-details ::ng-deep table{width:100%}\n"] }]
|
|
@@ -40458,7 +41064,7 @@ class ConfirmationPopupComponent {
|
|
|
40458
41064
|
this.dialogRef.close(this.data.cancel);
|
|
40459
41065
|
}
|
|
40460
41066
|
}
|
|
40461
|
-
ConfirmationPopupComponent.ɵfac = function ConfirmationPopupComponent_Factory(t) { return new (t || ConfirmationPopupComponent)(i0.ɵɵdirectiveInject(
|
|
41067
|
+
ConfirmationPopupComponent.ɵfac = function ConfirmationPopupComponent_Factory(t) { return new (t || ConfirmationPopupComponent)(i0.ɵɵdirectiveInject(i3.MatDialogRef), i0.ɵɵdirectiveInject(i2$1.LanguageService), i0.ɵɵdirectiveInject(MAT_DIALOG_DATA)); };
|
|
40462
41068
|
ConfirmationPopupComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: ConfirmationPopupComponent, selectors: [["igo-confirmation-popup-component"]], decls: 8, vars: 2, consts: [["mat-dialog-content", ""], [1, "mat-typography"], ["mat-dialog-actions", ""], ["mat-raised-button", "", "color", "primary", 3, "click"], ["mat-raised-button", "", 3, "click"]], template: function ConfirmationPopupComponent_Template(rf, ctx) { if (rf & 1) {
|
|
40463
41069
|
i0.ɵɵelementStart(0, "div", 0)(1, "p", 1);
|
|
40464
41070
|
i0.ɵɵtext(2);
|
|
@@ -40476,11 +41082,11 @@ ConfirmationPopupComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type:
|
|
|
40476
41082
|
i0.ɵɵtextInterpolate(ctx.data.type === "add" ? ctx.languageService.translate.instant("igo.geo.workspace.addConfirmation") : ctx.languageService.translate.instant("igo.geo.workspace.deleteConfirmation"));
|
|
40477
41083
|
i0.ɵɵadvance(5);
|
|
40478
41084
|
i0.ɵɵtextInterpolate1("", ctx.languageService.translate.instant("igo.geo.workspace.cancel"), " ");
|
|
40479
|
-
} }, dependencies: [i3.MatButton,
|
|
41085
|
+
} }, dependencies: [i3$1.MatButton, i3.MatDialogContent, i3.MatDialogActions], styles: ["div.mat-dialog-actions[_ngcontent-%COMP%]{justify-content:center}"] });
|
|
40480
41086
|
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ConfirmationPopupComponent, [{
|
|
40481
41087
|
type: Component,
|
|
40482
41088
|
args: [{ selector: 'igo-confirmation-popup-component', template: "<div mat-dialog-content>\n <p class=\"mat-typography\">{{data.type === 'add' ?\n languageService.translate.instant('igo.geo.workspace.addConfirmation') :\n languageService.translate.instant('igo.geo.workspace.deleteConfirmation')}}</p>\n</div>\n<div mat-dialog-actions>\n <button\n mat-raised-button\n color=\"primary\"\n (click)=\"confirmedAction()\">Ok\n </button>\n <button\n mat-raised-button\n (click)=\"cancelAction()\">{{languageService.translate.instant('igo.geo.workspace.cancel')}}\n </button>\n</div>", styles: ["div.mat-dialog-actions{justify-content:center}\n"] }]
|
|
40483
|
-
}], function () { return [{ type:
|
|
41089
|
+
}], function () { return [{ type: i3.MatDialogRef }, { type: i2$1.LanguageService }, { type: undefined, decorators: [{
|
|
40484
41090
|
type: Inject,
|
|
40485
41091
|
args: [MAT_DIALOG_DATA]
|
|
40486
41092
|
}] }]; }, null); })();
|
|
@@ -41369,14 +41975,14 @@ class EditionWorkspaceService {
|
|
|
41369
41975
|
});
|
|
41370
41976
|
}
|
|
41371
41977
|
}
|
|
41372
|
-
EditionWorkspaceService.ɵfac = function EditionWorkspaceService_Factory(t) { return new (t || EditionWorkspaceService)(i0.ɵɵinject(LayerService), i0.ɵɵinject(i2$1.StorageService), i0.ɵɵinject(i2$1.ConfigService), i0.ɵɵinject(i2$1.MessageService), i0.ɵɵinject(i2$1.LanguageService), i0.ɵɵinject(i1$
|
|
41978
|
+
EditionWorkspaceService.ɵfac = function EditionWorkspaceService_Factory(t) { return new (t || EditionWorkspaceService)(i0.ɵɵinject(LayerService), i0.ɵɵinject(i2$1.StorageService), i0.ɵɵinject(i2$1.ConfigService), i0.ɵɵinject(i2$1.MessageService), i0.ɵɵinject(i2$1.LanguageService), i0.ɵɵinject(i1$1.HttpClient), i0.ɵɵinject(i3.MatDialog), i0.ɵɵinject(StyleService), i0.ɵɵinject(i6.AuthInterceptor)); };
|
|
41373
41979
|
EditionWorkspaceService.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: EditionWorkspaceService, factory: EditionWorkspaceService.ɵfac, providedIn: 'root' });
|
|
41374
41980
|
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(EditionWorkspaceService, [{
|
|
41375
41981
|
type: Injectable,
|
|
41376
41982
|
args: [{
|
|
41377
41983
|
providedIn: 'root'
|
|
41378
41984
|
}]
|
|
41379
|
-
}], function () { return [{ type: LayerService }, { type: i2$1.StorageService }, { type: i2$1.ConfigService }, { type: i2$1.MessageService }, { type: i2$1.LanguageService }, { type: i1$
|
|
41985
|
+
}], function () { return [{ type: LayerService }, { type: i2$1.StorageService }, { type: i2$1.ConfigService }, { type: i2$1.MessageService }, { type: i2$1.LanguageService }, { type: i1$1.HttpClient }, { type: i3.MatDialog }, { type: StyleService }, { type: i6.AuthInterceptor }]; }, null); })();
|
|
41380
41986
|
function getColumnKeyWithoutPropertiesTag(column) {
|
|
41381
41987
|
if (column.includes('properties.')) {
|
|
41382
41988
|
return column.split('.')[1];
|
|
@@ -42116,7 +42722,7 @@ class OsrmDirectionsSource extends DirectionsSource {
|
|
|
42116
42722
|
}
|
|
42117
42723
|
}
|
|
42118
42724
|
OsrmDirectionsSource._name = 'OSRM Québec';
|
|
42119
|
-
OsrmDirectionsSource.ɵfac = function OsrmDirectionsSource_Factory(t) { return new (t || OsrmDirectionsSource)(i0.ɵɵinject(i1$
|
|
42725
|
+
OsrmDirectionsSource.ɵfac = function OsrmDirectionsSource_Factory(t) { return new (t || OsrmDirectionsSource)(i0.ɵɵinject(i1$1.HttpClient), i0.ɵɵinject(i2$1.ConfigService)); };
|
|
42120
42726
|
OsrmDirectionsSource.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: OsrmDirectionsSource, factory: OsrmDirectionsSource.ɵfac });
|
|
42121
42727
|
__decorate([
|
|
42122
42728
|
Cacheable({
|
|
@@ -42125,7 +42731,7 @@ __decorate([
|
|
|
42125
42731
|
], OsrmDirectionsSource.prototype, "route", null);
|
|
42126
42732
|
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(OsrmDirectionsSource, [{
|
|
42127
42733
|
type: Injectable
|
|
42128
|
-
}], function () { return [{ type: i1$
|
|
42734
|
+
}], function () { return [{ type: i1$1.HttpClient }, { type: i2$1.ConfigService }]; }, { route: [] }); })();
|
|
42129
42735
|
|
|
42130
42736
|
function osrmDirectionsSourcesFactory(http, config) {
|
|
42131
42737
|
return new OsrmDirectionsSource(http, config);
|
|
@@ -42366,7 +42972,7 @@ class NominatimSearchSource extends SearchSource {
|
|
|
42366
42972
|
}
|
|
42367
42973
|
NominatimSearchSource.id = 'nominatim';
|
|
42368
42974
|
NominatimSearchSource.type = FEATURE;
|
|
42369
|
-
NominatimSearchSource.ɵfac = function NominatimSearchSource_Factory(t) { return new (t || NominatimSearchSource)(i0.ɵɵinject(i1$
|
|
42975
|
+
NominatimSearchSource.ɵfac = function NominatimSearchSource_Factory(t) { return new (t || NominatimSearchSource)(i0.ɵɵinject(i1$1.HttpClient), i0.ɵɵinject('options'), i0.ɵɵinject(i2$1.StorageService)); };
|
|
42370
42976
|
NominatimSearchSource.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: NominatimSearchSource, factory: NominatimSearchSource.ɵfac });
|
|
42371
42977
|
__decorate([
|
|
42372
42978
|
Cacheable({
|
|
@@ -42375,7 +42981,7 @@ __decorate([
|
|
|
42375
42981
|
], NominatimSearchSource.prototype, "search", null);
|
|
42376
42982
|
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(NominatimSearchSource, [{
|
|
42377
42983
|
type: Injectable
|
|
42378
|
-
}], function () { return [{ type: i1$
|
|
42984
|
+
}], function () { return [{ type: i1$1.HttpClient }, { type: undefined, decorators: [{
|
|
42379
42985
|
type: Inject,
|
|
42380
42986
|
args: ['options']
|
|
42381
42987
|
}] }, { type: i2$1.StorageService }]; }, { search: [] }); })();
|
|
@@ -42641,7 +43247,7 @@ StoredQueriesSearchSource.propertiesBlacklist = [
|
|
|
42641
43247
|
'coord_x',
|
|
42642
43248
|
'coord_y'
|
|
42643
43249
|
];
|
|
42644
|
-
StoredQueriesSearchSource.ɵfac = function StoredQueriesSearchSource_Factory(t) { return new (t || StoredQueriesSearchSource)(i0.ɵɵinject(i1$
|
|
43250
|
+
StoredQueriesSearchSource.ɵfac = function StoredQueriesSearchSource_Factory(t) { return new (t || StoredQueriesSearchSource)(i0.ɵɵinject(i1$1.HttpClient), i0.ɵɵinject(i2$1.LanguageService), i0.ɵɵinject(i2$1.StorageService), i0.ɵɵinject('options')); };
|
|
42645
43251
|
StoredQueriesSearchSource.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: StoredQueriesSearchSource, factory: StoredQueriesSearchSource.ɵfac });
|
|
42646
43252
|
__decorate([
|
|
42647
43253
|
Cacheable({
|
|
@@ -42650,7 +43256,7 @@ __decorate([
|
|
|
42650
43256
|
], StoredQueriesSearchSource.prototype, "search", null);
|
|
42651
43257
|
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(StoredQueriesSearchSource, [{
|
|
42652
43258
|
type: Injectable
|
|
42653
|
-
}], function () { return [{ type: i1$
|
|
43259
|
+
}], function () { return [{ type: i1$1.HttpClient }, { type: i2$1.LanguageService }, { type: i2$1.StorageService }, { type: undefined, decorators: [{
|
|
42654
43260
|
type: Inject,
|
|
42655
43261
|
args: ['options']
|
|
42656
43262
|
}] }]; }, { search: [] }); })();
|
|
@@ -42797,7 +43403,7 @@ class StoredQueriesReverseSearchSource extends SearchSource {
|
|
|
42797
43403
|
StoredQueriesReverseSearchSource.id = 'storedqueriesreverse';
|
|
42798
43404
|
StoredQueriesReverseSearchSource.type = FEATURE;
|
|
42799
43405
|
StoredQueriesReverseSearchSource.propertiesBlacklist = [];
|
|
42800
|
-
StoredQueriesReverseSearchSource.ɵfac = function StoredQueriesReverseSearchSource_Factory(t) { return new (t || StoredQueriesReverseSearchSource)(i0.ɵɵinject(i1$
|
|
43406
|
+
StoredQueriesReverseSearchSource.ɵfac = function StoredQueriesReverseSearchSource_Factory(t) { return new (t || StoredQueriesReverseSearchSource)(i0.ɵɵinject(i1$1.HttpClient), i0.ɵɵinject(i2$1.LanguageService), i0.ɵɵinject(i2$1.StorageService), i0.ɵɵinject('options')); };
|
|
42801
43407
|
StoredQueriesReverseSearchSource.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: StoredQueriesReverseSearchSource, factory: StoredQueriesReverseSearchSource.ɵfac });
|
|
42802
43408
|
__decorate([
|
|
42803
43409
|
Cacheable({
|
|
@@ -42806,7 +43412,7 @@ __decorate([
|
|
|
42806
43412
|
], StoredQueriesReverseSearchSource.prototype, "reverseSearch", null);
|
|
42807
43413
|
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(StoredQueriesReverseSearchSource, [{
|
|
42808
43414
|
type: Injectable
|
|
42809
|
-
}], function () { return [{ type: i1$
|
|
43415
|
+
}], function () { return [{ type: i1$1.HttpClient }, { type: i2$1.LanguageService }, { type: i2$1.StorageService }, { type: undefined, decorators: [{
|
|
42810
43416
|
type: Inject,
|
|
42811
43417
|
args: ['options']
|
|
42812
43418
|
}] }]; }, { reverseSearch: [] }); })();
|
|
@@ -42962,14 +43568,14 @@ class ConfigFileToGeoDBService {
|
|
|
42962
43568
|
return typeof value === 'string' && regex.test(value.toLowerCase());
|
|
42963
43569
|
}
|
|
42964
43570
|
}
|
|
42965
|
-
ConfigFileToGeoDBService.ɵfac = function ConfigFileToGeoDBService_Factory(t) { return new (t || ConfigFileToGeoDBService)(i0.ɵɵinject(i1$
|
|
43571
|
+
ConfigFileToGeoDBService.ɵfac = function ConfigFileToGeoDBService_Factory(t) { return new (t || ConfigFileToGeoDBService)(i0.ɵɵinject(i1$1.HttpClient), i0.ɵɵinject(GeoDBService), i0.ɵɵinject(i2$1.MessageService)); };
|
|
42966
43572
|
ConfigFileToGeoDBService.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: ConfigFileToGeoDBService, factory: ConfigFileToGeoDBService.ɵfac, providedIn: 'root' });
|
|
42967
43573
|
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ConfigFileToGeoDBService, [{
|
|
42968
43574
|
type: Injectable,
|
|
42969
43575
|
args: [{
|
|
42970
43576
|
providedIn: 'root'
|
|
42971
43577
|
}]
|
|
42972
|
-
}], function () { return [{ type: i1$
|
|
43578
|
+
}], function () { return [{ type: i1$1.HttpClient }, { type: GeoDBService }, { type: i2$1.MessageService }]; }, null); })();
|
|
42973
43579
|
|
|
42974
43580
|
/*
|
|
42975
43581
|
* Public API Surface of geo
|