ol-wfst 3.0.5 → 4.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 (137) hide show
  1. package/CHANGELOG.md +18 -1
  2. package/LICENSE.md +21 -0
  3. package/README.md +532 -182
  4. package/dist/@enums.d.ts +5 -0
  5. package/dist/@enums.d.ts.map +1 -1
  6. package/dist/@types.d.ts +163 -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 +40 -0
  11. package/dist/WfsLayer.d.ts.map +1 -0
  12. package/dist/WmsLayer.d.ts +48 -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/Modes/WfsSource.d.ts +60 -0
  27. package/dist/modules/Modes/WfsSource.d.ts.map +1 -0
  28. package/dist/modules/Modes/WmsSource.d.ts +82 -0
  29. package/dist/modules/Modes/WmsSource.d.ts.map +1 -0
  30. package/dist/modules/Modes/baseLayer.d.ts +62 -0
  31. package/dist/modules/Modes/baseLayer.d.ts.map +1 -0
  32. package/dist/modules/Modes/baseSource.d.ts +103 -0
  33. package/dist/modules/Modes/baseSource.d.ts.map +1 -0
  34. package/dist/modules/Uploads.d.ts +47 -0
  35. package/dist/modules/Uploads.d.ts.map +1 -0
  36. package/dist/modules/editLayer.d.ts +4 -0
  37. package/dist/modules/editLayer.d.ts.map +1 -0
  38. package/dist/modules/errors.d.ts +11 -0
  39. package/dist/modules/errors.d.ts.map +1 -0
  40. package/dist/modules/helpers.d.ts +7 -0
  41. package/dist/modules/helpers.d.ts.map +1 -0
  42. package/dist/{assets → modules}/i18n/en.d.ts +0 -0
  43. package/dist/modules/i18n/en.d.ts.map +1 -0
  44. package/dist/{assets → modules}/i18n/es.d.ts +0 -0
  45. package/dist/modules/i18n/es.d.ts.map +1 -0
  46. package/dist/modules/i18n/index.d.ts +15 -0
  47. package/dist/modules/i18n/index.d.ts.map +1 -0
  48. package/dist/{assets → modules}/i18n/zh.d.ts +0 -0
  49. package/dist/modules/i18n/zh.d.ts.map +1 -0
  50. package/dist/modules/loading.d.ts +3 -0
  51. package/dist/modules/loading.d.ts.map +1 -0
  52. package/dist/modules/state.d.ts +22 -0
  53. package/dist/modules/state.d.ts.map +1 -0
  54. package/dist/modules/styleFunction.d.ts +13 -0
  55. package/dist/modules/styleFunction.d.ts.map +1 -0
  56. package/dist/myPragma.d.ts +2 -0
  57. package/dist/myPragma.d.ts.map +1 -0
  58. package/dist/ol-wfst.d.ts +83 -326
  59. package/dist/ol-wfst.d.ts.map +1 -1
  60. package/dist/ol-wfst.js +6369 -5139
  61. package/dist/ol-wfst.js.map +1 -1
  62. package/dist/ol-wfst.min.js +1 -15
  63. package/dist/ol-wfst.min.js.map +1 -1
  64. package/dist/tsconfig.tsbuildinfo +1 -1
  65. package/lib/@enums.d.ts +5 -0
  66. package/lib/@enums.d.ts.map +1 -1
  67. package/lib/@types.d.ts +163 -0
  68. package/lib/@types.d.ts.map +1 -0
  69. package/lib/Geoserver.d.ts +260 -0
  70. package/lib/Geoserver.d.ts.map +1 -0
  71. package/lib/WfsLayer.d.ts +40 -0
  72. package/lib/WfsLayer.d.ts.map +1 -0
  73. package/lib/WmsLayer.d.ts +48 -0
  74. package/lib/WmsLayer.d.ts.map +1 -0
  75. package/lib/defaults.d.ts +4 -0
  76. package/lib/defaults.d.ts.map +1 -0
  77. package/lib/index-es.js +3008 -0
  78. package/lib/index-es.js.map +1 -0
  79. package/lib/modules/EditControlChanges.d.ts +18 -0
  80. package/lib/modules/EditControlChanges.d.ts.map +1 -0
  81. package/lib/modules/EditFieldsModal.d.ts +18 -0
  82. package/lib/modules/EditFieldsModal.d.ts.map +1 -0
  83. package/lib/modules/EditOverlay.d.ts +7 -0
  84. package/lib/modules/EditOverlay.d.ts.map +1 -0
  85. package/lib/modules/LayersControl.d.ts +35 -0
  86. package/lib/modules/LayersControl.d.ts.map +1 -0
  87. package/lib/modules/Modes/WfsSource.d.ts +60 -0
  88. package/lib/modules/Modes/WfsSource.d.ts.map +1 -0
  89. package/lib/modules/Modes/WmsSource.d.ts +82 -0
  90. package/lib/modules/Modes/WmsSource.d.ts.map +1 -0
  91. package/lib/modules/Modes/baseLayer.d.ts +62 -0
  92. package/lib/modules/Modes/baseLayer.d.ts.map +1 -0
  93. package/lib/modules/Modes/baseSource.d.ts +103 -0
  94. package/lib/modules/Modes/baseSource.d.ts.map +1 -0
  95. package/lib/modules/Uploads.d.ts +47 -0
  96. package/lib/modules/Uploads.d.ts.map +1 -0
  97. package/lib/modules/editLayer.d.ts +4 -0
  98. package/lib/modules/editLayer.d.ts.map +1 -0
  99. package/lib/modules/errors.d.ts +11 -0
  100. package/lib/modules/errors.d.ts.map +1 -0
  101. package/lib/modules/helpers.d.ts +7 -0
  102. package/lib/modules/helpers.d.ts.map +1 -0
  103. package/lib/{assets → modules}/i18n/en.d.ts +0 -0
  104. package/lib/modules/i18n/en.d.ts.map +1 -0
  105. package/lib/{assets → modules}/i18n/es.d.ts +0 -0
  106. package/lib/modules/i18n/es.d.ts.map +1 -0
  107. package/lib/modules/i18n/index.d.ts +15 -0
  108. package/lib/modules/i18n/index.d.ts.map +1 -0
  109. package/lib/{assets → modules}/i18n/zh.d.ts +0 -0
  110. package/lib/modules/i18n/zh.d.ts.map +1 -0
  111. package/lib/modules/loading.d.ts +3 -0
  112. package/lib/modules/loading.d.ts.map +1 -0
  113. package/lib/modules/state.d.ts +22 -0
  114. package/lib/modules/state.d.ts.map +1 -0
  115. package/lib/modules/styleFunction.d.ts +13 -0
  116. package/lib/modules/styleFunction.d.ts.map +1 -0
  117. package/lib/myPragma.d.ts +2 -0
  118. package/lib/myPragma.d.ts.map +1 -0
  119. package/lib/ol-wfst.d.ts +83 -326
  120. package/lib/ol-wfst.d.ts.map +1 -1
  121. package/lib/style/css/ol-gisify.css +19 -18
  122. package/lib/style/scss/_variables.scss +17 -0
  123. package/lib/style/scss/ol-wfst.scss +31 -28
  124. package/lib/tsconfig.tsbuildinfo +1 -1
  125. package/package.json +6 -5
  126. package/dist/assets/i18n/en.d.ts.map +0 -1
  127. package/dist/assets/i18n/es.d.ts.map +0 -1
  128. package/dist/assets/i18n/index.d.ts +0 -4
  129. package/dist/assets/i18n/index.d.ts.map +0 -1
  130. package/dist/assets/i18n/zh.d.ts.map +0 -1
  131. package/lib/assets/i18n/en.d.ts.map +0 -1
  132. package/lib/assets/i18n/es.d.ts.map +0 -1
  133. package/lib/assets/i18n/index.d.ts +0 -4
  134. package/lib/assets/i18n/index.d.ts.map +0 -1
  135. package/lib/assets/i18n/zh.d.ts.map +0 -1
  136. package/lib/ol-wfst.js +0 -2276
  137. 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,13 +45,19 @@ 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) },
