@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.
@@ -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": {
@@ -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.2",
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/auth": "^21.0.0-next.2",
44
- "@igo2/common": "^21.0.0-next.2",
45
- "@igo2/core": "^21.0.0-next.2",
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.7.21",
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 };