@eeacms/volto-arcgis-block 0.1.340 → 0.1.341

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,8 @@ 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.341](https://github.com/eea/volto-arcgis-block/compare/0.1.340...0.1.341) - 6 March 2025
8
+
7
9
  ### [0.1.340](https://github.com/eea/volto-arcgis-block/compare/0.1.339...0.1.340) - 5 March 2025
8
10
 
9
11
  #### :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.340",
3
+ "version": "0.1.341",
4
4
  "description": "volto-arcgis-block: Volto add-on",
5
5
  "main": "src/index.js",
6
6
  "author": "European Environment Agency: CodeSyntax",
@@ -2931,6 +2931,19 @@ class MenuWidget extends React.Component {
2931
2931
  this.findCheckedDataset(elem);
2932
2932
  let BBoxes = {};
2933
2933
  let firstLayer;
2934
+ let landCoverAndLandUseMapping = document.querySelector('#component_0');
2935
+ let productIds = [];
2936
+ if (landCoverAndLandUseMapping) {
2937
+ const productElements = landCoverAndLandUseMapping.querySelectorAll(
2938
+ '.map-menu-product-dropdown',
2939
+ );
2940
+ productElements.forEach((productElement) => {
2941
+ const productId = productElement.getAttribute('productid');
2942
+ if (productId) {
2943
+ productIds.push(productId);
2944
+ }
2945
+ });
2946
+ }
2934
2947
 
2935
2948
  if (this.productId.includes('333e4100b79045daa0ff16466ac83b7f')) {
2936
2949
  //global dynamic landCover
@@ -2938,7 +2951,7 @@ class MenuWidget extends React.Component {
2938
2951
 
2939
2952
  BBoxes = this.parseBBOXJSON(this.dataBBox);
2940
2953
  } else if (
2941
- this.productId.includes('fe8209dffe13454891cea05998c8e456') || //Low Resolution Vegetation Parameters
2954
+ this.productId.includes('fe8209dffe13454891cea05998c8e456') || // Low Resolution Vegetation Parameters
2942
2955
  this.productId.includes('8914fde2241a4035818af8f0264fd55e') // Water Parameters
2943
2956
  ) {
2944
2957
  if (
@@ -2977,68 +2990,83 @@ class MenuWidget extends React.Component {
2977
2990
  this.location.search !== ''
2978
2991
  ) {
2979
2992
  firstLayer = BBoxes.dataset;
2980
- } else if (this.productId.includes('130299ac96e54c30a12edd575eff80f7')) {
2993
+ }
2994
+ if (productIds.includes(this.productId)) {
2995
+ // Your code here for when productIds includes this.productId
2981
2996
  let str = elem.parentNode.outerHTML;
2982
- let match = str.match(/layerid="(\d+)"/);
2997
+ let match = str.match(/layerid="([a-zA-Z0-9_:-]+)"/);
2983
2998
  let layerid = match ? match[1] : null;
2984
2999
  if (layerid === null || layerid === undefined) return;
2985
- if (this.url?.toLowerCase().endsWith('mapserver')) {
2986
- switch (layerid) {
2987
- case '1':
2988
- firstLayer = this.findBBoxById(BBoxes, 13);
2989
- break;
2990
- case '2':
2991
- firstLayer = this.findBBoxById(BBoxes, 12);
2992
- break;
2993
- case '3':
2994
- firstLayer = this.findBBoxById(BBoxes, 11);
2995
- break;
2996
- case '4':
2997
- firstLayer = this.findBBoxById(BBoxes, 10);
2998
- break;
2999
- case '5':
3000
- firstLayer = this.findBBoxById(BBoxes, 9);
3001
- break;
3002
- case '7':
3003
- firstLayer = this.findBBoxById(BBoxes, 7);
3004
- break;
3005
- case '8':
3006
- firstLayer = this.findBBoxById(BBoxes, 6);
3007
- break;
3008
- case '9':
3009
- firstLayer = this.findBBoxById(BBoxes, 5);
3010
- break;
3011
- case '10':
3012
- firstLayer = this.findBBoxById(BBoxes, 4);
3013
- break;
3014
- case '11':
3015
- firstLayer = this.findBBoxById(BBoxes, 3);
3016
- break;
3017
- case '12':
3018
- firstLayer = this.findBBoxById(BBoxes, 0);
3019
- break;
3020
- case '13':
3021
- firstLayer = this.findBBoxById(BBoxes, 1);
3022
- break;
3023
- default:
3024
- return;
3025
- }
3026
- } else {
3027
- if (layerid === '12' || layerid === '13') {
3028
- firstLayer = BBoxes['dataset'];
3029
- } else if (layerid === '1' || layerid === '7') {
3030
- firstLayer = BBoxes[Object.keys(BBoxes)[0]];
3031
- } else if (layerid === '2' || layerid === '8') {
3032
- firstLayer = BBoxes[Object.keys(BBoxes)[1]];
3033
- } else if (layerid === '3' || layerid === '9') {
3034
- firstLayer = BBoxes[Object.keys(BBoxes)[2]];
3035
- } else if (layerid === '4' || layerid === '10') {
3036
- firstLayer = BBoxes[Object.keys(BBoxes)[3]];
3037
- } else if (layerid === '5' || layerid === '11') {
3038
- firstLayer = BBoxes[Object.keys(BBoxes)[4]];
3000
+ if (
3001
+ this.productId.includes('130299ac96e54c30a12edd575eff80f7') &&
3002
+ layerid.length <= 2
3003
+ ) {
3004
+ //let match = str.match(/layerid="(\d+)"/);
3005
+ //let layerid = match ? match[1] : null;
3006
+ if (this.url?.toLowerCase().endsWith('mapserver')) {
3007
+ switch (layerid) {
3008
+ case '1':
3009
+ firstLayer = this.findBBoxById(BBoxes, 13);
3010
+ break;
3011
+ case '2':
3012
+ firstLayer = this.findBBoxById(BBoxes, 12);
3013
+ break;
3014
+ case '3':
3015
+ firstLayer = this.findBBoxById(BBoxes, 11);
3016
+ break;
3017
+ case '4':
3018
+ firstLayer = this.findBBoxById(BBoxes, 10);
3019
+ break;
3020
+ case '5':
3021
+ firstLayer = this.findBBoxById(BBoxes, 9);
3022
+ break;
3023
+ case '7':
3024
+ firstLayer = this.findBBoxById(BBoxes, 7);
3025
+ break;
3026
+ case '8':
3027
+ firstLayer = this.findBBoxById(BBoxes, 6);
3028
+ break;
3029
+ case '9':
3030
+ firstLayer = this.findBBoxById(BBoxes, 5);
3031
+ break;
3032
+ case '10':
3033
+ firstLayer = this.findBBoxById(BBoxes, 4);
3034
+ break;
3035
+ case '11':
3036
+ firstLayer = this.findBBoxById(BBoxes, 3);
3037
+ break;
3038
+ case '12':
3039
+ firstLayer = this.findBBoxById(BBoxes, 0);
3040
+ break;
3041
+ case '13':
3042
+ firstLayer = this.findBBoxById(BBoxes, 1);
3043
+ break;
3044
+ default:
3045
+ return;
3046
+ }
3039
3047
  } else {
3040
- firstLayer = BBoxes['dataset'];
3048
+ if (layerid === '12' || layerid === '13') {
3049
+ firstLayer = BBoxes['dataset'];
3050
+ } else if (layerid === '1' || layerid === '7') {
3051
+ firstLayer = BBoxes[Object.keys(BBoxes)[0]];
3052
+ } else if (layerid === '2' || layerid === '8') {
3053
+ firstLayer = BBoxes[Object.keys(BBoxes)[1]];
3054
+ } else if (layerid === '3' || layerid === '9') {
3055
+ firstLayer = BBoxes[Object.keys(BBoxes)[2]];
3056
+ } else if (layerid === '4' || layerid === '10') {
3057
+ firstLayer = BBoxes[Object.keys(BBoxes)[3]];
3058
+ } else if (layerid === '5' || layerid === '11') {
3059
+ firstLayer = BBoxes[Object.keys(BBoxes)[4]];
3060
+ } else {
3061
+ firstLayer = BBoxes['dataset'];
3062
+ }
3041
3063
  }
3064
+ } else if (layerid.length > 2) {
3065
+ firstLayer = BBoxes[layerid];
3066
+ } else if (
3067
+ this.productId.includes('333e4100b79045daa0ff16466ac83b7f')
3068
+ ) {
3069
+ firstLayer = BBoxes[0];
3042
3070
  }
3043
3071
  } else if (
3044
3072
  elem.id.includes('all_present') ||
@@ -3048,10 +3076,7 @@ class MenuWidget extends React.Component {
3048
3076
  ) {
3049
3077
  firstLayer = BBoxes['all_present_lc_a_pol'];
3050
3078
  } else {
3051
- // Takes the BBOX corresponding to the layer.
3052
- if (this.productId.includes('333e4100b79045daa0ff16466ac83b7f')) {
3053
- firstLayer = BBoxes[0];
3054
- } else firstLayer = BBoxes[elem.attributes.layerid.value];
3079
+ firstLayer = BBoxes[elem.attributes.layerid.value];
3055
3080
  }
3056
3081
 
3057
3082
  let myExtent = new Extent({