@eeacms/volto-arcgis-block 0.1.354 → 0.1.356

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.356](https://github.com/eea/volto-arcgis-block/compare/0.1.355...0.1.356) - 6 May 2025
8
+
9
+ ### [0.1.355](https://github.com/eea/volto-arcgis-block/compare/0.1.354...0.1.355) - 5 May 2025
10
+
7
11
  ### [0.1.354](https://github.com/eea/volto-arcgis-block/compare/0.1.353...0.1.354) - 24 April 2025
8
12
 
9
13
  ### [0.1.353](https://github.com/eea/volto-arcgis-block/compare/0.1.352...0.1.353) - 15 April 2025
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@eeacms/volto-arcgis-block",
3
- "version": "0.1.354",
3
+ "version": "0.1.356",
4
4
  "description": "volto-arcgis-block: Volto add-on",
5
5
  "main": "src/index.js",
6
6
  "author": "European Environment Agency: CodeSyntax",
@@ -1457,8 +1457,8 @@ class MenuWidget extends React.Component {
1457
1457
  return (
1458
1458
  <div
1459
1459
  className="map-menu-family-dropdown"
1460
- id={'product_' + inheritedIndexProduct}
1461
- productid={familyId}
1460
+ id={'family_' + inheritedIndexProduct}
1461
+ familyid={familyId}
1462
1462
  key={'a' + familyId}
1463
1463
  >
1464
1464
  <fieldset className="ccl-fieldset" key={'b' + familyId}>
@@ -2279,7 +2279,7 @@ class MenuWidget extends React.Component {
2279
2279
  const checkboxId = LayerId;
2280
2280
 
2281
2281
  return (
2282
- <div className="map-menu-dataset-dropdown">
2282
+ <div className="map-menu-dataset-dropdown" id={'my-service-' + LayerId}>
2283
2283
  <fieldset className="ccl-fieldset">
2284
2284
  <div className="ccl-expandable__button" aria-expanded="false">
2285
2285
  <div className="dropdown-icon">
@@ -3213,7 +3213,7 @@ class MenuWidget extends React.Component {
3213
3213
  let datasetContainer = selectedDataset.closest(
3214
3214
  '.map-menu-dataset-dropdown',
3215
3215
  );
3216
- let datasetContainerId = datasetContainer.getAttribute('datasetid');
3216
+ let datasetContainerId = datasetContainer?.getAttribute('datasetid');
3217
3217
  this.compCfg.forEach((component) => {
3218
3218
  component.Products.forEach((product) => {
3219
3219
  product.Datasets.forEach((dataset) => {
@@ -5191,6 +5191,7 @@ class MenuWidget extends React.Component {
5191
5191
  let productFilter;
5192
5192
  let familyFilter;
5193
5193
  let result = false;
5194
+ let familiesResult = [];
5194
5195
  if (document.querySelector('#menu-searchtext')) {
5195
5196
  searchText = document
5196
5197
  .querySelector('#menu-searchtext')
@@ -5270,6 +5271,12 @@ class MenuWidget extends React.Component {
5270
5271
  if (dataset.Default_active) {
5271
5272
  defaultActive = 'map_' + datasetElem.id;
5272
5273
  }
5274
+ if (
5275
+ dataset.FamilyTitle &&
5276
+ !familiesResult.includes(dataset.FamilyTitle)
5277
+ ) {
5278
+ familiesResult.push(dataset.FamilyTitle);
5279
+ }
5273
5280
  } else if (
5274
5281
  datasetChecked ||
5275
5282
  (dataset?.DatasetTitle?.toUpperCase().includes(searchText) &&
@@ -5301,6 +5308,12 @@ class MenuWidget extends React.Component {
5301
5308
  if (dataset.Default_active) {
5302
5309
  defaultActive = 'map_' + datasetElem.id;
5303
5310
  }
5311
+ if (
5312
+ dataset.FamilyTitle &&
5313
+ !familiesResult.includes(dataset.FamilyTitle)
5314
+ ) {
5315
+ familiesResult.push(dataset.FamilyTitle);
5316
+ }
5304
5317
  } else {
5305
5318
  datasetElem.setAttribute('style', 'display: none;');
5306
5319
  }
@@ -5325,6 +5338,43 @@ class MenuWidget extends React.Component {
5325
5338
  componentElem.setAttribute('style', 'display: none;');
5326
5339
  }
5327
5340
  }
5341
+ let familiesElements = document.querySelectorAll(
5342
+ '.map-menu-family-dropdown',
5343
+ );
5344
+ for (let index = 0; index < familiesElements.length; index++) {
5345
+ if (
5346
+ familiesResult.includes(familiesElements[index].attributes[2].value)
5347
+ ) {
5348
+ familiesElements[index].setAttribute('style', 'display: block;');
5349
+ } else {
5350
+ familiesElements[index].setAttribute('style', 'display: none;');
5351
+ }
5352
+ }
5353
+ let myServiceResult = false;
5354
+ this.state.wmsUserServiceLayers.forEach((element) => {
5355
+ let node = document.getElementById('my-service-' + element.LayerId);
5356
+ let checkbox = document.getElementById(element.LayerId);
5357
+ if (
5358
+ element?.LayerId?.toUpperCase().includes(searchText) ||
5359
+ checkbox.checked
5360
+ ) {
5361
+ node.removeAttribute('style');
5362
+ result = true;
5363
+ myServiceResult = true;
5364
+ } else {
5365
+ node.setAttribute('style', 'display: none;');
5366
+ }
5367
+ });
5368
+ let dropdowns = document.querySelectorAll('.map-menu-dropdown');
5369
+ let i = dropdowns.length === 0 ? 0 : dropdowns.length - 1;
5370
+ let componentId = `component_${i}`;
5371
+ if (!myServiceResult) {
5372
+ document
5373
+ .getElementById(componentId)
5374
+ .setAttribute('style', 'display: none;');
5375
+ } else {
5376
+ document.getElementById(componentId).removeAttribute('style');
5377
+ }
5328
5378
  if (result) {
5329
5379
  document.querySelector('.no-filter-result-message').style.display =
5330
5380
  'none';