@igo2/geo 20.1.0-next.29 → 20.1.0-next.30
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/fesm2022/igo2-geo.mjs +77 -119
- package/fesm2022/igo2-geo.mjs.map +1 -1
- package/index.d.ts +11 -24
- package/locale/en.geo.json +2 -1
- package/locale/fr.geo.json +2 -1
- package/package.json +5 -5
package/fesm2022/igo2-geo.mjs
CHANGED
|
@@ -20,12 +20,12 @@ import html2canvas from 'html2canvas';
|
|
|
20
20
|
import jsPDF, { jsPDF as jsPDF$1 } from 'jspdf';
|
|
21
21
|
import { autoTable } from 'jspdf-autotable';
|
|
22
22
|
import moment from 'moment';
|
|
23
|
-
import { Subject, Observable, forkJoin, map as map$1, catchError, of, combineLatest, BehaviorSubject, interval, tap, from, switchMap, first, concatMap as concatMap$1, mergeMap, zip, merge,
|
|
23
|
+
import { Subject, Observable, forkJoin, fromEvent, map as map$1, catchError as catchError$1, of, combineLatest, BehaviorSubject, interval, tap, from, switchMap, first as first$1, concatMap as concatMap$1, mergeMap, zip, merge, debounceTime as debounceTime$1, EMPTY, timer, filter, pairwise, Subscription, throwError, firstValueFrom, lastValueFrom, take as take$1 } from 'rxjs';
|
|
24
24
|
import { HttpClient, HttpParams, HttpBackend, HttpHeaders } from '@angular/common/http';
|
|
25
25
|
import { fetchImageFromDepotUrl, ImageErrorDirective, SecureImagePipe } from '@igo2/common/image';
|
|
26
26
|
import { saveAs } from 'file-saver';
|
|
27
27
|
import JSZip from 'jszip';
|
|
28
|
-
import { map,
|
|
28
|
+
import { map, timeout, first, catchError, concatMap, switchMap as switchMap$1, mergeMap as mergeMap$1, distinctUntilChanged, tap as tap$1, debounceTime, delay, skip, debounce, skipWhile, takeUntil, take, finalize, filter as filter$1, startWith } from 'rxjs/operators';
|
|
29
29
|
import OlFeature from 'ol/Feature';
|
|
30
30
|
import OlGeoJSON from 'ol/format/GeoJSON';
|
|
31
31
|
import * as olgeom from 'ol/geom';
|
|
@@ -832,6 +832,7 @@ const PrintLegendPosition = strEnum([
|
|
|
832
832
|
'newpage'
|
|
833
833
|
]);
|
|
834
834
|
|
|
835
|
+
const PRINT_TIMEOUT = 30000; // 30 secondes
|
|
835
836
|
class PrintService {
|
|
836
837
|
http = inject(HttpClient);
|
|
837
838
|
config = inject(ConfigService);
|
|
@@ -920,10 +921,10 @@ class PrintService {
|
|
|
920
921
|
else {
|
|
921
922
|
await this.saveDoc(doc);
|
|
922
923
|
}
|
|
923
|
-
|
|
924
|
-
|
|
925
|
-
|
|
926
|
-
|
|
924
|
+
if (status === SubjectStatus.Done || status === SubjectStatus.Error) {
|
|
925
|
+
this.activityService.unregister(this.activityId);
|
|
926
|
+
status$.next(SubjectStatus.Done);
|
|
927
|
+
}
|
|
927
928
|
}
|
|
928
929
|
});
|
|
929
930
|
return status$;
|
|
@@ -1305,8 +1306,8 @@ class PrintService {
|
|
|
1305
1306
|
const viewResolution = map.ol.getView().getResolution();
|
|
1306
1307
|
const dimensionPixels = this.setMapResolution(map, imageDimensions, resolution, viewResolution);
|
|
1307
1308
|
const status$ = new Subject();
|
|
1308
|
-
|
|
1309
|
-
|
|
1309
|
+
this.mapRenderCompleteEvent$(map, mapSize, viewResolution, status$).subscribe(async (event) => {
|
|
1310
|
+
let timeout = undefined;
|
|
1310
1311
|
const mapCanvas = event.target
|
|
1311
1312
|
.getViewport()
|
|
1312
1313
|
.getElementsByTagName('canvas');
|
|
@@ -1514,7 +1515,7 @@ class PrintService {
|
|
|
1514
1515
|
const resolution = +printResolution;
|
|
1515
1516
|
const initialMapSize = map.ol.getSize();
|
|
1516
1517
|
const viewResolution = map.ol.getView().getResolution();
|
|
1517
|
-
|
|
1518
|
+
this.mapRenderCompleteEvent$(map, initialMapSize, viewResolution, status$).subscribe(async (event) => {
|
|
1518
1519
|
const size = map.ol.getSize();
|
|
1519
1520
|
const mapCanvas = event.target
|
|
1520
1521
|
.getViewport()
|
|
@@ -1916,6 +1917,19 @@ class PrintService {
|
|
|
1916
1917
|
}
|
|
1917
1918
|
return n * k;
|
|
1918
1919
|
}
|
|
1920
|
+
mapRenderCompleteEvent$(map, mapSize, viewResolution, status$) {
|
|
1921
|
+
return fromEvent(map.ol, 'rendercomplete').pipe(timeout(PRINT_TIMEOUT), first(), catchError((error) => {
|
|
1922
|
+
const translate = this.languageService.translate;
|
|
1923
|
+
const message = translate.instant('igo.geo.printForm.timeout', {
|
|
1924
|
+
value: PRINT_TIMEOUT / 1000
|
|
1925
|
+
});
|
|
1926
|
+
error.message += ` - ${message}`;
|
|
1927
|
+
this.messageService.error(message);
|
|
1928
|
+
status$.next(SubjectStatus.Error);
|
|
1929
|
+
this.resetOriginalMapSize(map, mapSize, viewResolution);
|
|
1930
|
+
throw error;
|
|
1931
|
+
}));
|
|
1932
|
+
}
|
|
1919
1933
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: PrintService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
1920
1934
|
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: PrintService, providedIn: 'root' });
|
|
1921
1935
|
}
|
|
@@ -3523,7 +3537,7 @@ class WFSDataSource extends DataSource {
|
|
|
3523
3537
|
_fetchFeatures(featureProjection, url, { extent, projection, httpClient }) {
|
|
3524
3538
|
return httpClient.get(url, { responseType: 'text' }).pipe(map$1((response) => {
|
|
3525
3539
|
return this._parseXmlFeatures(response, projection, featureProjection);
|
|
3526
|
-
}), catchError((e) => {
|
|
3540
|
+
}), catchError$1((e) => {
|
|
3527
3541
|
if (extent)
|
|
3528
3542
|
this.ol.removeLoadedExtent(extent);
|
|
3529
3543
|
throw e;
|
|
@@ -4814,7 +4828,7 @@ class GeoDB {
|
|
|
4814
4828
|
const compress = object instanceof Blob ? true : false;
|
|
4815
4829
|
let geoDBData;
|
|
4816
4830
|
const a = this.db$.pipe(switchMap((db) => {
|
|
4817
|
-
return object$.pipe(first(), switchMap((object) => {
|
|
4831
|
+
return object$.pipe(first$1(), switchMap((object) => {
|
|
4818
4832
|
geoDBData = {
|
|
4819
4833
|
url,
|
|
4820
4834
|
regionID,
|
|
@@ -4918,7 +4932,7 @@ class GeoDB {
|
|
|
4918
4932
|
const revertObservables = [];
|
|
4919
4933
|
for (const [regionID, collisions] of this.collisionsMap) {
|
|
4920
4934
|
for (const url of collisions) {
|
|
4921
|
-
revertObservables.push(this.getGeoDBData(url).pipe(first(), concatMap$1((dbObject) => {
|
|
4935
|
+
revertObservables.push(this.getGeoDBData(url).pipe(first$1(), concatMap$1((dbObject) => {
|
|
4922
4936
|
const updatedObject = dbObject;
|
|
4923
4937
|
updatedObject.regionID = regionID;
|
|
4924
4938
|
return this.customUpdate(updatedObject);
|
|
@@ -4949,7 +4963,7 @@ class LayerDB {
|
|
|
4949
4963
|
* @returns
|
|
4950
4964
|
*/
|
|
4951
4965
|
update(layerDBData) {
|
|
4952
|
-
return this.db$.pipe(switchMap$1((db) => this.getByID(layerDBData.layerId).pipe(first
|
|
4966
|
+
return this.db$.pipe(switchMap$1((db) => this.getByID(layerDBData.layerId).pipe(first(), concatMap((dbObject) => {
|
|
4953
4967
|
if (!dbObject) {
|
|
4954
4968
|
return from(db.add('layerData', layerDBData)).pipe(map(() => layerDBData));
|
|
4955
4969
|
}
|
|
@@ -6308,7 +6322,7 @@ class VectorLayer extends Layer {
|
|
|
6308
6322
|
insertEvent: `${this.title}-${this.id}-${new Date()}`
|
|
6309
6323
|
});
|
|
6310
6324
|
const layerDB = new LayerDB();
|
|
6311
|
-
layerDB.update(layerData).pipe(first
|
|
6325
|
+
layerDB.update(layerData).pipe(first()).subscribe();
|
|
6312
6326
|
}
|
|
6313
6327
|
maintainFeaturesInIdb() {
|
|
6314
6328
|
const dsFeatures = this.dataSource.ol.getFeatures();
|
|
@@ -6320,7 +6334,7 @@ class VectorLayer extends Layer {
|
|
|
6320
6334
|
const geoDB = new GeoDB();
|
|
6321
6335
|
geoDB
|
|
6322
6336
|
.update(this.options.sourceOptions?.url || this.id.toString(), this.id, geojsonObject, InsertSourceInsertDBEnum.User, `${this.title}-${this.id}-${new Date()}`)
|
|
6323
|
-
.pipe(first
|
|
6337
|
+
.pipe(first())
|
|
6324
6338
|
.subscribe();
|
|
6325
6339
|
}
|
|
6326
6340
|
flash(feature) {
|
|
@@ -6621,7 +6635,7 @@ class VectorLayer extends Layer {
|
|
|
6621
6635
|
const options = { responseType: type };
|
|
6622
6636
|
const getVectorObs$ = this.geoNetworkService
|
|
6623
6637
|
.get(modifiedUrl, options)
|
|
6624
|
-
.pipe(first
|
|
6638
|
+
.pipe(first(), catchError((res) => {
|
|
6625
6639
|
onError();
|
|
6626
6640
|
throw res;
|
|
6627
6641
|
}));
|
|
@@ -9665,7 +9679,7 @@ class CapabilitiesService {
|
|
|
9665
9679
|
const legendUrl = baseOptions.url + '/legend?f=json';
|
|
9666
9680
|
const serviceCapabilities = this.getCapabilities('imagearcgisrest', baseOptions.url);
|
|
9667
9681
|
const arcgisOptions = this.http.get(baseUrl);
|
|
9668
|
-
const legend = this.http.get(legendUrl).pipe(map((res) => res), catchError
|
|
9682
|
+
const legend = this.http.get(legendUrl).pipe(map((res) => res), catchError((err) => {
|
|
9669
9683
|
console.log('No legend associated with this Image Service');
|
|
9670
9684
|
return of(err);
|
|
9671
9685
|
}));
|
|
@@ -9678,7 +9692,7 @@ class CapabilitiesService {
|
|
|
9678
9692
|
const legendUrl = baseOptions.url + '/legend?f=json';
|
|
9679
9693
|
const serviceCapabilities = this.getCapabilities('tilearcgisrest', baseOptions.url);
|
|
9680
9694
|
const arcgisOptions = this.http.get(baseUrl);
|
|
9681
|
-
const legendInfo = this.http.get(legendUrl).pipe(map((res) => res), catchError
|
|
9695
|
+
const legendInfo = this.http.get(legendUrl).pipe(map((res) => res), catchError((err) => {
|
|
9682
9696
|
console.log('No legend associated with this Tile Service');
|
|
9683
9697
|
return of(err);
|
|
9684
9698
|
}));
|
|
@@ -9718,7 +9732,7 @@ class CapabilitiesService {
|
|
|
9718
9732
|
else {
|
|
9719
9733
|
return this.parsers[service].read(res);
|
|
9720
9734
|
}
|
|
9721
|
-
}), catchError
|
|
9735
|
+
}), catchError((e) => {
|
|
9722
9736
|
if (typeof e.error !== 'undefined') {
|
|
9723
9737
|
e.error.caught = true;
|
|
9724
9738
|
}
|
|
@@ -10124,7 +10138,7 @@ class DataSourceService {
|
|
|
10124
10138
|
createWMSDataSource(options, detailedContextUri) {
|
|
10125
10139
|
const observables = [];
|
|
10126
10140
|
if (options.optionsFromCapabilities && window.navigator.onLine) {
|
|
10127
|
-
observables.push(this.capabilitiesService.getWMSOptions(options).pipe(catchError
|
|
10141
|
+
observables.push(this.capabilitiesService.getWMSOptions(options).pipe(catchError((e) => {
|
|
10128
10142
|
this.messageService.error('igo.geo.dataSource.unavailable', 'igo.geo.dataSource.unavailableTitle', undefined, { value: options.params.LAYERS });
|
|
10129
10143
|
throw e;
|
|
10130
10144
|
})));
|
|
@@ -10132,7 +10146,7 @@ class DataSourceService {
|
|
|
10132
10146
|
if (this.optionsService &&
|
|
10133
10147
|
options.optionsFromApi &&
|
|
10134
10148
|
window.navigator.onLine) {
|
|
10135
|
-
observables.push(this.optionsService.getWMSOptions(options, detailedContextUri).pipe(catchError
|
|
10149
|
+
observables.push(this.optionsService.getWMSOptions(options, detailedContextUri).pipe(catchError((e) => {
|
|
10136
10150
|
e.error.toDisplay = true;
|
|
10137
10151
|
e.error.title = this.languageService.translate.instant('igo.geo.dataSource.unavailableTitle');
|
|
10138
10152
|
e.error.message = this.languageService.translate.instant('igo.geo.dataSource.optionsApiUnavailable');
|
|
@@ -10146,7 +10160,7 @@ class DataSourceService {
|
|
|
10146
10160
|
optionsMerged.params = this.normalizeParams(optionsMerged.params);
|
|
10147
10161
|
}
|
|
10148
10162
|
return new WMSDataSource(optionsMerged, this.wfsDataSourceService, this.ogcFilterService);
|
|
10149
|
-
}), catchError
|
|
10163
|
+
}), catchError(() => {
|
|
10150
10164
|
return of(undefined);
|
|
10151
10165
|
}));
|
|
10152
10166
|
}
|
|
@@ -10163,7 +10177,7 @@ class DataSourceService {
|
|
|
10163
10177
|
if (options.optionsFromCapabilities && window.navigator.onLine) {
|
|
10164
10178
|
return this.capabilitiesService.getWMTSOptions(options).pipe(map((options) => {
|
|
10165
10179
|
return options ? new WMTSDataSource(options) : undefined;
|
|
10166
|
-
}), catchError
|
|
10180
|
+
}), catchError(() => {
|
|
10167
10181
|
this.messageService.error('igo.geo.dataSource.unavailable', 'igo.geo.dataSource.unavailableTitle', undefined, { value: options.layer });
|
|
10168
10182
|
return of(undefined);
|
|
10169
10183
|
}));
|
|
@@ -10187,7 +10201,7 @@ class DataSourceService {
|
|
|
10187
10201
|
createArcGISRestDataSource(options, detailedContextUri) {
|
|
10188
10202
|
const observables = [];
|
|
10189
10203
|
if (window.navigator.onLine) {
|
|
10190
|
-
observables.push(this.capabilitiesService.getArcgisOptions(options).pipe(catchError
|
|
10204
|
+
observables.push(this.capabilitiesService.getArcgisOptions(options).pipe(catchError((e) => {
|
|
10191
10205
|
this.messageService.error('igo.geo.dataSource.unavailable', 'igo.geo.dataSource.unavailableTitle', undefined, { value: options.layer });
|
|
10192
10206
|
throw e;
|
|
10193
10207
|
})));
|
|
@@ -10197,7 +10211,7 @@ class DataSourceService {
|
|
|
10197
10211
|
window.navigator.onLine) {
|
|
10198
10212
|
observables.push(this.optionsService
|
|
10199
10213
|
.getArcgisRestOptions(options, detailedContextUri)
|
|
10200
|
-
.pipe(catchError
|
|
10214
|
+
.pipe(catchError((e) => {
|
|
10201
10215
|
e.error.toDisplay = true;
|
|
10202
10216
|
e.error.title = this.languageService.translate.instant('igo.geo.dataSource.unavailableTitle');
|
|
10203
10217
|
e.error.message = this.languageService.translate.instant('igo.geo.dataSource.optionsApiUnavailable');
|
|
@@ -10208,14 +10222,14 @@ class DataSourceService {
|
|
|
10208
10222
|
return forkJoin(observables).pipe(map((options) => {
|
|
10209
10223
|
const optionsMerged = options.reduce((a, b) => ObjectUtils.mergeDeep(a, b));
|
|
10210
10224
|
return new ArcGISRestDataSource(optionsMerged);
|
|
10211
|
-
}), catchError
|
|
10225
|
+
}), catchError(() => {
|
|
10212
10226
|
return of(undefined);
|
|
10213
10227
|
}));
|
|
10214
10228
|
}
|
|
10215
10229
|
createArcGISRestImageDataSource(options, detailedContextUri) {
|
|
10216
10230
|
const observables = [];
|
|
10217
10231
|
if (window.navigator.onLine) {
|
|
10218
|
-
observables.push(this.capabilitiesService.getImageArcgisOptions(options).pipe(catchError
|
|
10232
|
+
observables.push(this.capabilitiesService.getImageArcgisOptions(options).pipe(catchError((e) => {
|
|
10219
10233
|
this.messageService.error('igo.geo.dataSource.unavailable', 'igo.geo.dataSource.unavailableTitle', undefined, { value: options.params.LAYERS });
|
|
10220
10234
|
throw e;
|
|
10221
10235
|
})));
|
|
@@ -10225,7 +10239,7 @@ class DataSourceService {
|
|
|
10225
10239
|
window.navigator.onLine) {
|
|
10226
10240
|
observables.push(this.optionsService
|
|
10227
10241
|
.getArcgisRestOptions(options, detailedContextUri)
|
|
10228
|
-
.pipe(catchError
|
|
10242
|
+
.pipe(catchError((e) => {
|
|
10229
10243
|
e.error.toDisplay = true;
|
|
10230
10244
|
e.error.title = this.languageService.translate.instant('igo.geo.dataSource.unavailableTitle');
|
|
10231
10245
|
e.error.message = this.languageService.translate.instant('igo.geo.dataSource.optionsApiUnavailable');
|
|
@@ -10236,14 +10250,14 @@ class DataSourceService {
|
|
|
10236
10250
|
return forkJoin(observables).pipe(map((options) => {
|
|
10237
10251
|
const optionsMerged = options.reduce((a, b) => ObjectUtils.mergeDeep(a, b));
|
|
10238
10252
|
return new ImageArcGISRestDataSource(optionsMerged);
|
|
10239
|
-
}), catchError
|
|
10253
|
+
}), catchError(() => {
|
|
10240
10254
|
return of(undefined);
|
|
10241
10255
|
}));
|
|
10242
10256
|
}
|
|
10243
10257
|
createTileArcGISRestDataSource(options, detailedContextUri) {
|
|
10244
10258
|
const observables = [];
|
|
10245
10259
|
if (window.navigator.onLine) {
|
|
10246
|
-
observables.push(this.capabilitiesService.getImageArcgisOptions(options).pipe(catchError
|
|
10260
|
+
observables.push(this.capabilitiesService.getImageArcgisOptions(options).pipe(catchError((e) => {
|
|
10247
10261
|
this.messageService.error('igo.geo.dataSource.unavailable', 'igo.geo.dataSource.unavailableTitle', undefined, { value: options.params.LAYERS });
|
|
10248
10262
|
throw e;
|
|
10249
10263
|
})));
|
|
@@ -10253,7 +10267,7 @@ class DataSourceService {
|
|
|
10253
10267
|
window.navigator.onLine) {
|
|
10254
10268
|
observables.push(this.optionsService
|
|
10255
10269
|
.getArcgisRestOptions(options, detailedContextUri)
|
|
10256
|
-
.pipe(catchError
|
|
10270
|
+
.pipe(catchError((e) => {
|
|
10257
10271
|
e.error.toDisplay = true;
|
|
10258
10272
|
e.error.title = this.languageService.translate.instant('igo.geo.dataSource.unavailableTitle');
|
|
10259
10273
|
e.error.message = this.languageService.translate.instant('igo.geo.dataSource.optionsApiUnavailable');
|
|
@@ -10264,7 +10278,7 @@ class DataSourceService {
|
|
|
10264
10278
|
return forkJoin(observables).pipe(map((options) => {
|
|
10265
10279
|
const optionsMerged = options.reduce((a, b) => ObjectUtils.mergeDeep(a, b));
|
|
10266
10280
|
return new TileArcGISRestDataSource(optionsMerged);
|
|
10267
|
-
}), catchError
|
|
10281
|
+
}), catchError(() => {
|
|
10268
10282
|
return of(undefined);
|
|
10269
10283
|
}));
|
|
10270
10284
|
}
|
|
@@ -10292,7 +10306,7 @@ class ConfigFileToGeoDBService {
|
|
|
10292
10306
|
let downloadMessage;
|
|
10293
10307
|
this.http
|
|
10294
10308
|
.get(urlFile)
|
|
10295
|
-
.pipe(catchError
|
|
10309
|
+
.pipe(catchError((error) => {
|
|
10296
10310
|
this.messageService.error(`GeoData file ${urlFile} could not be read`);
|
|
10297
10311
|
error.error.caught = true;
|
|
10298
10312
|
throw error;
|
|
@@ -10325,7 +10339,7 @@ class ConfigFileToGeoDBService {
|
|
|
10325
10339
|
if (isZip) {
|
|
10326
10340
|
responseType = 'arraybuffer';
|
|
10327
10341
|
}
|
|
10328
|
-
return this.http.get(url, { responseType }).pipe(catchError
|
|
10342
|
+
return this.http.get(url, { responseType }).pipe(catchError((error) => {
|
|
10329
10343
|
this.messageService.remove(downloadMessage.toastId);
|
|
10330
10344
|
this.messageService.error('igo.geo.indexedDb.data-download-failed', undefined, { timeOut: 40000 });
|
|
10331
10345
|
error.error.caught = true;
|
|
@@ -12336,7 +12350,7 @@ class LayerLegendComponent {
|
|
|
12336
12350
|
if (item.url) {
|
|
12337
12351
|
const depotUrl = this.config?.getConfig('depot.url');
|
|
12338
12352
|
fetchImageFromDepotUrl(item.url, depotUrl, this.http)
|
|
12339
|
-
.pipe(catchError
|
|
12353
|
+
.pipe(catchError((err) => {
|
|
12340
12354
|
if (err.error) {
|
|
12341
12355
|
err.error.caught = true;
|
|
12342
12356
|
this.getLegend = false;
|
|
@@ -15267,7 +15281,7 @@ class HoverFeatureDirective {
|
|
|
15267
15281
|
*/
|
|
15268
15282
|
ngOnInit() {
|
|
15269
15283
|
this.map.status$
|
|
15270
|
-
.pipe(first
|
|
15284
|
+
.pipe(first((status) => status === SubjectStatus.Done))
|
|
15271
15285
|
.subscribe(() => {
|
|
15272
15286
|
this.store = new FeatureStore([], { map: this.map });
|
|
15273
15287
|
this.initStore();
|
|
@@ -24264,7 +24278,7 @@ class DrawComponent {
|
|
|
24264
24278
|
.manyBy$((record) => {
|
|
24265
24279
|
return record.state.selected === true;
|
|
24266
24280
|
})
|
|
24267
|
-
.pipe(first
|
|
24281
|
+
.pipe(first())
|
|
24268
24282
|
.subscribe((records) => {
|
|
24269
24283
|
records.forEach((record) => {
|
|
24270
24284
|
record.state.selected = false;
|
|
@@ -29469,7 +29483,7 @@ class StyleListService {
|
|
|
29469
29483
|
return new Promise((resolve) => {
|
|
29470
29484
|
this.httpClient
|
|
29471
29485
|
.get(options.path)
|
|
29472
|
-
.pipe(catchError
|
|
29486
|
+
.pipe(catchError((error) => {
|
|
29473
29487
|
console.log(`StyleList file ${options.path} could not be read`);
|
|
29474
29488
|
resolve(true);
|
|
29475
29489
|
return throwError(error.error || 'Server error');
|
|
@@ -29960,7 +29974,7 @@ class ExportService {
|
|
|
29960
29974
|
projection,
|
|
29961
29975
|
httpClient: this.httpClient
|
|
29962
29976
|
})
|
|
29963
|
-
.pipe(catchError((e) => {
|
|
29977
|
+
.pipe(catchError$1((e) => {
|
|
29964
29978
|
throw e;
|
|
29965
29979
|
}));
|
|
29966
29980
|
}
|
|
@@ -29969,7 +29983,7 @@ class ExportService {
|
|
|
29969
29983
|
const wks = this.getWorkspaceByLayerId(layer.id, store);
|
|
29970
29984
|
if (wks?.entityStore?.stateView.all().length) {
|
|
29971
29985
|
const features = this.getFeaturesFromWorkspace(wks, layer.id.toString(), data);
|
|
29972
|
-
return of(features).pipe(catchError((e) => {
|
|
29986
|
+
return of(features).pipe(catchError$1((e) => {
|
|
29973
29987
|
throw e;
|
|
29974
29988
|
}));
|
|
29975
29989
|
}
|
|
@@ -30239,7 +30253,7 @@ function handleFileImportSuccess(file, features, map, contextUri, messageService
|
|
|
30239
30253
|
const obs$ = confirmDialogService
|
|
30240
30254
|
? confirmDialogService.open('igo.geo.import.promptStoreToIdb')
|
|
30241
30255
|
: of(false);
|
|
30242
|
-
obs$.pipe(first()).subscribe((confirm) => {
|
|
30256
|
+
obs$.pipe(first$1()).subscribe((confirm) => {
|
|
30243
30257
|
const d = new Date();
|
|
30244
30258
|
const dformat = [
|
|
30245
30259
|
d.getFullYear(),
|
|
@@ -31341,7 +31355,7 @@ class DropGeoFileDirective extends DragAndDropDirective {
|
|
|
31341
31355
|
onFilesDropped(files) {
|
|
31342
31356
|
for (const file of files) {
|
|
31343
31357
|
this.epsgCode$$.push(detectFileEPSG({ file })
|
|
31344
|
-
.pipe(skipWhile((code) => !code), first
|
|
31358
|
+
.pipe(skipWhile((code) => !code), first(), concatMap((epsgCode) => {
|
|
31345
31359
|
if (!epsgCode || epsgCode === 'epsgNotDefined') {
|
|
31346
31360
|
return this.openEPSGModal(file).pipe(filter$1((selectedCode) => !!selectedCode), // user must select
|
|
31347
31361
|
concatMap((selectedCode) => this.importService.import(file, selectedCode)));
|
|
@@ -33814,7 +33828,7 @@ class SearchPointerSummaryDirective {
|
|
|
33814
33828
|
ngOnInit() {
|
|
33815
33829
|
this.listenToMapPointerMove();
|
|
33816
33830
|
this.map.status$
|
|
33817
|
-
.pipe(first((status) => status === SubjectStatus.Done))
|
|
33831
|
+
.pipe(first$1((status) => status === SubjectStatus.Done))
|
|
33818
33832
|
.subscribe(() => {
|
|
33819
33833
|
this.store = new FeatureStore([], { map: this.map });
|
|
33820
33834
|
this.initStore();
|
|
@@ -34700,7 +34714,7 @@ class IChercheSearchSource extends SearchSource {
|
|
|
34700
34714
|
return this.getSearch(term, params);
|
|
34701
34715
|
}
|
|
34702
34716
|
getSearch(term, params) {
|
|
34703
|
-
return this.http.get(`${this.searchUrl}/geocode`, { params }).pipe(map((response) => this.extractResults(response, term)), catchError
|
|
34717
|
+
return this.http.get(`${this.searchUrl}/geocode`, { params }).pipe(map((response) => this.extractResults(response, term)), catchError((err) => {
|
|
34704
34718
|
err.error.toDisplay = true;
|
|
34705
34719
|
err.error.title = this.languageService.translate.instant(this.defaultOptions.title);
|
|
34706
34720
|
throw err;
|
|
@@ -37340,7 +37354,7 @@ class EditionWorkspaceService {
|
|
|
37340
37354
|
}
|
|
37341
37355
|
return this.http.get(url).pipe(map((result) => {
|
|
37342
37356
|
return result;
|
|
37343
|
-
}), catchError
|
|
37357
|
+
}), catchError((err) => {
|
|
37344
37358
|
err.error.caught = true;
|
|
37345
37359
|
return throwError(err);
|
|
37346
37360
|
}));
|
|
@@ -38505,7 +38519,7 @@ class CatalogService {
|
|
|
38505
38519
|
// Catalogs from API
|
|
38506
38520
|
const catalogsFromApi$ = this.http
|
|
38507
38521
|
.get(`${apiUrl}/catalogs`)
|
|
38508
|
-
.pipe(map((catalogs) => catalogs.map((c) => Object.assign(c, c.options))), catchError
|
|
38522
|
+
.pipe(map((catalogs) => catalogs.map((c) => Object.assign(c, c.options))), catchError(() => EMPTY));
|
|
38509
38523
|
observables$.push(catalogsFromApi$);
|
|
38510
38524
|
}
|
|
38511
38525
|
// Catalogs from config
|
|
@@ -38567,7 +38581,7 @@ class CatalogService {
|
|
|
38567
38581
|
capabilitiesCapabilityLayer.Layer = finalLayers.filter((f) => f.Layer.length !== 0);
|
|
38568
38582
|
this.includeRecursiveItems(catalog, capabilitiesCapabilityLayer, items);
|
|
38569
38583
|
return items;
|
|
38570
|
-
}), catchError
|
|
38584
|
+
}), catchError(() => {
|
|
38571
38585
|
this.messageService.error('igo.geo.catalog.unavailable', 'igo.geo.catalog.unavailableTitle', undefined, { value: catalog.title });
|
|
38572
38586
|
return EMPTY;
|
|
38573
38587
|
}));
|
|
@@ -38700,7 +38714,7 @@ class CatalogService {
|
|
|
38700
38714
|
const sType = TypeCatalog[catalog.type];
|
|
38701
38715
|
return this.capabilitiesService
|
|
38702
38716
|
.getCapabilities(sType, catalog.url, catalog.version)
|
|
38703
|
-
.pipe(catchError
|
|
38717
|
+
.pipe(catchError((e) => {
|
|
38704
38718
|
this.messageService.error(catalog.title
|
|
38705
38719
|
? 'igo.geo.catalog.unavailable'
|
|
38706
38720
|
: 'igo.geo.catalog.someUnavailable', 'igo.geo.catalog.unavailableTitle', undefined, catalog.title ? { value: catalog.title } : undefined);
|
|
@@ -39251,7 +39265,7 @@ class CatalogBrowserLayerComponent {
|
|
|
39251
39265
|
this.layerLegendShown$.next(!this.layerLegendShown$.value);
|
|
39252
39266
|
this.layerService
|
|
39253
39267
|
.createAsyncLayer(this.layer().options)
|
|
39254
|
-
.pipe(first
|
|
39268
|
+
.pipe(first())
|
|
39255
39269
|
.subscribe((layer) => this.igoLayer$.next(layer));
|
|
39256
39270
|
}
|
|
39257
39271
|
/**
|
|
@@ -39721,7 +39735,7 @@ class CatalogBrowserComponent {
|
|
|
39721
39735
|
removeLayersFromMap(layers) {
|
|
39722
39736
|
if (this.isAddingLayers.value) {
|
|
39723
39737
|
this.isAddingLayers
|
|
39724
|
-
.pipe(first((value) => value === false))
|
|
39738
|
+
.pipe(first$1((value) => value === false))
|
|
39725
39739
|
.subscribe((_isReady) => {
|
|
39726
39740
|
this._removeLayersFromMap(layers);
|
|
39727
39741
|
});
|
|
@@ -40093,7 +40107,7 @@ class CatalogLibraryComponent {
|
|
|
40093
40107
|
}
|
|
40094
40108
|
this.addingCatalog$$ = this.capabilitiesService
|
|
40095
40109
|
.getCapabilities(addedCatalog.type, addedCatalog.url, addedCatalog.version)
|
|
40096
|
-
.pipe(catchError((e) => {
|
|
40110
|
+
.pipe(catchError$1((e) => {
|
|
40097
40111
|
if (e.error) {
|
|
40098
40112
|
this.addCatalogDialog(true, addedCatalog, !!predefinedCatalog);
|
|
40099
40113
|
e.error.caught = true;
|
|
@@ -40823,60 +40837,18 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.19", ngImpo
|
|
|
40823
40837
|
class PrintComponent {
|
|
40824
40838
|
printService = inject(PrintService);
|
|
40825
40839
|
disabled$ = new BehaviorSubject(false);
|
|
40826
|
-
|
|
40827
|
-
|
|
40828
|
-
}
|
|
40829
|
-
|
|
40830
|
-
|
|
40831
|
-
}
|
|
40832
|
-
|
|
40833
|
-
get outputFormat() {
|
|
40834
|
-
return this._outputFormat;
|
|
40835
|
-
}
|
|
40836
|
-
set outputFormat(value) {
|
|
40837
|
-
this._outputFormat = value;
|
|
40838
|
-
}
|
|
40839
|
-
_outputFormat;
|
|
40840
|
-
get paperFormat() {
|
|
40841
|
-
return this._paperFormat;
|
|
40842
|
-
}
|
|
40843
|
-
set paperFormat(value) {
|
|
40844
|
-
this._paperFormat = value;
|
|
40845
|
-
}
|
|
40846
|
-
_paperFormat;
|
|
40847
|
-
get orientation() {
|
|
40848
|
-
return this._orientation;
|
|
40849
|
-
}
|
|
40850
|
-
set orientation(value) {
|
|
40851
|
-
this._orientation = value;
|
|
40852
|
-
}
|
|
40853
|
-
_orientation;
|
|
40854
|
-
get imageFormat() {
|
|
40855
|
-
return this._imageFormat;
|
|
40856
|
-
}
|
|
40857
|
-
set imageFormat(value) {
|
|
40858
|
-
this._imageFormat = value;
|
|
40859
|
-
}
|
|
40860
|
-
_imageFormat;
|
|
40861
|
-
get legendPosition() {
|
|
40862
|
-
return this._legendPosition;
|
|
40863
|
-
}
|
|
40864
|
-
set legendPosition(value) {
|
|
40865
|
-
this._legendPosition = value;
|
|
40866
|
-
}
|
|
40867
|
-
_legendPosition;
|
|
40868
|
-
get resolution() {
|
|
40869
|
-
return this._resolution;
|
|
40870
|
-
}
|
|
40871
|
-
set resolution(value) {
|
|
40872
|
-
this._resolution = value;
|
|
40873
|
-
}
|
|
40874
|
-
_resolution;
|
|
40840
|
+
map = input(undefined, ...(ngDevMode ? [{ debugName: "map" }] : []));
|
|
40841
|
+
outputFormat = input(undefined, ...(ngDevMode ? [{ debugName: "outputFormat" }] : []));
|
|
40842
|
+
paperFormat = input(undefined, ...(ngDevMode ? [{ debugName: "paperFormat" }] : []));
|
|
40843
|
+
orientation = input(undefined, ...(ngDevMode ? [{ debugName: "orientation" }] : []));
|
|
40844
|
+
imageFormat = input(undefined, ...(ngDevMode ? [{ debugName: "imageFormat" }] : []));
|
|
40845
|
+
legendPosition = input(undefined, ...(ngDevMode ? [{ debugName: "legendPosition" }] : []));
|
|
40846
|
+
resolution = input(undefined, ...(ngDevMode ? [{ debugName: "resolution" }] : []));
|
|
40875
40847
|
handleFormSubmit(data) {
|
|
40876
40848
|
this.disabled$.next(true);
|
|
40877
40849
|
if (data.isPrintService === true) {
|
|
40878
40850
|
this.printService
|
|
40879
|
-
.print(this.map, data)
|
|
40851
|
+
.print(this.map(), data)
|
|
40880
40852
|
.pipe(take(1))
|
|
40881
40853
|
.subscribe(() => {
|
|
40882
40854
|
this.disabled$.next(false);
|
|
@@ -40895,7 +40867,7 @@ class PrintComponent {
|
|
|
40895
40867
|
}
|
|
40896
40868
|
this.printService.defineNbFileToProcess(nbFileToProcess);
|
|
40897
40869
|
this.printService
|
|
40898
|
-
.downloadMapImage(this.map, data.resolution, data.imageFormat, data.showProjection, data.showScale, data.title, data.subtitle, data.comment, data.doZipFile, data.legendPosition, data.showNorthArrow)
|
|
40870
|
+
.downloadMapImage(this.map(), data.resolution, data.imageFormat, data.showProjection, data.showScale, data.title, data.subtitle, data.comment, data.doZipFile, data.legendPosition, data.showNorthArrow)
|
|
40899
40871
|
.pipe(take(1))
|
|
40900
40872
|
.subscribe(() => {
|
|
40901
40873
|
this.disabled$.next(false);
|
|
@@ -40903,26 +40875,12 @@ class PrintComponent {
|
|
|
40903
40875
|
}
|
|
40904
40876
|
}
|
|
40905
40877
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: PrintComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
40906
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
40878
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.3.19", type: PrintComponent, isStandalone: true, selector: "igo-print", inputs: { map: { classPropertyName: "map", publicName: "map", isSignal: true, isRequired: false, transformFunction: null }, outputFormat: { classPropertyName: "outputFormat", publicName: "outputFormat", isSignal: true, isRequired: false, transformFunction: null }, paperFormat: { classPropertyName: "paperFormat", publicName: "paperFormat", isSignal: true, isRequired: false, transformFunction: null }, orientation: { classPropertyName: "orientation", publicName: "orientation", isSignal: true, isRequired: false, transformFunction: null }, imageFormat: { classPropertyName: "imageFormat", publicName: "imageFormat", isSignal: true, isRequired: false, transformFunction: null }, legendPosition: { classPropertyName: "legendPosition", publicName: "legendPosition", isSignal: true, isRequired: false, transformFunction: null }, resolution: { classPropertyName: "resolution", publicName: "resolution", isSignal: true, isRequired: false, transformFunction: null } }, providers: [SecureImagePipe], ngImport: i0, template: "<igo-print-form\n [outputFormat]=\"outputFormat()\"\n [paperFormat]=\"paperFormat()\"\n [orientation]=\"orientation()\"\n [imageFormat]=\"imageFormat()\"\n [resolution]=\"resolution()\"\n [legendPosition]=\"legendPosition()\"\n [disabled$]=\"disabled$\"\n (submit)=\"handleFormSubmit($event)\"\n/>\n", dependencies: [{ kind: "component", type: PrintFormComponent, selector: "igo-print-form", inputs: ["disabled$", "imageFormat", "outputFormat", "paperFormat", "orientation", "resolution", "legendPosition", "title", "subtitle", "comment", "showProjection", "showScale", "showLegend", "doZipFile", "showNorth"], outputs: ["submit"] }] });
|
|
40907
40879
|
}
|
|
40908
40880
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: PrintComponent, decorators: [{
|
|
40909
40881
|
type: Component,
|
|
40910
|
-
args: [{ selector: 'igo-print', imports: [PrintFormComponent], providers: [SecureImagePipe], template: "<igo-print-form\n [outputFormat]=\"outputFormat\"\n [paperFormat]=\"paperFormat\"\n [orientation]=\"orientation\"\n [imageFormat]=\"imageFormat\"\n [resolution]=\"resolution\"\n [legendPosition]=\"legendPosition\"\n [disabled$]=\"disabled$\"\n (submit)=\"handleFormSubmit($event)\"\n/>\n" }]
|
|
40911
|
-
}], propDecorators: { map: [{
|
|
40912
|
-
type: Input
|
|
40913
|
-
}], outputFormat: [{
|
|
40914
|
-
type: Input
|
|
40915
|
-
}], paperFormat: [{
|
|
40916
|
-
type: Input
|
|
40917
|
-
}], orientation: [{
|
|
40918
|
-
type: Input
|
|
40919
|
-
}], imageFormat: [{
|
|
40920
|
-
type: Input
|
|
40921
|
-
}], legendPosition: [{
|
|
40922
|
-
type: Input
|
|
40923
|
-
}], resolution: [{
|
|
40924
|
-
type: Input
|
|
40925
|
-
}] } });
|
|
40882
|
+
args: [{ selector: 'igo-print', imports: [PrintFormComponent], providers: [SecureImagePipe], template: "<igo-print-form\n [outputFormat]=\"outputFormat()\"\n [paperFormat]=\"paperFormat()\"\n [orientation]=\"orientation()\"\n [imageFormat]=\"imageFormat()\"\n [resolution]=\"resolution()\"\n [legendPosition]=\"legendPosition()\"\n [disabled$]=\"disabled$\"\n (submit)=\"handleFormSubmit($event)\"\n/>\n" }]
|
|
40883
|
+
}], propDecorators: { map: [{ type: i0.Input, args: [{ isSignal: true, alias: "map", required: false }] }], outputFormat: [{ type: i0.Input, args: [{ isSignal: true, alias: "outputFormat", required: false }] }], paperFormat: [{ type: i0.Input, args: [{ isSignal: true, alias: "paperFormat", required: false }] }], orientation: [{ type: i0.Input, args: [{ isSignal: true, alias: "orientation", required: false }] }], imageFormat: [{ type: i0.Input, args: [{ isSignal: true, alias: "imageFormat", required: false }] }], legendPosition: [{ type: i0.Input, args: [{ isSignal: true, alias: "legendPosition", required: false }] }], resolution: [{ type: i0.Input, args: [{ isSignal: true, alias: "resolution", required: false }] }] } });
|
|
40926
40884
|
|
|
40927
40885
|
/**
|
|
40928
40886
|
* @deprecated import the PrintComponent, PrintFormComponent directly
|