@eeacms/volto-arcgis-block 0.1.484 → 0.1.485

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,13 @@ 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.485](https://github.com/eea/volto-arcgis-block/compare/0.1.484...0.1.485) - 24 September 2026
8
+
9
+ #### :hammer_and_wrench: Others
10
+
11
+ - (lint): lint and prettified [Unai Bolivar - [`6caacff`](https://github.com/eea/volto-arcgis-block/commit/6caacffcda92259d4ecd9e5ba0aedea28c0999e1)]
12
+ - (bug): removed additional zoom on extent behavior [Unai Bolivar - [`b609753`](https://github.com/eea/volto-arcgis-block/commit/b6097536b13e94cd1772c0528a6ea984fb497fcb)]
13
+ - (bug): parse CDSE WMTS capabilities identifiers correctly [Unai Bolivar - [`a3c9f4b`](https://github.com/eea/volto-arcgis-block/commit/a3c9f4b285c916a0adf45168cab85950a4415890)]
7
14
  ### [0.1.484](https://github.com/eea/volto-arcgis-block/compare/0.1.483...0.1.484) - 15 September 2026
8
15
 
9
16
  #### :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.484",
3
+ "version": "0.1.485",
4
4
  "description": "volto-arcgis-block: Volto add-on",
5
5
  "main": "src/index.js",
6
6
  "author": "European Environment Agency: CodeSyntax",
@@ -577,10 +577,29 @@ class InfoWidget extends React.Component {
577
577
  }
578
578
 
579
579
  identifyWMTS(layer, event) {
580
- let layerId = layer.activeLayer.id;
581
580
  let url = layer.featureInfoUrl ? layer.featureInfoUrl : layer.url;
582
581
  let featureInfoUrl = url.replace('/cdse/', '/cdse/wms/');
583
582
  return this.wmsCapabilities(url).then((xml) => {
583
+ let serviceData = layer.ViewService ? layer.ViewService : url;
584
+ let isCdseWmts = ['/ogc/', '/cdse/'].some((segment) =>
585
+ serviceData.toLowerCase().includes(segment),
586
+ );
587
+ let layerId;
588
+ if (isCdseWmts) {
589
+ let wmtsLayers = Array.from(xml.querySelectorAll('Layer'));
590
+ let layerTitle = this.getLayerTitle(layer);
591
+ let selectedLayer = wmtsLayers.find((item) => {
592
+ let titleNode =
593
+ item.querySelector('ows\\:Title') || item.querySelector('Title');
594
+ return titleNode && titleNode.textContent === layerTitle;
595
+ });
596
+ layerId = (
597
+ selectedLayer.querySelector('ows\\:Identifier') ||
598
+ selectedLayer.querySelector('Identifier')
599
+ ).textContent;
600
+ } else {
601
+ layerId = layer.activeLayer.id;
602
+ }
584
603
  let version = layer.version;
585
604
  let format = this.parseFormat(xml, layerId);
586
605
  let times = '';
@@ -480,24 +480,12 @@ class MenuWidget extends React.Component {
480
480
  // add zoomend listener to map to show/hide zoom in message
481
481
  this.view.watch('stationary', (isStationary) => {
482
482
  let snowAndIceInSessionStorage = sessionStorage.getItem('snowAndIce');
483
- let node;
484
483
  if (this.view && this.view.center) {
485
484
  this.extentCenter = { x: this.view.center.x, y: this.view.center.y };
486
485
  }
487
486
  if (isStationary) {
488
487
  this.extentInitiated = false;
489
- let zoom = this.view.get('zoom');
490
- if (this.props.download) {
491
- node = document.querySelector('.zoom-in-message-dataset');
492
- if (node && node !== null) {
493
- node.style.display = zoom > 6 ? 'none' : 'block';
494
- }
495
- }
496
488
  if (!this.props.download && snowAndIceInSessionStorage === 'true') {
497
- node = document.getElementById('snow-and-ice-zoom-message');
498
- if (node && node !== null) {
499
- node.style.display = zoom > 6 ? 'none' : 'block';
500
- }
501
489
  let innerDropdown = document.getElementsByClassName(
502
490
  'map-product-checkbox',
503
491
  );
@@ -522,41 +510,7 @@ class MenuWidget extends React.Component {
522
510
  snowAndIce.offsetParent.nextSibling === null
523
511
  )
524
512
  return;
525
- let checks = snowAndIce.offsetParent.nextSibling.children;
526
- let checksList = [...checks];
527
- if (checksList && checksList !== null) {
528
- checksList.forEach((check) => {
529
- if (check && check !== null) {
530
- if (check.querySelector('[type="checkbox"]').checked) {
531
- let node = [
532
- ...check.getElementsByClassName('zoom-in-message-dataset'),
533
- ][0];
534
- if (node && node !== null) {
535
- node.style.display = zoom > 6 ? 'none' : 'block';
536
- }
537
- }
538
- }
539
- });
540
- }
541
513
  }
542
- let zoomInMessageContainers = document.getElementsByClassName(
543
- 'zoom-in-message-container',
544
- );
545
- let zoomInMessageContainersList = [...zoomInMessageContainers];
546
- zoomInMessageContainersList.forEach((container) => {
547
- if (container && container !== null) {
548
- let nodes = [
549
- ...document.getElementsByClassName('zoom-in-message-dataset'),
550
- ];
551
- nodes.forEach((node) => {
552
- if (node && node !== null) {
553
- if (node.innerText === 'Zoom in') {
554
- node.style.display = zoom > 6 ? 'none' : 'block';
555
- }
556
- }
557
- });
558
- }
559
- });
560
514
  if (!this.visibleLayers) this.visibleLayers = {};
561
515
  this.handleRasterVectorLegend();
562
516
  this.setState({});
@@ -6421,35 +6375,7 @@ class MenuWidget extends React.Component {
6421
6375
  ymax: BBoxes['dataset'].ymax,
6422
6376
  });
6423
6377
  }
6424
- if (
6425
- this.extentInitiated === false &&
6426
- (this.layers[elem.id].DatasetId === '65f8eded11d94a1ba5540ceecaddd4e6' ||
6427
- this.layers[elem.id].DatasetId === '40e056d02eed4c1fb2040cf0f06823df')
6428
- ) {
6429
- let myExtent = new Extent({
6430
- xmin: -13478905.5678019,
6431
- ymin: 23797904.386302948,
6432
- xmax: 20538395.093334593,
6433
- ymax: 11175665.272476234,
6434
- spatialReference: 3857,
6435
- });
6436
- const targetCenter = myExtent.center;
6437
- if (this.extentCenter) {
6438
- const epsilon = 1e-3;
6439
- const sameStoredCenter =
6440
- Math.abs(this.extentCenter.x - targetCenter.x) < epsilon &&
6441
- Math.abs(this.extentCenter.y - targetCenter.y) < epsilon;
6442
- if (sameStoredCenter) {
6443
- this.extentInitiated = true;
6444
- return;
6445
- }
6446
- }
6447
- this.view.goTo({ center: targetCenter, zoom: 3 });
6448
- this.extentCenter = { x: targetCenter.x, y: targetCenter.y };
6449
- this.extentInitiated = true;
6450
- } else {
6451
- this.view.goTo(myExtent);
6452
- }
6378
+ this.view.goTo(myExtent);
6453
6379
  }
6454
6380
 
6455
6381
  async fullExtent(elem) {
@@ -6802,42 +6728,7 @@ class MenuWidget extends React.Component {
6802
6728
  xmax: firstLayer.xmax,
6803
6729
  ymax: firstLayer.ymax,
6804
6730
  });
6805
- if (
6806
- this.extentInitiated === false &&
6807
- (this.layers[elem.id].DatasetId ===
6808
- '65f8eded11d94a1ba5540ceecaddd4e6' ||
6809
- this.layers[elem.id].DatasetId === '40e056d02eed4c1fb2040cf0f06823df')
6810
- ) {
6811
- let myExtent = new Extent({
6812
- xmin: -13478905.5678019,
6813
- ymin: 23797904.386302948,
6814
- xmax: 20538395.093334593,
6815
- ymax: 11175665.272476234,
6816
- spatialReference: 3857,
6817
- });
6818
- const targetCenter = myExtent.center;
6819
- if (this.extentCenter) {
6820
- const epsilon = 1e-3;
6821
- const sameStoredCenter =
6822
- Math.abs(this.extentCenter.x - targetCenter.x) < epsilon &&
6823
- Math.abs(this.extentCenter.y - targetCenter.y) < epsilon;
6824
- if (sameStoredCenter) {
6825
- if (this.toggleHotspotWidget.view.zoom !== 3) {
6826
- this.view.zoom = 3;
6827
- this.setState({}); // Force re-render
6828
- return;
6829
- } else {
6830
- this.extentInitiated = true;
6831
- return;
6832
- }
6833
- }
6834
- }
6835
- this.view.goTo({ center: targetCenter, zoom: 3 });
6836
- this.extentCenter = { x: targetCenter.x, y: targetCenter.y };
6837
- this.extentInitiated = true;
6838
- } else {
6839
- this.view.goTo(myExtent);
6840
- }
6731
+ this.view.goTo(myExtent);
6841
6732
  }
6842
6733
  this.url = null;
6843
6734
  }