ol-wfst 3.0.5 → 4.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 (133) hide show
  1. package/CHANGELOG.md +18 -1
  2. package/LICENSE.md +21 -0
  3. package/README.md +640 -196
  4. package/dist/@enums.d.ts +5 -0
  5. package/dist/@enums.d.ts.map +1 -1
  6. package/dist/@types.d.ts +195 -0
  7. package/dist/@types.d.ts.map +1 -0
  8. package/dist/Geoserver.d.ts +260 -0
  9. package/dist/Geoserver.d.ts.map +1 -0
  10. package/dist/WfsLayer.d.ts +53 -0
  11. package/dist/WfsLayer.d.ts.map +1 -0
  12. package/dist/WmsLayer.d.ts +61 -0
  13. package/dist/WmsLayer.d.ts.map +1 -0
  14. package/dist/css/ol-wfst.css +19 -18
  15. package/dist/css/ol-wfst.min.css +1 -1
  16. package/dist/defaults.d.ts +4 -0
  17. package/dist/defaults.d.ts.map +1 -0
  18. package/dist/modules/EditControlChanges.d.ts +18 -0
  19. package/dist/modules/EditControlChanges.d.ts.map +1 -0
  20. package/dist/modules/EditFieldsModal.d.ts +18 -0
  21. package/dist/modules/EditFieldsModal.d.ts.map +1 -0
  22. package/dist/modules/EditOverlay.d.ts +7 -0
  23. package/dist/modules/EditOverlay.d.ts.map +1 -0
  24. package/dist/modules/LayersControl.d.ts +35 -0
  25. package/dist/modules/LayersControl.d.ts.map +1 -0
  26. package/dist/modules/Uploads.d.ts +47 -0
  27. package/dist/modules/Uploads.d.ts.map +1 -0
  28. package/dist/modules/base/BaseLayer.d.ts +62 -0
  29. package/dist/modules/base/BaseLayer.d.ts.map +1 -0
  30. package/dist/modules/base/WfsSource.d.ts +48 -0
  31. package/dist/modules/base/WfsSource.d.ts.map +1 -0
  32. package/dist/modules/base/WmsSource.d.ts +47 -0
  33. package/dist/modules/base/WmsSource.d.ts.map +1 -0
  34. package/dist/modules/editLayer.d.ts +4 -0
  35. package/dist/modules/editLayer.d.ts.map +1 -0
  36. package/dist/modules/errors.d.ts +11 -0
  37. package/dist/modules/errors.d.ts.map +1 -0
  38. package/dist/modules/helpers.d.ts +7 -0
  39. package/dist/modules/helpers.d.ts.map +1 -0
  40. package/dist/{assets → modules}/i18n/en.d.ts +0 -0
  41. package/dist/modules/i18n/en.d.ts.map +1 -0
  42. package/dist/{assets → modules}/i18n/es.d.ts +0 -0
  43. package/dist/modules/i18n/es.d.ts.map +1 -0
  44. package/dist/modules/i18n/index.d.ts +15 -0
  45. package/dist/modules/i18n/index.d.ts.map +1 -0
  46. package/dist/{assets → modules}/i18n/zh.d.ts +0 -0
  47. package/dist/modules/i18n/zh.d.ts.map +1 -0
  48. package/dist/modules/loading.d.ts +3 -0
  49. package/dist/modules/loading.d.ts.map +1 -0
  50. package/dist/modules/state.d.ts +22 -0
  51. package/dist/modules/state.d.ts.map +1 -0
  52. package/dist/modules/styleFunction.d.ts +13 -0
  53. package/dist/modules/styleFunction.d.ts.map +1 -0
  54. package/dist/myPragma.d.ts +2 -0
  55. package/dist/myPragma.d.ts.map +1 -0
  56. package/dist/ol-wfst.d.ts +83 -326
  57. package/dist/ol-wfst.d.ts.map +1 -1
  58. package/dist/ol-wfst.js +6126 -5139
  59. package/dist/ol-wfst.js.map +1 -1
  60. package/dist/ol-wfst.min.js +1 -15
  61. package/dist/ol-wfst.min.js.map +1 -1
  62. package/lib/@enums.d.ts +5 -0
  63. package/lib/@enums.d.ts.map +1 -1
  64. package/lib/@types.d.ts +195 -0
  65. package/lib/@types.d.ts.map +1 -0
  66. package/lib/Geoserver.d.ts +260 -0
  67. package/lib/Geoserver.d.ts.map +1 -0
  68. package/lib/WfsLayer.d.ts +53 -0
  69. package/lib/WfsLayer.d.ts.map +1 -0
  70. package/lib/WmsLayer.d.ts +61 -0
  71. package/lib/WmsLayer.d.ts.map +1 -0
  72. package/lib/defaults.d.ts +4 -0
  73. package/lib/defaults.d.ts.map +1 -0
  74. package/lib/index-es.js +2765 -0
  75. package/lib/index-es.js.map +1 -0
  76. package/lib/modules/EditControlChanges.d.ts +18 -0
  77. package/lib/modules/EditControlChanges.d.ts.map +1 -0
  78. package/lib/modules/EditFieldsModal.d.ts +18 -0
  79. package/lib/modules/EditFieldsModal.d.ts.map +1 -0
  80. package/lib/modules/EditOverlay.d.ts +7 -0
  81. package/lib/modules/EditOverlay.d.ts.map +1 -0
  82. package/lib/modules/LayersControl.d.ts +35 -0
  83. package/lib/modules/LayersControl.d.ts.map +1 -0
  84. package/lib/modules/Uploads.d.ts +47 -0
  85. package/lib/modules/Uploads.d.ts.map +1 -0
  86. package/lib/modules/base/BaseLayer.d.ts +62 -0
  87. package/lib/modules/base/BaseLayer.d.ts.map +1 -0
  88. package/lib/modules/base/WfsSource.d.ts +48 -0
  89. package/lib/modules/base/WfsSource.d.ts.map +1 -0
  90. package/lib/modules/base/WmsSource.d.ts +47 -0
  91. package/lib/modules/base/WmsSource.d.ts.map +1 -0
  92. package/lib/modules/editLayer.d.ts +4 -0
  93. package/lib/modules/editLayer.d.ts.map +1 -0
  94. package/lib/modules/errors.d.ts +11 -0
  95. package/lib/modules/errors.d.ts.map +1 -0
  96. package/lib/modules/helpers.d.ts +7 -0
  97. package/lib/modules/helpers.d.ts.map +1 -0
  98. package/lib/{assets → modules}/i18n/en.d.ts +0 -0
  99. package/lib/modules/i18n/en.d.ts.map +1 -0
  100. package/lib/{assets → modules}/i18n/es.d.ts +0 -0
  101. package/lib/modules/i18n/es.d.ts.map +1 -0
  102. package/lib/modules/i18n/index.d.ts +15 -0
  103. package/lib/modules/i18n/index.d.ts.map +1 -0
  104. package/lib/{assets → modules}/i18n/zh.d.ts +0 -0
  105. package/lib/modules/i18n/zh.d.ts.map +1 -0
  106. package/lib/modules/loading.d.ts +3 -0
  107. package/lib/modules/loading.d.ts.map +1 -0
  108. package/lib/modules/state.d.ts +22 -0
  109. package/lib/modules/state.d.ts.map +1 -0
  110. package/lib/modules/styleFunction.d.ts +13 -0
  111. package/lib/modules/styleFunction.d.ts.map +1 -0
  112. package/lib/myPragma.d.ts +2 -0
  113. package/lib/myPragma.d.ts.map +1 -0
  114. package/lib/ol-wfst.d.ts +83 -326
  115. package/lib/ol-wfst.d.ts.map +1 -1
  116. package/lib/style/css/ol-gisify.css +19 -18
  117. package/lib/style/scss/_variables.scss +17 -0
  118. package/lib/style/scss/ol-wfst.scss +31 -28
  119. package/lib/tsconfig.tsbuildinfo +1 -1
  120. package/package.json +6 -5
  121. package/dist/assets/i18n/en.d.ts.map +0 -1
  122. package/dist/assets/i18n/es.d.ts.map +0 -1
  123. package/dist/assets/i18n/index.d.ts +0 -4
  124. package/dist/assets/i18n/index.d.ts.map +0 -1
  125. package/dist/assets/i18n/zh.d.ts.map +0 -1
  126. package/dist/tsconfig.tsbuildinfo +0 -1
  127. package/lib/assets/i18n/en.d.ts.map +0 -1
  128. package/lib/assets/i18n/es.d.ts.map +0 -1
  129. package/lib/assets/i18n/index.d.ts +0 -4
  130. package/lib/assets/i18n/index.d.ts.map +0 -1
  131. package/lib/assets/i18n/zh.d.ts.map +0 -1
  132. package/lib/ol-wfst.js +0 -2276
  133. package/lib/ol-wfst.js.map +0 -1
