ol-wfst 1.0.7 → 3.0.0

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.
Files changed (41) hide show
  1. package/CHANGELOG.md +26 -1
  2. package/README.md +125 -48
  3. package/dist/@enums.d.ts +12 -0
  4. package/dist/@enums.d.ts.map +1 -0
  5. package/dist/assets/i18n/en.d.ts +3 -0
  6. package/dist/assets/i18n/en.d.ts.map +1 -0
  7. package/dist/assets/i18n/es.d.ts +3 -0
  8. package/dist/assets/i18n/es.d.ts.map +1 -0
  9. package/dist/assets/i18n/index.d.ts +3 -0
  10. package/dist/assets/i18n/index.d.ts.map +1 -0
  11. package/dist/css/ol-wfst.bootstrap5.css +863 -0
  12. package/dist/css/ol-wfst.bootstrap5.min.css +1 -0
  13. package/dist/css/ol-wfst.css +172 -127
  14. package/dist/css/ol-wfst.min.css +1 -1
  15. package/dist/ol-wfst.d.ts +143 -86
  16. package/dist/ol-wfst.d.ts.map +1 -0
  17. package/dist/ol-wfst.js +5313 -4575
  18. package/dist/ol-wfst.js.map +1 -0
  19. package/dist/ol-wfst.min.js +16 -1
  20. package/dist/ol-wfst.min.js.map +1 -0
  21. package/dist/tsconfig.tsbuildinfo +1 -0
  22. package/lib/@enums.d.ts +12 -0
  23. package/lib/@enums.d.ts.map +1 -0
  24. package/lib/assets/i18n/en.d.ts +3 -0
  25. package/lib/assets/i18n/en.d.ts.map +1 -0
  26. package/lib/assets/i18n/es.d.ts +3 -0
  27. package/lib/assets/i18n/es.d.ts.map +1 -0
  28. package/lib/assets/i18n/index.d.ts +3 -0
  29. package/lib/assets/i18n/index.d.ts.map +1 -0
  30. package/lib/ol-wfst.d.ts +143 -86
  31. package/lib/ol-wfst.d.ts.map +1 -0
  32. package/lib/ol-wfst.js +2126 -2195
  33. package/lib/ol-wfst.js.map +1 -0
  34. package/lib/style/css/ol-gisify.css +267 -0
  35. package/lib/style/css/ol-wfst.bootstrap5.css +863 -0
  36. package/lib/style/scss/-ol-wfst.bootstrap5.scss +10 -0
  37. package/lib/{css/ol-wfst.css → style/scss/ol-wfst.scss} +7 -2
  38. package/lib/tsconfig.tsbuildinfo +1 -0
  39. package/package.json +70 -66
  40. package/dist/css/bootstrap-modal.min.css +0 -7
  41. package/lib/css/bootstrap-modal.min.css +0 -7
package/dist/ol-wfst.d.ts CHANGED
@@ -1,13 +1,17 @@
1
- import GeometryType from 'ol/geom/GeometryType';
1
+ import { Geometry } from 'ol/geom';
2
2
  import { Style } from 'ol/style';
3
3
  import { Control } from 'ol/control';
4
4
  import { Draw, Modify, Select, Snap } from 'ol/interaction';
5
5
  import { EventsKey } from 'ol/events';
6
- import { Feature, Overlay, PluggableMap, View } from 'ol';
6
+ import { Collection, Feature, Overlay, PluggableMap, View } from 'ol';
7
+ import { FeatureLike } from 'ol/Feature';
7
8
  import { GeoJSON, KML, WFS } from 'ol/format';
8
9
  import { Tile as TileLayer, Vector as VectorLayer } from 'ol/layer';
9
10
  import { Options as VectorLayerOptions } from 'ol/layer/BaseVector';
10
- import './assets/css/ol-wfst.css';
11
+ import { ProjectionLike } from 'ol/proj';
12
+ import { GeometryType } from './@enums';
13
+ import './assets/scss/-ol-wfst.bootstrap5.scss';
14
+ import './assets/scss/ol-wfst.scss';
11
15
  /**
12
16
  * Tiny WFST-T client to insert (drawing/uploading), modify and delete
13
17
  * features on GeoServers using OpenLayers. Layers with these types
@@ -16,17 +20,25 @@ import './assets/css/ol-wfst.css';
16
20
  * "LineString", "MultiLineString", "Polygon" and "MultiPolygon".
17
21
  *
18
22
  * @constructor
19
- * @param map Instance of the created map
23
+ * @fires getCapabilities
24
+ * @fires describeFeatureType
25
+ * @fires allDescribeFeatureTypeLoaded
26
+ * @fires getFeature
27
+ * @fires modifystart
28
+ * @fires modifyend
29
+ * @fires drawstart
30
+ * @fires drawend
31
+ * @extends {ol/control/Control~Control}
20
32
  * @param opt_options Wfst options, see [Wfst Options](#options) for more details.
21
33
  */
