@igo2/geo 21.0.0-next.2 → 21.0.0-next.21
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 +12406 -12684
- package/fesm2022/igo2-geo.mjs.map +1 -1
- package/locale/en.geo.json +5 -0
- package/locale/fr.geo.json +5 -0
- package/package.json +11 -6
- package/types/igo2-geo-offline.d.ts +190 -0
- package/types/igo2-geo.d.ts +2546 -2578
package/locale/en.geo.json
CHANGED
|
@@ -314,6 +314,9 @@
|
|
|
314
314
|
"cancel": "Cancel",
|
|
315
315
|
"fill": "Fill",
|
|
316
316
|
"stroke": "Stroke",
|
|
317
|
+
"strokeWidth": "Stroke width",
|
|
318
|
+
"label": "Label",
|
|
319
|
+
"radius": "Radius",
|
|
317
320
|
"fontSize": "Font size",
|
|
318
321
|
"fontStyle": "Font style",
|
|
319
322
|
"offsetX": "Horizontal offset",
|
|
@@ -472,6 +475,8 @@
|
|
|
472
475
|
}
|
|
473
476
|
},
|
|
474
477
|
"routeOptions": "Route options",
|
|
478
|
+
"routingSource": "Routing source",
|
|
479
|
+
"routingSourceTooltip": "Changing source recalculates the route immediately",
|
|
475
480
|
"stepTitleTooltip": "Zoom on location"
|
|
476
481
|
},
|
|
477
482
|
"toggle": {
|
package/locale/fr.geo.json
CHANGED
|
@@ -313,6 +313,9 @@
|
|
|
313
313
|
"cancel": "Annuler",
|
|
314
314
|
"fill": "Remplissage",
|
|
315
315
|
"stroke": "Contour",
|
|
316
|
+
"strokeWidth": "Épaisseur du contour",
|
|
317
|
+
"label": "Étiquette",
|
|
318
|
+
"radius": "Rayon",
|
|
316
319
|
"fontSize": "Taille de police",
|
|
317
320
|
"fontStyle": "Style de police",
|
|
318
321
|
"offsetX": "Décalage horizontal",
|
|
@@ -471,6 +474,8 @@
|
|
|
471
474
|
}
|
|
472
475
|
},
|
|
473
476
|
"routeOptions": "Choix d'itinéraires",
|
|
477
|
+
"routingSource": "Source d'itinéraire",
|
|
478
|
+
"routingSourceTooltip": "Changer de source recalcule immédiatement l'itinéraire",
|
|
474
479
|
"stepTitleTooltip": "Cadrer sur le lieu"
|
|
475
480
|
},
|
|
476
481
|
"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.21",
|
|
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.2",
|
|
47
|
+
"@igo2/common": "^21.0.0-next.21",
|
|
48
|
+
"@igo2/core": "^21.0.0-next.21",
|
|
49
|
+
"@igo2/utils": "^21.0.0-next.21",
|
|
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",
|
|
@@ -52,7 +57,7 @@
|
|
|
52
57
|
"@turf/line-intersect": "^7.3.0",
|
|
53
58
|
"@turf/point-on-feature": "^7.3.0",
|
|
54
59
|
"file-saver": "^2.0.0",
|
|
55
|
-
"flexsearch": "0.
|
|
60
|
+
"flexsearch": "^0.8.0",
|
|
56
61
|
"html2canvas": "^1.4.0",
|
|
57
62
|
"idb": "^8.0.0",
|
|
58
63
|
"jspdf": "^4.2.0",
|
|
@@ -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 };
|