@eeacms/volto-arcgis-block 0.1.108 → 0.1.109

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.109](https://github.com/eea/volto-arcgis-block/compare/0.1.108...0.1.109) - 28 February 2023
8
+
9
+ #### :hammer_and_wrench: Others
10
+
11
+ - CLMS 1581 & CLMS 1771 pushing both tickets [ujbolivar - [`dd1a580`](https://github.com/eea/volto-arcgis-block/commit/dd1a580d32faff6754121dd49415030920543c72)]
12
+ - CLMS-1771 FIX: Area widget opened by default if user is logged in and downloadTag exists [ujbolivar - [`f629491`](https://github.com/eea/volto-arcgis-block/commit/f629491531dec0dd09234b41184413b3d2e54768)]
13
+ - CLMS-1581 FIX: Hotspot widget stays open after applying filters, and unchecking one hotspotlayer even though another hotspot layer is still checked [ujbolivar - [`e5b18d6`](https://github.com/eea/volto-arcgis-block/commit/e5b18d6477e6bc0dcc7f048835d7ce97483bc9d4)]
7
14
  ### [0.1.108](https://github.com/eea/volto-arcgis-block/compare/0.1.107...0.1.108) - 27 February 2023
8
15
 
9
16
  #### :hammer_and_wrench: Others
@@ -430,13 +437,10 @@ Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog).
430
437
  #### :hammer_and_wrench: Others
431
438
 
432
439
  - Merge pull request #148 from eea/develop [KCarpinteroBM - [`24266fb`](https://github.com/eea/volto-arcgis-block/commit/24266fb3a0c1662d22ae0529dc1d5a25c711cf97)]
433
- - Revert "[JENKINS] Use eeacms/plone-backend and Volto alpha version- Refs #151967" [Mikel Larreategi - [`f751f69`](https://github.com/eea/volto-arcgis-block/commit/f751f69f652f0340ae55af6a4dab89d6bdc80906)]
434
440
  - Revert "Revert "Mapviewer menu and map viewer options persistence"" [Mikel Larreategi - [`ad6e440`](https://github.com/eea/volto-arcgis-block/commit/ad6e440cdc160cffb1e86e1b26e501dbe648476c)]
435
441
  - Revert "code coverage removal" [Mikel Larreategi - [`376f2d1`](https://github.com/eea/volto-arcgis-block/commit/376f2d1cd6e4e5110b3b63d5114af1bcfebe094b)]
436
442
  - Revert "Update cypress.json" [Mikel Larreategi - [`43d01a0`](https://github.com/eea/volto-arcgis-block/commit/43d01a0a95a58ef5215c6cbf18223ca30a11b9cc)]
437
443
  - Revert "Update cypress.json" [Mikel Larreategi - [`054c4ae`](https://github.com/eea/volto-arcgis-block/commit/054c4ae1767e1f26e6ec7e96a0e26a9711f29f04)]
438
- - Revert "revert [JENKINS] Use eeacms/plone-backend and Volto alpha version- Refs #151967" [Mikel Larreategi - [`64ab56e`](https://github.com/eea/volto-arcgis-block/commit/64ab56e0f1f8dddc26f26039509a028e34653e64)]
439
- - revert [JENKINS] Use eeacms/plone-backend and Volto alpha version- Refs #151967 [Mikel Larreategi - [`85ee194`](https://github.com/eea/volto-arcgis-block/commit/85ee1941e029df2b7dc910bf75231c75ffeca8c2)]
440
444
  - Update cypress.json [KCarpinteroBM - [`be285ff`](https://github.com/eea/volto-arcgis-block/commit/be285fff0c53e06a0180d5318cce81195eabcf80)]
441
445
  - Update cypress.json [KCarpinteroBM - [`a7f2118`](https://github.com/eea/volto-arcgis-block/commit/a7f2118acb7b048b4cef85aa9663c2244a1c9ca0)]
442
446
  - linting fix [KCarpinteroBM - [`27e969a`](https://github.com/eea/volto-arcgis-block/commit/27e969a7a411fd4646e0e742ce846efc0d79703e)]
@@ -496,7 +500,6 @@ Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog).
496
500
  - UX improvements [rodriama - [`151dc4b`](https://github.com/eea/volto-arcgis-block/commit/151dc4b02d0a73fdd66de9d594620ac0fa5f1dbf)]
497
501
  - deleted failing tests [KCarpinteroBM - [`ddaa9e6`](https://github.com/eea/volto-arcgis-block/commit/ddaa9e6f06db6960a4c214d3be2420c48b26715d)]
498
502
  - cleaning unnecessary files [KCarpinteroBM - [`2c02199`](https://github.com/eea/volto-arcgis-block/commit/2c021990912beb02b603a1de89aecd62e0063769)]
499
- - Reverting to Automated release 0.1.39 [KCarpinteroBM - [`fb9f317`](https://github.com/eea/volto-arcgis-block/commit/fb9f3176ccdea18fceb329eaac13ced0566ee648)]
500
503
  - commands added [KCarpinteroBM - [`049e60b`](https://github.com/eea/volto-arcgis-block/commit/049e60b7d124d1c05abd0b2775b510795f4ed59f)]
501
504
  - Mapviewer testing implementation [KCarpinteroBM - [`0103002`](https://github.com/eea/volto-arcgis-block/commit/0103002869eea108e16e3b5ff2e77a725dcc7c4b)]
502
505
  ### [0.1.39](https://github.com/eea/volto-arcgis-block/compare/0.1.38...0.1.39) - 24 March 2022
@@ -516,7 +519,6 @@ Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog).
516
519
  - ESLint fix [rodriama - [`75dae9b`](https://github.com/eea/volto-arcgis-block/commit/75dae9b5bba18ab6d9624f6c99714b4bd2179003)]
517
520
  - Remove section title [rodriama - [`ece860e`](https://github.com/eea/volto-arcgis-block/commit/ece860eae3519c7e611abac16e8d53c9a9408b34)]
518
521
  - Es-Lint [manuelmartinezbilbomatica - [`39d8d11`](https://github.com/eea/volto-arcgis-block/commit/39d8d11b9096fd603df8510c119d2e12817415d6)]
519
- - Add Sonarqube tag using clms-frontend addons list [EEA Jenkins - [`bf9f683`](https://github.com/eea/volto-arcgis-block/commit/bf9f683dd35a9edb4cfd9111affcb8f8edbeae89)]
520
522
  - FEAT: Parser Time implemented [manuelmartinezbilbomatica - [`689c99e`](https://github.com/eea/volto-arcgis-block/commit/689c99e55221fee6c7c7fafc4ab95ae7a646d3dd)]
521
523
  ### [0.1.38](https://github.com/eea/volto-arcgis-block/compare/0.1.37...0.1.38) - 18 March 2022
522
524
 
@@ -611,7 +613,6 @@ Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog).
611
613
  - ESLint fix [rodriama - [`5fd3772`](https://github.com/eea/volto-arcgis-block/commit/5fd3772f197a3a380067962a5638dbf901a4624e)]
612
614
  - Pixel info [rodriama - [`1ccef39`](https://github.com/eea/volto-arcgis-block/commit/1ccef39a9adcc3ee94655c77a5a166b613600a08)]
613
615
  - NUTS bug fix [rodriama - [`37fe7f3`](https://github.com/eea/volto-arcgis-block/commit/37fe7f3fad2c005e3b7c234b3b0564d5df92fa8c)]
614
- - Add Sonarqube tag using freshwater-frontend addons list [EEA Jenkins - [`ea5af8b`](https://github.com/eea/volto-arcgis-block/commit/ea5af8b02a5f2ee25b9b0be67cf3792bbbe84ed7)]
615
616
  ### [0.1.23](https://github.com/eea/volto-arcgis-block/compare/0.1.22...0.1.23) - 17 December 2021
616
617
 
617
618
  #### :hammer_and_wrench: Others
@@ -856,7 +857,6 @@ Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog).
856
857
  - Trying to delay ArcGIS modules load [gonzalezsd - [`ff16985`](https://github.com/eea/volto-arcgis-block/commit/ff169858e42d30bfcacc423ffc27762bb9ef05a4)]
857
858
  - Run bootstrap to fix files [valentinab25 - [`236893f`](https://github.com/eea/volto-arcgis-block/commit/236893f03314eb638b7667f81b1f91491a98ee17)]
858
859
  - fix git_name [valentinab25 - [`c7806c3`](https://github.com/eea/volto-arcgis-block/commit/c7806c312964425dc23e5d4c6973de8b81ddaeac)]
859
- - Add Sonarqube tag using frontend addons list [EEA Jenkins - [`e3afb51`](https://github.com/eea/volto-arcgis-block/commit/e3afb515dda459ee03e2b5d4b56465d2d4ad1503)]
860
860
  - Trying to change imports [gonzalezsd - [`d83d7e2`](https://github.com/eea/volto-arcgis-block/commit/d83d7e2f68da4b2a284735847f93c0763a7e13b6)]
861
861
  - default design [bipoza - [`88fbe0b`](https://github.com/eea/volto-arcgis-block/commit/88fbe0b2bc73e732e2993324a567f53902e85506)]
862
862
  - cleanup of unused code [bipoza - [`b167677`](https://github.com/eea/volto-arcgis-block/commit/b1676771f637f056cad50cb0bc186f2ea79e8517)]
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@eeacms/volto-arcgis-block",
3
- "version": "0.1.108",
3
+ "version": "0.1.109",
4
4
  "description": "volto-arcgis-block: Volto add-on",
5
5
  "main": "src/index.js",
6
6
  "author": "European Environment Agency: CodeSyntax",
@@ -288,15 +288,14 @@ class AreaWidget extends React.Component {
288
288
  ? this.container !== null && this.props.view.ui.add(this.container)
289
289
  : this.props.view.ui.add(this.container.current, 'top-right');
290
290
 
291
- var z = document.createElement('div'); // is a node
292
- z.className = 'drawRectanglePopup-block';
293
- z.innerHTML =
291
+ var popup = document.createElement('div');
292
+ popup.className = 'drawRectanglePopup-block';
293
+ popup.innerHTML =
294
294
  '<div class="drawRectanglePopup-content">' +
295
295
  '<span class="drawRectanglePopup-icon"><span class="esri-icon-cursor-marquee"></span></span>' +
296
296
  '<div class="drawRectanglePopup-text">Select an area of interest to download a dataset</div>' +
297
297
  '</div>';
298
-
299
- this.props.download && this.props.view.ui.add(z, 'top-right');
298
+ this.props.download && this.props.view.ui.add(popup, 'top-right');
300
299
  }
301
300
 
302
301
  /**
@@ -167,6 +167,8 @@ class HotspotWidget extends React.Component {
167
167
  this.props.map.add(this.esriLayer_lc);
168
168
  this.props.selectedLayers['lc_filter'] = this.esriLayer_lc;
169
169
  this.props.selectedLayers['lc_filter'].visible = true;
170
+ //set sessionStorage value to keep the widget open
171
+ sessionStorage.setItem('hotspotFilterApplied', 'true');
170
172
  }
171
173
  }
172
174
  }
@@ -484,10 +486,6 @@ class HotspotWidget extends React.Component {
484
486
  );
485
487
  }
486
488
 
487
- /**
488
- * This method is executed before the render method is executed
489
- */
490
-
491
489
  /**
492
490
  * This method is executed after the rener method is executed
493
491
  */
@@ -124,6 +124,12 @@ export const AddCartItem = ({
124
124
  dataset = cartData[0].Products[0].Datasets[0];
125
125
  }
126
126
 
127
+ const setDownloadTag = (val) => {
128
+ if (!sessionStorage.key('downloadButtonClicked'))
129
+ sessionStorage.setItem('downloadButtonClicked', 'true');
130
+ else sessionStorage.setItem('downloadButtonClicked', val);
131
+ };
132
+
127
133
  return (
128
134
  <>
129
135
  {download ? (
@@ -132,22 +138,26 @@ export const AddCartItem = ({
132
138
  id="map_download_add"
133
139
  className="ccl-button ccl-button-green"
134
140
  onClick={(e) => {
135
- if (dataset.IsTimeSeries && !checkTimeData(dataset)) {
136
- document.getElementById('active_label').click();
137
- if (!document.querySelector('.timeslider-container')) {
138
- let layerId = document.querySelector(
139
- '[datasetid="' +
140
- dataset.DatasetId +
141
- '"] .map-menu-layer input:checked',
142
- ).id;
143
- document
144
- .querySelector(
145
- "[layer-id='" + layerId + "'] .active-layer-time",
146
- )
147
- .click(e);
141
+ if (!document.querySelector('.map-menu-layer input:checked')) {
142
+ document.getElementById('products_label').click();
143
+ } else {
144
+ if (dataset.IsTimeSeries && !checkTimeData(dataset)) {
145
+ document.getElementById('active_label').click();
146
+ if (!document.querySelector('.timeslider-container')) {
147
+ let layerId = document.querySelector(
148
+ '[datasetid="' +
149
+ dataset.DatasetId +
150
+ '"] .map-menu-layer input:checked',
151
+ ).id;
152
+ document
153
+ .querySelector(
154
+ "[layer-id='" + layerId + "'] .active-layer-time",
155
+ )
156
+ .click(e);
157
+ }
158
+ } else if (areaData) {
159
+ checkArea(e);
148
160
  }
149
- } else if (areaData) {
150
- checkArea(e);
151
161
  }
152
162
  }}
153
163
  >
@@ -245,6 +255,7 @@ export const AddCartItem = ({
245
255
  <span
246
256
  className={'map-menu-icon map-menu-icon-login'}
247
257
  onClick={() => {
258
+ setDownloadTag(true);
248
259
  document.querySelector('.header-login-link').click();
249
260
  }}
250
261
  onKeyDown={() => {
@@ -459,12 +470,13 @@ class MenuWidget extends React.Component {
459
470
  }
460
471
 
461
472
  let authToken = this.getAuthToken();
462
- let timeSliderTag = this.getTimeSliderTag();
473
+ let timeSliderTag = sessionStorage.getItem('timeSliderTag');
474
+ let downloadTag = sessionStorage.getItem('downloadButtonClicked');
463
475
  let checkedLayers = JSON.parse(sessionStorage.getItem('checkedLayers'));
464
476
 
465
477
  // "Active on map" section and the time slider opened by default if user is logged in and timeSliderTag is true
466
-
467
- if (checkedLayers) {
478
+ if (checkedLayers && !this.props.download) {
479
+ // "Active on map" section and the time slider opened by default if user is logged in and timeSliderTag is true
468
480
  if (authToken && timeSliderTag) {
469
481
  for (let i = 0; i < checkedLayers.length; i++) {
470
482
  let layerid = checkedLayers[i];
@@ -491,6 +503,30 @@ class MenuWidget extends React.Component {
491
503
  }
492
504
  }
493
505
  }
506
+ // "Area widget" opened by default if user is logged in and downloadTag is true
507
+ else if (authToken && downloadTag) {
508
+ for (let i = 0; i < checkedLayers.length; i++) {
509
+ let layerid = checkedLayers[i];
510
+ if (
511
+ layerid &&
512
+ !this.layers[layerid].isTimeSeries &&
513
+ !this.container.current
514
+ .querySelector('.esri-widget')
515
+ .classList.contains('esri-icon-drag-horizontal')
516
+ ) {
517
+ //open area widget
518
+ let event = new MouseEvent('click', {
519
+ view: window,
520
+ bubbles: true,
521
+ cancelable: false,
522
+ });
523
+ document
524
+ .querySelector('.map-menu-icon-login.logged')
525
+ .dispatchEvent(event);
526
+ break;
527
+ }
528
+ }
529
+ }
494
530
  }
495
531
  // CLMS-1389
496
532
  // "Active on map" section and the time slider opened by default if download and timeseries == true
@@ -571,14 +607,6 @@ class MenuWidget extends React.Component {
571
607
  return tokenResult;
572
608
  }
573
609
 
574
- getTimeSliderTag() {
575
- let tagResult = true;
576
- if (!sessionStorage.key('timeSliderTag')) {
577
- tagResult = false;
578
- }
579
- return tagResult;
580
- }
581
-
582
610
  /**
583
611
  * Close opacity panel if user clicks outside
584
612
  */
@@ -1456,6 +1484,8 @@ class MenuWidget extends React.Component {
1456
1484
  this.map.reorder(nuts, this.map.layers.items.length + 1);
1457
1485
  }
1458
1486
  } else {
1487
+ sessionStorage.removeItem('downloadButtonClicked');
1488
+ sessionStorage.removeItem('timeSliderTag');
1459
1489
  this.deleteCheckedLayer(elem.id);
1460
1490
  this.deleteFilteredLayer();
1461
1491
  this.layers[elem.id].opacity = 1;
@@ -1468,7 +1498,6 @@ class MenuWidget extends React.Component {
1468
1498
  delete this.timeLayers[elem.id];
1469
1499
  }
1470
1500
  this.updateCheckDataset(parentId);
1471
- //!this.props.download && this.toggleHotspotWidget();
1472
1501
  this.toggleHotspotWidget();
1473
1502
  this.layersReorder();
1474
1503
  this.checkInfoWidget();
@@ -1495,17 +1524,24 @@ class MenuWidget extends React.Component {
1495
1524
  if (this.props.download) {
1496
1525
  checkedLayers = Object.keys(this.activeLayersJSON);
1497
1526
  }
1498
- checkedLayers.forEach((key) => {
1499
- // if key includes all_present_lc_a_pol or all_lcc_a_pol and if the activeWidget is not the hotspot widget, click on the hotspot button, else close the active widget and set the hotspot container to display to none
1500
- if (
1501
- key.includes('all_present_lc_a_pol') ||
1502
- key.includes('all_lcc_a_pol')
1503
- ) {
1504
- if (!this.props.mapViewer.activeWidget) {
1505
- hotspotButton.click();
1527
+ if (
1528
+ checkedLayers.length === 0 &&
1529
+ sessionStorage.getItem('hotspotFilterApplied')
1530
+ ) {
1531
+ sessionStorage.removeItem('hotspotFilterApplied');
1532
+ }
1533
+ if (checkedLayers) {
1534
+ checkedLayers.forEach((key) => {
1535
+ if (
1536
+ key.includes('all_present_lc_a_pol') ||
1537
+ key.includes('all_lcc_a_pol')
1538
+ ) {
1539
+ if (!this.props.mapViewer.activeWidget) {
1540
+ hotspotButton.click();
1541
+ }
1506
1542
  }
1507
- }
1508
- });
1543
+ });
1544
+ }
1509
1545
  }
1510
1546
  /**
1511
1547
  * Hide or show a legend image in the legend widget for a WMTS or a TMS layer
@@ -2084,11 +2120,13 @@ class MenuWidget extends React.Component {
2084
2120
  layers.push(layer);
2085
2121
  }
2086
2122
  });
2087
- if (layers.length === 0 && document.querySelector('.info-container')) {
2088
- this.props.mapViewer.closeActiveWidget();
2089
- document.querySelector('.info-container').style.display = 'none';
2090
- } else if (layers.length > 0) {
2091
- document.querySelector('.info-container').style.display = 'flex';
2123
+ if (!sessionStorage.getItem('hotspotFilterApplied')) {
2124
+ if (layers.length === 0 && document.querySelector('.info-container')) {
2125
+ this.props.mapViewer.closeActiveWidget();
2126
+ document.querySelector('.info-container').style.display = 'none';
2127
+ } else if (layers.length > 0) {
2128
+ document.querySelector('.info-container').style.display = 'flex';
2129
+ }
2092
2130
  }
2093
2131
  this.renderHotspot();
2094
2132
  /**/
@@ -2533,6 +2571,7 @@ class MenuWidget extends React.Component {
2533
2571
  time={time}
2534
2572
  logged={isLoggedIn}
2535
2573
  fromDownload={fromDownload}
2574
+ area={this.props.area}
2536
2575
  />,
2537
2576
  document.querySelector('.esri-ui-bottom-right'),
2538
2577
  );
@@ -24,8 +24,7 @@ class TimesliderWidget extends React.Component {
24
24
  timeSelectedValuesC: [], //To compare time slider stored values with new selected values
25
25
  showDatePanel: false,
26
26
  lockDatePanel: true,
27
- showCalendar:
28
- this.props.fromDownload || this.props.download ? true : false,
27
+ showCalendar: this.props.fromDownload ? true : false,
29
28
  dateStart: this.props.time.start ? new Date(this.props.time.start) : null,
30
29
  dateEnd: this.props.time.end ? new Date(this.props.time.end) : null,
31
30
  periodicity: null,
@@ -481,8 +480,19 @@ class TimesliderWidget extends React.Component {
481
480
  showCalendar() {
482
481
  if (this.state.showCalendar) {
483
482
  this.setState({ showCalendar: false });
483
+ if (
484
+ document.querySelector('.drawRectanglePopup-block') &&
485
+ !this.props.area
486
+ ) {
487
+ document.querySelector('.drawRectanglePopup-block').style.display =
488
+ 'block';
489
+ }
484
490
  } else {
485
491
  this.setState({ showCalendar: true });
492
+ if (document.querySelector('.drawRectanglePopup-block')) {
493
+ document.querySelector('.drawRectanglePopup-block').style.display =
494
+ 'none';
495
+ }
486
496
  }
487
497
  }
488
498
 
@@ -498,18 +508,25 @@ class TimesliderWidget extends React.Component {
498
508
  this.setState({
499
509
  dateStart: start,
500
510
  dateEnd: end,
501
- showCalendar: false,
502
511
  });
503
- if (this.props.fromDownload) {
504
- this.props.time.elem.querySelector('.active-layer-time').click();
505
- document.getElementById('products_label').click();
506
- if (
507
- this.props.mapViewer.activeWidget &&
508
- !this.props.mapViewer.activeWidget.container.current.classList.contains(
509
- 'area-container',
510
- )
511
- ) {
512
- document.getElementById('map_area_button').click();
512
+ this.showCalendar();
513
+ if (this.props.download) {
514
+ if (this.props.fromDownload) {
515
+ this.props.time.elem.querySelector('.active-layer-time').click();
516
+ document.getElementById('download_label').click();
517
+ }
518
+ } else {
519
+ if (this.props.fromDownload) {
520
+ this.props.time.elem.querySelector('.active-layer-time').click();
521
+ document.getElementById('products_label').click();
522
+ if (
523
+ !this.props.mapViewer.activeWidget ||
524
+ !this.props.mapViewer.activeWidget.container.current.classList.contains(
525
+ 'area-container',
526
+ )
527
+ ) {
528
+ document.getElementById('map_area_button').click();
529
+ }
513
530
  }
514
531
  }
515
532
  }
@@ -604,12 +621,8 @@ class TimesliderWidget extends React.Component {
604
621
  id="timeslider_calendar_close"
605
622
  role="button"
606
623
  tabIndex="0"
607
- onClick={() => {
608
- this.setState({ showCalendar: false });
609
- }}
610
- onKeyDown={() => {
611
- this.setState({ showCalendar: false });
612
- }}
624
+ onClick={() => this.showCalendar()}
625
+ onKeyDown={() => this.showCalendar()}
613
626
  ></div>
614
627
  </div>
615
628
  <div className="timeslider-calendar-panel">