@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/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.96",
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
- // Visiblity of group are defined by their children, they should not appear in the permalink.
18
- if (layer.getVisible() !== shouldBeVisible && !(layer as Group).getLayers) {
19
- layer.setVisible(shouldBeVisible);
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(map.getLayers().getArray());
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
- .filter((l) => {
47
- return (l as Group).getLayers;
48
- })
49
- .forEach((layer) => {
50
- if (
51
- layer.getVisible() &&
52
- !(layer as Group)
53
- .getLayers()
54
- ?.getArray()
55
- .some((l) => {
56
- return l.getVisible();
57
- })
58
- ) {
59
- layer.setVisible(false);
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);