@eeacms/volto-arcgis-block 0.1.257 → 0.1.259

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 CHANGED
@@ -4,6 +4,10 @@ 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.259](https://github.com/eea/volto-arcgis-block/compare/0.1.258...0.1.259) - 14 February 2024
8
+
9
+ ### [0.1.258](https://github.com/eea/volto-arcgis-block/compare/0.1.257...0.1.258) - 12 February 2024
10
+
7
11
  ### [0.1.257](https://github.com/eea/volto-arcgis-block/compare/0.1.256...0.1.257) - 7 February 2024
8
12
 
9
13
  #### :hammer_and_wrench: Others
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@eeacms/volto-arcgis-block",
3
- "version": "0.1.257",
3
+ "version": "0.1.259",
4
4
  "description": "volto-arcgis-block: Volto add-on",
5
5
  "main": "src/index.js",
6
6
  "author": "European Environment Agency: CodeSyntax",
@@ -334,15 +334,21 @@ class BookmarkWidget extends React.Component {
334
334
  }
335
335
  this.map.layers.removeAll();
336
336
  this.map.layers.add('bookmark');
337
+ let layerOpacities = {};
337
338
  for (let index = 0; index < selectLayers.length; index++) {
338
339
  if (selectOpacity[index]) {
339
340
  this.layers[selectLayers[index]].opacity = selectOpacity[index];
341
+ layerOpacities[selectLayers[index]] = selectOpacity[index];
340
342
  }
341
343
  if (selectVisible[index] !== null) {
342
344
  this.layers[selectLayers[index]].visible = selectVisible[index];
343
345
  }
344
346
  }
345
347
  sessionStorage.setItem('checkedLayers', JSON.stringify(selectLayers));
348
+ sessionStorage.setItem(
349
+ 'layerOpacities',
350
+ JSON.stringify(layerOpacities),
351
+ );
346
352
  });
347
353
  });
348
354
  }
@@ -701,16 +701,32 @@ class MenuWidget extends React.Component {
701
701
  }
702
702
  }
703
703
  }
704
+ let counter = layers.length - 1;
704
705
  layers.forEach((layer, index) => {
706
+ let order = counter - index;
705
707
  let activeLayers = document.querySelectorAll('.active-layer');
706
708
  activeLayers.forEach((item) => {
707
709
  if (layer === item.getAttribute('layer-id')) {
708
- item.parentElement.insertBefore(item, activeLayers[index]);
710
+ item.parentElement.insertBefore(item, activeLayers[order]);
709
711
  }
710
712
  });
711
713
  });
712
714
  this.layersReorder();
713
715
  this.saveLayerOrder();
716
+ let elementOpacities = document.querySelectorAll(
717
+ '.active-layer-opacity',
718
+ );
719
+ let layerOpacities = JSON.parse(
720
+ sessionStorage.getItem('layerOpacities'),
721
+ );
722
+ elementOpacities.forEach((element) => {
723
+ let id = element.parentElement.parentElement.getAttribute(
724
+ 'layer-id',
725
+ );
726
+ if (layerOpacities[id]) {
727
+ element.dataset.opacity = layerOpacities[id] * 100;
728
+ }
729
+ });
714
730
  }
715
731
  });
716
732
  });
@@ -2829,7 +2845,7 @@ class MenuWidget extends React.Component {
2829
2845
  let activeLayers = document.querySelectorAll('.active-layer');
2830
2846
  let newLayerOrder = [];
2831
2847
  for (let i = 0; i < activeLayers.length; i++) {
2832
- newLayerOrder.push(activeLayers[i].getAttribute('layer-id'));
2848
+ newLayerOrder.unshift(activeLayers[i].getAttribute('layer-id'));
2833
2849
  }
2834
2850
  sessionStorage.setItem('checkedLayers', JSON.stringify(newLayerOrder));
2835
2851
  window.dispatchEvent(new Event('storage'));
@@ -3047,6 +3063,9 @@ class MenuWidget extends React.Component {
3047
3063
  });
3048
3064
  if (layers.length === 0 && document.querySelector('.info-container')) {
3049
3065
  document.querySelector('.info-container').style.display = 'none';
3066
+ document
3067
+ .querySelector('.esri-ui-top-right.esri-ui-corner')
3068
+ .classList.remove('show-panel');
3050
3069
  } else if (layers.length > 0) {
3051
3070
  document.querySelector('.info-container').style.display = 'flex';
3052
3071
  }
@@ -3075,24 +3094,20 @@ class MenuWidget extends React.Component {
3075
3094
  * @param {*} e From the click event
3076
3095
  */
3077
3096
  showOpacity(elem, e) {
3078
- if (
3079
- document.querySelector('.opacity-slider input').dataset.layer !== elem.id
3080
- ) {
3081
- let opacity = e.currentTarget.dataset.opacity;
3082
- document.querySelector('.opacity-slider input').value = opacity;
3083
- document.querySelector('.opacity-panel').style.display = 'block';
3084
- let left = e.currentTarget.offsetLeft + 48;
3085
- document.querySelector('.opacity-panel').style.left = left + 'px';
3086
- let top =
3087
- document.querySelector('.tabs').offsetHeight +
3088
- 15 -
3089
- document.querySelector('.panels').scrollTop +
3090
- e.currentTarget.closest('.active-layer').offsetTop +
3091
- e.currentTarget.closest('.active-layer').offsetHeight / 2 -
3092
- document.querySelector('.opacity-panel').offsetHeight / 2;
3093
- document.querySelector('.opacity-panel').style.top = top + 'px';
3094
- document.querySelector('.opacity-slider input').dataset.layer = elem.id;
3095
- }
3097
+ let opacity = e.currentTarget.dataset.opacity;
3098
+ document.querySelector('.opacity-slider input').value = opacity;
3099
+ document.querySelector('.opacity-panel').style.display = 'block';
3100
+ let left = e.currentTarget.offsetLeft + 48;
3101
+ document.querySelector('.opacity-panel').style.left = left + 'px';
3102
+ let top =
3103
+ document.querySelector('.tabs').offsetHeight +
3104
+ 15 -
3105
+ document.querySelector('.panels').scrollTop +
3106
+ e.currentTarget.closest('.active-layer').offsetTop +
3107
+ e.currentTarget.closest('.active-layer').offsetHeight / 2 -
3108
+ document.querySelector('.opacity-panel').offsetHeight / 2;
3109
+ document.querySelector('.opacity-panel').style.top = top + 'px';
3110
+ document.querySelector('.opacity-slider input').dataset.layer = elem.id;
3096
3111
  e.stopPropagation();
3097
3112
  this.hideOnClickOutsideOpacity();
3098
3113
  }