@igo2/geo 1.13.3 → 1.14.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2020/lib/catalog/catalog-browser/catalog-browser.component.mjs +4 -1
- package/esm2020/lib/catalog/shared/catalog.abstract.mjs +1 -1
- package/esm2020/lib/draw/draw/draw-popup.component.mjs +562 -32
- package/esm2020/lib/draw/draw/draw.component.mjs +358 -130
- package/esm2020/lib/draw/draw/draw.module.mjs +12 -4
- package/esm2020/lib/draw/shared/draw-style.service.mjs +2 -2
- package/esm2020/lib/draw/shared/draw.enum.mjs +14 -1
- package/esm2020/lib/draw/shared/draw.interface.mjs +1 -1
- package/esm2020/lib/draw/shared/draw.utils.mjs +19 -1
- package/esm2020/lib/filter/spatial-filter/spatial-filter-item/spatial-filter-item.component.mjs +21 -8
- package/esm2020/lib/geometry/geometry-form-field/geometry-form-field-input.component.mjs +12 -2
- package/esm2020/lib/geometry/shared/controls/draw.mjs +53 -10
- package/esm2020/lib/import-export/shared/export.service.mjs +2 -2
- package/esm2020/lib/import-export/shared/import.interface.mjs +1 -1
- package/esm2020/lib/import-export/shared/import.service.mjs +26 -6
- package/esm2020/lib/layer/shared/layers/layer.interface.mjs +1 -1
- package/esm2020/lib/map/shared/hover-feature.directive.mjs +2 -2
- package/esm2020/lib/map/shared/map.utils.mjs +4 -1
- package/esm2020/lib/offline/geoDB/configFileToGeoDB.service.mjs +33 -4
- package/esm2020/lib/offline/geoDB/geoDB.interface.mjs +1 -1
- package/esm2020/lib/offline/geoDB/geoDB.service.mjs +12 -12
- package/esm2020/lib/print/shared/geopdf.mjs +58 -0
- package/esm2020/lib/print/shared/index.mjs +2 -1
- package/esm2020/lib/print/shared/print.interface.mjs +1 -1
- package/esm2020/lib/print/shared/print.service.mjs +118 -64
- package/esm2020/lib/query/shared/query.service.mjs +3 -3
- package/esm2020/lib/search/shared/sources/index.mjs +1 -3
- package/fesm2015/igo2-geo.mjs +1320 -409
- package/fesm2015/igo2-geo.mjs.map +1 -1
- package/fesm2020/igo2-geo.mjs +1272 -405
- package/fesm2020/igo2-geo.mjs.map +1 -1
- package/lib/catalog/shared/catalog.abstract.d.ts +1 -0
- package/lib/draw/draw/draw-popup.component.d.ts +52 -5
- package/lib/draw/draw/draw.component.d.ts +34 -4
- package/lib/draw/draw/draw.module.d.ts +3 -1
- package/lib/draw/shared/draw.enum.d.ts +11 -0
- package/lib/draw/shared/draw.interface.d.ts +4 -0
- package/lib/draw/shared/draw.utils.d.ts +2 -0
- package/lib/filter/spatial-filter/spatial-filter-item/spatial-filter-item.component.d.ts +2 -1
- package/lib/geometry/geometry-form-field/geometry-form-field-input.component.d.ts +7 -1
- package/lib/geometry/shared/controls/draw.d.ts +18 -0
- package/lib/import-export/shared/import.interface.d.ts +2 -1
- package/lib/import-export/shared/import.service.d.ts +7 -0
- package/lib/layer/shared/layers/layer.interface.d.ts +4 -0
- package/lib/map/shared/map.utils.d.ts +1 -0
- package/lib/offline/geoDB/configFileToGeoDB.service.d.ts +1 -0
- package/lib/offline/geoDB/geoDB.interface.d.ts +1 -0
- package/lib/offline/geoDB/geoDB.service.d.ts +3 -3
- package/lib/print/shared/geopdf.d.ts +1 -0
- package/lib/print/shared/index.d.ts +1 -0
- package/lib/print/shared/print.interface.d.ts +5 -0
- package/lib/print/shared/print.service.d.ts +17 -8
- package/lib/search/shared/sources/index.d.ts +0 -2
- package/package.json +4 -4
- package/esm2020/lib/search/shared/sources/cadastre.mjs +0 -126
- package/esm2020/lib/search/shared/sources/cadastre.providers.mjs +0 -23
- package/lib/search/shared/sources/cadastre.d.ts +0 -33
- package/lib/search/shared/sources/cadastre.providers.d.ts +0 -18
package/fesm2015/igo2-geo.mjs
CHANGED
|
@@ -11,7 +11,7 @@ import { MatListModule } from '@angular/material/list';
|
|
|
11
11
|
import * as i4 from '@angular/material/tooltip';
|
|
12
12
|
import { MatTooltipModule } from '@angular/material/tooltip';
|
|
13
13
|
import * as i5$1 from '@igo2/common';
|
|
14
|
-
import { getEntityId, getEntityTitle, getEntityProperty, getEntityRevision, getEntityIcon, EntityStore, EntityStoreStrategy, EntityStoreWatcher, SecureImagePipe, IgoListModule, IgoCollapsibleModule, IgoImageModule, IgoPanelModule, IgoMatBadgeIconModule, IgoCustomHtmlModule, IgoEntityTableModule, IgoKeyValueModule, IgoFormModule, IgoFormFieldComponent, DOMService, EntityStoreFilterSelectionStrategy,
|
|
14
|
+
import { getEntityId, getEntityTitle, getEntityProperty, getEntityRevision, getEntityIcon, EntityStore, EntityStoreStrategy, EntityStoreWatcher, SecureImagePipe, EntityTableColumnRenderer, IgoListModule, IgoCollapsibleModule, IgoImageModule, IgoPanelModule, IgoMatBadgeIconModule, IgoCustomHtmlModule, IgoEntityTableModule, IgoKeyValueModule, IgoFormModule, IgoFormFieldComponent, DOMService, EntityStoreFilterSelectionStrategy, IgoEntityModule, IgoDOMModule, DragAndDropDirective, IgoSpinnerModule, IgoDrapDropModule, IgoConfirmDialogModule, getEntityTitleHtml, EntityStoreFilterCustomFuncStrategy, IgoStopPropagationModule, IgoFlexibleModule, WidgetService, Workspace, ActionStore, IgoWidgetModule } from '@igo2/common';
|
|
15
15
|
import * as i3 from '@angular/material/button';
|
|
16
16
|
import { MatButtonModule } from '@angular/material/button';
|
|
17
17
|
import * as i2$1 from '@igo2/core';
|
|
@@ -19,7 +19,7 @@ import { IgoLanguageModule, ConfigService, Media, StorageScope, IgoMessageModule
|
|
|
19
19
|
import * as i1 from '@angular/material/dialog';
|
|
20
20
|
import { MAT_DIALOG_DATA, MatDialogModule } from '@angular/material/dialog';
|
|
21
21
|
import * as i7 from '@ngx-translate/core';
|
|
22
|
-
import { BehaviorSubject, combineLatest, of, Observable, forkJoin, Subject, interval, skipWhile as skipWhile$1, zip, EMPTY, ReplaySubject, timer, fromEvent, throwError } from 'rxjs';
|
|
22
|
+
import { BehaviorSubject, combineLatest, of, Observable, forkJoin, Subject, interval, skipWhile as skipWhile$1, zip, EMPTY, ReplaySubject, timer, fromEvent, Subscription, throwError } from 'rxjs';
|
|
23
23
|
import { map, concatMap, first, catchError, skipWhile, debounceTime, skip, distinctUntilChanged, switchMap, take, mergeMap, debounce, takeUntil } from 'rxjs/operators';
|
|
24
24
|
import { Watcher, uuid, SubjectStatus, NumberUtils, ObjectUtils, userAgent, Clipboard, downloadContent, strEnum, ChangeUtils } from '@igo2/utils';
|
|
25
25
|
import olMap from 'ol/Map';
|
|
@@ -54,7 +54,7 @@ import { WMSCapabilities, WMTSCapabilities, EsriJSON } from 'ol/format';
|
|
|
54
54
|
import { Md5 } from 'ts-md5';
|
|
55
55
|
import { MAC } from 'ol/has';
|
|
56
56
|
import * as olfilter from 'ol/format/filter';
|
|
57
|
-
import
|
|
57
|
+
import olFormatWKT from 'ol/format/WKT';
|
|
58
58
|
import olFormatWFS from 'ol/format/WFS';
|
|
59
59
|
import moment from 'moment';
|
|
60
60
|
import olFormatGML2 from 'ol/format/GML2';
|
|
@@ -105,10 +105,10 @@ import { MAT_DATE_LOCALE, MatOptionModule, MatNativeDateModule } from '@angular/
|
|
|
105
105
|
import * as i13 from '@angular/material/form-field';
|
|
106
106
|
import { MatFormFieldModule } from '@angular/material/form-field';
|
|
107
107
|
import * as i2$2 from '@angular/forms';
|
|
108
|
-
import { ReactiveFormsModule, FormsModule, Validators
|
|
108
|
+
import { UntypedFormControl, ReactiveFormsModule, FormsModule, Validators } from '@angular/forms';
|
|
109
109
|
import * as i15 from '@angular/material/select';
|
|
110
110
|
import { MatSelectModule } from '@angular/material/select';
|
|
111
|
-
import * as i12
|
|
111
|
+
import * as i12 from '@angular/material/checkbox';
|
|
112
112
|
import { MatCheckboxModule } from '@angular/material/checkbox';
|
|
113
113
|
import * as i11 from '@angular/material/divider';
|
|
114
114
|
import { MatDividerModule } from '@angular/material/divider';
|
|
@@ -120,7 +120,7 @@ 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';
|
|
123
|
-
import * as i12 from 'ngx-color-picker';
|
|
123
|
+
import * as i12$1 from 'ngx-color-picker';
|
|
124
124
|
import { ColorPickerModule } from 'ngx-color-picker';
|
|
125
125
|
import scrollIntoView from 'scroll-into-view-if-needed';
|
|
126
126
|
import OlOverlay from 'ol/Overlay';
|
|
@@ -135,13 +135,13 @@ import { doubleClick } from 'ol/events/condition';
|
|
|
135
135
|
import lineIntersect from '@turf/line-intersect';
|
|
136
136
|
import * as i18 from '@angular/material/button-toggle';
|
|
137
137
|
import { MatButtonToggleModule } from '@angular/material/button-toggle';
|
|
138
|
+
import * as i17 from '@angular/material/radio';
|
|
139
|
+
import { MatRadioModule } from '@angular/material/radio';
|
|
138
140
|
import * as i11$1 from '@angular/material/autocomplete';
|
|
139
141
|
import { MatAutocompleteModule } from '@angular/material/autocomplete';
|
|
140
142
|
import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
|
|
141
143
|
import * as i25 from '@angular/material/datepicker';
|
|
142
144
|
import { MatDatepickerModule } from '@angular/material/datepicker';
|
|
143
|
-
import * as i17 from '@angular/material/radio';
|
|
144
|
-
import { MatRadioModule } from '@angular/material/radio';
|
|
145
145
|
import * as i21 from '@angular/material/table';
|
|
146
146
|
import { MatTableModule } from '@angular/material/table';
|
|
147
147
|
import * as i20 from '@angular/material/tabs';
|
|
@@ -157,7 +157,7 @@ import { SelectionModel } from '@angular/cdk/collections';
|
|
|
157
157
|
import { NestedTreeControl } from '@angular/cdk/tree';
|
|
158
158
|
import { encode } from 'windows-1252';
|
|
159
159
|
import { saveAs } from 'file-saver';
|
|
160
|
-
import
|
|
160
|
+
import jsPDF from 'jspdf';
|
|
161
161
|
import html2canvas from 'html2canvas';
|
|
162
162
|
import JSZip from 'jszip';
|
|
163
163
|
import * as i3$1 from '@angular/cdk/drag-drop';
|
|
@@ -1123,6 +1123,9 @@ function roundCoordTo(coord, decimal = 3) {
|
|
|
1123
1123
|
NumberUtils.roundToNDecimal(coord[1], decimal)
|
|
1124
1124
|
];
|
|
1125
1125
|
}
|
|
1126
|
+
function roundCoordToString(coord, decimal = 3) {
|
|
1127
|
+
return roundCoordTo(coord, decimal).map(r => r.toString());
|
|
1128
|
+
}
|
|
1126
1129
|
/**
|
|
1127
1130
|
* Returns an array of converted coordinates.
|
|
1128
1131
|
* Conversion is done for every configured projections
|
|
@@ -1581,7 +1584,7 @@ class OgcFilterWriter {
|
|
|
1581
1584
|
const wfsExpression = filterOptions.expression;
|
|
1582
1585
|
let geometry;
|
|
1583
1586
|
if (wfsWktGeometry) {
|
|
1584
|
-
const wkt = new
|
|
1587
|
+
const wkt = new olFormatWKT();
|
|
1585
1588
|
geometry = wkt.readGeometry(wfsWktGeometry, {
|
|
1586
1589
|
dataProjection: wfsSrsName,
|
|
1587
1590
|
featureProjection: wfsSrsName || 'EPSG:3857'
|
|
@@ -8755,7 +8758,7 @@ class HoverFeatureDirective {
|
|
|
8755
8758
|
zIndex: 901,
|
|
8756
8759
|
renderMode: "vector",
|
|
8757
8760
|
declutter: true,
|
|
8758
|
-
source: new olSourceVectorTile({}),
|
|
8761
|
+
source: new olSourceVectorTile({ projection: this.map.projection }),
|
|
8759
8762
|
style: (feature, resolution) => {
|
|
8760
8763
|
if (this.mvtStyleOptions && feature.getId() in this.selectionMVT) {
|
|
8761
8764
|
return this.createHoverStyle(feature, this.mvtStyleOptions, resolution);
|
|
@@ -9786,7 +9789,7 @@ class GeoDBService {
|
|
|
9786
9789
|
this.compression = compression;
|
|
9787
9790
|
this.dbName = 'geoData';
|
|
9788
9791
|
this.collisionsMap = new Map();
|
|
9789
|
-
this.
|
|
9792
|
+
this._newData = 0;
|
|
9790
9793
|
}
|
|
9791
9794
|
/**
|
|
9792
9795
|
* Only blob can be will be compressed
|
|
@@ -9821,7 +9824,7 @@ class GeoDBService {
|
|
|
9821
9824
|
return this.ngxIndexedDBService.getByID(this.dbName, url);
|
|
9822
9825
|
}), concatMap((dbObject) => {
|
|
9823
9826
|
if (!dbObject) {
|
|
9824
|
-
this.
|
|
9827
|
+
this._newData++;
|
|
9825
9828
|
return this.ngxIndexedDBService.add(this.dbName, geoDBData);
|
|
9826
9829
|
}
|
|
9827
9830
|
else {
|
|
@@ -9873,11 +9876,11 @@ class GeoDBService {
|
|
|
9873
9876
|
deleteByKey(url) {
|
|
9874
9877
|
return this.ngxIndexedDBService.deleteByKey(this.dbName, url);
|
|
9875
9878
|
}
|
|
9876
|
-
|
|
9879
|
+
getRegionCountByID(id) {
|
|
9877
9880
|
const subject = new Subject();
|
|
9878
9881
|
const dbRequest = this.getRegionByID(id)
|
|
9879
|
-
.subscribe((
|
|
9880
|
-
subject.next(
|
|
9882
|
+
.subscribe((datas) => {
|
|
9883
|
+
subject.next(datas.length);
|
|
9881
9884
|
subject.complete();
|
|
9882
9885
|
});
|
|
9883
9886
|
return subject;
|
|
@@ -9896,9 +9899,9 @@ class GeoDBService {
|
|
|
9896
9899
|
}
|
|
9897
9900
|
const IDBKey = IDBKeyRange.only(id);
|
|
9898
9901
|
const dbRequest = this.ngxIndexedDBService.getAllByIndex(this.dbName, 'regionID', IDBKey);
|
|
9899
|
-
dbRequest.subscribe((
|
|
9900
|
-
|
|
9901
|
-
this.ngxIndexedDBService.deleteByKey(this.dbName,
|
|
9902
|
+
dbRequest.subscribe((datas) => {
|
|
9903
|
+
datas.forEach((data) => {
|
|
9904
|
+
this.ngxIndexedDBService.deleteByKey(this.dbName, data.url);
|
|
9902
9905
|
});
|
|
9903
9906
|
});
|
|
9904
9907
|
return dbRequest;
|
|
@@ -9909,7 +9912,7 @@ class GeoDBService {
|
|
|
9909
9912
|
}
|
|
9910
9913
|
resetCounters() {
|
|
9911
9914
|
this.resetCollisionsMap();
|
|
9912
|
-
this.
|
|
9915
|
+
this._newData = 0;
|
|
9913
9916
|
}
|
|
9914
9917
|
resetCollisionsMap() {
|
|
9915
9918
|
this.collisionsMap = new Map();
|
|
@@ -9927,8 +9930,8 @@ class GeoDBService {
|
|
|
9927
9930
|
}
|
|
9928
9931
|
}
|
|
9929
9932
|
}
|
|
9930
|
-
get
|
|
9931
|
-
return this.
|
|
9933
|
+
get newData() {
|
|
9934
|
+
return this._newData;
|
|
9932
9935
|
}
|
|
9933
9936
|
}
|
|
9934
9937
|
GeoDBService.ɵfac = function GeoDBService_Factory(t) { return new (t || GeoDBService)(i0.ɵɵinject(i1$3.NgxIndexedDBService), i0.ɵɵinject(i2$1.CompressionService)); };
|
|
@@ -10994,7 +10997,7 @@ class QueryService {
|
|
|
10994
10997
|
features = this.extractGML2Data(res, layer, allowedFieldsAndAlias);
|
|
10995
10998
|
break;
|
|
10996
10999
|
}
|
|
10997
|
-
if (features.length > 0 && features[0].geometry === null) {
|
|
11000
|
+
if (features.length > 0 && (features[0].geometry === null || !features[0].geometry)) {
|
|
10998
11001
|
const geomToAdd = this.createGeometryFromUrlClick(url);
|
|
10999
11002
|
for (const feature of features) {
|
|
11000
11003
|
feature.geometry = geomToAdd;
|
|
@@ -11005,7 +11008,7 @@ class QueryService {
|
|
|
11005
11008
|
new RegExp('FEATURE_COUNT=' + this.featureCount) :
|
|
11006
11009
|
new RegExp('FEATURE_COUNT=' + this.defaultFeatureCount);
|
|
11007
11010
|
if (featureCount.test(url) &&
|
|
11008
|
-
((((_b = wmsDatasource.params) === null || _b === void 0 ? void 0 : _b.FEATURE_COUNT) && features.length === this.featureCount) ||
|
|
11011
|
+
((((_b = wmsDatasource.params) === null || _b === void 0 ? void 0 : _b.FEATURE_COUNT) && this.featureCount > 1 && features.length === this.featureCount) ||
|
|
11009
11012
|
(!((_c = wmsDatasource.params) === null || _c === void 0 ? void 0 : _c.FEATURE_COUNT) && features.length === this.defaultFeatureCount))) {
|
|
11010
11013
|
this.languageService.translate.get('igo.geo.query.featureCountMax', { value: layer.title }).subscribe(message => {
|
|
11011
11014
|
const messageObj = this.messageService.info(message);
|
|
@@ -12716,9 +12719,13 @@ class CatalogBrowserComponent {
|
|
|
12716
12719
|
*/
|
|
12717
12720
|
addLayersToMap(layers) {
|
|
12718
12721
|
const layers$ = layers.map((layer) => {
|
|
12722
|
+
var _a;
|
|
12719
12723
|
if (!layer.options.sourceOptions.optionsFromApi) {
|
|
12720
12724
|
layer.options.sourceOptions.optionsFromApi = true;
|
|
12721
12725
|
}
|
|
12726
|
+
if ((_a = this.catalog.profils) === null || _a === void 0 ? void 0 : _a.length) {
|
|
12727
|
+
layer.options.security = { profils: this.catalog.profils };
|
|
12728
|
+
}
|
|
12722
12729
|
return this.layerService.createAsyncLayer(layer.options);
|
|
12723
12730
|
});
|
|
12724
12731
|
zip(...layers$).subscribe((oLayers) => {
|
|
@@ -15858,7 +15865,20 @@ var FontType;
|
|
|
15858
15865
|
FontType["LucidaConsole"] = "Lucida Console";
|
|
15859
15866
|
FontType["BrushScriptMT"] = "Brush Script MT";
|
|
15860
15867
|
FontType["ComicSansMS"] = "Comic Sans MS";
|
|
15861
|
-
})(FontType || (FontType = {}));
|
|
15868
|
+
})(FontType || (FontType = {}));
|
|
15869
|
+
var LabelType;
|
|
15870
|
+
(function (LabelType) {
|
|
15871
|
+
LabelType["Coordinates"] = "Coordinates";
|
|
15872
|
+
LabelType["Length"] = "Length";
|
|
15873
|
+
LabelType["Area"] = "Area";
|
|
15874
|
+
LabelType["Predefined"] = "Predefined";
|
|
15875
|
+
LabelType["Custom"] = "Custom";
|
|
15876
|
+
})(LabelType || (LabelType = {}));
|
|
15877
|
+
var CoordinatesUnit;
|
|
15878
|
+
(function (CoordinatesUnit) {
|
|
15879
|
+
CoordinatesUnit["DecimalDegree"] = "DD";
|
|
15880
|
+
CoordinatesUnit["DegreesMinutesSeconds"] = "DMS";
|
|
15881
|
+
})(CoordinatesUnit || (CoordinatesUnit = {}));
|
|
15862
15882
|
|
|
15863
15883
|
class DrawIconService {
|
|
15864
15884
|
constructor(config) {
|
|
@@ -16500,6 +16520,22 @@ function createOlTooltipDrawAtPoint(olPoint) {
|
|
|
16500
16520
|
olTooltip.setPosition(olPoint.getFlatCoordinates());
|
|
16501
16521
|
olPoint.set('_tooltip', olTooltip);
|
|
16502
16522
|
return olTooltip;
|
|
16523
|
+
}
|
|
16524
|
+
function DDtoDMS(value, unit) {
|
|
16525
|
+
const conversionMapper = new Map([
|
|
16526
|
+
[CoordinatesUnit.DecimalDegree, (val) => {
|
|
16527
|
+
if (typeof val[0] === 'number') {
|
|
16528
|
+
return roundCoordToString(val, 5);
|
|
16529
|
+
}
|
|
16530
|
+
else {
|
|
16531
|
+
const numVal = [Number(val[0]), Number(val[1])];
|
|
16532
|
+
return roundCoordToString(numVal, 5);
|
|
16533
|
+
}
|
|
16534
|
+
}],
|
|
16535
|
+
[CoordinatesUnit.DegreesMinutesSeconds, (val) => convertDDToDMS(val, 2)]
|
|
16536
|
+
]);
|
|
16537
|
+
let conversion = conversionMapper.get(unit);
|
|
16538
|
+
return conversion ? conversion(value) : undefined;
|
|
16503
16539
|
}
|
|
16504
16540
|
|
|
16505
16541
|
class DrawStyleService {
|
|
@@ -16509,7 +16545,7 @@ class DrawStyleService {
|
|
|
16509
16545
|
this.strokeColor = 'rgba(143,7,7,1)';
|
|
16510
16546
|
this.strokeWidth = 1;
|
|
16511
16547
|
this.labelsAreShown = true;
|
|
16512
|
-
this.fontSize = '
|
|
16548
|
+
this.fontSize = '15';
|
|
16513
16549
|
this.fontStyle = FontType.Arial.toString();
|
|
16514
16550
|
this.offsetX = 0;
|
|
16515
16551
|
this.offsetY = 0;
|
|
@@ -17404,8 +17440,24 @@ class DrawControl {
|
|
|
17404
17440
|
* Freehand mode observable (defaults to false)
|
|
17405
17441
|
*/
|
|
17406
17442
|
this.freehand$ = new BehaviorSubject(false);
|
|
17443
|
+
/**
|
|
17444
|
+
* Observables from predefined radius (defaults to false and undefined)
|
|
17445
|
+
*/
|
|
17446
|
+
this.ispredefinedRadius$ = new BehaviorSubject(false);
|
|
17447
|
+
this.predefinedRadius$ = new BehaviorSubject(undefined);
|
|
17448
|
+
this.radiusDrawEnd$ = new BehaviorSubject(undefined);
|
|
17407
17449
|
this.olDrawingLayer = options.drawingLayer ? options.drawingLayer : this.createOlInnerOverlayLayer();
|
|
17408
17450
|
this.olGeometryType = this.options.geometryType;
|
|
17451
|
+
this.olInteractionStyle = this.options.interactionStyle;
|
|
17452
|
+
}
|
|
17453
|
+
/**
|
|
17454
|
+
* take the value of radius
|
|
17455
|
+
*/
|
|
17456
|
+
get radiusVal() {
|
|
17457
|
+
return this.predefinedRadius$.getValue();
|
|
17458
|
+
}
|
|
17459
|
+
set radiusValData(radiusCercle) {
|
|
17460
|
+
this.predefinedRadius$.next(radiusCercle);
|
|
17409
17461
|
}
|
|
17410
17462
|
/**
|
|
17411
17463
|
* Wheter the control is active
|
|
@@ -17442,6 +17494,9 @@ class DrawControl {
|
|
|
17442
17494
|
getSource() {
|
|
17443
17495
|
return this.olDrawingLayerSource;
|
|
17444
17496
|
}
|
|
17497
|
+
setOlInteractionStyle(style) {
|
|
17498
|
+
this.olInteractionStyle = style;
|
|
17499
|
+
}
|
|
17445
17500
|
/**
|
|
17446
17501
|
* Set the current geometry type
|
|
17447
17502
|
* @param geometryType the geometry type
|
|
@@ -17449,6 +17504,12 @@ class DrawControl {
|
|
|
17449
17504
|
setGeometryType(geometryType) {
|
|
17450
17505
|
this.olGeometryType = geometryType;
|
|
17451
17506
|
}
|
|
17507
|
+
/**
|
|
17508
|
+
* Get the current geometry type
|
|
17509
|
+
*/
|
|
17510
|
+
getGeometryType() {
|
|
17511
|
+
return this.olGeometryType;
|
|
17512
|
+
}
|
|
17452
17513
|
/**
|
|
17453
17514
|
* Create a drawing source if none is defined in the options
|
|
17454
17515
|
*/
|
|
@@ -17490,21 +17551,35 @@ class DrawControl {
|
|
|
17490
17551
|
// Create Draw interaction
|
|
17491
17552
|
let olDrawInteraction;
|
|
17492
17553
|
if (!this.freehand$.getValue()) {
|
|
17493
|
-
|
|
17494
|
-
|
|
17495
|
-
|
|
17496
|
-
|
|
17497
|
-
|
|
17498
|
-
|
|
17499
|
-
|
|
17500
|
-
|
|
17501
|
-
|
|
17554
|
+
if (!this.ispredefinedRadius$.getValue()) {
|
|
17555
|
+
olDrawInteraction = new OlDraw({
|
|
17556
|
+
type: this.olGeometryType,
|
|
17557
|
+
source: this.getSource(),
|
|
17558
|
+
stopClick: true,
|
|
17559
|
+
style: this.olInteractionStyle,
|
|
17560
|
+
maxPoints: this.options.maxPoints,
|
|
17561
|
+
freehand: false,
|
|
17562
|
+
freehandCondition: () => false
|
|
17563
|
+
});
|
|
17564
|
+
}
|
|
17565
|
+
else {
|
|
17566
|
+
olDrawInteraction = new OlDraw({
|
|
17567
|
+
type: 'Point',
|
|
17568
|
+
source: this.getSource(),
|
|
17569
|
+
stopClick: true,
|
|
17570
|
+
style: this.olInteractionStyle,
|
|
17571
|
+
maxPoints: this.options.maxPoints,
|
|
17572
|
+
freehand: false,
|
|
17573
|
+
freehandCondition: () => false
|
|
17574
|
+
});
|
|
17575
|
+
}
|
|
17502
17576
|
}
|
|
17503
17577
|
else {
|
|
17504
17578
|
if (this.olGeometryType === 'Point') {
|
|
17505
17579
|
olDrawInteraction = new OlDraw({
|
|
17506
17580
|
type: 'Circle',
|
|
17507
17581
|
source: this.getSource(),
|
|
17582
|
+
style: typeof this.olInteractionStyle === 'function' ? undefined : this.olInteractionStyle,
|
|
17508
17583
|
maxPoints: this.options.maxPoints,
|
|
17509
17584
|
freehand: true
|
|
17510
17585
|
});
|
|
@@ -17513,6 +17588,7 @@ class DrawControl {
|
|
|
17513
17588
|
olDrawInteraction = new OlDraw({
|
|
17514
17589
|
type: this.olGeometryType,
|
|
17515
17590
|
source: this.getSource(),
|
|
17591
|
+
style: this.olInteractionStyle,
|
|
17516
17592
|
maxPoints: this.options.maxPoints,
|
|
17517
17593
|
freehand: true
|
|
17518
17594
|
});
|
|
@@ -17575,6 +17651,9 @@ class DrawControl {
|
|
|
17575
17651
|
* @param event Draw event (drawend)
|
|
17576
17652
|
*/
|
|
17577
17653
|
onDrawEnd(event) {
|
|
17654
|
+
if (event.feature.getGeometry().getType() === 'Point') {
|
|
17655
|
+
this.radiusDrawEnd$.next(this.predefinedRadius$.getValue());
|
|
17656
|
+
}
|
|
17578
17657
|
this.unsubscribeKeyDown();
|
|
17579
17658
|
unByKey(this.onDrawKey);
|
|
17580
17659
|
const olGeometry = event.feature.getGeometry();
|
|
@@ -17632,63 +17711,614 @@ class DrawControl {
|
|
|
17632
17711
|
}
|
|
17633
17712
|
}
|
|
17634
17713
|
|
|
17714
|
+
function DrawPopupComponent_div_12_mat_radio_group_5_mat_radio_button_1_Template(rf, ctx) {
|
|
17715
|
+
if (rf & 1) {
|
|
17716
|
+
const _r10 = i0.ɵɵgetCurrentView();
|
|
17717
|
+
i0.ɵɵelementStart(0, "mat-radio-button", 11);
|
|
17718
|
+
i0.ɵɵlistener("change", function DrawPopupComponent_div_12_mat_radio_group_5_mat_radio_button_1_Template_mat_radio_button_change_0_listener($event) { i0.ɵɵrestoreView(_r10); const ctx_r9 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r9.onLabelTypeChange($event.value)); });
|
|
17719
|
+
i0.ɵɵtext(1);
|
|
17720
|
+
i0.ɵɵelementEnd();
|
|
17721
|
+
}
|
|
17722
|
+
if (rf & 2) {
|
|
17723
|
+
const option_r8 = ctx.$implicit;
|
|
17724
|
+
const ctx_r7 = i0.ɵɵnextContext(3);
|
|
17725
|
+
i0.ɵɵproperty("value", option_r8.value)("disabled", ctx_r7.optionAvailable(option_r8.value))("checked", option_r8.checked);
|
|
17726
|
+
i0.ɵɵadvance(1);
|
|
17727
|
+
i0.ɵɵtextInterpolate1(" ", ctx_r7.getProperLengthLabel(option_r8.value), " ");
|
|
17728
|
+
}
|
|
17729
|
+
}
|
|
17730
|
+
function DrawPopupComponent_div_12_mat_radio_group_5_Template(rf, ctx) {
|
|
17731
|
+
if (rf & 1) {
|
|
17732
|
+
i0.ɵɵelementStart(0, "mat-radio-group", 5);
|
|
17733
|
+
i0.ɵɵtemplate(1, DrawPopupComponent_div_12_mat_radio_group_5_mat_radio_button_1_Template, 2, 4, "mat-radio-button", 10);
|
|
17734
|
+
i0.ɵɵelementEnd();
|
|
17735
|
+
}
|
|
17736
|
+
if (rf & 2) {
|
|
17737
|
+
const ctx_r2 = i0.ɵɵnextContext(2);
|
|
17738
|
+
i0.ɵɵadvance(1);
|
|
17739
|
+
i0.ɵɵproperty("ngForOf", ctx_r2.arrayBuiltInType);
|
|
17740
|
+
}
|
|
17741
|
+
}
|
|
17742
|
+
function DrawPopupComponent_div_12_ng_container_6_mat_checkbox_1_Template(rf, ctx) {
|
|
17743
|
+
if (rf & 1) {
|
|
17744
|
+
const _r14 = i0.ɵɵgetCurrentView();
|
|
17745
|
+
i0.ɵɵelementStart(0, "mat-checkbox", 13);
|
|
17746
|
+
i0.ɵɵlistener("change", function DrawPopupComponent_div_12_ng_container_6_mat_checkbox_1_Template_mat_checkbox_change_0_listener($event) { i0.ɵɵrestoreView(_r14); const ctx_r13 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r13.onLabelTypeChange($event.source.value, $event.checked)); });
|
|
17747
|
+
i0.ɵɵtext(1);
|
|
17748
|
+
i0.ɵɵelementEnd();
|
|
17749
|
+
}
|
|
17750
|
+
if (rf & 2) {
|
|
17751
|
+
const option_r12 = ctx.$implicit;
|
|
17752
|
+
const ctx_r11 = i0.ɵɵnextContext(3);
|
|
17753
|
+
i0.ɵɵproperty("value", option_r12.value)("disabled", ctx_r11.optionAvailable(option_r12.value))("checked", option_r12.checked);
|
|
17754
|
+
i0.ɵɵadvance(1);
|
|
17755
|
+
i0.ɵɵtextInterpolate1(" ", ctx_r11.getProperLengthLabel(option_r12.value), " ");
|
|
17756
|
+
}
|
|
17757
|
+
}
|
|
17758
|
+
function DrawPopupComponent_div_12_ng_container_6_Template(rf, ctx) {
|
|
17759
|
+
if (rf & 1) {
|
|
17760
|
+
i0.ɵɵelementContainerStart(0, 5);
|
|
17761
|
+
i0.ɵɵtemplate(1, DrawPopupComponent_div_12_ng_container_6_mat_checkbox_1_Template, 2, 4, "mat-checkbox", 12);
|
|
17762
|
+
i0.ɵɵelementContainerEnd();
|
|
17763
|
+
}
|
|
17764
|
+
if (rf & 2) {
|
|
17765
|
+
const ctx_r3 = i0.ɵɵnextContext(2);
|
|
17766
|
+
i0.ɵɵadvance(1);
|
|
17767
|
+
i0.ɵɵproperty("ngForOf", ctx_r3.arrayBuiltInType);
|
|
17768
|
+
}
|
|
17769
|
+
}
|
|
17770
|
+
function DrawPopupComponent_div_12_div_7_mat_option_6_Template(rf, ctx) {
|
|
17771
|
+
if (rf & 1) {
|
|
17772
|
+
i0.ɵɵelementStart(0, "mat-option", 3);
|
|
17773
|
+
i0.ɵɵtext(1);
|
|
17774
|
+
i0.ɵɵelementEnd();
|
|
17775
|
+
}
|
|
17776
|
+
if (rf & 2) {
|
|
17777
|
+
const unit_r17 = ctx.$implicit;
|
|
17778
|
+
i0.ɵɵproperty("value", unit_r17);
|
|
17779
|
+
i0.ɵɵadvance(1);
|
|
17780
|
+
i0.ɵɵtextInterpolate1(" ", unit_r17, " ");
|
|
17781
|
+
}
|
|
17782
|
+
}
|
|
17783
|
+
function DrawPopupComponent_div_12_div_7_Template(rf, ctx) {
|
|
17784
|
+
if (rf & 1) {
|
|
17785
|
+
const _r19 = i0.ɵɵgetCurrentView();
|
|
17786
|
+
i0.ɵɵelementStart(0, "div")(1, "mat-form-field", 14);
|
|
17787
|
+
i0.ɵɵelement(2, "input", 15, 16);
|
|
17788
|
+
i0.ɵɵelementEnd();
|
|
17789
|
+
i0.ɵɵelementStart(4, "mat-form-field", 17)(5, "mat-select", 18);
|
|
17790
|
+
i0.ɵɵlistener("selectionChange", function DrawPopupComponent_div_12_div_7_Template_mat_select_selectionChange_5_listener($event) { i0.ɵɵrestoreView(_r19); const ctx_r18 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r18.onChangeCoordinateUnit($event.value)); });
|
|
17791
|
+
i0.ɵɵtemplate(6, DrawPopupComponent_div_12_div_7_mat_option_6_Template, 2, 2, "mat-option", 19);
|
|
17792
|
+
i0.ɵɵelementEnd()()();
|
|
17793
|
+
}
|
|
17794
|
+
if (rf & 2) {
|
|
17795
|
+
const ctx_r4 = i0.ɵɵnextContext(2);
|
|
17796
|
+
i0.ɵɵadvance(2);
|
|
17797
|
+
i0.ɵɵpropertyInterpolate("value", ctx_r4.currentCoordinates);
|
|
17798
|
+
i0.ɵɵadvance(3);
|
|
17799
|
+
i0.ɵɵproperty("value", ctx_r4.coordinatesMeasureUnit);
|
|
17800
|
+
i0.ɵɵadvance(1);
|
|
17801
|
+
i0.ɵɵproperty("ngForOf", ctx_r4.allCoordinatesUnits);
|
|
17802
|
+
}
|
|
17803
|
+
}
|
|
17804
|
+
function DrawPopupComponent_div_12_div_8_mat_option_6_Template(rf, ctx) {
|
|
17805
|
+
if (rf & 1) {
|
|
17806
|
+
i0.ɵɵelementStart(0, "mat-option", 3);
|
|
17807
|
+
i0.ɵɵtext(1);
|
|
17808
|
+
i0.ɵɵelementEnd();
|
|
17809
|
+
}
|
|
17810
|
+
if (rf & 2) {
|
|
17811
|
+
const unit_r22 = ctx.$implicit;
|
|
17812
|
+
const ctx_r21 = i0.ɵɵnextContext(3);
|
|
17813
|
+
i0.ɵɵproperty("value", unit_r22);
|
|
17814
|
+
i0.ɵɵadvance(1);
|
|
17815
|
+
i0.ɵɵtextInterpolate1(" ", ctx_r21.getLengthUnitEnum(unit_r22), " ");
|
|
17816
|
+
}
|
|
17817
|
+
}
|
|
17818
|
+
function DrawPopupComponent_div_12_div_8_Template(rf, ctx) {
|
|
17819
|
+
if (rf & 1) {
|
|
17820
|
+
const _r24 = i0.ɵɵgetCurrentView();
|
|
17821
|
+
i0.ɵɵelementStart(0, "div")(1, "mat-form-field", 14);
|
|
17822
|
+
i0.ɵɵelement(2, "input", 20, 16);
|
|
17823
|
+
i0.ɵɵelementEnd();
|
|
17824
|
+
i0.ɵɵelementStart(4, "mat-form-field", 17)(5, "mat-select", 18);
|
|
17825
|
+
i0.ɵɵlistener("selectionChange", function DrawPopupComponent_div_12_div_8_Template_mat_select_selectionChange_5_listener($event) { i0.ɵɵrestoreView(_r24); const ctx_r23 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r23.onChangeLengthUnit($event.value)); });
|
|
17826
|
+
i0.ɵɵtemplate(6, DrawPopupComponent_div_12_div_8_mat_option_6_Template, 2, 2, "mat-option", 19);
|
|
17827
|
+
i0.ɵɵelementEnd()()();
|
|
17828
|
+
}
|
|
17829
|
+
if (rf & 2) {
|
|
17830
|
+
const ctx_r5 = i0.ɵɵnextContext(2);
|
|
17831
|
+
i0.ɵɵadvance(2);
|
|
17832
|
+
i0.ɵɵpropertyInterpolate("placeholder", ctx_r5.lengthLabelT);
|
|
17833
|
+
i0.ɵɵpropertyInterpolate("value", ctx_r5.currentLength);
|
|
17834
|
+
i0.ɵɵadvance(3);
|
|
17835
|
+
i0.ɵɵproperty("value", ctx_r5.lengthMeasureUnit);
|
|
17836
|
+
i0.ɵɵadvance(1);
|
|
17837
|
+
i0.ɵɵproperty("ngForOf", ctx_r5.allLengthUnits);
|
|
17838
|
+
}
|
|
17839
|
+
}
|
|
17840
|
+
function DrawPopupComponent_div_12_div_9_mat_option_7_Template(rf, ctx) {
|
|
17841
|
+
if (rf & 1) {
|
|
17842
|
+
i0.ɵɵelementStart(0, "mat-option", 3);
|
|
17843
|
+
i0.ɵɵtext(1);
|
|
17844
|
+
i0.ɵɵelementEnd();
|
|
17845
|
+
}
|
|
17846
|
+
if (rf & 2) {
|
|
17847
|
+
const unit_r27 = ctx.$implicit;
|
|
17848
|
+
const ctx_r26 = i0.ɵɵnextContext(3);
|
|
17849
|
+
i0.ɵɵproperty("value", unit_r27);
|
|
17850
|
+
i0.ɵɵadvance(1);
|
|
17851
|
+
i0.ɵɵtextInterpolate1(" ", ctx_r26.getAreaUnitEnum(unit_r27), " ");
|
|
17852
|
+
}
|
|
17853
|
+
}
|
|
17854
|
+
function DrawPopupComponent_div_12_div_9_Template(rf, ctx) {
|
|
17855
|
+
if (rf & 1) {
|
|
17856
|
+
const _r29 = i0.ɵɵgetCurrentView();
|
|
17857
|
+
i0.ɵɵelementStart(0, "div")(1, "mat-form-field", 14);
|
|
17858
|
+
i0.ɵɵelement(2, "input", 20, 16);
|
|
17859
|
+
i0.ɵɵpipe(4, "translate");
|
|
17860
|
+
i0.ɵɵelementEnd();
|
|
17861
|
+
i0.ɵɵelementStart(5, "mat-form-field", 17)(6, "mat-select", 18);
|
|
17862
|
+
i0.ɵɵlistener("selectionChange", function DrawPopupComponent_div_12_div_9_Template_mat_select_selectionChange_6_listener($event) { i0.ɵɵrestoreView(_r29); const ctx_r28 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r28.onChangeAreaUnit($event.value)); });
|
|
17863
|
+
i0.ɵɵtemplate(7, DrawPopupComponent_div_12_div_9_mat_option_7_Template, 2, 2, "mat-option", 19);
|
|
17864
|
+
i0.ɵɵelementEnd()()();
|
|
17865
|
+
}
|
|
17866
|
+
if (rf & 2) {
|
|
17867
|
+
const ctx_r6 = i0.ɵɵnextContext(2);
|
|
17868
|
+
i0.ɵɵadvance(2);
|
|
17869
|
+
i0.ɵɵpropertyInterpolate("placeholder", i0.ɵɵpipeBind1(4, 4, "igo.geo.draw.labelType.Area"));
|
|
17870
|
+
i0.ɵɵpropertyInterpolate("value", ctx_r6.currentArea);
|
|
17871
|
+
i0.ɵɵadvance(4);
|
|
17872
|
+
i0.ɵɵproperty("value", ctx_r6.areaMeasureUnit);
|
|
17873
|
+
i0.ɵɵadvance(1);
|
|
17874
|
+
i0.ɵɵproperty("ngForOf", ctx_r6.allAreaUnits);
|
|
17875
|
+
}
|
|
17876
|
+
}
|
|
17877
|
+
function DrawPopupComponent_div_12_Template(rf, ctx) {
|
|
17878
|
+
if (rf & 1) {
|
|
17879
|
+
const _r31 = i0.ɵɵgetCurrentView();
|
|
17880
|
+
i0.ɵɵelementStart(0, "div")(1, "div")(2, "p", 5);
|
|
17881
|
+
i0.ɵɵtext(3);
|
|
17882
|
+
i0.ɵɵpipe(4, "translate");
|
|
17883
|
+
i0.ɵɵelementEnd();
|
|
17884
|
+
i0.ɵɵtemplate(5, DrawPopupComponent_div_12_mat_radio_group_5_Template, 2, 1, "mat-radio-group", 6);
|
|
17885
|
+
i0.ɵɵtemplate(6, DrawPopupComponent_div_12_ng_container_6_Template, 2, 1, "ng-container", 6);
|
|
17886
|
+
i0.ɵɵtemplate(7, DrawPopupComponent_div_12_div_7_Template, 7, 3, "div", 4);
|
|
17887
|
+
i0.ɵɵtemplate(8, DrawPopupComponent_div_12_div_8_Template, 7, 4, "div", 4);
|
|
17888
|
+
i0.ɵɵtemplate(9, DrawPopupComponent_div_12_div_9_Template, 8, 6, "div", 4);
|
|
17889
|
+
i0.ɵɵelementEnd();
|
|
17890
|
+
i0.ɵɵelementStart(10, "div", 7)(11, "button", 8);
|
|
17891
|
+
i0.ɵɵlistener("click", function DrawPopupComponent_div_12_Template_button_click_11_listener() { i0.ɵɵrestoreView(_r31); const ctx_r30 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r30.cancelDrawing()); });
|
|
17892
|
+
i0.ɵɵtext(12);
|
|
17893
|
+
i0.ɵɵpipe(13, "translate");
|
|
17894
|
+
i0.ɵɵelementEnd();
|
|
17895
|
+
i0.ɵɵelementStart(14, "button", 9);
|
|
17896
|
+
i0.ɵɵlistener("click", function DrawPopupComponent_div_12_Template_button_click_14_listener() { i0.ɵɵrestoreView(_r31); const ctx_r32 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r32.confirm()); });
|
|
17897
|
+
i0.ɵɵtext(15);
|
|
17898
|
+
i0.ɵɵelementEnd()()();
|
|
17899
|
+
}
|
|
17900
|
+
if (rf & 2) {
|
|
17901
|
+
const ctx_r0 = i0.ɵɵnextContext();
|
|
17902
|
+
i0.ɵɵadvance(3);
|
|
17903
|
+
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(4, 8, "igo.geo.draw.builtInInstructions"));
|
|
17904
|
+
i0.ɵɵadvance(2);
|
|
17905
|
+
i0.ɵɵproperty("ngIf", ctx_r0.olGeometryType !== "Polygon");
|
|
17906
|
+
i0.ɵɵadvance(1);
|
|
17907
|
+
i0.ɵɵproperty("ngIf", ctx_r0.olGeometryType === "Polygon");
|
|
17908
|
+
i0.ɵɵadvance(1);
|
|
17909
|
+
i0.ɵɵproperty("ngIf", ctx_r0.labelFlag === ctx_r0.labelType.Coordinates);
|
|
17910
|
+
i0.ɵɵadvance(1);
|
|
17911
|
+
i0.ɵɵproperty("ngIf", ctx_r0.labelFlag === ctx_r0.labelType.Length || ctx_r0.polygonCheck === 2);
|
|
17912
|
+
i0.ɵɵadvance(1);
|
|
17913
|
+
i0.ɵɵproperty("ngIf", ctx_r0.labelFlag === ctx_r0.labelType.Area || ctx_r0.polygonCheck === 2);
|
|
17914
|
+
i0.ɵɵadvance(3);
|
|
17915
|
+
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(13, 10, "igo.geo.draw.cancel"), " ");
|
|
17916
|
+
i0.ɵɵadvance(3);
|
|
17917
|
+
i0.ɵɵtextInterpolate1(" ", ctx_r0.noLabelButton(), " ");
|
|
17918
|
+
}
|
|
17919
|
+
}
|
|
17920
|
+
function DrawPopupComponent_div_13_Template(rf, ctx) {
|
|
17921
|
+
if (rf & 1) {
|
|
17922
|
+
const _r36 = i0.ɵɵgetCurrentView();
|
|
17923
|
+
i0.ɵɵelementStart(0, "div")(1, "div")(2, "p", 5);
|
|
17924
|
+
i0.ɵɵtext(3);
|
|
17925
|
+
i0.ɵɵpipe(4, "translate");
|
|
17926
|
+
i0.ɵɵelementEnd();
|
|
17927
|
+
i0.ɵɵelementStart(5, "mat-form-field", 21)(6, "input", 22, 16);
|
|
17928
|
+
i0.ɵɵlistener("select", function DrawPopupComponent_div_13_Template_input_select_6_listener() { return true; })("input", function DrawPopupComponent_div_13_Template_input_input_6_listener($event) { i0.ɵɵrestoreView(_r36); const ctx_r35 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r35.getLabelLength($event.target.value)); });
|
|
17929
|
+
i0.ɵɵpipe(8, "translate");
|
|
17930
|
+
i0.ɵɵelementEnd()()();
|
|
17931
|
+
i0.ɵɵelementStart(9, "div", 7)(10, "button", 8);
|
|
17932
|
+
i0.ɵɵlistener("click", function DrawPopupComponent_div_13_Template_button_click_10_listener() { i0.ɵɵrestoreView(_r36); const ctx_r37 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r37.cancelDrawing()); });
|
|
17933
|
+
i0.ɵɵtext(11);
|
|
17934
|
+
i0.ɵɵpipe(12, "translate");
|
|
17935
|
+
i0.ɵɵelementEnd();
|
|
17936
|
+
i0.ɵɵelementStart(13, "button", 9);
|
|
17937
|
+
i0.ɵɵlistener("click", function DrawPopupComponent_div_13_Template_button_click_13_listener() { i0.ɵɵrestoreView(_r36); const _r33 = i0.ɵɵreference(7); const ctx_r38 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r38.confirm(_r33.value)); });
|
|
17938
|
+
i0.ɵɵtext(14);
|
|
17939
|
+
i0.ɵɵelementEnd()()();
|
|
17940
|
+
}
|
|
17941
|
+
if (rf & 2) {
|
|
17942
|
+
const ctx_r1 = i0.ɵɵnextContext();
|
|
17943
|
+
i0.ɵɵadvance(3);
|
|
17944
|
+
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(4, 5, "igo.geo.draw.dialogInstruction"));
|
|
17945
|
+
i0.ɵɵadvance(3);
|
|
17946
|
+
i0.ɵɵpropertyInterpolate("placeholder", i0.ɵɵpipeBind1(8, 7, "igo.geo.draw.dialogTitle"));
|
|
17947
|
+
i0.ɵɵpropertyInterpolate("value", ctx_r1.currentLabel);
|
|
17948
|
+
i0.ɵɵadvance(5);
|
|
17949
|
+
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(12, 9, "igo.geo.draw.cancel"), " ");
|
|
17950
|
+
i0.ɵɵadvance(3);
|
|
17951
|
+
i0.ɵɵtextInterpolate1(" ", ctx_r1.noLabelButton(), " ");
|
|
17952
|
+
}
|
|
17953
|
+
}
|
|
17635
17954
|
class DrawPopupComponent {
|
|
17636
|
-
constructor(dialogRef, data) {
|
|
17955
|
+
constructor(languageService, dialogRef, data) {
|
|
17956
|
+
var _a;
|
|
17957
|
+
this.languageService = languageService;
|
|
17637
17958
|
this.dialogRef = dialogRef;
|
|
17638
17959
|
this.data = data;
|
|
17639
17960
|
this.confirmFlag = false;
|
|
17640
|
-
|
|
17961
|
+
this.labelFlag = LabelType.Custom;
|
|
17962
|
+
this.geometryType = GeometryType;
|
|
17963
|
+
this.labelType = LabelType;
|
|
17964
|
+
this.arrayBuiltInType = [];
|
|
17965
|
+
this.olGeometryType = undefined;
|
|
17966
|
+
this.polygonCheck = 0; // Count for polygon label types checkboxes
|
|
17967
|
+
this.currentLabel = this.data.olGeometry.get('draw');
|
|
17968
|
+
this.labelLength = this.currentLabel ? this.currentLabel.length : 0;
|
|
17969
|
+
let olGeometry;
|
|
17970
|
+
const projection = this.data.map.ol.getView().getProjection();
|
|
17971
|
+
if (this.data.olGeometry instanceof OlFeature) {
|
|
17972
|
+
if (this.data.olGeometry.get('rad')) {
|
|
17973
|
+
const longitudeLatitude = [this.data.olGeometry.get('longitude'), this.data.olGeometry.get('latitude')];
|
|
17974
|
+
this.olGeometryType = GeometryType.Circle;
|
|
17975
|
+
olGeometry = new OlCircle(longitudeLatitude, this.data.olGeometry.get('rad'));
|
|
17976
|
+
}
|
|
17977
|
+
else {
|
|
17978
|
+
this.olGeometryType = this.data.olGeometry.getGeometry().getType();
|
|
17979
|
+
olGeometry = this.data.olGeometry.get('geometry');
|
|
17980
|
+
}
|
|
17981
|
+
}
|
|
17982
|
+
else {
|
|
17983
|
+
this.olGeometryType = this.data.olGeometry.getType();
|
|
17984
|
+
olGeometry = this.data.olGeometry;
|
|
17985
|
+
}
|
|
17986
|
+
if (this.olGeometryType === GeometryType.Point || this.olGeometryType === GeometryType.Circle) {
|
|
17987
|
+
if (this.data.olGeometry instanceof OlFeature) {
|
|
17988
|
+
let longitude = this.data.olGeometry.get('longitude');
|
|
17989
|
+
let latitude = this.data.olGeometry.get('latitude');
|
|
17990
|
+
this.longlatDD = roundCoordTo([longitude, latitude], 5);
|
|
17991
|
+
this.coordinatesInDD = '(' + latitude + ', '
|
|
17992
|
+
+ longitude + ')';
|
|
17993
|
+
}
|
|
17994
|
+
else {
|
|
17995
|
+
let point4326 = transform(this.data.olGeometry.getFlatCoordinates(), projection, 'EPSG:4326');
|
|
17996
|
+
this.longlatDD = roundCoordTo([point4326[0], point4326[1]], 5);
|
|
17997
|
+
this.coordinatesInDD =
|
|
17998
|
+
'(' + this.longlatDD[1] + ', ' + this.longlatDD[0] + ')';
|
|
17999
|
+
}
|
|
18000
|
+
this.currentCoordinates = this.coordinatesInDD;
|
|
18001
|
+
}
|
|
18002
|
+
if (this.olGeometryType === GeometryType.LineString) {
|
|
18003
|
+
this.lengthInMeters = measureOlGeometryLength(olGeometry, projection.getCode()).toFixed(2);
|
|
18004
|
+
this.currentLength = this.lengthInMeters;
|
|
18005
|
+
}
|
|
18006
|
+
else if (this.olGeometryType === GeometryType.Polygon) {
|
|
18007
|
+
this.lengthInMeters = measureOlGeometryLength(olGeometry, projection.getCode()).toFixed(2);
|
|
18008
|
+
this.currentLength = this.lengthInMeters;
|
|
18009
|
+
this.areaInMetersSquare = measureOlGeometryArea(olGeometry, projection.getCode()).toFixed(2);
|
|
18010
|
+
this.currentArea = this.areaInMetersSquare;
|
|
18011
|
+
}
|
|
18012
|
+
else if (this.olGeometryType === GeometryType.Circle) {
|
|
18013
|
+
let circularPolygon = fromCircle(olGeometry, 10000);
|
|
18014
|
+
const radius = this.getRadius(circularPolygon);
|
|
18015
|
+
this.lengthInMeters = radius.toFixed(2);
|
|
18016
|
+
this.currentLength = this.lengthInMeters;
|
|
18017
|
+
this.areaInMetersSquare = measureOlGeometryArea(circularPolygon, projection.getCode()).toFixed(2);
|
|
18018
|
+
this.currentArea = this.areaInMetersSquare;
|
|
18019
|
+
}
|
|
18020
|
+
if (data.olGeometry.get('labelType') === LabelType.Coordinates) {
|
|
18021
|
+
this.onLabelTypeChange(LabelType.Predefined);
|
|
18022
|
+
this.onLabelTypeChange(LabelType.Coordinates, true);
|
|
18023
|
+
this.coordinatesMeasureUnit = data.olGeometry.get('measureUnit');
|
|
18024
|
+
}
|
|
18025
|
+
else if (data.olGeometry.get('labelType') === LabelType.Length) {
|
|
18026
|
+
this.onLabelTypeChange(LabelType.Predefined);
|
|
18027
|
+
this.onLabelTypeChange(LabelType.Length, true);
|
|
18028
|
+
this.lengthMeasureUnit = data.olGeometry.get('measureUnit');
|
|
18029
|
+
}
|
|
18030
|
+
else if (data.olGeometry.get('labelType') === LabelType.Area) {
|
|
18031
|
+
this.onLabelTypeChange(LabelType.Predefined);
|
|
18032
|
+
this.onLabelTypeChange(LabelType.Area, true);
|
|
18033
|
+
this.areaMeasureUnit = data.olGeometry.get('measureUnit');
|
|
18034
|
+
}
|
|
18035
|
+
else if (((_a = data.olGeometry.get('labelType')) === null || _a === void 0 ? void 0 : _a.length) === 2) {
|
|
18036
|
+
this.onLabelTypeChange(LabelType.Predefined);
|
|
18037
|
+
this.onLabelTypeChange(LabelType.Length, true);
|
|
18038
|
+
this.onLabelTypeChange(LabelType.Area, true);
|
|
18039
|
+
this.lengthMeasureUnit = data.olGeometry.get('measureUnit')[0];
|
|
18040
|
+
this.areaMeasureUnit = data.olGeometry.get('measureUnit')[1];
|
|
18041
|
+
}
|
|
18042
|
+
this.buildArrayType();
|
|
18043
|
+
}
|
|
18044
|
+
/**
|
|
18045
|
+
* HTML Interactions
|
|
18046
|
+
*/
|
|
17641
18047
|
cancelDrawing() {
|
|
17642
18048
|
this.dialogRef.close();
|
|
17643
18049
|
}
|
|
17644
|
-
confirm(
|
|
18050
|
+
confirm(input) {
|
|
17645
18051
|
this.confirmFlag = true;
|
|
17646
|
-
this.
|
|
18052
|
+
if (this.labelFlag === LabelType.Predefined) {
|
|
18053
|
+
this.dialogRef.close();
|
|
18054
|
+
}
|
|
18055
|
+
else if (this.labelFlag === LabelType.Custom) {
|
|
18056
|
+
this.dialogRef.close({
|
|
18057
|
+
label: input
|
|
18058
|
+
});
|
|
18059
|
+
}
|
|
18060
|
+
else if (this.labelFlag === LabelType.Coordinates) {
|
|
18061
|
+
this.dialogRef.close({
|
|
18062
|
+
label: this.currentCoordinates,
|
|
18063
|
+
measureUnit: this.coordinatesMeasureUnit
|
|
18064
|
+
});
|
|
18065
|
+
}
|
|
18066
|
+
else if (this.olGeometryType === GeometryType.Polygon) {
|
|
18067
|
+
if (this.polygonCheck === 2) {
|
|
18068
|
+
this.labelFlag = [LabelType.Length, LabelType.Area];
|
|
18069
|
+
this.dialogRef.close({
|
|
18070
|
+
label: 'P: ' + this.currentLength + ' ' + MeasureLengthUnitAbbreviation[MeasureLengthUnit.Meters] + '\n'
|
|
18071
|
+
+ this.languageService.translate.instant('igo.geo.draw.labelType.A') + this.currentArea + ' ' +
|
|
18072
|
+
MeasureAreaUnitAbbreviation[MeasureAreaUnit.SquareMeters], measureUnit: [this.lengthMeasureUnit, this.areaMeasureUnit]
|
|
18073
|
+
});
|
|
18074
|
+
}
|
|
18075
|
+
else {
|
|
18076
|
+
this.labelFlag === LabelType.Length ?
|
|
18077
|
+
this.dialogRef.close({
|
|
18078
|
+
label: 'P: ' + this.currentLength + ' ' + MeasureLengthUnitAbbreviation[this.lengthMeasureUnit],
|
|
18079
|
+
measureUnit: this.lengthMeasureUnit
|
|
18080
|
+
}) :
|
|
18081
|
+
this.dialogRef.close({
|
|
18082
|
+
label: this.currentArea + ' ' + MeasureAreaUnitAbbreviation[this.areaMeasureUnit],
|
|
18083
|
+
measureUnit: this.areaMeasureUnit
|
|
18084
|
+
});
|
|
18085
|
+
}
|
|
18086
|
+
}
|
|
18087
|
+
else if (this.labelFlag === LabelType.Length) {
|
|
18088
|
+
if (this.olGeometryType === GeometryType.Circle) {
|
|
18089
|
+
this.dialogRef.close({
|
|
18090
|
+
label: 'R: ' + this.currentLength + ' ' + MeasureLengthUnitAbbreviation[this.lengthMeasureUnit],
|
|
18091
|
+
measureUnit: this.lengthMeasureUnit
|
|
18092
|
+
});
|
|
18093
|
+
}
|
|
18094
|
+
else if (this.olGeometryType === GeometryType.LineString) {
|
|
18095
|
+
this.dialogRef.close({
|
|
18096
|
+
label: this.currentLength + ' ' + MeasureLengthUnitAbbreviation[this.lengthMeasureUnit],
|
|
18097
|
+
measureUnit: this.lengthMeasureUnit
|
|
18098
|
+
});
|
|
18099
|
+
}
|
|
18100
|
+
}
|
|
18101
|
+
else if (this.labelFlag === LabelType.Area) {
|
|
18102
|
+
this.dialogRef.close({
|
|
18103
|
+
label: this.currentArea + ' ' + MeasureAreaUnitAbbreviation[this.areaMeasureUnit],
|
|
18104
|
+
measureUnit: this.areaMeasureUnit
|
|
18105
|
+
});
|
|
18106
|
+
}
|
|
18107
|
+
}
|
|
18108
|
+
onLabelTypeChange(labelType, checked) {
|
|
18109
|
+
var _a;
|
|
18110
|
+
if (labelType !== LabelType.Predefined &&
|
|
18111
|
+
labelType !== LabelType.Custom &&
|
|
18112
|
+
this.olGeometryType === GeometryType.Polygon) {
|
|
18113
|
+
this.arrayBuiltInType.find(type => type.value === labelType) ?
|
|
18114
|
+
this.arrayBuiltInType.find(type => type.value === labelType).checked = checked : this.labelFlag = undefined;
|
|
18115
|
+
checked ? this.labelFlag = labelType : this.labelFlag = (_a = this.arrayBuiltInType.find(type => type.checked)) === null || _a === void 0 ? void 0 : _a.value;
|
|
18116
|
+
}
|
|
18117
|
+
else {
|
|
18118
|
+
this.labelFlag = labelType;
|
|
18119
|
+
}
|
|
18120
|
+
if (labelType === LabelType.Predefined) {
|
|
18121
|
+
if (this.olGeometryType === GeometryType.Point) {
|
|
18122
|
+
this.labelFlag = LabelType.Coordinates;
|
|
18123
|
+
this.currentCoordinates = this.coordinatesInDD;
|
|
18124
|
+
this.coordinatesMeasureUnit = CoordinatesUnit.DecimalDegree;
|
|
18125
|
+
}
|
|
18126
|
+
else if (this.olGeometryType === GeometryType.LineString) {
|
|
18127
|
+
this.labelFlag = LabelType.Length;
|
|
18128
|
+
this.currentLength = this.lengthInMeters;
|
|
18129
|
+
this.lengthMeasureUnit = MeasureLengthUnit.Meters;
|
|
18130
|
+
}
|
|
18131
|
+
}
|
|
18132
|
+
else if (labelType === LabelType.Area) {
|
|
18133
|
+
this.currentArea = this.areaInMetersSquare;
|
|
18134
|
+
this.areaMeasureUnit = MeasureAreaUnit.SquareMeters;
|
|
18135
|
+
}
|
|
18136
|
+
else if (labelType === LabelType.Length) {
|
|
18137
|
+
this.currentLength = this.lengthInMeters;
|
|
18138
|
+
this.lengthMeasureUnit = MeasureLengthUnit.Meters;
|
|
18139
|
+
}
|
|
18140
|
+
else if (this.labelFlag === LabelType.Coordinates) {
|
|
18141
|
+
this.currentCoordinates = this.coordinatesInDD;
|
|
18142
|
+
this.coordinatesMeasureUnit = CoordinatesUnit.DecimalDegree;
|
|
18143
|
+
}
|
|
18144
|
+
const labeltypes = [this.labelType.Length, this.labelType.Area];
|
|
18145
|
+
if (this.olGeometryType === GeometryType.Polygon &&
|
|
18146
|
+
labeltypes.includes(labelType)) {
|
|
18147
|
+
checked ? this.polygonCheck += 1 : this.polygonCheck -= 1;
|
|
18148
|
+
;
|
|
18149
|
+
}
|
|
18150
|
+
else {
|
|
18151
|
+
this.polygonCheck = 0;
|
|
18152
|
+
}
|
|
18153
|
+
}
|
|
18154
|
+
onChangeLengthUnit(lengthUnit) {
|
|
18155
|
+
this.lengthMeasureUnit = lengthUnit;
|
|
18156
|
+
this.currentLength = metersToUnit(Number(this.lengthInMeters), lengthUnit).toFixed(2);
|
|
18157
|
+
}
|
|
18158
|
+
onChangeAreaUnit(areaUnit) {
|
|
18159
|
+
this.areaMeasureUnit = areaUnit;
|
|
18160
|
+
this.currentArea = squareMetersToUnit(Number(this.areaInMetersSquare), areaUnit).toFixed(2);
|
|
18161
|
+
}
|
|
18162
|
+
onChangeCoordinateUnit(coordinatesUnit) {
|
|
18163
|
+
this.coordinatesMeasureUnit = coordinatesUnit;
|
|
18164
|
+
let coordinates = DDtoDMS(this.longlatDD, coordinatesUnit);
|
|
18165
|
+
this.currentCoordinates = '(' + coordinates[1] + ', ' + coordinates[0] + ')';
|
|
18166
|
+
}
|
|
18167
|
+
buildArrayType() {
|
|
18168
|
+
for (const labelType of Object.values(LabelType)) {
|
|
18169
|
+
if (labelType !== LabelType.Custom && labelType !== LabelType.Predefined) {
|
|
18170
|
+
this.arrayBuiltInType.push({
|
|
18171
|
+
value: labelType,
|
|
18172
|
+
checked: this.selectOptions(labelType) ||
|
|
18173
|
+
this.labelFlag === labelType ||
|
|
18174
|
+
(this.polygonCheck === 2 && labelType !== LabelType.Coordinates)
|
|
18175
|
+
});
|
|
18176
|
+
}
|
|
18177
|
+
}
|
|
18178
|
+
}
|
|
18179
|
+
noLabelButton() {
|
|
18180
|
+
if (this.labelFlag === LabelType.Predefined || (this.labelFlag === LabelType.Custom && this.labelLength === 0)) {
|
|
18181
|
+
return this.languageService.translate.instant('igo.geo.draw.noLabel');
|
|
18182
|
+
}
|
|
18183
|
+
return 'OK';
|
|
18184
|
+
}
|
|
18185
|
+
get customOrPredefined() {
|
|
18186
|
+
if (this.labelFlag === LabelType.Custom) {
|
|
18187
|
+
return LabelType.Custom;
|
|
18188
|
+
}
|
|
18189
|
+
return LabelType.Predefined;
|
|
18190
|
+
}
|
|
18191
|
+
optionAvailable(currentOption) {
|
|
18192
|
+
switch (this.olGeometryType) {
|
|
18193
|
+
case GeometryType.Point:
|
|
18194
|
+
if (currentOption === LabelType.Coordinates) {
|
|
18195
|
+
return false;
|
|
18196
|
+
}
|
|
18197
|
+
return true;
|
|
18198
|
+
case GeometryType.LineString:
|
|
18199
|
+
if (currentOption === LabelType.Length) {
|
|
18200
|
+
return false;
|
|
18201
|
+
}
|
|
18202
|
+
return true;
|
|
18203
|
+
case GeometryType.Polygon:
|
|
18204
|
+
if (currentOption === LabelType.Coordinates) {
|
|
18205
|
+
return true;
|
|
18206
|
+
}
|
|
18207
|
+
return false;
|
|
18208
|
+
default:
|
|
18209
|
+
return false;
|
|
18210
|
+
}
|
|
18211
|
+
}
|
|
18212
|
+
get allLengthUnits() {
|
|
18213
|
+
return Object.values(MeasureLengthUnit);
|
|
18214
|
+
}
|
|
18215
|
+
getLengthUnitEnum(lengthUnit) {
|
|
18216
|
+
return MeasureLengthUnitAbbreviation[lengthUnit];
|
|
18217
|
+
}
|
|
18218
|
+
get allAreaUnits() {
|
|
18219
|
+
return Object.values(MeasureAreaUnit);
|
|
18220
|
+
}
|
|
18221
|
+
get allCoordinatesUnits() {
|
|
18222
|
+
return Object.values(CoordinatesUnit);
|
|
18223
|
+
}
|
|
18224
|
+
getAreaUnitEnum(areaUnit) {
|
|
18225
|
+
return MeasureAreaUnitAbbreviation[areaUnit];
|
|
18226
|
+
}
|
|
18227
|
+
getRadius(olGeometry) {
|
|
18228
|
+
const length = getLength(olGeometry);
|
|
18229
|
+
return Number(length / (2 * Math.PI));
|
|
18230
|
+
}
|
|
18231
|
+
get lengthLabelT() {
|
|
18232
|
+
if (this.olGeometryType === GeometryType.Polygon) {
|
|
18233
|
+
return this.languageService.translate.instant('igo.geo.measure.perimeter');
|
|
18234
|
+
}
|
|
18235
|
+
if (this.olGeometryType === GeometryType.Circle) {
|
|
18236
|
+
return this.languageService.translate.instant('igo.geo.search.coordinates.radius');
|
|
18237
|
+
}
|
|
18238
|
+
return this.languageService.translate.instant('igo.geo.draw.labelType.Length');
|
|
18239
|
+
}
|
|
18240
|
+
getLabelLength(event) {
|
|
18241
|
+
this.labelLength = event.length;
|
|
18242
|
+
}
|
|
18243
|
+
selectOptions(option) {
|
|
18244
|
+
if (this.olGeometryType === GeometryType.Point) {
|
|
18245
|
+
return option === LabelType.Coordinates;
|
|
18246
|
+
}
|
|
18247
|
+
else if (this.olGeometryType === GeometryType.LineString) {
|
|
18248
|
+
return option === LabelType.Length;
|
|
18249
|
+
}
|
|
18250
|
+
}
|
|
18251
|
+
getProperLengthLabel(option) {
|
|
18252
|
+
if (option === LabelType.Length) {
|
|
18253
|
+
if (this.olGeometryType === GeometryType.Polygon) {
|
|
18254
|
+
return this.languageService.translate.instant('igo.geo.measure.perimeter');
|
|
18255
|
+
}
|
|
18256
|
+
if (this.olGeometryType === GeometryType.Circle) {
|
|
18257
|
+
return this.languageService.translate.instant('igo.geo.search.coordinates.radius');
|
|
18258
|
+
}
|
|
18259
|
+
return this.languageService.translate.instant('igo.geo.draw.labelType.Length');
|
|
18260
|
+
}
|
|
18261
|
+
return this.languageService.translate.instant('igo.geo.draw.labelType.' + option);
|
|
17647
18262
|
}
|
|
17648
18263
|
}
|
|
17649
|
-
DrawPopupComponent.ɵfac = function DrawPopupComponent_Factory(t) { return new (t || DrawPopupComponent)(i0.ɵɵdirectiveInject(i1.MatDialogRef), i0.ɵɵdirectiveInject(MAT_DIALOG_DATA)); };
|
|
17650
|
-
DrawPopupComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: DrawPopupComponent, selectors: [["igo-draw-popup-component"]], inputs: { confirmFlag: "confirmFlag" }, decls: 14, vars:
|
|
18264
|
+
DrawPopupComponent.ɵfac = function DrawPopupComponent_Factory(t) { return new (t || DrawPopupComponent)(i0.ɵɵdirectiveInject(i2$1.LanguageService), i0.ɵɵdirectiveInject(i1.MatDialogRef), i0.ɵɵdirectiveInject(MAT_DIALOG_DATA)); };
|
|
18265
|
+
DrawPopupComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: DrawPopupComponent, selectors: [["igo-draw-popup-component"]], inputs: { confirmFlag: "confirmFlag", labelFlag: "labelFlag", coordinatesMeasureUnit: "coordinatesMeasureUnit", lengthMeasureUnit: "lengthMeasureUnit", areaMeasureUnit: "areaMeasureUnit" }, decls: 14, vars: 14, consts: [["mat-dialog-title", ""], [1, "geometry-type-toggle", "mat-typography"], [3, "value", "change"], [3, "value"], [4, "ngIf"], [1, "mat-typography"], ["class", "mat-typography", 4, "ngIf"], ["mat-dialog-actions", ""], ["mat-raised-button", "", 3, "click"], ["mat-raised-button", "", "color", "primary", 3, "click"], [3, "value", "disabled", "checked", "change", 4, "ngFor", "ngForOf"], [3, "value", "disabled", "checked", "change"], ["class", "mat-typography", 3, "value", "disabled", "checked", "change", 4, "ngFor", "ngForOf"], [1, "mat-typography", 3, "value", "disabled", "checked", "change"], [1, "readOnly-Input"], ["matInput", "", "placeholder", "(Latitude, Longitude)", "readonly", "", 3, "value"], ["input", ""], [1, "unit-field"], [3, "value", "selectionChange"], [3, "value", 4, "ngFor", "ngForOf"], ["matInput", "", "readonly", "", 3, "placeholder", "value"], [1, "input"], ["matInput", "", "cdkFocusInitial", "", 3, "placeholder", "value", "select", "input"]], template: function DrawPopupComponent_Template(rf, ctx) {
|
|
17651
18266
|
if (rf & 1) {
|
|
17652
|
-
|
|
17653
|
-
i0.ɵɵelementStart(0, "div", 0)(1, "p", 1);
|
|
18267
|
+
i0.ɵɵelementStart(0, "div")(1, "h2", 0);
|
|
17654
18268
|
i0.ɵɵtext(2);
|
|
17655
18269
|
i0.ɵɵpipe(3, "translate");
|
|
17656
|
-
i0.ɵɵelementEnd();
|
|
17657
|
-
i0.ɵɵelementStart(4, "mat-form-field", 2);
|
|
17658
|
-
i0.ɵɵelement(5, "input", 3, 4);
|
|
17659
|
-
i0.ɵɵpipe(7, "translate");
|
|
17660
18270
|
i0.ɵɵelementEnd()();
|
|
17661
|
-
i0.ɵɵelementStart(
|
|
17662
|
-
i0.ɵɵlistener("
|
|
18271
|
+
i0.ɵɵelementStart(4, "div", 1)(5, "mat-button-toggle-group", 2);
|
|
18272
|
+
i0.ɵɵlistener("change", function DrawPopupComponent_Template_mat_button_toggle_group_change_5_listener($event) { return ctx.onLabelTypeChange($event.value); });
|
|
18273
|
+
i0.ɵɵelementStart(6, "mat-button-toggle", 3);
|
|
18274
|
+
i0.ɵɵtext(7);
|
|
18275
|
+
i0.ɵɵpipe(8, "translate");
|
|
18276
|
+
i0.ɵɵelementEnd();
|
|
18277
|
+
i0.ɵɵelementStart(9, "mat-button-toggle", 3);
|
|
17663
18278
|
i0.ɵɵtext(10);
|
|
17664
18279
|
i0.ɵɵpipe(11, "translate");
|
|
17665
|
-
i0.ɵɵelementEnd();
|
|
17666
|
-
i0.ɵɵ
|
|
17667
|
-
i0.ɵɵ
|
|
17668
|
-
i0.ɵɵtext(13, "OK ");
|
|
17669
|
-
i0.ɵɵelementEnd()();
|
|
18280
|
+
i0.ɵɵelementEnd()()();
|
|
18281
|
+
i0.ɵɵtemplate(12, DrawPopupComponent_div_12_Template, 16, 12, "div", 4);
|
|
18282
|
+
i0.ɵɵtemplate(13, DrawPopupComponent_div_13_Template, 15, 11, "div", 4);
|
|
17670
18283
|
}
|
|
17671
18284
|
if (rf & 2) {
|
|
17672
18285
|
i0.ɵɵadvance(2);
|
|
17673
|
-
i0.ɵɵ
|
|
18286
|
+
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(3, 8, "igo.geo.draw.popupTitle"), " ");
|
|
17674
18287
|
i0.ɵɵadvance(3);
|
|
17675
|
-
i0.ɵɵ
|
|
17676
|
-
i0.ɵɵ
|
|
17677
|
-
i0.ɵɵ
|
|
17678
|
-
i0.ɵɵ
|
|
18288
|
+
i0.ɵɵproperty("value", ctx.customOrPredefined);
|
|
18289
|
+
i0.ɵɵadvance(1);
|
|
18290
|
+
i0.ɵɵproperty("value", ctx.labelType.Custom);
|
|
18291
|
+
i0.ɵɵadvance(1);
|
|
18292
|
+
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(8, 10, "igo.geo.draw.labelType.custom"), " ");
|
|
18293
|
+
i0.ɵɵadvance(2);
|
|
18294
|
+
i0.ɵɵproperty("value", ctx.labelType.Predefined);
|
|
18295
|
+
i0.ɵɵadvance(1);
|
|
18296
|
+
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(11, 12, "igo.geo.draw.labelType.predefined"), " ");
|
|
18297
|
+
i0.ɵɵadvance(2);
|
|
18298
|
+
i0.ɵɵproperty("ngIf", ctx.labelFlag !== ctx.labelType.Custom);
|
|
18299
|
+
i0.ɵɵadvance(1);
|
|
18300
|
+
i0.ɵɵproperty("ngIf", ctx.labelFlag === ctx.labelType.Custom);
|
|
17679
18301
|
}
|
|
17680
|
-
}, dependencies: [i3.MatButton, i13.MatFormField, i14.MatInput, i1.
|
|
18302
|
+
}, dependencies: [i1$1.NgForOf, i1$1.NgIf, i3.MatButton, i18.MatButtonToggleGroup, i18.MatButtonToggle, i13.MatFormField, i14.MatInput, i15.MatSelect, i9.MatOption, i1.MatDialogTitle, i1.MatDialogActions, i17.MatRadioGroup, i17.MatRadioButton, i12.MatCheckbox, i7.TranslatePipe], styles: [".mat-radio-button[_ngcontent-%COMP%] ~ .mat-radio-button[_ngcontent-%COMP%]{margin-left:16px}.readOnly-Input[_ngcontent-%COMP%]{width:200px!important}.unit-field[_ngcontent-%COMP%]{width:50px;margin-left:10px;margin-top:10px}.mat-form-field[_ngcontent-%COMP%]{position:-webkit-sticky!important;position:sticky!important}.coordinatesInputView[_ngcontent-%COMP%]{top:5em!important} .mat-form-field-wrapper{margin-bottom:-1.25em;margin-top:.25em}.geometry-type-toggle[_ngcontent-%COMP%], .mat-dialog-actions[_ngcontent-%COMP%]{display:flex!important;justify-content:center}.input[_ngcontent-%COMP%]{width:auto!important}.mat-button-toggle-group[_ngcontent-%COMP%], .mat-button-toggle[_ngcontent-%COMP%]{width:100%}mat-checkbox[_ngcontent-%COMP%]{margin-right:10px}"] });
|
|
17681
18303
|
(function () {
|
|
17682
18304
|
(typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(DrawPopupComponent, [{
|
|
17683
18305
|
type: Component,
|
|
17684
|
-
args: [{ selector: 'igo-draw-popup-component', template: "<div mat-dialog-
|
|
18306
|
+
args: [{ selector: 'igo-draw-popup-component', template: "<div>\r\n <h2 mat-dialog-title>\r\n {{ 'igo.geo.draw.popupTitle' | translate }}\r\n </h2>\r\n</div>\r\n\r\n\r\n<div class=\"geometry-type-toggle mat-typography\">\r\n <mat-button-toggle-group\r\n (change)=\"onLabelTypeChange($event.value)\" [value]=\"customOrPredefined\">\r\n <mat-button-toggle [value]=\"labelType.Custom\" >\r\n {{ 'igo.geo.draw.labelType.custom' | translate }}\r\n </mat-button-toggle>\r\n <mat-button-toggle [value]=\"labelType.Predefined\">\r\n {{ 'igo.geo.draw.labelType.predefined' | translate }}\r\n </mat-button-toggle>\r\n </mat-button-toggle-group>\r\n</div>\r\n\r\n<div *ngIf=\"labelFlag !== labelType.Custom\">\r\n <div>\r\n <p class=\"mat-typography\">{{ 'igo.geo.draw.builtInInstructions' | translate }}</p>\r\n <mat-radio-group *ngIf=\"olGeometryType !== 'Polygon'\" class=\"mat-typography\">\r\n <mat-radio-button *ngFor=\"let option of arrayBuiltInType\" [value]=\"option.value\" [disabled]=\"optionAvailable(option.value)\" \r\n (change)=\"onLabelTypeChange($event.value)\" [checked]=\"option.checked\">\r\n {{getProperLengthLabel(option.value)}}\r\n </mat-radio-button>\r\n </mat-radio-group>\r\n <ng-container class=\"mat-typography\" *ngIf=\"olGeometryType === 'Polygon'\">\r\n <mat-checkbox\r\n *ngFor=\"let option of arrayBuiltInType\"\r\n class=\"mat-typography\"\r\n [value]=\"option.value\"\r\n [disabled]=\"optionAvailable(option.value)\"\r\n (change)=\"onLabelTypeChange($event.source.value, $event.checked)\"\r\n [checked]=\"option.checked\">\r\n {{getProperLengthLabel(option.value)}}\r\n </mat-checkbox>\r\n </ng-container>\r\n <div *ngIf=\"labelFlag === labelType.Coordinates\">\r\n <mat-form-field class=\"readOnly-Input\">\r\n <input\r\n #input\r\n matInput\r\n placeholder=\"(Latitude, Longitude)\"\r\n value=\"{{currentCoordinates}}\" readonly>\r\n </mat-form-field>\r\n <mat-form-field class=\"unit-field\">\r\n <mat-select [value]=\"coordinatesMeasureUnit\" (selectionChange)=\"onChangeCoordinateUnit($event.value)\">\r\n <mat-option *ngFor=\"let unit of allCoordinatesUnits\" [value]=\"unit\">\r\n {{unit}}\r\n </mat-option>\r\n </mat-select> \r\n </mat-form-field>\r\n </div>\r\n <div *ngIf=\"labelFlag === labelType.Length || polygonCheck === 2\">\r\n <mat-form-field class=\"readOnly-Input\">\r\n <input\r\n #input\r\n matInput\r\n placeholder={{lengthLabelT}}\r\n value=\"{{currentLength}}\" readonly>\r\n </mat-form-field>\r\n <mat-form-field class=\"unit-field\">\r\n <mat-select [value]=\"lengthMeasureUnit\" (selectionChange)=\"onChangeLengthUnit($event.value)\">\r\n <mat-option *ngFor=\"let unit of allLengthUnits\" [value]=\"unit\">\r\n {{getLengthUnitEnum(unit)}}\r\n </mat-option>\r\n </mat-select> \r\n </mat-form-field>\r\n </div>\r\n <div *ngIf=\"labelFlag === labelType.Area || polygonCheck === 2\">\r\n <mat-form-field class=\"readOnly-Input\">\r\n <input\r\n #input\r\n matInput\r\n placeholder=\"{{ 'igo.geo.draw.labelType.Area' | translate }}\"\r\n value=\"{{currentArea}}\" readonly>\r\n </mat-form-field>\r\n <mat-form-field class=\"unit-field\">\r\n <mat-select [value]=\"areaMeasureUnit\" (selectionChange)=\"onChangeAreaUnit($event.value)\">\r\n <mat-option *ngFor=\"let unit of allAreaUnits\" [value]=\"unit\">\r\n {{getAreaUnitEnum(unit)}}\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n </div>\r\n </div>\r\n\r\n\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 \r\n mat-raised-button \r\n color=\"primary\" \r\n (click)=\"confirm()\"> \r\n {{noLabelButton()}} \r\n </button>\r\n </div>\r\n</div>\r\n\r\n<div *ngIf=\"labelFlag === labelType.Custom\">\r\n <div>\r\n <p class=\"mat-typography\">{{ 'igo.geo.draw.dialogInstruction' | translate }}</p>\r\n <mat-form-field class=\"input\">\r\n <input\r\n #input\r\n matInput\r\n (select)=\"true\"\r\n (input)=\"getLabelLength($event.target.value)\"\r\n placeholder=\"{{'igo.geo.draw.dialogTitle' | translate}}\"\r\n value=\"{{ currentLabel }}\"\r\n cdkFocusInitial/>\r\n </mat-form-field>\r\n </div>\r\n \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 \r\n mat-raised-button \r\n color=\"primary\" \r\n (click)=\"confirm(input.value)\">\r\n {{noLabelButton()}}\r\n </button>\r\n </div>\r\n</div>\r\n", styles: [".mat-radio-button~.mat-radio-button{margin-left:16px}.readOnly-Input{width:200px!important}.unit-field{width:50px;margin-left:10px;margin-top:10px}.mat-form-field{position:-webkit-sticky!important;position:sticky!important}.coordinatesInputView{top:5em!important}::ng-deep .mat-form-field-wrapper{margin-bottom:-1.25em;margin-top:.25em}.geometry-type-toggle,.mat-dialog-actions{display:flex!important;justify-content:center}.input{width:auto!important}.mat-button-toggle-group,.mat-button-toggle{width:100%}mat-checkbox{margin-right:10px}\n"] }]
|
|
17685
18307
|
}], function () {
|
|
17686
|
-
return [{ type: i1.MatDialogRef }, { type: undefined, decorators: [{
|
|
18308
|
+
return [{ type: i2$1.LanguageService }, { type: i1.MatDialogRef }, { type: undefined, decorators: [{
|
|
17687
18309
|
type: Inject,
|
|
17688
18310
|
args: [MAT_DIALOG_DATA]
|
|
17689
18311
|
}] }];
|
|
17690
18312
|
}, { confirmFlag: [{
|
|
17691
18313
|
type: Input
|
|
18314
|
+
}], labelFlag: [{
|
|
18315
|
+
type: Input
|
|
18316
|
+
}], coordinatesMeasureUnit: [{
|
|
18317
|
+
type: Input
|
|
18318
|
+
}], lengthMeasureUnit: [{
|
|
18319
|
+
type: Input
|
|
18320
|
+
}], areaMeasureUnit: [{
|
|
18321
|
+
type: Input
|
|
17692
18322
|
}] });
|
|
17693
18323
|
})();
|
|
17694
18324
|
|
|
@@ -17793,127 +18423,180 @@ DrawLayerPopupComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: Dra
|
|
|
17793
18423
|
})();
|
|
17794
18424
|
|
|
17795
18425
|
const _c0$c = ["selectedLayer"];
|
|
17796
|
-
function
|
|
18426
|
+
function DrawComponent_mat_slide_toggle_22_Template(rf, ctx) {
|
|
18427
|
+
if (rf & 1) {
|
|
18428
|
+
const _r10 = i0.ɵɵgetCurrentView();
|
|
18429
|
+
i0.ɵɵelementStart(0, "mat-slide-toggle", 5);
|
|
18430
|
+
i0.ɵɵlistener("change", function DrawComponent_mat_slide_toggle_22_Template_mat_slide_toggle_change_0_listener($event) { i0.ɵɵrestoreView(_r10); const ctx_r9 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r9.onToggleFreehandMode($event)); });
|
|
18431
|
+
i0.ɵɵtext(1);
|
|
18432
|
+
i0.ɵɵpipe(2, "translate");
|
|
18433
|
+
i0.ɵɵelementEnd();
|
|
18434
|
+
}
|
|
18435
|
+
if (rf & 2) {
|
|
18436
|
+
const ctx_r0 = i0.ɵɵnextContext();
|
|
18437
|
+
i0.ɵɵproperty("checked", ctx_r0.freehandMode)("labelPosition", "before");
|
|
18438
|
+
i0.ɵɵadvance(1);
|
|
18439
|
+
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(2, 3, "igo.geo.draw.freehandMode"), " ");
|
|
18440
|
+
}
|
|
18441
|
+
}
|
|
18442
|
+
function DrawComponent_div_23_mat_option_7_Template(rf, ctx) {
|
|
17797
18443
|
if (rf & 1) {
|
|
17798
18444
|
i0.ɵɵelementStart(0, "mat-option", 2);
|
|
17799
18445
|
i0.ɵɵtext(1);
|
|
18446
|
+
i0.ɵɵpipe(2, "translate");
|
|
17800
18447
|
i0.ɵɵelementEnd();
|
|
17801
18448
|
}
|
|
17802
18449
|
if (rf & 2) {
|
|
17803
|
-
const
|
|
17804
|
-
i0.ɵɵproperty("value",
|
|
18450
|
+
const measureUnit_r12 = ctx.$implicit;
|
|
18451
|
+
i0.ɵɵproperty("value", measureUnit_r12);
|
|
17805
18452
|
i0.ɵɵadvance(1);
|
|
17806
|
-
i0.ɵɵtextInterpolate1(" ",
|
|
18453
|
+
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(2, 2, "igo.geo.measure." + measureUnit_r12), " ");
|
|
17807
18454
|
}
|
|
17808
18455
|
}
|
|
17809
|
-
function
|
|
18456
|
+
function DrawComponent_div_23_Template(rf, ctx) {
|
|
17810
18457
|
if (rf & 1) {
|
|
17811
|
-
const
|
|
17812
|
-
i0.ɵɵelementStart(0, "
|
|
17813
|
-
i0.ɵɵ
|
|
18458
|
+
const _r14 = i0.ɵɵgetCurrentView();
|
|
18459
|
+
i0.ɵɵelementStart(0, "div", 22)(1, "form", 23)(2, "mat-form-field", 24);
|
|
18460
|
+
i0.ɵɵelement(3, "input", 25);
|
|
18461
|
+
i0.ɵɵpipe(4, "translate");
|
|
18462
|
+
i0.ɵɵelementEnd()();
|
|
18463
|
+
i0.ɵɵelementStart(5, "mat-form-field", 26)(6, "mat-select", 9);
|
|
18464
|
+
i0.ɵɵlistener("selectionChange", function DrawComponent_div_23_Template_mat_select_selectionChange_6_listener($event) { i0.ɵɵrestoreView(_r14); const ctx_r13 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r13.onMeasureUnitChange($event.value)); });
|
|
18465
|
+
i0.ɵɵtemplate(7, DrawComponent_div_23_mat_option_7_Template, 3, 4, "mat-option", 11);
|
|
18466
|
+
i0.ɵɵelementEnd()()();
|
|
18467
|
+
}
|
|
18468
|
+
if (rf & 2) {
|
|
18469
|
+
const ctx_r1 = i0.ɵɵnextContext();
|
|
18470
|
+
i0.ɵɵadvance(3);
|
|
18471
|
+
i0.ɵɵpropertyInterpolate("placeholder", i0.ɵɵpipeBind1(4, 5, "igo.geo.spatialFilter.radius"));
|
|
18472
|
+
i0.ɵɵproperty("formControl", ctx_r1.radiusFormControl)("readonly", ctx_r1.freehandMode);
|
|
18473
|
+
i0.ɵɵadvance(3);
|
|
18474
|
+
i0.ɵɵproperty("value", ctx_r1.measureUnit);
|
|
18475
|
+
i0.ɵɵadvance(1);
|
|
18476
|
+
i0.ɵɵproperty("ngForOf", ctx_r1.measureUnits);
|
|
18477
|
+
}
|
|
18478
|
+
}
|
|
18479
|
+
function DrawComponent_mat_option_32_Template(rf, ctx) {
|
|
18480
|
+
if (rf & 1) {
|
|
18481
|
+
i0.ɵɵelementStart(0, "mat-option", 2);
|
|
18482
|
+
i0.ɵɵtext(1);
|
|
18483
|
+
i0.ɵɵelementEnd();
|
|
18484
|
+
}
|
|
18485
|
+
if (rf & 2) {
|
|
18486
|
+
const layer_r15 = ctx.$implicit;
|
|
18487
|
+
i0.ɵɵproperty("value", layer_r15);
|
|
18488
|
+
i0.ɵɵadvance(1);
|
|
18489
|
+
i0.ɵɵtextInterpolate1(" ", layer_r15.title, " ");
|
|
18490
|
+
}
|
|
18491
|
+
}
|
|
18492
|
+
function DrawComponent_button_36_Template(rf, ctx) {
|
|
18493
|
+
if (rf & 1) {
|
|
18494
|
+
const _r17 = i0.ɵɵgetCurrentView();
|
|
18495
|
+
i0.ɵɵelementStart(0, "button", 27);
|
|
18496
|
+
i0.ɵɵlistener("click", function DrawComponent_button_36_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r17); const ctx_r16 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r16.activeDrawingLayer.visible = !ctx_r16.activeDrawingLayer.visible); });
|
|
17814
18497
|
i0.ɵɵpipe(1, "translate");
|
|
17815
18498
|
i0.ɵɵpipe(2, "translate");
|
|
17816
|
-
i0.ɵɵelement(3, "mat-icon",
|
|
18499
|
+
i0.ɵɵelement(3, "mat-icon", 28);
|
|
17817
18500
|
i0.ɵɵelementEnd();
|
|
17818
18501
|
}
|
|
17819
18502
|
if (rf & 2) {
|
|
17820
|
-
const
|
|
17821
|
-
i0.ɵɵproperty("color",
|
|
18503
|
+
const ctx_r4 = i0.ɵɵnextContext();
|
|
18504
|
+
i0.ɵɵproperty("color", ctx_r4.activeDrawingLayer.visible ? "primary" : "default")("matTooltip", ctx_r4.activeDrawingLayer.visible ? i0.ɵɵpipeBind1(1, 3, "igo.geo.layer.hideLayer") : i0.ɵɵpipeBind1(2, 5, "igo.geo.layer.showLayer"));
|
|
17822
18505
|
i0.ɵɵadvance(3);
|
|
17823
|
-
i0.ɵɵproperty("svgIcon",
|
|
18506
|
+
i0.ɵɵproperty("svgIcon", ctx_r4.activeDrawingLayer.visible ? "eye" : "eye-off");
|
|
17824
18507
|
}
|
|
17825
18508
|
}
|
|
17826
|
-
function
|
|
18509
|
+
function DrawComponent_button_39_Template(rf, ctx) {
|
|
17827
18510
|
if (rf & 1) {
|
|
17828
|
-
const
|
|
17829
|
-
i0.ɵɵelementStart(0, "button",
|
|
17830
|
-
i0.ɵɵlistener("click", function
|
|
18511
|
+
const _r19 = i0.ɵɵgetCurrentView();
|
|
18512
|
+
i0.ɵɵelementStart(0, "button", 29);
|
|
18513
|
+
i0.ɵɵlistener("click", function DrawComponent_button_39_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r19); const ctx_r18 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r18.deleteDrawings()); });
|
|
17831
18514
|
i0.ɵɵpipe(1, "translate");
|
|
17832
18515
|
i0.ɵɵpipe(2, "async");
|
|
17833
|
-
i0.ɵɵelement(3, "mat-icon",
|
|
18516
|
+
i0.ɵɵelement(3, "mat-icon", 30);
|
|
17834
18517
|
i0.ɵɵelementEnd();
|
|
17835
18518
|
}
|
|
17836
18519
|
if (rf & 2) {
|
|
17837
|
-
const
|
|
17838
|
-
i0.ɵɵproperty("matTooltip", i0.ɵɵpipeBind1(1, 2, "igo.geo.draw.delete"))("disabled", i0.ɵɵpipeBind1(2, 4,
|
|
18520
|
+
const ctx_r5 = i0.ɵɵnextContext();
|
|
18521
|
+
i0.ɵɵproperty("matTooltip", i0.ɵɵpipeBind1(1, 2, "igo.geo.draw.delete"))("disabled", i0.ɵɵpipeBind1(2, 4, ctx_r5.selectedFeatures$).length === 0);
|
|
17839
18522
|
}
|
|
17840
18523
|
}
|
|
17841
|
-
function
|
|
18524
|
+
function DrawComponent_mat_form_field_44_div_6_Template(rf, ctx) {
|
|
17842
18525
|
if (rf & 1) {
|
|
17843
|
-
i0.ɵɵelementStart(0, "div",
|
|
17844
|
-
i0.ɵɵelement(1, "img",
|
|
18526
|
+
i0.ɵɵelementStart(0, "div", 34);
|
|
18527
|
+
i0.ɵɵelement(1, "img", 35);
|
|
17845
18528
|
i0.ɵɵelementEnd();
|
|
17846
18529
|
}
|
|
17847
18530
|
if (rf & 2) {
|
|
17848
|
-
const
|
|
18531
|
+
const ctx_r20 = i0.ɵɵnextContext(2);
|
|
17849
18532
|
i0.ɵɵadvance(1);
|
|
17850
|
-
i0.ɵɵpropertyInterpolate("src",
|
|
18533
|
+
i0.ɵɵpropertyInterpolate("src", ctx_r20.icon, i0.ɵɵsanitizeUrl);
|
|
17851
18534
|
}
|
|
17852
18535
|
}
|
|
17853
|
-
function
|
|
18536
|
+
function DrawComponent_mat_form_field_44_mat_option_10_Template(rf, ctx) {
|
|
17854
18537
|
if (rf & 1) {
|
|
17855
|
-
const
|
|
17856
|
-
i0.ɵɵelementStart(0, "mat-option",
|
|
17857
|
-
i0.ɵɵlistener("click", function
|
|
17858
|
-
i0.ɵɵelementStart(1, "div",
|
|
17859
|
-
i0.ɵɵelement(2, "img",
|
|
18538
|
+
const _r24 = i0.ɵɵgetCurrentView();
|
|
18539
|
+
i0.ɵɵelementStart(0, "mat-option", 36);
|
|
18540
|
+
i0.ɵɵlistener("click", function DrawComponent_mat_form_field_44_mat_option_10_Template_mat_option_click_0_listener() { const restoredCtx = i0.ɵɵrestoreView(_r24); const icon_html_r22 = restoredCtx.$implicit; const ctx_r23 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r23.onIconChange(icon_html_r22)); });
|
|
18541
|
+
i0.ɵɵelementStart(1, "div", 34);
|
|
18542
|
+
i0.ɵɵelement(2, "img", 35);
|
|
17860
18543
|
i0.ɵɵelementEnd()();
|
|
17861
18544
|
}
|
|
17862
18545
|
if (rf & 2) {
|
|
17863
|
-
const
|
|
17864
|
-
i0.ɵɵproperty("value",
|
|
18546
|
+
const icon_html_r22 = ctx.$implicit;
|
|
18547
|
+
i0.ɵɵproperty("value", icon_html_r22);
|
|
17865
18548
|
i0.ɵɵadvance(2);
|
|
17866
|
-
i0.ɵɵpropertyInterpolate("src",
|
|
18549
|
+
i0.ɵɵpropertyInterpolate("src", icon_html_r22, i0.ɵɵsanitizeUrl);
|
|
17867
18550
|
}
|
|
17868
18551
|
}
|
|
17869
|
-
function
|
|
18552
|
+
function DrawComponent_mat_form_field_44_Template(rf, ctx) {
|
|
17870
18553
|
if (rf & 1) {
|
|
17871
|
-
const
|
|
18554
|
+
const _r26 = i0.ɵɵgetCurrentView();
|
|
17872
18555
|
i0.ɵɵelementStart(0, "mat-form-field")(1, "mat-label");
|
|
17873
18556
|
i0.ɵɵtext(2);
|
|
17874
18557
|
i0.ɵɵpipe(3, "translate");
|
|
17875
18558
|
i0.ɵɵelementEnd();
|
|
17876
18559
|
i0.ɵɵelementStart(4, "mat-select")(5, "mat-select-trigger");
|
|
17877
|
-
i0.ɵɵtemplate(6,
|
|
18560
|
+
i0.ɵɵtemplate(6, DrawComponent_mat_form_field_44_div_6_Template, 2, 1, "div", 31);
|
|
17878
18561
|
i0.ɵɵelementEnd();
|
|
17879
|
-
i0.ɵɵelementStart(7, "mat-option",
|
|
17880
|
-
i0.ɵɵlistener("click", function
|
|
18562
|
+
i0.ɵɵelementStart(7, "mat-option", 32);
|
|
18563
|
+
i0.ɵɵlistener("click", function DrawComponent_mat_form_field_44_Template_mat_option_click_7_listener() { i0.ɵɵrestoreView(_r26); const ctx_r25 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r25.onIconChange()); });
|
|
17881
18564
|
i0.ɵɵtext(8);
|
|
17882
18565
|
i0.ɵɵpipe(9, "translate");
|
|
17883
18566
|
i0.ɵɵelementEnd();
|
|
17884
|
-
i0.ɵɵtemplate(10,
|
|
18567
|
+
i0.ɵɵtemplate(10, DrawComponent_mat_form_field_44_mat_option_10_Template, 3, 2, "mat-option", 33);
|
|
17885
18568
|
i0.ɵɵelementEnd()();
|
|
17886
18569
|
}
|
|
17887
18570
|
if (rf & 2) {
|
|
17888
|
-
const
|
|
18571
|
+
const ctx_r7 = i0.ɵɵnextContext();
|
|
17889
18572
|
i0.ɵɵadvance(2);
|
|
17890
18573
|
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(3, 4, "igo.geo.draw.icon"));
|
|
17891
18574
|
i0.ɵɵadvance(4);
|
|
17892
|
-
i0.ɵɵproperty("ngIf",
|
|
18575
|
+
i0.ɵɵproperty("ngIf", ctx_r7.icon);
|
|
17893
18576
|
i0.ɵɵadvance(2);
|
|
17894
18577
|
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(9, 6, "igo.geo.draw.noIcon"));
|
|
17895
18578
|
i0.ɵɵadvance(2);
|
|
17896
|
-
i0.ɵɵproperty("ngForOf",
|
|
18579
|
+
i0.ɵɵproperty("ngForOf", ctx_r7.icons);
|
|
17897
18580
|
}
|
|
17898
18581
|
}
|
|
17899
|
-
function
|
|
18582
|
+
function DrawComponent_button_48_Template(rf, ctx) {
|
|
17900
18583
|
if (rf & 1) {
|
|
17901
|
-
const
|
|
17902
|
-
i0.ɵɵelementStart(0, "button",
|
|
17903
|
-
i0.ɵɵlistener("click", function
|
|
18584
|
+
const _r28 = i0.ɵɵgetCurrentView();
|
|
18585
|
+
i0.ɵɵelementStart(0, "button", 37);
|
|
18586
|
+
i0.ɵɵlistener("click", function DrawComponent_button_48_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r28); const ctx_r27 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r27.openStyleModalDialog()); });
|
|
17904
18587
|
i0.ɵɵpipe(1, "translate");
|
|
17905
18588
|
i0.ɵɵtext(2);
|
|
17906
18589
|
i0.ɵɵpipe(3, "translate");
|
|
17907
|
-
i0.ɵɵelement(4, "mat-icon",
|
|
18590
|
+
i0.ɵɵelement(4, "mat-icon", 38);
|
|
17908
18591
|
i0.ɵɵelementEnd();
|
|
17909
18592
|
}
|
|
17910
18593
|
if (rf & 2) {
|
|
17911
|
-
const
|
|
18594
|
+
const ctx_r8 = i0.ɵɵnextContext();
|
|
17912
18595
|
i0.ɵɵproperty("matTooltip", i0.ɵɵpipeBind1(1, 3, "igo.geo.layer.style.styleModalTooltip"));
|
|
17913
18596
|
i0.ɵɵadvance(2);
|
|
17914
18597
|
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(3, 5, "igo.geo.layer.style.styleModal"), " ");
|
|
17915
18598
|
i0.ɵɵadvance(2);
|
|
17916
|
-
i0.ɵɵproperty("matBadge",
|
|
18599
|
+
i0.ɵɵproperty("matBadge", ctx_r8.selectedFeatures$.value.length);
|
|
17917
18600
|
}
|
|
17918
18601
|
}
|
|
17919
18602
|
class DrawComponent {
|
|
@@ -17938,10 +18621,24 @@ class DrawComponent {
|
|
|
17938
18621
|
{
|
|
17939
18622
|
name: 'Drawing',
|
|
17940
18623
|
title: this.languageService.translate.instant('igo.geo.draw.labels'),
|
|
17941
|
-
tooltip: this.languageService.translate.instant('igo.geo.draw.changeLabel'),
|
|
17942
18624
|
valueAccessor: (feature) => {
|
|
17943
18625
|
return feature.properties.draw;
|
|
17944
18626
|
}
|
|
18627
|
+
},
|
|
18628
|
+
{
|
|
18629
|
+
name: 'Edition',
|
|
18630
|
+
title: '',
|
|
18631
|
+
sort: false,
|
|
18632
|
+
valueAccessor: (feature) => {
|
|
18633
|
+
return [{
|
|
18634
|
+
editMode: false,
|
|
18635
|
+
icon: 'pencil',
|
|
18636
|
+
color: 'primary',
|
|
18637
|
+
click: () => { this.editLabelDrawing(feature); },
|
|
18638
|
+
style: 'mat-icon-button'
|
|
18639
|
+
}];
|
|
18640
|
+
},
|
|
18641
|
+
renderer: EntityTableColumnRenderer.ButtonGroup,
|
|
17945
18642
|
}
|
|
17946
18643
|
]
|
|
17947
18644
|
};
|
|
@@ -17957,8 +18654,14 @@ class DrawComponent {
|
|
|
17957
18654
|
this.selectedFeatures$ = new BehaviorSubject([]);
|
|
17958
18655
|
this.drawControlIsDisabled = true;
|
|
17959
18656
|
this.drawControlIsActive = false;
|
|
18657
|
+
this.freehandMode = false;
|
|
17960
18658
|
this.subscriptions$$ = [];
|
|
17961
18659
|
this.position = 'bottom';
|
|
18660
|
+
this.radiusFormControl = new UntypedFormControl(1000);
|
|
18661
|
+
this.measureUnit = MeasureLengthUnit.Meters;
|
|
18662
|
+
this.radiusFormControlChange$$ = new Subscription();
|
|
18663
|
+
this.predefinedRadius$ = new BehaviorSubject(undefined);
|
|
18664
|
+
this.radiusDrawEnd$ = new BehaviorSubject(undefined);
|
|
17962
18665
|
this.isCreatingNewLayer = false;
|
|
17963
18666
|
this.currGeometryType = this.geometryType.Point;
|
|
17964
18667
|
this.buildForm();
|
|
@@ -17989,6 +18692,13 @@ class DrawComponent {
|
|
|
17989
18692
|
set activeDrawingLayer(value) {
|
|
17990
18693
|
this._activeDrawingLayer = value;
|
|
17991
18694
|
}
|
|
18695
|
+
/**
|
|
18696
|
+
* Available measure units for the measure type given
|
|
18697
|
+
* @internal
|
|
18698
|
+
*/
|
|
18699
|
+
get measureUnits() {
|
|
18700
|
+
return [MeasureLengthUnit.Meters, MeasureLengthUnit.Kilometers];
|
|
18701
|
+
}
|
|
17992
18702
|
// Initialize the store that will contain the entities and create the Draw control
|
|
17993
18703
|
ngOnInit() {
|
|
17994
18704
|
if (!this.stores.length) {
|
|
@@ -18041,6 +18751,11 @@ class DrawComponent {
|
|
|
18041
18751
|
});
|
|
18042
18752
|
this.onLayerChange(this.activeDrawingLayer);
|
|
18043
18753
|
}
|
|
18754
|
+
this.radiusFormControlChange$$ = this.radiusFormControl.valueChanges.subscribe(value => {
|
|
18755
|
+
if (this.activeDrawControl.ispredefinedRadius$.getValue()) {
|
|
18756
|
+
this.changeRadius(value);
|
|
18757
|
+
}
|
|
18758
|
+
});
|
|
18044
18759
|
}
|
|
18045
18760
|
/**
|
|
18046
18761
|
* Remove the drawing layer and the interactions
|
|
@@ -18051,6 +18766,7 @@ class DrawComponent {
|
|
|
18051
18766
|
this.activeStore.state.updateAll({ selected: false });
|
|
18052
18767
|
this.deactivateDrawControl();
|
|
18053
18768
|
this.subscriptions$$.map((s) => s.unsubscribe());
|
|
18769
|
+
this.radiusFormControlChange$$.unsubscribe();
|
|
18054
18770
|
}
|
|
18055
18771
|
/**
|
|
18056
18772
|
* Create a Draw Control
|
|
@@ -18124,30 +18840,21 @@ class DrawComponent {
|
|
|
18124
18840
|
// open the dialog box used to enter label
|
|
18125
18841
|
const dialogRef = this.dialog.open(DrawPopupComponent, {
|
|
18126
18842
|
disableClose: false,
|
|
18127
|
-
data: {
|
|
18843
|
+
data: { olGeometry: olGeometry, map: this.map }
|
|
18128
18844
|
});
|
|
18129
18845
|
// when dialog box is closed, get label and set it to geometry
|
|
18130
|
-
dialogRef.afterClosed().subscribe((
|
|
18846
|
+
dialogRef.afterClosed().subscribe((result) => {
|
|
18131
18847
|
// checks if the user clicked ok
|
|
18132
18848
|
if (dialogRef.componentInstance.confirmFlag) {
|
|
18133
|
-
this.updateLabelOfOlGeometry(olGeometry, label);
|
|
18134
|
-
|
|
18135
|
-
|
|
18136
|
-
|
|
18137
|
-
|
|
18849
|
+
this.updateLabelOfOlGeometry(olGeometry, result.label);
|
|
18850
|
+
this.updateLabelType(olGeometry, dialogRef.componentInstance.labelFlag);
|
|
18851
|
+
this.updateMeasureUnit(olGeometry, result.measureUnit);
|
|
18852
|
+
if (!(olGeometry instanceof OlFeature)) {
|
|
18853
|
+
this.updateFontSizeAndStyle(olGeometry, '15', FontType.Arial);
|
|
18138
18854
|
this.updateFillAndStrokeColor(olGeometry, 'rgba(255,255,255,0.4)', 'rgba(143,7,7,1)');
|
|
18855
|
+
this.updateOffset(olGeometry, 0, (olGeometry instanceof OlPoint) ? -15 : 0);
|
|
18139
18856
|
}
|
|
18140
|
-
|
|
18141
|
-
this.updateOffset(olGeometry, 0, olGeometry instanceof OlPoint ? -15 : 0);
|
|
18142
|
-
}
|
|
18143
|
-
// if event was fired at draw end
|
|
18144
|
-
if (isDrawEnd) {
|
|
18145
|
-
this.onDrawEnd(olGeometry);
|
|
18146
|
-
// if event was fired at select
|
|
18147
|
-
}
|
|
18148
|
-
else {
|
|
18149
|
-
this.onSelectDraw(olGeometry, label);
|
|
18150
|
-
}
|
|
18857
|
+
isDrawEnd ? this.onDrawEnd(olGeometry) : this.onSelectDraw(olGeometry, result.label, [dialogRef.componentInstance.labelFlag, result.measureUnit]);
|
|
18151
18858
|
this.updateHeightTable();
|
|
18152
18859
|
}
|
|
18153
18860
|
// deletes the feature
|
|
@@ -18179,7 +18886,55 @@ class DrawComponent {
|
|
|
18179
18886
|
const entityId = entity.properties.id;
|
|
18180
18887
|
const olGeometryId = olGeometry.ol_uid;
|
|
18181
18888
|
if (entityId === olGeometryId) {
|
|
18182
|
-
|
|
18889
|
+
if (entity.properties.labelType === LabelType.Coordinates) {
|
|
18890
|
+
let longLat = DDtoDMS([entity.properties.longitude, entity.properties.latitude], entity.properties.measureUnit);
|
|
18891
|
+
this.updateLabelOfOlGeometry(olGeometry, '(' + longLat[1] + ', ' + longLat[0] + ')');
|
|
18892
|
+
}
|
|
18893
|
+
else if (entity.properties.labelType === LabelType.Length) {
|
|
18894
|
+
if (olGeometry instanceof OlCircle) {
|
|
18895
|
+
let circularPolygon = fromCircle(olGeometry, 10000);
|
|
18896
|
+
const radius = metersToUnit(this.getRadius(circularPolygon), entity.properties.measureUnit);
|
|
18897
|
+
const unit = MeasureLengthUnitAbbreviation[entity.properties.measureUnit];
|
|
18898
|
+
const radiusLabel = 'R: ' + radius.toFixed(2).toString() + ' ' + unit;
|
|
18899
|
+
this.updateLabelOfOlGeometry(olGeometry, radiusLabel);
|
|
18900
|
+
}
|
|
18901
|
+
else {
|
|
18902
|
+
let olGeometryLength = measureOlGeometryLength(olGeometry, this.map.ol.getView().getProjection().getCode());
|
|
18903
|
+
let measureUnit;
|
|
18904
|
+
const temp = entity.properties.measureUnit;
|
|
18905
|
+
measureUnit = MeasureLengthUnitAbbreviation[entity.properties.measureUnit];
|
|
18906
|
+
olGeometryLength = metersToUnit(olGeometryLength, temp);
|
|
18907
|
+
let lengthLabel = olGeometry instanceof OlPolygon ?
|
|
18908
|
+
'P: ' + olGeometryLength.toFixed(2).toString() + ' ' + measureUnit
|
|
18909
|
+
: olGeometryLength.toFixed(2).toString() + ' ' + measureUnit;
|
|
18910
|
+
this.updateLabelOfOlGeometry(olGeometry, lengthLabel);
|
|
18911
|
+
}
|
|
18912
|
+
}
|
|
18913
|
+
else if (entity.properties.labelType === LabelType.Area) {
|
|
18914
|
+
if (olGeometry instanceof OlCircle) {
|
|
18915
|
+
let circularPolygon = fromCircle(olGeometry, 10000);
|
|
18916
|
+
let circleArea = measureOlGeometryArea(circularPolygon, this.map.ol.getView().getProjection().getCode());
|
|
18917
|
+
const unit = MeasureAreaUnitAbbreviation[entity.properties.measureUnit];
|
|
18918
|
+
const temp = entity.properties.measureUnit;
|
|
18919
|
+
circleArea = squareMetersToUnit(circleArea, temp);
|
|
18920
|
+
const areaLabel = circleArea.toFixed(2).toString() + ' ' + unit;
|
|
18921
|
+
this.updateLabelOfOlGeometry(olGeometry, areaLabel);
|
|
18922
|
+
}
|
|
18923
|
+
else {
|
|
18924
|
+
let olGeometryArea = measureOlGeometryArea(olGeometry, this.map.ol.getView().getProjection().getCode());
|
|
18925
|
+
let measureUnit;
|
|
18926
|
+
const temp = entity.properties.measureUnit;
|
|
18927
|
+
measureUnit = MeasureAreaUnitAbbreviation[entity.properties.measureUnit];
|
|
18928
|
+
olGeometryArea = squareMetersToUnit(olGeometryArea, temp);
|
|
18929
|
+
const lengthLabel = olGeometryArea.toFixed(2).toString() + ' ' + measureUnit;
|
|
18930
|
+
this.updateLabelOfOlGeometry(olGeometry, lengthLabel);
|
|
18931
|
+
}
|
|
18932
|
+
}
|
|
18933
|
+
else {
|
|
18934
|
+
this.updateLabelOfOlGeometry(olGeometry, entity.properties.draw);
|
|
18935
|
+
}
|
|
18936
|
+
this.updateLabelType(olGeometry, entity.properties.labelType);
|
|
18937
|
+
this.updateMeasureUnit(olGeometry, entity.properties.measureUnit);
|
|
18183
18938
|
this.updateFontSizeAndStyle(olGeometry, entity.properties.fontStyle.split(' ')[0].replace('px', ''), entity.properties.fontStyle.substring(entity.properties.fontStyle.indexOf(' ') + 1));
|
|
18184
18939
|
this.updateFillAndStrokeColor(olGeometry, entity.properties.drawingStyle.fill, entity.properties.drawingStyle.stroke);
|
|
18185
18940
|
this.updateOffset(olGeometry, entity.properties.offsetX, entity.properties.offsetY);
|
|
@@ -18187,7 +18942,7 @@ class DrawComponent {
|
|
|
18187
18942
|
}
|
|
18188
18943
|
});
|
|
18189
18944
|
}
|
|
18190
|
-
onSelectDraw(olFeature, label) {
|
|
18945
|
+
onSelectDraw(olFeature, label, labelTypeAndUnit) {
|
|
18191
18946
|
const entities = this.activeStore.all();
|
|
18192
18947
|
const olGeometry = olFeature.getGeometry();
|
|
18193
18948
|
olGeometry.ol_uid = olFeature.get('id');
|
|
@@ -18213,6 +18968,8 @@ class DrawComponent {
|
|
|
18213
18968
|
this.updateFontSizeAndStyle(olGeometry, fontSize, fontStyle);
|
|
18214
18969
|
this.updateFillAndStrokeColor(olGeometry, fillColor, strokeColor);
|
|
18215
18970
|
this.updateOffset(olGeometry, offsetX, offsetY);
|
|
18971
|
+
this.updateLabelType(olGeometry, labelTypeAndUnit[0]);
|
|
18972
|
+
this.updateMeasureUnit(olGeometry, labelTypeAndUnit[1]);
|
|
18216
18973
|
this.replaceFeatureInStore(entity, olGeometry, rad);
|
|
18217
18974
|
}
|
|
18218
18975
|
});
|
|
@@ -18252,8 +19009,12 @@ class DrawComponent {
|
|
|
18252
19009
|
lon4326 = center4326[0];
|
|
18253
19010
|
lat4326 = center4326[1];
|
|
18254
19011
|
rad = getDistance(center4326, extent4326);
|
|
19012
|
+
this.radiusFormControl.setValue(Math.round(rad));
|
|
18255
19013
|
}
|
|
18256
19014
|
}
|
|
19015
|
+
if (this.activeDrawControl.radiusDrawEnd$.getValue()) {
|
|
19016
|
+
rad = this.activeDrawControl.radiusDrawEnd$.getValue();
|
|
19017
|
+
}
|
|
18257
19018
|
if (olGeometry instanceof OlPoint) {
|
|
18258
19019
|
point4326 = transform(olGeometry.getFlatCoordinates(), projection, 'EPSG:4326');
|
|
18259
19020
|
lon4326 = point4326[0];
|
|
@@ -18275,12 +19036,16 @@ class DrawComponent {
|
|
|
18275
19036
|
stroke: olGeometry.get('strokeColor_')
|
|
18276
19037
|
},
|
|
18277
19038
|
offsetX: olGeometry.get('offsetX_'),
|
|
18278
|
-
offsetY: olGeometry.get('offsetY_')
|
|
19039
|
+
offsetY: olGeometry.get('offsetY_'),
|
|
19040
|
+
labelType: olGeometry.get('labelType_'),
|
|
19041
|
+
measureUnit: olGeometry.get('measureUnit_')
|
|
18279
19042
|
},
|
|
18280
19043
|
meta: {
|
|
18281
19044
|
id: featureId
|
|
18282
19045
|
}
|
|
18283
19046
|
});
|
|
19047
|
+
this.activeDrawControl.predefinedRadius$.next(undefined);
|
|
19048
|
+
this.activeDrawControl.radiusDrawEnd$.next(undefined);
|
|
18284
19049
|
}
|
|
18285
19050
|
buildForm() {
|
|
18286
19051
|
this.form = this.formBuilder.group({
|
|
@@ -18325,11 +19090,9 @@ class DrawComponent {
|
|
|
18325
19090
|
/**
|
|
18326
19091
|
* Called when the user double-clicks the selected drawing
|
|
18327
19092
|
*/
|
|
18328
|
-
editLabelDrawing() {
|
|
18329
|
-
|
|
18330
|
-
|
|
18331
|
-
this.openDrawDialog(olGeometry, false);
|
|
18332
|
-
}
|
|
19093
|
+
editLabelDrawing(feature) {
|
|
19094
|
+
const olGeometryFeature = featureToOl(feature, this.map.ol.getView().getProjection().getCode());
|
|
19095
|
+
this.openDrawDialog(olGeometryFeature, false);
|
|
18333
19096
|
}
|
|
18334
19097
|
openShorcutsDialog() {
|
|
18335
19098
|
this.dialog.open(DrawShorcutsComponent);
|
|
@@ -18366,6 +19129,19 @@ class DrawComponent {
|
|
|
18366
19129
|
onToggleDrawControl(toggleIsChecked) {
|
|
18367
19130
|
toggleIsChecked ? this.toggleDrawControl() : this.deactivateDrawControl();
|
|
18368
19131
|
}
|
|
19132
|
+
onToggleFreehandMode(event) {
|
|
19133
|
+
if (this.isCircle() && !event.checked) {
|
|
19134
|
+
this.activeDrawControl.ispredefinedRadius$.next(true);
|
|
19135
|
+
this.changeRadius(this.radiusFormControl.value);
|
|
19136
|
+
}
|
|
19137
|
+
else {
|
|
19138
|
+
this.activeDrawControl.setOlInteractionStyle(createInteractionStyle(this.fillColor, this.strokeColor, this.strokeWidth));
|
|
19139
|
+
this.activeDrawControl.ispredefinedRadius$.next(false);
|
|
19140
|
+
}
|
|
19141
|
+
this.freehandMode = event.checked;
|
|
19142
|
+
this.activeDrawControl.freehand$.next(event.checked);
|
|
19143
|
+
this.toggleDrawControl();
|
|
19144
|
+
}
|
|
18369
19145
|
// User changes properties of a drawing element
|
|
18370
19146
|
/**
|
|
18371
19147
|
* Display the current layer with the current store and the current layerSource
|
|
@@ -18516,16 +19292,19 @@ class DrawComponent {
|
|
|
18516
19292
|
onGeometryTypeChange(geometryType) {
|
|
18517
19293
|
this.currGeometryType = geometryType;
|
|
18518
19294
|
this.activeDrawControl.setGeometryType(geometryType);
|
|
19295
|
+
this.freehandMode ?
|
|
19296
|
+
this.onToggleFreehandMode({ checked: true }) :
|
|
19297
|
+
this.onToggleFreehandMode({ checked: false });
|
|
18519
19298
|
this.toggleDrawControl();
|
|
18520
19299
|
}
|
|
18521
19300
|
// Updates the properties of olFeature inputted
|
|
18522
19301
|
/**
|
|
18523
19302
|
* Update the label of a geometry when a label is entered in a dialog box
|
|
18524
|
-
* @param
|
|
19303
|
+
* @param OlFeature the feature
|
|
18525
19304
|
* @param label the label
|
|
18526
19305
|
*/
|
|
18527
|
-
updateLabelOfOlGeometry(
|
|
18528
|
-
|
|
19306
|
+
updateLabelOfOlGeometry(OlFeature, label) {
|
|
19307
|
+
OlFeature.setProperties({
|
|
18529
19308
|
_label: label
|
|
18530
19309
|
}, true);
|
|
18531
19310
|
}
|
|
@@ -18546,13 +19325,23 @@ class DrawComponent {
|
|
|
18546
19325
|
offsetY_: offsetY
|
|
18547
19326
|
}, true);
|
|
18548
19327
|
}
|
|
19328
|
+
updateLabelType(olFeature, typeOfLabel) {
|
|
19329
|
+
olFeature.setProperties({
|
|
19330
|
+
labelType_: typeOfLabel
|
|
19331
|
+
}, true);
|
|
19332
|
+
}
|
|
19333
|
+
updateMeasureUnit(olFeature, measureUnit) {
|
|
19334
|
+
olFeature.setProperties({
|
|
19335
|
+
measureUnit_: measureUnit
|
|
19336
|
+
}, true);
|
|
19337
|
+
}
|
|
18549
19338
|
// Updates values of the selected element on the HTML view
|
|
18550
19339
|
getFeatureFontSize() {
|
|
18551
19340
|
return this.selectedFeatures$.value.length > 0
|
|
18552
19341
|
? this.selectedFeatures$.value[0].properties.fontStyle
|
|
18553
19342
|
.split(' ')[0]
|
|
18554
19343
|
.replace('px', '')
|
|
18555
|
-
: '
|
|
19344
|
+
: '15';
|
|
18556
19345
|
}
|
|
18557
19346
|
getFeatureFontStyle() {
|
|
18558
19347
|
return this.selectedFeatures$.value.length > 0
|
|
@@ -18656,6 +19445,66 @@ class DrawComponent {
|
|
|
18656
19445
|
}
|
|
18657
19446
|
this.activeDrawControl.setOlMap(this.map.ol, true);
|
|
18658
19447
|
}
|
|
19448
|
+
/**
|
|
19449
|
+
* get the geometry of design
|
|
19450
|
+
*
|
|
19451
|
+
*/
|
|
19452
|
+
isPoint() {
|
|
19453
|
+
return this.activeDrawControl.getGeometryType() === this.geometryType.Point;
|
|
19454
|
+
}
|
|
19455
|
+
isLineString() {
|
|
19456
|
+
return this.activeDrawControl.getGeometryType() === this.geometryType.LineString;
|
|
19457
|
+
}
|
|
19458
|
+
isPolygon() {
|
|
19459
|
+
return this.activeDrawControl.getGeometryType() === this.geometryType.Polygon;
|
|
19460
|
+
}
|
|
19461
|
+
isCircle() {
|
|
19462
|
+
return this.activeDrawControl.getGeometryType() === this.geometryType.Circle;
|
|
19463
|
+
}
|
|
19464
|
+
/**
|
|
19465
|
+
* The fonction to predefine the radius of the user
|
|
19466
|
+
*
|
|
19467
|
+
*/
|
|
19468
|
+
changeRadius(radius) {
|
|
19469
|
+
let radiusMeters;
|
|
19470
|
+
if (radius) {
|
|
19471
|
+
this.measureUnit === MeasureLengthUnit.Meters ? radiusMeters = radius :
|
|
19472
|
+
radiusMeters = radius * 1000;
|
|
19473
|
+
}
|
|
19474
|
+
else {
|
|
19475
|
+
radiusMeters = undefined;
|
|
19476
|
+
}
|
|
19477
|
+
const pointStyle = (feature, resolution) => {
|
|
19478
|
+
const geom = feature.getGeometry();
|
|
19479
|
+
const coordinates = olproj.transform(geom.getCoordinates(), this.map.projection, 'EPSG:4326');
|
|
19480
|
+
const radius = radiusMeters / (Math.cos((Math.PI / 180) * coordinates[1])) / resolution;
|
|
19481
|
+
this.activeDrawControl.predefinedRadius$.next(radiusMeters);
|
|
19482
|
+
return new olstyle.Style({
|
|
19483
|
+
image: new olstyle.Circle({
|
|
19484
|
+
radius: radius,
|
|
19485
|
+
stroke: new olstyle.Stroke({
|
|
19486
|
+
width: 1,
|
|
19487
|
+
color: 'rgba(143,7,7,1)'
|
|
19488
|
+
}),
|
|
19489
|
+
fill: new olstyle.Fill({
|
|
19490
|
+
color: 'rgba(255,255,255,0.4)'
|
|
19491
|
+
})
|
|
19492
|
+
})
|
|
19493
|
+
});
|
|
19494
|
+
};
|
|
19495
|
+
this.activeDrawControl.setOlInteractionStyle(pointStyle);
|
|
19496
|
+
this.toggleDrawControl();
|
|
19497
|
+
}
|
|
19498
|
+
onMeasureUnitChange(selectedMeasureUnit) {
|
|
19499
|
+
if (selectedMeasureUnit === this.measureUnit) {
|
|
19500
|
+
return;
|
|
19501
|
+
}
|
|
19502
|
+
else {
|
|
19503
|
+
this.measureUnit = selectedMeasureUnit;
|
|
19504
|
+
this.measureUnit === MeasureLengthUnit.Meters ? this.radiusFormControl.setValue(this.radiusFormControl.value * 1000) :
|
|
19505
|
+
this.radiusFormControl.setValue(this.radiusFormControl.value / 1000);
|
|
19506
|
+
}
|
|
19507
|
+
}
|
|
18659
19508
|
/**
|
|
18660
19509
|
* Recreates the style of the feature stored
|
|
18661
19510
|
*/
|
|
@@ -18671,6 +19520,10 @@ class DrawComponent {
|
|
|
18671
19520
|
});
|
|
18672
19521
|
}
|
|
18673
19522
|
}
|
|
19523
|
+
getRadius(olGeometry) {
|
|
19524
|
+
const length = getLength(olGeometry);
|
|
19525
|
+
return Number(length / (2 * Math.PI));
|
|
19526
|
+
}
|
|
18674
19527
|
}
|
|
18675
19528
|
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)); };
|
|
18676
19529
|
DrawComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: DrawComponent, selectors: [["igo-draw"]], viewQuery: function DrawComponent_Query(rf, ctx) {
|
|
@@ -18681,9 +19534,9 @@ DrawComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: DrawComponent
|
|
|
18681
19534
|
let _t;
|
|
18682
19535
|
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.select = _t.first);
|
|
18683
19536
|
}
|
|
18684
|
-
}, 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:
|
|
19537
|
+
}, 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: 49, vars: 47, 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"], [3, "checked", "labelPosition", "change", 4, "ngIf"], ["class", "radius-unit", 4, "ngIf"], ["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"], ["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"], [1, "radius-unit"], [1, "radius-form"], [1, "radius"], ["matInput", "", "type", "number", "min", "0", 3, "placeholder", "formControl", "readonly"], [1, "unit-field"], ["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) {
|
|
18685
19538
|
if (rf & 1) {
|
|
18686
|
-
const
|
|
19539
|
+
const _r29 = i0.ɵɵgetCurrentView();
|
|
18687
19540
|
i0.ɵɵelementStart(0, "div")(1, "div", 0)(2, "mat-button-toggle-group", 1);
|
|
18688
19541
|
i0.ɵɵlistener("change", function DrawComponent_Template_mat_button_toggle_group_change_2_listener($event) { return ctx.onGeometryTypeChange($event.value); });
|
|
18689
19542
|
i0.ɵɵelementStart(3, "mat-button-toggle", 2);
|
|
@@ -18711,36 +19564,39 @@ DrawComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: DrawComponent
|
|
|
18711
19564
|
i0.ɵɵlistener("change", function DrawComponent_Template_mat_slide_toggle_change_19_listener() { return ctx.onToggleLabels(); });
|
|
18712
19565
|
i0.ɵɵtext(20);
|
|
18713
19566
|
i0.ɵɵpipe(21, "translate");
|
|
18714
|
-
i0.ɵɵelementEnd()();
|
|
18715
|
-
i0.ɵɵelement(22, "mat-divider");
|
|
18716
|
-
i0.ɵɵelementStart(23, "div")(24, "mat-form-field", 6)(25, "mat-label");
|
|
18717
|
-
i0.ɵɵtext(26);
|
|
18718
|
-
i0.ɵɵpipe(27, "translate");
|
|
18719
19567
|
i0.ɵɵelementEnd();
|
|
18720
|
-
i0.ɵɵ
|
|
18721
|
-
i0.ɵɵ
|
|
18722
|
-
i0.ɵɵtemplate(30, DrawComponent_mat_option_30_Template, 2, 2, "mat-option", 9);
|
|
18723
|
-
i0.ɵɵelementStart(31, "mat-option", 10);
|
|
18724
|
-
i0.ɵɵtext(32);
|
|
18725
|
-
i0.ɵɵpipe(33, "translate");
|
|
18726
|
-
i0.ɵɵelementEnd()()();
|
|
18727
|
-
i0.ɵɵtemplate(34, DrawComponent_button_34_Template, 4, 7, "button", 11);
|
|
19568
|
+
i0.ɵɵtemplate(22, DrawComponent_mat_slide_toggle_22_Template, 3, 5, "mat-slide-toggle", 6);
|
|
19569
|
+
i0.ɵɵtemplate(23, DrawComponent_div_23_Template, 8, 7, "div", 7);
|
|
18728
19570
|
i0.ɵɵelementEnd();
|
|
18729
|
-
i0.ɵɵelement(
|
|
18730
|
-
i0.ɵɵelementStart(
|
|
18731
|
-
i0.ɵɵ
|
|
18732
|
-
i0.ɵɵ
|
|
18733
|
-
i0.ɵɵ
|
|
19571
|
+
i0.ɵɵelement(24, "mat-divider");
|
|
19572
|
+
i0.ɵɵelementStart(25, "div")(26, "mat-form-field", 8)(27, "mat-label");
|
|
19573
|
+
i0.ɵɵtext(28);
|
|
19574
|
+
i0.ɵɵpipe(29, "translate");
|
|
19575
|
+
i0.ɵɵelementEnd();
|
|
19576
|
+
i0.ɵɵelementStart(30, "mat-select", 9, 10);
|
|
19577
|
+
i0.ɵɵlistener("selectionChange", function DrawComponent_Template_mat_select_selectionChange_30_listener() { i0.ɵɵrestoreView(_r29); const _r2 = i0.ɵɵreference(31); return i0.ɵɵresetView(ctx.onLayerChange(_r2.value)); });
|
|
19578
|
+
i0.ɵɵtemplate(32, DrawComponent_mat_option_32_Template, 2, 2, "mat-option", 11);
|
|
19579
|
+
i0.ɵɵelementStart(33, "mat-option", 12);
|
|
19580
|
+
i0.ɵɵtext(34);
|
|
19581
|
+
i0.ɵɵpipe(35, "translate");
|
|
18734
19582
|
i0.ɵɵelementEnd()()();
|
|
18735
|
-
i0.ɵɵ
|
|
18736
|
-
i0.ɵɵtemplate(42, DrawComponent_mat_form_field_42_Template, 11, 8, "mat-form-field", 16);
|
|
19583
|
+
i0.ɵɵtemplate(36, DrawComponent_button_36_Template, 4, 7, "button", 13);
|
|
18737
19584
|
i0.ɵɵelementEnd();
|
|
18738
|
-
i0.ɵɵ
|
|
18739
|
-
i0.ɵɵ
|
|
18740
|
-
i0.ɵɵ
|
|
18741
|
-
i0.ɵɵ
|
|
19585
|
+
i0.ɵɵelement(37, "mat-divider");
|
|
19586
|
+
i0.ɵɵelementStart(38, "div");
|
|
19587
|
+
i0.ɵɵtemplate(39, DrawComponent_button_39_Template, 4, 6, "button", 14);
|
|
19588
|
+
i0.ɵɵelementStart(40, "div");
|
|
19589
|
+
i0.ɵɵelement(41, "igo-entity-table", 15, 16);
|
|
19590
|
+
i0.ɵɵelementEnd()();
|
|
19591
|
+
i0.ɵɵelementStart(43, "div", 17);
|
|
19592
|
+
i0.ɵɵtemplate(44, DrawComponent_mat_form_field_44_Template, 11, 8, "mat-form-field", 18);
|
|
18742
19593
|
i0.ɵɵelementEnd();
|
|
18743
|
-
i0.ɵɵ
|
|
19594
|
+
i0.ɵɵelementStart(45, "button", 19);
|
|
19595
|
+
i0.ɵɵlistener("click", function DrawComponent_Template_button_click_45_listener() { return ctx.openShorcutsDialog(); });
|
|
19596
|
+
i0.ɵɵelement(46, "mat-icon", 20);
|
|
19597
|
+
i0.ɵɵpipe(47, "translate");
|
|
19598
|
+
i0.ɵɵelementEnd();
|
|
19599
|
+
i0.ɵɵtemplate(48, DrawComponent_button_48_Template, 5, 7, "button", 21);
|
|
18744
19600
|
i0.ɵɵelementEnd();
|
|
18745
19601
|
}
|
|
18746
19602
|
if (rf & 2) {
|
|
@@ -18749,35 +19605,39 @@ DrawComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: DrawComponent
|
|
|
18749
19605
|
i0.ɵɵadvance(1);
|
|
18750
19606
|
i0.ɵɵproperty("value", ctx.geometryType.Point);
|
|
18751
19607
|
i0.ɵɵadvance(1);
|
|
18752
|
-
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(5,
|
|
19608
|
+
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(5, 29, "igo.geo.draw." + ctx.geometryType.Point), " ");
|
|
18753
19609
|
i0.ɵɵadvance(2);
|
|
18754
19610
|
i0.ɵɵproperty("value", ctx.geometryType.LineString);
|
|
18755
19611
|
i0.ɵɵadvance(1);
|
|
18756
|
-
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(8,
|
|
19612
|
+
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(8, 31, "igo.geo.draw." + ctx.geometryType.LineString), " ");
|
|
18757
19613
|
i0.ɵɵadvance(2);
|
|
18758
19614
|
i0.ɵɵproperty("value", ctx.geometryType.Polygon);
|
|
18759
19615
|
i0.ɵɵadvance(1);
|
|
18760
|
-
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(11,
|
|
19616
|
+
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(11, 33, "igo.geo.draw." + ctx.geometryType.Polygon), " ");
|
|
18761
19617
|
i0.ɵɵadvance(2);
|
|
18762
19618
|
i0.ɵɵproperty("value", ctx.geometryType.Circle);
|
|
18763
19619
|
i0.ɵɵadvance(1);
|
|
18764
|
-
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(14,
|
|
19620
|
+
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(14, 35, "igo.geo.draw." + ctx.geometryType.Circle), " ");
|
|
18765
19621
|
i0.ɵɵadvance(3);
|
|
18766
19622
|
i0.ɵɵproperty("disabled", ctx.drawControlIsDisabled)("checked", ctx.drawControlIsActive)("labelPosition", "before");
|
|
18767
19623
|
i0.ɵɵadvance(1);
|
|
18768
|
-
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(18,
|
|
19624
|
+
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(18, 37, "igo.geo.spatialFilter.drawControl"), " ");
|
|
18769
19625
|
i0.ɵɵadvance(2);
|
|
18770
19626
|
i0.ɵɵproperty("checked", ctx.labelsAreShown)("labelPosition", "before");
|
|
18771
19627
|
i0.ɵɵadvance(1);
|
|
18772
|
-
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(21,
|
|
18773
|
-
i0.ɵɵadvance(
|
|
18774
|
-
i0.ɵɵ
|
|
19628
|
+
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(21, 39, "igo.geo.draw.toggleMapTooltips"), " ");
|
|
19629
|
+
i0.ɵɵadvance(2);
|
|
19630
|
+
i0.ɵɵproperty("ngIf", !ctx.isPoint());
|
|
19631
|
+
i0.ɵɵadvance(1);
|
|
19632
|
+
i0.ɵɵproperty("ngIf", ctx.isCircle());
|
|
19633
|
+
i0.ɵɵadvance(5);
|
|
19634
|
+
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(29, 41, "igo.geo.draw.layer.title"));
|
|
18775
19635
|
i0.ɵɵadvance(2);
|
|
18776
19636
|
i0.ɵɵproperty("value", ctx.updateActiveLayer());
|
|
18777
19637
|
i0.ɵɵadvance(2);
|
|
18778
19638
|
i0.ɵɵproperty("ngForOf", ctx.allLayers);
|
|
18779
19639
|
i0.ɵɵadvance(2);
|
|
18780
|
-
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(
|
|
19640
|
+
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(35, 43, "igo.geo.draw.layer.createNewLayer"), " ");
|
|
18781
19641
|
i0.ɵɵadvance(2);
|
|
18782
19642
|
i0.ɵɵproperty("ngIf", ctx.activeDrawingLayer);
|
|
18783
19643
|
i0.ɵɵadvance(3);
|
|
@@ -18787,11 +19647,11 @@ DrawComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: DrawComponent
|
|
|
18787
19647
|
i0.ɵɵadvance(3);
|
|
18788
19648
|
i0.ɵɵproperty("ngIf", ctx.icons.length >= 1);
|
|
18789
19649
|
i0.ɵɵadvance(2);
|
|
18790
|
-
i0.ɵɵproperty("matTooltip", i0.ɵɵpipeBind1(
|
|
19650
|
+
i0.ɵɵproperty("matTooltip", i0.ɵɵpipeBind1(47, 45, "igo.geo.draw.shortcuts"));
|
|
18791
19651
|
i0.ɵɵadvance(2);
|
|
18792
19652
|
i0.ɵɵproperty("ngIf", ctx.selectedFeatures$.value.length);
|
|
18793
19653
|
}
|
|
18794
|
-
}, 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: [
|
|
19654
|
+
}, dependencies: [i2$2.ɵNgNoValidate, i2$2.DefaultValueAccessor, i2$2.NumberValueAccessor, i2$2.NgControlStatus, i2$2.NgControlStatusGroup, i2$2.MinValidator, i2$2.NgForm, i2$2.FormControlDirective, i1$1.NgForOf, i1$1.NgIf, i3.MatButton, i18.MatButtonToggleGroup, i18.MatButtonToggle, i11.MatDivider, i13.MatFormField, i13.MatLabel, i2.MatIcon, i7$1.MatBadge, i4.MatTooltip, i14.MatInput, i15.MatSelect, i15.MatSelectTrigger, i9.MatOption, i23.MatSlideToggle, i5$1.EntityTableComponent, i1$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}.radius[_ngcontent-%COMP%]{display:flex;flex-flow:column nowrap;width:110%}.unit-field[_ngcontent-%COMP%]{width:110px;margin-left:30px}.radius-unit[_ngcontent-%COMP%]{display:flex;width:100%;margin-left:2px;padding:5px} igo-entity-table td:last-child{text-align:right!important} igo-entity-table td:last-child button{margin:0%!important}"], data: { animation: [
|
|
18795
19655
|
trigger('openClose', [
|
|
18796
19656
|
state('open', style({
|
|
18797
19657
|
opacity: 1
|
|
@@ -18817,7 +19677,7 @@ DrawComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: DrawComponent
|
|
|
18817
19677
|
transition('open => closed', [animate('600ms ease')]),
|
|
18818
19678
|
transition('closed => open', [animate('800ms ease')])
|
|
18819
19679
|
])
|
|
18820
|
-
], 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.
|
|
19680
|
+
], 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\r\n <mat-slide-toggle\r\n *ngIf=\"!isPoint()\"\r\n [checked]=\"freehandMode\"\r\n [labelPosition]=\"'before'\"\r\n (change)=\"onToggleFreehandMode($event)\">\r\n {{ 'igo.geo.draw.freehandMode' | translate }}\r\n </mat-slide-toggle>\r\n\r\n <div class=\"radius-unit\" *ngIf=\"isCircle()\">\r\n <form class=\"radius-form\">\r\n <mat-form-field class=\"radius\">\r\n <input\r\n matInput type=\"number\"\r\n min=\"0\"\r\n placeholder=\"{{ 'igo.geo.spatialFilter.radius' | translate }}\"\r\n [formControl]=\"radiusFormControl\"\r\n [readonly]=\"this.freehandMode\">\r\n </mat-form-field>\r\n </form>\r\n\r\n <mat-form-field class=\"unit-field\">\r\n <mat-select\r\n [value]=\"measureUnit\"\r\n (selectionChange)=\"onMeasureUnitChange($event.value)\">\r\n <mat-option\r\n *ngFor=\"let measureUnit of measureUnits\"\r\n [value]=\"measureUnit\">\r\n {{('igo.geo.measure.' + measureUnit) | translate}}\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n </div>\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 >\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 </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}.radius{display:flex;flex-flow:column nowrap;width:110%}.unit-field{width:110px;margin-left:30px}.radius-unit{display:flex;width:100%;margin-left:2px;padding:5px}::ng-deep igo-entity-table td:last-child{text-align:right!important}::ng-deep igo-entity-table td:last-child button{margin:0%!important}\n"] }]
|
|
18821
19681
|
}], function () { return [{ type: i2$1.LanguageService }, { type: i2$2.UntypedFormBuilder }, { type: DrawStyleService }, { type: i1.MatDialog }, { type: DrawIconService }]; }, { map: [{
|
|
18822
19682
|
type: Input
|
|
18823
19683
|
}], stores: [{
|
|
@@ -19117,7 +19977,7 @@ StyleModalComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: StyleMo
|
|
|
19117
19977
|
i0.ɵɵadvance(4);
|
|
19118
19978
|
i0.ɵɵtextInterpolate1("", i0.ɵɵpipeBind1(51, 44, "igo.geo.draw.cancel"), " ");
|
|
19119
19979
|
}
|
|
19120
|
-
}, dependencies: [i13.MatFormField, i13.MatLabel, i13.MatSuffix, i14.MatInput, i2$2.ɵNgNoValidate, i2$2.DefaultValueAccessor, i2$2.NgControlStatus, i2$2.NgControlStatusGroup, i2$2.FormGroupDirective, i2$2.FormControlName, i1$1.NgForOf, i1$1.NgIf, i2.MatIcon, i3.MatButton, i15.MatSelect, i9.MatOption, i4.MatTooltip, i12.ColorPickerDirective, i7.TranslatePipe], styles: ["h2[_ngcontent-%COMP%]{font-weight:700;font-size:large}.igo-form[_ngcontent-%COMP%]{padding:10px}.fill-field[_ngcontent-%COMP%], .stroke-field[_ngcontent-%COMP%]{width:130px}.fill-color-picker[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{position:relative;top:7px}.fill-color-picker[_ngcontent-%COMP%] mat-form-field[_ngcontent-%COMP%]{left:8px}.stroke-color-picker[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{position:relative;top:7px}.stroke-color-picker[_ngcontent-%COMP%] mat-form-field[_ngcontent-%COMP%]{left:35px}.box[_ngcontent-%COMP%]{width:25px;height:25px}.edition-drawing[_ngcontent-%COMP%]{padding:10px 0}.igo-input-container[_ngcontent-%COMP%] .mat-form-field[_ngcontent-%COMP%] + .mat-form-field[_ngcontent-%COMP%]{margin-left:8px}.igo-form-input-box[_ngcontent-%COMP%]{width:150px}button[_ngcontent-%COMP%]{margin-right:5px}"] });
|
|
19980
|
+
}, dependencies: [i13.MatFormField, i13.MatLabel, i13.MatSuffix, i14.MatInput, i2$2.ɵNgNoValidate, i2$2.DefaultValueAccessor, i2$2.NgControlStatus, i2$2.NgControlStatusGroup, i2$2.FormGroupDirective, i2$2.FormControlName, i1$1.NgForOf, i1$1.NgIf, i2.MatIcon, i3.MatButton, i15.MatSelect, i9.MatOption, i4.MatTooltip, i12$1.ColorPickerDirective, i7.TranslatePipe], styles: ["h2[_ngcontent-%COMP%]{font-weight:700;font-size:large}.igo-form[_ngcontent-%COMP%]{padding:10px}.fill-field[_ngcontent-%COMP%], .stroke-field[_ngcontent-%COMP%]{width:130px}.fill-color-picker[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{position:relative;top:7px}.fill-color-picker[_ngcontent-%COMP%] mat-form-field[_ngcontent-%COMP%]{left:8px}.stroke-color-picker[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{position:relative;top:7px}.stroke-color-picker[_ngcontent-%COMP%] mat-form-field[_ngcontent-%COMP%]{left:35px}.box[_ngcontent-%COMP%]{width:25px;height:25px}.edition-drawing[_ngcontent-%COMP%]{padding:10px 0}.igo-input-container[_ngcontent-%COMP%] .mat-form-field[_ngcontent-%COMP%] + .mat-form-field[_ngcontent-%COMP%]{margin-left:8px}.igo-form-input-box[_ngcontent-%COMP%]{width:150px}button[_ngcontent-%COMP%]{margin-right:5px}"] });
|
|
19121
19981
|
(function () {
|
|
19122
19982
|
(typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(StyleModalComponent, [{
|
|
19123
19983
|
type: Component,
|
|
@@ -19267,9 +20127,9 @@ IgoLayerModule.ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ imports: [MatInputM
|
|
|
19267
20127
|
TrackFeatureButtonComponent,
|
|
19268
20128
|
StyleModalComponent] });
|
|
19269
20129
|
})();
|
|
19270
|
-
i0.ɵɵsetComponentScope(LayerItemComponent, [i1$1.NgClass, i1$1.NgIf, i2.MatIcon, i3.MatButton, i4.MatTooltip, i5.MatListItem, i9.MatLine, i5.MatListIconCssMatStyler, i7$1.MatBadge, i12
|
|
20130
|
+
i0.ɵɵsetComponentScope(LayerItemComponent, [i1$1.NgClass, i1$1.NgIf, i2.MatIcon, i3.MatButton, i4.MatTooltip, i5.MatListItem, i9.MatLine, i5.MatListIconCssMatStyler, i7$1.MatBadge, i12.MatCheckbox, LayerLegendComponent], [i1$1.AsyncPipe, i7.TranslatePipe]);
|
|
19271
20131
|
i0.ɵɵsetComponentScope(LayerLegendItemComponent, [i4.MatTooltip, i5.MatListItem, i9.MatLine, LayerLegendComponent], []);
|
|
19272
|
-
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
|
|
20132
|
+
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.MatCheckbox, i5$1.ListItemDirective, i5$1.ListComponent, i5$1.PanelComponent, LayerItemComponent,
|
|
19273
20133
|
LayerListToolComponent], [i1$1.AsyncPipe, i7.TranslatePipe]);
|
|
19274
20134
|
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]);
|
|
19275
20135
|
|
|
@@ -20675,7 +21535,9 @@ IgoDrawModule.ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ imports: [FormsModul
|
|
|
20675
21535
|
IgoEntityTableModule,
|
|
20676
21536
|
ColorPickerModule,
|
|
20677
21537
|
BrowserModule,
|
|
20678
|
-
BrowserAnimationsModule
|
|
21538
|
+
BrowserAnimationsModule,
|
|
21539
|
+
MatRadioModule,
|
|
21540
|
+
MatCheckboxModule] });
|
|
20679
21541
|
(function () {
|
|
20680
21542
|
(typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(IgoDrawModule, [{
|
|
20681
21543
|
type: NgModule,
|
|
@@ -20701,7 +21563,9 @@ IgoDrawModule.ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ imports: [FormsModul
|
|
|
20701
21563
|
IgoEntityTableModule,
|
|
20702
21564
|
ColorPickerModule,
|
|
20703
21565
|
BrowserModule,
|
|
20704
|
-
BrowserAnimationsModule
|
|
21566
|
+
BrowserAnimationsModule,
|
|
21567
|
+
MatRadioModule,
|
|
21568
|
+
MatCheckboxModule
|
|
20705
21569
|
],
|
|
20706
21570
|
declarations: [DrawComponent, DrawPopupComponent, DrawLayerPopupComponent, DrawShorcutsComponent],
|
|
20707
21571
|
exports: [DrawComponent]
|
|
@@ -20729,7 +21593,9 @@ IgoDrawModule.ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ imports: [FormsModul
|
|
|
20729
21593
|
IgoEntityTableModule,
|
|
20730
21594
|
ColorPickerModule,
|
|
20731
21595
|
BrowserModule,
|
|
20732
|
-
BrowserAnimationsModule
|
|
21596
|
+
BrowserAnimationsModule,
|
|
21597
|
+
MatRadioModule,
|
|
21598
|
+
MatCheckboxModule], exports: [DrawComponent] });
|
|
20733
21599
|
})();
|
|
20734
21600
|
|
|
20735
21601
|
class IgoDrawingToolModule {
|
|
@@ -22969,6 +23835,14 @@ class GeometryFormFieldInputComponent {
|
|
|
22969
23835
|
}
|
|
22970
23836
|
this.toggleControl();
|
|
22971
23837
|
}
|
|
23838
|
+
/**
|
|
23839
|
+
* Whether freehand draw control should be active or not
|
|
23840
|
+
*/
|
|
23841
|
+
get predefinedRadius() { return this._predefinedRadius; }
|
|
23842
|
+
set predefinedRadius(value) {
|
|
23843
|
+
this._predefinedRadius = value;
|
|
23844
|
+
this.drawControl.ispredefinedRadius$.next(value);
|
|
23845
|
+
}
|
|
22972
23846
|
/**
|
|
22973
23847
|
* Style for the draw control (applies while the geometry is being drawn)
|
|
22974
23848
|
*/
|
|
@@ -23349,7 +24223,7 @@ class GeometryFormFieldInputComponent {
|
|
|
23349
24223
|
}
|
|
23350
24224
|
}
|
|
23351
24225
|
GeometryFormFieldInputComponent.ɵfac = function GeometryFormFieldInputComponent_Factory(t) { return new (t || GeometryFormFieldInputComponent)(i0.ɵɵdirectiveInject(i0.ChangeDetectorRef), i0.ɵɵdirectiveInject(i2$2.NgControl, 10)); };
|
|
23352
|
-
GeometryFormFieldInputComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: GeometryFormFieldInputComponent, selectors: [["igo-geometry-form-field-input"]], inputs: { map: "map", geometryType: "geometryType", drawGuide: "drawGuide", measure: "measure", drawControlIsActive: "drawControlIsActive", freehandDrawIsActive: "freehandDrawIsActive", controlOptions: "controlOptions", drawStyle: "drawStyle", overlayStyle: "overlayStyle", value: "value", radius: "radius" }, decls: 1, vars: 0, template: function GeometryFormFieldInputComponent_Template(rf, ctx) {
|
|
24226
|
+
GeometryFormFieldInputComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: GeometryFormFieldInputComponent, selectors: [["igo-geometry-form-field-input"]], inputs: { map: "map", geometryType: "geometryType", drawGuide: "drawGuide", measure: "measure", drawControlIsActive: "drawControlIsActive", freehandDrawIsActive: "freehandDrawIsActive", predefinedRadius: "predefinedRadius", controlOptions: "controlOptions", drawStyle: "drawStyle", overlayStyle: "overlayStyle", value: "value", radius: "radius" }, decls: 1, vars: 0, template: function GeometryFormFieldInputComponent_Template(rf, ctx) {
|
|
23353
24227
|
if (rf & 1) {
|
|
23354
24228
|
i0.ɵɵtemplate(0, GeometryFormFieldInputComponent_ng_template_0_Template, 0, 0, "ng-template");
|
|
23355
24229
|
}
|
|
@@ -23376,6 +24250,8 @@ GeometryFormFieldInputComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ t
|
|
|
23376
24250
|
type: Input
|
|
23377
24251
|
}], freehandDrawIsActive: [{
|
|
23378
24252
|
type: Input
|
|
24253
|
+
}], predefinedRadius: [{
|
|
24254
|
+
type: Input
|
|
23379
24255
|
}], controlOptions: [{
|
|
23380
24256
|
type: Input
|
|
23381
24257
|
}], drawStyle: [{
|
|
@@ -24716,7 +25592,7 @@ TimeFilterListBindingDirective.ɵdir = /*@__PURE__*/ i0.ɵɵdefineDirective({ ty
|
|
|
24716
25592
|
class WktService {
|
|
24717
25593
|
constructor() { }
|
|
24718
25594
|
wktToFeature(wkt, wktProj, featureProj) {
|
|
24719
|
-
return new
|
|
25595
|
+
return new olFormatWKT().readFeature(wkt, {
|
|
24720
25596
|
dataProjection: wktProj,
|
|
24721
25597
|
featureProjection: featureProj
|
|
24722
25598
|
});
|
|
@@ -28487,6 +29363,7 @@ class SpatialFilterItemComponent {
|
|
|
28487
29363
|
this.measureUnitChange = new EventEmitter();
|
|
28488
29364
|
this.radiusEvent = new EventEmitter();
|
|
28489
29365
|
this.freehandControl = new EventEmitter();
|
|
29366
|
+
this.predefinedRadius = new EventEmitter();
|
|
28490
29367
|
this.clearButtonEvent = new EventEmitter();
|
|
28491
29368
|
this.clearSearchEvent = new EventEmitter();
|
|
28492
29369
|
this.export = new EventEmitter();
|
|
@@ -28954,6 +29831,16 @@ class SpatialFilterItemComponent {
|
|
|
28954
29831
|
onfreehandControlChange() {
|
|
28955
29832
|
this.freehandDrawIsActive = !this.freehandDrawIsActive;
|
|
28956
29833
|
this.freehandControl.emit(this.freehandDrawIsActive);
|
|
29834
|
+
if (this.isPoint()) {
|
|
29835
|
+
this.predefinedRadius.emit(!this.freehandDrawIsActive);
|
|
29836
|
+
if (this.freehandDrawIsActive) {
|
|
29837
|
+
this.overlayStyle$.next(undefined);
|
|
29838
|
+
this.drawStyle$.next(undefined);
|
|
29839
|
+
}
|
|
29840
|
+
}
|
|
29841
|
+
else {
|
|
29842
|
+
this.predefinedRadius.emit(false);
|
|
29843
|
+
}
|
|
28957
29844
|
}
|
|
28958
29845
|
/**
|
|
28959
29846
|
* Launch search button
|
|
@@ -29142,7 +30029,7 @@ class SpatialFilterItemComponent {
|
|
|
29142
30029
|
}
|
|
29143
30030
|
}
|
|
29144
30031
|
SpatialFilterItemComponent.ɵfac = function SpatialFilterItemComponent_Factory(t) { return new (t || SpatialFilterItemComponent)(i0.ɵɵdirectiveInject(i0.ChangeDetectorRef), i0.ɵɵdirectiveInject(SpatialFilterService), i0.ɵɵdirectiveInject(i2$1.MessageService), i0.ɵɵdirectiveInject(i2$1.LanguageService)); };
|
|
29145
|
-
SpatialFilterItemComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: SpatialFilterItemComponent, selectors: [["igo-spatial-filter-item"]], inputs: { map: "map", type: "type", queryType: "queryType", zone: "zone", loading: "loading", store: "store", layers: "layers", allLayers: "allLayers", thematicLength: "thematicLength" }, outputs: { toggleSearch: "toggleSearch", itemTypeChange: "itemTypeChange", thematicChange: "thematicChange", drawZoneEvent: "drawZoneEvent", bufferEvent: "bufferEvent", zoneWithBufferChange: "zoneWithBufferChange", measureUnitChange: "measureUnitChange", radiusEvent: "radiusEvent", freehandControl: "freehandControl", clearButtonEvent: "clearButtonEvent", clearSearchEvent: "clearSearchEvent", export: "export", openWorkspace: "openWorkspace", entityChange: "entityChange" }, decls: 29, vars:
|
|
30032
|
+
SpatialFilterItemComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: SpatialFilterItemComponent, selectors: [["igo-spatial-filter-item"]], inputs: { map: "map", type: "type", queryType: "queryType", zone: "zone", loading: "loading", store: "store", layers: "layers", allLayers: "allLayers", thematicLength: "thematicLength" }, outputs: { toggleSearch: "toggleSearch", itemTypeChange: "itemTypeChange", thematicChange: "thematicChange", drawZoneEvent: "drawZoneEvent", bufferEvent: "bufferEvent", zoneWithBufferChange: "zoneWithBufferChange", measureUnitChange: "measureUnitChange", radiusEvent: "radiusEvent", freehandControl: "freehandControl", predefinedRadius: "predefinedRadius", clearButtonEvent: "clearButtonEvent", clearSearchEvent: "clearSearchEvent", export: "export", openWorkspace: "openWorkspace", entityChange: "entityChange" }, decls: 29, vars: 43, consts: [[3, "formControl", "map", "geometryType", "drawGuide", "measure", "drawControlIsActive", "freehandDrawIsActive", "drawStyle", "overlayStyle", "radius", "predefinedRadius"], [1, "header"], [3, "checked", "labelPosition", "change", 4, "ngIf"], ["class", "buffer-unit", 4, "ngIf"], ["class", "radius-unit", 4, "ngIf"], [1, "title", "mat-typography"], [3, "value"], [3, "value", "change", 4, "ngFor", "ngForOf"], ["class", "thematics", 4, "ngIf"], [1, "buttons"], ["mat-raised-button", "", "class", "clear-search-button", 3, "disabled", "click", 4, "ngIf"], ["mat-raised-button", "", "class", "clear-form-button", 3, "disabled", "click", 4, "ngIf"], ["mat-raised-button", "", "color", "primary", 1, "search-button", 3, "disabled", "click"], ["mat-raised-button", "", 1, "remove-button", 3, "disabled", "click"], ["mat-raised-button", "", 1, "export-button", 3, "disabled", "click"], ["class", "chevron-down", "mat-icon-button", "", "matTooltipShowDelay", "500", 3, "matTooltip", "click", 4, "ngIf"], ["class", "results", 4, "ngIf"], [3, "checked", "labelPosition", "change"], [1, "buffer-unit"], [1, "buffer-form"], [1, "buffer"], ["type", "number", "matInput", "", 3, "placeholder", "formControl", "value", "readonly"], [1, "unit-field"], [3, "value", "selectionChange"], [3, "value", 4, "ngFor", "ngForOf"], [1, "radius-unit"], [1, "radius-form"], [1, "radius"], ["type", "number", "matInput", "", 3, "placeholder", "formControl", "value", "readonly", "input"], [3, "value", "change"], [1, "thematics"], ["matColumnDef", "name"], ["class", "thematics-header", 4, "matHeaderCellDef"], ["matColumnDef", "select"], ["class", "checks-header", 4, "matHeaderCellDef"], [4, "matHeaderRowDef"], [4, "matRowDef", "matRowDefColumns"], [3, "dataSource", "treeControl"], ["matTreeNodeToggle", "", 4, "matTreeNodeDef"], [4, "matTreeNodeDef", "matTreeNodeDefWhen"], [1, "thematics-header"], [1, "checks-header"], [3, "checked", "indeterminate", "change"], ["matTreeNodeToggle", ""], [1, "mat-tree-node"], ["mat-icon-button", "", "disabled", ""], [1, "tree-check", 3, "checked", "click", "change"], ["mat-icon-button", "", 3, "click"], [3, "svgIcon"], [1, "tree-check-2", 3, "checked", "indeterminate", "change"], [1, "tree-ul"], ["matTreeNodeOutlet", ""], ["mat-raised-button", "", 1, "clear-search-button", 3, "disabled", "click"], ["mat-raised-button", "", 1, "clear-form-button", 3, "disabled", "click"], ["mat-icon-button", "", "matTooltipShowDelay", "500", 1, "chevron-down", 3, "matTooltip", "click"], ["svgIcon", "chevron-down"], [1, "results"], ["mat-icon-button", "", "matTooltipShowDelay", "500", 3, "matTooltip", "click", 4, "ngIf"], [1, "results-list", 3, "template", "store", "entitySelectChange"], ["mat-icon-button", "", "matTooltipShowDelay", "500", 3, "matTooltip", "click"], ["svgIcon", "chevron-up"]], template: function SpatialFilterItemComponent_Template(rf, ctx) {
|
|
29146
30033
|
if (rf & 1) {
|
|
29147
30034
|
i0.ɵɵelement(0, "igo-geometry-form-field-input", 0);
|
|
29148
30035
|
i0.ɵɵpipe(1, "async");
|
|
@@ -29184,7 +30071,7 @@ SpatialFilterItemComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type:
|
|
|
29184
30071
|
i0.ɵɵtemplate(28, SpatialFilterItemComponent_div_28_Template, 3, 3, "div", 16);
|
|
29185
30072
|
}
|
|
29186
30073
|
if (rf & 2) {
|
|
29187
|
-
i0.ɵɵproperty("formControl", ctx.formControl)("map", ctx.map)("geometryType", ctx.geometryType)("drawGuide", i0.ɵɵpipeBind1(1,
|
|
30074
|
+
i0.ɵɵproperty("formControl", ctx.formControl)("map", ctx.map)("geometryType", ctx.geometryType)("drawGuide", i0.ɵɵpipeBind1(1, 29, ctx.drawGuide$))("measure", ctx.measure)("drawControlIsActive", ctx.drawControlIsActive)("freehandDrawIsActive", ctx.freehandDrawIsActive)("drawStyle", i0.ɵɵpipeBind1(2, 31, ctx.drawStyle$))("overlayStyle", i0.ɵɵpipeBind1(3, 33, ctx.overlayStyle$))("radius", ctx.radius)("predefinedRadius", ctx.predefinedRadius);
|
|
29188
30075
|
i0.ɵɵadvance(5);
|
|
29189
30076
|
i0.ɵɵproperty("ngIf", !ctx.isPredefined());
|
|
29190
30077
|
i0.ɵɵadvance(1);
|
|
@@ -29194,7 +30081,7 @@ SpatialFilterItemComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type:
|
|
|
29194
30081
|
i0.ɵɵadvance(1);
|
|
29195
30082
|
i0.ɵɵproperty("ngIf", ctx.isPoint());
|
|
29196
30083
|
i0.ɵɵadvance(2);
|
|
29197
|
-
i0.ɵɵtextInterpolate1("", i0.ɵɵpipeBind1(11,
|
|
30084
|
+
i0.ɵɵtextInterpolate1("", i0.ɵɵpipeBind1(11, 35, "igo.geo.spatialFilter.search"), " : ");
|
|
29198
30085
|
i0.ɵɵadvance(2);
|
|
29199
30086
|
i0.ɵɵproperty("value", ctx.selectedItemType);
|
|
29200
30087
|
i0.ɵɵadvance(1);
|
|
@@ -29208,15 +30095,15 @@ SpatialFilterItemComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type:
|
|
|
29208
30095
|
i0.ɵɵadvance(1);
|
|
29209
30096
|
i0.ɵɵproperty("disabled", ctx.disableSearchButton());
|
|
29210
30097
|
i0.ɵɵadvance(1);
|
|
29211
|
-
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(20,
|
|
30098
|
+
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(20, 37, "igo.geo.spatialFilter.goSearch"), " ");
|
|
29212
30099
|
i0.ɵɵadvance(2);
|
|
29213
30100
|
i0.ɵɵproperty("disabled", ctx.allLayers.length === 0);
|
|
29214
30101
|
i0.ɵɵadvance(1);
|
|
29215
|
-
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(23,
|
|
30102
|
+
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(23, 39, "igo.geo.spatialFilter.removeLayer"), " ");
|
|
29216
30103
|
i0.ɵɵadvance(2);
|
|
29217
30104
|
i0.ɵɵproperty("disabled", !ctx.store.entities$.getValue().length);
|
|
29218
30105
|
i0.ɵɵadvance(1);
|
|
29219
|
-
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(26,
|
|
30106
|
+
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(26, 41, "igo.geo.spatialFilter.exportLayer"), " ");
|
|
29220
30107
|
i0.ɵɵadvance(2);
|
|
29221
30108
|
i0.ɵɵproperty("ngIf", ctx.store.all().length && ctx.tableTemplate && !ctx.listIsVisible);
|
|
29222
30109
|
i0.ɵɵadvance(1);
|
|
@@ -29226,7 +30113,7 @@ SpatialFilterItemComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type:
|
|
|
29226
30113
|
(function () {
|
|
29227
30114
|
(typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(SpatialFilterItemComponent, [{
|
|
29228
30115
|
type: Component,
|
|
29229
|
-
args: [{ selector: 'igo-spatial-filter-item', changeDetection: ChangeDetectionStrategy.OnPush, template: "<igo-geometry-form-field-input\r\n [formControl]=\"formControl\"\r\n [map]=\"map\"\r\n [geometryType]=\"geometryType\"\r\n [drawGuide]=\"drawGuide$ | async\"\r\n [measure]=\"measure\"\r\n [drawControlIsActive]=\"drawControlIsActive\"\r\n [freehandDrawIsActive]=\"freehandDrawIsActive\"\r\n [drawStyle]=\"drawStyle$ | async\"\r\n [overlayStyle]=\"overlayStyle$ | async\"\r\n [radius]=\"radius\">\r\n</igo-geometry-form-field-input>\r\n\r\n<div class=\"header\">\r\n <mat-slide-toggle *ngIf=\"!isPredefined()\"\r\n [checked]=\"drawControlIsActive\"\r\n [labelPosition]=\"'before'\"\r\n (change)=\"onDrawControlChange()\">\r\n {{'igo.geo.spatialFilter.drawControl' | translate}}\r\n </mat-slide-toggle>\r\n <mat-slide-toggle *ngIf=\"!isPredefined()\"\r\n [checked]=\"freehandDrawIsActive\"\r\n [labelPosition]=\"'before'\"\r\n (change)=\"onfreehandControlChange()\">\r\n {{'igo.geo.spatialFilter.freehandControl' | translate}}\r\n </mat-slide-toggle>\r\n</div>\r\n\r\n<div class=\"buffer-unit\" *ngIf=\"isPolygon()\">\r\n <form class=\"buffer-form\">\r\n <mat-form-field class=\"buffer\">\r\n <input type=\"number\" matInput placeholder=\"{{'igo.geo.spatialFilter.buffer' | translate}}\" [formControl]=\"bufferFormControl\"\r\n [value]=\"0\" [readonly]=\"this.formControl.value === null\">\r\n </mat-form-field>\r\n </form>\r\n\r\n <mat-form-field class=\"unit-field\">\r\n <mat-select\r\n [value]=\"measureUnit\"\r\n (selectionChange)=\"onMeasureUnitChange($event.value)\">\r\n <mat-option *ngFor=\"let measureUnit of measureUnits\" [value]=\"measureUnit\">\r\n {{('igo.geo.measure.' + measureUnit) | translate}}\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n</div>\r\n\r\n<div class=\"radius-unit\" *ngIf=\"isPoint()\">\r\n <form class=\"radius-form\">\r\n <mat-form-field class=\"radius\">\r\n <input type=\"number\" matInput placeholder=\"{{'igo.geo.spatialFilter.radius' | translate}}\" [formControl]=\"radiusFormControl\"\r\n [value]=\"1000\" (input)=\"getRadius()\" [readonly]=\"this.freehandDrawIsActive && this.formControl.value === null\">\r\n </mat-form-field>\r\n </form>\r\n\r\n <mat-form-field class=\"unit-field\">\r\n <mat-select\r\n [value]=\"measureUnit\"\r\n (selectionChange)=\"onMeasureUnitChange($event.value)\">\r\n <mat-option *ngFor=\"let measureUnit of measureUnits\" [value]=\"measureUnit\">\r\n {{('igo.geo.measure.' + measureUnit) | translate}}\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n</div>\r\n\r\n<mat-label class=\"title mat-typography\">{{'igo.geo.spatialFilter.search' | translate}} : </mat-label>\r\n<mat-radio-group [value]=\"selectedItemType\">\r\n <mat-radio-button *ngFor=\"let item of itemType\"\r\n [value]=\"item\"\r\n (change)=\"onItemTypeChange($event)\">\r\n {{'igo.geo.spatialFilter.' + item | translate}}\r\n </mat-radio-button>\r\n</mat-radio-group>\r\n\r\n<div class=\"thematics\" *ngIf=\"(selectedItemType==='Thematics' && !tableTemplate) || (selectedItemType==='Thematics' && tableTemplate && !listIsVisible)\">\r\n <mat-table>\r\n <!-- Name Column -->\r\n <ng-container matColumnDef=\"name\">\r\n <mat-header-cell *matHeaderCellDef class=\"thematics-header\">{{'igo.geo.spatialFilter.Thematics' | translate}}</mat-header-cell>\r\n </ng-container>\r\n\r\n <!-- Select Column -->\r\n <ng-container matColumnDef=\"select\">\r\n <mat-header-cell *matHeaderCellDef class=\"checks-header\">\r\n <mat-checkbox (change)=\"$event ? masterToggle() : null\"\r\n [checked]=\"isAllSelected()\"\r\n [indeterminate]=\"selectedThematics.hasValue() && !isAllSelected()\">\r\n </mat-checkbox>\r\n </mat-header-cell>\r\n </ng-container>\r\n\r\n <mat-header-row *matHeaderRowDef=\"displayedColumns\"></mat-header-row>\r\n <mat-row *matRowDef=\"let row; columns: displayedColumns;\"></mat-row>\r\n\r\n </mat-table>\r\n\r\n <mat-tree [dataSource]=\"dataSource\" [treeControl]=\"treeControl\">\r\n <!-- This is the tree node template for leaf nodes -->\r\n <mat-tree-node *matTreeNodeDef=\"let node\" matTreeNodeToggle>\r\n <li class=\"mat-tree-node\">\r\n <!-- use a disabled button to provide padding for tree leaf -->\r\n <button mat-icon-button disabled></button>\r\n {{node.name}}\r\n <mat-checkbox class=\"tree-check\" (click)=\"$event.stopPropagation()\"\r\n (change)=\"$event ? onToggleChange(node) : null\"\r\n [checked]=\"selectedThematics.isSelected(node)\">\r\n </mat-checkbox>\r\n </li>\r\n </mat-tree-node>\r\n\r\n <!-- This is the tree node template for expandable nodes -->\r\n <mat-nested-tree-node *matTreeNodeDef=\"let node; when: hasChild\">\r\n <div class=\"mat-tree-node\">\r\n <button mat-icon-button\r\n (click)=\"onToggleClick(node)\">\r\n <mat-icon [svgIcon]=\"treeControl.isExpanded(node) ? 'chevron-down' : 'chevron-right'\"></mat-icon>\r\n </button>\r\n {{node.name}}\r\n <mat-checkbox class=\"tree-check-2\" (change)=\"$event ? childrensToggle(node) : null\"\r\n [checked]=\"isAllSelected(node)\"\r\n [indeterminate]=\"hasChildrenSelected(node) && !isAllSelected(node)\">\r\n </mat-checkbox>\r\n </div>\r\n <ul class=\"tree-ul\" [class.example-tree-invisible]=\"!treeControl.isExpanded(node)\">\r\n <ng-container matTreeNodeOutlet></ng-container>\r\n </ul>\r\n </mat-nested-tree-node>\r\n\r\n </mat-tree>\r\n</div>\r\n\r\n<div class=\"buttons\">\r\n\r\n <button *ngIf=\"isPredefined()\" mat-raised-button class=\"clear-search-button\" [disabled]=\"disabledClearSearch()\"\r\n (click)=\"clearSearch()\">\r\n {{'igo.geo.spatialFilter.clearSearch' | translate}}\r\n </button>\r\n\r\n <button *ngIf=\"isPolygon() || isPoint()\" mat-raised-button class=\"clear-form-button\" [disabled]=\"this.formControl.value === null\"\r\n (click)=\"clearDrawZone()\">\r\n {{'igo.geo.spatialFilter.clearForm' | translate}}\r\n </button>\r\n\r\n <button mat-raised-button class=\"search-button\" [disabled]=\"disableSearchButton()\" color=\"primary\"\r\n (click)=\"toggleSearchButton()\">\r\n {{'igo.geo.spatialFilter.goSearch' | translate}}\r\n </button>\r\n\r\n <button mat-raised-button class=\"remove-button\" [disabled]=\"allLayers.length === 0\" (click)=\"clearButton()\">\r\n {{'igo.geo.spatialFilter.removeLayer' | translate}}\r\n </button>\r\n\r\n <button mat-raised-button class=\"export-button\" [disabled]=\"!store.entities$.getValue().length\" (click)=\"export.emit()\">\r\n {{'igo.geo.spatialFilter.exportLayer' | translate}}\r\n </button>\r\n\r\n</div>\r\n\r\n<button\r\n class=\"chevron-down\"\r\n *ngIf=\"store.all().length && tableTemplate && !listIsVisible\"\r\n mat-icon-button\r\n matTooltipShowDelay=\"500\"\r\n [matTooltip]=\"'igo.geo.spatialFilter.showSearchResults' | translate\"\r\n (click)=\"toggleVisibleList()\">\r\n <mat-icon svgIcon=\"chevron-down\"></mat-icon>\r\n</button>\r\n\r\n<div class=\"results\" *ngIf=\"store.all().length && tableTemplate && listIsVisible\">\r\n <button\r\n *ngIf=\"listIsVisible\"\r\n mat-icon-button\r\n matTooltipShowDelay=\"500\"\r\n [matTooltip]=\"'igo.geo.spatialFilter.hideSearchResults' | translate\"\r\n (click)=\"toggleVisibleList()\">\r\n <mat-icon svgIcon=\"chevron-up\"></mat-icon>\r\n </button>\r\n <igo-entity-table\r\n class=\"results-list\"\r\n [template]=\"tableTemplate\"\r\n [store]=\"store\"\r\n (entitySelectChange)=\"entityChange.emit($event)\">\r\n </igo-entity-table>\r\n</div>\r\n", styles: [".header{margin-top:5px;width:100%}.mat-slide-toggle{padding:5px;margin-bottom:15px;width:98%}.mat-slide-toggle ::ng-deep .mat-slide-toggle-content{width:calc(100% - 20px)}.title{margin-left:5px;font-size:medium;font-size:initial}.mat-radio-group{display:flex;flex-direction:column;padding-top:10px}.mat-radio-button{display:inline-flex;position:relative;margin-left:16px;margin-top:10px}.mat-form-field{margin-top:5px}.mat-column-select{overflow:auto}.buttons{margin-top:15px}.search-button{left:15px;width:46%}@media only screen and (orientation:portrait) and (max-width: 599px),only screen and (orientation:landscape) and (max-width: 959px){.search-button{left:10px;width:45%;min-height:35px;white-space:normal;line-height:normal}}.export-button{left:15px;width:46%;margin-bottom:5px}@media only screen and (orientation:portrait) and (max-width: 599px),only screen and (orientation:landscape) and (max-width: 959px){.export-button{left:10px;margin-top:10px;width:45%;min-height:35px;white-space:normal;line-height:normal}}.remove-button{margin-top:12px;left:5px;width:46%}@media only screen and (orientation:portrait) and (max-width: 599px),only screen and (orientation:landscape) and (max-width: 959px){.remove-button{margin:0;width:45%;min-height:35px;white-space:normal;line-height:normal}}.clear-form-button{left:5px;width:46%}@media only screen and (orientation:portrait) and (max-width: 599px),only screen and (orientation:landscape) and (max-width: 959px){.clear-form-button{width:45%;min-height:35px;white-space:normal;line-height:normal}}.clear-search-button{left:5px;width:46%}@media only screen and (orientation:portrait) and (max-width: 599px),only screen and (orientation:landscape) and (max-width: 959px){.clear-search-button{width:45%;min-height:35px;white-space:normal;line-height:normal}}.thematics{max-height:35%;overflow:auto;margin-top:5px;width:98%}.results{overflow:auto;max-height:250px;width:98%}.mat-column-typeResults{max-width:100px;margin-right:5px}.buffer-unit,.radius-unit{display:flex;width:100%;margin-left:2px;padding:5px}.radius,.buffer{display:flex;flex-flow:column nowrap;width:110%}.unit-field{width:110px;margin-left:30px}.example-tree-invisible{display:none}.tree-ul{margin:0;padding:0 0 0 20px;list-style-type:none}.tree-check,.tree-check-2{position:relative;margin-left:auto;margin-right:5px}.thematics-header{max-width:250px}.checks-header{padding:none;max-width:calc(100% - 316px);overflow:hidden}.mat-checkbox{padding:5px}.mat-tree-node{position:relative;min-height:42px;width:280px}.mat-header-cell{height:56px}.results{max-height:45%;width:98%}.results igo-entity-table ::ng-deep div.table-container{overflow:visible;overflow:initial}\n"] }]
|
|
30116
|
+
args: [{ selector: 'igo-spatial-filter-item', changeDetection: ChangeDetectionStrategy.OnPush, template: "<igo-geometry-form-field-input\r\n [formControl]=\"formControl\"\r\n [map]=\"map\"\r\n [geometryType]=\"geometryType\"\r\n [drawGuide]=\"drawGuide$ | async\"\r\n [measure]=\"measure\"\r\n [drawControlIsActive]=\"drawControlIsActive\"\r\n [freehandDrawIsActive]=\"freehandDrawIsActive\"\r\n [drawStyle]=\"drawStyle$ | async\"\r\n [overlayStyle]=\"overlayStyle$ | async\"\r\n [radius]=\"radius\"\r\n [predefinedRadius]=\"predefinedRadius\">\r\n</igo-geometry-form-field-input>\r\n\r\n<div class=\"header\">\r\n <mat-slide-toggle *ngIf=\"!isPredefined()\"\r\n [checked]=\"drawControlIsActive\"\r\n [labelPosition]=\"'before'\"\r\n (change)=\"onDrawControlChange()\">\r\n {{'igo.geo.spatialFilter.drawControl' | translate}}\r\n </mat-slide-toggle>\r\n <mat-slide-toggle *ngIf=\"!isPredefined()\"\r\n [checked]=\"freehandDrawIsActive\"\r\n [labelPosition]=\"'before'\"\r\n (change)=\"onfreehandControlChange()\">\r\n {{'igo.geo.spatialFilter.freehandControl' | translate}}\r\n </mat-slide-toggle>\r\n</div>\r\n\r\n<div class=\"buffer-unit\" *ngIf=\"isPolygon()\">\r\n <form class=\"buffer-form\">\r\n <mat-form-field class=\"buffer\">\r\n <input type=\"number\" matInput placeholder=\"{{'igo.geo.spatialFilter.buffer' | translate}}\" [formControl]=\"bufferFormControl\"\r\n [value]=\"0\" [readonly]=\"this.formControl.value === null\">\r\n </mat-form-field>\r\n </form>\r\n\r\n <mat-form-field class=\"unit-field\">\r\n <mat-select\r\n [value]=\"measureUnit\"\r\n (selectionChange)=\"onMeasureUnitChange($event.value)\">\r\n <mat-option *ngFor=\"let measureUnit of measureUnits\" [value]=\"measureUnit\">\r\n {{('igo.geo.measure.' + measureUnit) | translate}}\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n</div>\r\n\r\n<div class=\"radius-unit\" *ngIf=\"isPoint()\">\r\n <form class=\"radius-form\">\r\n <mat-form-field class=\"radius\">\r\n <input type=\"number\" matInput placeholder=\"{{'igo.geo.spatialFilter.radius' | translate}}\" [formControl]=\"radiusFormControl\"\r\n [value]=\"1000\" (input)=\"getRadius()\" [readonly]=\"this.freehandDrawIsActive && this.formControl.value === null\">\r\n </mat-form-field>\r\n </form>\r\n\r\n <mat-form-field class=\"unit-field\">\r\n <mat-select\r\n [value]=\"measureUnit\"\r\n (selectionChange)=\"onMeasureUnitChange($event.value)\">\r\n <mat-option *ngFor=\"let measureUnit of measureUnits\" [value]=\"measureUnit\">\r\n {{('igo.geo.measure.' + measureUnit) | translate}}\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n</div>\r\n\r\n<mat-label class=\"title mat-typography\">{{'igo.geo.spatialFilter.search' | translate}} : </mat-label>\r\n<mat-radio-group [value]=\"selectedItemType\">\r\n <mat-radio-button *ngFor=\"let item of itemType\"\r\n [value]=\"item\"\r\n (change)=\"onItemTypeChange($event)\">\r\n {{'igo.geo.spatialFilter.' + item | translate}}\r\n </mat-radio-button>\r\n</mat-radio-group>\r\n\r\n<div class=\"thematics\" *ngIf=\"(selectedItemType==='Thematics' && !tableTemplate) || (selectedItemType==='Thematics' && tableTemplate && !listIsVisible)\">\r\n <mat-table>\r\n <!-- Name Column -->\r\n <ng-container matColumnDef=\"name\">\r\n <mat-header-cell *matHeaderCellDef class=\"thematics-header\">{{'igo.geo.spatialFilter.Thematics' | translate}}</mat-header-cell>\r\n </ng-container>\r\n\r\n <!-- Select Column -->\r\n <ng-container matColumnDef=\"select\">\r\n <mat-header-cell *matHeaderCellDef class=\"checks-header\">\r\n <mat-checkbox (change)=\"$event ? masterToggle() : null\"\r\n [checked]=\"isAllSelected()\"\r\n [indeterminate]=\"selectedThematics.hasValue() && !isAllSelected()\">\r\n </mat-checkbox>\r\n </mat-header-cell>\r\n </ng-container>\r\n\r\n <mat-header-row *matHeaderRowDef=\"displayedColumns\"></mat-header-row>\r\n <mat-row *matRowDef=\"let row; columns: displayedColumns;\"></mat-row>\r\n\r\n </mat-table>\r\n\r\n <mat-tree [dataSource]=\"dataSource\" [treeControl]=\"treeControl\">\r\n <!-- This is the tree node template for leaf nodes -->\r\n <mat-tree-node *matTreeNodeDef=\"let node\" matTreeNodeToggle>\r\n <li class=\"mat-tree-node\">\r\n <!-- use a disabled button to provide padding for tree leaf -->\r\n <button mat-icon-button disabled></button>\r\n {{node.name}}\r\n <mat-checkbox class=\"tree-check\" (click)=\"$event.stopPropagation()\"\r\n (change)=\"$event ? onToggleChange(node) : null\"\r\n [checked]=\"selectedThematics.isSelected(node)\">\r\n </mat-checkbox>\r\n </li>\r\n </mat-tree-node>\r\n\r\n <!-- This is the tree node template for expandable nodes -->\r\n <mat-nested-tree-node *matTreeNodeDef=\"let node; when: hasChild\">\r\n <div class=\"mat-tree-node\">\r\n <button mat-icon-button\r\n (click)=\"onToggleClick(node)\">\r\n <mat-icon [svgIcon]=\"treeControl.isExpanded(node) ? 'chevron-down' : 'chevron-right'\"></mat-icon>\r\n </button>\r\n {{node.name}}\r\n <mat-checkbox class=\"tree-check-2\" (change)=\"$event ? childrensToggle(node) : null\"\r\n [checked]=\"isAllSelected(node)\"\r\n [indeterminate]=\"hasChildrenSelected(node) && !isAllSelected(node)\">\r\n </mat-checkbox>\r\n </div>\r\n <ul class=\"tree-ul\" [class.example-tree-invisible]=\"!treeControl.isExpanded(node)\">\r\n <ng-container matTreeNodeOutlet></ng-container>\r\n </ul>\r\n </mat-nested-tree-node>\r\n\r\n </mat-tree>\r\n</div>\r\n\r\n<div class=\"buttons\">\r\n\r\n <button *ngIf=\"isPredefined()\" mat-raised-button class=\"clear-search-button\" [disabled]=\"disabledClearSearch()\"\r\n (click)=\"clearSearch()\">\r\n {{'igo.geo.spatialFilter.clearSearch' | translate}}\r\n </button>\r\n\r\n <button *ngIf=\"isPolygon() || isPoint()\" mat-raised-button class=\"clear-form-button\" [disabled]=\"this.formControl.value === null\"\r\n (click)=\"clearDrawZone()\">\r\n {{'igo.geo.spatialFilter.clearForm' | translate}}\r\n </button>\r\n\r\n <button mat-raised-button class=\"search-button\" [disabled]=\"disableSearchButton()\" color=\"primary\"\r\n (click)=\"toggleSearchButton()\">\r\n {{'igo.geo.spatialFilter.goSearch' | translate}}\r\n </button>\r\n\r\n <button mat-raised-button class=\"remove-button\" [disabled]=\"allLayers.length === 0\" (click)=\"clearButton()\">\r\n {{'igo.geo.spatialFilter.removeLayer' | translate}}\r\n </button>\r\n\r\n <button mat-raised-button class=\"export-button\" [disabled]=\"!store.entities$.getValue().length\" (click)=\"export.emit()\">\r\n {{'igo.geo.spatialFilter.exportLayer' | translate}}\r\n </button>\r\n\r\n</div>\r\n\r\n<button\r\n class=\"chevron-down\"\r\n *ngIf=\"store.all().length && tableTemplate && !listIsVisible\"\r\n mat-icon-button\r\n matTooltipShowDelay=\"500\"\r\n [matTooltip]=\"'igo.geo.spatialFilter.showSearchResults' | translate\"\r\n (click)=\"toggleVisibleList()\">\r\n <mat-icon svgIcon=\"chevron-down\"></mat-icon>\r\n</button>\r\n\r\n<div class=\"results\" *ngIf=\"store.all().length && tableTemplate && listIsVisible\">\r\n <button\r\n *ngIf=\"listIsVisible\"\r\n mat-icon-button\r\n matTooltipShowDelay=\"500\"\r\n [matTooltip]=\"'igo.geo.spatialFilter.hideSearchResults' | translate\"\r\n (click)=\"toggleVisibleList()\">\r\n <mat-icon svgIcon=\"chevron-up\"></mat-icon>\r\n </button>\r\n <igo-entity-table\r\n class=\"results-list\"\r\n [template]=\"tableTemplate\"\r\n [store]=\"store\"\r\n (entitySelectChange)=\"entityChange.emit($event)\">\r\n </igo-entity-table>\r\n</div>\r\n", styles: [".header{margin-top:5px;width:100%}.mat-slide-toggle{padding:5px;margin-bottom:15px;width:98%}.mat-slide-toggle ::ng-deep .mat-slide-toggle-content{width:calc(100% - 20px)}.title{margin-left:5px;font-size:medium;font-size:initial}.mat-radio-group{display:flex;flex-direction:column;padding-top:10px}.mat-radio-button{display:inline-flex;position:relative;margin-left:16px;margin-top:10px}.mat-form-field{margin-top:5px}.mat-column-select{overflow:auto}.buttons{margin-top:15px}.search-button{left:15px;width:46%}@media only screen and (orientation:portrait) and (max-width: 599px),only screen and (orientation:landscape) and (max-width: 959px){.search-button{left:10px;width:45%;min-height:35px;white-space:normal;line-height:normal}}.export-button{left:15px;width:46%;margin-bottom:5px}@media only screen and (orientation:portrait) and (max-width: 599px),only screen and (orientation:landscape) and (max-width: 959px){.export-button{left:10px;margin-top:10px;width:45%;min-height:35px;white-space:normal;line-height:normal}}.remove-button{margin-top:12px;left:5px;width:46%}@media only screen and (orientation:portrait) and (max-width: 599px),only screen and (orientation:landscape) and (max-width: 959px){.remove-button{margin:0;width:45%;min-height:35px;white-space:normal;line-height:normal}}.clear-form-button{left:5px;width:46%}@media only screen and (orientation:portrait) and (max-width: 599px),only screen and (orientation:landscape) and (max-width: 959px){.clear-form-button{width:45%;min-height:35px;white-space:normal;line-height:normal}}.clear-search-button{left:5px;width:46%}@media only screen and (orientation:portrait) and (max-width: 599px),only screen and (orientation:landscape) and (max-width: 959px){.clear-search-button{width:45%;min-height:35px;white-space:normal;line-height:normal}}.thematics{max-height:35%;overflow:auto;margin-top:5px;width:98%}.results{overflow:auto;max-height:250px;width:98%}.mat-column-typeResults{max-width:100px;margin-right:5px}.buffer-unit,.radius-unit{display:flex;width:100%;margin-left:2px;padding:5px}.radius,.buffer{display:flex;flex-flow:column nowrap;width:110%}.unit-field{width:110px;margin-left:30px}.example-tree-invisible{display:none}.tree-ul{margin:0;padding:0 0 0 20px;list-style-type:none}.tree-check,.tree-check-2{position:relative;margin-left:auto;margin-right:5px}.thematics-header{max-width:250px}.checks-header{padding:none;max-width:calc(100% - 316px);overflow:hidden}.mat-checkbox{padding:5px}.mat-tree-node{position:relative;min-height:42px;width:280px}.mat-header-cell{height:56px}.results{max-height:45%;width:98%}.results igo-entity-table ::ng-deep div.table-container{overflow:visible;overflow:initial}\n"] }]
|
|
29230
30117
|
}], function () { return [{ type: i0.ChangeDetectorRef }, { type: SpatialFilterService }, { type: i2$1.MessageService }, { type: i2$1.LanguageService }]; }, { map: [{
|
|
29231
30118
|
type: Input
|
|
29232
30119
|
}], type: [{
|
|
@@ -29263,6 +30150,8 @@ SpatialFilterItemComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type:
|
|
|
29263
30150
|
type: Output
|
|
29264
30151
|
}], freehandControl: [{
|
|
29265
30152
|
type: Output
|
|
30153
|
+
}], predefinedRadius: [{
|
|
30154
|
+
type: Output
|
|
29266
30155
|
}], clearButtonEvent: [{
|
|
29267
30156
|
type: Output
|
|
29268
30157
|
}], clearSearchEvent: [{
|
|
@@ -30574,15 +31463,15 @@ IgoFilterModule.ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ providers: [TimeFi
|
|
|
30574
31463
|
i0.ɵɵsetComponentScope(TimeFilterButtonComponent, [i1$1.NgIf, i2.MatIcon, i3.MatButton, i4.MatTooltip, i5$1.ListItemDirective, i7$1.MatBadge, TimeFilterItemComponent], [i7.TranslatePipe]);
|
|
30575
31464
|
i0.ɵɵsetComponentScope(TimeFilterItemComponent, [i1$1.NgClass, i1$1.NgIf, i1$1.NgStyle, i2.MatIcon, i3.MatButton, i5.MatListItem, i5.MatListAvatarCssMatStyler, i9.MatLine, i4.MatTooltip, LayerLegendComponent, i5$1.CollapseDirective, TimeFilterFormComponent], [i1$1.AsyncPipe, i7.TranslatePipe]);
|
|
30576
31465
|
i0.ɵɵsetComponentScope(TimeFilterListComponent, [i1$1.NgForOf, i5$1.ListItemDirective, i5$1.ListComponent, TimeFilterItemComponent], [FilterableDataSourcePipe]);
|
|
30577
|
-
i0.ɵɵsetComponentScope(OgcFilterFormComponent, [i1$1.NgClass, i1$1.NgForOf, i1$1.NgIf, i11$1.MatAutocomplete, i11$1.MatAutocompleteTrigger, i9.MatOption, i2.MatIcon, i3.MatButton, i12
|
|
31466
|
+
i0.ɵɵsetComponentScope(OgcFilterFormComponent, [i1$1.NgClass, i1$1.NgForOf, i1$1.NgIf, i11$1.MatAutocomplete, i11$1.MatAutocompleteTrigger, i9.MatOption, i2.MatIcon, i3.MatButton, i12.MatCheckbox, i13.MatFormField, i13.MatSuffix, i14.MatInput, i15.MatSelect, i4.MatTooltip, OgcFilterTimeComponent], [i1$1.AsyncPipe, i7.TranslatePipe, i5$1.KeyValuePipe]);
|
|
30578
31467
|
i0.ɵɵsetComponentScope(OgcFilterButtonComponent, [i1$1.NgIf, i2.MatIcon, i3.MatButton, i4.MatTooltip, i5$1.ListItemDirective, i7$1.MatBadge, OgcFilterableItemComponent], [i7.TranslatePipe]);
|
|
30579
|
-
i0.ɵɵsetComponentScope(OgcFilterSelectionComponent, [i1$1.NgForOf, i1$1.NgIf, i1$1.NgStyle, i2$2.ɵNgNoValidate, i2$2.DefaultValueAccessor, i2$2.NgControlStatus, i2$2.NgControlStatusGroup, i2$2.NgModel, i2$2.FormGroupDirective, i2$2.FormControlName, i11$1.MatAutocomplete, i11$1.MatAutocompleteTrigger, i9.MatOption, i2.MatIcon, i17.MatRadioGroup, i17.MatRadioButton, i18.MatButtonToggleGroup, i18.MatButtonToggle, i12
|
|
31468
|
+
i0.ɵɵsetComponentScope(OgcFilterSelectionComponent, [i1$1.NgForOf, i1$1.NgIf, i1$1.NgStyle, i2$2.ɵNgNoValidate, i2$2.DefaultValueAccessor, i2$2.NgControlStatus, i2$2.NgControlStatusGroup, i2$2.NgModel, i2$2.FormGroupDirective, i2$2.FormControlName, i11$1.MatAutocomplete, i11$1.MatAutocompleteTrigger, i9.MatOption, i2.MatIcon, i17.MatRadioGroup, i17.MatRadioButton, i18.MatButtonToggleGroup, i18.MatButtonToggle, i12.MatCheckbox, i13.MatFormField, i14.MatInput, i15.MatSelect, i11.MatDivider, i4.MatTooltip, OgcFilterTimeComponent], [i1$1.AsyncPipe, i7.TranslatePipe]);
|
|
30580
31469
|
i0.ɵɵsetComponentScope(OgcFilterableFormComponent, [i1$1.NgForOf, i1$1.NgIf, i5$1.ListItemDirective, OgcFilterFormComponent,
|
|
30581
31470
|
OgcFilterSelectionComponent], []);
|
|
30582
|
-
i0.ɵɵsetComponentScope(OgcFilterableItemComponent, [i1$1.NgClass, i1$1.NgIf, i1$1.NgStyle, i2$2.NgControlStatus, i2$2.NgModel, i2.MatIcon, i3.MatButton, i12
|
|
31471
|
+
i0.ɵɵsetComponentScope(OgcFilterableItemComponent, [i1$1.NgClass, i1$1.NgIf, i1$1.NgStyle, i2$2.NgControlStatus, i2$2.NgModel, i2.MatIcon, i3.MatButton, i12.MatCheckbox, i5.MatListItem, i5.MatListAvatarCssMatStyler, i9.MatLine, i11.MatDivider, i4.MatTooltip, LayerLegendComponent, i5$1.CollapseDirective, OgcFilterableFormComponent], [i1$1.AsyncPipe, i7.TranslatePipe]);
|
|
30583
31472
|
i0.ɵɵsetComponentScope(OgcFilterableListComponent, [i1$1.NgForOf, i1$1.NgIf, i5$1.ListItemDirective, i5$1.ListComponent, OgcFilterableItemComponent], [i7.TranslatePipe, FilterableDataSourcePipe]);
|
|
30584
31473
|
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]);
|
|
30585
|
-
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
|
|
31474
|
+
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.MatCheckbox, i23.MatSlideToggle, i13.MatFormField, i13.MatLabel, i14.MatInput, i15.MatSelect, i4.MatTooltip, i5$1.EntityTableComponent, GeometryFormFieldInputComponent], [i1$1.AsyncPipe, i7.TranslatePipe]);
|
|
30586
31475
|
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]);
|
|
30587
31476
|
|
|
30588
31477
|
function ExportButtonComponent_button_0_Template(rf, ctx) {
|
|
@@ -30856,7 +31745,7 @@ class ExportService {
|
|
|
30856
31745
|
outputName = `${title}.csv`;
|
|
30857
31746
|
}
|
|
30858
31747
|
outputName = outputName.replace(' ', '_');
|
|
30859
|
-
outputName = outputName.normalize('NFD').replace(/[\u0300-\u036f]/g, '');
|
|
31748
|
+
outputName = outputName.normalize('NFD').replace(/[\u0300-\u036f]/g, '').replace(/’/g, "'");
|
|
30860
31749
|
outputNameField.setAttribute('type', 'hidden');
|
|
30861
31750
|
outputNameField.setAttribute('name', 'outputName');
|
|
30862
31751
|
outputNameField.setAttribute('value', outputName);
|
|
@@ -31178,21 +32067,34 @@ class ImportService {
|
|
|
31178
32067
|
constructor(http, config) {
|
|
31179
32068
|
this.http = http;
|
|
31180
32069
|
this.config = config;
|
|
31181
|
-
|
|
31182
|
-
|
|
32070
|
+
const importConfig = this.config.getConfig('importExport');
|
|
32071
|
+
this.ogreUrl = importConfig.url;
|
|
32072
|
+
const configFileSizeMb = importConfig.clientSideFileSizeMaxMb;
|
|
31183
32073
|
this.clientSideFileSizeMax = (configFileSizeMb ? configFileSizeMb : 30) * Math.pow(1024, 2);
|
|
32074
|
+
if (importConfig.formats) {
|
|
32075
|
+
ImportService.allowedExtensions = importConfig.formats
|
|
32076
|
+
.map(format => ImportService.formatExtensionAssociation[format])
|
|
32077
|
+
.filter(e => e);
|
|
32078
|
+
if (ImportService.allowedExtensions.includes('geojson')) {
|
|
32079
|
+
ImportService.allowedExtensions.push('json');
|
|
32080
|
+
}
|
|
32081
|
+
}
|
|
31184
32082
|
}
|
|
31185
32083
|
import(file, projectionIn = 'EPSG:4326', projectionOut = 'EPSG:4326') {
|
|
31186
32084
|
return this.importAsync(file, projectionIn, projectionOut);
|
|
31187
32085
|
}
|
|
31188
32086
|
getFileImporter(file) {
|
|
31189
32087
|
const extension = getFileExtension(file);
|
|
32088
|
+
const allowedExtensions = ImportService.allowedExtensions;
|
|
32089
|
+
let zipMimeTypes = [];
|
|
32090
|
+
if (allowedExtensions.includes('zip')) {
|
|
32091
|
+
zipMimeTypes = ImportService.allowedZipMimeTypes;
|
|
32092
|
+
}
|
|
31190
32093
|
const mimeType = file.type;
|
|
31191
32094
|
const allowedMimeTypes = [
|
|
31192
32095
|
...ImportService.allowedMimeTypes,
|
|
31193
|
-
...
|
|
32096
|
+
...zipMimeTypes
|
|
31194
32097
|
];
|
|
31195
|
-
const allowedExtensions = ImportService.allowedExtensions;
|
|
31196
32098
|
if (allowedMimeTypes.indexOf(mimeType) < 0 &&
|
|
31197
32099
|
allowedExtensions.indexOf(extension) < 0) {
|
|
31198
32100
|
return undefined;
|
|
@@ -31338,6 +32240,13 @@ class ImportService {
|
|
|
31338
32240
|
return features;
|
|
31339
32241
|
}
|
|
31340
32242
|
}
|
|
32243
|
+
ImportService.formatExtensionAssociation = {
|
|
32244
|
+
GeoJSON: 'geojson',
|
|
32245
|
+
GML: 'gml',
|
|
32246
|
+
GPX: 'gpx',
|
|
32247
|
+
KML: 'kml',
|
|
32248
|
+
Shapefile: 'zip'
|
|
32249
|
+
};
|
|
31341
32250
|
ImportService.allowedMimeTypes = [
|
|
31342
32251
|
'application/gml+xml',
|
|
31343
32252
|
'application/vnd.google-earth.kml+xml',
|
|
@@ -31349,7 +32258,7 @@ ImportService.allowedZipMimeTypes = [
|
|
|
31349
32258
|
'application/x-zip-compressed',
|
|
31350
32259
|
'application/x-zip'
|
|
31351
32260
|
];
|
|
31352
|
-
ImportService.allowedExtensions = ['geojson', 'kml', 'gpx', 'json', 'gml'];
|
|
32261
|
+
ImportService.allowedExtensions = ['geojson', 'kml', 'gpx', 'json', 'gml', 'zip'];
|
|
31353
32262
|
ImportService.ɵfac = function ImportService_Factory(t) { return new (t || ImportService)(i0.ɵɵinject(i1$2.HttpClient), i0.ɵɵinject(i2$1.ConfigService)); };
|
|
31354
32263
|
ImportService.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: ImportService, factory: ImportService.ɵfac, providedIn: 'root' });
|
|
31355
32264
|
(function () {
|
|
@@ -33336,6 +34245,64 @@ IgoOverlayModule.ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({});
|
|
|
33336
34245
|
})();
|
|
33337
34246
|
(function () { (typeof ngJitMode === "undefined" || ngJitMode) && i0.ɵɵsetNgModuleScope(IgoOverlayModule, { declarations: [OverlayDirective], exports: [OverlayDirective] }); })();
|
|
33338
34247
|
|
|
34248
|
+
/*
|
|
34249
|
+
* The MIT License (MIT)
|
|
34250
|
+
*
|
|
34251
|
+
* Copyright (c) 2016-2017 Dan "Ducky" Little
|
|
34252
|
+
*
|
|
34253
|
+
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
34254
|
+
* of this software and associated documentation files (the "Software"), to deal
|
|
34255
|
+
* in the Software without restriction, including without limitation the rights
|
|
34256
|
+
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
34257
|
+
* copies of the Software, and to permit persons to whom the Software is
|
|
34258
|
+
* furnished to do so, subject to the following conditions:
|
|
34259
|
+
*
|
|
34260
|
+
* The above copyright notice and this permission notice shall be included in all
|
|
34261
|
+
* copies or substantial portions of the Software.
|
|
34262
|
+
*
|
|
34263
|
+
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
34264
|
+
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
34265
|
+
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
34266
|
+
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
34267
|
+
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
34268
|
+
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
34269
|
+
* SOFTWARE.
|
|
34270
|
+
*/
|
|
34271
|
+
function jsGeoPdfPlugin(jsPDFAPI) {
|
|
34272
|
+
const setGeoArea = function (pdfExt, geoExt) {
|
|
34273
|
+
const bbox = pdfExt.join(' ');
|
|
34274
|
+
// the ordering may seem odd here but PDF
|
|
34275
|
+
// flips the Y axis upside down and this accounts for that
|
|
34276
|
+
// change.
|
|
34277
|
+
const minx = geoExt[0];
|
|
34278
|
+
const maxx = geoExt[2];
|
|
34279
|
+
const maxy = geoExt[1];
|
|
34280
|
+
const miny = geoExt[3];
|
|
34281
|
+
const bounds = [miny, minx, maxy, minx, maxy, maxx, miny, maxx].join(' ');
|
|
34282
|
+
const bbox_obj = this.internal.newAdditionalObject();
|
|
34283
|
+
const bounds_obj = this.internal.newAdditionalObject();
|
|
34284
|
+
const proj_obj = this.internal.newAdditionalObject();
|
|
34285
|
+
proj_obj.content = '<< /EPSG 3857 /Type /PROJCS /WKT (PROJCS["WGS_1984_Web_Mercator_Auxiliary_Sphere"' +
|
|
34286
|
+
',+GEOGCS["GCS_WGS_1984",DATUM["D_WGS_1984",SPHEROID["WGS_1984",6378137.0,298.257223563]],PRIMEM["Greenwich",0.0]' +
|
|
34287
|
+
',UNIT["Degree",0.017453292519943295]],PROJECTION["Mercator_Auxiliary_Sphere"],PARAMETER["False_Easting",0.0]' +
|
|
34288
|
+
',PARAMETER["False_Northing",0.0],PARAMETER["Central_Meridian",0.0],PARAMETER["Standard_Parallel_1",0.0]' +
|
|
34289
|
+
',PARAMETER["Auxiliary_Sphere_Type",0.0],UNIT["Meter",1.0]]) >>';
|
|
34290
|
+
bounds_obj.content = '<< /Bounds [ 0 1 0 0 1 0 1 1 ] /GCS ' +
|
|
34291
|
+
proj_obj.objId + ' 0 R /GPTS [ ' + bounds + ' ] /LPTS [ 0 1 0 0 1 0 1 1 ] /Subtype /GEO /Type /Measure >>';
|
|
34292
|
+
bbox_obj.content = '<< /BBox [ ' + bbox + ' ] /Measure ' + bounds_obj.objId + ' 0 R /Name (Layer) /Type /Viewport >>';
|
|
34293
|
+
const title_obj = this.internal.newAdditionalObject();
|
|
34294
|
+
const date = new Date().toLocaleDateString('en-CA');
|
|
34295
|
+
title_obj.content = '<< /Name IGO2 /Type OCG /Date ' + date + ' >>';
|
|
34296
|
+
return bbox_obj.objId;
|
|
34297
|
+
};
|
|
34298
|
+
jsPDFAPI.setGeoArea = function (pdfExt, geoExt) {
|
|
34299
|
+
this.internal.events.subscribe('putPage', function () {
|
|
34300
|
+
const bbox_id = setGeoArea.call(this, pdfExt, geoExt);
|
|
34301
|
+
this.internal.write('/VP [ ' + bbox_id + ' 0 R ]');
|
|
34302
|
+
});
|
|
34303
|
+
};
|
|
34304
|
+
}
|
|
34305
|
+
|
|
33339
34306
|
class PrintService {
|
|
33340
34307
|
constructor(http, messageService, activityService, languageService, configService) {
|
|
33341
34308
|
this.http = http;
|
|
@@ -33343,6 +34310,15 @@ class PrintService {
|
|
|
33343
34310
|
this.activityService = activityService;
|
|
33344
34311
|
this.languageService = languageService;
|
|
33345
34312
|
this.configService = configService;
|
|
34313
|
+
this.TEXTPDFFONT = {
|
|
34314
|
+
titleFont: 'Times',
|
|
34315
|
+
titleFontStyle: 'bold',
|
|
34316
|
+
subtitleFont: 'Times',
|
|
34317
|
+
subtitleFontStyle: 'bold',
|
|
34318
|
+
commentFont: 'courier',
|
|
34319
|
+
commentFontStyle: 'normal',
|
|
34320
|
+
commentFontSize: 16
|
|
34321
|
+
};
|
|
33346
34322
|
}
|
|
33347
34323
|
print(map, options) {
|
|
33348
34324
|
const status$ = new Subject();
|
|
@@ -33351,9 +34327,11 @@ class PrintService {
|
|
|
33351
34327
|
const orientation = options.orientation;
|
|
33352
34328
|
const legendPostion = options.legendPosition;
|
|
33353
34329
|
this.activityId = this.activityService.register();
|
|
33354
|
-
|
|
34330
|
+
jsGeoPdfPlugin(jsPDF.API);
|
|
34331
|
+
const doc = new jsPDF({
|
|
33355
34332
|
orientation,
|
|
33356
|
-
format: paperFormat.toLowerCase()
|
|
34333
|
+
format: paperFormat.toLowerCase(),
|
|
34334
|
+
unit: 'mm' // default
|
|
33357
34335
|
});
|
|
33358
34336
|
const dimensions = [
|
|
33359
34337
|
doc.internal.pageSize.width,
|
|
@@ -33363,17 +34341,21 @@ class PrintService {
|
|
|
33363
34341
|
const width = dimensions[0] - margins[3] - margins[1];
|
|
33364
34342
|
const height = dimensions[1] - margins[0] - margins[2];
|
|
33365
34343
|
const size = [width, height];
|
|
33366
|
-
let
|
|
34344
|
+
let titleSizes;
|
|
34345
|
+
let subtitleSizes;
|
|
34346
|
+
// PDF title
|
|
33367
34347
|
if (options.title !== undefined) {
|
|
33368
|
-
|
|
33369
|
-
this.
|
|
34348
|
+
const fontSizeInPt = Math.round(2 * (height + 145) * 0.05) / 2; //calculate the fontSize title from the page height.
|
|
34349
|
+
titleSizes = this.getTextPdfObjectSizeAndMarg(options.title, margins, this.TEXTPDFFONT.titleFont, fontSizeInPt, this.TEXTPDFFONT.titleFontStyle, doc);
|
|
34350
|
+
this.addTextInPdfDoc(doc, options.title, this.TEXTPDFFONT.titleFont, this.TEXTPDFFONT.titleFontStyle, titleSizes.fontSize, titleSizes.marginLeft + margins[3], margins[0]);
|
|
34351
|
+
margins[0] = titleSizes.height + margins[0]; // cumulative margin top for next elem to place in pdf doc
|
|
33370
34352
|
}
|
|
34353
|
+
// PDF subtitle
|
|
33371
34354
|
if (options.subtitle !== undefined) {
|
|
33372
|
-
|
|
33373
|
-
|
|
33374
|
-
|
|
33375
|
-
|
|
33376
|
-
margins[0] = margins[0] + titleSizeResults[0] * 0.7 * (25.4 / 72);
|
|
34355
|
+
subtitleSizes = this.getTextPdfObjectSizeAndMarg(options.subtitle, margins, this.TEXTPDFFONT.subtitleFont, titleSizes.fontSize * 0.7, // 70% size of title
|
|
34356
|
+
this.TEXTPDFFONT.subtitleFontStyle, doc);
|
|
34357
|
+
this.addTextInPdfDoc(doc, options.subtitle, this.TEXTPDFFONT.subtitleFont, this.TEXTPDFFONT.subtitleFontStyle, subtitleSizes.fontSize, subtitleSizes.marginLeft + margins[3], margins[0]);
|
|
34358
|
+
margins[0] += 5; // cumulative marg top for next elem to place in pdf doc. 5 is a fix it could be adjust
|
|
33377
34359
|
}
|
|
33378
34360
|
if (options.showProjection === true || options.showScale === true) {
|
|
33379
34361
|
this.addProjScale(doc, map, resolution, options.showProjection, options.showScale);
|
|
@@ -33385,6 +34367,10 @@ class PrintService {
|
|
|
33385
34367
|
if (status === SubjectStatus.Done) {
|
|
33386
34368
|
yield this.addScale(doc, map, margins);
|
|
33387
34369
|
yield this.handleMeasureLayer(doc, map, margins);
|
|
34370
|
+
const width = this.imgSizeAdded[0];
|
|
34371
|
+
const height = this.imgSizeAdded[1];
|
|
34372
|
+
const res = 1;
|
|
34373
|
+
this.addGeoRef(doc, map, width, height, res, margins);
|
|
33388
34374
|
if (options.legendPosition !== 'none') {
|
|
33389
34375
|
if (['topleft', 'topright', 'bottomleft', 'bottomright'].indexOf(options.legendPosition) > -1) {
|
|
33390
34376
|
yield this.addLegendSamePage(doc, map, margins, resolution, options.legendPosition);
|
|
@@ -33404,6 +34390,20 @@ class PrintService {
|
|
|
33404
34390
|
}));
|
|
33405
34391
|
return status$;
|
|
33406
34392
|
}
|
|
34393
|
+
// ref GeoMoose https://github.com/geomoose/gm3/tree/main/src/gm3/components/print
|
|
34394
|
+
addGeoRef(doc, map, width, height, resolution, margins) {
|
|
34395
|
+
const unit = 'mm';
|
|
34396
|
+
const docHeight = doc.internal.pageSize.getHeight();
|
|
34397
|
+
// x,y = margin left-bottom corner for img in pdf doc
|
|
34398
|
+
const x = margins[3];
|
|
34399
|
+
const y = docHeight - margins[0] - height;
|
|
34400
|
+
let pdf_extents = [x, y, x + width, y + height];
|
|
34401
|
+
for (let i = 0; i < pdf_extents.length; i++) {
|
|
34402
|
+
pdf_extents[i] = this.pdf_units2points(pdf_extents[i], unit);
|
|
34403
|
+
}
|
|
34404
|
+
const mapExtent = map.viewController.getExtent('EPSG:3857');
|
|
34405
|
+
doc.setGeoArea(pdf_extents, mapExtent);
|
|
34406
|
+
}
|
|
33407
34407
|
/**
|
|
33408
34408
|
* Add measure overlay on the map on the document when the measure layer is present
|
|
33409
34409
|
* @param doc - Pdf document where measure tooltip will be added
|
|
@@ -33527,66 +34527,46 @@ class PrintService {
|
|
|
33527
34527
|
return status$;
|
|
33528
34528
|
});
|
|
33529
34529
|
}
|
|
33530
|
-
|
|
34530
|
+
getTextPdfObjectSizeAndMarg(text, margins, font, fontSizeInPt, fontStyle, doc) {
|
|
33531
34531
|
const pdfResolution = 96;
|
|
33532
|
-
const
|
|
33533
|
-
|
|
33534
|
-
|
|
33535
|
-
|
|
33536
|
-
|
|
33537
|
-
let
|
|
33538
|
-
let
|
|
33539
|
-
if (
|
|
33540
|
-
|
|
33541
|
-
|
|
33542
|
-
|
|
33543
|
-
|
|
33544
|
-
|
|
33545
|
-
}
|
|
33546
|
-
}
|
|
33547
|
-
else {
|
|
33548
|
-
titleMarginLeft = (pageWidth - titleWidth) / 2;
|
|
33549
|
-
titleFontSize = titleSize;
|
|
33550
|
-
}
|
|
33551
|
-
return [titleFontSize, titleMarginLeft];
|
|
33552
|
-
}
|
|
33553
|
-
getSubTitleSize(subtitle, pageWidth, pageHeight, doc) {
|
|
33554
|
-
const subtitleSize = 0.7 * Math.round(2 * (pageHeight + 145) * 0.05) / 2; // 70% of the title's font size
|
|
33555
|
-
doc.setFont('Times', 'bold');
|
|
33556
|
-
const subtitleWidth = doc.getStringUnitWidth(subtitle) * subtitleSize / doc.internal.scaleFactor;
|
|
33557
|
-
let subtitleMarginLeft;
|
|
33558
|
-
if (subtitleWidth >= (pageWidth)) {
|
|
33559
|
-
subtitleMarginLeft = 0;
|
|
34532
|
+
const docWidth = doc.internal.pageSize.getWidth();
|
|
34533
|
+
const pageWidth = docWidth - margins[1] - margins[3];
|
|
34534
|
+
// important to set it first, the textDimension change when font change!
|
|
34535
|
+
doc.setFont(font, fontStyle);
|
|
34536
|
+
doc.setFontSize(fontSizeInPt);
|
|
34537
|
+
let textDimensions = doc.getTextDimensions(text);
|
|
34538
|
+
let textMarginLeft;
|
|
34539
|
+
if (textDimensions.w > pageWidth) {
|
|
34540
|
+
// if the text is to long, reduce fontSize 70% and the overflow with be cut in print...
|
|
34541
|
+
textMarginLeft = 0;
|
|
34542
|
+
fontSizeInPt = fontSizeInPt * 0.7;
|
|
34543
|
+
doc.setFontSize(fontSizeInPt);
|
|
34544
|
+
textDimensions = doc.getTextDimensions(text);
|
|
33560
34545
|
}
|
|
33561
34546
|
else {
|
|
33562
|
-
|
|
34547
|
+
textMarginLeft = (pageWidth - textDimensions.w) / 2;
|
|
33563
34548
|
}
|
|
33564
|
-
return
|
|
33565
|
-
|
|
33566
|
-
|
|
33567
|
-
|
|
33568
|
-
|
|
33569
|
-
doc.text(title, titleMarginLeft, titleMarginTop);
|
|
33570
|
-
}
|
|
33571
|
-
addSubTitle(doc, subtitle, subtitleFontSize, subtitleMarginLeft, subtitleMarginTop) {
|
|
33572
|
-
doc.setFont('Times', 'bold');
|
|
33573
|
-
doc.setFontSize(subtitleFontSize);
|
|
33574
|
-
doc.text(subtitle, subtitleMarginLeft, subtitleMarginTop);
|
|
34549
|
+
return {
|
|
34550
|
+
'fontSize': fontSizeInPt,
|
|
34551
|
+
'marginLeft': textMarginLeft,
|
|
34552
|
+
'height': textDimensions.h
|
|
34553
|
+
};
|
|
33575
34554
|
}
|
|
33576
34555
|
/**
|
|
33577
34556
|
* Add comment to the document
|
|
33578
34557
|
* * @param doc - pdf document
|
|
33579
34558
|
* * @param comment - Comment to add in the document
|
|
33580
|
-
* * @param size - Size of the document
|
|
33581
34559
|
*/
|
|
33582
34560
|
addComment(doc, comment) {
|
|
33583
|
-
const
|
|
33584
|
-
const
|
|
33585
|
-
const
|
|
33586
|
-
|
|
33587
|
-
|
|
33588
|
-
|
|
33589
|
-
doc.
|
|
34561
|
+
const commentMarginLeft = 20; //margin left and bottom is fix
|
|
34562
|
+
const commentMarginBottom = 5;
|
|
34563
|
+
const marginTop = doc.internal.pageSize.height - commentMarginBottom;
|
|
34564
|
+
this.addTextInPdfDoc(doc, comment, this.TEXTPDFFONT.commentFont, this.TEXTPDFFONT.commentFontStyle, this.TEXTPDFFONT.commentFontSize, commentMarginLeft, marginTop);
|
|
34565
|
+
}
|
|
34566
|
+
addTextInPdfDoc(doc, textToAdd, textFont, textFontStyle, textFontSize, textMarginLeft, textMarginTop) {
|
|
34567
|
+
doc.setFont(textFont, textFontStyle);
|
|
34568
|
+
doc.setFontSize(textFontSize);
|
|
34569
|
+
doc.text(textToAdd, textMarginLeft, textMarginTop);
|
|
33590
34570
|
}
|
|
33591
34571
|
/**
|
|
33592
34572
|
* Add projection and/or scale to the document
|
|
@@ -33764,9 +34744,14 @@ class PrintService {
|
|
|
33764
34744
|
image = canvas.toDataURL('image/png');
|
|
33765
34745
|
}
|
|
33766
34746
|
if (image !== undefined) {
|
|
34747
|
+
if (image.length < 20) { // img is corrupt todo: fix addScale in mobile make a corrupt img
|
|
34748
|
+
console.log('Warning: An image cannot be print in pdf file');
|
|
34749
|
+
return;
|
|
34750
|
+
}
|
|
33767
34751
|
const imageSize = this.getImageSizeToFitPdf(doc, canvas, margins);
|
|
33768
34752
|
doc.addImage(image, 'PNG', margins[3], margins[0], imageSize[0], imageSize[1]);
|
|
33769
34753
|
doc.rect(margins[3], margins[0], imageSize[0], imageSize[1]);
|
|
34754
|
+
this.imgSizeAdded = imageSize; // keep img size for georef later
|
|
33770
34755
|
}
|
|
33771
34756
|
}
|
|
33772
34757
|
// TODO fix printing with image resolution
|
|
@@ -34001,7 +34986,7 @@ class PrintService {
|
|
|
34001
34986
|
*/
|
|
34002
34987
|
saveDoc(doc) {
|
|
34003
34988
|
return __awaiter(this, void 0, void 0, function* () {
|
|
34004
|
-
yield doc.save('
|
|
34989
|
+
yield doc.save('map_georef.pdf', { returnPromise: true });
|
|
34005
34990
|
});
|
|
34006
34991
|
}
|
|
34007
34992
|
/**
|
|
@@ -34014,8 +34999,8 @@ class PrintService {
|
|
|
34014
34999
|
// Define variable to calculate best size to fit in one page
|
|
34015
35000
|
const pageHeight = doc.internal.pageSize.getHeight() - (margins[0] + margins[2]);
|
|
34016
35001
|
const pageWidth = doc.internal.pageSize.getWidth() - (margins[1] + margins[3]);
|
|
34017
|
-
const canHeight = canvas.height;
|
|
34018
|
-
const canWidth = canvas.width;
|
|
35002
|
+
const canHeight = this.pdf_units2points(canvas.height, 'mm');
|
|
35003
|
+
const canWidth = this.pdf_units2points(canvas.width, 'mm');
|
|
34019
35004
|
const heightRatio = canHeight / pageHeight;
|
|
34020
35005
|
const widthRatio = canWidth / pageWidth;
|
|
34021
35006
|
const maxRatio = heightRatio > widthRatio ? heightRatio : widthRatio;
|
|
@@ -34131,6 +35116,41 @@ class PrintService {
|
|
|
34131
35116
|
delete that.zipFile;
|
|
34132
35117
|
});
|
|
34133
35118
|
}
|
|
35119
|
+
pdf_units2points(n, unit) {
|
|
35120
|
+
let k = 1;
|
|
35121
|
+
// this code is borrowed from jsPDF
|
|
35122
|
+
// as it does not expose a public API
|
|
35123
|
+
// for converting units to points.
|
|
35124
|
+
switch (unit) {
|
|
35125
|
+
case 'pt':
|
|
35126
|
+
k = 1;
|
|
35127
|
+
break;
|
|
35128
|
+
case 'mm':
|
|
35129
|
+
k = 72 / 25.4;
|
|
35130
|
+
break;
|
|
35131
|
+
case 'cm':
|
|
35132
|
+
k = 72 / 2.54;
|
|
35133
|
+
break;
|
|
35134
|
+
case 'in':
|
|
35135
|
+
k = 72;
|
|
35136
|
+
break;
|
|
35137
|
+
case 'px':
|
|
35138
|
+
k = 96 / 72;
|
|
35139
|
+
break;
|
|
35140
|
+
case 'pc':
|
|
35141
|
+
k = 12;
|
|
35142
|
+
break;
|
|
35143
|
+
case 'em':
|
|
35144
|
+
k = 12;
|
|
35145
|
+
break;
|
|
35146
|
+
case 'ex':
|
|
35147
|
+
k = 6;
|
|
35148
|
+
break;
|
|
35149
|
+
default:
|
|
35150
|
+
throw new Error('Invalid unit: ' + unit);
|
|
35151
|
+
}
|
|
35152
|
+
return n * k;
|
|
35153
|
+
}
|
|
34134
35154
|
}
|
|
34135
35155
|
PrintService.ɵfac = function PrintService_Factory(t) { return new (t || PrintService)(i0.ɵɵinject(i1$2.HttpClient), i0.ɵɵinject(i2$1.MessageService), i0.ɵɵinject(i2$1.ActivityService), i0.ɵɵinject(i2$1.LanguageService), i0.ɵɵinject(i2$1.ConfigService)); };
|
|
34136
35156
|
PrintService.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: PrintService, factory: PrintService.ɵfac, providedIn: 'root' });
|
|
@@ -38669,7 +39689,7 @@ SearchSettingsComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: Sea
|
|
|
38669
39689
|
i0.ɵɵadvance(1);
|
|
38670
39690
|
i0.ɵɵproperty("ngIf", ctx.hasPointerReverseSearchSource && !ctx.isTouchScreen);
|
|
38671
39691
|
}
|
|
38672
|
-
}, 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
|
|
39692
|
+
}, 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.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 });
|
|
38673
39693
|
(function () {
|
|
38674
39694
|
(typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(SearchSettingsComponent, [{
|
|
38675
39695
|
type: Component,
|
|
@@ -42842,142 +43862,6 @@ function provideOsrmDirectionsSource() {
|
|
|
42842
43862
|
};
|
|
42843
43863
|
}
|
|
42844
43864
|
|
|
42845
|
-
/**
|
|
42846
|
-
* Cadastre search source
|
|
42847
|
-
*/
|
|
42848
|
-
class CadastreSearchSource extends SearchSource {
|
|
42849
|
-
constructor(http, languageService, storageService, options) {
|
|
42850
|
-
super(options, storageService);
|
|
42851
|
-
this.http = http;
|
|
42852
|
-
this.languageService = languageService;
|
|
42853
|
-
}
|
|
42854
|
-
getId() {
|
|
42855
|
-
return CadastreSearchSource.id;
|
|
42856
|
-
}
|
|
42857
|
-
getType() {
|
|
42858
|
-
return CadastreSearchSource.type;
|
|
42859
|
-
}
|
|
42860
|
-
/*
|
|
42861
|
-
* Source : https://wiki.openstreetmap.org/wiki/Key:amenity
|
|
42862
|
-
*/
|
|
42863
|
-
getDefaultOptions() {
|
|
42864
|
-
return {
|
|
42865
|
-
title: 'Cadastre (Québec)',
|
|
42866
|
-
searchUrl: 'https://carto.cptaq.gouv.qc.ca/php/find_lot_v1.php?'
|
|
42867
|
-
};
|
|
42868
|
-
}
|
|
42869
|
-
/**
|
|
42870
|
-
* Search a place by name
|
|
42871
|
-
* @param term Place name
|
|
42872
|
-
* @returns Observable of <SearchResult<Feature>[]
|
|
42873
|
-
*/
|
|
42874
|
-
search(term, options) {
|
|
42875
|
-
term = term.endsWith(',') ? term.slice(0, -1) : term;
|
|
42876
|
-
term = term.startsWith(',') ? term.substr(1) : term;
|
|
42877
|
-
term = term.replace(/ /g, '');
|
|
42878
|
-
const params = this.computeSearchRequestParams(term, options || {});
|
|
42879
|
-
if (!params.get('numero') || !params.get('numero').match(/^[0-9,]+$/g)) {
|
|
42880
|
-
return of([]);
|
|
42881
|
-
}
|
|
42882
|
-
return this.http
|
|
42883
|
-
.get(this.searchUrl, { params, responseType: 'text' })
|
|
42884
|
-
.pipe(map((response) => this.extractResults(response, term)));
|
|
42885
|
-
}
|
|
42886
|
-
computeSearchRequestParams(term, options) {
|
|
42887
|
-
return new HttpParams({
|
|
42888
|
-
fromObject: Object.assign({
|
|
42889
|
-
numero: term,
|
|
42890
|
-
epsg: '4326'
|
|
42891
|
-
}, this.params, options.params || {})
|
|
42892
|
-
});
|
|
42893
|
-
}
|
|
42894
|
-
extractResults(response, term) {
|
|
42895
|
-
return response
|
|
42896
|
-
.split('<br />')
|
|
42897
|
-
.filter((lot) => lot.length > 0)
|
|
42898
|
-
.map((lot) => this.dataToResult(lot, term));
|
|
42899
|
-
}
|
|
42900
|
-
dataToResult(data, term) {
|
|
42901
|
-
const lot = data.split(';');
|
|
42902
|
-
const numero = lot[0];
|
|
42903
|
-
const wkt = lot[7];
|
|
42904
|
-
const geometry = this.computeGeometry(wkt);
|
|
42905
|
-
const properties = {
|
|
42906
|
-
NoLot: numero,
|
|
42907
|
-
Route: '<span class="routing"> <u>' + this.languageService.translate.instant('igo.geo.seeRouting') + '</u> </span>'
|
|
42908
|
-
};
|
|
42909
|
-
const id = [this.getId(), 'cadastre', numero].join('.');
|
|
42910
|
-
return {
|
|
42911
|
-
source: this,
|
|
42912
|
-
meta: {
|
|
42913
|
-
dataType: FEATURE,
|
|
42914
|
-
id,
|
|
42915
|
-
title: numero,
|
|
42916
|
-
score: computeTermSimilarity(term.trim(), numero),
|
|
42917
|
-
icon: 'map-marker'
|
|
42918
|
-
},
|
|
42919
|
-
data: {
|
|
42920
|
-
type: FEATURE,
|
|
42921
|
-
projection: 'EPSG:4326',
|
|
42922
|
-
geometry,
|
|
42923
|
-
properties,
|
|
42924
|
-
meta: {
|
|
42925
|
-
id,
|
|
42926
|
-
title: numero
|
|
42927
|
-
}
|
|
42928
|
-
}
|
|
42929
|
-
};
|
|
42930
|
-
}
|
|
42931
|
-
computeGeometry(wkt) {
|
|
42932
|
-
const feature = new olWKT().readFeature(wkt, {
|
|
42933
|
-
dataProjection: 'EPSG:4326',
|
|
42934
|
-
featureProjection: 'EPSG:4326'
|
|
42935
|
-
});
|
|
42936
|
-
return {
|
|
42937
|
-
type: feature.getGeometry().getType(),
|
|
42938
|
-
coordinates: feature.getGeometry().getCoordinates()
|
|
42939
|
-
};
|
|
42940
|
-
}
|
|
42941
|
-
}
|
|
42942
|
-
CadastreSearchSource.id = 'cadastre';
|
|
42943
|
-
CadastreSearchSource.type = FEATURE;
|
|
42944
|
-
CadastreSearchSource.ɵfac = function CadastreSearchSource_Factory(t) { return new (t || CadastreSearchSource)(i0.ɵɵinject(i1$2.HttpClient), i0.ɵɵinject(i2$1.LanguageService), i0.ɵɵinject(i2$1.StorageService), i0.ɵɵinject('options')); };
|
|
42945
|
-
CadastreSearchSource.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: CadastreSearchSource, factory: CadastreSearchSource.ɵfac });
|
|
42946
|
-
__decorate([
|
|
42947
|
-
Cacheable({
|
|
42948
|
-
maxCacheCount: 20
|
|
42949
|
-
})
|
|
42950
|
-
], CadastreSearchSource.prototype, "search", null);
|
|
42951
|
-
(function () {
|
|
42952
|
-
(typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(CadastreSearchSource, [{
|
|
42953
|
-
type: Injectable
|
|
42954
|
-
}], function () {
|
|
42955
|
-
return [{ type: i1$2.HttpClient }, { type: i2$1.LanguageService }, { type: i2$1.StorageService }, { type: undefined, decorators: [{
|
|
42956
|
-
type: Inject,
|
|
42957
|
-
args: ['options']
|
|
42958
|
-
}] }];
|
|
42959
|
-
}, { search: [] });
|
|
42960
|
-
})();
|
|
42961
|
-
|
|
42962
|
-
/**
|
|
42963
|
-
* Cadastre search source factory
|
|
42964
|
-
* @ignore
|
|
42965
|
-
*/
|
|
42966
|
-
function cadastreSearchSourceFactory(http, languageService, storageService, config) {
|
|
42967
|
-
return new CadastreSearchSource(http, languageService, storageService, config.getConfig(`searchSources.${CadastreSearchSource.id}`));
|
|
42968
|
-
}
|
|
42969
|
-
/**
|
|
42970
|
-
* Function that returns a provider for the Cadastre search source
|
|
42971
|
-
*/
|
|
42972
|
-
function provideCadastreSearchSource() {
|
|
42973
|
-
return {
|
|
42974
|
-
provide: SearchSource,
|
|
42975
|
-
useFactory: cadastreSearchSourceFactory,
|
|
42976
|
-
multi: true,
|
|
42977
|
-
deps: [HttpClient, LanguageService, StorageService, ConfigService]
|
|
42978
|
-
};
|
|
42979
|
-
}
|
|
42980
|
-
|
|
42981
43865
|
/**
|
|
42982
43866
|
* Nominatim search source
|
|
42983
43867
|
*/
|
|
@@ -43749,7 +44633,7 @@ class ConfigFileToGeoDBService {
|
|
|
43749
44633
|
}
|
|
43750
44634
|
if (currentDate >= geoData.triggerDate) {
|
|
43751
44635
|
if (geoData.action === 'update') {
|
|
43752
|
-
const insertEvent = `${geoData.source ||
|
|
44636
|
+
const insertEvent = `${geoData.source || InsertSourceInsertDBEnum.System} (${geoData.triggerDate})`;
|
|
43753
44637
|
geoData.urls.map((url) => {
|
|
43754
44638
|
datas$.push(this.geoDBService.getByID(url).pipe(concatMap((res) => {
|
|
43755
44639
|
if ((res === null || res === void 0 ? void 0 : res.insertEvent) !== insertEvent) {
|
|
@@ -43758,8 +44642,31 @@ class ConfigFileToGeoDBService {
|
|
|
43758
44642
|
.info('igo.geo.indexedDb.data-download-start', undefined, { disableTimeOut: true, progressBar: false, closeButton: true, tapToDismiss: false });
|
|
43759
44643
|
firstDownload = false;
|
|
43760
44644
|
}
|
|
43761
|
-
|
|
43762
|
-
|
|
44645
|
+
let responseType = 'json';
|
|
44646
|
+
const isZip = this.isZip(url);
|
|
44647
|
+
if (isZip) {
|
|
44648
|
+
responseType = 'arraybuffer';
|
|
44649
|
+
}
|
|
44650
|
+
return this.http.get(url, { responseType }).pipe(concatMap(r => {
|
|
44651
|
+
if (isZip) {
|
|
44652
|
+
const observables$ = [this.geoDBService.update(url, url, {}, InsertSourceInsertDBEnum.System, insertEvent)];
|
|
44653
|
+
JSZip.loadAsync(r)
|
|
44654
|
+
.then((zipped) => {
|
|
44655
|
+
zipped.forEach((relativePath) => {
|
|
44656
|
+
if (relativePath.toLocaleLowerCase().endsWith('.geojson')) {
|
|
44657
|
+
zipped.file(relativePath).async("base64").then((r) => {
|
|
44658
|
+
const geojson = JSON.parse(atob(r));
|
|
44659
|
+
const subUrl = geoData.zippedBaseUrl || '';
|
|
44660
|
+
const zippedUrl = subUrl + (subUrl.endsWith('/') ? '' : '/') + relativePath;
|
|
44661
|
+
observables$.push(this.geoDBService.update(zippedUrl, url, geojson, InsertSourceInsertDBEnum.System, insertEvent));
|
|
44662
|
+
});
|
|
44663
|
+
}
|
|
44664
|
+
});
|
|
44665
|
+
});
|
|
44666
|
+
return zip(observables$);
|
|
44667
|
+
}
|
|
44668
|
+
return this.geoDBService.update(url, url, r, InsertSourceInsertDBEnum.System, insertEvent);
|
|
44669
|
+
}));
|
|
43763
44670
|
}
|
|
43764
44671
|
else {
|
|
43765
44672
|
return of(false);
|
|
@@ -43785,6 +44692,10 @@ class ConfigFileToGeoDBService {
|
|
|
43785
44692
|
}
|
|
43786
44693
|
});
|
|
43787
44694
|
}
|
|
44695
|
+
isZip(value) {
|
|
44696
|
+
const regex = /(zip)$/;
|
|
44697
|
+
return typeof value === 'string' && regex.test(value.toLowerCase());
|
|
44698
|
+
}
|
|
43788
44699
|
}
|
|
43789
44700
|
ConfigFileToGeoDBService.ɵfac = function ConfigFileToGeoDBService_Factory(t) { return new (t || ConfigFileToGeoDBService)(i0.ɵɵinject(i1$2.HttpClient), i0.ɵɵinject(GeoDBService), i0.ɵɵinject(i2$1.MessageService)); };
|
|
43790
44701
|
ConfigFileToGeoDBService.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: ConfigFileToGeoDBService, factory: ConfigFileToGeoDBService.ɵfac, providedIn: 'root' });
|
|
@@ -43805,5 +44716,5 @@ ConfigFileToGeoDBService.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token:
|
|
|
43805
44716
|
* Generated bundle index. Do not edit.
|
|
43806
44717
|
*/
|
|
43807
44718
|
|
|
43808
|
-
export { AddCatalogDialogComponent, ArcGISRestDataSource, BaseLayersSwitcherComponent, CadastreSearchSource, CapabilitiesService, CartoDataSource, Catalog, CatalogBrowserComponent, CatalogFactory, CatalogItemType, CatalogLibaryComponent, CatalogService, ClusterDataSource, CompositeCatalog, ConfigFileToGeoDBService, ConfirmationPopupComponent, CoordinatesReverseSearchSource, CoordinatesReverseSearchSourceFactory, CoordinatesSearchResultFormatter, DataService, DataSource, DataSourceService, DirectionRelativePositionType, DirectionType, DirectionsButtonsComponent, DirectionsComponent, DirectionsFormat, DirectionsInputsComponent, DirectionsResultsComponent, DirectionsService, DirectionsSource, DownloadButtonComponent, DownloadService, DrawComponent, DrawControl, DrawIconService, DrawStyleService, DropGeoFileDirective, EditionWorkspace, EditionWorkspaceService, EncodingFormat, EsriStyleGenerator, ExportButtonComponent, ExportError, ExportFormat, ExportInvalidFileError, ExportNothingToExportError, ExportService, FEATURE, FeatureDataSource, FeatureDetailsComponent, FeatureDetailsDirective, FeatureFormComponent, FeatureMotion, FeatureStore, FeatureStoreInMapExtentStrategy, FeatureStoreInMapResolutionStrategy, FeatureStoreLoadingLayerStrategy, FeatureStoreLoadingStrategy, FeatureStoreSelectionStrategy, FeatureWorkspace, FeatureWorkspaceService, FilterableDataSourcePipe, FontType, GeoDBService, GeoNetworkService, GeolocateButtonComponent, GeometryFormFieldComponent, GeometryFormFieldInputComponent, GeometrySliceError, GeometrySliceLineStringError, GeometrySliceMultiPolygonError, GeometrySliceTooManyIntersectionError, GeometryType, GoogleLinks, HomeExtentButtonComponent, HoverFeatureDirective, IChercheReverseSearchSource, IChercheSearchResultFormatter, IChercheSearchSource, ILayerSearchResultFormatter, ILayerSearchSource, IgoCatalogBrowserModule, IgoCatalogLibraryModule, IgoCatalogModule, IgoConfirmationPopupModule, IgoDataSourceModule, IgoDirectionsModule, IgoDownloadModule, IgoDrawModule, IgoDrawingToolModule, IgoFeatureDetailsModule, IgoFeatureFormModule, IgoFeatureModule, IgoFilterModule, IgoGeoModule, IgoGeoWorkspaceModule, IgoGeometryFormFieldModule, IgoGeometryModule, IgoHttpParameterCodec, IgoImportExportModule, IgoLayerModule, IgoMap, IgoMapModule, IgoMeasureModule, IgoMeasurerModule, IgoMetadataModule, IgoOgcFilterModule, IgoOverlayModule, IgoPrintModule, IgoQueryModule, IgoSearchBarModule, IgoSearchModule, IgoSearchResultsModule, IgoSearchSelectorModule, IgoSearchSettingsModule, IgoStyleListModule, IgoToastModule, IgoWktModule, IgoWorkspaceSelectorModule, IgoWorkspaceUpdatorModule, ImageArcGISRestDataSource, ImageLayer, ImageWatcher, ImportError, ImportExportComponent, ImportInvalidFileError, ImportNothingToImportError, ImportOgreServerError, ImportSRSError, ImportService, ImportSizeError, ImportUnreadableFileError, InfoSectionComponent, InsertSourceInsertDBEnum, LAYER, Layer, LayerItemComponent, LayerLegendComponent, LayerLegendItemComponent, LayerLegendListBindingDirective, LayerLegendListComponent, LayerListBindingDirective, LayerListComponent, LayerListControlsEnum, LayerListDisplacement, LayerListSelectVisibleEnum, LayerListToolComponent, LayerListToolControlsEnum, LayerListToolService, LayerService, LinkedProperties, MEASURE_UNIT_AUTO, MVTDataSource, MapBrowserComponent, MapCenterComponent, MapController, MapGeolocationController, MapOfflineDirective, MapService, MapViewAction, MapViewController, MeasureAreaUnit, MeasureAreaUnitAbbreviation, MeasureFormatPipe, MeasureLengthUnit, MeasureLengthUnitAbbreviation, MeasureType, MeasurerComponent, MenuButtonComponent, MetadataAbstractComponent, MetadataButtonComponent, MetadataService, MiniBaseMapComponent, ModifyControl, NominatimSearchSource, OGCFilterService, OSMDataSource, OfflineButtonComponent, OgcFilterButtonComponent, OgcFilterComponent, OgcFilterFormComponent, OgcFilterOperator, OgcFilterOperatorType, OgcFilterSelectionComponent, OgcFilterTimeComponent, OgcFilterTimeSliderComponent, OgcFilterWidget, OgcFilterWriter, OgcFilterableFormComponent, OgcFilterableItemComponent, OgcFilterableListBindingDirective, OgcFilterableListComponent, OlDragSelectInteraction, OptionsApiService, OptionsService, OsmLinks, OsrmDirectionsSource, Overlay, OverlayAction, OverlayDirective, OverlayService, PointerPositionDirective, PrintComponent, PrintFormComponent, PrintLegendPosition, PrintOrientation, PrintOutputFormat, PrintPaperFormat, PrintResolution, PrintSaveImageFormat, PrintService, ProjectionService, ProposalType, QueryDirective, QueryFormat, QueryFormatMimeType, QueryHtmlTarget, QuerySearchSource, QueryService, ResponseType, RotationButtonComponent, RoutesFeatureStore, SEARCH_TYPES, STYLELIST_OPTIONS, SearchBarComponent, SearchPointerSummaryDirective, SearchResultAddButtonComponent, SearchResultMode, SearchResultsComponent, SearchResultsItemComponent, SearchSelectorComponent, SearchService, SearchSettingsComponent, SearchSource, SearchSourceService, SliceControl, SourceDirectionsType, SpatialFilterItemComponent, SpatialFilterItemType, SpatialFilterListComponent, SpatialFilterQueryType, SpatialFilterService, SpatialFilterType, SpatialFilterTypeComponent, StepFeatureStore, StopsFeatureStore, StopsStore, StoredQueriesReverseSearchSource, StoredQueriesSearchSource, StyleListService, StyleModalComponent, StyleService, SwipeControlComponent, TileArcGISRestDataSource, TileDebugDataSource, TileLayer, TileWatcher, TimeFilterButtonComponent, TimeFilterFormComponent, TimeFilterItemComponent, TimeFilterListBindingDirective, TimeFilterListComponent, TimeFilterService, TimeFilterStyle, TimeFilterType, ToastComponent, TooltipType, TrackFeatureButtonComponent, TypeCapabilities, TypeCatalog, VectorLayer, VectorTileLayer, VectorWatcher, WFSDataSource, WFSService, WMSDataSource, WMTSDataSource, WakeLockButtonComponent, WebSocketDataSource, WfsWorkspace, WfsWorkspaceService, WktService, WorkspaceSelectorDirective, WorkspaceUpdatorDirective, XYZDataSource, ZoomButtonComponent, addDirectionToRoutesFeatureStore, addLayerAndFeaturesStyledToMap, addLayerAndFeaturesToMap, addLinearRingToOlPolygon, addStopToStopsFeatureStore, addStopToStore, buildUrl, cadastreSearchSourceFactory, checkWfsParams, clearOlGeometryMidpoints, computeBestAreaUnit, computeBestLengthUnit, computeLayerTitleFromFile, computeMVTOptionsOnHover, computeOlFeatureExtent, computeOlFeaturesDiff, computeOlFeaturesExtent, computeProjectionsConstraints, computeRelativePosition, computeStopsPosition, computeTermSimilarity, convertDDToDMS, createDefaultTileGrid, createDrawHoleInteractionStyle, createDrawInteractionStyle, createInteractionStyle, createMeasureInteractionStyle, createMeasureLayerStyle, createOlTooltipAtPoint, createOlTooltipDrawAtPoint, createOverlayDefaultStyle, createOverlayLayer, createOverlayMarkerStyle, ctrlKeyDown, defaultCoordinatesSearchResultFormatterFactory, defaultEpsg, defaultFieldNameGeometry, defaultIChercheSearchResultFormatterFactory, defaultMaxFeatures, defaultWfsVersion, directionsStyle, entitiesToRowData, exportToCSV, featureFromOl, featureToOl, featureToSearchResult, featuresAreOutOfView, featuresAreTooDeepInView, findDiff, formatDistance, formatDuration, formatInstruction, formatMeasure, formatScale, formatWFSQueryString, generateArcgisRestIdFromSourceOptions, generateFeatureIdFromSourceOptions, generateId, generateIdFromSourceOptions, generateWMSIdFromSourceOptions, generateWMTSIdFromSourceOptions, generateWfsIdFromSourceOptions, generateXYZIdFromSourceOptions, getAllChildLayersByDeletion, getAllChildLayersByProperty, getCommonVectorSelectedStyle, getCommonVectorStyle, getDirectChildLayersByDeletion, getDirectChildLayersByProperty, getDirectParentLayerByDeletion, getDirectParentLayerByProperty, getFileExtension, getFormatFromOptions, getIgoLayerByLinkId, getLayersLegends, getLinkedLayersOptions, getMousePositionFromOlGeometryEvent, getOlTooltipAtCenter, getOlTooltipsAtMidpoints, getResolutionFromScale, getRootParentByDeletion, getRootParentByProperty, getRowsInMapExtent, getScaleFromResolution, getSelectedOnly, getTooltipsOfOlGeometry, gmlRegex, handleFileExportError, handleFileExportSuccess, handleFileImportError, handleFileImportSuccess, handleInvalidFileImportError, handleLayerPropertyChange, handleNothingToExportError, handleNothingToImportError, handleOgreServerImportError, handleSRSImportError, handleSizeFileImportError, handleUnreadbleFileImportError, hideOlFeature, hoverFeatureMarker, ichercheReverseSearchSourceFactory, ichercheSearchSourceFactory, ilayerSearchResultFormatterFactory, ilayerSearchSourceFactory, initLayerSyncFromRootParentLayers, initRoutesFeatureStore, initStepFeatureStore, initStopsFeatureStore, jsonRegex, layerFeatureIsQueryable, layerHasLinkDeletion, layerHasLinkWithProperty, layerIsQueryable, lonLatConversion, mapExtentStrategyActiveToolTip, measureOlGeometry, measureOlGeometryArea, measureOlGeometryLength, metersToFeet, metersToKilometers, metersToMiles, metersToUnit, moveToOlFeatures, mtmZoneFromLonLat, noElementSelected, nominatimSearchSourceFactory, ogcFilterWidgetFactory, olLayerFeatureIsQueryable, olLayerIsQueryable, optionsApiFactory, osrmDirectionsSourcesFactory, pointerPositionSummaryMarker, provideCadastreSearchSource, provideCoordinatesReverseSearchSource, provideDefaultCoordinatesSearchResultFormatter, provideDefaultIChercheSearchResultFormatter, provideIChercheReverseSearchSource, provideIChercheSearchSource, provideILayerSearchResultFormatter, provideILayerSearchSource, provideNominatimSearchSource, provideOgcFilterWidget, provideOptionsApi, provideOsrmDirectionsSource, provideSearchSourceService, provideStoredQueriesReverseSearchSource, provideStoredQueriesSearchSource, provideStyleListLoader, provideStyleListOptions, removeStopFromStore, renderFeatureFromOl, roundCoordTo, scaleExtent, searchSourceServiceFactory, setRowsInMapExtent, setSelectedOnly, sliceOlGeometry, sliceOlLineString, sliceOlPolygon, sourceCanReverseSearch, sourceCanReverseSearchAsSummary, sourceCanSearch, squareMetersToAcres, squareMetersToHectares, squareMetersToSquareFeet, squareMetersToSquareKilometers, squareMetersToSquareMiles, squareMetersToUnit, standardizeUrl, storedqueriesReverseSearchSourceFactory, storedqueriesSearchSourceFactory, stringToLonLat, styleListFactory, translateBearing, translateModifier, tryAddLoadingStrategy, tryAddSelectionStrategy, tryBindStoreLayer, updateOlGeometryCenter, updateOlGeometryMidpoints, updateOlTooltipAtCenter, updateOlTooltipDrawAtCenter, updateOlTooltipsAtMidpoints, updateOlTooltipsDrawAtMidpoints, updateStoreSorting, utmZoneFromLonLat, viewStatesAreEqual, zoneMtm, zoneUtm };
|
|
44719
|
+
export { AddCatalogDialogComponent, ArcGISRestDataSource, BaseLayersSwitcherComponent, CapabilitiesService, CartoDataSource, Catalog, CatalogBrowserComponent, CatalogFactory, CatalogItemType, CatalogLibaryComponent, CatalogService, ClusterDataSource, CompositeCatalog, ConfigFileToGeoDBService, ConfirmationPopupComponent, CoordinatesReverseSearchSource, CoordinatesReverseSearchSourceFactory, CoordinatesSearchResultFormatter, CoordinatesUnit, DDtoDMS, DataService, DataSource, DataSourceService, DirectionRelativePositionType, DirectionType, DirectionsButtonsComponent, DirectionsComponent, DirectionsFormat, DirectionsInputsComponent, DirectionsResultsComponent, DirectionsService, DirectionsSource, DownloadButtonComponent, DownloadService, DrawComponent, DrawControl, DrawIconService, DrawStyleService, DropGeoFileDirective, EditionWorkspace, EditionWorkspaceService, EncodingFormat, EsriStyleGenerator, ExportButtonComponent, ExportError, ExportFormat, ExportInvalidFileError, ExportNothingToExportError, ExportService, FEATURE, FeatureDataSource, FeatureDetailsComponent, FeatureDetailsDirective, FeatureFormComponent, FeatureMotion, FeatureStore, FeatureStoreInMapExtentStrategy, FeatureStoreInMapResolutionStrategy, FeatureStoreLoadingLayerStrategy, FeatureStoreLoadingStrategy, FeatureStoreSelectionStrategy, FeatureWorkspace, FeatureWorkspaceService, FilterableDataSourcePipe, FontType, GeoDBService, GeoNetworkService, GeolocateButtonComponent, GeometryFormFieldComponent, GeometryFormFieldInputComponent, GeometrySliceError, GeometrySliceLineStringError, GeometrySliceMultiPolygonError, GeometrySliceTooManyIntersectionError, GeometryType, GoogleLinks, HomeExtentButtonComponent, HoverFeatureDirective, IChercheReverseSearchSource, IChercheSearchResultFormatter, IChercheSearchSource, ILayerSearchResultFormatter, ILayerSearchSource, IgoCatalogBrowserModule, IgoCatalogLibraryModule, IgoCatalogModule, IgoConfirmationPopupModule, IgoDataSourceModule, IgoDirectionsModule, IgoDownloadModule, IgoDrawModule, IgoDrawingToolModule, IgoFeatureDetailsModule, IgoFeatureFormModule, IgoFeatureModule, IgoFilterModule, IgoGeoModule, IgoGeoWorkspaceModule, IgoGeometryFormFieldModule, IgoGeometryModule, IgoHttpParameterCodec, IgoImportExportModule, IgoLayerModule, IgoMap, IgoMapModule, IgoMeasureModule, IgoMeasurerModule, IgoMetadataModule, IgoOgcFilterModule, IgoOverlayModule, IgoPrintModule, IgoQueryModule, IgoSearchBarModule, IgoSearchModule, IgoSearchResultsModule, IgoSearchSelectorModule, IgoSearchSettingsModule, IgoStyleListModule, IgoToastModule, IgoWktModule, IgoWorkspaceSelectorModule, IgoWorkspaceUpdatorModule, ImageArcGISRestDataSource, ImageLayer, ImageWatcher, ImportError, ImportExportComponent, ImportInvalidFileError, ImportNothingToImportError, ImportOgreServerError, ImportSRSError, ImportService, ImportSizeError, ImportUnreadableFileError, InfoSectionComponent, InsertSourceInsertDBEnum, LAYER, LabelType, Layer, LayerItemComponent, LayerLegendComponent, LayerLegendItemComponent, LayerLegendListBindingDirective, LayerLegendListComponent, LayerListBindingDirective, LayerListComponent, LayerListControlsEnum, LayerListDisplacement, LayerListSelectVisibleEnum, LayerListToolComponent, LayerListToolControlsEnum, LayerListToolService, LayerService, LinkedProperties, MEASURE_UNIT_AUTO, MVTDataSource, MapBrowserComponent, MapCenterComponent, MapController, MapGeolocationController, MapOfflineDirective, MapService, MapViewAction, MapViewController, MeasureAreaUnit, MeasureAreaUnitAbbreviation, MeasureFormatPipe, MeasureLengthUnit, MeasureLengthUnitAbbreviation, MeasureType, MeasurerComponent, MenuButtonComponent, MetadataAbstractComponent, MetadataButtonComponent, MetadataService, MiniBaseMapComponent, ModifyControl, NominatimSearchSource, OGCFilterService, OSMDataSource, OfflineButtonComponent, OgcFilterButtonComponent, OgcFilterComponent, OgcFilterFormComponent, OgcFilterOperator, OgcFilterOperatorType, OgcFilterSelectionComponent, OgcFilterTimeComponent, OgcFilterTimeSliderComponent, OgcFilterWidget, OgcFilterWriter, OgcFilterableFormComponent, OgcFilterableItemComponent, OgcFilterableListBindingDirective, OgcFilterableListComponent, OlDragSelectInteraction, OptionsApiService, OptionsService, OsmLinks, OsrmDirectionsSource, Overlay, OverlayAction, OverlayDirective, OverlayService, PointerPositionDirective, PrintComponent, PrintFormComponent, PrintLegendPosition, PrintOrientation, PrintOutputFormat, PrintPaperFormat, PrintResolution, PrintSaveImageFormat, PrintService, ProjectionService, ProposalType, QueryDirective, QueryFormat, QueryFormatMimeType, QueryHtmlTarget, QuerySearchSource, QueryService, ResponseType, RotationButtonComponent, RoutesFeatureStore, SEARCH_TYPES, STYLELIST_OPTIONS, SearchBarComponent, SearchPointerSummaryDirective, SearchResultAddButtonComponent, SearchResultMode, SearchResultsComponent, SearchResultsItemComponent, SearchSelectorComponent, SearchService, SearchSettingsComponent, SearchSource, SearchSourceService, SliceControl, SourceDirectionsType, SpatialFilterItemComponent, SpatialFilterItemType, SpatialFilterListComponent, SpatialFilterQueryType, SpatialFilterService, SpatialFilterType, SpatialFilterTypeComponent, StepFeatureStore, StopsFeatureStore, StopsStore, StoredQueriesReverseSearchSource, StoredQueriesSearchSource, StyleListService, StyleModalComponent, StyleService, SwipeControlComponent, TileArcGISRestDataSource, TileDebugDataSource, TileLayer, TileWatcher, TimeFilterButtonComponent, TimeFilterFormComponent, TimeFilterItemComponent, TimeFilterListBindingDirective, TimeFilterListComponent, TimeFilterService, TimeFilterStyle, TimeFilterType, ToastComponent, TooltipType, TrackFeatureButtonComponent, TypeCapabilities, TypeCatalog, VectorLayer, VectorTileLayer, VectorWatcher, WFSDataSource, WFSService, WMSDataSource, WMTSDataSource, WakeLockButtonComponent, WebSocketDataSource, WfsWorkspace, WfsWorkspaceService, WktService, WorkspaceSelectorDirective, WorkspaceUpdatorDirective, XYZDataSource, ZoomButtonComponent, addDirectionToRoutesFeatureStore, addLayerAndFeaturesStyledToMap, addLayerAndFeaturesToMap, addLinearRingToOlPolygon, addStopToStopsFeatureStore, addStopToStore, buildUrl, checkWfsParams, clearOlGeometryMidpoints, computeBestAreaUnit, computeBestLengthUnit, computeLayerTitleFromFile, computeMVTOptionsOnHover, computeOlFeatureExtent, computeOlFeaturesDiff, computeOlFeaturesExtent, computeProjectionsConstraints, computeRelativePosition, computeStopsPosition, computeTermSimilarity, convertDDToDMS, createDefaultTileGrid, createDrawHoleInteractionStyle, createDrawInteractionStyle, createInteractionStyle, createMeasureInteractionStyle, createMeasureLayerStyle, createOlTooltipAtPoint, createOlTooltipDrawAtPoint, createOverlayDefaultStyle, createOverlayLayer, createOverlayMarkerStyle, ctrlKeyDown, defaultCoordinatesSearchResultFormatterFactory, defaultEpsg, defaultFieldNameGeometry, defaultIChercheSearchResultFormatterFactory, defaultMaxFeatures, defaultWfsVersion, directionsStyle, entitiesToRowData, exportToCSV, featureFromOl, featureToOl, featureToSearchResult, featuresAreOutOfView, featuresAreTooDeepInView, findDiff, formatDistance, formatDuration, formatInstruction, formatMeasure, formatScale, formatWFSQueryString, generateArcgisRestIdFromSourceOptions, generateFeatureIdFromSourceOptions, generateId, generateIdFromSourceOptions, generateWMSIdFromSourceOptions, generateWMTSIdFromSourceOptions, generateWfsIdFromSourceOptions, generateXYZIdFromSourceOptions, getAllChildLayersByDeletion, getAllChildLayersByProperty, getCommonVectorSelectedStyle, getCommonVectorStyle, getDirectChildLayersByDeletion, getDirectChildLayersByProperty, getDirectParentLayerByDeletion, getDirectParentLayerByProperty, getFileExtension, getFormatFromOptions, getIgoLayerByLinkId, getLayersLegends, getLinkedLayersOptions, getMousePositionFromOlGeometryEvent, getOlTooltipAtCenter, getOlTooltipsAtMidpoints, getResolutionFromScale, getRootParentByDeletion, getRootParentByProperty, getRowsInMapExtent, getScaleFromResolution, getSelectedOnly, getTooltipsOfOlGeometry, gmlRegex, handleFileExportError, handleFileExportSuccess, handleFileImportError, handleFileImportSuccess, handleInvalidFileImportError, handleLayerPropertyChange, handleNothingToExportError, handleNothingToImportError, handleOgreServerImportError, handleSRSImportError, handleSizeFileImportError, handleUnreadbleFileImportError, hideOlFeature, hoverFeatureMarker, ichercheReverseSearchSourceFactory, ichercheSearchSourceFactory, ilayerSearchResultFormatterFactory, ilayerSearchSourceFactory, initLayerSyncFromRootParentLayers, initRoutesFeatureStore, initStepFeatureStore, initStopsFeatureStore, jsonRegex, layerFeatureIsQueryable, layerHasLinkDeletion, layerHasLinkWithProperty, layerIsQueryable, lonLatConversion, mapExtentStrategyActiveToolTip, measureOlGeometry, measureOlGeometryArea, measureOlGeometryLength, metersToFeet, metersToKilometers, metersToMiles, metersToUnit, moveToOlFeatures, mtmZoneFromLonLat, noElementSelected, nominatimSearchSourceFactory, ogcFilterWidgetFactory, olLayerFeatureIsQueryable, olLayerIsQueryable, optionsApiFactory, osrmDirectionsSourcesFactory, pointerPositionSummaryMarker, provideCoordinatesReverseSearchSource, provideDefaultCoordinatesSearchResultFormatter, provideDefaultIChercheSearchResultFormatter, provideIChercheReverseSearchSource, provideIChercheSearchSource, provideILayerSearchResultFormatter, provideILayerSearchSource, provideNominatimSearchSource, provideOgcFilterWidget, provideOptionsApi, provideOsrmDirectionsSource, provideSearchSourceService, provideStoredQueriesReverseSearchSource, provideStoredQueriesSearchSource, provideStyleListLoader, provideStyleListOptions, removeStopFromStore, renderFeatureFromOl, roundCoordTo, roundCoordToString, scaleExtent, searchSourceServiceFactory, setRowsInMapExtent, setSelectedOnly, sliceOlGeometry, sliceOlLineString, sliceOlPolygon, sourceCanReverseSearch, sourceCanReverseSearchAsSummary, sourceCanSearch, squareMetersToAcres, squareMetersToHectares, squareMetersToSquareFeet, squareMetersToSquareKilometers, squareMetersToSquareMiles, squareMetersToUnit, standardizeUrl, storedqueriesReverseSearchSourceFactory, storedqueriesSearchSourceFactory, stringToLonLat, styleListFactory, translateBearing, translateModifier, tryAddLoadingStrategy, tryAddSelectionStrategy, tryBindStoreLayer, updateOlGeometryCenter, updateOlGeometryMidpoints, updateOlTooltipAtCenter, updateOlTooltipDrawAtCenter, updateOlTooltipsAtMidpoints, updateOlTooltipsDrawAtMidpoints, updateStoreSorting, utmZoneFromLonLat, viewStatesAreEqual, zoneMtm, zoneUtm };
|
|
43809
44720
|
//# sourceMappingURL=igo2-geo.mjs.map
|