ol-wfst 1.0.8 → 3.0.1

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 +24 -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 -128
  14. package/dist/css/ol-wfst.min.css +1 -1
  15. package/dist/ol-wfst.d.ts +142 -86
  16. package/dist/ol-wfst.d.ts.map +1 -0
  17. package/dist/ol-wfst.js +5327 -4595
  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 +142 -86
  31. package/lib/ol-wfst.d.ts.map +1 -0
  32. package/lib/ol-wfst.js +2123 -2200
  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 -3
  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
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,7 +46,7 @@ export default class Wfst {
34
46
  protected _geoServerCapabilities: XMLDocument;
35
47
  protected interactionWfsSelect: Select;
36
48
  protected interactionSelectModify: Select;
37
- protected collectionModify: Collection<any>;
49
+ protected _collectionModify: Collection<any>;
38
50
  protected interactionModify: Modify;
39
51
  protected interactionSnap: Snap;
40
52
  protected interactionDraw: Draw;
@@ -42,7 +54,6 @@ export default class Wfst {
42
54
  protected _keyRemove: EventsKey;
43
55
  protected _keySelect: EventsKey;
44
56
  protected _controlApplyDiscardChanges: Control;
45
- protected _controlWidgetTools: Control;
46
57
  protected _controlWidgetToolsDiv: HTMLElement;
47
58
  protected _formatWFS: WFS;
48
59
  protected _formatGeoJSON: GeoJSON;
@@ -53,18 +64,22 @@ export default class Wfst {
53
64
  protected _currentZoom: number;
54
65
  protected _lastZoom: number;
55
66
  protected _editedFeatures: Set<string>;
56
- protected _editLayer: VectorLayer;
67
+ protected _editLayer: VectorLayer<any>;
57
68
  protected _isEditModeOn: boolean;
58
69
  protected _isDrawModeOn: boolean;
59
- protected _editFeature: Feature;
60
- protected _editFeatureOriginal: Feature;
70
+ protected _editFeature: Feature<Geometry>;
71
+ protected _editFeatureOriginal: Feature<Geometry>;
61
72
  protected _layerToInsertElements: string;
62
- protected _insertFeatures: Array<Feature>;
63
- protected _updateFeatures: Array<Feature>;
64
- protected _deleteFeatures: Array<Feature>;
73
+ protected _insertFeatures: Array<Feature<Geometry>>;
74
+ protected _updateFeatures: Array<Feature<Geometry>>;
75
+ protected _deleteFeatures: Array<Feature<Geometry>>;
65
76
  protected _modalLoading: HTMLDivElement;
66
77
  protected _selectDraw: HTMLSelectElement;
67
- constructor(map: PluggableMap, opt_options?: Options);
78
+ constructor(opt_options?: Options);
79
+ /**
80
+ * @private
81
+ */
82
+ _onLoad(): void;
68
83
  /**
69
84
  * Connect to the GeoServer and retrieve metadata about the service (GetCapabilities).
70
85
  * Get each layer specs (DescribeFeatureType) and create the layers and map controls.
@@ -75,19 +90,14 @@ export default class Wfst {
75
90
  * @private
76
91
  */
77
92
  _initAsyncOperations(): Promise<void>;
78
- /**
79
- * Creates a base control
80
- *
81
- * @private
82
- */
83
- _createBaseControl(): void;
84
93
  /**
85
94
  * Get the capabilities from the GeoServer and check
86
95
  * all the available operations.
87
96
  *
97
+ * @fires capabilitiesLoaded
88
98
  * @private
89
99
  */
90
- _connectToGeoServerAndGetCapabilities(): Promise<boolean>;
100
+ _connectToGeoServerAndGetCapabilities(): Promise<void>;
91
101
  /**
92
102
  * Request and store data layers obtained by DescribeFeatureType
93
103
  *
@@ -118,13 +128,11 @@ export default class Wfst {
118
128
  _addInteractions(): void;
119
129
  /**
120
130
  * Layer to store temporary the elements to be edited
121
- *
122
131
  * @private
123
132
  */
124
133
  _createEditLayer(): void;
125
134
  /**
126
135
  * Add map handlers
127
- *
128
136
  * @private
129
137
  */
130
138
  _addHandlers(): void;
@@ -134,11 +142,14 @@ export default class Wfst {
134
142
  */
135
143
  _addMapControl(): void;
136
144
  /**
137
- * Show Loading modal
138
- *
145
+ * Show Loading
139
146
  * @private
140
147
  */
141
148
  _showLoading(): void;
149
+ /**
150
+ * Hide loading
151
+ * @private
152
+ */
142
153
  _hideLoading(): void;
143
154
  /**
144
155
  * Lock a feature in the geoserver before edit
@@ -155,7 +166,7 @@ export default class Wfst {
155
166
  * @param msg
156
167
  * @private
157
168
  */
158
- _showError(msg: string): void;
169
+ _showError(msg: string, originalError?: Error): void;
159
170
  /**
160
171
  * Make the WFS Transactions
161
172
  *
@@ -164,39 +175,43 @@ export default class Wfst {
164
175
  * @param layerName
165
176
  * @private
166
177
  */
167
- _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>;
168
179
  /**
169
180
  *
170
181
  * @param feature
171
182
  * @private
172
183
  */
173
- _addFeatureToEditedList(feature: Feature): void;
184
+ _addFeatureToEditedList(feature: FeatureLike): void;
174
185
  /**
175
186
  *
176
187
  * @param feature
177
188
  * @private
178
189
  */
179
- _removeFeatureFromEditList(feature: Feature): void;
190
+ _removeFeatureFromEditList(feature: FeatureLike): void;
180
191
  /**
181
192
  *
182
193
  * @param feature
183
194
  * @private
184
195
  */
185
- _isFeatureEdited(feature: Feature): boolean;
196
+ _isFeatureEdited(feature: FeatureLike): boolean;
186
197
  /**
187
198
  *
188
199
  * @param feature
189
200
  * @private
190
201
  */
191
- _deselectEditFeature(feature: Feature): void;
202
+ _deselectEditFeature(feature: FeatureLike): void;
192
203
  /**
193
204
  *
194
205
  * @param feature
195
206
  * @param layerName
196
207
  * @private
197
208
  */
198
- _restoreFeatureToLayer(feature: Feature, layerName?: string): void;
199
- _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;
200
215
  /**
201
216
  * Trigger on deselecting a feature from in the Edit layer
202
217
  *
@@ -217,13 +232,13 @@ export default class Wfst {
217
232
  * @param feature
218
233
  * @private
219
234
  */
220
- _styleFunction(feature: Feature): Array<Style>;
235
+ _styleFunction(feature: Feature<Geometry>): Array<Style>;
221
236
  /**
222
237
  *
223
238
  * @param feature
224
239
  * @private
225
240
  */
226
- _editModeOn(feature: Feature): void;
241
+ _editModeOn(feature: Feature<Geometry>): void;
227
242
  /**
228
243
  * @private
229
244
  */
@@ -234,7 +249,7 @@ export default class Wfst {
234
249
  * @param feature
235
250
  * @private
236
251
  */
237
- _deleteFeature(feature: Feature, confirm: boolean): void;
252
+ _deleteFeature(feature: Feature<Geometry>, confirm: boolean): void;
238
253
  /**
239
254
  * Add a feature to the Edit Layer to allow editing, and creates an Overlay Helper to show options
240
255
  *
@@ -243,7 +258,7 @@ export default class Wfst {
243
258
  * @param layerName
244
259
  * @private
245
260
  */
246
- _addFeatureToEdit(feature: Feature, coordinate?: any, layerName?: any): void;
261
+ _addFeatureToEdit(feature: Feature<Geometry>, coordinate?: any, layerName?: any): void;
247
262
  /**
248
263
  * Removes in the DOM the class of the tools
249
264
  * @private
@@ -256,7 +271,7 @@ export default class Wfst {
256
271
  * @param featureToInsert
257
272
  * @private
258
273
  */
259
- _initUploadFileModal(content: string, featuresToInsert: Array<Feature>): void;
274
+ _initUploadFileModal(content: string, featuresToInsert: Array<Feature<Geometry>>): void;
260
275
  /**
261
276
  * Parse and check geometry of uploaded files
262
277
  *
@@ -269,6 +284,7 @@ export default class Wfst {
269
284
  *
270
285
  * @param layerName
271
286
  * @param geomDrawTypeSelected
287
+ * @private
272
288
  */
273
289
  _changeStateSelect(layerName: string, geomDrawTypeSelected?: GeometryType): GeometryType;
274
290
  /**
@@ -293,20 +309,20 @@ export default class Wfst {
293
309
  * @param features
294
310
  * @public
295
311
  */
296
- insertFeaturesTo(layerName: string, features: Array<Feature>): void;
312
+ insertFeaturesTo(layerName: string, features: Array<Feature<Geometry>>): void;
297
313
  /**
298
314
  * Shows a fields form in a modal window to allow changes in the properties of the feature.
299
315
  *
300
316
  * @param feature
301
317
  * @private
302
318
  */
303
- _initEditFieldsModal(feature: Feature): void;
319
+ _initEditFieldsModal(feature: Feature<Geometry>): void;
304
320
  /**
305
321
  * Remove the overlay helper atttached to a specify feature
306
322
  * @param feature
307
323
  * @private
308
324
  */
309
- _removeOverlayHelper(feature: Feature): void;
325
+ _removeOverlayHelper(feature: FeatureLike): void;
310
326
  }
311
327
  /**
312
328
  * **_[interface]_** - Wfst Options specified when creating a Wfst instance
@@ -315,6 +331,14 @@ export default class Wfst {
315
331
  * ```javascript
316
332
  * {
317
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
+ * },
318
342
  * headers: {},
319
343
  * layers: null,
320
344
  * evtType: 'singleclick',
@@ -322,7 +346,8 @@ export default class Wfst {
322
346
  * showControl: true,
323
347
  * useLockFeature: true,
324
348
  * minZoom: 9,
325
- * language: 'es',
349
+ * language: 'en',
350
+ * i18n: {...}, // according to language selection
326
351
  * uploadFormats: '.geojson,.json,.kml',
327
352
  * processUpload: null,
328
353
  * beforeInsertFeature: null,
@@ -334,6 +359,17 @@ interface Options {
334
359
  * Url for OWS services. This endpoint will recive the WFS, WFST and WMS requests
335
360
  */
336
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
+ };
337
373
  /**
338
374
  * Url headers for GeoServer requests. You can use it to add Authorization credentials
339
375
  */
@@ -364,10 +400,27 @@ interface Options {
364
400
  * Zoom level to hide features to prevent too much features being loaded
365
401
  */
366
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
+ };
367
416
  /**
368
417
  * Language to be used
369
418
  */
370
419
  language?: 'es' | 'en';
420
+ /**
421
+ * Custom translations
422
+ */
423
+ i18n?: I18n;
371
424
  /**
372
425
  * Show/hide the upload button
373
426
  */
@@ -382,12 +435,12 @@ interface Options {
382
435
  * by filtering the extension. If this doesn't return features, the default function
383
436
  * will be used to extract them.
384
437
  */
385
- processUpload?(file: File): Array<Feature>;
438
+ processUpload?(file: File): Array<Feature<Geometry>>;
386
439
  /**
387
440
  * Triggered before inserting new features to the Geoserver.
388
441
  * Use this to insert custom properties, modify the feature, etc.
389
442
  */
390
- beforeInsertFeature?(feature: Feature): Feature;
443
+ beforeInsertFeature?(feature: Feature<Geometry>): Feature<Geometry>;
391
444
  }
392
445
  /**
393
446
  * **_[interface]_** - Parameters to create the layers and connect to the GeoServer
@@ -398,7 +451,7 @@ interface Options {
398
451
  * ```javascript
399
452
  * {
400
453
  * name: null,
401
- * label: (same as name),
454
+ * label: null, // `name` if not provided
402
455
  * mode: 'wfs',
403
456
  * wfsStrategy: 'bbox',
404
457
  * cqlFilter: null,
@@ -407,7 +460,7 @@ interface Options {
407
460
  * ```
408
461
  *
409
462
  */
410
- interface LayerParams extends Omit<VectorLayerOptions, 'source'> {
463
+ interface LayerParams extends Omit<VectorLayerOptions<any>, 'source'> {
411
464
  /**
412
465
  * Layer name in the GeoServer
413
466
  */
@@ -450,42 +503,45 @@ interface LayerData {
450
503
  }
451
504
  /**
452
505
  * **_[interface]_** - Custom Language specified when creating a WFST instance
453
- * @protected
454
506
  */
455
- interface i18n {
456
- labels: {
457
- select: string;
458
- addElement: string;
459
- editElement: string;
460
- save: string;
461
- delete: string;
462
- cancel: string;
463
- apply: string;
464
- upload: string;
465
- editMode: string;
466
- confirmDelete: string;
467
- geomTypeNotSupported: string;
468
- editFields: string;
469
- editGeom: string;
470
- selectDrawType: string;
471
- uploadToLayer: string;
472
- uploadFeatures: string;
473
- validFeatures: string;
474
- invalidFeatures: string;
475
- loading: string;
476
- 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;
477
531
  };
478
- errors: {
479
- capabilities: string;
480
- wfst: string;
481
- layer: string;
482
- noValidGeometry: string;
483
- geoserver: string;
484
- badFormat: string;
485
- badFile: string;
486
- lockFeature: string;
487
- transaction: string;
488
- 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;
489
544
  };
490
545
  }
491
- 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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"}