package/README.md CHANGED
@@ -1,8 +1,20 @@
1
1
  # OpenLayers WFST
2
2
 
3
- Tiny WFST-T client to insert (drawing/uploading), modify and delete features on GeoServers using OpenLayers. Layers with these types of geometries are supported: _GeometryCollection_ (in this case, you can choose the geometry type of each element to draw), _Point_, _MultiPoint_, _LineString_, _MultiLineString_, _Polygon_ and _MultiPolygon_.
4
-
5
- Tested with OpenLayers version 5 and 6.
3
+ <p align="center">
4
+ <a href="https://www.npmjs.com/package/ol-wfst">
5
+ <img src="https://img.shields.io/npm/v/ol-wfst.svg" alt="npm version">
6
+ </a>
7
+ <a href="https://img.shields.io/npm/dm/ol-wfst">
8
+ <img alt="npm" src="https://img.shields.io/npm/dm/ol-wfst">
9
+ </a>
10
+ <a href="https://github.com/gastonzalba/ol-wfst/blob/master/LICENSE">
11
+ <img src="https://img.shields.io/npm/l/ol-wfst.svg" alt="license">
12
+ </a>
13
+ </p>
14
+
15
+ Tiny WFST-T client to insert (drawing/uploading), modify and delete features on GeoServers using [OpenLayers](https://openlayers.org/). Layers with these types of geometries are supported: _GeometryCollection_ (in this case, you can choose the geometry type of each element to draw), _Point_, _MultiPoint_, _LineString_, _MultiLineString_, _Polygon_ and _MultiPolygon_.
16
+
17
+ Tested with OpenLayers version 5, 6 and 7.
6
18
 
7
19
  <img src="screenshots/example-1.jpg" alt="Drawing" style="width:50%; float:left;">
8
20
  <img src="screenshots/example-2.jpg" alt="Editing fields" style="width:50%; float:left;">
@@ -12,7 +24,7 @@ Tested with OpenLayers version 5 and 6.
12
24
  See [Wfst Options](#options) for more details.
13
25
 
14
26
  ```javascript
15
- import Wfst from 'ol-wfst';
27
+ import Wfst, { Geoserver, WmsLayer, WfsLayer } from 'ol-wfst';
16
28
  import { Fill, Stroke, Circle, Style } from 'ol/style';
17
29
 
18
30
  // Style
@@ -23,9 +35,9 @@ import 'ol-wfst/lib/scss/ol-wfst.bootstrap5.css'; // Do not import if you alread
23
35
  const password = 123456;
24
36
  const username = 'username';
25
37
 
26
- const wfst = new Wfst({
27
- geoServerUrl: 'https://mysite.com/geoserver/myworkspace/ows',
28
- geoServerAdvanced: {
38
+ const geoserver = {
39
+ url: 'https://mysite.com/geoserver/myworkspace/ows',
40
+ advanced: {
29
41
  getCapabilitiesVersion: '1.3.0',
30
42
  getFeatureVersion: '1.0.0',
31
43
  describeFeatureTypeVersion: '1.1.0',
@@ -33,77 +45,161 @@ const wfst = new Wfst({
33
45
  projection: 'EPSG:3857'
34
46
  },
35
47
  // Maybe you wanna add this on a proxy, at the backend
36
- headers: { Authorization: 'Basic ' + btoa(username + ':' + password) },
37
- layers: [
38
- {
39
- name: 'myPointsLayer', // Name of the layer on the GeoServer
40
- label: 'Photos', // Optional Label to be displayed in the controller
41
- mode: 'wfs',
42
- zIndex: 99,
43
- style: new Style({
44
- image: new Circle({
45
- radius: 7,
46
- fill: new Fill({
47
- color: '#000000'
48
- }),
49
- stroke: new Stroke({
50
- color: [255, 0, 0],
51
- width: 2
52
- })
53
- })
48
+ headers: { Authorization: 'Basic ' + btoa(username + ':' + password) }
49
+ };
50
+
51
+ const wfsLayer = new WfsLayer({
52
+ name: 'myPointsLayer', // Name of the layer on the GeoServer
53
+ label: 'Photos', // Optional Label to be displayed in the controller
54
+ geoserver: geoserver,
55
+ zIndex: 99,
56
+
57
+ // WfsLayers need a custom style
58
+ style: new Style({
59
+ image: new Circle({
60
+ radius: 7,
61
+ fill: new Fill({
62
+ color: '#000000'
63
+ }),
64
+ stroke: new Stroke({
65
+ color: [255, 0, 0],
66
+ width: 2
54
67
  })
55
- },
56
- {
57
- name: 'myMultiGeometryLayer',
58
- label: 'Other elements'
59
- },
60
- {
61
- name: 'myLineStringLayer',
62
- label: 'Routes',
63
- visible: false
64
- },
65
- {
66
- name: 'myMultiPointLayer',
67
- label: 'Markers',
68
- visible: false
68
+ })
69
+ }),
70
+
71
+ // See [geoserverVendor](#geoservervendor) for more details.
72
+ geoserverVendor: {
73
+ cql_filter: 'id > 50',
74
+ maxFeatures: 500
75
+ },
76
+
77
+ beforeTransactFeature: function (feature, transactionType) {
78
+ if (transactionType === 'insert') {
79
+ // Maybe add a custom value o perform an action before insert features
80
+ feature.set('customProperty', 'customValue', true);
81
+ } else if (transactionType === 'update') {
82
+ // ... //
83
+ } else if (transactionType === 'delete') {
84
+ // .. //
69
85
  }
70
- ],
71
- language: 'en',
72
- minZoom: 12,
73
- showUpload: true,
74
- beforeInsertFeature: function (feature) {
75
- // Add a custom value o perform an action before insert features
76
- feature.set('customProperty', 'customValue', true);
86
+
87
+ return feature;
88
+ }
89
+ });
90
+
91
+ const wmsLayer = new WmsLayer({
92
+ name: 'myMultiGeometryLayer',
93
+ label: 'Other elements',
94
+ geoserver: geoserver,
95
+ // See [geoserverVendor](#geoservervendor) for more details.
96
+ geoserverVendor: {
97
+ cql_filter: 'id > 50',
98
+ buffer: 50,
99
+ maxFeatures: 500
100
+ },
101
+ beforeTransactFeature: function (feature, transactionType) {
102
+ if (transactionType === 'insert') {
103
+ // Maybe add a custom value o perform an action before insert features
104
+ feature.set('customProperty', 'customValue', true);
105
+ } else if (transactionType === 'update') {
106
+ // ... //
107
+ } else if (transactionType === 'delete') {
108
+ // .. //
109
+ }
110
+
77
111
  return feature;
78
112
  }
79
113
  });
80
114
 
81
- // Adding custom feature without drawing
115
+ const wfst = new Wfst({
116
+ layers: [wfsLayer, wmsLayer],
117
+ language: 'en',
118
+ showUpload: true
119
+ });
120
+
121
+ map.addControl(wfst);
122
+ ```
123
+
124
+ ### Useful methods
125
+
126
+ See \[#wfsSource]
127
+
128
+ ```js
129
+
130
+ wmsLayer.setCustomParam('cql_filter',(`id = 28`);
131
+ wmsLayer.setCustomParam('env', `tags=true`);
132
+ ```
133
+
134
+ ### Adding features programatically
135
+
136
+ ```js
82
137
  const feature = new ol.Feature({
83
138
  geometry: new ol.geom.MultiPoint([[`-57.1145}`, `-36.2855`]])
84
139
  });
85
- const inserted = await wfst.insertFeaturesTo('myMultiPointLayer', [feature]);
140
+ const inserted = await myWmsLayer.insertFeatures([feature]);
86
141
 
87
142
  if (inserted) {
88
143
  alert('Feature inserted');
89
144
  } else {
90
145
  alert('Feature not inserted');
91
146
  }
147
+ ```
92
148
 
93
- // Events
94
- wfst.on(['getCapabilities', 'getFeaturesLoaded'], function (evt) {
95
- console.log(evt.type, evt.data);
149
+ ### Events
150
+
151
+ ### wfst instance events
152
+
153
+ ```js
154
+ wfst.on(
155
+ ['modifystart', 'modifyend', 'drawstart', 'drawend', 'load', 'visible'],
156
+ function (evt) {
157
+ console.log(evt);
158
+ }
159
+ );
160
+
161
+ wfst.on(['describeFeatureType'], function (evt) {
162
+ console.log(evt.layer, evt.data);
163
+ });
164
+ ```
165
+
166
+ ### Geoserver events
167
+
168
+ ```js
169
+ geoserver.on(['getCapabilities'], function (evt) {
170
+ console.log(evt.data);
96
171
  });
172
+ ```
173
+
174
+ ### Layers events
175
+
176
+ #### WMS Layer
97
177
 
98
- wfst.on(['describeFeatureType', 'getFeature'], function (evt) {
99
- console.log(evt.type, evt.layer, evt.data);
178
+ ```js
179
+ wmsLayer.on(['change:describeFeatureType'], function (evt) {
180
+ console.log(evt);
100
181
  });
182
+ ```
183
+
184
+ Source [TileWMS Events](https://openlayers.org/en/latest/apidoc/module-ol_Object.ObjectEvent.html)
185
+
186
+ ```js
187
+ wmsLayer.getSource().on([...])
188
+ ```
189
+
190
+ #### WFS Layer
101
191
 
102
- wfst.on(['modifystart', 'modifyend', 'drawstart', 'drawend'], function (evt) {
103
- console.log(evt.type, evt);
192
+ ```js
193
+ wfsLayer.on(['change:describeFeatureType'], function (evt) {
194
+ console.log(evt);
104
195
  });
196
+ ```
197
+
198
+ [VectorSource Events](https://openlayers.org/en/latest/apidoc/module-ol_source_Vector.VectorSourceEvent.html)
199
+
200
+ ```js
201
+ wfsLayer.getSource().on([...])
105
202
 
106
- map.addControl(wfst);
107
203
  ```
108
204
 
109
205
  ### Some considerations
@@ -122,17 +218,17 @@ See [CHANGELOG](./CHANGELOG.md) for details of changes in each release.
122
218
 
123
219
  #### JS
124
220
 
125
- Load `ol-wfst.js` after OpenLayers. Wfst is available as `Wfst`.
221
+ Load `ol-wfst.js` after OpenLayers. The available classes are `Wfst`, `Wfst.Geoserver`, `Wfst.WfsLayer` and `Wfst.WmsLayer`.
126
222
 
127
223
  ```HTML
128
- <script src="https://unpkg.com/ol-wfst@3.0.3"></script>
224
+ <script src="https://unpkg.com/ol-wfst@4.0.0"></script>
129
225
  ```
130
226
 
131
227
  #### CSS
132
228
 
133
229
  ```HTML
134
- <link rel="stylesheet" href="https://unpkg.com/ol-wfst@3.0.3/dist/css/ol-wfst.min.css" />
135
- <link rel="stylesheet" href="https://unpkg.com/ol-wfst@3.0.3/dist/css/ol-wfst.bootstrap5.min.css" />
230
+ <link rel="stylesheet" href="https://unpkg.com/ol-wfst@4.0.0/dist/css/ol-wfst.min.css" />
231
+ <link rel="stylesheet" href="https://unpkg.com/ol-wfst@4.0.0/dist/css/ol-wfst.bootstrap5.min.css" />
136
232
  ```
137
233
 
138
234
  ### Parcel, Webpack, etc.
@@ -146,7 +242,7 @@ Install the package via `npm`
146
242
  #### JS
147
243
 
148
244
  ```js
149
- import Wfst from 'ol-wfst';
245
+ import Wfst, { Geoserver, WmsLayer, WfsLayer } from 'ol-wfst';
150
246
  ```
151
247
 
152
248
  #### CSS
@@ -161,7 +257,7 @@ import 'ol-wfst/dist/css/ol-wfst.css';
161
257
  import 'ol-wfst/dist/css/ol-wfst.bootstrap5.css';
162
258
  ```
163
259
 
164
- ##### TypeScript type definition
260
+ #### TypeScript type definition
165
261
 
166
262
  TypeScript types are shipped with the project in the dist directory and should be automatically used in a TypeScript project. Interfaces are provided for Wfst Options.
167
263
 
@@ -171,52 +267,163 @@ TypeScript types are shipped with the project in the dist directory and should b
171
267
 
172
268
  #### Table of Contents
173
269
 
270
+ - [BaseGeoserverVendor](#basegeoservervendor)
271
+ - [key](#key)
272
+ - [cql_filter](#cql_filter)
273
+ - [sortBy](#sortby)
274
+ - [featureid](#featureid)
275
+ - [filter](#filter)
276
+ - [format_options](#format_options)
277
+ - [maxFeatures](#maxfeatures)
278
+ - [startIndex](#startindex)
279
+ - [propertyname](#propertyname)
174
280
  - [Wfst](#wfst)
175
281
  - [Parameters](#parameters)
176
282
  - [getLayers](#getlayers)
283
+ - [getLayerByName](#getlayerbyname)
177
284
  - [Parameters](#parameters-1)
178
285
  - [activateDrawMode](#activatedrawmode)
179
286
  - [Parameters](#parameters-2)
180
287
  - [activateEditMode](#activateeditmode)
181
288
  - [Parameters](#parameters-3)
182
- - [insertFeaturesTo](#insertfeaturesto)
183
- - [Parameters](#parameters-4)
289
+ - [Geoserver](#geoserver)
290
+ - [Parameters](#parameters-4)
291
+ - [getCapabilities](#getcapabilities)
292
+ - [setUrl](#seturl)
293
+ - [Parameters](#parameters-5)
294
+ - [getUrl](#geturl)
295
+ - [setHeaders](#setheaders)
296
+ - [Parameters](#parameters-6)
297
+ - [getHeaders](#getheaders)
298
+ - [setCredentials](#setcredentials)
299
+ - [Parameters](#parameters-7)
300
+ - [getCredentials](#getcredentials)
301
+ - [setAdvanced](#setadvanced)
302
+ - [Parameters](#parameters-8)
303
+ - [getAdvanced](#getadvanced)
304
+ - [hasTransaction](#hastransaction)
305
+ - [hasLockFeature](#haslockfeature)
306
+ - [getUseLockFeature](#getuselockfeature)
307
+ - [setUseLockFeature](#setuselockfeature)
308
+ - [Parameters](#parameters-9)
309
+ - [isLoaded](#isloaded)
310
+ - [getState](#getstate)
311
+ - [getAndUpdateCapabilities](#getandupdatecapabilities)
312
+ - [lockFeature](#lockfeature)
313
+ - [Parameters](#parameters-10)
314
+ - [WfsLayer](#wfslayer)
315
+ - [Parameters](#parameters-11)
316
+ - [refresh](#refresh)
317
+ - [setCustomParam](#setcustomparam)
318
+ - [Parameters](#parameters-12)
319
+ - [WmsLayer](#wmslayer)
320
+ - [Parameters](#parameters-13)
321
+ - [refresh](#refresh-1)
322
+ - [setCustomParam](#setcustomparam-1)
323
+ - [Parameters](#parameters-14)
184
324
  - [Options](#options)
185
- - [geoServerUrl](#geoserverurl)
186
- - [geoServerAdvanced](#geoserveradvanced)
187
- - [headers](#headers)
188
- - [credentials](#credentials)
325
+ - [processUpload](#processupload)
326
+ - [Parameters](#parameters-15)
189
327
  - [layers](#layers)
190
328
  - [active](#active)
191
329
  - [evtType](#evttype)
192
- - [useLockFeature](#uselockfeature)
193
330
  - [showControl](#showcontrol)
194
- - [minZoom](#minzoom)
195
331
  - [modal](#modal)
196
332
  - [language](#language)
197
333
  - [i18n](#i18n)
198
334
  - [showUpload](#showupload)
199
335
  - [uploadFormats](#uploadformats)
200
- - [processUpload](#processupload)
201
- - [Parameters](#parameters-5)
202
- - [beforeInsertFeature](#beforeinsertfeature)
203
- - [Parameters](#parameters-6)
204
- - [LayerParams](#layerparams)
336
+ - [LayerOptions](#layeroptions)
337
+ - [beforeTransactFeature](#beforetransactfeature)
338
+ - [Parameters](#parameters-16)
205
339
  - [name](#name)
340
+ - [geoserver](#geoserver-1)
206
341
  - [label](#label)
207
- - [mode](#mode)
208
- - [wfsStrategy](#wfsstrategy)
209
- - [cqlFilter](#cqlfilter)
210
- - [tilesBuffer](#tilesbuffer)
211
- - [WfstLayer](#wfstlayer)
212
- - [IWfstLayersList](#iwfstlayerslist)
342
+ - [geoserverVendor](#geoservervendor)
343
+ - [strategy](#strategy)
344
+ - [GeoserverOptions](#geoserveroptions)
345
+ - [url](#url)
346
+ - [advanced](#advanced)
347
+ - [headers](#headers)
348
+ - [credentials](#credentials)
349
+ - [useLockFeature](#uselockfeature)
350
+ - [GeoServerAdvanced](#geoserveradvanced)
351
+ - [WfsGeoserverVendor](#wfsgeoservervendor)
352
+ - [strict](#strict)
353
+ - [WmsGeoserverVendor](#wmsgeoservervendor)
354
+ - [buffer](#buffer)
355
+ - [env](#env)
356
+ - [clip](#clip)
357
+ - [styles](#styles)
358
+ - [transparent](#transparent)
359
+ - [bgcolor](#bgcolor)
360
+ - [time](#time)
361
+ - [sld](#sld)
362
+ - [sld_body](#sld_body)
363
+ - [IGeoserverDescribeFeatureType](#igeoserverdescribefeaturetype)
364
+ - [\_parsed](#_parsed)
213
365
  - [I18n](#i18n-1)
214
366
  - [labels](#labels)
215
367
  - [errors](#errors)
216
368
 
369
+ ### BaseGeoserverVendor
370
+
371
+ #### key
372
+
373
+ Add any other param
374
+
375
+ #### cql_filter
376
+
377
+ <https://docs.geoserver.org/latest/en/user/services/wms/vendor.html#cql-filter>
378
+
379
+ Type: [string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)
380
+
381
+ #### sortBy
382
+
383
+ <https://docs.geoserver.org/latest/en/user/services/wms/vendor.html#sortBy>
384
+
385
+ Type: [string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)
386
+
387
+ #### featureid
388
+
389
+ <https://docs.geoserver.org/latest/en/user/services/wms/vendor.html#featureid>
390
+
391
+ Type: [string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)
392
+
393
+ #### filter
394
+
395
+ <https://docs.geoserver.org/latest/en/user/services/wms/vendor.html#filter>
396
+
397
+ Type: [string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)
398
+
399
+ #### format_options
400
+
401
+ WMS: <https://docs.geoserver.org/latest/en/user/services/wms/vendor.html#format-options>
402
+ WFS: <https://docs.geoserver.org/latest/en/user/services/wfs/vendor.html#format-options>
403
+
404
+ Type: [string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)
405
+
406
+ #### maxFeatures
407
+
408
+ <https://docs.geoserver.org/latest/en/user/services/wms/vendor.html#maxfeatures-and-startindex>
409
+
410
+ Type: ([string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String) | [number](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Number))
411
+
412
+ #### startIndex
413
+
414
+ <https://docs.geoserver.org/latest/en/user/services/wms/vendor.html#maxfeatures-and-startindex>
415
+
416
+ Type: ([string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String) | [number](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Number))
417
+
418
+ #### propertyname
419
+
420
+ <https://docs.geoserver.org/latest/en/user/services/wms/vendor.html#propertyname>
421
+
422
+ Type: [string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)
423
+
217
424
  ### Wfst
218
425
 
219
- **Extends ol/control/Control~Control**
426
+ **Extends ol/control/[Control](https://openlayers.org/en/latest/apidoc/module-ol_control_Control-Control.html)~[Control](https://openlayers.org/en/latest/apidoc/module-ol_control_Control-Control.html)**
220
427
 
221
428
  Tiny WFST-T client to insert (drawing/uploading), modify and delete
222
429
  features on GeoServers using OpenLayers. Layers with these types
@@ -226,18 +433,23 @@ choose the geometry type of each element to draw), "Point", "MultiPoint",
226
433
 
227
434
  #### Parameters
228
435
 
229
- - `opt_options` **[Options](#options)?** Wfst options, see [Wfst Options](#options) for more details.
436
+ - `options` **[Options](#options)?** Wfst options, see [Wfst Options](#options) for more details.
230
437
 
231
438
  #### getLayers
232
439
 
233
- Gat all the layers in the ol-wfst instance
234
- If a name is provided, only returns that layer
440
+ Get all the layers in the ol-wfst instance
441
+
442
+ Returns **[Array](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Array)<([WfsLayer](#wfslayer) | [WmsLayer](#wmslayer))>**&#x20;
443
+
444
+ #### getLayerByName
445
+
446
+ Get a layer
235
447
 
236
448
  ##### Parameters
237
449
 
238
450
  - `layerName` (optional, default `''`)
239
451
 
240
- Returns **([Array](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Array)<[WfstLayer](#wfstlayer)> | [WfstLayer](#wfstlayer))**
452
+ Returns **([WfsLayer](#wfslayer) | [WmsLayer](#wmslayer))**&#x20;
241
453
 
242
454
  #### activateDrawMode
243
455
 
@@ -245,9 +457,9 @@ Activate/deactivate the draw mode
245
457
 
246
458
  ##### Parameters
247
459
 
248
- - `layerName` **([string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String) | [boolean](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Boolean))**
460
+ - `layer` **([WfsLayer](#wfslayer) | [WmsLayer](#wmslayer) | `false`)**&#x20;
249
461
 
250
- Returns **void**
462
+ Returns **void**&#x20;
251
463
 
252
464
  #### activateEditMode
253
465
 
@@ -257,20 +469,176 @@ Activate/desactivate the edit mode
257
469
 
258
470
  - `bool` (optional, default `true`)
259
471
 
260
- Returns **void**
472
+ Returns **void**&#x20;
473
+
474
+ ### Geoserver
475
+
476
+ **Extends ol/Object~[BaseObject](https://openlayers.org/en/latest/apidoc/module-ol_Object-BaseObject.html)**
477
+
478
+ #### Parameters
479
+
480
+ - `options` **[GeoserverOptions](#geoserveroptions)**&#x20;
481
+
482
+ #### getCapabilities
261
483
 
262
- #### insertFeaturesTo
484
+ Returns **XMLDocument**&#x20;
263
485
 
264
- Add features directly to the geoserver, in a custom layer
265
- without checking geometry or showing modal to confirm.
266
- Returns `true` if features are inserted correctly
486
+ #### setUrl
267
487
 
268
488
  ##### Parameters
269
489
 
270
- - `layerName` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)**
271
- - `features` **[Array](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Array)\<Feature\<Geometry>>**
490
+ - `url` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)**&#x20;
491
+ - `opt_silent` (optional, default `false`)
492
+
493
+ Returns **void**&#x20;
494
+
495
+ #### getUrl
496
+
497
+ Returns **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)**&#x20;
498
+
499
+ #### setHeaders
500
+
501
+ ##### Parameters
502
+
503
+ - `headers` **HeadersInit** (optional, default `{}`)
504
+ - `opt_silent` (optional, default `false`)
505
+
506
+ Returns **void**&#x20;
507
+
508
+ #### getHeaders
509
+
510
+ Returns **HeadersInit**&#x20;
511
+
512
+ #### setCredentials
513
+
514
+ ##### Parameters
515
+
516
+ - `credentials` **RequestCredentials** (optional, default `null`)
517
+ - `opt_silent` (optional, default `false`)
518
+
519
+ Returns **void**&#x20;
520
+
521
+ #### getCredentials
522
+
523
+ Returns **RequestCredentials**&#x20;
524
+
525
+ #### setAdvanced
526
+
527
+ ##### Parameters
528
+
529
+ - `advanced` **[GeoServerAdvanced](#geoserveradvanced)** (optional, default `{}`)
530
+ - `opt_silent` (optional, default `false`)
531
+
532
+ Returns **void**&#x20;
533
+
534
+ #### getAdvanced
535
+
536
+ Returns **[GeoServerAdvanced](#geoserveradvanced)**&#x20;
537
+
538
+ #### hasTransaction
539
+
540
+ Returns **[boolean](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Boolean)**&#x20;
541
+
542
+ #### hasLockFeature
543
+
544
+ Returns **[boolean](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Boolean)**&#x20;
545
+
546
+ #### getUseLockFeature
547
+
548
+ Returns **[boolean](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Boolean)**&#x20;
549
+
550
+ #### setUseLockFeature
551
+
552
+ ##### Parameters
553
+
554
+ - `useLockFeature` **[boolean](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Boolean)**&#x20;
555
+ - `opt_silent` (optional, default `false`)
556
+
557
+ Returns **void**&#x20;
558
+
559
+ #### isLoaded
560
+
561
+ Returns **[boolean](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Boolean)**&#x20;
562
+
563
+ #### getState
564
+
565
+ #### getAndUpdateCapabilities
566
+
567
+ Get the capabilities from the GeoServer and check
568
+ all the available operations.
569
+
570
+ Returns **[Promise](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Promise)\<XMLDocument>**&#x20;
571
+
572
+ #### lockFeature
573
+
574
+ Lock a feature in the geoserver. Useful before editing a geometry,
575
+ to avoid changes from multiples suers
576
+
577
+ ##### Parameters
578
+
579
+ - `featureId` **([string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String) | [number](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Number))**&#x20;
580
+ - `layerName` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)**&#x20;
581
+ - `retry` (optional, default `0`)
582
+
583
+ Returns **[Promise](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Promise)<[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)>**&#x20;
584
+
585
+ ### WfsLayer
586
+
587
+ **Extends ol/layer/Vector~[VectorLayer](https://openlayers.org/en/latest/apidoc/module-ol_layer_Vector-VectorLayer.html)**
272
588
 
273
- Returns **[Promise](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Promise)<[boolean](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Boolean)>**
589
+ Layer to retrieve WFS features from geoservers
590
+ <https://docs.geoserver.org/stable/en/user/services/wfs/reference.html>
591
+
592
+ #### Parameters
593
+
594
+ - `options` **[LayerOptions](#layeroptions)**&#x20;
595
+
596
+ #### refresh
597
+
598
+ #### setCustomParam
599
+
600
+ Use this to update Geoserver Wms Vendors (<https://docs.geoserver.org/latest/en/user/services/wms/vendor.html>)
601
+ and other arguements (<https://docs.geoserver.org/stable/en/user/services/wms/reference.html#getmap>)
602
+ in all the getMap requests.
603
+
604
+ Example: you can use this to change the style of the WMS, add a custom sld, set a cql_filter, etc.
605
+
606
+ ##### Parameters
607
+
608
+ - `paramName` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)**&#x20;
609
+ - `value` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)** (optional, default `null`)
610
+ - `refresh` (optional, default `true`)
611
+
612
+ Returns **URLSearchParams**&#x20;
613
+
614
+ ### WmsLayer
615
+
616
+ **Extends ol/layer/Tile~[TileLayer](https://openlayers.org/en/latest/apidoc/module-ol_layer_Tile-TileLayer.html)**
617
+
618
+ Layer to retrieve WMS information from geoservers
619
+ <https://docs.geoserver.org/stable/en/user/services/wms/reference.html>
620
+
621
+ #### Parameters
622
+
623
+ - `options` **[LayerOptions](#layeroptions)**&#x20;
624
+
625
+ #### refresh
626
+
627
+ #### setCustomParam
628
+
629
+ Use this to update Geoserver Wfs Vendors (<https://docs.geoserver.org/latest/en/user/services/wfs/vendor.html>)
630
+ and other arguements (<https://docs.geoserver.org/stable/en/user/services/wfs/reference.html>)
631
+ in all the getFeature requests.
632
+
633
+ Example: you can use this to set a cql_filter, limit the numbers of features, etc.
634
+
635
+ ##### Parameters
636
+
637
+ - `paramName` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)**&#x20;
638
+ - `value` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)** (optional, default `null`)
639
+ - `refresh` (optional, default `true`)
640
+
641
+ Returns **URLSearchParams**&#x20;
274
642
 
275
643
  ### Options
276
644
 
@@ -280,62 +648,34 @@ Default values:
280
648
 
281
649
  ```javascript
282
650
  {
283
- geoServerUrl: null,
284
- geoServerAdvanced: {
285
- getCapabilitiesVersion: '1.3.0',
286
- getFeatureVersion: '1.0.0',
287
- describeFeatureTypeVersion: '1.1.0',
288
- lockFeatureVersion: '1.1.0',
289
- wfsTransactionVersion: '1.1.0',
290
- projection: 'EPSG:3857'
291
- },
292
- headers: {},
293
- credentials: 'same-origin',
294
651
  layers: null,
295
652
  evtType: 'singleclick',
296
653
  active: true,
297
654
  showControl: true,
298
- useLockFeature: true,
299
- minZoom: 9,
300
655
  language: 'en',
301
656
  i18n: {...}, // according to language selection
302
657
  uploadFormats: '.geojson,.json,.kml',
303
658
  processUpload: null,
304
- beforeInsertFeature: null,
305
659
  }
306
660
  ```
307
661
 
308
- #### geoServerUrl
309
-
310
- Url for OWS services. This endpoint will recive the WFS, WFST and WMS requests
311
-
312
- Type: [string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)
313
-
314
- #### geoServerAdvanced
315
-
316
- Advanced options for geoserver requests
317
-
318
- Type: {getCapabilitiesVersion: [string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)?, getFeatureVersion: [string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)?, lockFeatureVersion: [string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)?, describeFeatureTypeVersion: [string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)?, wfsTransactionVersion: [string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)?, projection: ProjectionLike?}
319
-
320
- #### headers
321
-
322
- Url headers for GeoServer requests. You can use it to add Authorization credentials
323
- <https://developer.mozilla.org/en-US/docs/Web/API/Request/headers>
662
+ #### processUpload
324
663
 
325
- Type: HeadersInit
664
+ Triggered to allow implement custom functions or to parse other formats than default
665
+ by filtering the extension. If this doesn't return features, the default function
666
+ will be used to extract them.
326
667
 
327
- #### credentials
668
+ ##### Parameters
328
669
 
329
- Credentials for fetch requests
330
- <https://developer.mozilla.org/en-US/docs/Web/API/Request/credentials>
670
+ - `file` **File**&#x20;
331
671
 
332
- Type: RequestCredentials
672
+ Returns **[Array](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Array)\<Feature\<Geometry>>**&#x20;
333
673
 
334
674
  #### layers
335
675
 
336
676
  Layers to be loaded from the geoserver
337
677
 
338
- Type: [Array](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Array)<[LayerParams](#layerparams)>
678
+ Type: [Array](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Array)<([WfsLayer](#wfslayer) | [WmsLayer](#wmslayer))>
339
679
 
340
680
  #### active
341
681
 
@@ -349,26 +689,12 @@ The click event to allow selection of Features to be edited
349
689
 
350
690
  Type: (`"singleclick"` | `"dblclick"`)
351
691
 
352
- #### useLockFeature
353
-
354
- Use LockFeatue request on GeoServer when selecting features.
355
- This is not always supportedd by the GeoServer.
356
- See <https://docs.geoserver.org/stable/en/user/services/wfs/reference.html>
357
-
358
- Type: [boolean](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Boolean)
359
-
360
692
  #### showControl
361
693
 
362
694
  Show/hide the control map
363
695
 
364
696
  Type: [boolean](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Boolean)
365
697
 
366
- #### minZoom
367
-
368
- Zoom level to hide features to prevent too much features being loaded
369
-
370
- Type: [number](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Number)
371
-
372
698
  #### modal
373
699
 
374
700
  Modal configuration
@@ -400,100 +726,219 @@ Example: ".json,.geojson"
400
726
 
401
727
  Type: [string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)
402
728
 
403
- #### processUpload
729
+ ### LayerOptions
404
730
 
405
- Triggered to allow implement custom functions or to parse other formats than default
406
- by filtering the extension. If this doesn't return features, the default function
407
- will be used to extract them.
731
+ **Extends Omit\<[VectorLayerOptions](https://openlayers.org/en/latest/apidoc/module-ol_layer_Vector-VectorLayer.html)\<any>, 'source'>**
408
732
 
409
- ##### Parameters
733
+ **_\[interface]_** - Parameters to create the layers and connect to the GeoServer
410
734
 
411
- - `file` **File**
735
+ You can use all the parameters supported by OpenLayers
412
736
 
413
- Returns **[Array](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Array)\<Feature\<Geometry>>**
737
+ Default values:
414
738
 
415
- #### beforeInsertFeature
739
+ ```javascript
740
+ {
741
+ name: null,
742
+ geoserver: null,
743
+ label: null, // `name` if not provided
744
+ strategy: all,
745
+ geoserverVendor: null
746
+ }
747
+ ```
748
+
749
+ #### beforeTransactFeature
416
750
 
417
751
  Triggered before inserting new features to the Geoserver.
418
752
  Use this to insert custom properties, modify the feature, etc.
419
753
 
420
754
  ##### Parameters
421
755
 
422
- - `feature` **Feature\<Geometry>**
756
+ - `feature` **Feature\<Geometry>**&#x20;
757
+ - `transaction` **TransactionType**&#x20;
423
758
 
424
- Returns **Feature\<Geometry>**
759
+ Returns **Feature\<Geometry>**&#x20;
425
760
 
426
- ### LayerParams
761
+ #### name
427
762
 
428
- **Extends Omit\<[VectorLayerOptions](https://openlayers.org/en/latest/apidoc/module-ol_layer_Vector-VectorLayer.html)\<any>, 'source'>**
763
+ Layer name in the GeoServer
429
764
 
430
- **_\[interface]_** - Parameters to create the layers and connect to the GeoServer
765
+ Type: [string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)
431
766
 
432
- You can use all the parameters supported by OpenLayers
767
+ #### geoserver
433
768
 
434
- Default values:
769
+ Geoserver Object
770
+
771
+ Type: [Geoserver](#geoserver)
772
+
773
+ #### label
774
+
775
+ Label to be displayed in the widget control
776
+
777
+ Type: [string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)
778
+
779
+ #### geoserverVendor
780
+
781
+ Available geoserver options
782
+
783
+ Type: ([WfsGeoserverVendor](#wfsgeoservervendor) | [WmsGeoserverVendor](#wmsgeoservervendor))
784
+
785
+ #### strategy
786
+
787
+ Strategy function for loading features.
788
+ Only for WFS
789
+ By default `all` strategy is used
790
+
791
+ Type: LoadingStrategy
792
+
793
+ ### GeoserverOptions
794
+
795
+ **_\[interface]_**
796
+
797
+ #### url
798
+
799
+ Url for OWS services. This endpoint will recive the WFS, WFST and WMS requests
800
+
801
+ Type: [string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)
802
+
803
+ #### advanced
804
+
805
+ Advanced options for geoserver requests
806
+
807
+ Type: [GeoServerAdvanced](#geoserveradvanced)
808
+
809
+ #### headers
810
+
811
+ Http headers for GeoServer requests
812
+ <https://developer.mozilla.org/en-US/docs/Web/API/Request/headers>
813
+
814
+ Type: HeadersInit
815
+
816
+ #### credentials
817
+
818
+ Credentials for fetch requests
819
+ <https://developer.mozilla.org/en-US/docs/Web/API/Request/credentials>
820
+
821
+ Default is 'same-origin'
822
+
823
+ Type: RequestCredentials
824
+
825
+ #### useLockFeature
826
+
827
+ Use LockFeatue request on GeoServer when selecting features. Prevents a feature from being edited
828
+ through a persistent feature lock. This is not always supportedd by the GeoServer.
829
+ See <https://docs.geoserver.org/stable/en/user/services/wfs/reference.html>
830
+
831
+ Type: [boolean](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Boolean)
832
+
833
+ ### GeoServerAdvanced
834
+
835
+ **_\[interface]_**
836
+
837
+ - Default values:
435
838
 
436
839
  ```javascript
437
840
  {
438
- name: null,
439
- label: null, // `name` if not provided
440
- mode: 'wfs',
441
- wfsStrategy: 'bbox',
442
- cqlFilter: null,
443
- tilesBuffer: 0,
841
+ getCapabilitiesVersion: '1.3.0',
842
+ getFeatureVersion: '1.0.0',
843
+ describeFeatureTypeVersion: '1.1.0',
844
+ lockFeatureVersion: '1.1.0',
845
+ wfsTransactionVersion: '1.1.0',
846
+ projection: 'EPSG:3857',
847
+ lockFeatureParams: {
848
+ expiry: 5,
849
+ lockId: 'Geoserver',
850
+ releaseAction: 'SOME'
851
+ }
444
852
  }
445
853
  ```
446
854
 
447
- #### name
855
+ ### WfsGeoserverVendor
448
856
 
449
- Layer name in the GeoServer
857
+ **Extends BaseGeoserverVendor**
858
+
859
+ **_\[interface]_** - WFS geoserver options
860
+ <https://docs.geoserver.org/latest/en/user/services/wfs/vendor.html>
861
+
862
+ #### strict
863
+
864
+ <https://docs.geoserver.org/latest/en/user/services/wfs/vendor.html#xml-request-validation>
865
+
866
+ Type: [boolean](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Boolean)
867
+
868
+ ### WmsGeoserverVendor
869
+
870
+ **Extends BaseGeoserverVendor**
871
+
872
+ **_\[interface]_** - WMS geoserver options
873
+ <https://docs.geoserver.org/latest/en/user/services/wms/vendor.html>
874
+
875
+ #### buffer
876
+
877
+ <https://docs.geoserver.org/latest/en/user/services/wms/vendor.html#buffer>
878
+
879
+ Type: ([string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String) | [number](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Number))
880
+
881
+ #### env
882
+
883
+ <https://docs.geoserver.org/latest/en/user/services/wms/vendor.html#env>
450
884
 
451
885
  Type: [string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)
452
886
 
453
- #### label
887
+ #### clip
454
888
 
455
- Label to be displayed in the widget control
889
+ <https://docs.geoserver.org/latest/en/user/services/wms/vendor.html#clip>
456
890
 
457
891
  Type: [string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)
458
892
 
459
- #### mode
893
+ #### styles
894
+
895
+ Styles in which layers are to be rendered.
896
+ Value is a comma-separated list of style names, or empty if default styling is required.
897
+ Style names may be empty in the list, to use default layer styling.
460
898
 
461
- Mode to use in the layer
899
+ Type: [string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)
462
900
 
463
- Type: (`"wfs"` | `"wms"`)
901
+ #### transparent
464
902
 
465
- #### wfsStrategy
903
+ Whether the map background should be transparent. Values are true or false. Default is false
904
+
905
+ Type: [boolean](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Boolean)
466
906
 
467
- Strategy function for loading features. Only works if mode is "wfs"
907
+ #### bgcolor
908
+
909
+ Background color for the map image. Value is in the form RRGGBB. Default is FFFFFF (white).
468
910
 
469
911
  Type: [string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)
470
912
 
471
- #### cqlFilter
913
+ #### time
472
914
 
473
- The cql_filter GeoServer parameter is similar to the standard filter parameter,
474
- but the filter is expressed using ECQL (Extended Common Query Language).
475
- ECQL provides a more compact and readable syntax compared to OGC XML filters.
476
- For full details see the [ECQL Reference](https://docs.geoserver.org/stable/en/user/filter/ecql_reference.html#filter-ecql-reference) and CQL and ECQL tutorial.
915
+ Time value or range for map data.
916
+ See [Time Support in GeoServer WMS](https://docs.geoserver.org/stable/en/user/services/wms/time.html#wms-time) for more information.
477
917
 
478
918
  Type: [string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)
479
919
 
480
- #### tilesBuffer
920
+ #### sld
481
921
 
482
- The buffer parameter specifies the number of additional
483
- border pixels that are used on requesting rasted tiles
484
- Only works if mode is 'wms'
922
+ A URL referencing a [StyledLayerDescriptor](https://docs.geoserver.org/stable/en/user/styling/index.html#styling)
923
+ XML file which controls or enhances map layers and styling
485
924
 
486
- Type: [number](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Number)
925
+ Type: [string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)
487
926
 
488
- ### WfstLayer
927
+ #### sld_body
489
928
 
490
- **_\[type]_** - Supported layers
929
+ A URL-encoded StyledLayerDescriptor XML document which controls or enhances map layers and styling
491
930
 
492
- Type: (VectorLayer\<any> | TileLayer\<any>)
931
+ Type: [string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)
493
932
 
494
- ### IWfstLayersList
933
+ ### IGeoserverDescribeFeatureType
495
934
 
496
- **_\[interface]_** - Custom Language specified when creating a WFST instance
935
+ **_\[interface]_** - Geoserver original response on DescribeFeature request
936
+
937
+ #### \_parsed
938
+
939
+ DescribeFeature request parsed
940
+
941
+ Type: {namespace: [string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String), properties: any, geomType: GeometryType, geomField: [string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)}
497
942
 
498
943
  ### I18n
499
944
 
@@ -509,13 +954,15 @@ Type: {select: [string](https://developer.mozilla.org/docs/Web/JavaScript/Refere
509
954
 
510
955
  Errors section
511
956
 
512
- Type: {capabilities: [string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)?, wfst: [string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)?, layer: [string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)?, layerNotFound: [string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)?, noValidGeometry: [string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)?, geoserver: [string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)?, badFormat: [string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)?, badFile: [string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)?, lockFeature: [string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)?, transaction: [string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)?, getFeatures: [string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)?}
957
+ Type: {capabilities: [string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)?, wfst: [string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)?, layer: [string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)?, layerNotFound: [string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)?, layerNotVisible: [string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)?, noValidGeometry: [string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)?, geoserver: [string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)?, badFormat: [string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)?, badFile: [string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)?, lockFeature: [string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)?, transaction: [string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)?, getFeatures: [string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)?}
513
958
 
514
959
  ## TODO
515
960
 
516
961
  - \~~Add support to diferent layer styles~~
517
962
  - \~~Improve widget controller: visibility toggle~~
518
963
  - \~~Add events~~
964
+ - Add `Don't show again` option in the error modal
965
+ - Allow selection of multiples features and bulk edit
519
966
  - Add customizables styles
520
967
  - Improve scss (add variables)
521
968
  - Add cookies to persist widget controller state
@@ -524,7 +971,4 @@ Type: {capabilities: [string](https://developer.mozilla.org/docs/Web/JavaScript/
524
971
  - Improve comments and documentation
525
972
  - Improve interface
526
973
  - Change svg imports to preserve svg structure
527
-
528
- ## License
529
-
530
- MIT (c) Gastón Zalba.
974
+ - Improve style on editing and drawing features