@igo2/geo 1.15.2 → 1.15.4
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/draw/draw/draw.component.mjs +3 -3
- package/esm2020/lib/search/shared/sources/cadastre.mjs +126 -0
- package/esm2020/lib/search/shared/sources/cadastre.providers.mjs +23 -0
- package/esm2020/lib/search/shared/sources/index.mjs +3 -1
- package/esm2020/lib/search/shared/sources/source.mjs +2 -2
- package/fesm2015/igo2-geo.mjs +144 -8
- package/fesm2015/igo2-geo.mjs.map +1 -1
- package/fesm2020/igo2-geo.mjs +140 -8
- package/fesm2020/igo2-geo.mjs.map +1 -1
- package/lib/search/shared/sources/cadastre.d.ts +33 -0
- package/lib/search/shared/sources/cadastre.providers.d.ts +18 -0
- package/lib/search/shared/sources/index.d.ts +2 -0
- package/package.json +4 -4
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
import { __decorate } from "tslib";
|
|
2
|
+
import { Injectable, Inject } from '@angular/core';
|
|
3
|
+
import { HttpParams } from '@angular/common/http';
|
|
4
|
+
import { of } from 'rxjs';
|
|
5
|
+
import { map } from 'rxjs/operators';
|
|
6
|
+
import olWKT from 'ol/format/WKT';
|
|
7
|
+
import { FEATURE } from '../../../feature';
|
|
8
|
+
import { SearchSource } from './source';
|
|
9
|
+
import { computeTermSimilarity } from '../search.utils';
|
|
10
|
+
import { Cacheable } from 'ts-cacheable';
|
|
11
|
+
import * as i0 from "@angular/core";
|
|
12
|
+
import * as i1 from "@angular/common/http";
|
|
13
|
+
import * as i2 from "@igo2/core";
|
|
14
|
+
/**
|
|
15
|
+
* Cadastre search source
|
|
16
|
+
*/
|
|
17
|
+
export class CadastreSearchSource extends SearchSource {
|
|
18
|
+
constructor(http, languageService, storageService, options) {
|
|
19
|
+
super(options, storageService);
|
|
20
|
+
this.http = http;
|
|
21
|
+
this.languageService = languageService;
|
|
22
|
+
}
|
|
23
|
+
getId() {
|
|
24
|
+
return CadastreSearchSource.id;
|
|
25
|
+
}
|
|
26
|
+
getType() {
|
|
27
|
+
return CadastreSearchSource.type;
|
|
28
|
+
}
|
|
29
|
+
/*
|
|
30
|
+
* Source : https://wiki.openstreetmap.org/wiki/Key:amenity
|
|
31
|
+
*/
|
|
32
|
+
getDefaultOptions() {
|
|
33
|
+
return {
|
|
34
|
+
title: 'Cadastre (Québec)',
|
|
35
|
+
searchUrl: 'https://carto.cptaq.gouv.qc.ca/php/find_lot_v1.php?'
|
|
36
|
+
};
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Search a place by name
|
|
40
|
+
* @param term Place name
|
|
41
|
+
* @returns Observable of <SearchResult<Feature>[]
|
|
42
|
+
*/
|
|
43
|
+
search(term, options) {
|
|
44
|
+
term = term.endsWith(',') ? term.slice(0, -1) : term;
|
|
45
|
+
term = term.startsWith(',') ? term.substr(1) : term;
|
|
46
|
+
term = term.replace(/ /g, '');
|
|
47
|
+
const params = this.computeSearchRequestParams(term, options || {});
|
|
48
|
+
if (!params.get('numero') || !params.get('numero').match(/^[0-9,]+$/g)) {
|
|
49
|
+
return of([]);
|
|
50
|
+
}
|
|
51
|
+
return this.http
|
|
52
|
+
.get(this.searchUrl, { params, responseType: 'text' })
|
|
53
|
+
.pipe(map((response) => this.extractResults(response, term)));
|
|
54
|
+
}
|
|
55
|
+
computeSearchRequestParams(term, options) {
|
|
56
|
+
return new HttpParams({
|
|
57
|
+
fromObject: Object.assign({
|
|
58
|
+
numero: term,
|
|
59
|
+
epsg: '4326'
|
|
60
|
+
}, this.params, options.params || {})
|
|
61
|
+
});
|
|
62
|
+
}
|
|
63
|
+
extractResults(response, term) {
|
|
64
|
+
return response
|
|
65
|
+
.split('<br />')
|
|
66
|
+
.filter((lot) => lot.length > 0)
|
|
67
|
+
.map((lot) => this.dataToResult(lot, term));
|
|
68
|
+
}
|
|
69
|
+
dataToResult(data, term) {
|
|
70
|
+
const lot = data.split(';');
|
|
71
|
+
const numero = lot[0];
|
|
72
|
+
const wkt = lot[7];
|
|
73
|
+
const geometry = this.computeGeometry(wkt);
|
|
74
|
+
const properties = {
|
|
75
|
+
NoLot: numero,
|
|
76
|
+
Route: '<span class="routing"> <u>' + this.languageService.translate.instant('igo.geo.seeRouting') + '</u> </span>'
|
|
77
|
+
};
|
|
78
|
+
const id = [this.getId(), 'cadastre', numero].join('.');
|
|
79
|
+
return {
|
|
80
|
+
source: this,
|
|
81
|
+
meta: {
|
|
82
|
+
dataType: FEATURE,
|
|
83
|
+
id,
|
|
84
|
+
title: numero,
|
|
85
|
+
score: computeTermSimilarity(term.trim(), numero),
|
|
86
|
+
icon: 'map-marker'
|
|
87
|
+
},
|
|
88
|
+
data: {
|
|
89
|
+
type: FEATURE,
|
|
90
|
+
projection: 'EPSG:4326',
|
|
91
|
+
geometry,
|
|
92
|
+
properties,
|
|
93
|
+
meta: {
|
|
94
|
+
id,
|
|
95
|
+
title: numero
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
};
|
|
99
|
+
}
|
|
100
|
+
computeGeometry(wkt) {
|
|
101
|
+
const feature = new olWKT().readFeature(wkt, {
|
|
102
|
+
dataProjection: 'EPSG:4326',
|
|
103
|
+
featureProjection: 'EPSG:4326'
|
|
104
|
+
});
|
|
105
|
+
return {
|
|
106
|
+
type: feature.getGeometry().getType(),
|
|
107
|
+
coordinates: feature.getGeometry().getCoordinates()
|
|
108
|
+
};
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
CadastreSearchSource.id = 'cadastre';
|
|
112
|
+
CadastreSearchSource.type = FEATURE;
|
|
113
|
+
CadastreSearchSource.ɵfac = function CadastreSearchSource_Factory(t) { return new (t || CadastreSearchSource)(i0.ɵɵinject(i1.HttpClient), i0.ɵɵinject(i2.LanguageService), i0.ɵɵinject(i2.StorageService), i0.ɵɵinject('options')); };
|
|
114
|
+
CadastreSearchSource.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: CadastreSearchSource, factory: CadastreSearchSource.ɵfac });
|
|
115
|
+
__decorate([
|
|
116
|
+
Cacheable({
|
|
117
|
+
maxCacheCount: 20
|
|
118
|
+
})
|
|
119
|
+
], CadastreSearchSource.prototype, "search", null);
|
|
120
|
+
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(CadastreSearchSource, [{
|
|
121
|
+
type: Injectable
|
|
122
|
+
}], function () { return [{ type: i1.HttpClient }, { type: i2.LanguageService }, { type: i2.StorageService }, { type: undefined, decorators: [{
|
|
123
|
+
type: Inject,
|
|
124
|
+
args: ['options']
|
|
125
|
+
}] }]; }, { search: [] }); })();
|
|
126
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FkYXN0cmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9zZWFyY2gvc2hhcmVkL3NvdXJjZXMvY2FkYXN0cmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBYyxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUU5RCxPQUFPLEVBQWMsRUFBRSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3RDLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVyQyxPQUFPLEtBQUssTUFBTSxlQUFlLENBQUM7QUFFbEMsT0FBTyxFQUFFLE9BQU8sRUFBNEIsTUFBTSxrQkFBa0IsQ0FBQztBQUdyRSxPQUFPLEVBQUUsWUFBWSxFQUFjLE1BQU0sVUFBVSxDQUFDO0FBSXBELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxjQUFjLENBQUM7Ozs7QUFHekM7O0dBRUc7QUFFSCxNQUFNLE9BQU8sb0JBQXFCLFNBQVEsWUFBWTtJQUlwRCxZQUNVLElBQWdCLEVBQ2hCLGVBQWdDLEVBQ3hDLGNBQThCLEVBQ1gsT0FBNEI7UUFFL0MsS0FBSyxDQUFDLE9BQU8sRUFBRSxjQUFjLENBQUMsQ0FBQztRQUx2QixTQUFJLEdBQUosSUFBSSxDQUFZO1FBQ2hCLG9CQUFlLEdBQWYsZUFBZSxDQUFpQjtJQUsxQyxDQUFDO0lBRUQsS0FBSztRQUNILE9BQU8sb0JBQW9CLENBQUMsRUFBRSxDQUFDO0lBQ2pDLENBQUM7SUFFRCxPQUFPO1FBQ0wsT0FBTyxvQkFBb0IsQ0FBQyxJQUFJLENBQUM7SUFDbkMsQ0FBQztJQUVEOztPQUVHO0lBQ08saUJBQWlCO1FBQ3pCLE9BQU87WUFDTCxLQUFLLEVB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IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEh0dHBDbGllbnQsIEh0dHBQYXJhbXMgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcblxyXG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBvZiB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcblxyXG5pbXBvcnQgb2xXS1QgZnJvbSAnb2wvZm9ybWF0L1dLVCc7XHJcblxyXG5pbXBvcnQgeyBGRUFUVVJFLCBGZWF0dXJlLCBGZWF0dXJlR2VvbWV0cnkgfSBmcm9tICcuLi8uLi8uLi9mZWF0dXJlJztcclxuXHJcbmltcG9ydCB7IFNlYXJjaFJlc3VsdCB9IGZyb20gJy4uL3NlYXJjaC5pbnRlcmZhY2VzJztcclxuaW1wb3J0IHsgU2VhcmNoU291cmNlLCBUZXh0U2VhcmNoIH0gZnJvbSAnLi9zb3VyY2UnO1xyXG5pbXBvcnQgeyBTZWFyY2hTb3VyY2VPcHRpb25zLCBUZXh0U2VhcmNoT3B0aW9ucyB9IGZyb20gJy4vc291cmNlLmludGVyZmFjZXMnO1xyXG5cclxuaW1wb3J0IHsgTGFuZ3VhZ2VTZXJ2aWNlLCBTdG9yYWdlU2VydmljZSB9IGZyb20gJ0BpZ28yL2NvcmUnO1xyXG5pbXBvcnQgeyBjb21wdXRlVGVybVNpbWlsYXJpdHkgfSBmcm9tICcuLi9zZWFyY2gudXRpbHMnO1xyXG5pbXBvcnQgeyBDYWNoZWFibGUgfSBmcm9tICd0cy1jYWNoZWFibGUnO1xyXG5pbXBvcnQgeyBHZW9Kc29uR2VvbWV0cnlUeXBlcyB9IGZyb20gJ2dlb2pzb24nO1xyXG5cclxuLyoqXHJcbiAqIENhZGFzdHJlIHNlYXJjaCBzb3VyY2VcclxuICovXHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGNsYXNzIENhZGFzdHJlU2VhcmNoU291cmNlIGV4dGVuZHMgU2VhcmNoU291cmNlIGltcGxlbWVudHMgVGV4dFNlYXJjaCB7XHJcbiAgc3RhdGljIGlkID0gJ2NhZGFzdHJlJztcclxuICBzdGF0aWMgdHlwZSA9IEZFQVRVUkU7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBodHRwOiBIdHRwQ2xpZW50LFxyXG4gICAgcHJpdmF0ZSBsYW5ndWFnZVNlcnZpY2U6IExhbmd1YWdlU2VydmljZSxcclxuICAgIHN0b3JhZ2VTZXJ2aWNlOiBTdG9yYWdlU2VydmljZSxcclxuICAgIEBJbmplY3QoJ29wdGlvbnMnKSBvcHRpb25zOiBTZWFyY2hTb3VyY2VPcHRpb25zXHJcbiAgKSB7XHJcbiAgICBzdXBlcihvcHRpb25zLCBzdG9yYWdlU2VydmljZSk7XHJcbiAgfVxyXG5cclxuICBnZXRJZCgpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIENhZGFzdHJlU2VhcmNoU291cmNlLmlkO1xyXG4gIH1cclxuXHJcbiAgZ2V0VHlwZSgpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIENhZGFzdHJlU2VhcmNoU291cmNlLnR5cGU7XHJcbiAgfVxyXG5cclxuICAvKlxyXG4gICAqIFNvdXJjZSA6IGh0dHBzOi8vd2lraS5vcGVuc3RyZWV0bWFwLm9yZy93aWtpL0tleTphbWVuaXR5XHJcbiAgICovXHJcbiAgcHJvdGVjdGVkIGdldERlZmF1bHRPcHRpb25zKCk6IFNlYXJjaFNvdXJjZU9wdGlvbnMge1xyXG4gICAgcmV0dXJuIHtcclxuICAgICAgdGl0bGU6ICdDYWRhc3RyZSAoUXXDqWJlYyknLFxyXG4gICAgICBzZWFyY2hVcmw6ICdodHRwczovL2NhcnRvLmNwdGFxLmdvdXYucWMuY2EvcGhwL2ZpbmRfbG90X3YxLnBocD8nXHJcbiAgICB9O1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogU2VhcmNoIGEgcGxhY2UgYnkgbmFtZVxyXG4gICAqIEBwYXJhbSB0ZXJtIFBsYWNlIG5hbWVcclxuICAgKiBAcmV0dXJucyBPYnNlcnZhYmxlIG9mIDxTZWFyY2hSZXN1bHQ8RmVhdHVyZT5bXVxyXG4gICAqL1xyXG4gIEBDYWNoZWFibGUoe1xyXG4gICAgbWF4Q2FjaGVDb3VudDogMjBcclxuICB9KVxyXG4gIHNlYXJjaChcclxuICAgIHRlcm06IHN0cmluZyB8IHVuZGVmaW5lZCxcclxuICAgIG9wdGlvbnM/OiBUZXh0U2VhcmNoT3B0aW9uc1xyXG4gICk6IE9ic2VydmFibGU8U2VhcmNoUmVzdWx0PEZlYXR1cmU+W10+IHtcclxuICAgIHRlcm0gPSB0ZXJtLmVuZHNXaXRoKCcsJykgPyB0ZXJtLnNsaWNlKDAsIC0xKSA6IHRlcm07XHJcbiAgICB0ZXJtID0gdGVybS5zdGFydHNXaXRoKCcsJykgPyB0ZXJtLnN1YnN0cigxKSA6IHRlcm07XHJcbiAgICB0ZXJtID0gdGVybS5yZXBsYWNlKC8gL2csICcnKTtcclxuXHJcbiAgICBjb25zdCBwYXJhbXMgPSB0aGlzLmNvbXB1dGVTZWFyY2hSZXF1ZXN0UGFyYW1zKHRlcm0sIG9wdGlvbnMgfHwge30pO1xyXG4gICAgaWYgKCFwYXJhbXMuZ2V0KCdudW1lcm8nKSB8fCAhcGFyYW1zLmdldCgnbnVtZXJvJykubWF0Y2goL15bMC05LF0rJC9nKSkge1xyXG4gICAgICByZXR1cm4gb2YoW10pO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHRoaXMuaHR0cFxyXG4gICAgICAuZ2V0KHRoaXMuc2VhcmNoVXJsLCB7IHBhcmFtcywgcmVzcG9uc2VUeXBlOiAndGV4dCcgfSlcclxuICAgICAgLnBpcGUobWFwKChyZXNwb25zZTogc3RyaW5nKSA9PiB0aGlzLmV4dHJhY3RSZXN1bHRzKHJlc3BvbnNlLCB0ZXJtKSkpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBjb21wdXRlU2VhcmNoUmVxdWVzdFBhcmFtcyhcclxuICAgIHRlcm06IHN0cmluZyxcclxuICAgIG9wdGlvbnM6IFRleHRTZWFyY2hPcHRpb25zXHJcbiAgKTogSHR0cFBhcmFtcyB7XHJcbiAgICByZXR1cm4gbmV3IEh0dHBQYXJhbXMoe1xyXG4gICAgICBmcm9tT2JqZWN0OiBPYmplY3QuYXNzaWduKFxyXG4gICAgICAgIHtcclxuICAgICAgICAgIG51bWVybzogdGVybSxcclxuICAgICAgICAgIGVwc2c6ICc0MzI2J1xyXG4gICAgICAgIH0sXHJcbiAgICAgICAgdGhpcy5wYXJhbXMsXHJcbiAgICAgICAgb3B0aW9ucy5wYXJhbXMgfHwge31cclxuICAgICAgKVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGV4dHJhY3RSZXN1bHRzKHJlc3BvbnNlOiBzdHJpbmcsIHRlcm06IHN0cmluZyk6IFNlYXJjaFJlc3VsdDxGZWF0dXJlPltdIHtcclxuICAgIHJldHVybiByZXNwb25zZVxyXG4gICAgICAuc3BsaXQoJzxiciAvPicpXHJcbiAgICAgIC5maWx0ZXIoKGxvdDogc3RyaW5nKSA9PiBsb3QubGVuZ3RoID4gMClcclxuICAgICAgLm1hcCgobG90OiBzdHJpbmcpID0+IHRoaXMuZGF0YVRvUmVzdWx0KGxvdCwgdGVybSkpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBkYXRhVG9SZXN1bHQoZGF0YTogc3RyaW5nLCB0ZXJtOiBzdHJpbmcpOiBTZWFyY2hSZXN1bHQ8RmVhdHVyZT4ge1xyXG4gICAgY29uc3QgbG90ID0gZGF0YS5zcGxpdCgnOycpO1xyXG4gICAgY29uc3QgbnVtZXJvID0gbG90WzBdO1xyXG4gICAgY29uc3Qgd2t0ID0gbG90WzddO1xyXG4gICAgY29uc3QgZ2VvbWV0cnkgPSB0aGlzLmNvbXB1dGVHZW9tZXRyeSh3a3QpO1xyXG5cclxuICAgIGNvbnN0IHByb3BlcnRpZXMgPSB7XHJcbiAgICAgIE5vTG90OiBudW1lcm8sXHJcbiAgICAgIFJvdXRlOiAnPHNwYW4gY2xhc3M9XCJyb3V0aW5nXCI+IDx1PicgKyB0aGlzLmxhbmd1YWdlU2VydmljZS50cmFuc2xhdGUuaW5zdGFudCgnaWdvLmdlby5zZWVSb3V0aW5nJykgKyAnPC91PiA8L3NwYW4+J1xyXG4gICAgfTtcclxuICAgIGNvbnN0IGlkID0gW3RoaXMuZ2V0SWQoKSwgJ2NhZGFzdHJlJywgbnVtZXJvXS5qb2luKCcuJyk7XHJcblxyXG4gICAgcmV0dXJuIHtcclxuICAgICAgc291cmNlOiB0aGlzLFxyXG4gICAgICBtZXRhOiB7XHJcbiAgICAgICAgZGF0YVR5cGU6IEZFQVRVUkUsXHJcbiAgICAgICAgaWQsXHJcbiAgICAgICAgdGl0bGU6IG51bWVybyxcclxuICAgICAgICBzY29yZTogY29tcHV0ZVRlcm1TaW1pbGFyaXR5KHRlcm0udHJpbSgpLCBudW1lcm8pLFxyXG4gICAgICAgIGljb246ICdtYXAtbWFya2VyJ1xyXG4gICAgICB9LFxyXG4gICAgICBkYXRhOiB7XHJcbiAgICAgICAgdHlwZTogRkVBVFVSRSxcclxuICAgICAgICBwcm9qZWN0aW9uOiAnRVBTRzo0MzI2JyxcclxuICAgICAgICBnZW9tZXRyeSxcclxuICAgICAgICBwcm9wZXJ0aWVzLFxyXG4gICAgICAgIG1ldGE6IHtcclxuICAgICAgICAgIGlkLFxyXG4gICAgICAgICAgdGl0bGU6IG51bWVyb1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgY29tcHV0ZUdlb21ldHJ5KHdrdDogc3RyaW5nKTogRmVhdHVyZUdlb21ldHJ5IHtcclxuICAgIGNvbnN0IGZlYXR1cmUgPSBuZXcgb2xXS1QoKS5yZWFkRmVhdHVyZSh3a3QsIHtcclxuICAgICAgZGF0YVByb2plY3Rpb246ICdFUFNHOjQzMjYnLFxyXG4gICAgICBmZWF0dXJlUHJvamVjdGlvbjogJ0VQU0c6NDMyNidcclxuICAgIH0pO1xyXG4gICAgcmV0dXJuIHtcclxuICAgICAgdHlwZTogZmVhdHVyZS5nZXRHZW9tZXRyeSgpLmdldFR5cGUoKSBhcyBHZW9Kc29uR2VvbWV0cnlUeXBlcyxcclxuICAgICAgY29vcmRpbmF0ZXM6IChmZWF0dXJlLmdldEdlb21ldHJ5KCkgYXMgYW55KS5nZXRDb29yZGluYXRlcygpXHJcbiAgICB9O1xyXG4gIH1cclxufVxyXG4iXX0=
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { HttpClient } from '@angular/common/http';
|
|
2
|
+
import { ConfigService, LanguageService, StorageService } from '@igo2/core';
|
|
3
|
+
import { SearchSource } from './source';
|
|
4
|
+
import { CadastreSearchSource } from './cadastre';
|
|
5
|
+
/**
|
|
6
|
+
* Cadastre search source factory
|
|
7
|
+
* @ignore
|
|
8
|
+
*/
|
|
9
|
+
export function cadastreSearchSourceFactory(http, languageService, storageService, config) {
|
|
10
|
+
return new CadastreSearchSource(http, languageService, storageService, config.getConfig(`searchSources.${CadastreSearchSource.id}`));
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Function that returns a provider for the Cadastre search source
|
|
14
|
+
*/
|
|
15
|
+
export function provideCadastreSearchSource() {
|
|
16
|
+
return {
|
|
17
|
+
provide: SearchSource,
|
|
18
|
+
useFactory: cadastreSearchSourceFactory,
|
|
19
|
+
multi: true,
|
|
20
|
+
deps: [HttpClient, LanguageService, StorageService, ConfigService]
|
|
21
|
+
};
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FkYXN0cmUucHJvdmlkZXJzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZ2VvL3NyYy9saWIvc2VhcmNoL3NoYXJlZC9zb3VyY2VzL2NhZGFzdHJlLnByb3ZpZGVycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFFbEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxlQUFlLEVBQUUsY0FBYyxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBRTVFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDeEMsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sWUFBWSxDQUFDO0FBRWxEOzs7R0FHRztBQUNILE1BQU0sVUFBVSwyQkFBMkIsQ0FDekMsSUFBZ0IsRUFDaEIsZUFBZ0MsRUFDaEMsY0FBOEIsRUFDOUIsTUFBcUI7SUFFckIsT0FBTyxJQUFJLG9CQUFvQixDQUM3QixJQUFJLEVBQ0osZUFBZSxFQUNmLGNBQWMsRUFDZCxNQUFNLENBQUMsU0FBUyxDQUFDLGlCQUFpQixvQkFBb0IsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUM3RCxDQUFDO0FBQ0osQ0FBQztBQUVEOztHQUVHO0FBQ0gsTUFBTSxVQUFVLDJCQUEyQjtJQUN6QyxPQUFPO1FBQ0wsT0FBTyxFQUFFLFlBQVk7UUFDckIsVUFBVSxFQUFFLDJCQUEyQjtRQUN2QyxLQUFLLEVBQUUsSUFBSTtRQUNYLElBQUksRUFBRSxDQUFDLFVBQVUsRUFBRSxlQUFlLEVBQUUsY0FBYyxFQUFFLGFBQWEsQ0FBQztLQUNuRSxDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcblxyXG5pbXBvcnQgeyBDb25maWdTZXJ2aWNlLCBMYW5ndWFnZVNlcnZpY2UsIFN0b3JhZ2VTZXJ2aWNlIH0gZnJvbSAnQGlnbzIvY29yZSc7XHJcblxyXG5pbXBvcnQgeyBTZWFyY2hTb3VyY2UgfSBmcm9tICcuL3NvdXJjZSc7XHJcbmltcG9ydCB7IENhZGFzdHJlU2VhcmNoU291cmNlIH0gZnJvbSAnLi9jYWRhc3RyZSc7XHJcblxyXG4vKipcclxuICogQ2FkYXN0cmUgc2VhcmNoIHNvdXJjZSBmYWN0b3J5XHJcbiAqIEBpZ25vcmVcclxuICovXHJcbmV4cG9ydCBmdW5jdGlvbiBjYWRhc3RyZVNlYXJjaFNvdXJjZUZhY3RvcnkoXHJcbiAgaHR0cDogSHR0cENsaWVudCxcclxuICBsYW5ndWFnZVNlcnZpY2U6IExhbmd1YWdlU2VydmljZSxcclxuICBzdG9yYWdlU2VydmljZTogU3RvcmFnZVNlcnZpY2UsXHJcbiAgY29uZmlnOiBDb25maWdTZXJ2aWNlXHJcbikge1xyXG4gIHJldHVybiBuZXcgQ2FkYXN0cmVTZWFyY2hTb3VyY2UoXHJcbiAgICBodHRwLFxyXG4gICAgbGFuZ3VhZ2VTZXJ2aWNlLFxyXG4gICAgc3RvcmFnZVNlcnZpY2UsXHJcbiAgICBjb25maWcuZ2V0Q29uZmlnKGBzZWFyY2hTb3VyY2VzLiR7Q2FkYXN0cmVTZWFyY2hTb3VyY2UuaWR9YCksXHJcbiAgKTtcclxufVxyXG5cclxuLyoqXHJcbiAqIEZ1bmN0aW9uIHRoYXQgcmV0dXJucyBhIHByb3ZpZGVyIGZvciB0aGUgQ2FkYXN0cmUgc2VhcmNoIHNvdXJjZVxyXG4gKi9cclxuZXhwb3J0IGZ1bmN0aW9uIHByb3ZpZGVDYWRhc3RyZVNlYXJjaFNvdXJjZSgpIHtcclxuICByZXR1cm4ge1xyXG4gICAgcHJvdmlkZTogU2VhcmNoU291cmNlLFxyXG4gICAgdXNlRmFjdG9yeTogY2FkYXN0cmVTZWFyY2hTb3VyY2VGYWN0b3J5LFxyXG4gICAgbXVsdGk6IHRydWUsXHJcbiAgICBkZXBzOiBbSHR0cENsaWVudCwgTGFuZ3VhZ2VTZXJ2aWNlLCBTdG9yYWdlU2VydmljZSwgQ29uZmlnU2VydmljZV1cclxuICB9O1xyXG59XHJcbiJdfQ==
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
export * from './cadastre';
|
|
2
|
+
export * from './cadastre.providers';
|
|
1
3
|
export * from './source';
|
|
2
4
|
export * from './source.interfaces';
|
|
3
5
|
export * from './icherche';
|
|
@@ -18,4 +20,4 @@ export * from './coordinates.providers';
|
|
|
18
20
|
export * from './workspace';
|
|
19
21
|
export * from './workspace.interfaces';
|
|
20
22
|
export * from './workspace.providers';
|
|
21
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
23
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9zZWFyY2gvc2hhcmVkL3NvdXJjZXMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxZQUFZLENBQUM7QUFDM0IsY0FBYyxzQkFBc0IsQ0FBQztBQUNyQyxjQUFjLFVBQVUsQ0FBQztBQUN6QixjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMsWUFBWSxDQUFDO0FBQzNCLGNBQWMsdUJBQXVCLENBQUM7QUFDdEMsY0FBYyxzQkFBc0IsQ0FBQztBQUNyQyxjQUFjLFVBQVUsQ0FBQztBQUN6QixjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMsb0JBQW9CLENBQUM7QUFDbkMsY0FBYyxhQUFhLENBQUM7QUFDNUIsY0FBYyx3QkFBd0IsQ0FBQztBQUN2QyxjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLGNBQWMsaUJBQWlCLENBQUM7QUFDaEMsY0FBYyw0QkFBNEIsQ0FBQztBQUMzQyxjQUFjLDJCQUEyQixDQUFDO0FBQzFDLGNBQWMsZUFBZSxDQUFDO0FBQzlCLGNBQWMsMEJBQTBCLENBQUM7QUFDekMsY0FBYyx5QkFBeUIsQ0FBQztBQUN4QyxjQUFjLGFBQWEsQ0FBQztBQUM1QixjQUFjLHdCQUF3QixDQUFDO0FBQ3ZDLGNBQWMsdUJBQXVCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2NhZGFzdHJlJztcclxuZXhwb3J0ICogZnJvbSAnLi9jYWRhc3RyZS5wcm92aWRlcnMnO1xyXG5leHBvcnQgKiBmcm9tICcuL3NvdXJjZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vc291cmNlLmludGVyZmFjZXMnO1xyXG5leHBvcnQgKiBmcm9tICcuL2ljaGVyY2hlJztcclxuZXhwb3J0ICogZnJvbSAnLi9pY2hlcmNoZS5pbnRlcmZhY2VzJztcclxuZXhwb3J0ICogZnJvbSAnLi9pY2hlcmNoZS5wcm92aWRlcnMnO1xyXG5leHBvcnQgKiBmcm9tICcuL2lsYXllcic7XHJcbmV4cG9ydCAqIGZyb20gJy4vaWxheWVyLmludGVyZmFjZXMnO1xyXG5leHBvcnQgKiBmcm9tICcuL2lsYXllci5wcm92aWRlcnMnO1xyXG5leHBvcnQgKiBmcm9tICcuL25vbWluYXRpbSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbm9taW5hdGltLmludGVyZmFjZXMnO1xyXG5leHBvcnQgKiBmcm9tICcuL25vbWluYXRpbS5wcm92aWRlcnMnO1xyXG5leHBvcnQgKiBmcm9tICcuL3N0b3JlZHF1ZXJpZXMnO1xyXG5leHBvcnQgKiBmcm9tICcuL3N0b3JlZHF1ZXJpZXMuaW50ZXJmYWNlcyc7XHJcbmV4cG9ydCAqIGZyb20gJy4vc3RvcmVkcXVlcmllcy5wcm92aWRlcnMnO1xyXG5leHBvcnQgKiBmcm9tICcuL2Nvb3JkaW5hdGVzJztcclxuZXhwb3J0ICogZnJvbSAnLi9jb29yZGluYXRlcy5pbnRlcmZhY2VzJztcclxuZXhwb3J0ICogZnJvbSAnLi9jb29yZGluYXRlcy5wcm92aWRlcnMnO1xyXG5leHBvcnQgKiBmcm9tICcuL3dvcmtzcGFjZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vd29ya3NwYWNlLmludGVyZmFjZXMnO1xyXG5leHBvcnQgKiBmcm9tICcuL3dvcmtzcGFjZS5wcm92aWRlcnMnO1xyXG4iXX0=
|
|
@@ -160,7 +160,7 @@ export class SearchSource {
|
|
|
160
160
|
* @param hashtag hashtag from query
|
|
161
161
|
*/
|
|
162
162
|
getHashtagsValid(term, settingsName) {
|
|
163
|
-
const hashtags = term.match(/(#[A-Za-z
|
|
163
|
+
const hashtags = term.match(/(#[A-Za-zÀ-ÿ-+]+)/g);
|
|
164
164
|
if (!hashtags) {
|
|
165
165
|
return undefined;
|
|
166
166
|
}
|
|
@@ -206,4 +206,4 @@ SearchSource.id = '';
|
|
|
206
206
|
* @internal
|
|
207
207
|
*/
|
|
208
208
|
SearchSource.type = '';
|
|
209
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic291cmNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZ2VvL3NyYy9saWIvc2VhcmNoL3NoYXJlZC9zb3VyY2VzL3NvdXJjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBWTFDOztHQUVHO0FBQ0gsTUFBTSxPQUFPLFlBQVk7SUE4S3ZCLFlBQVksT0FBNEIsRUFBVSxjQUErQjtRQUEvQixtQkFBYyxHQUFkLGNBQWMsQ0FBaUI7UUFDL0UsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7UUFDdkIsSUFBSSxJQUFJLENBQUMsY0FBYyxFQUFFO1lBQ3ZCLE1BQU0sY0FBYyxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUM1QyxJQUFJLENBQUMsS0FBSyxFQUFFLEdBQUcsVUFBVSxDQUNoQixDQUFDO1lBQ1osSUFBSSxjQUFjLEVBQUU7Z0JBQ2xCLElBQUksQ0FBQyxPQUFPLEdBQUcsV0FBVyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLGNBQWMsQ0FBQyxDQUFDO2FBQ3BFO1NBQ0Y7UUFFRCxJQUFJLENBQUMsT0FBTyxHQUFHLFdBQVcsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLGlCQUFpQixFQUFFLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBRzdFLG1DQUFtQztRQUNuQyxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsRUFBRTtZQUM5QixJQUFJLENBQUMsbUJBQW1CLENBQUMsT0FBTyxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQzNDLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQTdLRDs7O09BR0c7SUFDSCxLQUFLO1FBQ0gsTUFBTSxJQUFJLEtBQUssQ0FBQywyQ0FBMkMsQ0FBQyxDQUFDO0lBQy9ELENBQUM7SUFDRDs7O09BR0c7SUFDSCxP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LGlCQUFpQixDQUFDLE1BQWM7UUFDOUIsT0FBTyxJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUMzQyxDQUFDLEtBQTJCLEVBQUUsRUFBRTtZQUM5QixPQUFPLEtBQUssQ0FBQyxJQUFJLEtBQUssTUFBTSxDQUFDO1FBQy9CLENBQUMsQ0FDRixDQUFDO0lBQ0osQ0FBQzs7QUEvT0Q7OztHQUdHO0FBQ0ksZUFBRSxHQUFHLEVBQUUsQ0FBQztBQUVmOzs7R0FHRztBQUNJLGlCQUFJLEdBQUcsRUFBRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xyXG5cclxuaW1wb3J0IHsgT2JqZWN0VXRpbHMgfSBmcm9tICdAaWdvMi91dGlscyc7XHJcbmltcG9ydCB7IFN0b3JhZ2VTZXJ2aWNlIH0gZnJvbSAnQGlnbzIvY29yZSc7XHJcbmltcG9ydCB7IFNlYXJjaFJlc3VsdCB9IGZyb20gJy4uL3NlYXJjaC5pbnRlcmZhY2VzJztcclxuaW1wb3J0IHtcclxuICBTZWFyY2hTb3VyY2VPcHRpb25zLFxyXG4gIFRleHRTZWFyY2hPcHRpb25zLFxyXG4gIFJldmVyc2VTZWFyY2hPcHRpb25zLFxyXG4gIFNlYXJjaFNvdXJjZVNldHRpbmdzXHJcbn0gZnJvbSAnLi9zb3VyY2UuaW50ZXJmYWNlcyc7XHJcbmltcG9ydCB7IEZlYXR1cmVTdG9yZSB9IGZyb20gJy4uLy4uLy4uL2ZlYXR1cmUnO1xyXG5pbXBvcnQgeyBXb3Jrc3BhY2UgfSBmcm9tICdAaWdvMi9jb21tb24nO1xyXG5cclxuLyoqXHJcbiAqIEJhc2Ugc2VhcmNoIHNvdXJjZSBjbGFzc1xyXG4gKi9cclxuZXhwb3J0IGNsYXNzIFNlYXJjaFNvdXJjZSB7XHJcbiAgLyoqXHJcbiAgICogU2VhcmNoIHNvdXJjZSBJRFxyXG4gICAqIEBpbnRlcm5hbFxyXG4gICAqL1xyXG4gIHN0YXRpYyBpZCA9ICcnO1xyXG5cclxuICAvKipcclxuICAgKiBTZWFyY2ggc291cmNlIHR5cGVcclxuICAgKiBAaW50ZXJuYWxcclxuICAgKi9cclxuICBzdGF0aWMgdHlwZSA9ICcnO1xyXG5cclxuICAvKipcclxuICAgKiBTZWFyY2ggc291cmNlIG9wdGlvbnNcclxuICAgKiBAaW50ZXJuYWxcclxuICAgKi9cclxuICBwcm90ZWN0ZWQgb3B0aW9uczogU2VhcmNoU291cmNlT3B0aW9ucztcclxuXHJcbiAgLyoqXHJcbiAgICogR2V0IHNlYXJjaCBzb3VyY2UncyBpZFxyXG4gICAqIEByZXR1cm5zIFNlYXJjaCBzb3VyY2UncyBpZFxyXG4gICAqL1xyXG4gIGdldElkKCk6IHN0cmluZyB7XHJcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ1lvdSBoYXZlIHRvIGltcGxlbWVudCB0aGUgbWV0aG9kIFwiZ2V0SWRcIi4nKTtcclxuICB9XHJcbiAgLyoqXHJcbiAgICogR2V0IHNlYXJjaCBzb3VyY2UncyB0eXBlXHJcbiAgICogQHJldHVybnMgU2VhcmNoIHNvdXJjZSdzIHR5cGVcclxuICAgKi9cclxuICBnZXRUeXBlKCk6IHN0cmluZyB7XHJcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ1lvdSBoYXZlIHRvIGltcGxlbWVudCB0aGUgbWV0aG9kIFwiZ2V0VHlwZVwiLicpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogR2V0IHNlYXJjaCBzb3VyY2UncyBkZWZhdWx0IG9wdGlvbnNcclxuICAgKiBAcmV0dXJucyBTZWFyY2ggc291cmNlIGRlZmF1bHQgb3B0aW9uc1xyXG4gICAqL1xyXG4gIHByb3RlY3RlZCBnZXREZWZhdWx0T3B0aW9ucygpOiBTZWFyY2hTb3VyY2VPcHRpb25zIHtcclxuICAgIHRocm93IG5ldyBFcnJvcignWW91IGhhdmUgdG8gaW1wbGVtZW50IHRoZSBtZXRob2QgXCJnZXREZWZhdWx0T3B0aW9uc1wiLicpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogU2VhcmNoIHNvdXJjZSdzIHRpdGxlXHJcbiAgICovXHJcbiAgZ2V0IHRpdGxlKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdGhpcy5vcHRpb25zLnRpdGxlO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogV2hldGhlciB0aGUgc2VhcmNoIHNvdXJjZSBpcyBhdmFpbGFibGVcclxuICAgKi9cclxuICBnZXQgYXZhaWxhYmxlKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMub3B0aW9ucy5hdmFpbGFibGUgIT09IGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogV2hldGhlciB0aGUgc2VhcmNoIHNvdXJjZSBpcyBlbmFibGVkXHJcbiAgICovXHJcbiAgc2V0IGVuYWJsZWQodmFsdWU6IGJvb2xlYW4pIHtcclxuICAgIHRoaXMub3B0aW9ucy5lbmFibGVkID0gdmFsdWU7XHJcbiAgfVxyXG4gIGdldCBlbmFibGVkKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuYXZhaWxhYmxlICYmIHRoaXMub3B0aW9ucy5lbmFibGVkICE9PSBmYWxzZTtcclxuICB9XHJcblxyXG4gIGdldCBzaG93SW5Qb2ludGVyU3VtbWFyeSgpOiBib29sZWFuIHtcclxuICAgIGNvbnN0IHNob3dJblBvaW50ZXJTdW1tYXJ5ID0gdGhpcy5vcHRpb25zLnNob3dJblBvaW50ZXJTdW1tYXJ5O1xyXG4gICAgcmV0dXJuIHNob3dJblBvaW50ZXJTdW1tYXJ5ID8gc2hvd0luUG9pbnRlclN1bW1hcnkgOiBmYWxzZTtcclxuICB9XHJcblxyXG4gIGdldCBzaG93SW5TZXR0aW5ncygpOiBib29sZWFuIHtcclxuICAgIGNvbnN0IHNob3dJblNldHRpbmdzID0gdGhpcy5vcHRpb25zLnNob3dJblNldHRpbmdzO1xyXG4gICAgcmV0dXJuIHNob3dJblNldHRpbmdzID09PSB1bmRlZmluZWQgPyB0cnVlIDogc2hvd0luU2V0dGluZ3M7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBTZWFyY2ggdXJsXHJcbiAgICovXHJcbiAgZ2V0IHNlYXJjaFVybCgpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHRoaXMub3B0aW9ucy5zZWFyY2hVcmw7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBTZWFyY2ggcXVlcnkgcGFyYW1zXHJcbiAgICovXHJcbiAgZ2V0IHBhcmFtcygpOiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9IHtcclxuICAgIHJldHVybiB0aGlzLm9wdGlvbnMucGFyYW1zID09PSB1bmRlZmluZWQgPyB7fSA6IHRoaXMub3B0aW9ucy5wYXJhbXM7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBTZWFyY2ggc2V0dGluZ3NcclxuICAgKi9cclxuICBnZXQgc2V0dGluZ3MoKTogU2VhcmNoU291cmNlU2V0dGluZ3NbXSB7XHJcbiAgICByZXR1cm4gdGhpcy5vcHRpb25zLnNldHRpbmdzID09PSB1bmRlZmluZWQgPyBbXSA6IHRoaXMub3B0aW9ucy5zZXR0aW5ncztcclxuICB9XHJcblxyXG4gIHNldCBmZWF0dXJlU3RvcmVzV2l0aEluZGV4KHN0b3Jlc1dpdGhJbmRleDogRmVhdHVyZVN0b3JlW10pIHtcclxuICAgIHRoaXMuX2ZlYXR1cmVTdG9yZXNXaXRoSW5kZXggPSBzdG9yZXNXaXRoSW5kZXg7XHJcbiAgfVxyXG4gIGdldCBmZWF0dXJlU3RvcmVzV2l0aEluZGV4KCkge1xyXG4gICAgcmV0dXJuIHRoaXMuX2ZlYXR1cmVTdG9yZXNXaXRoSW5kZXg7XHJcbiAgfVxyXG4gIHByaXZhdGUgX2ZlYXR1cmVTdG9yZXNXaXRoSW5kZXg6IEZlYXR1cmVTdG9yZVtdO1xyXG5cclxuICBzZXRXb3Jrc3BhY2VzKHdvcmtzcGFjZXM6IFdvcmtzcGFjZVtdKSB7XHJcbiAgICBpZiAod29ya3NwYWNlcy5maWx0ZXIoZncgPT4gKGZ3LmVudGl0eVN0b3JlIGFzIEZlYXR1cmVTdG9yZSkuc2VhcmNoRG9jdW1lbnQpLmxlbmd0aCA+PSAxKSB7XHJcbiAgICAgIHRoaXMub3B0aW9ucy5hdmFpbGFibGUgPSB0cnVlO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5vcHRpb25zLmF2YWlsYWJsZSA9IGZhbHNlO1xyXG4gICAgfVxyXG4gICAgY29uc3QgdmFsdWVzID0gW107XHJcbiAgICB0aGlzLmZlYXR1cmVTdG9yZXNXaXRoSW5kZXggPSB3b3Jrc3BhY2VzXHJcbiAgICAgIC5maWx0ZXIoZncgPT4gKGZ3LmVudGl0eVN0b3JlIGFzIEZlYXR1cmVTdG9yZSkuc2VhcmNoRG9jdW1lbnQpXHJcbiAgICAgIC5tYXAoZncgPT4ge1xyXG4gICAgICAgIHZhbHVlcy5wdXNoKHtcclxuICAgICAgICAgIHRpdGxlOiBmdy50aXRsZSxcclxuICAgICAgICAgIHZhbHVlOiBmdy50aXRsZSxcclxuICAgICAgICAgIGVuYWJsZWQ6IHRydWVcclxuICAgICAgICB9KTtcclxuICAgICAgICByZXR1cm4gZncuZW50aXR5U3RvcmUgYXMgRmVhdHVyZVN0b3JlO1xyXG4gICAgICB9KTtcclxuICAgIGNvbnN0IGRhdGFzZXRzID0gdGhpcy5vcHRpb25zLnNldHRpbmdzLmZpbmQocyA9PiBzLnRpdGxlID09PSAnZGF0YXNldHMnKTtcclxuICAgIGlmIChkYXRhc2V0cykge1xyXG4gICAgICBkYXRhc2V0cy52YWx1ZXMgPSB2YWx1ZXM7XHJcbiAgICB9XHJcbiAgICB0aGlzLnNldFBhcmFtRnJvbVNldHRpbmcoZGF0YXNldHMpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogU2V0IHBhcmFtcyBmcm9tIHNlbGVjdGVkIHNldHRpbmdzXHJcbiAgICovXHJcbiAgc2V0UGFyYW1Gcm9tU2V0dGluZyhzZXR0aW5nOiBTZWFyY2hTb3VyY2VTZXR0aW5ncywgc2F2ZUluU3RvcmFnZSA9IHRydWUpIHtcclxuICAgIHN3aXRjaCAoc2V0dGluZy50eXBlKSB7XHJcbiAgICAgIGNhc2UgJ3JhZGlvYnV0dG9uJzpcclxuICAgICAgICBzZXR0aW5nLnZhbHVlcy5mb3JFYWNoKGNvbmYgPT4ge1xyXG4gICAgICAgICAgaWYgKGNvbmYuZW5hYmxlZCkge1xyXG4gICAgICAgICAgICB0aGlzLm9wdGlvbnMucGFyYW1zID0gT2JqZWN0LmFzc2lnbih0aGlzLm9wdGlvbnMucGFyYW1zIHx8IHt9LCB7XHJcbiAgICAgICAgICAgICAgW3NldHRpbmcubmFtZV06IGNvbmYudmFsdWVcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgJ2NoZWNrYm94JzpcclxuICAgICAgICBsZXQgY29uZlZhbHVlID0gJyc7XHJcbiAgICAgICAgc2V0dGluZy52YWx1ZXNcclxuICAgICAgICAgIC5maWx0ZXIocyA9PiBzLmF2YWlsYWJsZSAhPT0gZmFsc2UpXHJcbiAgICAgICAgICAuZm9yRWFjaChjb25mID0+IHtcclxuICAgICAgICAgICAgaWYgKGNvbmYuZW5hYmxlZCkge1xyXG4gICAgICAgICAgICAgIGNvbmZWYWx1ZSArPSBjb25mLnZhbHVlICsgJywnO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICBjb25mVmFsdWUgPSBjb25mVmFsdWUuc2xpY2UoMCwgLTEpO1xyXG4gICAgICAgIHRoaXMub3B0aW9ucy5wYXJhbXMgPSBPYmplY3QuYXNzaWduKHRoaXMub3B0aW9ucy5wYXJhbXMgfHwge30sIHtcclxuICAgICAgICAgIFtzZXR0aW5nLm5hbWVdOiBjb25mVmFsdWVcclxuICAgICAgICB9KTtcclxuICAgICAgICBicmVhaztcclxuICAgIH1cclxuXHJcbiAgICBpZiAoc2F2ZUluU3RvcmFnZSAmJiB0aGlzLnN0b3JhZ2VTZXJ2aWNlKSB7XHJcbiAgICAgIHRoaXMuc3RvcmFnZVNlcnZpY2Uuc2V0KFxyXG4gICAgICAgIHRoaXMuZ2V0SWQoKSArICcub3B0aW9ucycsXHJcbiAgICAgICAge3BhcmFtczogdGhpcy5vcHRpb25zLnBhcmFtc31cclxuICAgICAgKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFNlYXJjaCByZXN1bHRzIGRpc3BsYXkgb3JkZXJcclxuICAgKi9cclxuICBnZXQgZGlzcGxheU9yZGVyKCk6IG51bWJlciB7XHJcbiAgICByZXR1cm4gdGhpcy5vcHRpb25zLm9yZGVyID09PSB1bmRlZmluZWQgPyA5OSA6IHRoaXMub3B0aW9ucy5vcmRlcjtcclxuICB9XHJcblxyXG4gIGNvbnN0cnVjdG9yKG9wdGlvbnM6IFNlYXJjaFNvdXJjZU9wdGlvbnMsIHByaXZhdGUgc3RvcmFnZVNlcnZpY2U/OiBTdG9yYWdlU2VydmljZSkge1xyXG4gICAgdGhpcy5vcHRpb25zID0gb3B0aW9ucztcclxuICAgIGlmICh0aGlzLnN0b3JhZ2VTZXJ2aWNlKSB7XHJcbiAgICAgIGNvbnN0IHN0b3JhZ2VPcHRpb25zID0gdGhpcy5zdG9yYWdlU2VydmljZS5nZXQoXHJcbiAgICAgICAgdGhpcy5nZXRJZCgpICsgJy5vcHRpb25zJ1xyXG4gICAgICApIGFzIG9iamVjdDtcclxuICAgICAgaWYgKHN0b3JhZ2VPcHRpb25zKSB7XHJcbiAgICAgICAgdGhpcy5vcHRpb25zID0gT2JqZWN0VXRpbHMubWVyZ2VEZWVwKHRoaXMub3B0aW9ucywgc3RvcmFnZU9wdGlvbnMpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5vcHRpb25zID0gT2JqZWN0VXRpbHMubWVyZ2VEZWVwKHRoaXMuZ2V0RGVmYXVsdE9wdGlvbnMoKSwgdGhpcy5vcHRpb25zKTtcclxuXHJcblxyXG4gICAgLy8gU2V0IERlZmF1bHQgUGFyYW1zIGZyb20gU2V0dGluZ3NcclxuICAgIHRoaXMuc2V0dGluZ3MuZm9yRWFjaChzZXR0aW5nID0+IHtcclxuICAgICAgdGhpcy5zZXRQYXJhbUZyb21TZXR0aW5nKHNldHRpbmcsIGZhbHNlKTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogR2V0IGhhc2h0YWdzIHZhbGlkXHJcbiAgICogQHBhcmFtIGhhc2h0YWcgaGFzaHRhZyBmcm9tIHF1ZXJ5XHJcbiAgICovXHJcbiAgZ2V0SGFzaHRhZ3NWYWxpZCh0ZXJtOiBzdHJpbmcsIHNldHRpbmdzTmFtZTogc3RyaW5nKTogc3RyaW5nW10ge1xyXG4gICAgY29uc3QgaGFzaHRhZ3MgPSB0ZXJtLm1hdGNoKC8oI1tBLVphLXorXSspL2cpO1xyXG4gICAgaWYgKCFoYXNodGFncykge1xyXG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IHNlYXJjaFNvdXJjZVNldHRpbmcgPSB0aGlzLmdldFNldHRpbmdzVmFsdWVzKHNldHRpbmdzTmFtZSk7XHJcbiAgICBjb25zdCBoYXNodGFnc1ZhbGlkID0gW107XHJcbiAgICBoYXNodGFncy5mb3JFYWNoKGhhc2h0YWcgPT4ge1xyXG4gICAgICBzZWFyY2hTb3VyY2VTZXR0aW5nLnZhbHVlcy5mb3JFYWNoKGNvbmYgPT4ge1xyXG4gICAgICAgIGNvbnN0IGhhc2h0YWdLZXkgPSBoYXNodGFnLnN1YnN0cmluZygxKTtcclxuICAgICAgICBpZiAodHlwZW9mIGNvbmYudmFsdWUgPT09ICdzdHJpbmcnKSB7XHJcbiAgICAgICAgICBjb25zdCB0eXBlcyA9IGNvbmYudmFsdWVcclxuICAgICAgICAgICAgLnRvTG93ZXJDYXNlKClcclxuICAgICAgICAgICAgLm5vcm1hbGl6ZSgnTkZEJylcclxuICAgICAgICAgICAgLnJlcGxhY2UoL1tcXHUwMzAwLVxcdTAzNmZdL2csICcnKVxyXG4gICAgICAgICAgICAuc3BsaXQoJywnKTtcclxuICAgICAgICAgIGNvbnN0IGluZGV4ID0gdHlwZXMuaW5kZXhPZihcclxuICAgICAgICAgICAgaGFzaHRhZ0tleVxyXG4gICAgICAgICAgICAgIC50b0xvd2VyQ2FzZSgpXHJcbiAgICAgICAgICAgICAgLm5vcm1hbGl6ZSgnTkZEJylcclxuICAgICAgICAgICAgICAucmVwbGFjZSgvW1xcdTAzMDAtXFx1MDM2Zl0vZywgJycpXHJcbiAgICAgICAgICApO1xyXG4gICAgICAgICAgaWYgKGluZGV4ICE9PSAtMSkge1xyXG4gICAgICAgICAgICBoYXNodGFnc1ZhbGlkLnB1c2godHlwZXNbaW5kZXhdKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKGNvbmYuaGFzaHRhZ3MgJiYgY29uZi5oYXNodGFncy5pbmRleE9mKGhhc2h0YWdLZXkudG9Mb3dlckNhc2UoKSkgIT09IC0xKSB7XHJcbiAgICAgICAgICBoYXNodGFnc1ZhbGlkLnB1c2goY29uZi52YWx1ZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgIH0pO1xyXG5cclxuICAgIHJldHVybiBoYXNodGFnc1ZhbGlkLmZpbHRlcigoYSwgYikgPT4gaGFzaHRhZ3NWYWxpZC5pbmRleE9mKGEpID09PSBiKTtcclxuICB9XHJcblxyXG4gIGdldFNldHRpbmdzVmFsdWVzKHNlYXJjaDogc3RyaW5nKTogU2VhcmNoU291cmNlU2V0dGluZ3Mge1xyXG4gICAgcmV0dXJuIHRoaXMuZ2V0RGVmYXVsdE9wdGlvbnMoKS5zZXR0aW5ncy5maW5kKFxyXG4gICAgICAodmFsdWU6IFNlYXJjaFNvdXJjZVNldHRpbmdzKSA9PiB7XHJcbiAgICAgICAgcmV0dXJuIHZhbHVlLm5hbWUgPT09IHNlYXJjaDtcclxuICAgICAgfVxyXG4gICAgKTtcclxuICB9XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBTZWFyY2ggc291cmNlcyB0aGF0IGFsbG93IHNlYXJjaGluZyBieSB0ZXh0IGltcGxlbWVudCB0aGlzIGNsYXNzXHJcbiAqL1xyXG5leHBvcnQgaW50ZXJmYWNlIFRleHRTZWFyY2gge1xyXG4gIC8qKlxyXG4gICAqIFNlYXJjaCBieSB0ZXh0XHJcbiAgICogQHBhcmFtIHRlcm0gVGV4dFxyXG4gICAqIEBwYXJhbSBvcHRpb25zIE9wdGlvbmFsOiBUZXh0U2VhcmNoT3B0aW9uc1xyXG4gICAqIEByZXR1cm5zIE9ic2VydmFibGUgb3Igc2VhcmNoIHJlc3VsdHNcclxuICAgKi9cclxuICBzZWFyY2goXHJcbiAgICB0ZXJtOiBzdHJpbmcgfCB1bmRlZmluZWQsXHJcbiAgICBvcHRpb25zPzogVGV4dFNlYXJjaE9wdGlvbnNcclxuICApOiBPYnNlcnZhYmxlPFNlYXJjaFJlc3VsdFtdPjtcclxufVxyXG5cclxuLyoqXHJcbiAqIFNlYXJjaCBzb3VyY2VzIHRoYXQgYWxsb3cgc2VhcmNoaW5nIGJ5IGNvb3JkaW5hdGVzIGltcGxlbWVudCB0aGlzIGNsYXNzXHJcbiAqL1xyXG5leHBvcnQgaW50ZXJmYWNlIFJldmVyc2VTZWFyY2gge1xyXG4gIC8qKlxyXG4gICAqIFNlYXJjaCBieSB0ZXh0XHJcbiAgICogQHBhcmFtIGxvbkxhdCBDb29yZGluYXRlc1xyXG4gICAqIEBwYXJhbSBvcHRpb25zIE9wdGlvbmFsOiBSZXZlcnNlU2VhcmNoT3B0aW9uc1xyXG4gICAqIEByZXR1cm5zIE9ic2VydmFibGUgb3Igc2VhcmNoIHJlc3VsdHNcclxuICAgKi9cclxuICByZXZlcnNlU2VhcmNoKFxyXG4gICAgbG9uTGF0OiBbbnVtYmVyLCBudW1iZXJdLFxyXG4gICAgb3B0aW9ucz86IFJldmVyc2VTZWFyY2hPcHRpb25zLFxyXG4gICAgcmV2ZXJzZVNlYXJjaENvb3Jkc0Zvcm1hdD86IGJvb2xlYW5cclxuICApOiBPYnNlcnZhYmxlPFNlYXJjaFJlc3VsdFtdPjtcclxufVxyXG4iXX0=
|
|
209
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic291cmNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZ2VvL3NyYy9saWIvc2VhcmNoL3NoYXJlZC9zb3VyY2VzL3NvdXJjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBWTFDOztHQUVHO0FBQ0gsTUFBTSxPQUFPLFlBQVk7SUE4S3ZCLFlBQVksT0FBNEIsRUFBVSxjQUErQjtRQUEvQixtQkFBYyxHQUFkLGNBQWMsQ0FBaUI7UUFDL0UsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7UUFDdkIsSUFBSSxJQUFJLENBQUMsY0FBYyxFQUFFO1lBQ3ZCLE1BQU0sY0FBYyxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUM1QyxJQUFJLENBQUMsS0FBSyxFQUFFLEdBQUcsVUFBVSxDQUNoQixDQUFDO1lBQ1osSUFBSSxjQUFjLEVBQUU7Z0JBQ2xCLElBQUksQ0FBQyxPQUFPLEdBQUcsV0FBVyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLGNBQWMsQ0FBQyxDQUFDO2FBQ3BFO1NBQ0Y7UUFFRCxJQUFJLENBQUMsT0FBTyxHQUFHLFdBQVcsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLGlCQUFpQixFQUFFLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBRzdFLG1DQUFtQztRQUNuQyxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsRUFBRTtZQUM5QixJQUFJLENBQUMsbUJBQW1CLENBQUMsT0FBTyxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQzNDLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQTdLRDs7O09BR0c7SUFDSCxLQUFLO1FBQ0gsTUFBTSxJQUFJLEtBQUssQ0FBQywyQ0FBMkMsQ0FBQyxDQUFDO0lBQy9ELENBQUM7SUFDRDs7O09BR0c7SUFDSCxP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LGlCQUFpQixDQUFDLE1BQWM7UUFDOUIsT0FBTyxJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUMzQyxDQUFDLEtBQTJCLEVBQUUsRUFBRTtZQUM5QixPQUFPLEtBQUssQ0FBQyxJQUFJLEtBQUssTUFBTSxDQUFDO1FBQy9CLENBQUMsQ0FDRixDQUFDO0lBQ0osQ0FBQzs7QUEvT0Q7OztHQUdHO0FBQ0ksZUFBRSxHQUFHLEVBQUUsQ0FBQztBQUVmOzs7R0FHRztBQUNJLGlCQUFJLEdBQUcsRUFBRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xyXG5cclxuaW1wb3J0IHsgT2JqZWN0VXRpbHMgfSBmcm9tICdAaWdvMi91dGlscyc7XHJcbmltcG9ydCB7IFN0b3JhZ2VTZXJ2aWNlIH0gZnJvbSAnQGlnbzIvY29yZSc7XHJcbmltcG9ydCB7IFNlYXJjaFJlc3VsdCB9IGZyb20gJy4uL3NlYXJjaC5pbnRlcmZhY2VzJztcclxuaW1wb3J0IHtcclxuICBTZWFyY2hTb3VyY2VPcHRpb25zLFxyXG4gIFRleHRTZWFyY2hPcHRpb25zLFxyXG4gIFJldmVyc2VTZWFyY2hPcHRpb25zLFxyXG4gIFNlYXJjaFNvdXJjZVNldHRpbmdzXHJcbn0gZnJvbSAnLi9zb3VyY2UuaW50ZXJmYWNlcyc7XHJcbmltcG9ydCB7IEZlYXR1cmVTdG9yZSB9IGZyb20gJy4uLy4uLy4uL2ZlYXR1cmUnO1xyXG5pbXBvcnQgeyBXb3Jrc3BhY2UgfSBmcm9tICdAaWdvMi9jb21tb24nO1xyXG5cclxuLyoqXHJcbiAqIEJhc2Ugc2VhcmNoIHNvdXJjZSBjbGFzc1xyXG4gKi9cclxuZXhwb3J0IGNsYXNzIFNlYXJjaFNvdXJjZSB7XHJcbiAgLyoqXHJcbiAgICogU2VhcmNoIHNvdXJjZSBJRFxyXG4gICAqIEBpbnRlcm5hbFxyXG4gICAqL1xyXG4gIHN0YXRpYyBpZCA9ICcnO1xyXG5cclxuICAvKipcclxuICAgKiBTZWFyY2ggc291cmNlIHR5cGVcclxuICAgKiBAaW50ZXJuYWxcclxuICAgKi9cclxuICBzdGF0aWMgdHlwZSA9ICcnO1xyXG5cclxuICAvKipcclxuICAgKiBTZWFyY2ggc291cmNlIG9wdGlvbnNcclxuICAgKiBAaW50ZXJuYWxcclxuICAgKi9cclxuICBwcm90ZWN0ZWQgb3B0aW9uczogU2VhcmNoU291cmNlT3B0aW9ucztcclxuXHJcbiAgLyoqXHJcbiAgICogR2V0IHNlYXJjaCBzb3VyY2UncyBpZFxyXG4gICAqIEByZXR1cm5zIFNlYXJjaCBzb3VyY2UncyBpZFxyXG4gICAqL1xyXG4gIGdldElkKCk6IHN0cmluZyB7XHJcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ1lvdSBoYXZlIHRvIGltcGxlbWVudCB0aGUgbWV0aG9kIFwiZ2V0SWRcIi4nKTtcclxuICB9XHJcbiAgLyoqXHJcbiAgICogR2V0IHNlYXJjaCBzb3VyY2UncyB0eXBlXHJcbiAgICogQHJldHVybnMgU2VhcmNoIHNvdXJjZSdzIHR5cGVcclxuICAgKi9cclxuICBnZXRUeXBlKCk6IHN0cmluZyB7XHJcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ1lvdSBoYXZlIHRvIGltcGxlbWVudCB0aGUgbWV0aG9kIFwiZ2V0VHlwZVwiLicpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogR2V0IHNlYXJjaCBzb3VyY2UncyBkZWZhdWx0IG9wdGlvbnNcclxuICAgKiBAcmV0dXJucyBTZWFyY2ggc291cmNlIGRlZmF1bHQgb3B0aW9uc1xyXG4gICAqL1xyXG4gIHByb3RlY3RlZCBnZXREZWZhdWx0T3B0aW9ucygpOiBTZWFyY2hTb3VyY2VPcHRpb25zIHtcclxuICAgIHRocm93IG5ldyBFcnJvcignWW91IGhhdmUgdG8gaW1wbGVtZW50IHRoZSBtZXRob2QgXCJnZXREZWZhdWx0T3B0aW9uc1wiLicpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogU2VhcmNoIHNvdXJjZSdzIHRpdGxlXHJcbiAgICovXHJcbiAgZ2V0IHRpdGxlKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdGhpcy5vcHRpb25zLnRpdGxlO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogV2hldGhlciB0aGUgc2VhcmNoIHNvdXJjZSBpcyBhdmFpbGFibGVcclxuICAgKi9cclxuICBnZXQgYXZhaWxhYmxlKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMub3B0aW9ucy5hdmFpbGFibGUgIT09IGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogV2hldGhlciB0aGUgc2VhcmNoIHNvdXJjZSBpcyBlbmFibGVkXHJcbiAgICovXHJcbiAgc2V0IGVuYWJsZWQodmFsdWU6IGJvb2xlYW4pIHtcclxuICAgIHRoaXMub3B0aW9ucy5lbmFibGVkID0gdmFsdWU7XHJcbiAgfVxyXG4gIGdldCBlbmFibGVkKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuYXZhaWxhYmxlICYmIHRoaXMub3B0aW9ucy5lbmFibGVkICE9PSBmYWxzZTtcclxuICB9XHJcblxyXG4gIGdldCBzaG93SW5Qb2ludGVyU3VtbWFyeSgpOiBib29sZWFuIHtcclxuICAgIGNvbnN0IHNob3dJblBvaW50ZXJTdW1tYXJ5ID0gdGhpcy5vcHRpb25zLnNob3dJblBvaW50ZXJTdW1tYXJ5O1xyXG4gICAgcmV0dXJuIHNob3dJblBvaW50ZXJTdW1tYXJ5ID8gc2hvd0luUG9pbnRlclN1bW1hcnkgOiBmYWxzZTtcclxuICB9XHJcblxyXG4gIGdldCBzaG93SW5TZXR0aW5ncygpOiBib29sZWFuIHtcclxuICAgIGNvbnN0IHNob3dJblNldHRpbmdzID0gdGhpcy5vcHRpb25zLnNob3dJblNldHRpbmdzO1xyXG4gICAgcmV0dXJuIHNob3dJblNldHRpbmdzID09PSB1bmRlZmluZWQgPyB0cnVlIDogc2hvd0luU2V0dGluZ3M7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBTZWFyY2ggdXJsXHJcbiAgICovXHJcbiAgZ2V0IHNlYXJjaFVybCgpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHRoaXMub3B0aW9ucy5zZWFyY2hVcmw7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBTZWFyY2ggcXVlcnkgcGFyYW1zXHJcbiAgICovXHJcbiAgZ2V0IHBhcmFtcygpOiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9IHtcclxuICAgIHJldHVybiB0aGlzLm9wdGlvbnMucGFyYW1zID09PSB1bmRlZmluZWQgPyB7fSA6IHRoaXMub3B0aW9ucy5wYXJhbXM7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBTZWFyY2ggc2V0dGluZ3NcclxuICAgKi9cclxuICBnZXQgc2V0dGluZ3MoKTogU2VhcmNoU291cmNlU2V0dGluZ3NbXSB7XHJcbiAgICByZXR1cm4gdGhpcy5vcHRpb25zLnNldHRpbmdzID09PSB1bmRlZmluZWQgPyBbXSA6IHRoaXMub3B0aW9ucy5zZXR0aW5ncztcclxuICB9XHJcblxyXG4gIHNldCBmZWF0dXJlU3RvcmVzV2l0aEluZGV4KHN0b3Jlc1dpdGhJbmRleDogRmVhdHVyZVN0b3JlW10pIHtcclxuICAgIHRoaXMuX2ZlYXR1cmVTdG9yZXNXaXRoSW5kZXggPSBzdG9yZXNXaXRoSW5kZXg7XHJcbiAgfVxyXG4gIGdldCBmZWF0dXJlU3RvcmVzV2l0aEluZGV4KCkge1xyXG4gICAgcmV0dXJuIHRoaXMuX2ZlYXR1cmVTdG9yZXNXaXRoSW5kZXg7XHJcbiAgfVxyXG4gIHByaXZhdGUgX2ZlYXR1cmVTdG9yZXNXaXRoSW5kZXg6IEZlYXR1cmVTdG9yZVtdO1xyXG5cclxuICBzZXRXb3Jrc3BhY2VzKHdvcmtzcGFjZXM6IFdvcmtzcGFjZVtdKSB7XHJcbiAgICBpZiAod29ya3NwYWNlcy5maWx0ZXIoZncgPT4gKGZ3LmVudGl0eVN0b3JlIGFzIEZlYXR1cmVTdG9yZSkuc2VhcmNoRG9jdW1lbnQpLmxlbmd0aCA+PSAxKSB7XHJcbiAgICAgIHRoaXMub3B0aW9ucy5hdmFpbGFibGUgPSB0cnVlO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5vcHRpb25zLmF2YWlsYWJsZSA9IGZhbHNlO1xyXG4gICAgfVxyXG4gICAgY29uc3QgdmFsdWVzID0gW107XHJcbiAgICB0aGlzLmZlYXR1cmVTdG9yZXNXaXRoSW5kZXggPSB3b3Jrc3BhY2VzXHJcbiAgICAgIC5maWx0ZXIoZncgPT4gKGZ3LmVudGl0eVN0b3JlIGFzIEZlYXR1cmVTdG9yZSkuc2VhcmNoRG9jdW1lbnQpXHJcbiAgICAgIC5tYXAoZncgPT4ge1xyXG4gICAgICAgIHZhbHVlcy5wdXNoKHtcclxuICAgICAgICAgIHRpdGxlOiBmdy50aXRsZSxcclxuICAgICAgICAgIHZhbHVlOiBmdy50aXRsZSxcclxuICAgICAgICAgIGVuYWJsZWQ6IHRydWVcclxuICAgICAgICB9KTtcclxuICAgICAgICByZXR1cm4gZncuZW50aXR5U3RvcmUgYXMgRmVhdHVyZVN0b3JlO1xyXG4gICAgICB9KTtcclxuICAgIGNvbnN0IGRhdGFzZXRzID0gdGhpcy5vcHRpb25zLnNldHRpbmdzLmZpbmQocyA9PiBzLnRpdGxlID09PSAnZGF0YXNldHMnKTtcclxuICAgIGlmIChkYXRhc2V0cykge1xyXG4gICAgICBkYXRhc2V0cy52YWx1ZXMgPSB2YWx1ZXM7XHJcbiAgICB9XHJcbiAgICB0aGlzLnNldFBhcmFtRnJvbVNldHRpbmcoZGF0YXNldHMpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogU2V0IHBhcmFtcyBmcm9tIHNlbGVjdGVkIHNldHRpbmdzXHJcbiAgICovXHJcbiAgc2V0UGFyYW1Gcm9tU2V0dGluZyhzZXR0aW5nOiBTZWFyY2hTb3VyY2VTZXR0aW5ncywgc2F2ZUluU3RvcmFnZSA9IHRydWUpIHtcclxuICAgIHN3aXRjaCAoc2V0dGluZy50eXBlKSB7XHJcbiAgICAgIGNhc2UgJ3JhZGlvYnV0dG9uJzpcclxuICAgICAgICBzZXR0aW5nLnZhbHVlcy5mb3JFYWNoKGNvbmYgPT4ge1xyXG4gICAgICAgICAgaWYgKGNvbmYuZW5hYmxlZCkge1xyXG4gICAgICAgICAgICB0aGlzLm9wdGlvbnMucGFyYW1zID0gT2JqZWN0LmFzc2lnbih0aGlzLm9wdGlvbnMucGFyYW1zIHx8IHt9LCB7XHJcbiAgICAgICAgICAgICAgW3NldHRpbmcubmFtZV06IGNvbmYudmFsdWVcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgJ2NoZWNrYm94JzpcclxuICAgICAgICBsZXQgY29uZlZhbHVlID0gJyc7XHJcbiAgICAgICAgc2V0dGluZy52YWx1ZXNcclxuICAgICAgICAgIC5maWx0ZXIocyA9PiBzLmF2YWlsYWJsZSAhPT0gZmFsc2UpXHJcbiAgICAgICAgICAuZm9yRWFjaChjb25mID0+IHtcclxuICAgICAgICAgICAgaWYgKGNvbmYuZW5hYmxlZCkge1xyXG4gICAgICAgICAgICAgIGNvbmZWYWx1ZSArPSBjb25mLnZhbHVlICsgJywnO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICBjb25mVmFsdWUgPSBjb25mVmFsdWUuc2xpY2UoMCwgLTEpO1xyXG4gICAgICAgIHRoaXMub3B0aW9ucy5wYXJhbXMgPSBPYmplY3QuYXNzaWduKHRoaXMub3B0aW9ucy5wYXJhbXMgfHwge30sIHtcclxuICAgICAgICAgIFtzZXR0aW5nLm5hbWVdOiBjb25mVmFsdWVcclxuICAgICAgICB9KTtcclxuICAgICAgICBicmVhaztcclxuICAgIH1cclxuXHJcbiAgICBpZiAoc2F2ZUluU3RvcmFnZSAmJiB0aGlzLnN0b3JhZ2VTZXJ2aWNlKSB7XHJcbiAgICAgIHRoaXMuc3RvcmFnZVNlcnZpY2Uuc2V0KFxyXG4gICAgICAgIHRoaXMuZ2V0SWQoKSArICcub3B0aW9ucycsXHJcbiAgICAgICAge3BhcmFtczogdGhpcy5vcHRpb25zLnBhcmFtc31cclxuICAgICAgKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFNlYXJjaCByZXN1bHRzIGRpc3BsYXkgb3JkZXJcclxuICAgKi9cclxuICBnZXQgZGlzcGxheU9yZGVyKCk6IG51bWJlciB7XHJcbiAgICByZXR1cm4gdGhpcy5vcHRpb25zLm9yZGVyID09PSB1bmRlZmluZWQgPyA5OSA6IHRoaXMub3B0aW9ucy5vcmRlcjtcclxuICB9XHJcblxyXG4gIGNvbnN0cnVjdG9yKG9wdGlvbnM6IFNlYXJjaFNvdXJjZU9wdGlvbnMsIHByaXZhdGUgc3RvcmFnZVNlcnZpY2U/OiBTdG9yYWdlU2VydmljZSkge1xyXG4gICAgdGhpcy5vcHRpb25zID0gb3B0aW9ucztcclxuICAgIGlmICh0aGlzLnN0b3JhZ2VTZXJ2aWNlKSB7XHJcbiAgICAgIGNvbnN0IHN0b3JhZ2VPcHRpb25zID0gdGhpcy5zdG9yYWdlU2VydmljZS5nZXQoXHJcbiAgICAgICAgdGhpcy5nZXRJZCgpICsgJy5vcHRpb25zJ1xyXG4gICAgICApIGFzIG9iamVjdDtcclxuICAgICAgaWYgKHN0b3JhZ2VPcHRpb25zKSB7XHJcbiAgICAgICAgdGhpcy5vcHRpb25zID0gT2JqZWN0VXRpbHMubWVyZ2VEZWVwKHRoaXMub3B0aW9ucywgc3RvcmFnZU9wdGlvbnMpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5vcHRpb25zID0gT2JqZWN0VXRpbHMubWVyZ2VEZWVwKHRoaXMuZ2V0RGVmYXVsdE9wdGlvbnMoKSwgdGhpcy5vcHRpb25zKTtcclxuXHJcblxyXG4gICAgLy8gU2V0IERlZmF1bHQgUGFyYW1zIGZyb20gU2V0dGluZ3NcclxuICAgIHRoaXMuc2V0dGluZ3MuZm9yRWFjaChzZXR0aW5nID0+IHtcclxuICAgICAgdGhpcy5zZXRQYXJhbUZyb21TZXR0aW5nKHNldHRpbmcsIGZhbHNlKTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogR2V0IGhhc2h0YWdzIHZhbGlkXHJcbiAgICogQHBhcmFtIGhhc2h0YWcgaGFzaHRhZyBmcm9tIHF1ZXJ5XHJcbiAgICovXHJcbiAgZ2V0SGFzaHRhZ3NWYWxpZCh0ZXJtOiBzdHJpbmcsIHNldHRpbmdzTmFtZTogc3RyaW5nKTogc3RyaW5nW10ge1xyXG4gICAgY29uc3QgaGFzaHRhZ3MgPSB0ZXJtLm1hdGNoKC8oI1tBLVphLXrDgC3Dvy0rXSspL2cpO1xyXG4gICAgaWYgKCFoYXNodGFncykge1xyXG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IHNlYXJjaFNvdXJjZVNldHRpbmcgPSB0aGlzLmdldFNldHRpbmdzVmFsdWVzKHNldHRpbmdzTmFtZSk7XHJcbiAgICBjb25zdCBoYXNodGFnc1ZhbGlkID0gW107XHJcbiAgICBoYXNodGFncy5mb3JFYWNoKGhhc2h0YWcgPT4ge1xyXG4gICAgICBzZWFyY2hTb3VyY2VTZXR0aW5nLnZhbHVlcy5mb3JFYWNoKGNvbmYgPT4ge1xyXG4gICAgICAgIGNvbnN0IGhhc2h0YWdLZXkgPSBoYXNodGFnLnN1YnN0cmluZygxKTtcclxuICAgICAgICBpZiAodHlwZW9mIGNvbmYudmFsdWUgPT09ICdzdHJpbmcnKSB7XHJcbiAgICAgICAgICBjb25zdCB0eXBlcyA9IGNvbmYudmFsdWVcclxuICAgICAgICAgICAgLnRvTG93ZXJDYXNlKClcclxuICAgICAgICAgICAgLm5vcm1hbGl6ZSgnTkZEJylcclxuICAgICAgICAgICAgLnJlcGxhY2UoL1tcXHUwMzAwLVxcdTAzNmZdL2csICcnKVxyXG4gICAgICAgICAgICAuc3BsaXQoJywnKTtcclxuICAgICAgICAgIGNvbnN0IGluZGV4ID0gdHlwZXMuaW5kZXhPZihcclxuICAgICAgICAgICAgaGFzaHRhZ0tleVxyXG4gICAgICAgICAgICAgIC50b0xvd2VyQ2FzZSgpXHJcbiAgICAgICAgICAgICAgLm5vcm1hbGl6ZSgnTkZEJylcclxuICAgICAgICAgICAgICAucmVwbGFjZSgvW1xcdTAzMDAtXFx1MDM2Zl0vZywgJycpXHJcbiAgICAgICAgICApO1xyXG4gICAgICAgICAgaWYgKGluZGV4ICE9PSAtMSkge1xyXG4gICAgICAgICAgICBoYXNodGFnc1ZhbGlkLnB1c2godHlwZXNbaW5kZXhdKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKGNvbmYuaGFzaHRhZ3MgJiYgY29uZi5oYXNodGFncy5pbmRleE9mKGhhc2h0YWdLZXkudG9Mb3dlckNhc2UoKSkgIT09IC0xKSB7XHJcbiAgICAgICAgICBoYXNodGFnc1ZhbGlkLnB1c2goY29uZi52YWx1ZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgIH0pO1xyXG5cclxuICAgIHJldHVybiBoYXNodGFnc1ZhbGlkLmZpbHRlcigoYSwgYikgPT4gaGFzaHRhZ3NWYWxpZC5pbmRleE9mKGEpID09PSBiKTtcclxuICB9XHJcblxyXG4gIGdldFNldHRpbmdzVmFsdWVzKHNlYXJjaDogc3RyaW5nKTogU2VhcmNoU291cmNlU2V0dGluZ3Mge1xyXG4gICAgcmV0dXJuIHRoaXMuZ2V0RGVmYXVsdE9wdGlvbnMoKS5zZXR0aW5ncy5maW5kKFxyXG4gICAgICAodmFsdWU6IFNlYXJjaFNvdXJjZVNldHRpbmdzKSA9PiB7XHJcbiAgICAgICAgcmV0dXJuIHZhbHVlLm5hbWUgPT09IHNlYXJjaDtcclxuICAgICAgfVxyXG4gICAgKTtcclxuICB9XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBTZWFyY2ggc291cmNlcyB0aGF0IGFsbG93IHNlYXJjaGluZyBieSB0ZXh0IGltcGxlbWVudCB0aGlzIGNsYXNzXHJcbiAqL1xyXG5leHBvcnQgaW50ZXJmYWNlIFRleHRTZWFyY2gge1xyXG4gIC8qKlxyXG4gICAqIFNlYXJjaCBieSB0ZXh0XHJcbiAgICogQHBhcmFtIHRlcm0gVGV4dFxyXG4gICAqIEBwYXJhbSBvcHRpb25zIE9wdGlvbmFsOiBUZXh0U2VhcmNoT3B0aW9uc1xyXG4gICAqIEByZXR1cm5zIE9ic2VydmFibGUgb3Igc2VhcmNoIHJlc3VsdHNcclxuICAgKi9cclxuICBzZWFyY2goXHJcbiAgICB0ZXJtOiBzdHJpbmcgfCB1bmRlZmluZWQsXHJcbiAgICBvcHRpb25zPzogVGV4dFNlYXJjaE9wdGlvbnNcclxuICApOiBPYnNlcnZhYmxlPFNlYXJjaFJlc3VsdFtdPjtcclxufVxyXG5cclxuLyoqXHJcbiAqIFNlYXJjaCBzb3VyY2VzIHRoYXQgYWxsb3cgc2VhcmNoaW5nIGJ5IGNvb3JkaW5hdGVzIGltcGxlbWVudCB0aGlzIGNsYXNzXHJcbiAqL1xyXG5leHBvcnQgaW50ZXJmYWNlIFJldmVyc2VTZWFyY2gge1xyXG4gIC8qKlxyXG4gICAqIFNlYXJjaCBieSB0ZXh0XHJcbiAgICogQHBhcmFtIGxvbkxhdCBDb29yZGluYXRlc1xyXG4gICAqIEBwYXJhbSBvcHRpb25zIE9wdGlvbmFsOiBSZXZlcnNlU2VhcmNoT3B0aW9uc1xyXG4gICAqIEByZXR1cm5zIE9ic2VydmFibGUgb3Igc2VhcmNoIHJlc3VsdHNcclxuICAgKi9cclxuICByZXZlcnNlU2VhcmNoKFxyXG4gICAgbG9uTGF0OiBbbnVtYmVyLCBudW1iZXJdLFxyXG4gICAgb3B0aW9ucz86IFJldmVyc2VTZWFyY2hPcHRpb25zLFxyXG4gICAgcmV2ZXJzZVNlYXJjaENvb3Jkc0Zvcm1hdD86IGJvb2xlYW5cclxuICApOiBPYnNlcnZhYmxlPFNlYXJjaFJlc3VsdFtdPjtcclxufVxyXG4iXX0=
|
package/fesm2015/igo2-geo.mjs
CHANGED
|
@@ -49,7 +49,7 @@ import { asArray } from 'ol/color';
|
|
|
49
49
|
import { getVectorContext, getRenderPixel } from 'ol/render';
|
|
50
50
|
import olProjection from 'ol/proj/Projection';
|
|
51
51
|
import * as olfilter from 'ol/format/filter';
|
|
52
|
-
import
|
|
52
|
+
import olWKT from 'ol/format/WKT';
|
|
53
53
|
import olFormatWFS from 'ol/format/WFS';
|
|
54
54
|
import moment from 'moment';
|
|
55
55
|
import olFormatGML2 from 'ol/format/GML2';
|
|
@@ -1706,7 +1706,7 @@ class OgcFilterWriter {
|
|
|
1706
1706
|
const wfsExpression = filterOptions.expression;
|
|
1707
1707
|
let geometry;
|
|
1708
1708
|
if (wfsWktGeometry) {
|
|
1709
|
-
const wkt = new
|
|
1709
|
+
const wkt = new olWKT();
|
|
1710
1710
|
geometry = wkt.readGeometry(wfsWktGeometry, {
|
|
1711
1711
|
dataProjection: wfsSrsName,
|
|
1712
1712
|
featureProjection: wfsSrsName || 'EPSG:3857'
|
|
@@ -12502,7 +12502,7 @@ class SearchSource {
|
|
|
12502
12502
|
* @param hashtag hashtag from query
|
|
12503
12503
|
*/
|
|
12504
12504
|
getHashtagsValid(term, settingsName) {
|
|
12505
|
-
const hashtags = term.match(/(#[A-Za-z
|
|
12505
|
+
const hashtags = term.match(/(#[A-Za-zÀ-ÿ-+]+)/g);
|
|
12506
12506
|
if (!hashtags) {
|
|
12507
12507
|
return undefined;
|
|
12508
12508
|
}
|
|
@@ -21637,7 +21637,7 @@ class DrawComponent {
|
|
|
21637
21637
|
zIndex: 200,
|
|
21638
21638
|
source: new FeatureDataSource(),
|
|
21639
21639
|
style: (feature, resolution) => {
|
|
21640
|
-
return this.drawStyleService.createIndividualElementStyle(feature, resolution, this.labelsAreShown, feature.get('fontStyle'), feature.get('drawingStyle').fill, feature.get('drawingStyle').stroke, feature.get('offsetX'), feature.get('offsetY'), this.icon);
|
|
21640
|
+
return this.drawStyleService.createIndividualElementStyle(feature, resolution, this.labelsAreShown, feature.get('fontStyle'), feature.get('drawingStyle').fill, feature.get('drawingStyle').stroke, feature.get('offsetX'), feature.get('offsetY'), this.map.projection, this.icon);
|
|
21641
21641
|
},
|
|
21642
21642
|
showInLayerList: true,
|
|
21643
21643
|
exportable: true,
|
|
@@ -21966,7 +21966,7 @@ class DrawComponent {
|
|
|
21966
21966
|
elementStyle(labelsAreShown, isAnIcon) {
|
|
21967
21967
|
if (isAnIcon) {
|
|
21968
21968
|
this.activeStore.layer.ol.setStyle((feature, resolution) => {
|
|
21969
|
-
return this.drawStyleService.createIndividualElementStyle(feature, resolution, labelsAreShown, feature.get('fontStyle'), feature.get('drawingStyle').fill, feature.get('drawingStyle').stroke, feature.get('offsetX'), feature.get('offsetY'), this.icon);
|
|
21969
|
+
return this.drawStyleService.createIndividualElementStyle(feature, resolution, labelsAreShown, feature.get('fontStyle'), feature.get('drawingStyle').fill, feature.get('drawingStyle').stroke, feature.get('offsetX'), feature.get('offsetY'), this.map.projection, this.icon);
|
|
21970
21970
|
});
|
|
21971
21971
|
}
|
|
21972
21972
|
else {
|
|
@@ -26248,7 +26248,7 @@ TimeFilterListBindingDirective.ɵdir = /*@__PURE__*/ i0.ɵɵdefineDirective({ ty
|
|
|
26248
26248
|
class WktService {
|
|
26249
26249
|
constructor() { }
|
|
26250
26250
|
wktToFeature(wkt, wktProj, featureProj) {
|
|
26251
|
-
return new
|
|
26251
|
+
return new olWKT().readFeature(wkt, {
|
|
26252
26252
|
dataProjection: wktProj,
|
|
26253
26253
|
featureProjection: featureProj
|
|
26254
26254
|
});
|
|
@@ -43967,7 +43967,7 @@ class EditionWorkspaceService {
|
|
|
43967
43967
|
this.relationLayers$ = new BehaviorSubject(undefined);
|
|
43968
43968
|
this.rowsInMapExtentCheckCondition$ = new BehaviorSubject(true);
|
|
43969
43969
|
this.loading = false;
|
|
43970
|
-
this.wktFormat = new
|
|
43970
|
+
this.wktFormat = new olWKT();
|
|
43971
43971
|
this.geoJsonFormat = new OlGeoJSON();
|
|
43972
43972
|
}
|
|
43973
43973
|
get zoomAuto() {
|
|
@@ -45701,6 +45701,142 @@ function provideOsrmDirectionsSource() {
|
|
|
45701
45701
|
};
|
|
45702
45702
|
}
|
|
45703
45703
|
|
|
45704
|
+
/**
|
|
45705
|
+
* Cadastre search source
|
|
45706
|
+
*/
|
|
45707
|
+
class CadastreSearchSource extends SearchSource {
|
|
45708
|
+
constructor(http, languageService, storageService, options) {
|
|
45709
|
+
super(options, storageService);
|
|
45710
|
+
this.http = http;
|
|
45711
|
+
this.languageService = languageService;
|
|
45712
|
+
}
|
|
45713
|
+
getId() {
|
|
45714
|
+
return CadastreSearchSource.id;
|
|
45715
|
+
}
|
|
45716
|
+
getType() {
|
|
45717
|
+
return CadastreSearchSource.type;
|
|
45718
|
+
}
|
|
45719
|
+
/*
|
|
45720
|
+
* Source : https://wiki.openstreetmap.org/wiki/Key:amenity
|
|
45721
|
+
*/
|
|
45722
|
+
getDefaultOptions() {
|
|
45723
|
+
return {
|
|
45724
|
+
title: 'Cadastre (Québec)',
|
|
45725
|
+
searchUrl: 'https://carto.cptaq.gouv.qc.ca/php/find_lot_v1.php?'
|
|
45726
|
+
};
|
|
45727
|
+
}
|
|
45728
|
+
/**
|
|
45729
|
+
* Search a place by name
|
|
45730
|
+
* @param term Place name
|
|
45731
|
+
* @returns Observable of <SearchResult<Feature>[]
|
|
45732
|
+
*/
|
|
45733
|
+
search(term, options) {
|
|
45734
|
+
term = term.endsWith(',') ? term.slice(0, -1) : term;
|
|
45735
|
+
term = term.startsWith(',') ? term.substr(1) : term;
|
|
45736
|
+
term = term.replace(/ /g, '');
|
|
45737
|
+
const params = this.computeSearchRequestParams(term, options || {});
|
|
45738
|
+
if (!params.get('numero') || !params.get('numero').match(/^[0-9,]+$/g)) {
|
|
45739
|
+
return of([]);
|
|
45740
|
+
}
|
|
45741
|
+
return this.http
|
|
45742
|
+
.get(this.searchUrl, { params, responseType: 'text' })
|
|
45743
|
+
.pipe(map((response) => this.extractResults(response, term)));
|
|
45744
|
+
}
|
|
45745
|
+
computeSearchRequestParams(term, options) {
|
|
45746
|
+
return new HttpParams({
|
|
45747
|
+
fromObject: Object.assign({
|
|
45748
|
+
numero: term,
|
|
45749
|
+
epsg: '4326'
|
|
45750
|
+
}, this.params, options.params || {})
|
|
45751
|
+
});
|
|
45752
|
+
}
|
|
45753
|
+
extractResults(response, term) {
|
|
45754
|
+
return response
|
|
45755
|
+
.split('<br />')
|
|
45756
|
+
.filter((lot) => lot.length > 0)
|
|
45757
|
+
.map((lot) => this.dataToResult(lot, term));
|
|
45758
|
+
}
|
|
45759
|
+
dataToResult(data, term) {
|
|
45760
|
+
const lot = data.split(';');
|
|
45761
|
+
const numero = lot[0];
|
|
45762
|
+
const wkt = lot[7];
|
|
45763
|
+
const geometry = this.computeGeometry(wkt);
|
|
45764
|
+
const properties = {
|
|
45765
|
+
NoLot: numero,
|
|
45766
|
+
Route: '<span class="routing"> <u>' + this.languageService.translate.instant('igo.geo.seeRouting') + '</u> </span>'
|
|
45767
|
+
};
|
|
45768
|
+
const id = [this.getId(), 'cadastre', numero].join('.');
|
|
45769
|
+
return {
|
|
45770
|
+
source: this,
|
|
45771
|
+
meta: {
|
|
45772
|
+
dataType: FEATURE,
|
|
45773
|
+
id,
|
|
45774
|
+
title: numero,
|
|
45775
|
+
score: computeTermSimilarity(term.trim(), numero),
|
|
45776
|
+
icon: 'map-marker'
|
|
45777
|
+
},
|
|
45778
|
+
data: {
|
|
45779
|
+
type: FEATURE,
|
|
45780
|
+
projection: 'EPSG:4326',
|
|
45781
|
+
geometry,
|
|
45782
|
+
properties,
|
|
45783
|
+
meta: {
|
|
45784
|
+
id,
|
|
45785
|
+
title: numero
|
|
45786
|
+
}
|
|
45787
|
+
}
|
|
45788
|
+
};
|
|
45789
|
+
}
|
|
45790
|
+
computeGeometry(wkt) {
|
|
45791
|
+
const feature = new olWKT().readFeature(wkt, {
|
|
45792
|
+
dataProjection: 'EPSG:4326',
|
|
45793
|
+
featureProjection: 'EPSG:4326'
|
|
45794
|
+
});
|
|
45795
|
+
return {
|
|
45796
|
+
type: feature.getGeometry().getType(),
|
|
45797
|
+
coordinates: feature.getGeometry().getCoordinates()
|
|
45798
|
+
};
|
|
45799
|
+
}
|
|
45800
|
+
}
|
|
45801
|
+
CadastreSearchSource.id = 'cadastre';
|
|
45802
|
+
CadastreSearchSource.type = FEATURE;
|
|
45803
|
+
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')); };
|
|
45804
|
+
CadastreSearchSource.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: CadastreSearchSource, factory: CadastreSearchSource.ɵfac });
|
|
45805
|
+
__decorate([
|
|
45806
|
+
Cacheable({
|
|
45807
|
+
maxCacheCount: 20
|
|
45808
|
+
})
|
|
45809
|
+
], CadastreSearchSource.prototype, "search", null);
|
|
45810
|
+
(function () {
|
|
45811
|
+
(typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(CadastreSearchSource, [{
|
|
45812
|
+
type: Injectable
|
|
45813
|
+
}], function () {
|
|
45814
|
+
return [{ type: i1$2.HttpClient }, { type: i2$1.LanguageService }, { type: i2$1.StorageService }, { type: undefined, decorators: [{
|
|
45815
|
+
type: Inject,
|
|
45816
|
+
args: ['options']
|
|
45817
|
+
}] }];
|
|
45818
|
+
}, { search: [] });
|
|
45819
|
+
})();
|
|
45820
|
+
|
|
45821
|
+
/**
|
|
45822
|
+
* Cadastre search source factory
|
|
45823
|
+
* @ignore
|
|
45824
|
+
*/
|
|
45825
|
+
function cadastreSearchSourceFactory(http, languageService, storageService, config) {
|
|
45826
|
+
return new CadastreSearchSource(http, languageService, storageService, config.getConfig(`searchSources.${CadastreSearchSource.id}`));
|
|
45827
|
+
}
|
|
45828
|
+
/**
|
|
45829
|
+
* Function that returns a provider for the Cadastre search source
|
|
45830
|
+
*/
|
|
45831
|
+
function provideCadastreSearchSource() {
|
|
45832
|
+
return {
|
|
45833
|
+
provide: SearchSource,
|
|
45834
|
+
useFactory: cadastreSearchSourceFactory,
|
|
45835
|
+
multi: true,
|
|
45836
|
+
deps: [HttpClient, LanguageService, StorageService, ConfigService]
|
|
45837
|
+
};
|
|
45838
|
+
}
|
|
45839
|
+
|
|
45704
45840
|
/**
|
|
45705
45841
|
* Nominatim search source
|
|
45706
45842
|
*/
|
|
@@ -46754,5 +46890,5 @@ ConfigFileToGeoDBService.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token:
|
|
|
46754
46890
|
* Generated bundle index. Do not edit.
|
|
46755
46891
|
*/
|
|
46756
46892
|
|
|
46757
|
-
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, FeatureStoreSearchIndexStrategy, FeatureStoreSelectionStrategy, FeatureWorkspace, FeatureWorkspaceService, FilterableDataSourcePipe, 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, IgoStyleModule, IgoToastModule, IgoWktModule, IgoWorkspaceSelectorModule, IgoWorkspaceUpdatorModule, ImageArcGISRestDataSource, ImageLayer, ImageWatcher, ImportError, ImportExportComponent, ImportInvalidFileError, ImportNothingToImportError, ImportOgreServerError, ImportSRSError, ImportService, ImportSizeError, ImportUnreadableFileError, InfoSectionComponent, InsertSourceInsertDBEnum, LAYER, LabelType, Layer, LayerDBService, 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, StyleModalDrawingComponent, StyleModalLayerButtonComponent, StyleModalLayerComponent, 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, WorkspaceSearchSource, 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, createOverlayLayerStyle, createOverlayMarkerStyle, ctrlKeyDown, defaultCoordinatesSearchResultFormatterFactory, defaultEpsg, defaultFieldNameGeometry, defaultIChercheSearchResultFormatterFactory, defaultMaxFeatures, defaultWfsVersion, directionsStyle, entitiesToRowData, exportToCSV, featureFromOl, featureRandomStyle, featureRandomStyleFunction, 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, hoverFeatureMarkerStyle, 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, olStyleToBasicIgoStyle, optionsApiFactory, osrmDirectionsSourcesFactory, pointerPositionSummaryMarkerStyle, provideCoordinatesReverseSearchSource, provideDefaultCoordinatesSearchResultFormatter, provideDefaultIChercheSearchResultFormatter, provideIChercheReverseSearchSource, provideIChercheSearchSource, provideILayerSearchResultFormatter, provideILayerSearchSource, provideNominatimSearchSource, provideOgcFilterWidget, provideOptionsApi, provideOsrmDirectionsSource, provideSearchSourceService, provideStoredQueriesReverseSearchSource, provideStoredQueriesSearchSource, provideStyleListLoader, provideStyleListOptions, provideWorkspaceSearchSource, 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, workspaceSearchSourceFactory, zoneMtm, zoneUtm };
|
|
46893
|
+
export { AddCatalogDialogComponent, ArcGISRestDataSource, BaseLayersSwitcherComponent, CadastreSearchSource, 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, FeatureStoreSearchIndexStrategy, FeatureStoreSelectionStrategy, FeatureWorkspace, FeatureWorkspaceService, FilterableDataSourcePipe, 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, IgoStyleModule, IgoToastModule, IgoWktModule, IgoWorkspaceSelectorModule, IgoWorkspaceUpdatorModule, ImageArcGISRestDataSource, ImageLayer, ImageWatcher, ImportError, ImportExportComponent, ImportInvalidFileError, ImportNothingToImportError, ImportOgreServerError, ImportSRSError, ImportService, ImportSizeError, ImportUnreadableFileError, InfoSectionComponent, InsertSourceInsertDBEnum, LAYER, LabelType, Layer, LayerDBService, 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, StyleModalDrawingComponent, StyleModalLayerButtonComponent, StyleModalLayerComponent, 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, WorkspaceSearchSource, 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, createOverlayLayerStyle, createOverlayMarkerStyle, ctrlKeyDown, defaultCoordinatesSearchResultFormatterFactory, defaultEpsg, defaultFieldNameGeometry, defaultIChercheSearchResultFormatterFactory, defaultMaxFeatures, defaultWfsVersion, directionsStyle, entitiesToRowData, exportToCSV, featureFromOl, featureRandomStyle, featureRandomStyleFunction, 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, hoverFeatureMarkerStyle, 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, olStyleToBasicIgoStyle, optionsApiFactory, osrmDirectionsSourcesFactory, pointerPositionSummaryMarkerStyle, provideCadastreSearchSource, provideCoordinatesReverseSearchSource, provideDefaultCoordinatesSearchResultFormatter, provideDefaultIChercheSearchResultFormatter, provideIChercheReverseSearchSource, provideIChercheSearchSource, provideILayerSearchResultFormatter, provideILayerSearchSource, provideNominatimSearchSource, provideOgcFilterWidget, provideOptionsApi, provideOsrmDirectionsSource, provideSearchSourceService, provideStoredQueriesReverseSearchSource, provideStoredQueriesSearchSource, provideStyleListLoader, provideStyleListOptions, provideWorkspaceSearchSource, 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, workspaceSearchSourceFactory, zoneMtm, zoneUtm };
|
|
46758
46894
|
//# sourceMappingURL=igo2-geo.mjs.map
|