@geops/rvf-mobility-web-component 0.1.96 → 0.1.98
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 +15 -0
- package/index.js +43 -43
- package/package.json +1 -1
- package/src/utils/applyInitialLayerVisibility.ts +21 -3
- package/src/utils/hooks/useInitialLayersVisiblity.tsx +21 -19
package/package.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"name": "@geops/rvf-mobility-web-component",
|
|
3
3
|
"license": "UNLICENSED",
|
|
4
4
|
"description": "Web components for rvf in the domains of mobility and logistics.",
|
|
5
|
-
"version": "0.1.
|
|
5
|
+
"version": "0.1.98",
|
|
6
6
|
"homepage": "https://rvf-mobility-web-component-geops.vercel.app/",
|
|
7
7
|
"type": "module",
|
|
8
8
|
"main": "index.js",
|
|
@@ -14,10 +14,28 @@ const applyInitialLayerVisibility = (
|
|
|
14
14
|
const names = layersAttrValue?.split(",") || [];
|
|
15
15
|
const name = layer.get("name");
|
|
16
16
|
const shouldBeVisible = names.includes(name);
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
17
|
+
if (layer.getVisible() !== shouldBeVisible) {
|
|
18
|
+
if ((layer as Group).getLayers) {
|
|
19
|
+
(layer as Group)
|
|
20
|
+
.getLayers()
|
|
21
|
+
.getArray()
|
|
22
|
+
.forEach((subLayer) => {
|
|
23
|
+
subLayer.setVisible(shouldBeVisible);
|
|
24
|
+
// applyInitialLayerVisibility(layersAttrValue, subLayer);
|
|
25
|
+
});
|
|
26
|
+
} else {
|
|
27
|
+
layer.setVisible(shouldBeVisible);
|
|
28
|
+
}
|
|
20
29
|
}
|
|
21
30
|
}
|
|
31
|
+
if ((layer as Group).getLayers) {
|
|
32
|
+
(layer as Group)
|
|
33
|
+
.getLayers()
|
|
34
|
+
.getArray()
|
|
35
|
+
.forEach((subLayer) => {
|
|
36
|
+
// subLayer.setVisible(false);
|
|
37
|
+
applyInitialLayerVisibility(layersAttrValue, subLayer);
|
|
38
|
+
});
|
|
39
|
+
}
|
|
22
40
|
};
|
|
23
41
|
export default applyInitialLayerVisibility;
|
|
@@ -7,7 +7,7 @@ import applyInitialLayerVisibility from "../applyInitialLayerVisibility";
|
|
|
7
7
|
import useInitialPermalink from "./useInitialPermalink";
|
|
8
8
|
|
|
9
9
|
import type { Map } from "ol";
|
|
10
|
-
import type { Group } from "ol/layer";
|
|
10
|
+
// import type { Group } from "ol/layer";
|
|
11
11
|
const useInitialLayersVisiblity = (
|
|
12
12
|
map: Map,
|
|
13
13
|
layers: string,
|
|
@@ -36,29 +36,31 @@ const useInitialLayersVisiblity = (
|
|
|
36
36
|
}
|
|
37
37
|
|
|
38
38
|
// We reverse the array to begin by the end of the tree (so the group layers are applied last)
|
|
39
|
-
const layersAsArray = getLayersAsFlatArray(
|
|
39
|
+
const layersAsArray = getLayersAsFlatArray(
|
|
40
|
+
map.getLayers().getArray(),
|
|
41
|
+
).reverse();
|
|
40
42
|
layersAsArray.forEach((layer) => {
|
|
41
43
|
applyInitialLayerVisibility(layersToUse, layer);
|
|
42
44
|
});
|
|
43
45
|
|
|
44
46
|
// Hide group if there is no children visible
|
|
45
|
-
layersAsArray
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
47
|
+
// layersAsArray
|
|
48
|
+
// .filter((l) => {
|
|
49
|
+
// return (l as Group).getLayers;
|
|
50
|
+
// })
|
|
51
|
+
// .forEach((layer) => {
|
|
52
|
+
// if (
|
|
53
|
+
// layer.getVisible() &&
|
|
54
|
+
// !(layer as Group)
|
|
55
|
+
// .getLayers()
|
|
56
|
+
// ?.getArray()
|
|
57
|
+
// .some((l) => {
|
|
58
|
+
// return l.getVisible();
|
|
59
|
+
// })
|
|
60
|
+
// ) {
|
|
61
|
+
// layer.setVisible(false);
|
|
62
|
+
// }
|
|
63
|
+
// });
|
|
62
64
|
|
|
63
65
|
const key = map.getLayers().on("add", (event) => {
|
|
64
66
|
applyInitialLayerVisibility(layersToUse, event.element);
|