22
- export default class Wfst {
23
- protected options: Options;
24
- protected _i18n: i18n;
25
- map: PluggableMap;
26
- view: View;
34
+ export default class Wfst extends Control {
35
+ protected _options: Options;
36
+ protected _i18n: I18n;
37
+ _map: PluggableMap;
38
+ _view: View;
27
39
  overlay: Overlay;
28
- viewport: HTMLElement;
29
- protected _mapLayers: Array<VectorLayer | TileLayer>;
40
+ _viewport: HTMLElement;
41
+ protected _mapLayers: Array<VectorLayer<any> | TileLayer<any>>;
30
42
  protected _geoServerData: LayerData;
31
43
  protected _useLockFeature: boolean;
32
44
  protected _hasLockFeature: boolean;
@@ -34,6 +46,7 @@ export default class Wfst {
34
46
  protected _geoServerCapabilities: XMLDocument;
35
47
  protected interactionWfsSelect: Select;
36
48
  protected interactionSelectModify: Select;
49
+ protected _collectionModify: Collection<any>;
37
50
  protected interactionModify: Modify;
38
51
  protected interactionSnap: Snap;
39
52
  protected interactionDraw: Draw;
@@ -41,7 +54,6 @@ export default class Wfst {
41
54
  protected _keyRemove: EventsKey;
42
55
  protected _keySelect: EventsKey;
43
56
  protected _controlApplyDiscardChanges: Control;
44
- protected _controlWidgetTools: Control;
45
57
  protected _controlWidgetToolsDiv: HTMLElement;
46
58
  protected _formatWFS: WFS;
47
59
  protected _formatGeoJSON: GeoJSON;
@@ -52,18 +64,22 @@ export default class Wfst {
52
64
  protected _currentZoom: number;
53
65
  protected _lastZoom: number;
54
66
  protected _editedFeatures: Set<string>;
55
- protected _editLayer: VectorLayer;
67
+ protected _editLayer: VectorLayer<any>;
56
68
  protected _isEditModeOn: boolean;
57
69
  protected _isDrawModeOn: boolean;
58
- protected _editFeature: Feature;
59
- protected _editFeatureOriginal: Feature;
70
+ protected _editFeature: Feature<Geometry>;
71
+ protected _editFeatureOriginal: Feature<Geometry>;
60
72
  protected _layerToInsertElements: string;
61
- protected _insertFeatures: Array<Feature>;
62
- protected _updateFeatures: Array<Feature>;
63
- protected _deleteFeatures: Array<Feature>;
73
+ protected _insertFeatures: Array<Feature<Geometry>>;
74
+ protected _updateFeatures: Array<Feature<Geometry>>;
75
+ protected _deleteFeatures: Array<Feature<Geometry>>;
64
76
  protected _modalLoading: HTMLDivElement;
65
77
  protected _selectDraw: HTMLSelectElement;
66
- constructor(map: PluggableMap, opt_options?: Options);
78
+ constructor(opt_options?: Options);
79
+ /**
80
+ * @private
81
+ */
82
+ _onLoad(): void;
67
83
  /**
68
84
  * Connect to the GeoServer and retrieve metadata about the service (GetCapabilities).
69
85
  * Get each layer specs (DescribeFeatureType) and create the layers and map controls.
@@ -74,19 +90,14 @@ export default class Wfst {
74
90
  * @private
75
91
  */
76
92
  _initAsyncOperations(): Promise<void>;
77
- /**
78
- * Creates a base control
79
- *
80
- * @private
81
- */
82
- _createBaseControl(): void;
83
93
  /**
84
94
  * Get the capabilities from the GeoServer and check
85
95
  * all the available operations.
86
96
  *
97
+ * @fires capabilitiesLoaded
87
98
  * @private
88
99
  */
89
- _connectToGeoServerAndGetCapabilities(): Promise<boolean>;
100
+ _connectToGeoServerAndGetCapabilities(): Promise<void>;
90
101
  /**
91
102
  * Request and store data layers obtained by DescribeFeatureType
92
103
  *
@@ -117,13 +128,11 @@ export default class Wfst {
117
128
  _addInteractions(): void;
118
129
  /**
119
130
  * Layer to store temporary the elements to be edited
120
- *
121
131
  * @private
122
132
  */
123
133
  _createEditLayer(): void;
124
134
  /**
125
135
  * Add map handlers
126
- *
127
136
  * @private
128
137
  */
129
138
  _addHandlers(): void;
@@ -133,11 +142,14 @@ export default class Wfst {
133
142
  */
134
143
  _addMapControl(): void;
135
144
  /**
136
- * Show Loading modal
137
- *
145
+ * Show Loading
138
146
  * @private
139
147
  */
140
148
  _showLoading(): void;
149
+ /**
150
+ * Hide loading
151
+ * @private
152
+ */
141
153
  _hideLoading(): void;
142
154
  /**
143
155
  * Lock a feature in the geoserver before edit
@@ -154,7 +166,7 @@ export default class Wfst {
154
166
  * @param msg
155
167
  * @private
156
168
  */
157
- _showError(msg: string): void;
169
+ _showError(msg: string, originalError?: Error): void;
158
170
  /**
159
171
  * Make the WFS Transactions
160
172
  *
@@ -163,39 +175,43 @@ export default class Wfst {
163
175
  * @param layerName
164
176
  * @private
165
177
  */
166
- _transactWFS(action: string, features: Array<Feature> | Feature, layerName: string): Promise<void>;
178
+ _transactWFS(action: string, features: Array<Feature<Geometry>> | Feature<Geometry>, layerName: string): Promise<void>;
167
179
  /**
168
180
  *
169
181
  * @param feature
170
182
  * @private
171
183
  */
172
- _addFeatureToEditedList(feature: Feature): void;
184
+ _addFeatureToEditedList(feature: FeatureLike): void;
173
185
  /**
174
186
  *
175
187
  * @param feature
176
188
  * @private
177
189
  */
178
- _removeFeatureFromEditList(feature: Feature): void;
190
+ _removeFeatureFromEditList(feature: FeatureLike): void;
179
191
  /**
180
192
  *
181
193
  * @param feature
182
194
  * @private
183
195
  */
184
- _isFeatureEdited(feature: Feature): boolean;
196
+ _isFeatureEdited(feature: FeatureLike): boolean;
185
197
  /**
186
198
  *
187
199
  * @param feature
188
200
  * @private
189
201
  */
190
- _deselectEditFeature(feature: Feature): void;
202
+ _deselectEditFeature(feature: FeatureLike): void;
191
203
  /**
192
204
  *
193
205
  * @param feature
194
206
  * @param layerName
195
207
  * @private
196
208
  */
197
- _restoreFeatureToLayer(feature: Feature, layerName?: string): void;
198
- _removeFeatureFromTmpLayer(feature: Feature): void;
209
+ _restoreFeatureToLayer(feature: Feature<Geometry>, layerName?: string): void;
210
+ /**
211
+ * @private
212
+ * @param feature
213
+ */
214
+ _removeFeatureFromTmpLayer(feature: Feature<Geometry>): void;
199
215
  /**
200
216
  * Trigger on deselecting a feature from in the Edit layer
201
217
  *
@@ -216,13 +232,13 @@ export default class Wfst {
216
232
  * @param feature
217
233
  * @private
218
234
  */
219
- _styleFunction(feature: Feature): Array<Style>;
235
+ _styleFunction(feature: Feature<Geometry>): Array<Style>;
220
236
  /**
221
237
  *
222
238
  * @param feature
223
239
  * @private
224
240
  */
225
- _editModeOn(feature: Feature): void;
241
+ _editModeOn(feature: Feature<Geometry>): void;
226
242
  /**
227
243
  * @private
228
244
  */
@@ -233,7 +249,7 @@ export default class Wfst {
233
249
  * @param feature
234
250
  * @private
235
251
  */
236
- _deleteFeature(feature: Feature, confirm: boolean): void;
252
+ _deleteFeature(feature: Feature<Geometry>, confirm: boolean): void;
237
253
  /**
238
254
  * Add a feature to the Edit Layer to allow editing, and creates an Overlay Helper to show options
239
255
  *
@@ -242,7 +258,7 @@ export default class Wfst {
242
258
  * @param layerName
243
259
  * @private
244
260
  */
245
- _addFeatureToEdit(feature: Feature, coordinate?: any, layerName?: any): void;
261
+ _addFeatureToEdit(feature: Feature<Geometry>, coordinate?: any, layerName?: any): void;
246
262
  /**
247
263
  * Removes in the DOM the class of the tools
248
264
  * @private
@@ -255,7 +271,7 @@ export default class Wfst {
255
271
  * @param featureToInsert
256
272
  * @private
257
273
  */
258
- _initUploadFileModal(content: string, featuresToInsert: Array<Feature>): void;
274
+ _initUploadFileModal(content: string, featuresToInsert: Array<Feature<Geometry>>): void;
259
275
  /**
260
276
  * Parse and check geometry of uploaded files
261
277
  *
@@ -268,6 +284,7 @@ export default class Wfst {
268
284
  *
269
285
  * @param layerName
270
286
  * @param geomDrawTypeSelected
287
+ * @private
271
288
  */
272
289
  _changeStateSelect(layerName: string, geomDrawTypeSelected?: GeometryType): GeometryType;
273
290
  /**
@@ -292,20 +309,20 @@ export default class Wfst {
292
309
  * @param features
293
310
  * @public
294
311
  */
295
- insertFeaturesTo(layerName: string, features: Array<Feature>): void;
312
+ insertFeaturesTo(layerName: string, features: Array<Feature<Geometry>>): void;
296
313
  /**
297
314
  * Shows a fields form in a modal window to allow changes in the properties of the feature.
298
315
  *
299
316
  * @param feature
300
317
  * @private
301
318
  */
302
- _initEditFieldsModal(feature: Feature): void;
319
+ _initEditFieldsModal(feature: Feature<Geometry>): void;
303
320
  /**
304
321
  * Remove the overlay helper atttached to a specify feature
305
322
  * @param feature
306
323
  * @private
307
324
  */
308
- _removeOverlayHelper(feature: Feature): void;
325
+ _removeOverlayHelper(feature: FeatureLike): void;
309
326
  }
310
327
  /**
311
328
  * **_[interface]_** - Wfst Options specified when creating a Wfst instance
@@ -314,6 +331,14 @@ export default class Wfst {
314
331
  * ```javascript
315
332
  * {
316
333
  * geoServerUrl: null,
334
+ * geoServerAdvanced: {
335
+ * getCapabilitiesVersion: '1.3.0',
336
+ * getFeatureVersion: '1.0.0',
337
+ * describeFeatureTypeVersion: '1.1.0',
338
+ * lockFeatureVersion: '1.1.0',
339
+ * wfsTransactionVersion: '1.1.0',
340
+ * projection: 'EPSG:3857'
341
+ * },
317
342
  * headers: {},
318
343
  * layers: null,
319
344
  * evtType: 'singleclick',
@@ -321,7 +346,8 @@ export default class Wfst {
321
346
  * showControl: true,
322
347
  * useLockFeature: true,
323
348
  * minZoom: 9,
324
- * language: 'es',
349
+ * language: 'en',
350
+ * i18n: {...}, // according to language selection
325
351
  * uploadFormats: '.geojson,.json,.kml',
326
352
  * processUpload: null,
327
353
  * beforeInsertFeature: null,
@@ -333,6 +359,17 @@ interface Options {
333
359
  * Url for OWS services. This endpoint will recive the WFS, WFST and WMS requests
334
360
  */
335
361
  geoServerUrl: string;
362
+ /**
363
+ * Advanced options for geoserver requests
364
+ */
365
+ geoServerAdvanced?: {
366
+ getCapabilitiesVersion?: string;
367
+ getFeatureVersion?: string;
368
+ lockFeatureVersion?: string;
369
+ describeFeatureTypeVersion?: string;
370
+ wfsTransactionVersion?: string;
371
+ projection?: ProjectionLike;
372
+ };
336
373
  /**
337
374
  * Url headers for GeoServer requests. You can use it to add Authorization credentials
338
375
  */
@@ -363,10 +400,27 @@ interface Options {
363
400
  * Zoom level to hide features to prevent too much features being loaded
364
401
  */
365
402
  minZoom?: number;
403
+ /**
404
+ * Modal configuration
405
+ */
406
+ modal?: {
407
+ animateClass?: string;
408
+ animateInClass?: string;
409
+ transition?: number;
410
+ backdropTransition?: number;
411
+ templates?: {
412
+ dialog?: string | HTMLElement;
413
+ headerClose?: string | HTMLElement;
414
+ };
415
+ };
366
416
  /**
367
417
  * Language to be used
368
418
  */
369
419
  language?: 'es' | 'en';
420
+ /**
421
+ * Custom translations
422
+ */
423
+ i18n?: I18n;
370
424
  /**
371
425
  * Show/hide the upload button
372
426
  */
@@ -381,12 +435,12 @@ interface Options {
381
435
  * by filtering the extension. If this doesn't return features, the default function
382
436
  * will be used to extract them.
383
437
  */
384
- processUpload?(file: File): Array<Feature>;
438
+ processUpload?(file: File): Array<Feature<Geometry>>;
385
439
  /**
386
440
  * Triggered before inserting new features to the Geoserver.
387
441
  * Use this to insert custom properties, modify the feature, etc.
388
442
  */
389
- beforeInsertFeature?(feature: Feature): Feature;
443
+ beforeInsertFeature?(feature: Feature<Geometry>): Feature<Geometry>;
390
444
  }
391
445
  /**
392
446
  * **_[interface]_** - Parameters to create the layers and connect to the GeoServer
@@ -397,7 +451,7 @@ interface Options {
397
451
  * ```javascript
398
452
  * {
399
453
  * name: null,
400
- * label: (same as name),
454
+ * label: null, // `name` if not provided
401
455
  * mode: 'wfs',
402
456
  * wfsStrategy: 'bbox',
403
457
  * cqlFilter: null,
@@ -406,7 +460,7 @@ interface Options {
406
460
  * ```
407
461
  *
408
462
  */
409
- interface LayerParams extends Omit<VectorLayerOptions, 'source'> {
463
+ interface LayerParams extends Omit<VectorLayerOptions<any>, 'source'> {
410
464
  /**
411
465
  * Layer name in the GeoServer
412
466
  */
@@ -449,42 +503,45 @@ interface LayerData {
449
503
  }
450
504
  /**
451
505
  * **_[interface]_** - Custom Language specified when creating a WFST instance
452
- * @protected
453
506
  */
454
- interface i18n {
455
- labels: {
456
- select: string;
457
- addElement: string;
458
- editElement: string;
459
- save: string;
460
- delete: string;
461
- cancel: string;
462
- apply: string;
463
- upload: string;
464
- editMode: string;
465
- confirmDelete: string;
466
- geomTypeNotSupported: string;
467
- editFields: string;
468
- editGeom: string;
469
- selectDrawType: string;
470
- uploadToLayer: string;
471
- uploadFeatures: string;
472
- validFeatures: string;
473
- invalidFeatures: string;
474
- loading: string;
475
- toggleVisibility: string;
507
+ interface I18n {
508
+ /** Labels section */
509
+ labels?: {
510
+ select?: string;
511
+ addElement?: string;
512
+ editElement?: string;
513
+ save?: string;
514
+ delete?: string;
515
+ cancel?: string;
516
+ apply?: string;
517
+ upload?: string;
518
+ editMode?: string;
519
+ confirmDelete?: string;
520
+ geomTypeNotSupported?: string;
521
+ editFields?: string;
522
+ editGeom?: string;
523
+ selectDrawType?: string;
524
+ uploadToLayer?: string;
525
+ uploadFeatures?: string;
526
+ validFeatures?: string;
527
+ invalidFeatures?: string;
528
+ loading?: string;
529
+ toggleVisibility?: string;
530
+ close?: string;
476
531
  };
477
- errors: {
478
- capabilities: string;
479
- wfst: string;
480
- layer: string;
481
- noValidGeometry: string;
482
- geoserver: string;
483
- badFormat: string;
484
- badFile: string;
485
- lockFeature: string;
486
- transaction: string;
487
- getFeatures: string;
532
+ /** Errors section */
533
+ errors?: {
534
+ capabilities?: string;
535
+ wfst?: string;
536
+ layer?: string;
537
+ noValidGeometry?: string;
538
+ geoserver?: string;
539
+ badFormat?: string;
540
+ badFile?: string;
541
+ lockFeature?: string;
542
+ transaction?: string;
543
+ getFeatures?: string;
488
544
  };
489
545
  }
490
- export { Options, i18n, LayerParams };
546
+ export { Options, I18n, LayerParams };
547
+ //# sourceMappingURL=ol-wfst.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ol-wfst.d.ts","sourceRoot":"","sources":["../src/ol-wfst.ts"],"names":[],"mappings":"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"}