ol-wfst 4.0.0 → 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 (50) hide show
  1. package/README.md +221 -127
  2. package/dist/@types.d.ts +32 -0
  3. package/dist/@types.d.ts.map +1 -1
  4. package/dist/WfsLayer.d.ts +15 -2
  5. package/dist/WfsLayer.d.ts.map +1 -1
  6. package/dist/WmsLayer.d.ts +16 -3
  7. package/dist/WmsLayer.d.ts.map +1 -1
  8. package/dist/modules/{Modes/baseLayer.d.ts → base/BaseLayer.d.ts} +1 -1
  9. package/dist/modules/base/BaseLayer.d.ts.map +1 -0
  10. package/dist/modules/base/WfsSource.d.ts +48 -0
  11. package/dist/modules/base/WfsSource.d.ts.map +1 -0
  12. package/dist/modules/base/WmsSource.d.ts +47 -0
  13. package/dist/modules/base/WmsSource.d.ts.map +1 -0
  14. package/dist/modules/errors.d.ts.map +1 -1
  15. package/dist/ol-wfst.js +78 -321
  16. package/dist/ol-wfst.js.map +1 -1
  17. package/dist/ol-wfst.min.js +1 -1
  18. package/dist/ol-wfst.min.js.map +1 -1
  19. package/lib/@types.d.ts +32 -0
  20. package/lib/@types.d.ts.map +1 -1
  21. package/lib/WfsLayer.d.ts +15 -2
  22. package/lib/WfsLayer.d.ts.map +1 -1
  23. package/lib/WmsLayer.d.ts +16 -3
  24. package/lib/WmsLayer.d.ts.map +1 -1
  25. package/lib/index-es.js +74 -317
  26. package/lib/index-es.js.map +1 -1
  27. package/lib/modules/{Modes/baseLayer.d.ts → base/BaseLayer.d.ts} +1 -1
  28. package/lib/modules/base/BaseLayer.d.ts.map +1 -0
  29. package/lib/modules/base/WfsSource.d.ts +48 -0
  30. package/lib/modules/base/WfsSource.d.ts.map +1 -0
  31. package/lib/modules/base/WmsSource.d.ts +47 -0
  32. package/lib/modules/base/WmsSource.d.ts.map +1 -0
  33. package/lib/modules/errors.d.ts.map +1 -1
  34. package/lib/tsconfig.tsbuildinfo +1 -1
  35. package/package.json +1 -1
  36. package/dist/modules/Modes/WfsSource.d.ts +0 -60
  37. package/dist/modules/Modes/WfsSource.d.ts.map +0 -1
  38. package/dist/modules/Modes/WmsSource.d.ts +0 -82
  39. package/dist/modules/Modes/WmsSource.d.ts.map +0 -1
  40. package/dist/modules/Modes/baseLayer.d.ts.map +0 -1
  41. package/dist/modules/Modes/baseSource.d.ts +0 -103
  42. package/dist/modules/Modes/baseSource.d.ts.map +0 -1
  43. package/dist/tsconfig.tsbuildinfo +0 -1
  44. package/lib/modules/Modes/WfsSource.d.ts +0 -60
  45. package/lib/modules/Modes/WfsSource.d.ts.map +0 -1
  46. package/lib/modules/Modes/WmsSource.d.ts +0 -82
  47. package/lib/modules/Modes/WmsSource.d.ts.map +0 -1
  48. package/lib/modules/Modes/baseLayer.d.ts.map +0 -1
  49. package/lib/modules/Modes/baseSource.d.ts +0 -103
  50. package/lib/modules/Modes/baseSource.d.ts.map +0 -1
package/lib/@types.d.ts CHANGED
@@ -38,6 +38,10 @@ export interface BaseGeoserverVendor {
38
38
  * https://docs.geoserver.org/latest/en/user/services/wms/vendor.html#propertyname
39
39
  */
40
40
  propertyname?: string;
41
+ /**
42
+ * Add any other param
43
+ */
44
+ [key: string]: any;
41
45
  }
42
46
  /**
43
47
  * **_[interface]_** - WFS geoserver options
@@ -69,6 +73,34 @@ export interface WmsGeoserverVendor extends BaseGeoserverVendor {
69
73
  * https://docs.geoserver.org/latest/en/user/services/wms/vendor.html#clip
70
74
  */
71
75
  clip?: string;