48
+ headers: { Authorization: 'Basic ' + btoa(username + ':' + password) }
49
+ };
50
+
51
+ const wfst = new Wfst({
37
52
  layers: [
38
- {
53
+ // WFS Layer
54
+ new WfsLayer({
39
55
  name: 'myPointsLayer', // Name of the layer on the GeoServer
40
56
  label: 'Photos', // Optional Label to be displayed in the controller
41
- mode: 'wfs',
57
+ geoserver: geoserver,
42
58
  zIndex: 99,
59
+
60
+ // WfsLayers need a custom style
43
61
  style: new Style({
44
62
  image: new Circle({
45
63
  radius: 7,
@@ -51,59 +69,129 @@ const wfst = new Wfst({
51
69
  width: 2
52
70
  })
53
71
  })
54
- })
55
- },
56
- {
72
+ }),
73
+
74
+ // See [geoserverVendor](#geoservervendor) for more details.
75
+ geoserverVendor: {
76
+ cql_filter: 'id > 50',
77
+ maxFeatures: 500
78
+ },
79
+
80
+ beforeTransactFeature: function (feature, transactionType) {
81
+ if (transactionType === 'insert') {
82
+ // Maybe add a custom value o perform an action before insert features
83
+ feature.set('customProperty', 'customValue', true);
84
+ } else if (transactionType === 'update') {
85
+ // ... //
86
+ } else if (transactionType === 'delete') {
87
+ // .. //
88
+ }
89
+
90
+ return feature;
91
+ }
92
+ }),
93
+
94
+ // WMS Layer
95
+ new WmsLayer({
57
96
  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
69
- }
97
+ label: 'Other elements',
98
+ geoserver: geoserver,
99
+ // See [geoserverVendor](#geoservervendor) for more details.
100
+ geoserverVendor: {
101
+ cql_filter: 'id > 50',
102
+ buffer: 50,
103
+ maxFeatures: 500
104
+ },
105
+ beforeTransactFeature: function (feature, transactionType) {
106
+ if (transactionType === 'insert') {
107
+ // Maybe add a custom value o perform an action before insert features
108
+ feature.set('customProperty', 'customValue', true);
109
+ } else if (transactionType === 'update') {
110
+ // ... //
111
+ } else if (transactionType === 'delete') {
112
+ // .. //
113
+ }
114
+
115
+ return feature;
116
+ }
117
+ })
70
118
  ],
