@eeacms/volto-eea-map 0.1.28 → 0.1.29
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.
- package/CHANGELOG.md +5 -1
- package/package.json +1 -1
- package/src/components/Webmap.jsx +42 -35
- package/src/components/widgets/LayerSelectWidget.jsx +28 -0
- package/src/styles/map.css +10 -0
package/CHANGELOG.md
CHANGED
|
@@ -4,12 +4,16 @@ All notable changes to this project will be documented in this file. Dates are d
|
|
|
4
4
|
|
|
5
5
|
Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog).
|
|
6
6
|
|
|
7
|
+
### [0.1.29](https://github.com/eea/volto-eea-map/compare/0.1.28...0.1.29) - 19 October 2022
|
|
8
|
+
|
|
9
|
+
#### :hammer_and_wrench: Others
|
|
10
|
+
|
|
11
|
+
- Enable opacity control [andreiggr - [`bb88b89`](https://github.com/eea/volto-eea-map/commit/bb88b89857169fd5b8174dcbeaeeba448a7c7d0c)]
|
|
7
12
|
### [0.1.28](https://github.com/eea/volto-eea-map/compare/0.1.27...0.1.28) - 7 October 2022
|
|
8
13
|
|
|
9
14
|
#### :hammer_and_wrench: Others
|
|
10
15
|
|
|
11
16
|
- Clear [andreiggr - [`cef77e6`](https://github.com/eea/volto-eea-map/commit/cef77e6bf85f919c4968d5001f342c7d6c0e63f5)]
|
|
12
|
-
- Custom base import [andreiggr - [`ac15d5a`](https://github.com/eea/volto-eea-map/commit/ac15d5aa8edb3dc33b317f47fc11424e74035ce8)]
|
|
13
17
|
### [0.1.27](https://github.com/eea/volto-eea-map/compare/0.1.26...0.1.27) - 7 October 2022
|
|
14
18
|
|
|
15
19
|
#### :hammer_and_wrench: Others
|
package/package.json
CHANGED
|
@@ -146,41 +146,48 @@ const Webmap = (props) => {
|
|
|
146
146
|
map_layers && map_layers.length > 0
|
|
147
147
|
? map_layers
|
|
148
148
|
.filter(({ map_service_url, layer }) => map_service_url && layer)
|
|
149
|
-
.map(
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
:
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
149
|
+
.map(
|
|
150
|
+
(
|
|
151
|
+
{ map_service_url, layer, fullLayer, query = '', opacity = 1 },
|
|
152
|
+
index,
|
|
153
|
+
) => {
|
|
154
|
+
const url = `${map_service_url}/${layer?.id}`;
|
|
155
|
+
let mapLayer;
|
|
156
|
+
switch (layer.type) {
|
|
157
|
+
case 'Raster Layer':
|
|
158
|
+
mapLayer = new MapImageLayer({
|
|
159
|
+
url: map_service_url,
|
|
160
|
+
sublayers: [
|
|
161
|
+
{
|
|
162
|
+
id: layer.id,
|
|
163
|
+
minScale: layer?.minScale,
|
|
164
|
+
maxScale: layer?.maxScale,
|
|
165
|
+
opacity: opacity ? parseFloat(opacity) : 1,
|
|
166
|
+
definitionExpression: query
|
|
167
|
+
? formatQuery(query, 'sql')
|
|
168
|
+
: '',
|
|
169
|
+
},
|
|
170
|
+
],
|
|
171
|
+
});
|
|
172
|
+
break;
|
|
173
|
+
case 'Feature Layer':
|
|
174
|
+
mapLayer = new FeatureLayer({
|
|
175
|
+
layerId: layer.id,
|
|
176
|
+
url,
|
|
177
|
+
definitionExpression: query
|
|
178
|
+
? formatQuery(query, 'sql')
|
|
179
|
+
: '',
|
|
180
|
+
minScale: layer?.minScale,
|
|
181
|
+
maxScale: layer?.maxScale,
|
|
182
|
+
opacity: opacity ? parseFloat(opacity) : 1,
|
|
183
|
+
});
|
|
184
|
+
break;
|
|
185
|
+
default:
|
|
186
|
+
break;
|
|
187
|
+
}
|
|
188
|
+
return mapLayer;
|
|
189
|
+
},
|
|
190
|
+
)
|
|
184
191
|
: [];
|
|
185
192
|
|
|
186
193
|
const mapBaseLayer = new WebTileLayer({
|
|
@@ -172,6 +172,13 @@ const LayerSelectWidget = (props) => {
|
|
|
172
172
|
}
|
|
173
173
|
};
|
|
174
174
|
|
|
175
|
+
const handleOpacityChange = (val) => {
|
|
176
|
+
onChange(id, {
|
|
177
|
+
...value,
|
|
178
|
+
opacity: val,
|
|
179
|
+
});
|
|
180
|
+
};
|
|
181
|
+
|
|
175
182
|
const handleChangeServiceUrl = (value) => {
|
|
176
183
|
setServiceUrlError('');
|
|
177
184
|
setCheckColor('');
|
|
@@ -285,6 +292,27 @@ const LayerSelectWidget = (props) => {
|
|
|
285
292
|
)}
|
|
286
293
|
{availableLayers && availableLayers.length > 0 && selectedLayer && (
|
|
287
294
|
<div className="spaced-row">
|
|
295
|
+
<Grid.Row stretched>
|
|
296
|
+
<h5>Opacity:</h5>
|
|
297
|
+
<input
|
|
298
|
+
className="map-number-input"
|
|
299
|
+
type="number"
|
|
300
|
+
min={0}
|
|
301
|
+
max={1}
|
|
302
|
+
step={0.1}
|
|
303
|
+
value={value?.opacity ? value?.opacity : 1}
|
|
304
|
+
onChange={(e) => handleOpacityChange(e.target.value)}
|
|
305
|
+
/>
|
|
306
|
+
<input
|
|
307
|
+
className="map-range-input"
|
|
308
|
+
type="range"
|
|
309
|
+
min={0}
|
|
310
|
+
max={1}
|
|
311
|
+
step={0.1}
|
|
312
|
+
value={value?.opacity ? value?.opacity : 1}
|
|
313
|
+
onChange={(e) => handleOpacityChange(e.target.value)}
|
|
314
|
+
/>
|
|
315
|
+
</Grid.Row>
|
|
288
316
|
<Grid.Row stretched>
|
|
289
317
|
<h5 style={{ padding: '0', margin: '15px 0px 5px 0px' }}>
|
|
290
318
|
Description
|
package/src/styles/map.css
CHANGED