@igo2/geo 1.13.2 → 1.13.3
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/datasource/shared/datasources/wms-datasource.mjs +2 -1
- package/esm2020/lib/draw/draw/draw-layer-popup.component.mjs +55 -0
- package/esm2020/lib/draw/draw/draw.component.mjs +417 -173
- package/esm2020/lib/draw/draw/draw.module.mjs +4 -3
- package/esm2020/lib/draw/shared/draw.interface.mjs +1 -1
- package/esm2020/lib/feature/feature-details/feature-details.component.mjs +12 -10
- package/esm2020/lib/import-export/shared/import.interface.mjs +1 -1
- package/fesm2015/igo2-geo.mjs +510 -203
- package/fesm2015/igo2-geo.mjs.map +1 -1
- package/fesm2020/igo2-geo.mjs +496 -203
- package/fesm2020/igo2-geo.mjs.map +1 -1
- package/lib/draw/draw/draw-layer-popup.component.d.ts +14 -0
- package/lib/draw/draw/draw.component.d.ts +38 -10
- package/lib/draw/draw/draw.module.d.ts +22 -21
- package/lib/draw/shared/draw.interface.d.ts +6 -0
- package/lib/feature/feature-details/feature-details.component.d.ts +2 -3
- package/lib/import-export/shared/import.interface.d.ts +1 -0
- package/package.json +4 -4
package/fesm2020/igo2-geo.mjs
CHANGED
|
@@ -116,7 +116,7 @@ import * as i14 from '@angular/material/input';
|
|
|
116
116
|
import { MatInputModule } from '@angular/material/input';
|
|
117
117
|
import * as i7$2 from '@angular/material/menu';
|
|
118
118
|
import { MatMenuModule } from '@angular/material/menu';
|
|
119
|
-
import * as
|
|
119
|
+
import * as i23 from '@angular/material/slide-toggle';
|
|
120
120
|
import { MatSlideToggleModule } from '@angular/material/slide-toggle';
|
|
121
121
|
import * as i13$1 from '@angular/material/slider';
|
|
122
122
|
import { MatSliderModule, MatSlider } from '@angular/material/slider';
|
|
@@ -2991,6 +2991,7 @@ class WMSDataSource extends DataSource {
|
|
|
2991
2991
|
}
|
|
2992
2992
|
const filterQueryString = ogcFilterWriter.handleOgcFiltersAppliedValue(options, fieldNameGeometry);
|
|
2993
2993
|
sourceParams.FILTER = filterQueryString;
|
|
2994
|
+
this.ol.updateParams({ 'FILTER': sourceParams.FILTER });
|
|
2994
2995
|
this.setOgcFilters(initOgcFilters, true);
|
|
2995
2996
|
const timeFilterableDataSourceOptions = options;
|
|
2996
2997
|
if (timeFilterableDataSourceOptions?.timeFilterable &&
|
|
@@ -8289,7 +8290,7 @@ class IgoMap {
|
|
|
8289
8290
|
}
|
|
8290
8291
|
}
|
|
8291
8292
|
|
|
8292
|
-
const _c0$
|
|
8293
|
+
const _c0$m = ["*"];
|
|
8293
8294
|
class MapBrowserComponent {
|
|
8294
8295
|
constructor(activityService) {
|
|
8295
8296
|
this.activityService = activityService;
|
|
@@ -8335,7 +8336,7 @@ class MapBrowserComponent {
|
|
|
8335
8336
|
}
|
|
8336
8337
|
}
|
|
8337
8338
|
MapBrowserComponent.ɵfac = function MapBrowserComponent_Factory(t) { return new (t || MapBrowserComponent)(i0.ɵɵdirectiveInject(i2$1.ActivityService)); };
|
|
8338
|
-
MapBrowserComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: MapBrowserComponent, selectors: [["igo-map-browser"]], inputs: { map: "map", view: "view" }, ngContentSelectors: _c0$
|
|
8339
|
+
MapBrowserComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: MapBrowserComponent, selectors: [["igo-map-browser"]], inputs: { map: "map", view: "view" }, ngContentSelectors: _c0$m, decls: 2, vars: 1, consts: [[1, "igo-map-browser-target", 3, "id"]], template: function MapBrowserComponent_Template(rf, ctx) { if (rf & 1) {
|
|
8339
8340
|
i0.ɵɵprojectionDef();
|
|
8340
8341
|
i0.ɵɵelement(0, "div", 0);
|
|
8341
8342
|
i0.ɵɵprojection(1);
|
|
@@ -9154,7 +9155,7 @@ function computeProjectionsConstraints(projectionsLimitations) {
|
|
|
9154
9155
|
return projectionsConstraints;
|
|
9155
9156
|
}
|
|
9156
9157
|
|
|
9157
|
-
const _c0$
|
|
9158
|
+
const _c0$l = function (a0) { return { zoom: a0 }; };
|
|
9158
9159
|
class ZoomButtonComponent {
|
|
9159
9160
|
constructor() { }
|
|
9160
9161
|
get zoom() { return this.map.viewController.getZoom(); }
|
|
@@ -9175,9 +9176,9 @@ ZoomButtonComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: ZoomBut
|
|
|
9175
9176
|
i0.ɵɵelementEnd()();
|
|
9176
9177
|
} if (rf & 2) {
|
|
9177
9178
|
i0.ɵɵadvance(1);
|
|
9178
|
-
i0.ɵɵproperty("matTooltip", i0.ɵɵpipeBind2(2, 6, "igo.geo.mapButtons.zoomIn", i0.ɵɵpureFunction1(12, _c0$
|
|
9179
|
+
i0.ɵɵproperty("matTooltip", i0.ɵɵpipeBind2(2, 6, "igo.geo.mapButtons.zoomIn", i0.ɵɵpureFunction1(12, _c0$l, ctx.zoom + 1)))("color", ctx.color)("disabled", ctx.zoom >= ctx.maxZoom);
|
|
9179
9180
|
i0.ɵɵadvance(3);
|
|
9180
|
-
i0.ɵɵproperty("matTooltip", i0.ɵɵpipeBind2(5, 9, "igo.geo.mapButtons.zoomOut", i0.ɵɵpureFunction1(14, _c0$
|
|
9181
|
+
i0.ɵɵproperty("matTooltip", i0.ɵɵpipeBind2(5, 9, "igo.geo.mapButtons.zoomOut", i0.ɵɵpureFunction1(14, _c0$l, ctx.zoom - 1)))("color", ctx.color)("disabled", ctx.zoom <= ctx.minZoom);
|
|
9181
9182
|
} }, 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}"] });
|
|
9182
9183
|
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ZoomButtonComponent, [{
|
|
9183
9184
|
type: Component,
|
|
@@ -9367,7 +9368,7 @@ HomeExtentButtonComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: H
|
|
|
9367
9368
|
type: Input
|
|
9368
9369
|
}] }); })();
|
|
9369
9370
|
|
|
9370
|
-
const _c0$
|
|
9371
|
+
const _c0$k = function (a0) { return [a0]; };
|
|
9371
9372
|
function OfflineButtonComponent_div_0_Template(rf, ctx) { if (rf & 1) {
|
|
9372
9373
|
const _r2 = i0.ɵɵgetCurrentView();
|
|
9373
9374
|
i0.ɵɵelementStart(0, "div", 1)(1, "div")(2, "button", 2);
|
|
@@ -9379,7 +9380,7 @@ function OfflineButtonComponent_div_0_Template(rf, ctx) { if (rf & 1) {
|
|
|
9379
9380
|
} if (rf & 2) {
|
|
9380
9381
|
const ctx_r0 = i0.ɵɵnextContext();
|
|
9381
9382
|
i0.ɵɵadvance(2);
|
|
9382
|
-
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$
|
|
9383
|
+
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$k, ctx_r0.btnStyle))("color", ctx_r0.checked ? ctx_r0.color : i0.ɵɵpureFunction1(9, _c0$k, ctx_r0.colorOff));
|
|
9383
9384
|
} }
|
|
9384
9385
|
class OfflineButtonComponent {
|
|
9385
9386
|
constructor(config) {
|
|
@@ -9575,7 +9576,7 @@ function BaseLayersSwitcherComponent_div_0_igo_mini_basemap_2_Template(rf, ctx)
|
|
|
9575
9576
|
const ctx_r2 = i0.ɵɵnextContext(2);
|
|
9576
9577
|
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);
|
|
9577
9578
|
} }
|
|
9578
|
-
const _c0$
|
|
9579
|
+
const _c0$j = function (a0) { return { "container-expand": a0 }; };
|
|
9579
9580
|
function BaseLayersSwitcherComponent_div_0_Template(rf, ctx) { if (rf & 1) {
|
|
9580
9581
|
const _r6 = i0.ɵɵgetCurrentView();
|
|
9581
9582
|
i0.ɵɵelementStart(0, "div", 1);
|
|
@@ -9587,7 +9588,7 @@ function BaseLayersSwitcherComponent_div_0_Template(rf, ctx) { if (rf & 1) {
|
|
|
9587
9588
|
i0.ɵɵelementEnd()();
|
|
9588
9589
|
} if (rf & 2) {
|
|
9589
9590
|
const ctx_r0 = i0.ɵɵnextContext();
|
|
9590
|
-
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(4, _c0$
|
|
9591
|
+
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(4, _c0$j, ctx_r0.expand))("@baseLayerSwitcherState", ctx_r0.expand ? "expand" : ctx_r0.useStaticIcon ? "collapseIcon" : "collapseMap");
|
|
9591
9592
|
i0.ɵɵadvance(1);
|
|
9592
9593
|
i0.ɵɵproperty("ngIf", ctx_r0.useStaticIcon && !ctx_r0.expand && ctx_r0.showButton);
|
|
9593
9594
|
i0.ɵɵadvance(1);
|
|
@@ -10170,7 +10171,7 @@ MiniBaseMapComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: MiniBa
|
|
|
10170
10171
|
type: Input
|
|
10171
10172
|
}] }); })();
|
|
10172
10173
|
|
|
10173
|
-
const _c0$
|
|
10174
|
+
const _c0$i = function (a0, a1) { return { azimuth: a0, rotation: a1 }; };
|
|
10174
10175
|
function RotationButtonComponent_div_0_Template(rf, ctx) { if (rf & 1) {
|
|
10175
10176
|
const _r2 = i0.ɵɵgetCurrentView();
|
|
10176
10177
|
i0.ɵɵelementStart(0, "div", 1);
|
|
@@ -10185,7 +10186,7 @@ function RotationButtonComponent_div_0_Template(rf, ctx) { if (rf & 1) {
|
|
|
10185
10186
|
i0.ɵɵelementEnd()();
|
|
10186
10187
|
} if (rf & 2) {
|
|
10187
10188
|
const ctx_r0 = i0.ɵɵnextContext();
|
|
10188
|
-
i0.ɵɵproperty("matTooltip", i0.ɵɵpipeBind1(1, 4, ctx_r0.rotated$) ? i0.ɵɵpipeBind2(2, 6, "igo.geo.mapButtons.resetRotation", i0.ɵɵpureFunction2(15, _c0$
|
|
10189
|
+
i0.ɵɵproperty("matTooltip", i0.ɵɵpipeBind1(1, 4, ctx_r0.rotated$) ? i0.ɵɵpipeBind2(2, 6, "igo.geo.mapButtons.resetRotation", i0.ɵɵpureFunction2(15, _c0$i, ctx_r0.azimuthRounded, ctx_r0.rotationRounded)) : i0.ɵɵpipeBind1(3, 9, "igo.geo.mapButtons.tipRotation"));
|
|
10189
10190
|
i0.ɵɵadvance(4);
|
|
10190
10191
|
i0.ɵɵproperty("color", ctx_r0.color)("disabled", i0.ɵɵpipeBind1(5, 11, ctx_r0.rotated$) === false);
|
|
10191
10192
|
i0.ɵɵadvance(2);
|
|
@@ -12624,7 +12625,7 @@ CatalogBrowserComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: Cat
|
|
|
12624
12625
|
type: Input
|
|
12625
12626
|
}] }); })();
|
|
12626
12627
|
|
|
12627
|
-
const _c0$
|
|
12628
|
+
const _c0$h = ["renderedLegend"];
|
|
12628
12629
|
function LayerLegendComponent_ng_container_0_ng_container_1_ng_container_1_div_2_mat_list_item_1_Template(rf, ctx) { if (rf & 1) {
|
|
12629
12630
|
const _r15 = i0.ɵɵgetCurrentView();
|
|
12630
12631
|
i0.ɵɵelementStart(0, "mat-list-item")(1, "mat-icon", 7);
|
|
@@ -12971,7 +12972,7 @@ class LayerLegendComponent {
|
|
|
12971
12972
|
}
|
|
12972
12973
|
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$2.HttpClient), i0.ɵɵdirectiveInject(i0.ChangeDetectorRef)); };
|
|
12973
12974
|
LayerLegendComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: LayerLegendComponent, selectors: [["igo-layer-legend"]], viewQuery: function LayerLegendComponent_Query(rf, ctx) { if (rf & 1) {
|
|
12974
|
-
i0.ɵɵviewQuery(_c0$
|
|
12975
|
+
i0.ɵɵviewQuery(_c0$h, 5);
|
|
12975
12976
|
} if (rf & 2) {
|
|
12976
12977
|
let _t;
|
|
12977
12978
|
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.renderedLegends = _t);
|
|
@@ -13557,7 +13558,7 @@ function LayerItemComponent_mat_checkbox_1_Template(rf, ctx) { if (rf & 1) {
|
|
|
13557
13558
|
const ctx_r0 = i0.ɵɵnextContext();
|
|
13558
13559
|
i0.ɵɵproperty("checked", ctx_r0.layerCheck);
|
|
13559
13560
|
} }
|
|
13560
|
-
const _c0$
|
|
13561
|
+
const _c0$g = function (a0) { return { disabled: a0 }; };
|
|
13561
13562
|
function LayerItemComponent_button_4_Template(rf, ctx) { if (rf & 1) {
|
|
13562
13563
|
const _r9 = i0.ɵɵgetCurrentView();
|
|
13563
13564
|
i0.ɵɵelementStart(0, "button", 10);
|
|
@@ -13572,7 +13573,7 @@ function LayerItemComponent_button_4_Template(rf, ctx) { if (rf & 1) {
|
|
|
13572
13573
|
const ctx_r1 = i0.ɵɵnextContext();
|
|
13573
13574
|
i0.ɵɵproperty("color", ctx_r1.layer.visible ? "primary" : "default")("matTooltip", i0.ɵɵpipeBind1(1, 5, ctx_r1.eyeTooltip));
|
|
13574
13575
|
i0.ɵɵadvance(2);
|
|
13575
|
-
i0.ɵɵproperty("matBadgeHidden", i0.ɵɵpipeBind1(3, 7, ctx_r1.queryBadgeHidden$))("ngClass", i0.ɵɵpureFunction1(13, _c0$
|
|
13576
|
+
i0.ɵɵproperty("matBadgeHidden", i0.ɵɵpipeBind1(3, 7, ctx_r1.queryBadgeHidden$))("ngClass", i0.ɵɵpureFunction1(13, _c0$g, i0.ɵɵpipeBind1(4, 9, ctx_r1.inResolutionRange$) === false))("svgIcon", i0.ɵɵpipeBind1(5, 11, ctx_r1.layer.visible$) ? "eye" : "eye-off");
|
|
13576
13577
|
} }
|
|
13577
13578
|
function LayerItemComponent_button_5_Template(rf, ctx) { if (rf & 1) {
|
|
13578
13579
|
const _r11 = i0.ɵɵgetCurrentView();
|
|
@@ -13588,7 +13589,7 @@ function LayerItemComponent_button_5_Template(rf, ctx) { if (rf & 1) {
|
|
|
13588
13589
|
const ctx_r2 = i0.ɵɵnextContext();
|
|
13589
13590
|
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"));
|
|
13590
13591
|
i0.ɵɵadvance(3);
|
|
13591
|
-
i0.ɵɵproperty("matBadgeHidden", i0.ɵɵpipeBind1(4, 9, ctx_r2.queryBadgeHidden$))("ngClass", i0.ɵɵpureFunction1(13, _c0$
|
|
13592
|
+
i0.ɵɵproperty("matBadgeHidden", i0.ɵɵpipeBind1(4, 9, ctx_r2.queryBadgeHidden$))("ngClass", i0.ɵɵpureFunction1(13, _c0$g, i0.ɵɵpipeBind1(5, 11, ctx_r2.inResolutionRange$) === false))("svgIcon", ctx_r2.layer.visible ? "eye" : "eye-off");
|
|
13592
13593
|
} }
|
|
13593
13594
|
function LayerItemComponent_button_6_Template(rf, ctx) { if (rf & 1) {
|
|
13594
13595
|
const _r13 = i0.ɵɵgetCurrentView();
|
|
@@ -13861,7 +13862,7 @@ var LayerListDisplacement;
|
|
|
13861
13862
|
LayerListDisplacement["Lower"] = "lower";
|
|
13862
13863
|
})(LayerListDisplacement || (LayerListDisplacement = {}));
|
|
13863
13864
|
|
|
13864
|
-
const _c0$
|
|
13865
|
+
const _c0$f = ["igoLayerItemToolbar"];
|
|
13865
13866
|
function LayerListComponent_igo_layer_list_tool_1_Template(rf, ctx) { if (rf & 1) {
|
|
13866
13867
|
const _r7 = i0.ɵɵgetCurrentView();
|
|
13867
13868
|
i0.ɵɵelementStart(0, "igo-layer-list-tool", 6);
|
|
@@ -14794,7 +14795,7 @@ class LayerListComponent {
|
|
|
14794
14795
|
}
|
|
14795
14796
|
LayerListComponent.ɵfac = function LayerListComponent_Factory(t) { return new (t || LayerListComponent)(i0.ɵɵdirectiveInject(i0.ElementRef)); };
|
|
14796
14797
|
LayerListComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: LayerListComponent, selectors: [["igo-layer-list"]], contentQueries: function LayerListComponent_ContentQueries(rf, ctx, dirIndex) { if (rf & 1) {
|
|
14797
|
-
i0.ɵɵcontentQuery(dirIndex, _c0$
|
|
14798
|
+
i0.ɵɵcontentQuery(dirIndex, _c0$f, 5);
|
|
14798
14799
|
} if (rf & 2) {
|
|
14799
14800
|
let _t;
|
|
14800
14801
|
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.templateLayerToolbar = _t.first);
|
|
@@ -16316,7 +16317,7 @@ function FeatureDetailsComponent_table_0_tr_2_td_4_Template(rf, ctx) { if (rf &
|
|
|
16316
16317
|
const property_r3 = i0.ɵɵnextContext().$implicit;
|
|
16317
16318
|
i0.ɵɵproperty("innerHTML", property_r3.value, i0.ɵɵsanitizeHtml);
|
|
16318
16319
|
} }
|
|
16319
|
-
const _c0$
|
|
16320
|
+
const _c0$e = function () { return { "cursor": "pointer", "color": "blue" }; };
|
|
16320
16321
|
function FeatureDetailsComponent_table_0_tr_2_td_5_Template(rf, ctx) { if (rf & 1) {
|
|
16321
16322
|
const _r20 = i0.ɵɵgetCurrentView();
|
|
16322
16323
|
i0.ɵɵelementStart(0, "td")(1, "u", 13);
|
|
@@ -16327,7 +16328,7 @@ function FeatureDetailsComponent_table_0_tr_2_td_5_Template(rf, ctx) { if (rf &
|
|
|
16327
16328
|
const property_r3 = i0.ɵɵnextContext().$implicit;
|
|
16328
16329
|
const ctx_r8 = i0.ɵɵnextContext(2);
|
|
16329
16330
|
i0.ɵɵadvance(1);
|
|
16330
|
-
i0.ɵɵproperty("ngStyle", i0.ɵɵpureFunction0(2, _c0$
|
|
16331
|
+
i0.ɵɵproperty("ngStyle", i0.ɵɵpureFunction0(2, _c0$e));
|
|
16331
16332
|
i0.ɵɵadvance(1);
|
|
16332
16333
|
i0.ɵɵtextInterpolate(ctx_r8.getEmbeddedLinkText(property_r3.value));
|
|
16333
16334
|
} }
|
|
@@ -16344,7 +16345,7 @@ function FeatureDetailsComponent_table_0_tr_2_td_6_Template(rf, ctx) { if (rf &
|
|
|
16344
16345
|
i0.ɵɵelementEnd()();
|
|
16345
16346
|
} if (rf & 2) {
|
|
16346
16347
|
i0.ɵɵadvance(1);
|
|
16347
|
-
i0.ɵɵproperty("ngStyle", i0.ɵɵpureFunction0(4, _c0$
|
|
16348
|
+
i0.ɵɵproperty("ngStyle", i0.ɵɵpureFunction0(4, _c0$e));
|
|
16348
16349
|
i0.ɵɵadvance(1);
|
|
16349
16350
|
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(3, 2, "igo.geo.targetHtmlUrl"));
|
|
16350
16351
|
} }
|
|
@@ -16418,13 +16419,12 @@ function FeatureDetailsComponent_iframe_1_Template(rf, ctx) { if (rf & 1) {
|
|
|
16418
16419
|
i0.ɵɵproperty("srcdoc", ctx_r1.htmlSanitizer(ctx_r1.feature.properties), i0.ɵɵsanitizeHtml)("src", ctx_r1.urlSanitizer(ctx_r1.feature.properties.url), i0.ɵɵsanitizeResourceUrl);
|
|
16419
16420
|
} }
|
|
16420
16421
|
class FeatureDetailsComponent {
|
|
16421
|
-
constructor(http, cdRef, sanitizer, networkService, messageService,
|
|
16422
|
+
constructor(http, cdRef, sanitizer, networkService, messageService, configService) {
|
|
16422
16423
|
this.http = http;
|
|
16423
16424
|
this.cdRef = cdRef;
|
|
16424
16425
|
this.sanitizer = sanitizer;
|
|
16425
16426
|
this.networkService = networkService;
|
|
16426
16427
|
this.messageService = messageService;
|
|
16427
|
-
this.languageService = languageService;
|
|
16428
16428
|
this.configService = configService;
|
|
16429
16429
|
this.unsubscribe$ = new Subject();
|
|
16430
16430
|
this.ready = false;
|
|
@@ -16509,14 +16509,17 @@ class FeatureDetailsComponent {
|
|
|
16509
16509
|
window.open(fileUrl, '_blank');
|
|
16510
16510
|
this.cdRef.detectChanges();
|
|
16511
16511
|
}, (error) => {
|
|
16512
|
-
|
|
16513
|
-
const title = translate.instant('igo.geo.targetHtmlUrlUnauthorizedTitle');
|
|
16514
|
-
const message = translate.instant('igo.geo.targetHtmlUrlUnauthorized');
|
|
16515
|
-
this.messageService.error(message, title);
|
|
16512
|
+
this.messageService.error('igo.geo.targetHtmlUrlUnauthorized', 'igo.geo.targetHtmlUrlUnauthorizedTitle');
|
|
16516
16513
|
});
|
|
16517
16514
|
}
|
|
16518
16515
|
else {
|
|
16519
|
-
|
|
16516
|
+
let url = value;
|
|
16517
|
+
if (this.isEmbeddedLink(value)) {
|
|
16518
|
+
var div = document.createElement('div');
|
|
16519
|
+
div.innerHTML = value;
|
|
16520
|
+
url = div.children[0].getAttribute('href');
|
|
16521
|
+
}
|
|
16522
|
+
window.open(url, '_blank');
|
|
16520
16523
|
}
|
|
16521
16524
|
}
|
|
16522
16525
|
isUrl(value) {
|
|
@@ -16635,7 +16638,7 @@ class FeatureDetailsComponent {
|
|
|
16635
16638
|
}
|
|
16636
16639
|
}
|
|
16637
16640
|
}
|
|
16638
|
-
FeatureDetailsComponent.ɵfac = function FeatureDetailsComponent_Factory(t) { return new (t || FeatureDetailsComponent)(i0.ɵɵdirectiveInject(i1$2.HttpClient), i0.ɵɵdirectiveInject(i0.ChangeDetectorRef), i0.ɵɵdirectiveInject(i2$3.DomSanitizer), i0.ɵɵdirectiveInject(i2$1.NetworkService), i0.ɵɵdirectiveInject(i2$1.MessageService), i0.ɵɵdirectiveInject(i2$1.
|
|
16641
|
+
FeatureDetailsComponent.ɵfac = function FeatureDetailsComponent_Factory(t) { return new (t || FeatureDetailsComponent)(i0.ɵɵdirectiveInject(i1$2.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)); };
|
|
16639
16642
|
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) {
|
|
16640
16643
|
i0.ɵɵtemplate(0, FeatureDetailsComponent_table_0_Template, 4, 3, "table", 0);
|
|
16641
16644
|
i0.ɵɵtemplate(1, FeatureDetailsComponent_iframe_1_Template, 1, 2, "iframe", 1);
|
|
@@ -16647,7 +16650,7 @@ FeatureDetailsComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: Fea
|
|
|
16647
16650
|
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(FeatureDetailsComponent, [{
|
|
16648
16651
|
type: Component,
|
|
16649
16652
|
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'\">\r\n <tbody>\r\n <tr *ngFor=\"let property of filterFeatureProperties(feature) | keyvalue\">\r\n\r\n <td *ngIf=\"feature.properties.target === '_blank' && property.key === 'url'\">\r\n <mat-icon mat-list-avatar svgIcon=\"{{icon}}\"></mat-icon>\r\n </td>\r\n\r\n <td *ngIf=\"feature.properties.target === '_blank' && property.key === 'url'\">\r\n <a href=\"{{property.value}}\" target='_blank' rel=\"noopener noreferrer\"> {{ 'igo.geo.targetHtmlUrl' | translate }} {{title}}</a>\r\n <button class=\"copyClipboard\" mat-icon-button (click)=\"copyTextToClipboard(property.value)\">\r\n <mat-icon svgIcon=\"content-copy\"></mat-icon>\r\n </button>\r\n </td>\r\n\r\n <td id=\"keyValue\" *ngIf=\"feature.properties.target === undefined\">\r\n {{property.key}}\r\n </td>\r\n\r\n <td *ngIf=\"feature.properties.target === undefined && !isObject(property.value) && !isUrl(property.value) && !isEmbeddedLink(property.value)\" [innerHTML]=\"property.value\">\r\n </td>\r\n\r\n <td *ngIf=\"feature.properties.target === undefined && isEmbeddedLink(property.value)\">\r\n <u [ngStyle]=\"{'cursor': 'pointer', 'color': 'blue'}\" (click)=\"openSecureUrl(property.value)\">{{ getEmbeddedLinkText(property.value) }}</u>\r\n </td>\r\n\r\n <td *ngIf=\"feature.properties.target === undefined && !isObject(property.value) && (isDoc(property.value) || isUrl(property.value)) && !isImg(property.value)\">\r\n <u [ngStyle]=\"{'cursor': 'pointer', 'color': 'blue'}\" (click)=\"openSecureUrl(property.value)\">{{ 'igo.geo.targetHtmlUrl' | translate }}</u>\r\n <button class=\"copyClipboard\" mat-icon-button (click)=\"copyTextToClipboard(property.value)\">\r\n <mat-icon svgIcon=\"content-copy\"></mat-icon>\r\n </button>\r\n </td>\r\n\r\n <td *ngIf=\"feature.properties.target === undefined && !isObject(property.value) && isUrl(property.value) && isImg(property.value)\">\r\n <a href=\"{{property.value}}\" target='_blank' (click)=\"openSecureUrl(property.value)\" rel=\"noopener noreferrer\">\r\n <img igoImageError src=\"{{(property.value | secureImage) |\u00A0async}}\" width=\"225\" height=\"auto\">\r\n </a>\r\n </td>\r\n\r\n <td *ngIf=\"feature.properties.target === undefined && isObject(property.value)\" [innerHTML]=\"property.value | json\">\r\n </td>\r\n\r\n </tr>\r\n </tbody>\r\n</table>\r\n\r\n<iframe *ngIf=\"isHtmlDisplay()\" [srcdoc]=\"htmlSanitizer(feature.properties)\" [src]=\"urlSanitizer(feature.properties.url)\"></iframe>\r\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"] }]
|
|
16650
|
-
}], function () { return [{ type: i1$2.HttpClient }, { type: i0.ChangeDetectorRef }, { type: i2$3.DomSanitizer }, { type: i2$1.NetworkService }, { type: i2$1.MessageService }, { type: i2$1.
|
|
16653
|
+
}], function () { return [{ type: i1$2.HttpClient }, { type: i0.ChangeDetectorRef }, { type: i2$3.DomSanitizer }, { type: i2$1.NetworkService }, { type: i2$1.MessageService }, { type: i2$1.ConfigService }]; }, { source: [{
|
|
16651
16654
|
type: Input
|
|
16652
16655
|
}], map: [{
|
|
16653
16656
|
type: Input
|
|
@@ -16663,7 +16666,7 @@ FeatureDetailsComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: Fea
|
|
|
16663
16666
|
type: Output
|
|
16664
16667
|
}] }); })();
|
|
16665
16668
|
|
|
16666
|
-
const _c0$
|
|
16669
|
+
const _c0$d = ["igoForm"];
|
|
16667
16670
|
const _c1$a = ["*", [["", "formButtons", ""]]];
|
|
16668
16671
|
const _c2$5 = ["*", "[formButtons]"];
|
|
16669
16672
|
/**
|
|
@@ -16738,7 +16741,7 @@ class FeatureFormComponent {
|
|
|
16738
16741
|
}
|
|
16739
16742
|
FeatureFormComponent.ɵfac = function FeatureFormComponent_Factory(t) { return new (t || FeatureFormComponent)(); };
|
|
16740
16743
|
FeatureFormComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: FeatureFormComponent, selectors: [["igo-feature-form"]], viewQuery: function FeatureFormComponent_Query(rf, ctx) { if (rf & 1) {
|
|
16741
|
-
i0.ɵɵviewQuery(_c0$
|
|
16744
|
+
i0.ɵɵviewQuery(_c0$d, 7);
|
|
16742
16745
|
} if (rf & 2) {
|
|
16743
16746
|
let _t;
|
|
16744
16747
|
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.igoForm = _t.first);
|
|
@@ -17265,83 +17268,156 @@ DrawShorcutsComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: DrawS
|
|
|
17265
17268
|
args: [{ selector: 'igo-draw-shorcuts', template: "<mat-dialog-content>\r\n <div>\r\n <span class=\"shortcut mat-typography\">\r\n <mat-icon class=\"shortcut-icon\" svgIcon=\"keyboard-return\"></mat-icon>{{'igo.geo.draw.finish' | translate}}</span>\r\n </div>\r\n <div>\r\n <span class=\"shortcut mat-typography\">\r\n <mat-icon class=\"shortcut-icon\" svgIcon=\"backspace-outline\"></mat-icon>{{'igo.geo.draw.undo' | translate}}</span>\r\n </div>\r\n <div>\r\n <span class=\"shortcut mat-typography\">\r\n <mat-icon class=\"shortcut-icon\" svgIcon=\"keyboard-esc\"></mat-icon>{{'igo.geo.draw.abort' | translate}}</span>\r\n </div>\r\n <div>\r\n <span class=\"shortcut mat-typography\">\r\n <mat-icon class=\"shortcut-icon\" svgIcon=\"keyboard-space\"></mat-icon>{{'igo.geo.draw.move' | translate}}</span>\r\n </div>\r\n</mat-dialog-content>\r\n<mat-dialog-actions class=\"shortcuts-close\">\r\n <button mat-raised-button mat-dialog-close color=\"primary\">OK</button>\r\n</mat-dialog-actions>", styles: [".shortcut{display:flex;align-items:center}.shortcut-icon{margin-right:10px}.shortcuts-close{display:flex;justify-content:center}\n"] }]
|
|
17266
17269
|
}], null, null); })();
|
|
17267
17270
|
|
|
17268
|
-
|
|
17269
|
-
|
|
17270
|
-
|
|
17271
|
-
|
|
17271
|
+
class DrawLayerPopupComponent {
|
|
17272
|
+
constructor(dialogRef) {
|
|
17273
|
+
this.dialogRef = dialogRef;
|
|
17274
|
+
this.confirmFlag = false;
|
|
17275
|
+
}
|
|
17276
|
+
cancelDrawing() {
|
|
17277
|
+
this.dialogRef.close();
|
|
17278
|
+
}
|
|
17279
|
+
confirm(labelString) {
|
|
17280
|
+
this.confirmFlag = true;
|
|
17281
|
+
this.dialogRef.close(labelString);
|
|
17282
|
+
}
|
|
17283
|
+
}
|
|
17284
|
+
DrawLayerPopupComponent.ɵfac = function DrawLayerPopupComponent_Factory(t) { return new (t || DrawLayerPopupComponent)(i0.ɵɵdirectiveInject(i1.MatDialogRef)); };
|
|
17285
|
+
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) {
|
|
17286
|
+
const _r1 = i0.ɵɵgetCurrentView();
|
|
17287
|
+
i0.ɵɵelementStart(0, "div", 0)(1, "p", 1);
|
|
17288
|
+
i0.ɵɵtext(2);
|
|
17289
|
+
i0.ɵɵpipe(3, "translate");
|
|
17290
|
+
i0.ɵɵelementEnd();
|
|
17291
|
+
i0.ɵɵelementStart(4, "mat-form-field", 2);
|
|
17292
|
+
i0.ɵɵelement(5, "input", 3, 4);
|
|
17293
|
+
i0.ɵɵpipe(7, "translate");
|
|
17294
|
+
i0.ɵɵelementEnd()();
|
|
17295
|
+
i0.ɵɵelementStart(8, "div", 5)(9, "button", 6);
|
|
17296
|
+
i0.ɵɵlistener("click", function DrawLayerPopupComponent_Template_button_click_9_listener() { return ctx.cancelDrawing(); });
|
|
17297
|
+
i0.ɵɵtext(10);
|
|
17298
|
+
i0.ɵɵpipe(11, "translate");
|
|
17299
|
+
i0.ɵɵelementEnd();
|
|
17300
|
+
i0.ɵɵelementStart(12, "button", 7);
|
|
17301
|
+
i0.ɵɵlistener("click", function DrawLayerPopupComponent_Template_button_click_12_listener() { i0.ɵɵrestoreView(_r1); const _r0 = i0.ɵɵreference(6); return i0.ɵɵresetView(ctx.confirm(_r0.value)); });
|
|
17302
|
+
i0.ɵɵtext(13, " OK ");
|
|
17303
|
+
i0.ɵɵelementEnd()();
|
|
17304
|
+
} if (rf & 2) {
|
|
17305
|
+
i0.ɵɵadvance(2);
|
|
17306
|
+
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(3, 3, "igo.geo.draw.layer.layerDialogInstruction"), " ");
|
|
17307
|
+
i0.ɵɵadvance(3);
|
|
17308
|
+
i0.ɵɵpropertyInterpolate("placeholder", i0.ɵɵpipeBind1(7, 5, "igo.geo.draw.layer.title"));
|
|
17309
|
+
i0.ɵɵadvance(5);
|
|
17310
|
+
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(11, 7, "igo.geo.draw.cancel"), " ");
|
|
17311
|
+
} }, dependencies: [i3.MatButton, i13.MatFormField, i14.MatInput, i1.MatDialogContent, i1.MatDialogActions, i7.TranslatePipe] });
|
|
17312
|
+
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(DrawLayerPopupComponent, [{
|
|
17313
|
+
type: Component,
|
|
17314
|
+
args: [{ selector: 'igo-draw-popup-component', template: "<div mat-dialog-content>\r\n <p class=\"mat-typography\">\r\n {{ 'igo.geo.draw.layer.layerDialogInstruction' | translate }}\r\n </p>\r\n <mat-form-field class=\"example-full-width\">\r\n <input\r\n #input\r\n matInput\r\n placeholder=\"{{ 'igo.geo.draw.layer.title' | translate }}\"\r\n />\r\n </mat-form-field>\r\n</div>\r\n<div mat-dialog-actions>\r\n <button mat-raised-button (click)=\"cancelDrawing()\">\r\n {{ 'igo.geo.draw.cancel' | translate }}\r\n </button>\r\n <button mat-raised-button color=\"primary\" (click)=\"confirm(input.value)\">\r\n OK\r\n </button>\r\n</div>\r\n" }]
|
|
17315
|
+
}], function () { return [{ type: i1.MatDialogRef }]; }, { confirmFlag: [{
|
|
17316
|
+
type: Input
|
|
17317
|
+
}] }); })();
|
|
17318
|
+
|
|
17319
|
+
const _c0$c = ["selectedLayer"];
|
|
17320
|
+
function DrawComponent_mat_option_30_Template(rf, ctx) { if (rf & 1) {
|
|
17321
|
+
i0.ɵɵelementStart(0, "mat-option", 2);
|
|
17322
|
+
i0.ɵɵtext(1);
|
|
17323
|
+
i0.ɵɵelementEnd();
|
|
17324
|
+
} if (rf & 2) {
|
|
17325
|
+
const layer_r7 = ctx.$implicit;
|
|
17326
|
+
i0.ɵɵproperty("value", layer_r7);
|
|
17327
|
+
i0.ɵɵadvance(1);
|
|
17328
|
+
i0.ɵɵtextInterpolate1(" ", layer_r7.title, " ");
|
|
17329
|
+
} }
|
|
17330
|
+
function DrawComponent_button_34_Template(rf, ctx) { if (rf & 1) {
|
|
17331
|
+
const _r9 = i0.ɵɵgetCurrentView();
|
|
17332
|
+
i0.ɵɵelementStart(0, "button", 20);
|
|
17333
|
+
i0.ɵɵlistener("click", function DrawComponent_button_34_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r9); const ctx_r8 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r8.activeDrawingLayer.visible = !ctx_r8.activeDrawingLayer.visible); });
|
|
17334
|
+
i0.ɵɵpipe(1, "translate");
|
|
17335
|
+
i0.ɵɵpipe(2, "translate");
|
|
17336
|
+
i0.ɵɵelement(3, "mat-icon", 21);
|
|
17337
|
+
i0.ɵɵelementEnd();
|
|
17338
|
+
} if (rf & 2) {
|
|
17339
|
+
const ctx_r2 = i0.ɵɵnextContext();
|
|
17340
|
+
i0.ɵɵproperty("color", ctx_r2.activeDrawingLayer.visible ? "primary" : "default")("matTooltip", ctx_r2.activeDrawingLayer.visible ? i0.ɵɵpipeBind1(1, 3, "igo.geo.layer.hideLayer") : i0.ɵɵpipeBind1(2, 5, "igo.geo.layer.showLayer"));
|
|
17341
|
+
i0.ɵɵadvance(3);
|
|
17342
|
+
i0.ɵɵproperty("svgIcon", ctx_r2.activeDrawingLayer.visible ? "eye" : "eye-off");
|
|
17343
|
+
} }
|
|
17344
|
+
function DrawComponent_button_37_Template(rf, ctx) { if (rf & 1) {
|
|
17345
|
+
const _r11 = i0.ɵɵgetCurrentView();
|
|
17346
|
+
i0.ɵɵelementStart(0, "button", 22);
|
|
17347
|
+
i0.ɵɵlistener("click", function DrawComponent_button_37_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r11); const ctx_r10 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r10.deleteDrawings()); });
|
|
17272
17348
|
i0.ɵɵpipe(1, "translate");
|
|
17273
17349
|
i0.ɵɵpipe(2, "async");
|
|
17274
|
-
i0.ɵɵelement(3, "mat-icon",
|
|
17350
|
+
i0.ɵɵelement(3, "mat-icon", 23);
|
|
17275
17351
|
i0.ɵɵelementEnd();
|
|
17276
17352
|
} if (rf & 2) {
|
|
17277
|
-
const
|
|
17278
|
-
i0.ɵɵproperty("matTooltip", i0.ɵɵpipeBind1(1, 2, "igo.geo.draw.delete"))("disabled", i0.ɵɵpipeBind1(2, 4,
|
|
17353
|
+
const ctx_r3 = i0.ɵɵnextContext();
|
|
17354
|
+
i0.ɵɵproperty("matTooltip", i0.ɵɵpipeBind1(1, 2, "igo.geo.draw.delete"))("disabled", i0.ɵɵpipeBind1(2, 4, ctx_r3.selectedFeatures$).length === 0);
|
|
17279
17355
|
} }
|
|
17280
|
-
function
|
|
17281
|
-
i0.ɵɵelementStart(0, "div",
|
|
17282
|
-
i0.ɵɵelement(1, "img",
|
|
17356
|
+
function DrawComponent_mat_form_field_42_div_6_Template(rf, ctx) { if (rf & 1) {
|
|
17357
|
+
i0.ɵɵelementStart(0, "div", 27);
|
|
17358
|
+
i0.ɵɵelement(1, "img", 28);
|
|
17283
17359
|
i0.ɵɵelementEnd();
|
|
17284
17360
|
} if (rf & 2) {
|
|
17285
|
-
const
|
|
17361
|
+
const ctx_r12 = i0.ɵɵnextContext(2);
|
|
17286
17362
|
i0.ɵɵadvance(1);
|
|
17287
|
-
i0.ɵɵpropertyInterpolate("src",
|
|
17363
|
+
i0.ɵɵpropertyInterpolate("src", ctx_r12.icon, i0.ɵɵsanitizeUrl);
|
|
17288
17364
|
} }
|
|
17289
|
-
function
|
|
17290
|
-
const
|
|
17291
|
-
i0.ɵɵelementStart(0, "mat-option",
|
|
17292
|
-
i0.ɵɵlistener("click", function
|
|
17293
|
-
i0.ɵɵelementStart(1, "div",
|
|
17294
|
-
i0.ɵɵelement(2, "img",
|
|
17365
|
+
function DrawComponent_mat_form_field_42_mat_option_10_Template(rf, ctx) { if (rf & 1) {
|
|
17366
|
+
const _r16 = i0.ɵɵgetCurrentView();
|
|
17367
|
+
i0.ɵɵelementStart(0, "mat-option", 29);
|
|
17368
|
+
i0.ɵɵlistener("click", function DrawComponent_mat_form_field_42_mat_option_10_Template_mat_option_click_0_listener() { const restoredCtx = i0.ɵɵrestoreView(_r16); const icon_html_r14 = restoredCtx.$implicit; const ctx_r15 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r15.onIconChange(icon_html_r14)); });
|
|
17369
|
+
i0.ɵɵelementStart(1, "div", 27);
|
|
17370
|
+
i0.ɵɵelement(2, "img", 28);
|
|
17295
17371
|
i0.ɵɵelementEnd()();
|
|
17296
17372
|
} if (rf & 2) {
|
|
17297
|
-
const
|
|
17298
|
-
i0.ɵɵproperty("value",
|
|
17373
|
+
const icon_html_r14 = ctx.$implicit;
|
|
17374
|
+
i0.ɵɵproperty("value", icon_html_r14);
|
|
17299
17375
|
i0.ɵɵadvance(2);
|
|
17300
|
-
i0.ɵɵpropertyInterpolate("src",
|
|
17376
|
+
i0.ɵɵpropertyInterpolate("src", icon_html_r14, i0.ɵɵsanitizeUrl);
|
|
17301
17377
|
} }
|
|
17302
|
-
function
|
|
17303
|
-
const
|
|
17378
|
+
function DrawComponent_mat_form_field_42_Template(rf, ctx) { if (rf & 1) {
|
|
17379
|
+
const _r18 = i0.ɵɵgetCurrentView();
|
|
17304
17380
|
i0.ɵɵelementStart(0, "mat-form-field")(1, "mat-label");
|
|
17305
17381
|
i0.ɵɵtext(2);
|
|
17306
17382
|
i0.ɵɵpipe(3, "translate");
|
|
17307
17383
|
i0.ɵɵelementEnd();
|
|
17308
17384
|
i0.ɵɵelementStart(4, "mat-select")(5, "mat-select-trigger");
|
|
17309
|
-
i0.ɵɵtemplate(6,
|
|
17385
|
+
i0.ɵɵtemplate(6, DrawComponent_mat_form_field_42_div_6_Template, 2, 1, "div", 24);
|
|
17310
17386
|
i0.ɵɵelementEnd();
|
|
17311
|
-
i0.ɵɵelementStart(7, "mat-option",
|
|
17312
|
-
i0.ɵɵlistener("click", function
|
|
17387
|
+
i0.ɵɵelementStart(7, "mat-option", 25);
|
|
17388
|
+
i0.ɵɵlistener("click", function DrawComponent_mat_form_field_42_Template_mat_option_click_7_listener() { i0.ɵɵrestoreView(_r18); const ctx_r17 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r17.onIconChange()); });
|
|
17313
17389
|
i0.ɵɵtext(8);
|
|
17314
17390
|
i0.ɵɵpipe(9, "translate");
|
|
17315
17391
|
i0.ɵɵelementEnd();
|
|
17316
|
-
i0.ɵɵtemplate(10,
|
|
17392
|
+
i0.ɵɵtemplate(10, DrawComponent_mat_form_field_42_mat_option_10_Template, 3, 2, "mat-option", 26);
|
|
17317
17393
|
i0.ɵɵelementEnd()();
|
|
17318
17394
|
} if (rf & 2) {
|
|
17319
|
-
const
|
|
17395
|
+
const ctx_r5 = i0.ɵɵnextContext();
|
|
17320
17396
|
i0.ɵɵadvance(2);
|
|
17321
17397
|
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(3, 4, "igo.geo.draw.icon"));
|
|
17322
17398
|
i0.ɵɵadvance(4);
|
|
17323
|
-
i0.ɵɵproperty("ngIf",
|
|
17399
|
+
i0.ɵɵproperty("ngIf", ctx_r5.icon);
|
|
17324
17400
|
i0.ɵɵadvance(2);
|
|
17325
17401
|
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(9, 6, "igo.geo.draw.noIcon"));
|
|
17326
17402
|
i0.ɵɵadvance(2);
|
|
17327
|
-
i0.ɵɵproperty("ngForOf",
|
|
17403
|
+
i0.ɵɵproperty("ngForOf", ctx_r5.icons);
|
|
17328
17404
|
} }
|
|
17329
|
-
function
|
|
17330
|
-
const
|
|
17331
|
-
i0.ɵɵelementStart(0, "button",
|
|
17332
|
-
i0.ɵɵlistener("click", function
|
|
17405
|
+
function DrawComponent_button_46_Template(rf, ctx) { if (rf & 1) {
|
|
17406
|
+
const _r20 = i0.ɵɵgetCurrentView();
|
|
17407
|
+
i0.ɵɵelementStart(0, "button", 30);
|
|
17408
|
+
i0.ɵɵlistener("click", function DrawComponent_button_46_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r20); const ctx_r19 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r19.openStyleModalDialog()); });
|
|
17333
17409
|
i0.ɵɵpipe(1, "translate");
|
|
17334
17410
|
i0.ɵɵtext(2);
|
|
17335
17411
|
i0.ɵɵpipe(3, "translate");
|
|
17336
|
-
i0.ɵɵelement(4, "mat-icon",
|
|
17412
|
+
i0.ɵɵelement(4, "mat-icon", 31);
|
|
17337
17413
|
i0.ɵɵelementEnd();
|
|
17338
17414
|
} if (rf & 2) {
|
|
17339
|
-
const
|
|
17415
|
+
const ctx_r6 = i0.ɵɵnextContext();
|
|
17340
17416
|
i0.ɵɵproperty("matTooltip", i0.ɵɵpipeBind1(1, 3, "igo.geo.layer.style.styleModalTooltip"));
|
|
17341
17417
|
i0.ɵɵadvance(2);
|
|
17342
17418
|
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(3, 5, "igo.geo.layer.style.styleModal"), " ");
|
|
17343
17419
|
i0.ɵɵadvance(2);
|
|
17344
|
-
i0.ɵɵproperty("matBadge",
|
|
17420
|
+
i0.ɵɵproperty("matBadge", ctx_r6.selectedFeatures$.value.length);
|
|
17345
17421
|
} }
|
|
17346
17422
|
class DrawComponent {
|
|
17347
17423
|
constructor(languageService, formBuilder, drawStyleService, dialog, drawIconService) {
|
|
@@ -17373,13 +17449,21 @@ class DrawComponent {
|
|
|
17373
17449
|
]
|
|
17374
17450
|
};
|
|
17375
17451
|
this.geometryType = GeometryType; // Reference to the GeometryType enum
|
|
17452
|
+
this._stores = [];
|
|
17453
|
+
this._drawControls = [];
|
|
17454
|
+
this.activeLayerChange = new EventEmitter();
|
|
17455
|
+
this.drawControlsEvent = new EventEmitter();
|
|
17456
|
+
this.layersIDEvent = new EventEmitter();
|
|
17457
|
+
this.layerCounterID = 0;
|
|
17376
17458
|
this.draw$ = new BehaviorSubject({}); // Observable of draw
|
|
17377
|
-
this.
|
|
17459
|
+
this.activeDrawingLayerSource = new OlVectorSource();
|
|
17378
17460
|
this.selectedFeatures$ = new BehaviorSubject([]);
|
|
17379
17461
|
this.drawControlIsDisabled = true;
|
|
17380
17462
|
this.drawControlIsActive = false;
|
|
17381
17463
|
this.subscriptions$$ = [];
|
|
17382
17464
|
this.position = 'bottom';
|
|
17465
|
+
this.isCreatingNewLayer = false;
|
|
17466
|
+
this.currGeometryType = this.geometryType.Point;
|
|
17383
17467
|
this.buildForm();
|
|
17384
17468
|
this.fillColor = this.drawStyleService.getFillColor();
|
|
17385
17469
|
this.strokeColor = this.drawStyleService.getStrokeColor();
|
|
@@ -17390,19 +17474,85 @@ class DrawComponent {
|
|
|
17390
17474
|
this.fontSize = this.drawStyleService.getFontSize();
|
|
17391
17475
|
this.fontStyle = this.drawStyleService.getFontStyle();
|
|
17392
17476
|
}
|
|
17477
|
+
get stores() {
|
|
17478
|
+
return this._stores;
|
|
17479
|
+
}
|
|
17480
|
+
set stores(value) {
|
|
17481
|
+
this._stores = value;
|
|
17482
|
+
}
|
|
17483
|
+
get drawControls() {
|
|
17484
|
+
return this._drawControls;
|
|
17485
|
+
}
|
|
17486
|
+
set drawControls(value) {
|
|
17487
|
+
this._drawControls = value;
|
|
17488
|
+
}
|
|
17489
|
+
get activeDrawingLayer() {
|
|
17490
|
+
return this._activeDrawingLayer;
|
|
17491
|
+
}
|
|
17492
|
+
set activeDrawingLayer(value) {
|
|
17493
|
+
this._activeDrawingLayer = value;
|
|
17494
|
+
}
|
|
17393
17495
|
// Initialize the store that will contain the entities and create the Draw control
|
|
17394
17496
|
ngOnInit() {
|
|
17395
|
-
this.
|
|
17396
|
-
|
|
17397
|
-
|
|
17398
|
-
|
|
17497
|
+
if (!this.stores.length) {
|
|
17498
|
+
this.activeStore = new FeatureStore([], {
|
|
17499
|
+
map: this.map
|
|
17500
|
+
});
|
|
17501
|
+
this.initStore();
|
|
17502
|
+
this.activeDrawControl = this.createDrawControl(this.fillColor, this.strokeColor, this.strokeWidth);
|
|
17503
|
+
this.activeDrawControl.setGeometryType(this.geometryType.Point);
|
|
17504
|
+
this.toggleDrawControl();
|
|
17505
|
+
this.stores.push(this.activeStore);
|
|
17506
|
+
this.drawControls.push([this.activeDrawingLayer.id, this.activeDrawControl]);
|
|
17507
|
+
this.drawControlsEvent.emit(this.drawControls);
|
|
17508
|
+
this.layersIDEvent.emit(this.activeDrawingLayer.id);
|
|
17509
|
+
this.onLayerChange(this.activeDrawingLayer);
|
|
17510
|
+
}
|
|
17511
|
+
else {
|
|
17512
|
+
this.activeStore = this.stores.find(store => store.layer.id === this.activeDrawingLayer.id);
|
|
17513
|
+
this.activeDrawControl = this.drawControls.find(dc => dc[0] === this.activeDrawingLayer.id)[1];
|
|
17514
|
+
this.deactivateDrawControl();
|
|
17515
|
+
this.allLayers.forEach(layer => {
|
|
17516
|
+
if (layer.id !== this.activeDrawingLayer.id) {
|
|
17517
|
+
layer.opacity = 0;
|
|
17518
|
+
}
|
|
17519
|
+
let store = this.stores.find(s => s.layer.id === layer.id);
|
|
17520
|
+
this.subscriptions$$.push(store.stateView
|
|
17521
|
+
.manyBy$((record) => {
|
|
17522
|
+
return record.state.selected === true;
|
|
17523
|
+
})
|
|
17524
|
+
.pipe(first())
|
|
17525
|
+
.subscribe((records) => {
|
|
17526
|
+
records.forEach((record) => {
|
|
17527
|
+
record.state.selected = false;
|
|
17528
|
+
});
|
|
17529
|
+
}));
|
|
17530
|
+
this.subscriptions$$.push(store.stateView
|
|
17531
|
+
.manyBy$((record) => {
|
|
17532
|
+
return record.state.selected === true;
|
|
17533
|
+
})
|
|
17534
|
+
.pipe(skip(1) // Skip initial emission
|
|
17535
|
+
)
|
|
17536
|
+
.subscribe((records) => {
|
|
17537
|
+
this.selectedFeatures$.next(records.map((record) => record.entity));
|
|
17538
|
+
}));
|
|
17539
|
+
this.subscriptions$$.push(store.count$.subscribe((cnt) => {
|
|
17540
|
+
cnt >= 1
|
|
17541
|
+
? (this.activeStore.layer.options.showInLayerList = true)
|
|
17542
|
+
: (this.activeStore.layer.options.showInLayerList = false);
|
|
17543
|
+
}));
|
|
17544
|
+
});
|
|
17545
|
+
this.onLayerChange(this.activeDrawingLayer);
|
|
17546
|
+
}
|
|
17399
17547
|
}
|
|
17400
17548
|
/**
|
|
17401
17549
|
* Remove the drawing layer and the interactions
|
|
17402
17550
|
* @internal
|
|
17403
17551
|
*/
|
|
17404
17552
|
ngOnDestroy() {
|
|
17405
|
-
this.
|
|
17553
|
+
this.allLayers.forEach(layer => layer.opacity = 1);
|
|
17554
|
+
this.activeStore.state.updateAll({ selected: false });
|
|
17555
|
+
this.deactivateDrawControl();
|
|
17406
17556
|
this.subscriptions$$.map((s) => s.unsubscribe());
|
|
17407
17557
|
}
|
|
17408
17558
|
/**
|
|
@@ -17413,61 +17563,20 @@ class DrawComponent {
|
|
|
17413
17563
|
* @returns a Draw Control
|
|
17414
17564
|
*/
|
|
17415
17565
|
createDrawControl(fillColor, strokeColor, strokeWidth) {
|
|
17416
|
-
const
|
|
17566
|
+
const activeDrawControl = new DrawControl({
|
|
17417
17567
|
geometryType: undefined,
|
|
17418
|
-
drawingLayerSource: this.
|
|
17568
|
+
drawingLayerSource: this.activeDrawingLayerSource,
|
|
17419
17569
|
drawingLayerStyle: new olstyle.Style({}),
|
|
17420
17570
|
interactionStyle: createInteractionStyle(fillColor, strokeColor, strokeWidth)
|
|
17421
17571
|
});
|
|
17422
|
-
return
|
|
17572
|
+
return activeDrawControl;
|
|
17423
17573
|
}
|
|
17424
17574
|
/**
|
|
17425
17575
|
* Store initialization, including drawing layer creation
|
|
17426
17576
|
*/
|
|
17427
|
-
initStore() {
|
|
17428
|
-
this.
|
|
17429
|
-
|
|
17430
|
-
this.olDrawingLayer = new VectorLayer({
|
|
17431
|
-
isIgoInternalLayer: true,
|
|
17432
|
-
id: 'igo-draw-layer',
|
|
17433
|
-
title: this.languageService.translate.instant('igo.geo.draw.drawing'),
|
|
17434
|
-
zIndex: 200,
|
|
17435
|
-
source: new FeatureDataSource(),
|
|
17436
|
-
style: (feature, resolution) => {
|
|
17437
|
-
return this.drawStyleService.createIndividualElementStyle(feature, resolution, this.labelsAreShown, feature.get('fontStyle'), feature.get('drawingStyle').fill, feature.get('drawingStyle').stroke, feature.get('offsetX'), feature.get('offsetY'), this.icon);
|
|
17438
|
-
},
|
|
17439
|
-
showInLayerList: true,
|
|
17440
|
-
exportable: true,
|
|
17441
|
-
browsable: false,
|
|
17442
|
-
workspace: {
|
|
17443
|
-
enabled: false
|
|
17444
|
-
}
|
|
17445
|
-
});
|
|
17446
|
-
tryBindStoreLayer(this.store, this.olDrawingLayer);
|
|
17447
|
-
tryAddLoadingStrategy(this.store, new FeatureStoreLoadingStrategy({
|
|
17448
|
-
motion: FeatureMotion.None
|
|
17449
|
-
}));
|
|
17450
|
-
tryAddSelectionStrategy(this.store, new FeatureStoreSelectionStrategy({
|
|
17451
|
-
map: this.map,
|
|
17452
|
-
motion: FeatureMotion.None,
|
|
17453
|
-
many: true
|
|
17454
|
-
}));
|
|
17455
|
-
this.store.layer.visible = true;
|
|
17456
|
-
this.store.source.ol.on('removefeature', (event) => {
|
|
17457
|
-
const olGeometry = event.feature.getGeometry();
|
|
17458
|
-
this.clearLabelsOfOlGeometry(olGeometry);
|
|
17459
|
-
});
|
|
17460
|
-
this.subscriptions$$.push(this.store.stateView
|
|
17461
|
-
.manyBy$((record) => {
|
|
17462
|
-
return record.state.selected === true;
|
|
17463
|
-
})
|
|
17464
|
-
.pipe(first())
|
|
17465
|
-
.subscribe((records) => {
|
|
17466
|
-
records.forEach((record) => {
|
|
17467
|
-
record.state.selected = false;
|
|
17468
|
-
});
|
|
17469
|
-
}));
|
|
17470
|
-
this.subscriptions$$.push(this.store.stateView
|
|
17577
|
+
initStore(newTitle, isNewLayer) {
|
|
17578
|
+
this.createLayer(newTitle, isNewLayer);
|
|
17579
|
+
this.subscriptions$$.push(this.activeStore.stateView
|
|
17471
17580
|
.manyBy$((record) => {
|
|
17472
17581
|
return record.state.selected === true;
|
|
17473
17582
|
})
|
|
@@ -17476,13 +17585,10 @@ class DrawComponent {
|
|
|
17476
17585
|
.subscribe((records) => {
|
|
17477
17586
|
this.selectedFeatures$.next(records.map((record) => record.entity));
|
|
17478
17587
|
}));
|
|
17479
|
-
this.subscriptions$$.push(this.
|
|
17480
|
-
if (cnt > 0) {
|
|
17481
|
-
this.store.setLayerExtent();
|
|
17482
|
-
}
|
|
17588
|
+
this.subscriptions$$.push(this.activeStore.count$.subscribe((cnt) => {
|
|
17483
17589
|
cnt >= 1
|
|
17484
|
-
? (this.
|
|
17485
|
-
: (this.
|
|
17590
|
+
? (this.activeStore.layer.options.showInLayerList = true)
|
|
17591
|
+
: (this.activeStore.layer.options.showInLayerList = false);
|
|
17486
17592
|
}));
|
|
17487
17593
|
}
|
|
17488
17594
|
/**
|
|
@@ -17549,12 +17655,12 @@ class DrawComponent {
|
|
|
17549
17655
|
}
|
|
17550
17656
|
// deletes the feature
|
|
17551
17657
|
else {
|
|
17552
|
-
this.
|
|
17658
|
+
this.activeDrawingLayerSource
|
|
17553
17659
|
.getFeatures()
|
|
17554
17660
|
.forEach((drawingLayerFeature) => {
|
|
17555
17661
|
const geometry = drawingLayerFeature.getGeometry();
|
|
17556
17662
|
if (olGeometry === geometry) {
|
|
17557
|
-
this.
|
|
17663
|
+
this.activeDrawingLayerSource.removeFeature(drawingLayerFeature);
|
|
17558
17664
|
}
|
|
17559
17665
|
});
|
|
17560
17666
|
}
|
|
@@ -17568,10 +17674,10 @@ class DrawComponent {
|
|
|
17568
17674
|
onDrawEnd(olGeometry, radius) {
|
|
17569
17675
|
this.addFeatureToStore(olGeometry, radius);
|
|
17570
17676
|
this.clearLabelsOfOlGeometry(olGeometry);
|
|
17571
|
-
this.
|
|
17677
|
+
this.activeStore.layer.ol.getSource().refresh();
|
|
17572
17678
|
}
|
|
17573
17679
|
onModifyDraw(olGeometry) {
|
|
17574
|
-
const entities = this.
|
|
17680
|
+
const entities = this.activeStore.all();
|
|
17575
17681
|
entities.forEach((entity) => {
|
|
17576
17682
|
const entityId = entity.properties.id;
|
|
17577
17683
|
const olGeometryId = olGeometry.ol_uid;
|
|
@@ -17585,7 +17691,7 @@ class DrawComponent {
|
|
|
17585
17691
|
});
|
|
17586
17692
|
}
|
|
17587
17693
|
onSelectDraw(olFeature, label) {
|
|
17588
|
-
const entities = this.
|
|
17694
|
+
const entities = this.activeStore.all();
|
|
17589
17695
|
const olGeometry = olFeature.getGeometry();
|
|
17590
17696
|
olGeometry.ol_uid = olFeature.get('id');
|
|
17591
17697
|
const olGeometryCoordinates = JSON.stringify(olGeometry.getCoordinates()[0]);
|
|
@@ -17656,7 +17762,7 @@ class DrawComponent {
|
|
|
17656
17762
|
lon4326 = point4326[0];
|
|
17657
17763
|
lat4326 = point4326[1];
|
|
17658
17764
|
}
|
|
17659
|
-
this.
|
|
17765
|
+
this.activeStore.update({
|
|
17660
17766
|
type: FEATURE,
|
|
17661
17767
|
geometry,
|
|
17662
17768
|
projection: projection.getCode(),
|
|
@@ -17685,6 +17791,40 @@ class DrawComponent {
|
|
|
17685
17791
|
stroke: ['']
|
|
17686
17792
|
});
|
|
17687
17793
|
}
|
|
17794
|
+
setupLayer(isNewLayer) {
|
|
17795
|
+
setTimeout(() => {
|
|
17796
|
+
const dialogRef = this.dialog.open(DrawLayerPopupComponent, {
|
|
17797
|
+
disableClose: false,
|
|
17798
|
+
});
|
|
17799
|
+
dialogRef.afterClosed().subscribe((label) => {
|
|
17800
|
+
if (dialogRef.componentInstance.confirmFlag) {
|
|
17801
|
+
this.activeStore.state.updateAll({ selected: false });
|
|
17802
|
+
this.activeStore = new FeatureStore([], { map: this.map });
|
|
17803
|
+
this.activeDrawingLayerSource = new OlVectorSource();
|
|
17804
|
+
this.activeDrawingLayer.opacity = 0;
|
|
17805
|
+
this.deactivateDrawControl();
|
|
17806
|
+
this.initStore(label, isNewLayer);
|
|
17807
|
+
this.activeDrawControl = this.createDrawControl(this.fillColor, this.strokeColor, this.strokeWidth);
|
|
17808
|
+
this.activeDrawControl.setGeometryType(this.currGeometryType);
|
|
17809
|
+
this.toggleDrawControl();
|
|
17810
|
+
this.stores.push(this.activeStore);
|
|
17811
|
+
this.drawControls.push([this.activeDrawingLayer.id, this.activeDrawControl]);
|
|
17812
|
+
this.drawControlsEvent.emit(this.drawControls);
|
|
17813
|
+
this.layersIDEvent.emit(this.activeDrawingLayer.id);
|
|
17814
|
+
this.isCreatingNewLayer = false;
|
|
17815
|
+
if (!this.labelsAreShown) {
|
|
17816
|
+
this.onToggleLabels();
|
|
17817
|
+
}
|
|
17818
|
+
this.activeLayerChange.emit(this.activeDrawingLayer);
|
|
17819
|
+
}
|
|
17820
|
+
else {
|
|
17821
|
+
this.select.value = this.activeDrawingLayer;
|
|
17822
|
+
this.select.selectionChange.emit(this.activeDrawingLayer);
|
|
17823
|
+
}
|
|
17824
|
+
});
|
|
17825
|
+
}, 250);
|
|
17826
|
+
}
|
|
17827
|
+
// HTML user interactions
|
|
17688
17828
|
/**
|
|
17689
17829
|
* Called when the user double-clicks the selected drawing
|
|
17690
17830
|
*/
|
|
@@ -17698,12 +17838,14 @@ class DrawComponent {
|
|
|
17698
17838
|
this.dialog.open(DrawShorcutsComponent);
|
|
17699
17839
|
}
|
|
17700
17840
|
deleteDrawings() {
|
|
17701
|
-
this.
|
|
17841
|
+
this.activeStore.deleteMany(this.selectedFeatures$.value);
|
|
17702
17842
|
this.selectedFeatures$.value.forEach((selectedFeature) => {
|
|
17703
|
-
this.
|
|
17843
|
+
this.activeDrawingLayerSource
|
|
17844
|
+
.getFeatures()
|
|
17845
|
+
.forEach((drawingLayerFeature) => {
|
|
17704
17846
|
const geometry = drawingLayerFeature.getGeometry();
|
|
17705
17847
|
if (selectedFeature.properties.id === geometry.ol_uid) {
|
|
17706
|
-
this.
|
|
17848
|
+
this.activeDrawingLayerSource.removeFeature(drawingLayerFeature);
|
|
17707
17849
|
}
|
|
17708
17850
|
});
|
|
17709
17851
|
});
|
|
@@ -17716,8 +17858,9 @@ class DrawComponent {
|
|
|
17716
17858
|
this.drawStyleService.toggleLabelsAreShown();
|
|
17717
17859
|
this.labelsAreShown = !this.labelsAreShown;
|
|
17718
17860
|
this.icon
|
|
17719
|
-
? this.
|
|
17720
|
-
: this.
|
|
17861
|
+
? this.elementStyle(this.labelsAreShown, true)
|
|
17862
|
+
: this.elementStyle(this.labelsAreShown, false);
|
|
17863
|
+
this.createDrawControl();
|
|
17721
17864
|
}
|
|
17722
17865
|
/**
|
|
17723
17866
|
* Called when the user toggles the Draw control is toggled
|
|
@@ -17727,6 +17870,69 @@ class DrawComponent {
|
|
|
17727
17870
|
toggleIsChecked ? this.toggleDrawControl() : this.deactivateDrawControl();
|
|
17728
17871
|
}
|
|
17729
17872
|
// User changes properties of a drawing element
|
|
17873
|
+
/**
|
|
17874
|
+
* Display the current layer with the current store and the current layerSource
|
|
17875
|
+
*/
|
|
17876
|
+
onLayerChange(currLayer) {
|
|
17877
|
+
if (currLayer) {
|
|
17878
|
+
this.activeStore.state.updateAll({ selected: false });
|
|
17879
|
+
this.isCreatingNewLayer = false;
|
|
17880
|
+
this.activeDrawingLayer.opacity = 0;
|
|
17881
|
+
this.activeDrawingLayer = currLayer;
|
|
17882
|
+
this.activeDrawingLayer.opacity = 1;
|
|
17883
|
+
this.deactivateDrawControl();
|
|
17884
|
+
if (!this.labelsAreShown) {
|
|
17885
|
+
this.onToggleLabels();
|
|
17886
|
+
}
|
|
17887
|
+
this.activeStore = this.stores.find(store => store.layer.id === this.activeDrawingLayer.id);
|
|
17888
|
+
this.activeDrawControl = this.drawControls.find(dc => dc[0] === this.activeDrawingLayer.id)[1];
|
|
17889
|
+
this.activeDrawingLayerSource = this.activeDrawControl.olDrawingLayerSource;
|
|
17890
|
+
this.activeDrawControl.setGeometryType(this.currGeometryType);
|
|
17891
|
+
this.toggleDrawControl();
|
|
17892
|
+
}
|
|
17893
|
+
else {
|
|
17894
|
+
this.setupLayer(true);
|
|
17895
|
+
}
|
|
17896
|
+
this.activeLayerChange.emit(this.activeDrawingLayer);
|
|
17897
|
+
}
|
|
17898
|
+
createLayer(newTitle, isNewLayer) {
|
|
17899
|
+
for (const layer of this.allLayers) {
|
|
17900
|
+
let numberId = Number(layer.id.replace('igo-draw-layer', ''));
|
|
17901
|
+
this.layerCounterID = Math.max(numberId, this.layerCounterID);
|
|
17902
|
+
}
|
|
17903
|
+
this.activeDrawingLayer = new VectorLayer({
|
|
17904
|
+
isIgoInternalLayer: true,
|
|
17905
|
+
id: 'igo-draw-layer' + ++this.layerCounterID,
|
|
17906
|
+
title: isNewLayer
|
|
17907
|
+
? newTitle
|
|
17908
|
+
: this.languageService.translate.instant('igo.geo.draw.drawing'),
|
|
17909
|
+
zIndex: 200,
|
|
17910
|
+
source: new FeatureDataSource(),
|
|
17911
|
+
style: (feature, resolution) => {
|
|
17912
|
+
return this.drawStyleService.createIndividualElementStyle(feature, resolution, this.labelsAreShown, feature.get('fontStyle'), feature.get('drawingStyle').fill, feature.get('drawingStyle').stroke, feature.get('offsetX'), feature.get('offsetY'), this.icon);
|
|
17913
|
+
},
|
|
17914
|
+
showInLayerList: true,
|
|
17915
|
+
exportable: true,
|
|
17916
|
+
browsable: false,
|
|
17917
|
+
workspace: {
|
|
17918
|
+
enabled: false
|
|
17919
|
+
}
|
|
17920
|
+
});
|
|
17921
|
+
tryBindStoreLayer(this.activeStore, this.activeDrawingLayer);
|
|
17922
|
+
tryAddLoadingStrategy(this.activeStore, new FeatureStoreLoadingStrategy({
|
|
17923
|
+
motion: FeatureMotion.None
|
|
17924
|
+
}));
|
|
17925
|
+
tryAddSelectionStrategy(this.activeStore, new FeatureStoreSelectionStrategy({
|
|
17926
|
+
map: this.map,
|
|
17927
|
+
motion: FeatureMotion.None,
|
|
17928
|
+
many: true
|
|
17929
|
+
}));
|
|
17930
|
+
this.activeStore.layer.visible = true;
|
|
17931
|
+
this.activeStore.source.ol.on('removefeature', (event) => {
|
|
17932
|
+
const olGeometry = event.feature.getGeometry();
|
|
17933
|
+
this.clearLabelsOfOlGeometry(olGeometry);
|
|
17934
|
+
});
|
|
17935
|
+
}
|
|
17730
17936
|
/**
|
|
17731
17937
|
* Called when the user changes the color in a color picker
|
|
17732
17938
|
* @param labelsAreShown wheter the labels are shown or not
|
|
@@ -17739,16 +17945,14 @@ class DrawComponent {
|
|
|
17739
17945
|
this.selectedFeatures$.value.forEach((feature) => {
|
|
17740
17946
|
let olFeature = featureToOl(feature, this.map.ol.getView().getProjection().getCode());
|
|
17741
17947
|
this.updateFillAndStrokeColor(olFeature, fillColor, strokeColor);
|
|
17742
|
-
const entity = this.
|
|
17948
|
+
const entity = this.activeStore
|
|
17743
17949
|
.all()
|
|
17744
17950
|
.find((e) => e.meta.id === olFeature.getId());
|
|
17745
17951
|
entity.properties.drawingStyle.fill = olFeature.get('fillColor_');
|
|
17746
17952
|
entity.properties.drawingStyle.stroke = olFeature.get('strokeColor_');
|
|
17747
|
-
this.
|
|
17953
|
+
this.activeStore.update(entity);
|
|
17748
17954
|
});
|
|
17749
17955
|
}
|
|
17750
|
-
this.fillColor = fillColor;
|
|
17751
|
-
this.strokeColor = strokeColor;
|
|
17752
17956
|
this.elementStyle(labelsAreShown, isAnIcon);
|
|
17753
17957
|
this.createDrawControl();
|
|
17754
17958
|
}
|
|
@@ -17763,12 +17967,12 @@ class DrawComponent {
|
|
|
17763
17967
|
this.selectedFeatures$.value.forEach((feature) => {
|
|
17764
17968
|
let olFeature = featureToOl(feature, this.map.ol.getView().getProjection().getCode());
|
|
17765
17969
|
this.updateFontSizeAndStyle(olFeature, size, style);
|
|
17766
|
-
const entity = this.
|
|
17970
|
+
const entity = this.activeStore
|
|
17767
17971
|
.all()
|
|
17768
17972
|
.find((e) => e.meta.id === olFeature.getId());
|
|
17769
17973
|
entity.properties.fontStyle = olFeature.get('fontStyle_');
|
|
17770
|
-
this.
|
|
17771
|
-
olFeature = this.
|
|
17974
|
+
this.activeStore.update(entity);
|
|
17975
|
+
olFeature = this.activeStore.layer.ol.getSource().getFeatures().find(f => f.getId() === entity.meta.id);
|
|
17772
17976
|
olFeature.setProperties({ fontStyle: entity.properties.fontStyle });
|
|
17773
17977
|
olFeature.changed();
|
|
17774
17978
|
});
|
|
@@ -17790,13 +17994,13 @@ class DrawComponent {
|
|
|
17790
17994
|
this.selectedFeatures$.value.forEach((feature) => {
|
|
17791
17995
|
let olFeature = featureToOl(feature, this.map.ol.getView().getProjection().getCode());
|
|
17792
17996
|
this.updateOffset(olFeature, offsetX, offsetY);
|
|
17793
|
-
const entity = this.
|
|
17997
|
+
const entity = this.activeStore
|
|
17794
17998
|
.all()
|
|
17795
17999
|
.find((e) => e.meta.id === olFeature.getId());
|
|
17796
18000
|
entity.properties.offsetX = olFeature.get('offsetX_');
|
|
17797
18001
|
entity.properties.offsetY = olFeature.get('offsetY_');
|
|
17798
|
-
this.
|
|
17799
|
-
olFeature = this.
|
|
18002
|
+
this.activeStore.update(entity);
|
|
18003
|
+
olFeature = this.activeStore.layer.ol.getSource().getFeatures().find(f => f.getId() === entity.meta.id);
|
|
17800
18004
|
olFeature.setProperties({ offsetX: entity.properties.offsetX, offsetY: entity.properties.offsetY });
|
|
17801
18005
|
olFeature.changed();
|
|
17802
18006
|
});
|
|
@@ -17813,7 +18017,8 @@ class DrawComponent {
|
|
|
17813
18017
|
* @param geometryType the geometry type selected by the user
|
|
17814
18018
|
*/
|
|
17815
18019
|
onGeometryTypeChange(geometryType) {
|
|
17816
|
-
this.
|
|
18020
|
+
this.currGeometryType = geometryType;
|
|
18021
|
+
this.activeDrawControl.setGeometryType(geometryType);
|
|
17817
18022
|
this.toggleDrawControl();
|
|
17818
18023
|
}
|
|
17819
18024
|
// Updates the properties of olFeature inputted
|
|
@@ -17844,13 +18049,57 @@ class DrawComponent {
|
|
|
17844
18049
|
offsetY_: offsetY
|
|
17845
18050
|
}, true);
|
|
17846
18051
|
}
|
|
17847
|
-
|
|
17848
|
-
|
|
17849
|
-
|
|
18052
|
+
// Updates values of the selected element on the HTML view
|
|
18053
|
+
getFeatureFontSize() {
|
|
18054
|
+
return this.selectedFeatures$.value.length > 0
|
|
18055
|
+
? this.selectedFeatures$.value[0].properties.fontStyle
|
|
18056
|
+
.split(' ')[0]
|
|
18057
|
+
.replace('px', '')
|
|
18058
|
+
: '20';
|
|
18059
|
+
}
|
|
18060
|
+
getFeatureFontStyle() {
|
|
18061
|
+
return this.selectedFeatures$.value.length > 0
|
|
18062
|
+
? this.selectedFeatures$.value[0].properties.fontStyle.substring(this.selectedFeatures$.value[0].properties.fontStyle.indexOf(' ') + 1)
|
|
18063
|
+
: FontType.Arial;
|
|
18064
|
+
}
|
|
18065
|
+
getFeatureFillColor() {
|
|
18066
|
+
return this.selectedFeatures$.value.length > 0
|
|
18067
|
+
? this.selectedFeatures$.value[0].properties.drawingStyle.fill
|
|
18068
|
+
: 'rgba(255,255,255,0.4)';
|
|
18069
|
+
}
|
|
18070
|
+
getFeatureStrokeColor() {
|
|
18071
|
+
return this.selectedFeatures$.value.length > 0
|
|
18072
|
+
? this.selectedFeatures$.value[0].properties.drawingStyle.stroke
|
|
18073
|
+
: 'rgba(143,7,7,1)';
|
|
18074
|
+
}
|
|
18075
|
+
getFeatureOffsetX() {
|
|
18076
|
+
return this.selectedFeatures$.value.length > 0
|
|
18077
|
+
? this.selectedFeatures$.value[0].properties.offsetX
|
|
18078
|
+
: this.drawStyleService.getOffsetX();
|
|
18079
|
+
}
|
|
18080
|
+
getFeatureOffsetY() {
|
|
18081
|
+
return this.selectedFeatures$.value.length > 0
|
|
18082
|
+
? this.selectedFeatures$.value[0].properties.offsetY
|
|
18083
|
+
: '0';
|
|
18084
|
+
}
|
|
18085
|
+
get allFontStyles() {
|
|
18086
|
+
return Object.values(FontType);
|
|
18087
|
+
}
|
|
18088
|
+
get allLayers() {
|
|
18089
|
+
return this.map.layers.filter((layer) => layer.id.includes('igo-draw-layer'));
|
|
18090
|
+
}
|
|
17850
18091
|
updateHeightTable() {
|
|
17851
|
-
|
|
17852
|
-
this.numberOfDrawings
|
|
18092
|
+
// Check the amount of rows as a possible alternative
|
|
18093
|
+
this.numberOfDrawings = this.activeStore.count$.getValue();
|
|
18094
|
+
this.numberOfDrawings > 10
|
|
18095
|
+
? (this.tableTemplate.tableHeight = '35vh')
|
|
18096
|
+
: (this.tableTemplate.tableHeight = 'auto');
|
|
17853
18097
|
}
|
|
18098
|
+
updateActiveLayer() {
|
|
18099
|
+
let currLayer = this.allLayers.find(layer => layer.title === this.activeDrawingLayer.title);
|
|
18100
|
+
return currLayer ? currLayer : this.allLayers[0];
|
|
18101
|
+
}
|
|
18102
|
+
// Helper methods
|
|
17854
18103
|
/**
|
|
17855
18104
|
* Activate the correct control
|
|
17856
18105
|
*/
|
|
@@ -17875,20 +18124,20 @@ class DrawComponent {
|
|
|
17875
18124
|
* @param olGeometry the new geometry to insert in the store
|
|
17876
18125
|
*/
|
|
17877
18126
|
replaceFeatureInStore(entity, olGeometry, radius) {
|
|
17878
|
-
this.
|
|
18127
|
+
this.activeStore.delete(entity);
|
|
17879
18128
|
this.onDrawEnd(olGeometry, radius);
|
|
17880
18129
|
}
|
|
17881
18130
|
/**
|
|
17882
18131
|
* Deactivate the active draw control
|
|
17883
18132
|
*/
|
|
17884
18133
|
deactivateDrawControl() {
|
|
17885
|
-
if (!this.
|
|
18134
|
+
if (!this.activeDrawControl) {
|
|
17886
18135
|
return;
|
|
17887
18136
|
}
|
|
17888
18137
|
if (this.drawEnd$$) {
|
|
17889
18138
|
this.drawEnd$$.unsubscribe();
|
|
17890
18139
|
}
|
|
17891
|
-
this.
|
|
18140
|
+
this.activeDrawControl.setOlMap(undefined);
|
|
17892
18141
|
this.drawControlIsActive = false;
|
|
17893
18142
|
}
|
|
17894
18143
|
/**
|
|
@@ -17897,37 +18146,43 @@ class DrawComponent {
|
|
|
17897
18146
|
activateDrawControl() {
|
|
17898
18147
|
this.drawControlIsDisabled = false;
|
|
17899
18148
|
this.drawControlIsActive = true;
|
|
17900
|
-
this.drawEnd$$ = this.
|
|
18149
|
+
this.drawEnd$$ = this.activeDrawControl.end$.subscribe((olGeometry) => {
|
|
17901
18150
|
this.openDrawDialog(olGeometry, true);
|
|
17902
18151
|
});
|
|
17903
|
-
this.
|
|
18152
|
+
this.activeDrawControl.modify$.subscribe((olGeometry) => {
|
|
17904
18153
|
this.onModifyDraw(olGeometry);
|
|
17905
18154
|
});
|
|
17906
18155
|
if (!this.drawSelect$$) {
|
|
17907
|
-
this.drawSelect$$ = this.
|
|
18156
|
+
this.drawSelect$$ = this.activeDrawControl.select$.subscribe((olFeature) => {
|
|
17908
18157
|
this.openDrawDialog(olFeature, false);
|
|
17909
18158
|
});
|
|
17910
18159
|
}
|
|
17911
|
-
this.
|
|
18160
|
+
this.activeDrawControl.setOlMap(this.map.ol, true);
|
|
17912
18161
|
}
|
|
17913
18162
|
/**
|
|
17914
18163
|
* Recreates the style of the feature stored
|
|
17915
18164
|
*/
|
|
17916
18165
|
elementStyle(labelsAreShown, isAnIcon) {
|
|
17917
18166
|
if (isAnIcon) {
|
|
17918
|
-
this.
|
|
18167
|
+
this.activeStore.layer.ol.setStyle((feature, resolution) => {
|
|
17919
18168
|
return this.drawStyleService.createIndividualElementStyle(feature, resolution, labelsAreShown, feature.get('fontStyle'), feature.get('drawingStyle').fill, feature.get('drawingStyle').stroke, feature.get('offsetX'), feature.get('offsetY'), this.icon);
|
|
17920
18169
|
});
|
|
17921
18170
|
}
|
|
17922
18171
|
else {
|
|
17923
|
-
this.
|
|
18172
|
+
this.activeStore.layer.ol.setStyle((feature, resolution) => {
|
|
17924
18173
|
return this.drawStyleService.createIndividualElementStyle(feature, resolution, labelsAreShown, feature.get('fontStyle'), feature.get('drawingStyle').fill, feature.get('drawingStyle').stroke, feature.get('offsetX'), feature.get('offsetY'));
|
|
17925
18174
|
});
|
|
17926
18175
|
}
|
|
17927
18176
|
}
|
|
17928
18177
|
}
|
|
17929
18178
|
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(i1.MatDialog), i0.ɵɵdirectiveInject(DrawIconService)); };
|
|
17930
|
-
DrawComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: DrawComponent, selectors: [["igo-draw"]],
|
|
18179
|
+
DrawComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: DrawComponent, selectors: [["igo-draw"]], viewQuery: function DrawComponent_Query(rf, ctx) { if (rf & 1) {
|
|
18180
|
+
i0.ɵɵviewQuery(_c0$c, 5);
|
|
18181
|
+
} if (rf & 2) {
|
|
18182
|
+
let _t;
|
|
18183
|
+
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.select = _t.first);
|
|
18184
|
+
} }, inputs: { map: "map", stores: "stores", drawControls: "drawControls", activeDrawingLayer: "activeDrawingLayer" }, outputs: { activeLayerChange: "activeLayerChange", drawControlsEvent: "drawControlsEvent", layersIDEvent: "layersIDEvent", fillColor: "fillColor", strokeColor: "strokeColor", strokeWidth: "strokeWidth", fontSize: "fontSize", fontStyle: "fontStyle" }, decls: 47, vars: 45, consts: [[1, "geometry-type-toggle", "mat-typography"], [3, "value", "change"], [3, "value"], [1, "draw-options", "mat-typography"], [3, "disabled", "checked", "labelPosition", "change"], [3, "checked", "labelPosition", "change"], ["appearance", "outline", 1, "layer-select"], [3, "value", "selectionChange"], ["selectedLayer", ""], [3, "value", 4, "ngFor", "ngForOf"], ["id", "createNewLayer"], ["mat-icon-button", "", "collapsibleButton", "", "tooltip-position", "below", "matTooltipShowDelay", "500", 3, "color", "matTooltip", "click", 4, "ngIf"], ["class", "deleteBtn", "mat-icon-button", "", "color", "warn", "tooltip-position", "below", "matTooltipShowDelay", "500", 3, "matTooltip", "disabled", "click", 4, "ngIf"], [1, "table-compact", 3, "store", "template", "dblclick"], ["table", ""], [1, "icon-options"], [4, "ngIf"], ["mat-icon-button", "", "color", "accent", "disableRipple", "true", 3, "click"], ["svgIcon", "keyboard-outline", "tooltip-position", "below", "matTooltipShowDelay", "500", 1, "shortcuts-icon", 3, "matTooltip"], ["mat-raised-button", "", "color", "primary", 3, "matTooltip", "click", 4, "ngIf"], ["mat-icon-button", "", "collapsibleButton", "", "tooltip-position", "below", "matTooltipShowDelay", "500", 3, "color", "matTooltip", "click"], [3, "svgIcon"], ["mat-icon-button", "", "color", "warn", "tooltip-position", "below", "matTooltipShowDelay", "500", 1, "deleteBtn", 3, "matTooltip", "disabled", "click"], ["svgIcon", "delete"], ["class", "box", 4, "ngIf"], ["value", "", 3, "click"], [3, "value", "click", 4, "ngFor", "ngForOf"], [1, "box"], [3, "src"], [3, "value", "click"], ["mat-raised-button", "", "color", "primary", 3, "matTooltip", "click"], ["svgIcon", "palette", "matBadgeColor", "warn", "matBadgeSize", "medium", 1, "style-icon", 3, "matBadge"]], template: function DrawComponent_Template(rf, ctx) { if (rf & 1) {
|
|
18185
|
+
const _r21 = i0.ɵɵgetCurrentView();
|
|
17931
18186
|
i0.ɵɵelementStart(0, "div")(1, "div", 0)(2, "mat-button-toggle-group", 1);
|
|
17932
18187
|
i0.ɵɵlistener("change", function DrawComponent_Template_mat_button_toggle_group_change_2_listener($event) { return ctx.onGeometryTypeChange($event.value); });
|
|
17933
18188
|
i0.ɵɵelementStart(3, "mat-button-toggle", 2);
|
|
@@ -17956,20 +18211,35 @@ DrawComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: DrawComponent
|
|
|
17956
18211
|
i0.ɵɵtext(20);
|
|
17957
18212
|
i0.ɵɵpipe(21, "translate");
|
|
17958
18213
|
i0.ɵɵelementEnd()();
|
|
17959
|
-
i0.ɵɵ
|
|
17960
|
-
i0.ɵɵ
|
|
17961
|
-
i0.ɵɵ
|
|
17962
|
-
i0.ɵɵ
|
|
18214
|
+
i0.ɵɵelement(22, "mat-divider");
|
|
18215
|
+
i0.ɵɵelementStart(23, "div")(24, "mat-form-field", 6)(25, "mat-label");
|
|
18216
|
+
i0.ɵɵtext(26);
|
|
18217
|
+
i0.ɵɵpipe(27, "translate");
|
|
18218
|
+
i0.ɵɵelementEnd();
|
|
18219
|
+
i0.ɵɵelementStart(28, "mat-select", 7, 8);
|
|
18220
|
+
i0.ɵɵlistener("selectionChange", function DrawComponent_Template_mat_select_selectionChange_28_listener() { i0.ɵɵrestoreView(_r21); const _r0 = i0.ɵɵreference(29); return i0.ɵɵresetView(ctx.onLayerChange(_r0.value)); });
|
|
18221
|
+
i0.ɵɵtemplate(30, DrawComponent_mat_option_30_Template, 2, 2, "mat-option", 9);
|
|
18222
|
+
i0.ɵɵelementStart(31, "mat-option", 10);
|
|
18223
|
+
i0.ɵɵtext(32);
|
|
18224
|
+
i0.ɵɵpipe(33, "translate");
|
|
17963
18225
|
i0.ɵɵelementEnd()()();
|
|
17964
|
-
i0.ɵɵ
|
|
17965
|
-
i0.ɵɵtemplate(28, DrawComponent_mat_form_field_28_Template, 11, 8, "mat-form-field", 10);
|
|
18226
|
+
i0.ɵɵtemplate(34, DrawComponent_button_34_Template, 4, 7, "button", 11);
|
|
17966
18227
|
i0.ɵɵelementEnd();
|
|
17967
|
-
i0.ɵɵ
|
|
17968
|
-
i0.ɵɵ
|
|
17969
|
-
i0.ɵɵ
|
|
17970
|
-
i0.ɵɵ
|
|
18228
|
+
i0.ɵɵelement(35, "mat-divider");
|
|
18229
|
+
i0.ɵɵelementStart(36, "div");
|
|
18230
|
+
i0.ɵɵtemplate(37, DrawComponent_button_37_Template, 4, 6, "button", 12);
|
|
18231
|
+
i0.ɵɵelementStart(38, "div")(39, "igo-entity-table", 13, 14);
|
|
18232
|
+
i0.ɵɵlistener("dblclick", function DrawComponent_Template_igo_entity_table_dblclick_39_listener() { return ctx.editLabelDrawing(); });
|
|
18233
|
+
i0.ɵɵelementEnd()()();
|
|
18234
|
+
i0.ɵɵelementStart(41, "div", 15);
|
|
18235
|
+
i0.ɵɵtemplate(42, DrawComponent_mat_form_field_42_Template, 11, 8, "mat-form-field", 16);
|
|
18236
|
+
i0.ɵɵelementEnd();
|
|
18237
|
+
i0.ɵɵelementStart(43, "button", 17);
|
|
18238
|
+
i0.ɵɵlistener("click", function DrawComponent_Template_button_click_43_listener() { return ctx.openShorcutsDialog(); });
|
|
18239
|
+
i0.ɵɵelement(44, "mat-icon", 18);
|
|
18240
|
+
i0.ɵɵpipe(45, "translate");
|
|
17971
18241
|
i0.ɵɵelementEnd();
|
|
17972
|
-
i0.ɵɵtemplate(
|
|
18242
|
+
i0.ɵɵtemplate(46, DrawComponent_button_46_Template, 5, 7, "button", 19);
|
|
17973
18243
|
i0.ɵɵelementEnd();
|
|
17974
18244
|
} if (rf & 2) {
|
|
17975
18245
|
i0.ɵɵadvance(2);
|
|
@@ -17977,38 +18247,48 @@ DrawComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: DrawComponent
|
|
|
17977
18247
|
i0.ɵɵadvance(1);
|
|
17978
18248
|
i0.ɵɵproperty("value", ctx.geometryType.Point);
|
|
17979
18249
|
i0.ɵɵadvance(1);
|
|
17980
|
-
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(5,
|
|
18250
|
+
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(5, 27, "igo.geo.draw." + ctx.geometryType.Point), " ");
|
|
17981
18251
|
i0.ɵɵadvance(2);
|
|
17982
18252
|
i0.ɵɵproperty("value", ctx.geometryType.LineString);
|
|
17983
18253
|
i0.ɵɵadvance(1);
|
|
17984
|
-
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(8,
|
|
18254
|
+
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(8, 29, "igo.geo.draw." + ctx.geometryType.LineString), " ");
|
|
17985
18255
|
i0.ɵɵadvance(2);
|
|
17986
18256
|
i0.ɵɵproperty("value", ctx.geometryType.Polygon);
|
|
17987
18257
|
i0.ɵɵadvance(1);
|
|
17988
|
-
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(11,
|
|
18258
|
+
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(11, 31, "igo.geo.draw." + ctx.geometryType.Polygon), " ");
|
|
17989
18259
|
i0.ɵɵadvance(2);
|
|
17990
18260
|
i0.ɵɵproperty("value", ctx.geometryType.Circle);
|
|
17991
18261
|
i0.ɵɵadvance(1);
|
|
17992
|
-
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(14,
|
|
18262
|
+
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(14, 33, "igo.geo.draw." + ctx.geometryType.Circle), " ");
|
|
17993
18263
|
i0.ɵɵadvance(3);
|
|
17994
18264
|
i0.ɵɵproperty("disabled", ctx.drawControlIsDisabled)("checked", ctx.drawControlIsActive)("labelPosition", "before");
|
|
17995
18265
|
i0.ɵɵadvance(1);
|
|
17996
|
-
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(18,
|
|
18266
|
+
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(18, 35, "igo.geo.spatialFilter.drawControl"), " ");
|
|
17997
18267
|
i0.ɵɵadvance(2);
|
|
17998
18268
|
i0.ɵɵproperty("checked", ctx.labelsAreShown)("labelPosition", "before");
|
|
17999
18269
|
i0.ɵɵadvance(1);
|
|
18000
|
-
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(21,
|
|
18270
|
+
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(21, 37, "igo.geo.draw.toggleMapTooltips"), " ");
|
|
18271
|
+
i0.ɵɵadvance(6);
|
|
18272
|
+
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(27, 39, "igo.geo.draw.layer.title"));
|
|
18273
|
+
i0.ɵɵadvance(2);
|
|
18274
|
+
i0.ɵɵproperty("value", ctx.updateActiveLayer());
|
|
18275
|
+
i0.ɵɵadvance(2);
|
|
18276
|
+
i0.ɵɵproperty("ngForOf", ctx.allLayers);
|
|
18277
|
+
i0.ɵɵadvance(2);
|
|
18278
|
+
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(33, 41, "igo.geo.draw.layer.createNewLayer"), " ");
|
|
18279
|
+
i0.ɵɵadvance(2);
|
|
18280
|
+
i0.ɵɵproperty("ngIf", ctx.activeDrawingLayer);
|
|
18001
18281
|
i0.ɵɵadvance(3);
|
|
18002
|
-
i0.ɵɵproperty("ngIf", ctx.
|
|
18282
|
+
i0.ɵɵproperty("ngIf", ctx.activeStore.count$.getValue() > 0);
|
|
18003
18283
|
i0.ɵɵadvance(2);
|
|
18004
|
-
i0.ɵɵproperty("store", ctx.
|
|
18284
|
+
i0.ɵɵproperty("store", ctx.activeStore)("template", ctx.tableTemplate);
|
|
18005
18285
|
i0.ɵɵadvance(3);
|
|
18006
18286
|
i0.ɵɵproperty("ngIf", ctx.icons.length >= 1);
|
|
18007
18287
|
i0.ɵɵadvance(2);
|
|
18008
|
-
i0.ɵɵproperty("matTooltip", i0.ɵɵpipeBind1(
|
|
18288
|
+
i0.ɵɵproperty("matTooltip", i0.ɵɵpipeBind1(45, 43, "igo.geo.draw.shortcuts"));
|
|
18009
18289
|
i0.ɵɵadvance(2);
|
|
18010
18290
|
i0.ɵɵproperty("ngIf", ctx.selectedFeatures$.value.length);
|
|
18011
|
-
} }, dependencies: [i1$1.NgForOf, i1$1.NgIf, i3.MatButton, i18.MatButtonToggleGroup, i18.MatButtonToggle, i13.MatFormField, i13.MatLabel, i2.MatIcon, i7$1.MatBadge, i4.MatTooltip, i15.MatSelect, i15.MatSelectTrigger, i9.MatOption,
|
|
18291
|
+
} }, dependencies: [i1$1.NgForOf, i1$1.NgIf, i3.MatButton, i18.MatButtonToggleGroup, i18.MatButtonToggle, i11.MatDivider, i13.MatFormField, i13.MatLabel, i2.MatIcon, i7$1.MatBadge, i4.MatTooltip, i15.MatSelect, i15.MatSelectTrigger, i9.MatOption, i23.MatSlideToggle, i5$1.EntityTableComponent, i1$1.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}"], data: { animation: [
|
|
18012
18292
|
trigger('openClose', [
|
|
18013
18293
|
state('open', style({
|
|
18014
18294
|
opacity: 1
|
|
@@ -18033,8 +18313,22 @@ DrawComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: DrawComponent
|
|
|
18033
18313
|
transition('open => closed', [animate('600ms ease')]),
|
|
18034
18314
|
transition('closed => open', [animate('800ms ease')])
|
|
18035
18315
|
])
|
|
18036
|
-
], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div>\r\n <div class=\"geometry-type-toggle mat-typography\">\r\n <mat-button-toggle-group\r\n (change)=\"onGeometryTypeChange($event.value)\" [value]=\"geometryType.Point\">\r\n <mat-button-toggle [value]=\"geometryType.Point\">\r\n {{'igo.geo.draw.' + geometryType.Point | translate}}\r\n </mat-button-toggle>\r\n\r\n <mat-button-toggle [value]=\"geometryType.LineString\">\r\n {{'igo.geo.draw.' + geometryType.LineString | translate}}\r\n </mat-button-toggle>\r\n\r\n <mat-button-toggle [value]=\"geometryType.Polygon\">\r\n {{'igo.geo.draw.' + geometryType.Polygon | translate}}\r\n </mat-button-toggle>\r\n\r\n <mat-button-toggle [value]=\"geometryType.Circle\">\r\n {{'igo.geo.draw.' + geometryType.Circle | translate}}\r\n </mat-button-toggle>\r\n </mat-button-toggle-group>\r\n </div>\r\n\r\n <div class=\"draw-options mat-typography\">\r\n <mat-slide-toggle\r\n [disabled]=\"drawControlIsDisabled\"\r\n [checked]=\"drawControlIsActive\"\r\n [labelPosition]=\"'before'\"\r\n (change)=\"onToggleDrawControl($event.checked)\">\r\n {{'igo.geo.spatialFilter.drawControl' | translate}}\r\n </mat-slide-toggle>\r\n\r\n <mat-slide-toggle\r\n [checked]=\"labelsAreShown\"\r\n [labelPosition]=\"'before'\"\r\n (change)=\"onToggleLabels()\">\r\n {{'igo.geo.draw.toggleMapTooltips' | translate}}\r\n </mat-slide-toggle>\r\n </div>\r\n\r\n <div>\r\n <button *ngIf=\"
|
|
18037
|
-
}], function () { return [{ type: i2$1.LanguageService }, { type: i2$2.UntypedFormBuilder }, { type: DrawStyleService }, { type: i1.MatDialog }, { type: DrawIconService }]; }, {
|
|
18316
|
+
], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div>\r\n <div class=\"geometry-type-toggle mat-typography\">\r\n <mat-button-toggle-group\r\n (change)=\"onGeometryTypeChange($event.value)\" [value]=\"geometryType.Point\">\r\n <mat-button-toggle [value]=\"geometryType.Point\">\r\n {{'igo.geo.draw.' + geometryType.Point | translate}}\r\n </mat-button-toggle>\r\n\r\n <mat-button-toggle [value]=\"geometryType.LineString\">\r\n {{'igo.geo.draw.' + geometryType.LineString | translate}}\r\n </mat-button-toggle>\r\n\r\n <mat-button-toggle [value]=\"geometryType.Polygon\">\r\n {{'igo.geo.draw.' + geometryType.Polygon | translate}}\r\n </mat-button-toggle>\r\n\r\n <mat-button-toggle [value]=\"geometryType.Circle\">\r\n {{'igo.geo.draw.' + geometryType.Circle | translate}}\r\n </mat-button-toggle>\r\n </mat-button-toggle-group>\r\n </div>\r\n\r\n <div class=\"draw-options mat-typography\">\r\n <mat-slide-toggle\r\n [disabled]=\"drawControlIsDisabled\"\r\n [checked]=\"drawControlIsActive\"\r\n [labelPosition]=\"'before'\"\r\n (change)=\"onToggleDrawControl($event.checked)\">\r\n {{'igo.geo.spatialFilter.drawControl' | translate}}\r\n </mat-slide-toggle>\r\n\r\n <mat-slide-toggle\r\n [checked]=\"labelsAreShown\"\r\n [labelPosition]=\"'before'\"\r\n (change)=\"onToggleLabels()\"\r\n >\r\n {{ 'igo.geo.draw.toggleMapTooltips' | translate }}\r\n </mat-slide-toggle>\r\n </div>\r\n\r\n <mat-divider></mat-divider>\r\n\r\n <div>\r\n <mat-form-field appearance=\"outline\" class=\"layer-select\">\r\n <mat-label>{{'igo.geo.draw.layer.title' | translate}}</mat-label>\r\n <mat-select #selectedLayer (selectionChange)=\"onLayerChange(selectedLayer.value)\" [value]=\"updateActiveLayer()\">\r\n <mat-option *ngFor=\"let layer of allLayers\" [value]=\"layer\">\r\n {{ layer.title }}\r\n </mat-option>\r\n <mat-option id=\"createNewLayer\" >\r\n {{'igo.geo.draw.layer.createNewLayer' | translate}}\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n <button\r\n *ngIf=\"activeDrawingLayer\"\r\n mat-icon-button\r\n [color]=\"activeDrawingLayer.visible ? 'primary' : 'default'\"\r\n collapsibleButton\r\n tooltip-position=\"below\"\r\n matTooltipShowDelay=\"500\"\r\n [matTooltip]=\"activeDrawingLayer.visible ?\r\n ('igo.geo.layer.hideLayer' | translate) :\r\n ('igo.geo.layer.showLayer' | translate)\"\r\n (click)=\"activeDrawingLayer.visible = !activeDrawingLayer.visible\">\r\n <mat-icon\r\n [svgIcon]=\"activeDrawingLayer.visible ? 'eye' : 'eye-off'\">\r\n </mat-icon>\r\n </button>\r\n </div>\r\n <mat-divider></mat-divider>\r\n <div>\r\n <button\r\n *ngIf=\"activeStore.count$.getValue() > 0\"\r\n class=\"deleteBtn\"\r\n mat-icon-button\r\n color=\"warn\"\r\n tooltip-position=\"below\"\r\n matTooltipShowDelay=\"500\"\r\n [matTooltip]=\"'igo.geo.draw.delete' | translate\"\r\n [disabled]=\"(selectedFeatures$ | async).length === 0\"\r\n (click)=\"deleteDrawings()\">\r\n <mat-icon svgIcon=\"delete\"></mat-icon>\r\n </button>\r\n\r\n <div>\r\n <igo-entity-table\r\n #table\r\n class=\"table-compact\"\r\n [store]=\"activeStore\"\r\n [template]=\"tableTemplate\"\r\n (dblclick)=\"editLabelDrawing()\">\r\n </igo-entity-table>\r\n </div>\r\n </div>\r\n\r\n <div class=\"icon-options\">\r\n <mat-form-field *ngIf=\"icons.length >= 1\">\r\n <mat-label>{{ 'igo.geo.draw.icon' | translate }}</mat-label>\r\n <mat-select>\r\n <mat-select-trigger>\r\n <div *ngIf=\"icon\" class=\"box\">\r\n <img src=\"{{ icon }}\">\r\n </div>\r\n </mat-select-trigger>\r\n <mat-option value=\"\" (click)=\"onIconChange()\">{{ 'igo.geo.draw.noIcon' | translate }}</mat-option>\r\n <mat-option\r\n *ngFor=\"let icon_html of icons\"\r\n [value]=\"icon_html\"\r\n (click)=\"onIconChange(icon_html)\">\r\n <div class=\"box\">\r\n <img src=\"{{ icon_html }}\">\r\n </div>\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n </div>\r\n\r\n <button\r\n mat-icon-button\r\n color=\"accent\"\r\n disableRipple=\"true\"\r\n (click)=\"openShorcutsDialog()\"\r\n >\r\n <mat-icon\r\n class=\"shortcuts-icon\"\r\n svgIcon=\"keyboard-outline\"\r\n tooltip-position=\"below\"\r\n matTooltipShowDelay=\"500\"\r\n [matTooltip]=\"'igo.geo.draw.shortcuts' | translate\"\r\n >\r\n </mat-icon>\r\n </button>\r\n\r\n <button\r\n *ngIf=\"selectedFeatures$.value.length\"\r\n mat-raised-button\r\n color=\"primary\"\r\n (click)=\"openStyleModalDialog()\"\r\n [matTooltip]=\"'igo.geo.layer.style.styleModalTooltip' | translate\">\r\n {{'igo.geo.layer.style.styleModal' | translate}}\r\n <mat-icon\r\n class=\"style-icon\"\r\n svgIcon=\"palette\"\r\n [matBadge]=\"selectedFeatures$.value.length\"\r\n matBadgeColor=\"warn\"\r\n matBadgeSize=\"medium\">\r\n </mat-icon>\r\n </button>\r\n</div>\r\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}\n"] }]
|
|
18317
|
+
}], function () { return [{ type: i2$1.LanguageService }, { type: i2$2.UntypedFormBuilder }, { type: DrawStyleService }, { type: i1.MatDialog }, { type: DrawIconService }]; }, { map: [{
|
|
18318
|
+
type: Input
|
|
18319
|
+
}], stores: [{
|
|
18320
|
+
type: Input
|
|
18321
|
+
}], drawControls: [{
|
|
18322
|
+
type: Input
|
|
18323
|
+
}], activeDrawingLayer: [{
|
|
18324
|
+
type: Input
|
|
18325
|
+
}], activeLayerChange: [{
|
|
18326
|
+
type: Output
|
|
18327
|
+
}], drawControlsEvent: [{
|
|
18328
|
+
type: Output
|
|
18329
|
+
}], layersIDEvent: [{
|
|
18330
|
+
type: Output
|
|
18331
|
+
}], fillColor: [{
|
|
18038
18332
|
type: Output
|
|
18039
18333
|
}], strokeColor: [{
|
|
18040
18334
|
type: Output
|
|
@@ -18044,10 +18338,9 @@ DrawComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: DrawComponent
|
|
|
18044
18338
|
type: Output
|
|
18045
18339
|
}], fontStyle: [{
|
|
18046
18340
|
type: Output
|
|
18047
|
-
}],
|
|
18048
|
-
type:
|
|
18049
|
-
|
|
18050
|
-
type: Input
|
|
18341
|
+
}], select: [{
|
|
18342
|
+
type: ViewChild,
|
|
18343
|
+
args: ['selectedLayer']
|
|
18051
18344
|
}] }); })();
|
|
18052
18345
|
|
|
18053
18346
|
function StyleModalComponent_div_6_Template(rf, ctx) { if (rf & 1) {
|
|
@@ -18456,7 +18749,7 @@ i0.ɵɵsetComponentScope(LayerItemComponent, [i1$1.NgClass, i1$1.NgIf, i2.MatIco
|
|
|
18456
18749
|
i0.ɵɵsetComponentScope(LayerLegendItemComponent, [i4.MatTooltip, i5.MatListItem, i9.MatLine, LayerLegendComponent], []);
|
|
18457
18750
|
i0.ɵɵsetComponentScope(LayerListComponent, [i2$2.NgControlStatus, i1$1.NgClass, i1$1.NgForOf, i1$1.NgIf, i1$1.NgTemplateOutlet, i2$2.NgModel, i11.MatDivider, i7$2.MatMenu, i7$2.MatMenuTrigger, i2.MatIcon, i3.MatButton, i4.MatTooltip, i5.MatList, i5.MatListItem, i13$1.MatSlider, i7$1.MatBadge, i12$1.MatCheckbox, i5$1.ListItemDirective, i5$1.ListComponent, i5$1.PanelComponent, LayerItemComponent,
|
|
18458
18751
|
LayerListToolComponent], [i1$1.AsyncPipe, i7.TranslatePipe]);
|
|
18459
|
-
i0.ɵɵsetComponentScope(LayerLegendListComponent, [i1$1.NgForOf, i1$1.NgIf, i11.MatDivider,
|
|
18752
|
+
i0.ɵɵsetComponentScope(LayerLegendListComponent, [i1$1.NgForOf, i1$1.NgIf, i11.MatDivider, i23.MatSlideToggle, i4.MatTooltip, i5$1.ListItemDirective, i5$1.ListComponent, LayerLegendItemComponent], [i1$1.AsyncPipe, i7.TranslatePipe]);
|
|
18460
18753
|
|
|
18461
18754
|
/**
|
|
18462
18755
|
* @ignore
|
|
@@ -19805,11 +20098,11 @@ IgoDrawModule.ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ imports: [FormsModul
|
|
|
19805
20098
|
BrowserModule,
|
|
19806
20099
|
BrowserAnimationsModule
|
|
19807
20100
|
],
|
|
19808
|
-
declarations: [DrawComponent, DrawPopupComponent, DrawShorcutsComponent],
|
|
20101
|
+
declarations: [DrawComponent, DrawPopupComponent, DrawLayerPopupComponent, DrawShorcutsComponent],
|
|
19809
20102
|
exports: [DrawComponent]
|
|
19810
20103
|
}]
|
|
19811
20104
|
}], null, null); })();
|
|
19812
|
-
(function () { (typeof ngJitMode === "undefined" || ngJitMode) && i0.ɵɵsetNgModuleScope(IgoDrawModule, { declarations: [DrawComponent, DrawPopupComponent, DrawShorcutsComponent], imports: [FormsModule,
|
|
20105
|
+
(function () { (typeof ngJitMode === "undefined" || ngJitMode) && i0.ɵɵsetNgModuleScope(IgoDrawModule, { declarations: [DrawComponent, DrawPopupComponent, DrawLayerPopupComponent, DrawShorcutsComponent], imports: [FormsModule,
|
|
19813
20106
|
ReactiveFormsModule,
|
|
19814
20107
|
CommonModule,
|
|
19815
20108
|
MatButtonModule,
|
|
@@ -23430,7 +23723,7 @@ TimeFilterFormComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: Tim
|
|
|
23430
23723
|
i0.ɵɵproperty("ngIf", !ctx.isRange && ctx.style === "slider" && ctx.type === "year");
|
|
23431
23724
|
i0.ɵɵadvance(1);
|
|
23432
23725
|
i0.ɵɵproperty("ngIf", ctx.style === "slider" && ctx.type !== "year");
|
|
23433
|
-
} }, dependencies: [i1$1.NgForOf, i1$1.NgIf, i2$2.DefaultValueAccessor, i2$2.NgControlStatus, i2$2.NgModel, i9.MatOption, i2.MatIcon, i3.MatButton, i13$1.MatSlider,
|
|
23726
|
+
} }, dependencies: [i1$1.NgForOf, i1$1.NgIf, i2$2.DefaultValueAccessor, i2$2.NgControlStatus, i2$2.NgModel, i9.MatOption, i2.MatIcon, i3.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}"] });
|
|
23434
23727
|
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(TimeFilterFormComponent, [{
|
|
23435
23728
|
type: Component,
|
|
23436
23729
|
args: [{ selector: 'igo-time-filter-form', template: "<div *ngIf=\"style === 'calendar' && type !=='year'\">\r\n <div *ngIf=\"!isRange\" class=\"igo-col igo-col-100 igo-col-100-m\">\r\n <mat-form-field>\r\n <mat-datetimepicker-toggle class=\"time-filter-mat-datetimepicker-toggle\" [for]=\"datetimePicker\" matSuffix></mat-datetimepicker-toggle>\r\n <mat-datetimepicker #datetimePicker type=\"{{type}}\" openOnFocus=\"true\" timeInterval=\"5\"></mat-datetimepicker>\r\n <input matInput autocomplete=\"false\"\r\n placeholder=\"{{'igo.geo.timeFilter.date' | translate}}\"\r\n [matDatetimepicker]=\"datetimePicker\"\r\n [(ngModel)]=\"date\"\r\n [min]=\"min\"\r\n [max]=\"max\"\r\n readonly=\"readonly\"\r\n (dateChange)=\"handleDateChange($event)\">\r\n </mat-form-field>\r\n\r\n </div>\r\n\r\n <div *ngIf=\"isRange\">\r\n <div class=\"igo-col igo-col-100\">\r\n <mat-form-field>\r\n <mat-datetimepicker-toggle class=\"time-filter-mat-datetimepicker-toggle\" [for]=\"minDatetimePicker\" matSuffix></mat-datetimepicker-toggle>\r\n <mat-datetimepicker #minDatetimePicker type=\"{{type}}\" openOnFocus=\"true\" timeInterval=\"5\"></mat-datetimepicker>\r\n <input matInput autocomplete=\"false\"\r\n placeholder=\"{{'igo.geo.timeFilter.startDate' | translate}}\"\r\n [matDatetimepicker]=\"minDatetimePicker\"\r\n [(ngModel)]=\"startDate\"\r\n [min]=\"min\"\r\n [max]=\"getRangeMaxDate()\"\r\n readonly=\"readonly\"\r\n (input)=\"startDate\"\r\n (dateChange)=\"handleDateChange($event)\">\r\n </mat-form-field>\r\n </div>\r\n\r\n <div class=\"igo-col igo-col-100\">\r\n <mat-form-field>\r\n <mat-datetimepicker-toggle class=\"time-filter-mat-datetimepicker-toggle\" [for]=\"maxDatetimePicker\" matSuffix></mat-datetimepicker-toggle>\r\n <mat-datetimepicker #maxDatetimePicker type=\"{{type}}\" openOnFocus=\"true\" timeInterval=\"5\"></mat-datetimepicker>\r\n <input matInput autocomplete=\"false\"\r\n placeholder=\"{{'igo.geo.timeFilter.endDate' | translate}}\"\r\n [matDatetimepicker]=\"maxDatetimePicker\"\r\n [(ngModel)]=\"endDate\"\r\n [min]=\"getRangeMinDate()\"\r\n [max]=\"max\"\r\n readonly=\"readonly\"\r\n (dateChange)=\"handleDateChange($event)\">\r\n </mat-form-field>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<div *ngIf=\"style === 'calendar' && type ==='year'\">\r\n\r\n <div *ngIf=\"!isRange\" class=\"igo-col igo-col-100 igo-col-100-m\">\r\n <mat-form-field>\r\n <mat-select placeholder=\"{{'igo.geo.timeFilter.date' | translate}}\" [(ngModel)]=\"year\" (selectionChange)=\"handleYearChange($event)\">\r\n <mat-option [value]=\"year\" *ngFor=\"let year of listYears\">{{year}}</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n </div>\r\n\r\n <div *ngIf=\"isRange\">\r\n <div class=\"igo-col igo-col-100\">\r\n <mat-form-field>\r\n <mat-select placeholder=\"{{'igo.geo.timeFilter.startDate' | translate}}\" [(ngModel)]=\"startYear\" (selectionChange)=\"handleYearChange($event)\">\r\n <mat-option [value]=\"startYear\" *ngFor=\"let startYear of startListYears\">{{startYear}}</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n </div>\r\n\r\n <div class=\"igo-col igo-col-100\">\r\n <mat-form-field>\r\n <mat-select placeholder=\"{{'igo.geo.timeFilter.endDate' | translate}}\" [(ngModel)]=\"endYear\" (selectionChange)=\"handleYearChange($event)\">\r\n <mat-option [value]=\"endYear\" *ngFor=\"let endYear of endListYears\">{{endYear}}</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n </div>\r\n </div>\r\n\r\n</div>\r\n\r\n\r\n <br>\r\n <div *ngIf=\"!isRange && style === 'slider' && type === 'year'\" class=\"igo-col igo-col-100 igo-col-100-m mat-typography\">\r\n <span>{{startYear}}</span>\r\n <mat-slider\r\n id=\"time-slider\"\r\n tickInterval=\"auto\"\r\n step=\"{{step}}\"\r\n [min]=\"startYear\"\r\n [max]=\"endYear\"\r\n [value]=\"handleSliderValue()\"\r\n [color]=\"color\"\r\n thumbLabel\r\n (input)=\"handleSliderYearChange($event)\"\r\n (change)=\"handleSliderYearChange($event)\"\r\n [disabled]= \"!options.enabled || !layer.visible\">\r\n </mat-slider>\r\n <span>{{endYear}}</span>\r\n <p *ngIf= \"options.enabled\" class=\"date-below\">{{year}}</p>\r\n <div #actions class=\"igo-layer-actions-container\">\r\n <mat-slide-toggle (change)=\"toggleFilterState()\" tooltip-position=\"below\" matTooltipShowDelay=\"500\"\r\n [matTooltip]=\"'igo.geo.filter.toggleFilterState' | translate\" [color]=\"color\" [checked]=\"options.enabled\"\r\n [disabled]=\"!layer.visible\">\r\n </mat-slide-toggle>\r\n <button [disabled]= \"!options.enabled || !layer.visible\" mat-icon-button color=\"primary\" (click)=\"playYear($event)\">\r\n <mat-icon svgIcon=\"{{playIcon}}\"></mat-icon>\r\n </button>\r\n <button [disabled]=\"!options.enabled || !layer.visible\" mat-icon-button color=\"primary\" (click)=\"resetFilter($event)\">\r\n <mat-icon svgIcon=\"{{resetIcon}}\"></mat-icon>\r\n </button>\r\n </div>\r\n </div>\r\n\r\n<div *ngIf=\"style === 'slider' && type !== 'year'\" class=\"igo-col igo-col-100 igo-col-100-m\">\r\n <mat-slider\r\n id=\"time-slider\"\r\n tickInterval=\"auto\"\r\n step=\"{{step}}\"\r\n [min]=\"dateToNumber(min)\"\r\n [max]=\"dateToNumber(max)\"\r\n [value]=\"handleSliderValue()\"\r\n thumbLabel\r\n (input)=\"handleSliderDateChange($event)\"\r\n (selectionChange)=\"handleSliderDateChange($event)\">\r\n </mat-slider>\r\n <p class=\"date-below\">{{handleSliderTooltip()}}</p>\r\n <button mat-icon-button color=\"primary\" (click)=\"playFilter($event)\">\r\n <mat-icon svgIcon=\"{{playIcon}}\"></mat-icon>\r\n </button>\r\n</div>\r\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"] }]
|
|
@@ -29058,8 +29351,8 @@ i0.ɵɵsetComponentScope(OgcFilterableFormComponent, [i1$1.NgForOf, i1$1.NgIf, i
|
|
|
29058
29351
|
i0.ɵɵsetComponentScope(OgcFilterableItemComponent, [i1$1.NgClass, i1$1.NgIf, i1$1.NgStyle, i2$2.NgControlStatus, i2$2.NgModel, i2.MatIcon, i3.MatButton, i12$1.MatCheckbox, i5.MatListItem, i5.MatListAvatarCssMatStyler, i9.MatLine, i11.MatDivider, i4.MatTooltip, LayerLegendComponent, i5$1.CollapseDirective, OgcFilterableFormComponent], [i1$1.AsyncPipe, i7.TranslatePipe]);
|
|
29059
29352
|
i0.ɵɵsetComponentScope(OgcFilterableListComponent, [i1$1.NgForOf, i1$1.NgIf, i5$1.ListItemDirective, i5$1.ListComponent, OgcFilterableItemComponent], [i7.TranslatePipe, FilterableDataSourcePipe]);
|
|
29060
29353
|
i0.ɵɵsetComponentScope(SpatialFilterTypeComponent, [i1$1.NgForOf, i9.MatOption, i2.MatIcon, i20.MatTabGroup, i20.MatTab, i18.MatButtonToggleGroup, i18.MatButtonToggle, i13.MatFormField, i13.MatLabel, i15.MatSelect, i4.MatTooltip, SpatialFilterListComponent], [i7.TranslatePipe]);
|
|
29061
|
-
i0.ɵɵsetComponentScope(SpatialFilterItemComponent, [i1$1.NgForOf, i1$1.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.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$1.MatCheckbox,
|
|
29062
|
-
i0.ɵɵsetComponentScope(OgcFilterTimeComponent, [i1$1.NgForOf, i1$1.NgIf, i2$2.NgControlStatus, i2$2.NgModel, i2$2.FormControlDirective, i9.MatOption, i2.MatIcon, i3.MatButton,
|
|
29354
|
+
i0.ɵɵsetComponentScope(SpatialFilterItemComponent, [i1$1.NgForOf, i1$1.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.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$1.MatCheckbox, i23.MatSlideToggle, i13.MatFormField, i13.MatLabel, i14.MatInput, i15.MatSelect, i4.MatTooltip, i5$1.EntityTableComponent, GeometryFormFieldInputComponent], [i1$1.AsyncPipe, i7.TranslatePipe]);
|
|
29355
|
+
i0.ɵɵsetComponentScope(OgcFilterTimeComponent, [i1$1.NgForOf, i1$1.NgIf, i2$2.NgControlStatus, i2$2.NgModel, i2$2.FormControlDirective, i9.MatOption, i2.MatIcon, i3.MatButton, i23.MatSlideToggle, i13.MatFormField, i13.MatLabel, i13.MatSuffix, i14.MatInput, i15.MatSelect, i4.MatTooltip, i25.MatDatepicker, i25.MatDatepickerInput, i25.MatDatepickerToggle, OgcFilterTimeSliderComponent], [i7.TranslatePipe]);
|
|
29063
29356
|
|
|
29064
29357
|
function ExportButtonComponent_button_0_Template(rf, ctx) { if (rf & 1) {
|
|
29065
29358
|
i0.ɵɵelementStart(0, "button", 1);
|
|
@@ -31034,7 +31327,7 @@ ImportExportComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: Impor
|
|
|
31034
31327
|
i0.ɵɵproperty("ngIf", i0.ɵɵpipeBind1(11, 13, ctx.exportableLayers$).length === 0 && ctx.selectedMode === "export");
|
|
31035
31328
|
i0.ɵɵadvance(2);
|
|
31036
31329
|
i0.ɵɵproperty("ngIf", i0.ɵɵpipeBind1(13, 15, ctx.exportableLayers$).length > 0 && ctx.selectedMode === "export");
|
|
31037
|
-
} }, dependencies: [i4.MatTooltip, i2$2.ɵNgNoValidate, i2$2.DefaultValueAccessor, i2$2.NgControlStatus, i2$2.NgControlStatusGroup, i2$2.FormGroupDirective, i2$2.FormControlName, i1$1.NgClass, i1$1.NgForOf, i1$1.NgIf, i3.MatButton, i18.MatButtonToggleGroup, i18.MatButtonToggle, i13.MatFormField, i13.MatLabel, i15.MatSelect, i15.MatSelectTrigger, i9.MatOption, i14.MatInput,
|
|
31330
|
+
} }, dependencies: [i4.MatTooltip, i2$2.ɵNgNoValidate, i2$2.DefaultValueAccessor, i2$2.NgControlStatus, i2$2.NgControlStatusGroup, i2$2.FormGroupDirective, i2$2.FormControlName, i1$1.NgClass, i1$1.NgForOf, i1$1.NgIf, i3.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$1.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}"] });
|
|
31038
31331
|
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ImportExportComponent, [{
|
|
31039
31332
|
type: Component,
|
|
31040
31333
|
args: [{ selector: 'igo-import-export', template: "<div class=\"import-export-toggle mat-typography\">\r\n <mat-button-toggle-group\r\n [value]=\"selectedMode\"\r\n (change)=\"onImportExportChange($event)\">\r\n <mat-button-toggle [value]=\"'import'\">\r\n {{'igo.geo.importExportForm.importTabTitle' | translate}}\r\n </mat-button-toggle>\r\n <mat-button-toggle [value]=\"'export'\">\r\n {{'igo.geo.importExportForm.exportTabTitle' | translate}}\r\n </mat-button-toggle>\r\n </mat-button-toggle-group>\r\n</div>\r\n\r\n<form class=\"igo-form\" [formGroup]=\"importForm\" *ngIf=\"selectedMode === 'import'\">\r\n <div class=\"igo-input-container\">\r\n <mat-form-field>\r\n <mat-label>{{'igo.geo.importExportForm.importProjPlaceholder' | translate}}</mat-label>\r\n <mat-select\r\n [(value)]=\"inputProj\">\r\n <mat-option\r\n *ngFor=\"let projection of (projections$ | async)\"\r\n [value]=\"projection\"\r\n (click)=\"$event.stopPropagation()\">\r\n <p mat-line *ngIf=\"projection.translateKey\">{{('igo.geo.importExportForm.projections.' + projection.translateKey) | translate: projection}}</p>\r\n <p mat-line *ngIf=\"!projection.translateKey\">{{projection.alias}}</p>\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n </div>\r\n\r\n <div\r\n tooltip-position=\"below\"\r\n matTooltipShowDelay=\"500\"\r\n [matTooltip]=\"importForm.invalid ? ('igo.geo.importExportForm.projections.choose' | translate) : ('igo.geo.importExportForm.importButton' | translate)\"\r\n class=\"igo-form-button-group\">\r\n <button\r\n [disabled]=\"importForm.invalid || (loading$ | async)\"\r\n mat-raised-button\r\n type=\"button\"\r\n (click)=\"fileInput.click()\">\r\n {{'igo.geo.importExportForm.importButton' | translate}}\r\n </button>\r\n <igo-spinner [shown]=\"loading$ | async\"></igo-spinner>\r\n <input\r\n hidden\r\n #fileInput\r\n type=\"file\"\r\n [style.display]=\"'none'\"\r\n (click)=\"fileInput.value = null\"\r\n (change)=\"importFiles($event.target.files)\">\r\n </div>\r\n</form>\r\n<section class=\"mat-typography\" *ngIf=\"selectedMode === 'import'\">\r\n <div *ngIf=\"importHtmlClarifications === ''\">\r\n <h4>{{'igo.geo.importExportForm.importClarifications' | translate}}</h4>\r\n <ul>\r\n <li>{{'igo.geo.importExportForm.importSizeMax' | translate: {size: fileSizeMb} }}</li>\r\n <li>{{'igo.geo.importExportForm.importFormatAuthorized' | translate}}</li>\r\n <li>{{'igo.geo.importExportForm.importShpZip' | translate}}</li>\r\n </ul>\r\n </div>\r\n <igo-custom-html *ngIf=\"importHtmlClarifications !== ''\" class=\"mat-typography\"\r\n [html]=\"importHtmlClarifications\">\r\n </igo-custom-html>\r\n</section>\r\n\r\n<section class=\"mat-typography\" *ngIf=\"(exportableLayers$ | async).length === 0 && selectedMode === 'export'\">\r\n <h4>{{'igo.geo.importExportForm.exportNoLayersExportable' | translate}}</h4>\r\n</section>\r\n\r\n<form class=\"igo-form\" [formGroup]=\"form\" *ngIf=\"(exportableLayers$ | async).length > 0 && selectedMode === 'export'\">\r\n <div class=\"igo-input-container\">\r\n <mat-form-field>\r\n <mat-label>{{'igo.geo.importExportForm.exportLayerPlaceholder' | translate}}</mat-label>\r\n <mat-select\r\n [(value)]=\"layers\" multiple>\r\n <mat-select-trigger>\r\n {{layers.length ? getLayerTitleById(layers[0]) : ''}}\r\n <span *ngIf=\"layers.length > 1\" class=\"export-select-trigger\">\r\n (+{{layers.length - 1}} {{(layers?.length === 2 ? 'igo.geo.importExportForm.other' : 'igo.geo.importExportForm.others') | translate }})\r\n </span>\r\n </mat-select-trigger>\r\n <mat-option\r\n *ngFor=\"let layer of (exportableLayers$ | async)\"\r\n [ngClass]=\"{'igo-export-layer-mat-option': layerHasSelectedFeatures(layer)}\"\r\n [value]=\"layer.id\"\r\n (click)=\"$event.stopPropagation()\">\r\n <p mat-line>{{layer.title}}</p>\r\n <p mat-line>\r\n <mat-slide-toggle *ngIf=\"layerHasSelectedFeatures(layer)\"\r\n [labelPosition]=\"'after'\"\r\n (click)=\"onlySelectedClick($event,layer.id)\"\r\n (checked)=\"inLayersIdToExportSelectionOnly(layer)\"\r\n (change)=\"onlySelected($event,layer.id)\">\r\n <small>{{'igo.geo.importExportForm.exportSelectedFeature' | translate}}</small>\r\n </mat-slide-toggle>\r\n </p>\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n </div>\r\n\r\n <div class=\"igo-input-container\">\r\n <mat-form-field>\r\n <mat-label>{{'igo.geo.importExportForm.exportFormatPlaceholder' | translate}}</mat-label>\r\n <mat-select\r\n formControlName=\"format\">\r\n <ng-container *ngIf=\"(formats$ | async).length !== 0\">\r\n <mat-option *ngFor=\"let format of (formats$ | async) | keyvalue\" [value]=\"format.key\">\r\n {{'igo.geo.export.format.' + format.value | translate}}\r\n </mat-option>\r\n </ng-container>\r\n <mat-option *ngIf=\"(formats$ | async).length === 0\" disabled=\"true\">\r\n {{'igo.geo.export.noFormat.title' | translate}}\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n </div>\r\n\r\n <div class=\"igo-input-container\" *ngIf=\"forceNaming && form.value.format !== 'URL'\">\r\n <mat-form-field>\r\n <input matInput formControlName=\"name\" placeholder=\"{{'igo.geo.importExportForm.exportFileNamePlaceholder' | translate}}\">\r\n </mat-form-field>\r\n </div>\r\n\r\n <div class=\"igo-input-container\" *ngIf=\"form.value.format === 'CSVcomma' || form.value.format === 'CSVsemicolon'\">\r\n <mat-form-field>\r\n <mat-label>{{'igo.geo.importExportForm.encodingPlaceholder' | translate}}</mat-label>\r\n <mat-select\r\n formControlName=\"encoding\">\r\n <ng-container *ngIf=\"(encodings$ | async).length !== 0\">\r\n <mat-option *ngFor=\"let encoding of (encodings$ | async) | keyvalue\" [value]=\"encoding.key\">\r\n {{'igo.geo.export.encoding.' + encoding.value | translate}}\r\n </mat-option>\r\n </ng-container>\r\n </mat-select>\r\n </mat-form-field>\r\n </div>\r\n\r\n <div class=\"export-combine-layers mat-typography\" *ngIf=\"layers.length > 1 && (form.value.format === 'CSVcomma' || form.value.format === 'CSVsemicolon')\">\r\n <mat-slide-toggle\r\n formControlName=\"combineLayers\"\r\n [labelPosition]=\"'before'\">\r\n {{'igo.geo.importExportForm.exportCombineResults' | translate}}\r\n </mat-slide-toggle>\r\n </div>\r\n\r\n <div class=\"export-separator mat-typography\" *ngIf=\"layers.length > 1 && (form.value.format === 'CSVcomma' || form.value.format === 'CSVsemicolon') && form.value.combineLayers\">\r\n <mat-slide-toggle\r\n formControlName=\"separator\"\r\n [labelPosition]=\"'before'\">\r\n {{'igo.geo.importExportForm.exportSeparator' | translate}}\r\n </mat-slide-toggle>\r\n </div>\r\n\r\n <div class=\"export-options mat-typography\" *ngIf=\"form.value.format !== 'URL'\">\r\n <mat-slide-toggle\r\n formControlName=\"featureInMapExtent\"\r\n [labelPosition]=\"'before'\">\r\n {{'igo.geo.importExportForm.exportFeatureInExtent' | translate}}\r\n </mat-slide-toggle>\r\n </div>\r\n\r\n <div class=\"igo-form-button-group\">\r\n <button\r\n mat-raised-button\r\n type=\"button\"\r\n [disabled]=\"!form.valid || (loading$ | async)\"\r\n (click)=\"handleExportFormSubmit(form.value)\">\r\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))}}\r\n </button>\r\n <igo-spinner [shown]=\"loading$ | async\"></igo-spinner>\r\n </div>\r\n\r\n <igo-custom-html *ngIf=\"exportHtmlClarifications !== ''\" class=\"mat-typography\"\r\n [html]=\"exportHtmlClarifications\">\r\n </igo-custom-html>\r\n\r\n</form>\r\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"] }]
|
|
@@ -31584,7 +31877,7 @@ IgoMeasurerModule.ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ imports: [Common
|
|
|
31584
31877
|
IgoLanguageModule,
|
|
31585
31878
|
IgoEntityTableModule], exports: [MeasureFormatPipe,
|
|
31586
31879
|
MeasurerComponent] }); })();
|
|
31587
|
-
i0.ɵɵsetComponentScope(MeasurerComponent, [i1$1.NgIf, i3.MatButton, i18.MatButtonToggleGroup, i18.MatButtonToggle, i2.MatIcon, i4.MatTooltip,
|
|
31880
|
+
i0.ɵɵsetComponentScope(MeasurerComponent, [i1$1.NgIf, i3.MatButton, i18.MatButtonToggleGroup, i18.MatButtonToggle, i2.MatIcon, i4.MatTooltip, i23.MatSlideToggle, i11.MatDivider, i5$1.EntityTableComponent, MeasurerItemComponent], [i1$1.AsyncPipe, i7.TranslatePipe]);
|
|
31588
31881
|
i0.ɵɵsetComponentScope(MeasurerDialogComponent, [i1$1.NgIf], [i7.TranslatePipe, MeasureFormatPipe]);
|
|
31589
31882
|
|
|
31590
31883
|
class IgoMeasureModule {
|
|
@@ -32860,7 +33153,7 @@ PrintFormComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: PrintFor
|
|
|
32860
33153
|
i0.ɵɵproperty("disabled", !ctx.form.valid || i0.ɵɵpipeBind1(62, 68, ctx.disabled$));
|
|
32861
33154
|
i0.ɵɵadvance(2);
|
|
32862
33155
|
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(64, 70, "igo.geo.printForm.saveBtn"), " ");
|
|
32863
|
-
} }, dependencies: [i1$1.NgForOf, i2$2.ɵNgNoValidate, i2$2.DefaultValueAccessor, i2$2.NgControlStatus, i2$2.NgControlStatusGroup, i2$2.FormGroupDirective, i2$2.FormControlName, i3.MatButton, i13.MatFormField, i15.MatSelect, i9.MatOption, i14.MatInput,
|
|
33156
|
+
} }, dependencies: [i1$1.NgForOf, i2$2.ɵNgNoValidate, i2$2.DefaultValueAccessor, i2$2.NgControlStatus, i2$2.NgControlStatusGroup, i2$2.FormGroupDirective, i2$2.FormControlName, i3.MatButton, i13.MatFormField, i15.MatSelect, i9.MatOption, i14.MatInput, i23.MatSlideToggle, i1$1.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}"] });
|
|
32864
33157
|
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(PrintFormComponent, [{
|
|
32865
33158
|
type: Component,
|
|
32866
33159
|
args: [{ selector: 'igo-print-form', template: "<form class=\"igo-form\" [formGroup]=\"form\">\r\n <div class=\"igo-input-container\">\r\n <mat-form-field>\r\n <input\r\n matInput\r\n formControlName=\"title\"\r\n placeholder=\"{{'igo.geo.printForm.title' | translate}}\">\r\n </mat-form-field>\r\n </div>\r\n <div class=\"igo-input-container\">\r\n <mat-form-field>\r\n <input\r\n matInput\r\n formControlName=\"subtitle\"\r\n placeholder=\"{{'igo.geo.printForm.subtitle' | translate}}\">\r\n </mat-form-field>\r\n </div>\r\n <div class=\"igo-input-container\">\r\n <mat-form-field>\r\n <input\r\n matInput\r\n formControlName=\"comment\"\r\n placeholder=\"{{'igo.geo.printForm.comment' | translate}}\">\r\n </mat-form-field>\r\n </div>\r\n\r\n <div class=\"igo-input-container\">\r\n <div class=\"print-slide-toggle-container mat-typography\">\r\n <mat-slide-toggle\r\n class=\"print-option\"\r\n formControlName=\"showProjection\"\r\n [labelPosition]=\"'before'\">\r\n {{'igo.geo.printForm.showProjection' | translate}}\r\n </mat-slide-toggle>\r\n <mat-slide-toggle\r\n class=\"print-option\"\r\n formControlName=\"showScale\"\r\n [labelPosition]=\"'before'\">\r\n {{'igo.geo.printForm.showScale' | translate}}\r\n </mat-slide-toggle>\r\n <mat-slide-toggle\r\n class=\"print-option\"\r\n formControlName=\"doZipFile\"\r\n [labelPosition]=\"'before'\"\r\n [style.display]=\"isPrintService ? 'none' : ''\">\r\n {{'igo.geo.printForm.doZipFile' | translate}}\r\n </mat-slide-toggle>\r\n </div>\r\n </div>\r\n\r\n <div class=\"igo-input-container\">\r\n <mat-form-field>\r\n <mat-select\r\n formControlName=\"legendPosition\"\r\n placeholder=\"{{'igo.geo.printForm.legendPosition' | translate}}\">\r\n <mat-option *ngFor=\"let legendPosition of legendPositions | keyvalue \" [value]=\"legendPosition.key\">\r\n {{'igo.geo.printForm.legendPositions.' + legendPosition.value | translate}}\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n </div>\r\n\r\n <div class=\"igo-input-container\">\r\n <mat-form-field>\r\n <mat-select (selectionChange)=\"toggleImageSaveProp()\"\r\n formControlName=\"outputFormat\"\r\n placeholder=\"{{'igo.geo.printForm.outputFormat' | translate}}\">\r\n <mat-option *ngFor=\"let outputFormat of outputFormats | keyvalue \" [value]=\"outputFormat.key\">\r\n {{outputFormat.value}}\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n </div>\r\n\r\n <div class=\"igo-input-container\" [style.display]=\"isPrintService ? 'block' : 'none'\">\r\n <mat-form-field>\r\n <mat-select\r\n formControlName=\"paperFormat\"\r\n placeholder=\"{{'igo.geo.printForm.paperFormat' | translate}}\">\r\n <mat-option *ngFor=\"let paperFormat of paperFormats | keyvalue \" [value]=\"paperFormat.key\">\r\n {{('igo.geo.printForm.paperFormats.' + paperFormat.value) | translate}}\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n </div>\r\n\r\n <div class=\"igo-input-container\" [style.display]=\"isPrintService ? 'none' : 'block'\">\r\n <mat-form-field>\r\n <mat-select\r\n formControlName=\"imageFormat\"\r\n placeholder=\"{{'igo.geo.printForm.imageFormat' | translate}}\">\r\n <mat-option *ngFor=\"let imageFormat of imageFormats | keyvalue \" [value]=\"imageFormat.key\">\r\n {{imageFormat.value}}\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n </div>\r\n\r\n <div class=\"igo-input-container\" style=\"display: none;\">\r\n <mat-form-field>\r\n <mat-select\r\n formControlName=\"resolution\"\r\n placeholder=\"{{'igo.geo.printForm.resolution' | translate}}\">\r\n <mat-option *ngFor=\"let resolution of resolutions | keyvalue \" [value]=\"resolution.key\">\r\n {{resolution.value + ' PPI'}}\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n </div>\r\n\r\n <div class=\"igo-input-container\" [style.display]=\"isPrintService ? 'block' : 'none'\">\r\n <mat-form-field>\r\n <mat-select\r\n formControlName=\"orientation\"\r\n placeholder=\"{{'igo.geo.printForm.orientation' | translate}}\">\r\n <mat-option *ngFor=\"let orientation of orientations | keyvalue \" [value]=\"orientation.key\">\r\n {{('igo.geo.printForm.' + orientation.value) | translate}}\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n </div>\r\n\r\n <div class=\"igo-form-button-group print-button-top-padding\">\r\n <button\r\n mat-raised-button\r\n type=\"button\"\r\n [disabled]=\"!form.valid || (disabled$ | async)\"\r\n (click)=\"handleFormSubmit(form.value, form.valid)\">\r\n {{'igo.geo.printForm.saveBtn' | translate}}\r\n </button>\r\n </div>\r\n\r\n</form>\r\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"] }]
|
|
@@ -36817,7 +37110,7 @@ SearchSettingsComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: Sea
|
|
|
36817
37110
|
i0.ɵɵproperty("ngForOf", ctx.getSearchSources());
|
|
36818
37111
|
i0.ɵɵadvance(1);
|
|
36819
37112
|
i0.ɵɵproperty("ngIf", ctx.hasPointerReverseSearchSource && !ctx.isTouchScreen);
|
|
36820
|
-
} }, dependencies: [i1$1.NgForOf, i1$1.NgIf, i1$1.NgSwitch, i1$1.NgSwitchCase, i4.MatTooltip, i2.MatIcon, i3.MatButton, i7$2.MatMenu, i7$2.MatMenuItem, i7$2.MatMenuTrigger, i17.MatRadioGroup, i17.MatRadioButton, i12$1.MatCheckbox, i11.MatDivider,
|
|
37113
|
+
} }, dependencies: [i1$1.NgForOf, i1$1.NgIf, i1$1.NgSwitch, i1$1.NgSwitchCase, i4.MatTooltip, i2.MatIcon, i3.MatButton, i7$2.MatMenu, i7$2.MatMenuItem, i7$2.MatMenuTrigger, i17.MatRadioGroup, i17.MatRadioButton, i12$1.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}.pointer-summary-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 });
|
|
36821
37114
|
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(SearchSettingsComponent, [{
|
|
36822
37115
|
type: Component,
|
|
36823
37116
|
args: [{ selector: 'igo-search-settings', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"igo-search-settings\">\r\n\r\n <button\r\n mat-icon-button\r\n class=\"igo-search-settings-button\"\r\n color=\"primary\"\r\n tooltip-position=\"below\"\r\n matTooltipShowDelay=\"500\"\r\n [matTooltip]=\"'igo.geo.search.menu.tooltip' | translate\"\r\n [matMenuTriggerFor]=\"searchSettingsMenu\">\r\n <mat-icon svgIcon=\"chevron-down\"></mat-icon>\r\n </button>\r\n <mat-menu\r\n #searchSettingsMenu=\"matMenu\"\r\n class=\"no-border-radius\">\r\n <div class=\"checkAllButton\" *ngIf=\"getSearchSources().length>4\">\r\n <button mat-raised-button\r\n (click)=\"checkUncheckAllSources($event)\">{{!searchSourcesAllEnabled ? ('igo.geo.search.searchSources.unselectAll' | translate): ('igo.geo.search.searchSources.selectAll' | translate)}}</button>\r\n </div>\r\n <ng-container *ngFor=\"let source of getSearchSources()\">\r\n <span class=\"igo-search-settings-search-source\">\r\n <mat-checkbox\r\n class=\"igo-search-settings-checkbox\"\r\n [checked]=\"source.enabled\"\r\n [value]=\"source\"\r\n (click)=\"$event.stopPropagation()\"\r\n (change)=\"onCheckSearchSource($event, source)\">\r\n </mat-checkbox>\r\n <button *ngIf=\"source.settings.length\u00A0>\u00A00\"\r\n [matMenuTriggerFor]=\"sub_menu\"\r\n mat-menu-item>{{source.title}}\r\n </button>\r\n <button\r\n mat-menu-item\r\n *ngIf=\"source.settings.length\u00A0===\u00A00\">\r\n {{source.title}}\r\n </button>\r\n </span>\r\n <mat-menu #sub_menu=\"matMenu\">\r\n <ng-container *ngFor=\"let setting of source.settings\">\r\n <button\r\n mat-menu-item\r\n [matMenuTriggerFor]=\"test_sub_menu\">\r\n {{'igo.geo.search.searchSources.settings.'+ setting.title | translate}}\r\n </button>\r\n <mat-menu #test_sub_menu=\"matMenu\"\r\n [ngSwitch]=\"setting.type\"\r\n yPosition=\"above\">\r\n <span *ngSwitchCase=\"'radiobutton'\">\r\n <mat-radio-group\r\n class=\"igo-search-settings-radio-group\"\r\n [value]=\"setting\">\r\n <mat-radio-button *ngFor=\"let settingValue of setting.values\"\r\n class=\"mat-typography\"\r\n [value]=\"settingValue\"\r\n [matTooltip]=\"getAvailableHashtagsValues(settingValue)\"\r\n [checked]=\"settingValue.enabled\"\r\n (click)=\"$event.stopPropagation()\"\r\n (change)=\"settingsValueCheckedRadioButton($event, source, setting, settingValue)\">\r\n {{settingValue.title | translate}}\r\n </mat-radio-button>\r\n </mat-radio-group>\r\n </span>\r\n <span *ngSwitchCase=\"'checkbox'\">\r\n <div class=\"checkAllButton\" *ngIf=\"setting.values.length\u00A0>\u00A03\">\r\n <button mat-raised-button\r\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>\r\n </div>\r\n <mat-checkbox *ngFor=\"let settingValue of getAvailableValues(setting)\"\r\n class=\"mat-menu-item\"\r\n [style.display]=\"displayBlock\"\r\n [checked]=\"settingValue.enabled\"\r\n [value]=\"setting\"\r\n [matTooltip]=\"getAvailableHashtagsValues(settingValue)\"\r\n (click)=\"$event.stopPropagation()\"\r\n (change)=\"settingsValueCheckedCheckbox($event, source, setting, settingValue)\">\r\n {{settingValue.title | translate}}\r\n </mat-checkbox>\r\n </span>\r\n </mat-menu>\r\n </ng-container>\r\n </mat-menu>\r\n </ng-container>\r\n <span *ngIf=\"hasPointerReverseSearchSource && !isTouchScreen\">\r\n <mat-divider></mat-divider>\r\n <span class=\"pointer-summary-slide-toggle-container mat-typography\">\r\n <mat-slide-toggle class=\"pointer-summary-option\" (change)=\"changePointerReverseSearch($event)\" tooltip-position=\"below\"\r\n matTooltipShowDelay=\"500\" [matTooltip]=\"'igo.geo.search.pointerSearchSummary.tooltip' | translate\"\r\n (click)=\"$event.stopPropagation()\" [checked]=\"pointerSummaryEnabled\" [labelPosition]=\"'after'\">\r\n {{'igo.geo.search.pointerSearchSummary.title' | translate}}\r\n </mat-slide-toggle>\r\n <mat-slide-toggle class=\"pointer-summary-option\" (change)=\"changeSearchResultsGeometry($event)\" tooltip-position=\"below\"\r\n matTooltipShowDelay=\"500\" [matTooltip]=\"'igo.geo.search.searchResultsGeometry.tooltip' | translate\"\r\n (click)=\"$event.stopPropagation()\" [checked]=\"searchResultsGeometryEnabled\" [labelPosition]=\"'after'\">\r\n {{'igo.geo.search.searchResultsGeometry.title' | translate}}\r\n </mat-slide-toggle>\r\n </span>\r\n </span>\r\n </mat-menu>\r\n</div>\r\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}.pointer-summary-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"] }]
|