71
119
  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);
77
- return feature;
78
- }
120
+ showUpload: true
79
121
  });
80
122
 
81
- // Adding custom feature without drawing
123
+ map.addControl(wfst);
124
+ ```
125
+
126
+ ### Adding features programatically
127
+
128
+ ```js
82
129
  const feature = new ol.Feature({
83
130
  geometry: new ol.geom.MultiPoint([[`-57.1145}`, `-36.2855`]])
84
131
  });
85
- const inserted = await wfst.insertFeaturesTo('myMultiPointLayer', [feature]);
132
+ const inserted = await myWmsLayer.insertFeatures([feature]);
86
133
 
87
134
  if (inserted) {
88
135
  alert('Feature inserted');
89
136
  } else {
90
137
  alert('Feature not inserted');
91
138
  }
139
+ ```
140
+
141
+ ### Events
142
+
143
+ ### wfst instance events
144
+
145
+ ```js
146
+ wfst.on(
147
+ ['modifystart', 'modifyend', 'drawstart', 'drawend', 'load', 'visible'],
148
+ function (evt) {
149
+ console.log(evt);
150
+ }
151
+ );
92
152
 
93
- // Events
94
- wfst.on(['getCapabilities', 'getFeaturesLoaded'], function (evt) {
95
- console.log(evt.type, evt.data);
153
+ wfst.on(['describeFeatureType'], function (evt) {
154
+ console.log(evt.layer, evt.data);
96
155
  });
156
+ ```
157
+
158
+ ### Geoserver events
97
159
 
98
- wfst.on(['describeFeatureType', 'getFeature'], function (evt) {
99
- console.log(evt.type, evt.layer, evt.data);
160
+ ```js
161
+ geoserver.on(['getCapabilities'], function (evt) {
162
+ console.log(evt.data);
100
163
  });
164
+ ```
101
165
 
102
- wfst.on(['modifystart', 'modifyend', 'drawstart', 'drawend'], function (evt) {
103
- console.log(evt.type, evt);
166
+ ### Layers events
167
+
168
+ #### WMS Layer
169
+
170
+ ```js
171
+ wmsLayer.on(['change:describeFeatureType'], function (evt) {
172
+ console.log(evt);
104
173
  });
174
+ ```
175
+
176
+ Source [TileWMS Events](https://openlayers.org/en/latest/apidoc/module-ol_Object.ObjectEvent.html)
177
+
178
+ ```js
179
+ wmsLayer.getSource().on([...])
180
+ ```
181
+
182
+ #### WFS Layer
183
+
184
+ ```js
185
+ wfsLayer.on(['change:describeFeatureType'], function (evt) {
186
+ console.log(evt);
187
+ });
188
+ ```
189
+
190
+ [VectorSource Events](https://openlayers.org/en/latest/apidoc/module-ol_source_Vector.VectorSourceEvent.html)
191
+
192
+ ```js
193
+ wfsLayer.getSource().on([...])
105
194
 
106
- map.addControl(wfst);
107
195
  ```
108
196
 
109
197
  ### Some considerations
@@ -122,17 +210,17 @@ See [CHANGELOG](./CHANGELOG.md) for details of changes in each release.
122
210
 
123
211
  #### JS
124
212
 
125
- Load `ol-wfst.js` after OpenLayers. Wfst is available as `Wfst`.
213
+ Load `ol-wfst.js` after OpenLayers. The available classes are `Wfst`, `Wfst.Geoserver`, `Wfst.WfsLayer` and `Wfst.WmsLayer`.
126
214
 
127
215
  ```HTML
128
- <script src="https://unpkg.com/ol-wfst@3.0.3"></script>
216
+ <script src="https://unpkg.com/ol-wfst@4.0.0"></script>
129
217
  ```
130
218
 
131
219
  #### CSS
132
220
 
133
221
  ```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" />
222
+ <link rel="stylesheet" href="https://unpkg.com/ol-wfst@4.0.0/dist/css/ol-wfst.min.css" />
223
+ <link rel="stylesheet" href="https://unpkg.com/ol-wfst@4.0.0/dist/css/ol-wfst.bootstrap5.min.css" />
136
224
  ```
137
225
 
138
226
  ### Parcel, Webpack, etc.
@@ -146,7 +234,7 @@ Install the package via `npm`
146
234
  #### JS
147
235
 
148
236
  ```js
149
- import Wfst from 'ol-wfst';
237
+ import Wfst, { Geoserver, WmsLayer, WfsLayer } from 'ol-wfst';
150
238
  ```
151
239
 
152
240
  #### CSS
@@ -161,7 +249,7 @@ import 'ol-wfst/dist/css/ol-wfst.css';
161
249
  import 'ol-wfst/dist/css/ol-wfst.bootstrap5.css';
162
250
  ```
163
251
 
164
- ##### TypeScript type definition
252
+ #### TypeScript type definition
165
253
 
166
254
  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
255
 
@@ -174,49 +262,94 @@ TypeScript types are shipped with the project in the dist directory and should b
174
262
  - [Wfst](#wfst)
175
263
  - [Parameters](#parameters)
176
264
  - [getLayers](#getlayers)
265
+ - [getLayerByName](#getlayerbyname)
177
266
  - [Parameters](#parameters-1)
178
267
  - [activateDrawMode](#activatedrawmode)
179
268
  - [Parameters](#parameters-2)
180
269
  - [activateEditMode](#activateeditmode)
181
270
  - [Parameters](#parameters-3)
182
- - [insertFeaturesTo](#insertfeaturesto)
183
- - [Parameters](#parameters-4)
271
+ - [Geoserver](#geoserver)
272
+ - [Parameters](#parameters-4)
273
+ - [getCapabilities](#getcapabilities)
274
+ - [setUrl](#seturl)
275
+ - [Parameters](#parameters-5)
276
+ - [getUrl](#geturl)
277
+ - [setHeaders](#setheaders)
278
+ - [Parameters](#parameters-6)
279
+ - [getHeaders](#getheaders)
280
+ - [setCredentials](#setcredentials)
281
+ - [Parameters](#parameters-7)
282
+ - [getCredentials](#getcredentials)
283
+ - [setAdvanced](#setadvanced)
284
+ - [Parameters](#parameters-8)
285
+ - [getAdvanced](#getadvanced)
286
+ - [hasTransaction](#hastransaction)
287
+ - [hasLockFeature](#haslockfeature)
288
+ - [getUseLockFeature](#getuselockfeature)
289
+ - [setUseLockFeature](#setuselockfeature)
290
+ - [Parameters](#parameters-9)
291
+ - [isLoaded](#isloaded)
292
+ - [getState](#getstate)
293
+ - [getAndUpdateCapabilities](#getandupdatecapabilities)
294
+ - [lockFeature](#lockfeature)
295
+ - [Parameters](#parameters-10)
296
+ - [WfsLayer](#wfslayer)
297
+ - [Parameters](#parameters-11)
298
+ - [refresh](#refresh)
299
+ - [WmsLayer](#wmslayer)
300
+ - [Parameters](#parameters-12)
301
+ - [refresh](#refresh-1)
184
302
  - [Options](#options)
185
- - [geoServerUrl](#geoserverurl)
186
- - [geoServerAdvanced](#geoserveradvanced)
187
- - [headers](#headers)
188
- - [credentials](#credentials)
303
+ - [processUpload](#processupload)
304
+ - [Parameters](#parameters-13)
189
305
  - [layers](#layers)
190
306
  - [active](#active)
191
307
  - [evtType](#evttype)
192
- - [useLockFeature](#uselockfeature)
193
308
  - [showControl](#showcontrol)
194
- - [minZoom](#minzoom)
195
309
  - [modal](#modal)
196
310
  - [language](#language)
197
311
  - [i18n](#i18n)
198
312
  - [showUpload](#showupload)
199
313
  - [uploadFormats](#uploadformats)
200
- - [processUpload](#processupload)
201
- - [Parameters](#parameters-5)
202
- - [beforeInsertFeature](#beforeinsertfeature)
203
- - [Parameters](#parameters-6)
204
- - [LayerParams](#layerparams)
314
+ - [LayerOptions](#layeroptions)
315
+ - [beforeTransactFeature](#beforetransactfeature)
316
+ - [Parameters](#parameters-14)
205
317
  - [name](#name)
318
+ - [geoserver](#geoserver-1)
206
319
  - [label](#label)
207
- - [mode](#mode)
208
- - [wfsStrategy](#wfsstrategy)
209
- - [cqlFilter](#cqlfilter)
210
- - [tilesBuffer](#tilesbuffer)
211
- - [WfstLayer](#wfstlayer)
212
- - [IWfstLayersList](#iwfstlayerslist)
320
+ - [geoserverVendor](#geoservervendor)
321
+ - [strategy](#strategy)
322
+ - [GeoserverOptions](#geoserveroptions)
323
+ - [url](#url)
324
+ - [advanced](#advanced)
325
+ - [headers](#headers)
326
+ - [credentials](#credentials)
327
+ - [useLockFeature](#uselockfeature)
328
+ - [GeoServerAdvanced](#geoserveradvanced)
329
+ - [BaseGeoserverVendor](#basegeoservervendor)
330
+ - [cql_filter](#cql_filter)
331
+ - [sortBy](#sortby)
332
+ - [featureid](#featureid)
333
+ - [filter](#filter)
334
+ - [format_options](#format_options)
335
+ - [maxFeatures](#maxfeatures)
336
+ - [startIndex](#startindex)
337
+ - [propertyname](#propertyname)
338
+ - [WfsGeoserverVendor](#wfsgeoservervendor)
339
+ - [strict](#strict)
340
+ - [WmsGeoserverVendor](#wmsgeoservervendor)
341
+ - [buffer](#buffer)
342
+ - [env](#env)
343
+ - [clip](#clip)
344
+ - [IGeoserverDescribeFeatureType](#igeoserverdescribefeaturetype)
345
+ - [\_parsed](#_parsed)
213
346
  - [I18n](#i18n-1)
214
347
  - [labels](#labels)
215
348
  - [errors](#errors)
216
349
 
217
350
  ### Wfst
218
351
 
219
- **Extends ol/control/Control~Control**
352
+ **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
353
 
221
354
  Tiny WFST-T client to insert (drawing/uploading), modify and delete
222
355
  features on GeoServers using OpenLayers. Layers with these types
@@ -226,18 +359,23 @@ choose the geometry type of each element to draw), "Point", "MultiPoint",
226
359
 
227
360
  #### Parameters
228
361
 
229
- - `opt_options` **[Options](#options)?** Wfst options, see [Wfst Options](#options) for more details.
362
+ - `options` **[Options](#options)?** Wfst options, see [Wfst Options](#options) for more details.
230
363
 
231
364
  #### getLayers
232
365
 
233
- Gat all the layers in the ol-wfst instance
234
- If a name is provided, only returns that layer
366
+ Get all the layers in the ol-wfst instance
367
+
368
+ Returns **[Array](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Array)<([WfsLayer](#wfslayer) | [WmsLayer](#wmslayer))>**&#x20;
369
+
370
+ #### getLayerByName
371
+
372
+ Get a layer
235
373
 
236
374
  ##### Parameters
237
375
 
238
376
  - `layerName` (optional, default `''`)
239
377
 
240
- Returns **([Array](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Array)<[WfstLayer](#wfstlayer)> | [WfstLayer](#wfstlayer))**
378
+ Returns **([WfsLayer](#wfslayer) | [WmsLayer](#wmslayer))**&#x20;
241
379
 
242
380
  #### activateDrawMode
243
381
 
@@ -245,9 +383,9 @@ Activate/deactivate the draw mode
245
383
 
246
384
  ##### Parameters
247
385
 
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))**
386
+ - `layer` **([WfsLayer](#wfslayer) | [WmsLayer](#wmslayer) | `false`)**&#x20;
249
387
 
250
- Returns **void**
388
+ Returns **void**&#x20;
251
389
 
252
390
  #### activateEditMode
253
391
 
@@ -257,20 +395,144 @@ Activate/desactivate the edit mode
257
395
 
258
396
  - `bool` (optional, default `true`)
259
397
 
260
- Returns **void**
398
+ Returns **void**&#x20;
399
+
400
+ ### Geoserver
401
+
402
+ **Extends ol/Object~[BaseObject](https://openlayers.org/en/latest/apidoc/module-ol_Object-BaseObject.html)**
403
+
404
+ #### Parameters
405
+
406
+ - `options` **[GeoserverOptions](#geoserveroptions)**&#x20;
407
+
408
+ #### getCapabilities
409
+
410
+ Returns **XMLDocument**&#x20;
411
+
412
+ #### setUrl
413
+
414
+ ##### Parameters
415
+
416
+ - `url` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)**&#x20;
417
+ - `opt_silent` (optional, default `false`)
418
+
419
+ Returns **void**&#x20;
261
420
 
262
- #### insertFeaturesTo
421
+ #### getUrl
263
422
 
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
423
+ Returns **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)**&#x20;
424
+
425
+ #### setHeaders
267
426
 
268
427
  ##### Parameters
269
428
 
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>>**
429
+ - `headers` **HeadersInit** (optional, default `{}`)
430
+ - `opt_silent` (optional, default `false`)
431
+
432
+ Returns **void**&#x20;
433
+
434
+ #### getHeaders
435
+
436
+ Returns **HeadersInit**&#x20;
437
+
438
+ #### setCredentials
439
+
440
+ ##### Parameters
441
+
442
+ - `credentials` **RequestCredentials** (optional, default `null`)
443
+ - `opt_silent` (optional, default `false`)
444
+
445
+ Returns **void**&#x20;
446
+
447
+ #### getCredentials
448
+
449
+ Returns **RequestCredentials**&#x20;
450
+
451
+ #### setAdvanced
452
+
453
+ ##### Parameters
454
+
455
+ - `advanced` **[GeoServerAdvanced](#geoserveradvanced)** (optional, default `{}`)
456
+ - `opt_silent` (optional, default `false`)
457
+
458
+ Returns **void**&#x20;
459
+
460
+ #### getAdvanced
461
+
462
+ Returns **[GeoServerAdvanced](#geoserveradvanced)**&#x20;
463
+
464
+ #### hasTransaction
465
+
466
+ Returns **[boolean](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Boolean)**&#x20;
467
+
468
+ #### hasLockFeature
469
+
470
+ Returns **[boolean](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Boolean)**&#x20;
471
+
472
+ #### getUseLockFeature
473
+
474
+ Returns **[boolean](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Boolean)**&#x20;
475
+
476
+ #### setUseLockFeature
477
+
478
+ ##### Parameters
479
+
480
+ - `useLockFeature` **[boolean](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Boolean)**&#x20;
481
+ - `opt_silent` (optional, default `false`)
482
+
483
+ Returns **void**&#x20;
484
+
485
+ #### isLoaded
486
+
487
+ Returns **[boolean](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Boolean)**&#x20;
488
+
489
+ #### getState
490
+
491
+ #### getAndUpdateCapabilities
272
492
 
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)>**
493
+ Get the capabilities from the GeoServer and check
494
+ all the available operations.
495
+
496
+ Returns **[Promise](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Promise)\<XMLDocument>**&#x20;
497
+
498
+ #### lockFeature
499
+
500
+ Lock a feature in the geoserver. Useful before editing a geometry,
501
+ to avoid changes from multiples suers
502
+
503
+ ##### Parameters
504
+
505
+ - `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;
506
+ - `layerName` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)**&#x20;
507
+ - `retry` (optional, default `0`)
508
+
509
+ 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;
510
+
511
+ ### WfsLayer
512
+
513
+ **Extends ol/layer/Vector~[VectorLayer](https://openlayers.org/en/latest/apidoc/module-ol_layer_Vector-VectorLayer.html)**
514
+
515
+ Layer to retrieve WFS features from geoservers
516
+ <https://docs.geoserver.org/stable/en/user/services/wfs/reference.html>
517
+
518
+ #### Parameters
519
+
520
+ - `options` **[LayerOptions](#layeroptions)**&#x20;
521
+
522
+ #### refresh
523
+
524
+ ### WmsLayer
525
+
526
+ **Extends ol/layer/Tile~[TileLayer](https://openlayers.org/en/latest/apidoc/module-ol_layer_Tile-TileLayer.html)**
527
+
528
+ Layer to retrieve WMS information from geoservers
529
+ <https://docs.geoserver.org/stable/en/user/services/wms/reference.html>
530
+
531
+ #### Parameters
532
+
533
+ - `options` **[LayerOptions](#layeroptions)**&#x20;
534
+
535
+ #### refresh
274
536
 
275
537
  ### Options
276
538
 
@@ -280,62 +542,34 @@ Default values:
280
542
 
281
543
  ```javascript
282
544
  {
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
545
  layers: null,
295
546
  evtType: 'singleclick',
296
547
  active: true,
297
548
  showControl: true,
298
- useLockFeature: true,
299
- minZoom: 9,
300
549
  language: 'en',
301
550
  i18n: {...}, // according to language selection
302
551
  uploadFormats: '.geojson,.json,.kml',
303
552
  processUpload: null,
304
- beforeInsertFeature: null,
305
553
  }
306
554
  ```
307
555
 
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>
556
+ #### processUpload
324
557
 
325
- Type: HeadersInit
558
+ Triggered to allow implement custom functions or to parse other formats than default
559
+ by filtering the extension. If this doesn't return features, the default function
560
+ will be used to extract them.
326
561
 
327
- #### credentials
562
+ ##### Parameters
328
563
 
329
- Credentials for fetch requests
330
- <https://developer.mozilla.org/en-US/docs/Web/API/Request/credentials>
564
+ - `file` **File**&#x20;
331
565
 
332
- Type: RequestCredentials
566
+ Returns **[Array](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Array)\<Feature\<Geometry>>**&#x20;
333
567
 
334
568
  #### layers
335
569
 
336
570
  Layers to be loaded from the geoserver
337
571
 
338
- Type: [Array](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Array)<[LayerParams](#layerparams)>
572
+ Type: [Array](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Array)<([WfsLayer](#wfslayer) | [WmsLayer](#wmslayer))>
339
573
 
340
574
  #### active
341
575
 
@@ -349,26 +583,12 @@ The click event to allow selection of Features to be edited
349
583
 
350
584
  Type: (`"singleclick"` | `"dblclick"`)
351
585
 
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
586
  #### showControl
361
587
 
362
588
  Show/hide the control map
363
589
 
364
590
  Type: [boolean](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Boolean)
365
591
 
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
592
  #### modal
373
593
 
374
594
  Modal configuration
@@ -400,100 +620,230 @@ Example: ".json,.geojson"
400
620
 
401
621
  Type: [string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)
402
622
 
403
- #### processUpload
623
+ ### LayerOptions
404
624
 
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.
625
+ **Extends Omit\<[VectorLayerOptions](https://openlayers.org/en/latest/apidoc/module-ol_layer_Vector-VectorLayer.html)\<any>, 'source'>**
408
626
 
409
- ##### Parameters
627
+ **_\[interface]_** - Parameters to create the layers and connect to the GeoServer
410
628
 
411
- - `file` **File**
629
+ You can use all the parameters supported by OpenLayers
412
630
 
413
- Returns **[Array](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Array)\<Feature\<Geometry>>**
631
+ Default values:
414
632
 
415
- #### beforeInsertFeature
633
+ ```javascript
634
+ {
635
+ name: null,
636
+ geoserver: null,
637
+ label: null, // `name` if not provided
638
+ strategy: all,
639
+ geoserverVendor: null
640
+ }
641
+ ```
642
+
643
+ #### beforeTransactFeature
416
644
 
417
645
  Triggered before inserting new features to the Geoserver.
418
646
  Use this to insert custom properties, modify the feature, etc.
419
647
 
420
648
  ##### Parameters
421
649
 
422
- - `feature` **Feature\<Geometry>**
650
+ - `feature` **Feature\<Geometry>**&#x20;
651
+ - `transaction` **TransactionType**&#x20;
423
652
 
424
- Returns **Feature\<Geometry>**
653
+ Returns **Feature\<Geometry>**&#x20;
425
654
 
426
- ### LayerParams
655
+ #### name
427
656
 
428
- **Extends Omit\<[VectorLayerOptions](https://openlayers.org/en/latest/apidoc/module-ol_layer_Vector-VectorLayer.html)\<any>, 'source'>**
657
+ Layer name in the GeoServer
429
658
 
430
- **_\[interface]_** - Parameters to create the layers and connect to the GeoServer
659
+ Type: [string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)
431
660
 
432
- You can use all the parameters supported by OpenLayers
661
+ #### geoserver
433
662
 
434
- Default values:
663
+ Geoserver Object
664
+
665
+ Type: [Geoserver](#geoserver)
666
+
667
+ #### label
668
+
669
+ Label to be displayed in the widget control
670
+
671
+ Type: [string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)
672
+
673
+ #### geoserverVendor
674
+
675
+ Available geoserver options
676
+
677
+ Type: ([WfsGeoserverVendor](#wfsgeoservervendor) | [WmsGeoserverVendor](#wmsgeoservervendor))
678
+
679
+ #### strategy
680
+
681
+ Strategy function for loading features.
682
+ Only for WFS
683
+ By default `all` strategy is used
684
+
685
+ Type: LoadingStrategy
686
+
687
+ ### GeoserverOptions
688
+
689
+ **_\[interface]_**
690
+
691
+ #### url
692
+
693
+ Url for OWS services. This endpoint will recive the WFS, WFST and WMS requests
694
+
695
+ Type: [string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)
696
+
697
+ #### advanced
698
+
699
+ Advanced options for geoserver requests
700
+
701
+ Type: [GeoServerAdvanced](#geoserveradvanced)
702
+
703
+ #### headers
704
+
705
+ Http headers for GeoServer requests
706
+ <https://developer.mozilla.org/en-US/docs/Web/API/Request/headers>
707
+
708
+ Type: HeadersInit
709
+
710
+ #### credentials
711
+
712
+ Credentials for fetch requests
713
+ <https://developer.mozilla.org/en-US/docs/Web/API/Request/credentials>
714
+
715
+ Default is 'same-origin'
716
+
717
+ Type: RequestCredentials
718
+
719
+ #### useLockFeature
720
+
721
+ Use LockFeatue request on GeoServer when selecting features. Prevents a feature from being edited
722
+ through a persistent feature lock. This is not always supportedd by the GeoServer.
723
+ See <https://docs.geoserver.org/stable/en/user/services/wfs/reference.html>
724
+
725
+ Type: [boolean](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Boolean)
726
+
727
+ ### GeoServerAdvanced
728
+
729
+ **_\[interface]_**
730
+
731
+ - Default values:
435
732
 
436
733
  ```javascript
437
734
  {
438
- name: null,
439
- label: null, // `name` if not provided
440
- mode: 'wfs',
441
- wfsStrategy: 'bbox',
442
- cqlFilter: null,
443
- tilesBuffer: 0,
735
+ getCapabilitiesVersion: '1.3.0',
736
+ getFeatureVersion: '1.0.0',
737
+ describeFeatureTypeVersion: '1.1.0',
738
+ lockFeatureVersion: '1.1.0',
739
+ wfsTransactionVersion: '1.1.0',
740
+ projection: 'EPSG:3857',
741
+ lockFeatureParams: {
742
+ expiry: 5,
743
+ lockId: 'Geoserver',
744
+ releaseAction: 'SOME'
745
+ }
444
746
  }
445
747
  ```
446
748
 
447
- #### name
749
+ ### BaseGeoserverVendor
448
750
 
449
- Layer name in the GeoServer
751
+ #### cql_filter
752
+
753
+ <https://docs.geoserver.org/latest/en/user/services/wms/vendor.html#cql-filter>
450
754
 
451
755
  Type: [string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)
452
756
 
453
- #### label
757
+ #### sortBy
454
758
 
455
- Label to be displayed in the widget control
759
+ <https://docs.geoserver.org/latest/en/user/services/wms/vendor.html#sortBy>
456
760
 
457
761
  Type: [string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)
458
762
 
459
- #### mode
763
+ #### featureid
460
764
 
461
- Mode to use in the layer
765
+ <https://docs.geoserver.org/latest/en/user/services/wms/vendor.html#featureid>
462
766
 
463
- Type: (`"wfs"` | `"wms"`)
767
+ Type: [string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)
464
768
 
465
- #### wfsStrategy
769
+ #### filter
466
770
 
467
- Strategy function for loading features. Only works if mode is "wfs"
771
+ <https://docs.geoserver.org/latest/en/user/services/wms/vendor.html#filter>
468
772
 
469
773
  Type: [string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)
470
774
 
471
- #### cqlFilter
775
+ #### format_options
472
776
 
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.
777
+ WMS: <https://docs.geoserver.org/latest/en/user/services/wms/vendor.html#format-options>
778
+ WFS: <https://docs.geoserver.org/latest/en/user/services/wfs/vendor.html#format-options>
477
779
 
478
780
  Type: [string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)
479
781
 
480
- #### tilesBuffer
782
+ #### maxFeatures
481
783
 
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'
784
+ <https://docs.geoserver.org/latest/en/user/services/wms/vendor.html#maxfeatures-and-startindex>
485
785
 
486
- Type: [number](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Number)
786
+ 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))
487
787
 
488
- ### WfstLayer
788
+ #### startIndex
489
789
 
490
- **_\[type]_** - Supported layers
790
+ <https://docs.geoserver.org/latest/en/user/services/wms/vendor.html#maxfeatures-and-startindex>
491
791
 
492
- Type: (VectorLayer\<any> | TileLayer\<any>)
792
+ 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))
493
793
 
494
- ### IWfstLayersList
794
+ #### propertyname
495
795
 
496
- **_\[interface]_** - Custom Language specified when creating a WFST instance
796
+ <https://docs.geoserver.org/latest/en/user/services/wms/vendor.html#propertyname>
797
+
798
+ Type: [string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)
799
+
800
+ ### WfsGeoserverVendor
801
+
802
+ **Extends BaseGeoserverVendor**
803
+
804
+ **_\[interface]_** - WFS geoserver options
805
+ <https://docs.geoserver.org/latest/en/user/services/wfs/vendor.html>
806
+
807
+ #### strict
808
+
809
+ <https://docs.geoserver.org/latest/en/user/services/wfs/vendor.html#xml-request-validation>
810
+
811
+ Type: [boolean](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Boolean)
812
+
813
+ ### WmsGeoserverVendor
814
+
815
+ **Extends BaseGeoserverVendor**
816
+
817
+ **_\[interface]_** - WMS geoserver options
818
+ <https://docs.geoserver.org/latest/en/user/services/wms/vendor.html>
819
+
820
+ #### buffer
821
+
822
+ <https://docs.geoserver.org/latest/en/user/services/wms/vendor.html#buffer>
823
+
824
+ 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))
825
+
826
+ #### env
827
+
828
+ <https://docs.geoserver.org/latest/en/user/services/wms/vendor.html#env>
829
+
830
+ Type: [string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)
831
+
832
+ #### clip
833
+
834
+ <https://docs.geoserver.org/latest/en/user/services/wms/vendor.html#clip>
835
+
836
+ Type: [string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)
837
+
838
+ ### IGeoserverDescribeFeatureType
839
+
840
+ **_\[interface]_** - Geoserver original response on DescribeFeature request
841
+
842
+ #### \_parsed
843
+
844
+ DescribeFeature request parsed
845
+
846
+ 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
847
 
498
848
  ### I18n
499
849
 
@@ -509,13 +859,16 @@ Type: {select: [string](https://developer.mozilla.org/docs/Web/JavaScript/Refere
509
859
 
510
860
  Errors section
511
861
 
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)?}
862
+ 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
863
 
514
864
  ## TODO
515
865
 
516
866
  - \~~Add support to diferent layer styles~~
517
867
  - \~~Improve widget controller: visibility toggle~~
518
868
  - \~~Add events~~
869
+ - Add WfsSource and WmsSource to Documentation
870
+ - Add `Don't show again` option in the error modal
871
+ - Allow selection of multiples features and bulk edit
519
872
  - Add customizables styles
520
873
  - Improve scss (add variables)
521
874
  - Add cookies to persist widget controller state
@@ -524,7 +877,4 @@ Type: {capabilities: [string](https://developer.mozilla.org/docs/Web/JavaScript/
524
877
  - Improve comments and documentation
525
878
  - Improve interface
526
879
  - Change svg imports to preserve svg structure
527
-
528
- ## License
529
-
530
- MIT (c) Gastón Zalba.
880
+ - Improve style on editing and drawing features