76
+ /**
77
+ * Styles in which layers are to be rendered.
78
+ * Value is a comma-separated list of style names, or empty if default styling is required.
79
+ * Style names may be empty in the list, to use default layer styling.
80
+ */
81
+ styles?: string;
82
+ /**
83
+ * Whether the map background should be transparent. Values are true or false. Default is false
84
+ */
85
+ transparent?: boolean;
86
+ /**
87
+ * Background color for the map image. Value is in the form RRGGBB. Default is FFFFFF (white).
88
+ */
89
+ bgcolor?: string;
90
+ /**
91
+ * Time value or range for map data.
92
+ * See [Time Support in GeoServer WMS](https://docs.geoserver.org/stable/en/user/services/wms/time.html#wms-time) for more information.
93
+ */
94
+ time?: string;
95
+ /**
96
+ * A URL referencing a [StyledLayerDescriptor](https://docs.geoserver.org/stable/en/user/styling/index.html#styling)
97
+ * XML file which controls or enhances map layers and styling
98
+ */
99
+ sld?: string;
100
+ /**
101
+ * A URL-encoded StyledLayerDescriptor XML document which controls or enhances map layers and styling
102
+ */
103
+ sld_body?: string;
72
104
  }
73
105
  /**
74
106
  * **_[interface]_** - Geoserver original response on DescribeFeature request
@@ -1 +1 @@
1
- {"version":3,"file":"@types.d.ts","sourceRoot":"","sources":["../src/@types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"@types.d.ts","sourceRoot":"","sources":["../src/@types.ts"],"names":[],"mappings":"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"}
package/lib/WfsLayer.d.ts CHANGED
@@ -8,8 +8,8 @@ import { LayerRenderEventTypes } from 'ol/render/EventType';
8
8
  import { BaseLayerObjectEventTypes } from 'ol/layer/Base';
9
9
  import { ObjectEvent } from 'ol/Object';
10
10
  import RenderEvent from 'ol/render/Event';
11
- import BaseLayer, { BaseLayerEventTypes } from './modules/Modes/BaseLayer';
12
- import WfsSource from './modules/Modes/WfsSource';
11
+ import BaseLayer, { BaseLayerEventTypes } from './modules/base/BaseLayer';
12
+ import WfsSource from './modules/base/WfsSource';
13
13
  import { LayerOptions } from './ol-wfst';
14
14
  import { TransactionType } from './@enums';
15
15
  declare const WfsLayer_base: import("ts-mixer/dist/types/types").Class<any[], BaseLayer & VectorLayer<WfsSource>, typeof BaseLayer & {
@@ -35,6 +35,19 @@ export default class WfsLayer extends WfsLayer_base {
35
35
  * @public
36
36
  */
37
37
  refresh(): void;
38
+ /**
39
+ * Use this to update Geoserver Wms Vendors (https://docs.geoserver.org/latest/en/user/services/wms/vendor.html)
40
+ * and other arguements (https://docs.geoserver.org/stable/en/user/services/wms/reference.html#getmap)
41
+ * in all the getMap requests.
42
+ *
43
+ * Example: you can use this to change the style of the WMS, add a custom sld, set a cql_filter, etc.
44
+ *
45
+ * @public
46
+ * @param paramName
47
+ * @param value
48
+ * @param refresh
49
+ */
50
+ setCustomParam(paramName: string, value?: string, refresh?: boolean): URLSearchParams;
38
51
  }
39
52
  export {};
40
53
  //# sourceMappingURL=WfsLayer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"WfsLayer.d.ts","sourceRoot":"","sources":["../src/WfsLayer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,IAAI,CAAC;AAC7B,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACnC,OAAO,WAAW,MAAM,iBAAiB,CAAC;AAC1C,OAAO,SAAS,MAAM,iBAAiB,CAAC;AACxC,OAAO,EAAE,mBAAmB,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC7E,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,EAAE,yBAAyB,EAAE,MAAM,eAAe,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,WAAW,MAAM,iBAAiB,CAAC;AAI1C,OAAO,SAAS,EAAE,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAC3E,OAAO,SAAS,MAAM,2BAA2B,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAEzC,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;;;;AAE3C;;;;;;;GAOG;AACH,MAAM,CAAC,OAAO,OAAO,QAAS,SAAQ,aAAwC;IAC1E,OAAO,CAAC,aAAa,CAAK;IAC1B,OAAO,CAAC,YAAY,CAAK;IAElB,qBAAqB,EAAE,CAC1B,OAAO,EAAE,OAAO,CAAC,QAAQ,CAAC,EAC1B,WAAW,EAAE,eAAe,KAC3B,OAAO,CAAC,QAAQ,CAAC,CAAC;IAEf,EAAE,EAAE,WAAW,CAAC,UAAU,EAAE,SAAS,EAAE,SAAS,CAAC,GACrD,WAAW,CACP,mBAAmB,GAAG,yBAAyB,GAAG,eAAe,EACjE,WAAW,EACX,SAAS,CACZ,GACD,WAAW,CAAC,qBAAqB,EAAE,WAAW,EAAE,SAAS,CAAC,GAC1D,mBAAmB,CACb,UAAU,GACV,mBAAmB,GACnB,yBAAyB,GACzB,eAAe,GACf,qBAAqB,EACvB,SAAS,CACZ,CAAC;IAEE,IAAI,EAAE,WAAW,CAAC,UAAU,EAAE,SAAS,EAAE,SAAS,CAAC,GACvD,WAAW,CACP,mBAAmB,GAAG,yBAAyB,GAAG,eAAe,EACjE,WAAW,EACX,SAAS,CACZ,GACD,WAAW,CAAC,qBAAqB,EAAE,WAAW,EAAE,SAAS,CAAC,GAC1D,mBAAmB,CACb,UAAU,GACV,mBAAmB,GACnB,yBAAyB,GACzB,eAAe,GACf,qBAAqB,EACvB,SAAS,CACZ,CAAC;IAEE,EAAE,EAAE,WAAW,CAAC,UAAU,EAAE,SAAS,EAAE,IAAI,CAAC,GAChD,WAAW,CACP,mBAAmB,GAAG,yBAAyB,GAAG,eAAe,EACjE,WAAW,EACX,IAAI,CACP,GACD,WAAW,CAAC,qBAAqB,EAAE,WAAW,EAAE,IAAI,CAAC,GACrD,mBAAmB,CACb,UAAU,GACV,mBAAmB,GACnB,yBAAyB,GACzB,eAAe,GACf,qBAAqB,EACvB,IAAI,CACP,CAAC;gBAEM,OAAO,EAAE,YAAY;IA8CjC;;OAEG;IACH,OAAO;CAKV"}
