@igo2/geo 21.0.0-next.5 → 21.0.0-next.51
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-offline.mjs +710 -0
- package/fesm2022/igo2-geo-offline.mjs.map +1 -0
- package/fesm2022/igo2-geo.mjs +9923 -10517
- package/fesm2022/igo2-geo.mjs.map +1 -1
- package/locale/en.geo.json +10 -1
- package/locale/fr.geo.json +11 -2
- package/package.json +12 -7
- package/src/style/style.scss +12 -0
- package/style/style.css +12 -0
- package/types/igo2-geo-offline.d.ts +190 -0
- package/types/igo2-geo.d.ts +2302 -2308
package/locale/en.geo.json
CHANGED
|
@@ -240,6 +240,10 @@
|
|
|
240
240
|
"rename": "Rename group",
|
|
241
241
|
"moreOptions": "Group tools",
|
|
242
242
|
"remove": "Remove this group from the map",
|
|
243
|
+
"removeDialog": {
|
|
244
|
+
"group": "Are you sure you want to remove the layer group from the map?",
|
|
245
|
+
"many": "Are you sure you want to remove all selected items from the map?"
|
|
246
|
+
},
|
|
243
247
|
"hide": "Hide group",
|
|
244
248
|
"hideChildren": "Layer hidden by a group",
|
|
245
249
|
"show": "Show group"
|
|
@@ -314,6 +318,9 @@
|
|
|
314
318
|
"cancel": "Cancel",
|
|
315
319
|
"fill": "Fill",
|
|
316
320
|
"stroke": "Stroke",
|
|
321
|
+
"strokeWidth": "Stroke width",
|
|
322
|
+
"label": "Label",
|
|
323
|
+
"radius": "Radius",
|
|
317
324
|
"fontSize": "Font size",
|
|
318
325
|
"fontStyle": "Font style",
|
|
319
326
|
"offsetX": "Horizontal offset",
|
|
@@ -389,7 +396,7 @@
|
|
|
389
396
|
"buttons": {
|
|
390
397
|
"copyDirections": "Copy directions to clipboard",
|
|
391
398
|
"copyLink": "Copy link to clipboard",
|
|
392
|
-
"
|
|
399
|
+
"printDirections": "Print directions",
|
|
393
400
|
"message": {
|
|
394
401
|
"copyDirections": "Directions copied to clipboard",
|
|
395
402
|
"copyLink": "Link copied to clipboard"
|
|
@@ -472,6 +479,8 @@
|
|
|
472
479
|
}
|
|
473
480
|
},
|
|
474
481
|
"routeOptions": "Route options",
|
|
482
|
+
"routingSource": "Routing source",
|
|
483
|
+
"routingSourceTooltip": "Changing source recalculates the route immediately",
|
|
475
484
|
"stepTitleTooltip": "Zoom on location"
|
|
476
485
|
},
|
|
477
486
|
"toggle": {
|
package/locale/fr.geo.json
CHANGED
|
@@ -24,7 +24,7 @@
|
|
|
24
24
|
"library.cancel": "Annuler",
|
|
25
25
|
"library.add": "Ajouter le catalogue",
|
|
26
26
|
"library.predefined": "Liste prédéfinie",
|
|
27
|
-
"library.custom": "Configuration
|
|
27
|
+
"library.custom": "Configuration avancée",
|
|
28
28
|
"library.remove": "Retirer ce catalogue de la liste",
|
|
29
29
|
"library.inlist": {
|
|
30
30
|
"title": "Catalogue déjà contenu",
|
|
@@ -240,6 +240,10 @@
|
|
|
240
240
|
"rename": "Renommer le groupe",
|
|
241
241
|
"moreOptions": "Outils du groupe",
|
|
242
242
|
"remove": "Retirer le groupe de la carte",
|
|
243
|
+
"removeDialog": {
|
|
244
|
+
"group": "Êtes-vous certain de vouloir retirer le groupe de couche de la carte?",
|
|
245
|
+
"many": "Êtes-vous certain de vouloir retirer tous les éléments sélectionnés de la carte?"
|
|
246
|
+
},
|
|
243
247
|
"hide": "Masquer le groupe",
|
|
244
248
|
"hideChildren": "Couche masquée par un groupe",
|
|
245
249
|
"show": "Afficher le groupe"
|
|
@@ -313,6 +317,9 @@
|
|
|
313
317
|
"cancel": "Annuler",
|
|
314
318
|
"fill": "Remplissage",
|
|
315
319
|
"stroke": "Contour",
|
|
320
|
+
"strokeWidth": "Épaisseur du contour",
|
|
321
|
+
"label": "Étiquette",
|
|
322
|
+
"radius": "Rayon",
|
|
316
323
|
"fontSize": "Taille de police",
|
|
317
324
|
"fontStyle": "Style de police",
|
|
318
325
|
"offsetX": "Décalage horizontal",
|
|
@@ -388,7 +395,7 @@
|
|
|
388
395
|
"buttons": {
|
|
389
396
|
"copyDirections": "Copier l'itinéraire dans le presse-papier",
|
|
390
397
|
"copyLink": "Copier le lien dans le presse-papier",
|
|
391
|
-
"
|
|
398
|
+
"printDirections": "Imprimer l'itinéraire",
|
|
392
399
|
"message": {
|
|
393
400
|
"copyDirections": "Itinéraire copié dans le presse papier",
|
|
394
401
|
"copyLink": "Lien copié dans le presse papier"
|
|
@@ -471,6 +478,8 @@
|
|
|
471
478
|
}
|
|
472
479
|
},
|
|
473
480
|
"routeOptions": "Choix d'itinéraires",
|
|
481
|
+
"routingSource": "Source d'itinéraire",
|
|
482
|
+
"routingSourceTooltip": "Changer de source recalcule immédiatement l'itinéraire",
|
|
474
483
|
"stepTitleTooltip": "Cadrer sur le lieu"
|
|
475
484
|
},
|
|
476
485
|
"toggle": {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@igo2/geo",
|
|
3
|
-
"version": "21.0.0-next.
|
|
3
|
+
"version": "21.0.0-next.51",
|
|
4
4
|
"description": "IGO Library",
|
|
5
5
|
"author": "IGO Community",
|
|
6
6
|
"keywords": [
|
|
@@ -22,6 +22,10 @@
|
|
|
22
22
|
"types": "./types/igo2-geo.d.ts",
|
|
23
23
|
"default": "./fesm2022/igo2-geo.mjs"
|
|
24
24
|
},
|
|
25
|
+
"./offline": {
|
|
26
|
+
"types": "./types/igo2-geo-offline.d.ts",
|
|
27
|
+
"default": "./fesm2022/igo2-geo-offline.mjs"
|
|
28
|
+
},
|
|
25
29
|
"./style": {
|
|
26
30
|
"sass": "./style/style.scss"
|
|
27
31
|
},
|
|
@@ -40,11 +44,12 @@
|
|
|
40
44
|
"@angular/material": "^21.0.0",
|
|
41
45
|
"@angular/material-moment-adapter": "^21.0.0",
|
|
42
46
|
"@angular/platform-browser": "^21.0.0",
|
|
43
|
-
"@igo2/
|
|
44
|
-
"@igo2/
|
|
45
|
-
"@igo2/
|
|
46
|
-
"@igo2/utils": "^21.0.0-next.5",
|
|
47
|
+
"@igo2/common": "^21.0.0-next.51",
|
|
48
|
+
"@igo2/core": "^21.0.0-next.51",
|
|
49
|
+
"@igo2/utils": "^21.0.0-next.51",
|
|
47
50
|
"@mat-datetimepicker/core": "^17.0.0",
|
|
51
|
+
"geostyler-legend": "^5.2.0",
|
|
52
|
+
"geostyler-openlayers-parser": "^5.7.0",
|
|
48
53
|
"@turf/boolean-intersects": "^7.3.0",
|
|
49
54
|
"@turf/buffer": "^7.3.0",
|
|
50
55
|
"@turf/helpers": "^7.3.0",
|
|
@@ -60,8 +65,8 @@
|
|
|
60
65
|
"jszip": "^3.10.0",
|
|
61
66
|
"moment": "^2.30.0",
|
|
62
67
|
"nosleep.js": "^0.12.0",
|
|
63
|
-
"ol-mapbox-style": "^13.
|
|
64
|
-
"ol": "^10.
|
|
68
|
+
"ol-mapbox-style": "^13.0.0",
|
|
69
|
+
"ol": "^10.0.0",
|
|
65
70
|
"proj4": "^2.20.0",
|
|
66
71
|
"rxjs": "^7.8.0",
|
|
67
72
|
"striptags": "^3.2.0",
|
package/src/style/style.scss
CHANGED
|
@@ -1 +1,13 @@
|
|
|
1
1
|
@use 'ol/ol';
|
|
2
|
+
|
|
3
|
+
.igo-map-tooltip-hidden,
|
|
4
|
+
.igo-map-tooltip-measure-by-display {
|
|
5
|
+
display: none;
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
.igo-map-tooltip-measure {
|
|
9
|
+
background-color: rgba(255, 204, 51, 0.7);
|
|
10
|
+
border: 1px solid rgb(255, 205, 51);
|
|
11
|
+
color: black;
|
|
12
|
+
font-weight: bold;
|
|
13
|
+
}
|
package/style/style.css
CHANGED
|
@@ -351,4 +351,16 @@
|
|
|
351
351
|
|
|
352
352
|
.ol-overviewmap .ol-viewport:hover {
|
|
353
353
|
cursor: pointer;
|
|
354
|
+
}
|
|
355
|
+
|
|
356
|
+
.igo-map-tooltip-hidden,
|
|
357
|
+
.igo-map-tooltip-measure-by-display {
|
|
358
|
+
display: none;
|
|
359
|
+
}
|
|
360
|
+
|
|
361
|
+
.igo-map-tooltip-measure {
|
|
362
|
+
background-color: rgba(255, 204, 51, 0.7);
|
|
363
|
+
border: 1px solid rgb(255, 205, 51);
|
|
364
|
+
color: black;
|
|
365
|
+
font-weight: bold;
|
|
354
366
|
}
|
|
@@ -0,0 +1,190 @@
|
|
|
1
|
+
import { Observable } from 'rxjs';
|
|
2
|
+
import * as i0 from '@angular/core';
|
|
3
|
+
import { Provider, EnvironmentProviders } from '@angular/core';
|
|
4
|
+
import { AnyLayerOptions, AnyDataSourceOptions, LayerId, LayerPersistence, AnyLayer, VectorLayerExtension, VectorLayerOptions, VectorLayerExtensionContext, VectorLayerExtensionInstance } from '@igo2/geo';
|
|
5
|
+
import { DBSchema, IDBPDatabase } from 'idb';
|
|
6
|
+
|
|
7
|
+
declare enum InsertSourceInsertDBEnum {
|
|
8
|
+
System = "system",
|
|
9
|
+
User = "user"
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
interface GeoDBData {
|
|
13
|
+
url: string;
|
|
14
|
+
regionID: any;
|
|
15
|
+
object: any;
|
|
16
|
+
compressed: boolean;
|
|
17
|
+
insertSource: InsertSourceInsertDBEnum;
|
|
18
|
+
insertEvent: string;
|
|
19
|
+
}
|
|
20
|
+
interface GeoDataToIDB {
|
|
21
|
+
triggerDate: Date | string;
|
|
22
|
+
action: 'delete' | 'update';
|
|
23
|
+
urls: string[];
|
|
24
|
+
source?: string;
|
|
25
|
+
zippedBaseUrl?: string;
|
|
26
|
+
}
|
|
27
|
+
interface DatasToIDB {
|
|
28
|
+
geoDatas: GeoDataToIDB[];
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
declare class GeoDB {
|
|
32
|
+
private db$;
|
|
33
|
+
private compression;
|
|
34
|
+
collisionsMap: Map<string | number, string[]>;
|
|
35
|
+
_newData: number;
|
|
36
|
+
private revertObservablesSubscription;
|
|
37
|
+
constructor();
|
|
38
|
+
/**
|
|
39
|
+
* Only blob can be compressed
|
|
40
|
+
* @param url
|
|
41
|
+
* @param regionID
|
|
42
|
+
* @param object object to handle
|
|
43
|
+
* @param insertSource type of event user or system
|
|
44
|
+
* @param insertEvent Name of the event where the insert has been triggered
|
|
45
|
+
* @returns
|
|
46
|
+
*/
|
|
47
|
+
update(url: string, regionID: number | string, object: object | Blob, insertSource: InsertSourceInsertDBEnum, insertEvent: string): Observable<GeoDBData>;
|
|
48
|
+
private customUpdate;
|
|
49
|
+
add(geoDBData: GeoDBData): Observable<GeoDBData>;
|
|
50
|
+
put(geoDBData: GeoDBData): Observable<GeoDBData>;
|
|
51
|
+
getGeoDBData(url: string): Observable<GeoDBData | undefined>;
|
|
52
|
+
get(url: string): Observable<object | Blob>;
|
|
53
|
+
delete(key: string): Observable<object>;
|
|
54
|
+
getRegionCountByID(id: number): Observable<number>;
|
|
55
|
+
getRegionByID(id: number): Observable<GeoDBData[]>;
|
|
56
|
+
deleteByRegionID(id: number): Observable<void[]>;
|
|
57
|
+
resetCounters(): void;
|
|
58
|
+
resetCollisionsMap(): void;
|
|
59
|
+
revertCollisions(): void;
|
|
60
|
+
get newData(): number;
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
declare class GeoDataSyncService {
|
|
64
|
+
private http;
|
|
65
|
+
private messageService;
|
|
66
|
+
load(urlFile: string): void;
|
|
67
|
+
private handleConfigFileError;
|
|
68
|
+
private processGeoDatas;
|
|
69
|
+
private updateGeoData;
|
|
70
|
+
private downloadAndStore;
|
|
71
|
+
private handleDownloadError;
|
|
72
|
+
private storeZippedGeoData;
|
|
73
|
+
private extractZipGeojsonEntries;
|
|
74
|
+
private showDownloadStartMessage;
|
|
75
|
+
private notifyDownloadCompleted;
|
|
76
|
+
private isZip;
|
|
77
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<GeoDataSyncService, never>;
|
|
78
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<GeoDataSyncService>;
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
interface LayerDBData {
|
|
82
|
+
layerId: string;
|
|
83
|
+
layerOptions: AnyLayerOptions;
|
|
84
|
+
sourceOptions: AnyDataSourceOptions;
|
|
85
|
+
insertEvent: string;
|
|
86
|
+
detailedContextUri: string;
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
declare class LayerDB {
|
|
90
|
+
private readonly dbPromise;
|
|
91
|
+
constructor();
|
|
92
|
+
/**
|
|
93
|
+
* This method allow to update the stored layer into the indexeddb (layerData)
|
|
94
|
+
* @param layerDBData
|
|
95
|
+
* @returns
|
|
96
|
+
*/
|
|
97
|
+
update(layerDBData: LayerDBData): Observable<LayerDBData>;
|
|
98
|
+
private updateAsync;
|
|
99
|
+
add(layerDBData: LayerDBData): Observable<LayerDBData>;
|
|
100
|
+
private addAsync;
|
|
101
|
+
/**
|
|
102
|
+
* This method retrieve an idb layer definition
|
|
103
|
+
* @param layerId
|
|
104
|
+
* @returns
|
|
105
|
+
*/
|
|
106
|
+
getByID(layerId: LayerId): Observable<LayerDBData | undefined>;
|
|
107
|
+
private getByIDAsync;
|
|
108
|
+
/**
|
|
109
|
+
* This method delete an idb layer definition
|
|
110
|
+
* @param key
|
|
111
|
+
* @returns
|
|
112
|
+
*/
|
|
113
|
+
delete(key: string): Observable<object>;
|
|
114
|
+
private deleteAsync;
|
|
115
|
+
/**
|
|
116
|
+
* This method retrive all idb layer definition
|
|
117
|
+
* @param layerId
|
|
118
|
+
* @returns
|
|
119
|
+
*/
|
|
120
|
+
getAll(): Observable<LayerDBData[]>;
|
|
121
|
+
private getAllAsync;
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
type ResponseType = 'arraybuffer' | 'json' | 'text' | 'xml' | 'blob';
|
|
125
|
+
interface SimpleGetOptions {
|
|
126
|
+
responseType: ResponseType;
|
|
127
|
+
withCredentials?: boolean;
|
|
128
|
+
}
|
|
129
|
+
declare class GeoNetworkService {
|
|
130
|
+
private http;
|
|
131
|
+
private networkService;
|
|
132
|
+
private networkOnline;
|
|
133
|
+
constructor();
|
|
134
|
+
get(url: string, simpleGetOptions: SimpleGetOptions): Observable<any>;
|
|
135
|
+
private getOnline;
|
|
136
|
+
private getOffline;
|
|
137
|
+
isOnline(): boolean;
|
|
138
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<GeoNetworkService, never>;
|
|
139
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<GeoNetworkService>;
|
|
140
|
+
}
|
|
141
|
+
|
|
142
|
+
interface IgoDBSchema extends DBSchema {
|
|
143
|
+
geoData: {
|
|
144
|
+
value: GeoDBData;
|
|
145
|
+
key: string;
|
|
146
|
+
indexes: {
|
|
147
|
+
'regionID-idx': string;
|
|
148
|
+
};
|
|
149
|
+
};
|
|
150
|
+
layerData: {
|
|
151
|
+
value: LayerDBData;
|
|
152
|
+
key: string;
|
|
153
|
+
};
|
|
154
|
+
}
|
|
155
|
+
|
|
156
|
+
declare function createIndexedDb(): Promise<IDBPDatabase<IgoDBSchema>>;
|
|
157
|
+
|
|
158
|
+
declare class IndexedDbLayerPersistenceService implements LayerPersistence {
|
|
159
|
+
private readonly geoDB;
|
|
160
|
+
private readonly layerDB;
|
|
161
|
+
isPersistent(layer: AnyLayer): boolean;
|
|
162
|
+
removePersistedData(layer: AnyLayer): void;
|
|
163
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<IndexedDbLayerPersistenceService, never>;
|
|
164
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<IndexedDbLayerPersistenceService>;
|
|
165
|
+
}
|
|
166
|
+
|
|
167
|
+
declare class IndexedDbVectorLayerExtension implements VectorLayerExtension {
|
|
168
|
+
readonly id = "indexed-db";
|
|
169
|
+
readonly priority = 100;
|
|
170
|
+
private readonly geoDB;
|
|
171
|
+
private readonly layerDB;
|
|
172
|
+
private readonly geoNetworkService;
|
|
173
|
+
supports(options: VectorLayerOptions): boolean;
|
|
174
|
+
attach(context: VectorLayerExtensionContext): VectorLayerExtensionInstance;
|
|
175
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<IndexedDbVectorLayerExtension, never>;
|
|
176
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<IndexedDbVectorLayerExtension>;
|
|
177
|
+
}
|
|
178
|
+
|
|
179
|
+
declare const OfflineFeatureKind: readonly ["IndexedDb"];
|
|
180
|
+
type OfflineFeatureKind = (typeof OfflineFeatureKind)[number];
|
|
181
|
+
interface OfflineFeature<KindT extends OfflineFeatureKind> {
|
|
182
|
+
kind: KindT;
|
|
183
|
+
providers: (Provider | EnvironmentProviders)[];
|
|
184
|
+
}
|
|
185
|
+
|
|
186
|
+
declare function provideOffline(...features: OfflineFeature<OfflineFeatureKind>[]): EnvironmentProviders;
|
|
187
|
+
declare function withIndexedDb(): OfflineFeature<'IndexedDb'>;
|
|
188
|
+
|
|
189
|
+
export { GeoDB, GeoDataSyncService, GeoNetworkService, IndexedDbLayerPersistenceService, IndexedDbVectorLayerExtension, InsertSourceInsertDBEnum, LayerDB, OfflineFeatureKind, createIndexedDb, provideOffline, withIndexedDb };
|
|
190
|
+
export type { DatasToIDB, GeoDBData, GeoDataToIDB, IgoDBSchema, LayerDBData, OfflineFeature, ResponseType, SimpleGetOptions };
|