1
+ {"version":3,"file":"WfsLayer.d.ts","sourceRoot":"","sources":["../src/WfsLayer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,IAAI,CAAC;AAC7B,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACnC,OAAO,WAAW,MAAM,iBAAiB,CAAC;AAC1C,OAAO,SAAS,MAAM,iBAAiB,CAAC;AACxC,OAAO,EAAE,mBAAmB,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC7E,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,EAAE,yBAAyB,EAAE,MAAM,eAAe,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,WAAW,MAAM,iBAAiB,CAAC;AAI1C,OAAO,SAAS,EAAE,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC1E,OAAO,SAAS,MAAM,0BAA0B,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAEzC,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;;;;AAG3C;;;;;;;GAOG;AACH,MAAM,CAAC,OAAO,OAAO,QAAS,SAAQ,aAAwC;IAC1E,OAAO,CAAC,aAAa,CAAK;IAC1B,OAAO,CAAC,YAAY,CAAK;IAElB,qBAAqB,EAAE,CAC1B,OAAO,EAAE,OAAO,CAAC,QAAQ,CAAC,EAC1B,WAAW,EAAE,eAAe,KAC3B,OAAO,CAAC,QAAQ,CAAC,CAAC;IAEf,EAAE,EAAE,WAAW,CAAC,UAAU,EAAE,SAAS,EAAE,SAAS,CAAC,GACrD,WAAW,CACP,mBAAmB,GAAG,yBAAyB,GAAG,eAAe,EACjE,WAAW,EACX,SAAS,CACZ,GACD,WAAW,CAAC,qBAAqB,EAAE,WAAW,EAAE,SAAS,CAAC,GAC1D,mBAAmB,CACb,UAAU,GACV,mBAAmB,GACnB,yBAAyB,GACzB,eAAe,GACf,qBAAqB,EACvB,SAAS,CACZ,CAAC;IAEE,IAAI,EAAE,WAAW,CAAC,UAAU,EAAE,SAAS,EAAE,SAAS,CAAC,GACvD,WAAW,CACP,mBAAmB,GAAG,yBAAyB,GAAG,eAAe,EACjE,WAAW,EACX,SAAS,CACZ,GACD,WAAW,CAAC,qBAAqB,EAAE,WAAW,EAAE,SAAS,CAAC,GAC1D,mBAAmB,CACb,UAAU,GACV,mBAAmB,GACnB,yBAAyB,GACzB,eAAe,GACf,qBAAqB,EACvB,SAAS,CACZ,CAAC;IAEE,EAAE,EAAE,WAAW,CAAC,UAAU,EAAE,SAAS,EAAE,IAAI,CAAC,GAChD,WAAW,CACP,mBAAmB,GAAG,yBAAyB,GAAG,eAAe,EACjE,WAAW,EACX,IAAI,CACP,GACD,WAAW,CAAC,qBAAqB,EAAE,WAAW,EAAE,IAAI,CAAC,GACrD,mBAAmB,CACb,UAAU,GACV,mBAAmB,GACnB,yBAAyB,GACzB,eAAe,GACf,qBAAqB,EACvB,IAAI,CACP,CAAC;gBAEM,OAAO,EAAE,YAAY;IAoDjC;;OAEG;IACH,OAAO;IAMP;;;;;;;;;;;OAWG;IACH,cAAc,CACV,SAAS,EAAE,MAAM,EACjB,KAAK,GAAE,MAAa,EACpB,OAAO,UAAO,GACf,eAAe;CAWrB"}
package/lib/WmsLayer.d.ts CHANGED
@@ -8,8 +8,8 @@ import { LayerRenderEventTypes } from 'ol/render/EventType';
8
8
  import { BaseLayerObjectEventTypes } from 'ol/layer/Base';
9
9
  import { ObjectEvent } from 'ol/Object';
10
10
  import RenderEvent from 'ol/render/Event';
11
- import WmsSource from './modules/Modes/WmsSource';
12
- import BaseLayer, { BaseLayerEventTypes } from './modules/Modes/BaseLayer';
11
+ import WmsSource from './modules/base/WmsSource';
12
+ import BaseLayer, { BaseLayerEventTypes } from './modules/base/BaseLayer';
13
13
  import { LayerOptions } from './ol-wfst';
14
14
  import { TransactionType } from './@enums';
15
15
  declare const WmsLayer_base: import("ts-mixer/dist/types/types").Class<any[], BaseLayer & TileLayer<WmsSource>, typeof BaseLayer & {
@@ -38,11 +38,24 @@ export default class WmsLayer extends WmsLayer_base {
38
38
  * @returns
39
39
  * @private
40
40
  */
41
- getFeaturesByClickEvent(evt: MapBrowserEvent<UIEvent>): Promise<Feature<Geometry>[]>;
41
+ _getFeaturesByClickEvent(evt: MapBrowserEvent<UIEvent>): Promise<Feature<Geometry>[]>;
42
42
  /**
43
43
  * @public
44
44
  */
45
45
  refresh(): void;
46
+ /**
47
+ * Use this to update Geoserver Wfs Vendors (https://docs.geoserver.org/latest/en/user/services/wfs/vendor.html)
48
+ * and other arguements (https://docs.geoserver.org/stable/en/user/services/wfs/reference.html)
49
+ * in all the getFeature requests.
50
+ *
51
+ * Example: you can use this to set a cql_filter, limit the numbers of features, etc.
52
+ *
53
+ * @public
54
+ * @param paramName
55
+ * @param value
56
+ * @param refresh
57
+ */
58
+ setCustomParam(paramName: string, value?: string, refresh?: boolean): URLSearchParams;
46
59
  }
47
60
  export {};
48
61
  //# sourceMappingURL=WmsLayer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"WmsLayer.d.ts","sourceRoot":"","sources":["../src/WmsLayer.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,eAAe,CAAC;AACtC,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACnC,OAAO,EAAE,OAAO,EAAE,eAAe,EAAE,MAAM,IAAI,CAAC;AAE9C,OAAO,SAAS,MAAM,iBAAiB,CAAC;AACxC,OAAO,EAAE,mBAAmB,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC7E,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,EAAE,yBAAyB,EAAE,MAAM,eAAe,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,WAAW,MAAM,iBAAiB,CAAC;AAE1C,OAAO,SAAS,MAAM,2BAA2B,CAAC;AAClD,OAAO,SAAS,EAAE,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAC3E,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAEzC,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;;;;AAM3C;;;;;;;GAOG;AACH,MAAM,CAAC,OAAO,OAAO,QAAS,SAAQ,aAAsC;IACxE,OAAO,CAAC,aAAa,CAAK;IAC1B,OAAO,CAAC,YAAY,CAAK;IAElB,qBAAqB,EAAE,CAC1B,OAAO,EAAE,OAAO,CAAC,QAAQ,CAAC,EAC1B,WAAW,EAAE,eAAe,KAC3B,OAAO,CAAC,QAAQ,CAAC,CAAC;IAEvB,OAAO,CAAC,cAAc,CAAU;IAExB,EAAE,EAAE,WAAW,CAAC,UAAU,EAAE,SAAS,EAAE,SAAS,CAAC,GACrD,WAAW,CACL,mBAAmB,GACnB,yBAAyB,GACzB,eAAe,GACf,gBAAgB,GAChB,+BAA+B,EACjC,WAAW,EACX,SAAS,CACZ,GACD,WAAW,CAAC,qBAAqB,EAAE,WAAW,EAAE,SAAS,CAAC,GAC1D,mBAAmB,CACb,UAAU,GACV,mBAAmB,GACnB,yBAAyB,GACzB,eAAe,GACf,gBAAgB,GAChB,+BAA+B,GAC/B,qBAAqB,EACvB,SAAS,CACZ,CAAC;IACE,IAAI,EAAE,WAAW,CAAC,UAAU,EAAE,SAAS,EAAE,SAAS,CAAC,GACvD,WAAW,CACL,mBAAmB,GACnB,yBAAyB,GACzB,eAAe,GACf,gBAAgB,GAChB,+BAA+B,EACjC,WAAW,EACX,SAAS,CACZ,GACD,WAAW,CAAC,qBAAqB,EAAE,WAAW,EAAE,SAAS,CAAC,GAC1D,mBAAmB,CACb,UAAU,GACV,mBAAmB,GACnB,yBAAyB,GACzB,eAAe,GACf,gBAAgB,GAChB,+BAA+B,GAC/B,qBAAqB,EACvB,SAAS,CACZ,CAAC;IAEE,EAAE,EAAE,WAAW,CAAC,UAAU,EAAE,SAAS,EAAE,IAAI,CAAC,GAChD,WAAW,CACL,mBAAmB,GACnB,yBAAyB,GACzB,eAAe,GACf,gBAAgB,GAChB,+BAA+B,EACjC,WAAW,EACX,IAAI,CACP,GACD,WAAW,CAAC,qBAAqB,EAAE,WAAW,EAAE,IAAI,CAAC,GACrD,mBAAmB,CACb,UAAU,GACV,mBAAmB,GACnB,yBAAyB,GACzB,eAAe,GACf,gBAAgB,GAChB,+BAA+B,GAC/B,qBAAqB,EACvB,IAAI,CACP,CAAC;gBAEM,OAAO,EAAE,YAAY;IA+CjC;;;;;OAKG;IACG,uBAAuB,CACzB,GAAG,EAAE,eAAe,CAAC,OAAO,CAAC,GAC9B,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;IAsD/B;;OAEG;IACH,OAAO;CAWV"}
1
+ {"version":3,"file":"WmsLayer.d.ts","sourceRoot":"","sources":["../src/WmsLayer.ts"],"names":[],"mappings":"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"}
package/lib/index-es.js CHANGED
@@ -13,12 +13,12 @@ import GeoJSON from 'ol/format/GeoJSON';
13
13
  import VectorSource, { VectorSourceEvent } from 'ol/source/Vector';
14
14
  import { transformExtent } from 'ol/proj';
15
15
  import { bbox } from 'ol/loadingstrategy';
16
- import BaseObject from 'ol/Object';
17
16
  import TileLayer from 'ol/layer/Tile';
18
17
  import { GeoJSON as GeoJSON$1, WFS, KML } from 'ol/format';
19
18
  import TileWMS from 'ol/source/TileWMS';
20
19
  import TileState from 'ol/TileState';
21
20
  import { MultiPolygon, MultiLineString, MultiPoint, GeometryCollection, Polygon, Circle as Circle$1 } from 'ol/geom';
21
+ import BaseObject from 'ol/Object';
22
22
  import { fromCircle } from 'ol/geom/Polygon';
23
23
  import { getCenter } from 'ol/extent';
24
24
 
@@ -51,8 +51,7 @@ const showError = (msg, originalError = null, layerName = '') => {
51
51
  isError.add(layerName);
52
52
  let err_msg = `<b>Error: ${msg}</b>`;
53
53
  if (originalError) {
54
- console.log(originalError);
55
- //err_msg += `. ${originalError.message}`;
54
+ err_msg += `. ${originalError.message}`;
56
55
  }
57
56
  const al = Modal.alert(err_msg, options);
58
57
  al.show();
@@ -404,153 +403,15 @@ var BaseLayerProperty;
404
403
  BaseLayerProperty["GEOSERVER"] = "geoserver";
405
404
  })(BaseLayerProperty || (BaseLayerProperty = {}));
406
405
 
407
- class BaseSource extends BaseObject {
408
- /**
409
- * @public
410
- * @param value
411
- * @param opt_silent
412
- */
413
- setCqlFilter(value, opt_silent) {
414
- this.set(BaseSourceProperty.CQLFILTER, value, opt_silent);
415
- }
416
- /**
417
- * @public
418
- * @returns
419
- */
420
- getCqlFilter() {
421
- return this.get(BaseSourceProperty.CQLFILTER);
422
- }
423
- /**
424
- * @public
425
- * @param value
426
- * @param opt_silent
427
- */
428
- setSortBy(value, opt_silent) {
429
- this.set(BaseSourceProperty.SORTBY, value, opt_silent);
430
- }
431
- /**
432
- * @public
433
- * @returns
434
- */
435
- getSortBy() {
436
- return this.get(BaseSourceProperty.SORTBY);
437
- }
438
- /**
439
- * @public
440
- * @param value
441
- * @param opt_silent
442
- */
443
- setFeatureId(value, opt_silent) {
444
- this.set(BaseSourceProperty.FEATUREID, value, opt_silent);
445
- }
446
- /**
447
- * @public
448
- * @returns
449
- */
450
- getFeatureId() {
451
- return this.get(BaseSourceProperty.FEATUREID);
452
- }
453
- /**
454
- * @public
455
- * @param value
456
- * @param opt_silent
457
- */
458
- setFilter(value, opt_silent) {
459
- this.set(BaseSourceProperty.FILTER, value, opt_silent);
460
- }
461
- /**
462
- * @public
463
- * @returns
464
- */
465
- getFilter() {
466
- return this.get(BaseSourceProperty.FILTER);
467
- }
468
- /**
469
- * @public
470
- * @param value
471
- * @param opt_silent
472
- */
473
- setFormatOptions(value, opt_silent) {
474
- this.set(BaseSourceProperty.FORMATOPTIONS, value, opt_silent);
475
- }
476
- /**
477
- * @public
478
- * @returns
479
- */
480
- getFormatOptions() {
481
- return this.get(BaseSourceProperty.FORMATOPTIONS);
482
- }
483
- /**
484
- * @public
485
- * @param value
486
- * @param opt_silent
487
- */
488
- setMaxFeatures(value, opt_silent) {
489
- this.set(BaseSourceProperty.MAXFEATURES, value, opt_silent);
490
- }
491
- /**
492
- * @public
493
- * @returns
494
- */
495
- getMaxFeatures() {
496
- return this.get(BaseSourceProperty.MAXFEATURES);
497
- }
498
- /**
499
- * @public
500
- * @param value
501
- * @param opt_silent
502
- */
503
- setStartIndex(value, opt_silent) {
504
- this.set(BaseSourceProperty.STARTINDEX, value, opt_silent);
505
- }
506
- /**
507
- * @public
508
- * @returns
509
- */
510
- getStartIndex() {
511
- return this.get(BaseSourceProperty.STARTINDEX);
512
- }
513
- /**
514
- * @public
515
- * @param value
516
- * @param opt_silent
517
- */
518
- setPropertyName(value, opt_silent) {
519
- this.set(BaseSourceProperty.PROPERTYNAME, value, opt_silent);
520
- }
521
- /**
522
- * @public
523
- * @returns
524
- */
525
- getPropertyName() {
526
- return this.get(BaseSourceProperty.PROPERTYNAME);
527
- }
528
- }
529
- var BaseSourceProperty;
530
- (function (BaseSourceProperty) {
531
- BaseSourceProperty["CQLFILTER"] = "cql_filter";
532
- BaseSourceProperty["SORTBY"] = "sortBy";
533
- BaseSourceProperty["FEATUREID"] = "featureid";
534
- BaseSourceProperty["FILTER"] = "filter";
535
- BaseSourceProperty["FORMATOPTIONS"] = "format_options";
536
- BaseSourceProperty["MAXFEATURES"] = "maxFeatures";
537
- BaseSourceProperty["STARTINDEX"] = "startIndex";
538
- BaseSourceProperty["PROPERTYNAME"] = "propertyname";
539
- })(BaseSourceProperty || (BaseSourceProperty = {}));
540
-
541
- class WfsSource extends Mixin(VectorSource, BaseSource) {
542
- geoserverProps_ = [
543
- 'cql_filter',
544
- 'filter',
545
- 'orderBy',
546
- 'maxFeatures',
547
- 'startIndex',
548
- 'featureid',
549
- 'format_options',
550
- 'propertyname',
551
- 'strict'
552
- ];
553
- urlParams_ = new URLSearchParams({
406
+ /**
407
+ * Layer source to retrieve WFS features from geoservers
408
+ * https://docs.geoserver.org/stable/en/user/services/wfs/reference.html
409
+ *
410
+ * @extends {ol/source/Vector~VectorSource}
411
+ * @param options
412
+ */
413
+ class WfsSource extends VectorSource {
414
+ urlParams = new URLSearchParams({
554
415
  SERVICE: 'wfs',
555
416
  REQUEST: 'GetFeature',
556
417
  OUTPUTFORMAT: 'application/json',
@@ -567,46 +428,10 @@ class WfsSource extends Mixin(VectorSource, BaseSource) {
567
428
  const extentGeoServer = transformExtent(extent, projection.getCode(), options.geoServerAdvanced.projection);
568
429
  // https://docs.geoserver.org/stable/en/user/services/wfs/reference.html
569
430
  // request features using a bounding box with CRS maybe different from featureTypes native CRS
570
- this.urlParams_.set('bbox', extentGeoServer.toString() +
431
+ this.urlParams.set('bbox', extentGeoServer.toString() +
571
432
  `,${options.geoServerAdvanced.projection}`);
572
433
  }
573
- const cqlFilter = this.getCqlFilter();
574
- if (cqlFilter) {
575
- this.urlParams_.set('cql_filter', cqlFilter);
576
- }
577
- const sortBy = this.getSortBy();
578
- if (sortBy) {
579
- this.urlParams_.set('sortBy', sortBy);
580
- }
581
- const filter = this.getFilter();
582
- if (filter) {
583
- this.urlParams_.set('filter', filter);
584
- }
585
- const featureId = this.getFeatureId();
586
- if (featureId) {
587
- this.urlParams_.set('featureid', featureId);
588
- }
589
- const formatOptions = this.getFormatOptions();
590
- if (formatOptions) {
591
- this.urlParams_.set('formatOptions', formatOptions);
592
- }
593
- const maxFeatures = this.getMaxFeatures();
594
- if (maxFeatures) {
595
- this.urlParams_.set('maxFeatures', String(maxFeatures));
596
- }
597
- const startIndex = this.getStartIndex();
598
- if (startIndex) {
599
- this.urlParams_.set('startIndex', String(startIndex));
600
- }
601
- const propertyName = this.getPropertyName();
602
- if (propertyName) {
603
- this.urlParams_.set('propertyname', propertyName);
604
- }
605
- const strict = this.getStrict();
606
- if (strict !== undefined) {
607
- this.urlParams_.set('strict', String(strict));
608
- }
609
- const url_fetch = options.geoserverUrl + '?' + this.urlParams_.toString();
434
+ const url_fetch = options.geoserverUrl + '?' + this.urlParams.toString();
610
435
  const response = await fetch(url_fetch, {
611
436
  headers: options.headers,
612
437
  credentials: options.credentials
@@ -636,52 +461,11 @@ class WfsSource extends Mixin(VectorSource, BaseSource) {
636
461
  }
637
462
  }
638
463
  });
639
- this.urlParams_.set('version', options.geoServerAdvanced.getFeatureVersion);
640
- this.urlParams_.set('typename', options.name);
641
- this.urlParams_.set('srsName', options.geoServerAdvanced.projection.toString());
642
- const geoserverOptions = options.geoserverVendor;
643
- this.setCqlFilter(geoserverOptions.cql_filter, true);
644
- this.setSortBy(geoserverOptions.sortBy, true);
645
- this.setFeatureId(geoserverOptions.featureid, true);
646
- this.setFilter(geoserverOptions.filter, true);
647
- this.setFormatOptions(geoserverOptions.format_options, true);
648
- this.setMaxFeatures(geoserverOptions.maxFeatures, true);
649
- this.setStartIndex(geoserverOptions.startIndex, true);
650
- this.setPropertyName(geoserverOptions.propertyname, true);
651
- this.setStrict(geoserverOptions.strict, true);
652
- this.addEvents_();
464
+ this.urlParams.set('version', options.geoServerAdvanced.getFeatureVersion);
465
+ this.urlParams.set('typename', options.name);
466
+ this.urlParams.set('srsName', options.geoServerAdvanced.projection.toString());
653
467
  }
654
- /**
655
- * @public
656
- * @param value
657
- * @param opt_silent
658
- */
659
- setStrict(value, opt_silent) {
660
- this.set(WfsSourceProperty.STRICT, value, opt_silent);
661
- }
662
- /**
663
- * @public
664
- * @returns
665
- */
666
- getStrict() {
667
- return this.get(WfsSourceProperty.STRICT);
668
- }
669
- /**
670
- * @private
671
- */
672
- addEvents_() {
673
- this.on(['propertychange'], (evt) => {
674
- // If a geoserver property was modified, refresh the source
675
- if (this.geoserverProps_.includes(evt.key)) {
676
- this.refresh();
677
- }
678
- });
679
- }
680
- }
681
- var WfsSourceProperty;
682
- (function (WfsSourceProperty) {
683
- WfsSourceProperty["STRICT"] = "strict";
684
- })(WfsSourceProperty || (WfsSourceProperty = {}));
468
+ }
685
469
 
686
470
  /**
687
471
  * Layer to retrieve WFS features from geoservers
@@ -732,6 +516,10 @@ class WfsLayer extends Mixin(BaseLayer, (VectorLayer)) {
732
516
  }
733
517
  });
734
518
  this.setSource(source);
519
+ const geoserverOptions = options.geoserverVendor;
520
+ Object.keys(geoserverOptions).forEach((param) => {
521
+ source.urlParams.set(param, geoserverOptions[param]);
522
+ });
735
523
  }
736
524
  /**
737
525
  * @public
@@ -741,22 +529,36 @@ class WfsLayer extends Mixin(BaseLayer, (VectorLayer)) {
741
529
  // Refrescamos el wms
742
530
  source.refresh();
743
531
  }
532
+ /**
533
+ * Use this to update Geoserver Wms Vendors (https://docs.geoserver.org/latest/en/user/services/wms/vendor.html)
534
+ * and other arguements (https://docs.geoserver.org/stable/en/user/services/wms/reference.html#getmap)
535
+ * in all the getMap requests.
536
+ *
537
+ * Example: you can use this to change the style of the WMS, add a custom sld, set a cql_filter, etc.
538
+ *
539
+ * @public
540
+ * @param paramName
541
+ * @param value
542
+ * @param refresh
543
+ */
544
+ setCustomParam(paramName, value = null, refresh = true) {
545
+ const source = this.getSource();
546
+ source.urlParams.set(paramName, value);
547
+ if (refresh) {
548
+ this.refresh();
549
+ }
550
+ return source.urlParams;
551
+ }
744
552
  }
745
553
 
746
- class WmsSource extends Mixin(TileWMS, BaseSource) {
747
- geoserverProps_ = [
748
- 'cql_filter',
749
- 'filter',
750
- 'orderBy',
751
- 'maxFeatures',
752
- 'startIndex',
753
- 'featureid',
754
- 'format_options',
755
- 'propertyname',
756
- 'buffer',
757
- 'clip',
758
- 'env'
759
- ];
554
+ /**
555
+ * Layer source to retrieve WMS information from geoservers
556
+ * https://docs.geoserver.org/stable/en/user/services/wms/reference.html
557
+ *
558
+ * @extends {ol/source/TieWMS~TileWMS}
559
+ * @param options
560
+ */
561
+ class WmsSource extends TileWMS {
760
562
  constructor(options) {
761
563
  super({
762
564
  url: options.geoserverUrl,
@@ -801,75 +603,8 @@ class WmsSource extends Mixin(TileWMS, BaseSource) {
801
603
  },
802
604
  ...options
803
605
  });
804
- this.addEvents_();
805
606
  }
806
- /**
807
- * @public
808
- * @param value
809
- * @param opt_silent
810
- */
811
- setBuffer(value, opt_silent) {
812
- this.set(WmsSourceProperty.BUFFER, value, opt_silent);
813
- }
814
- /**
815
- * @public
816
- * @returns
817
- */
818
- getBuffer() {
819
- return this.get(WmsSourceProperty.BUFFER);
820
- }
821
- /**
822
- * @public
823
- * @param value
824
- * @param opt_silent
825
- */
826
- setEnv(value, opt_silent) {
827
- this.set(WmsSourceProperty.ENV, value, opt_silent);
828
- }
829
- /**
830
- * @public
831
- * @returns
832
- */
833
- getEnv() {
834
- return this.get(WmsSourceProperty.ENV);
835
- }
836
- /**
837
- * @public
838
- * @param value
839
- * @param opt_silent
840
- */
841
- setClip(value, opt_silent) {
842
- this.set(WmsSourceProperty.CLIP, value, opt_silent);
843
- }
844
- /**
845
- * @public
846
- * @returns
847
- */
848
- getClip() {
849
- return this.get(WmsSourceProperty.CLIP);
850
- }
851
- /**
852
- * @private
853
- */
854
- addEvents_() {
855
- this.on(['propertychange'], (evt) => {
856
- console.log(evt.key);
857
- // If a geoserver property was modified, refresh the source
858
- if (this.geoserverProps_.includes(evt.key)) {
859
- this.updateParams({
860
- [evt.key]: evt.target.get(evt.key)
861
- });
862
- this.refresh();
863
- }
864
- });
865
- }
866
- }
867
- var WmsSourceProperty;
868
- (function (WmsSourceProperty) {
869
- WmsSourceProperty["BUFFER"] = "buffer";
870
- WmsSourceProperty["ENV"] = "env";
871
- WmsSourceProperty["CLIP"] = "clip";
872
- })(WmsSourceProperty || (WmsSourceProperty = {}));
607
+ }
873
608
 
874
609
  /**
875
610
  * Layer to retrieve WMS information from geoservers
@@ -929,7 +664,7 @@ class WmsLayer extends Mixin(BaseLayer, (TileLayer)) {
929
664
  * @returns
930
665
  * @private
931
666
  */
932
- async getFeaturesByClickEvent(evt) {
667
+ async _getFeaturesByClickEvent(evt) {
933
668
  const coordinate = evt.coordinate;
934
669
  const view = getMap().getView();
935
670
  // Si la vista es lejana, disminumos el buffer
@@ -977,6 +712,28 @@ class WmsLayer extends Mixin(BaseLayer, (TileLayer)) {
977
712
  params.t = new Date().getMilliseconds();
978
713
  source.updateParams(params);
979
714
  }
715
+ /**
716
+ * Use this to update Geoserver Wfs Vendors (https://docs.geoserver.org/latest/en/user/services/wfs/vendor.html)
717
+ * and other arguements (https://docs.geoserver.org/stable/en/user/services/wfs/reference.html)
718
+ * in all the getFeature requests.
719
+ *
720
+ * Example: you can use this to set a cql_filter, limit the numbers of features, etc.
721
+ *
722
+ * @public
723
+ * @param paramName
724
+ * @param value
725
+ * @param refresh
726
+ */
727
+ setCustomParam(paramName, value = null, refresh = true) {
728
+ const source = this.getSource();
729
+ source.updateParams({
730
+ [paramName]: value
731
+ });
732
+ if (refresh) {
733
+ this.refresh();
734
+ }
735
+ return source.getParams();
736
+ }
980
737
  }
981
738
 
982
739
  function createElement(tagName, attrs = {}, ...children) {
@@ -2558,7 +2315,7 @@ class Wfst extends Control {
2558
2315
  layer instanceof WfsLayer) {
2559
2316
  return;
2560
2317
  }
2561
- const features = await layer.getFeaturesByClickEvent(evt);
2318
+ const features = await layer._getFeaturesByClickEvent(evt);
2562
2319
  if (!features.length) {
2563
2320
  return;
2564
2321
  }