@eeacms/volto-arcgis-block 0.1.463 → 0.1.465
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,17 @@ 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.465](https://github.com/eea/volto-arcgis-block/compare/0.1.464...0.1.465) - 6 August 2026
|
|
8
|
+
|
|
9
|
+
### [0.1.464](https://github.com/eea/volto-arcgis-block/compare/0.1.463...0.1.464) - 3 August 2026
|
|
10
|
+
|
|
11
|
+
#### :house: Internal changes
|
|
12
|
+
|
|
13
|
+
- style: Automated code fix [eea-jenkins - [`223790e`](https://github.com/eea/volto-arcgis-block/commit/223790ead69bbd36d2f9e10b5f90bdfc428fe3b2)]
|
|
14
|
+
|
|
15
|
+
#### :hammer_and_wrench: Others
|
|
16
|
+
|
|
17
|
+
- (bug): ensure time slider operates independently for each layer for CDSE datsets with multiple layers [Unai Bolivar - [`15d1c8e`](https://github.com/eea/volto-arcgis-block/commit/15d1c8eeda8cf59ed9bdff8de1bb01aa1e2ebb90)]
|
|
7
18
|
### [0.1.463](https://github.com/eea/volto-arcgis-block/compare/0.1.462...0.1.463) - 16 July 2026
|
|
8
19
|
|
|
9
20
|
### [0.1.462](https://github.com/eea/volto-arcgis-block/compare/0.1.461...0.1.462) - 14 July 2026
|
package/package.json
CHANGED
|
@@ -1510,10 +1510,12 @@ class MapViewer extends React.Component {
|
|
|
1510
1510
|
this.location.search.includes('dataset=')))
|
|
1511
1511
|
) {
|
|
1512
1512
|
let toc_panel_scrolls = sessionStorage.getItem('toc_panel_scrolls');
|
|
1513
|
+
let checkedLayers = sessionStorage.getItem('checkedLayers');
|
|
1513
1514
|
if (!sessionStorage.getItem('TMSLayerObj')) {
|
|
1514
1515
|
sessionStorage.clear();
|
|
1515
1516
|
}
|
|
1516
1517
|
sessionStorage.setItem('toc_panel_scrolls', toc_panel_scrolls);
|
|
1518
|
+
sessionStorage.setItem('checkedLayers', checkedLayers);
|
|
1517
1519
|
}
|
|
1518
1520
|
|
|
1519
1521
|
// Handle user state changes from context
|
|
@@ -988,7 +988,7 @@ class MenuWidget extends React.Component {
|
|
|
988
988
|
}
|
|
989
989
|
this.openMenu();
|
|
990
990
|
this.loadComponentFilters();
|
|
991
|
-
this.expandDropdowns();
|
|
991
|
+
//this.expandDropdowns();
|
|
992
992
|
// Add "My Services" component to the UI
|
|
993
993
|
const myServicesComponent = this.createMyServicesComponent();
|
|
994
994
|
const myServicesContainer = document.createElement('div');
|
|
@@ -1117,27 +1117,27 @@ class MenuWidget extends React.Component {
|
|
|
1117
1117
|
let dataset = url.searchParams.get('dataset');
|
|
1118
1118
|
if (product || dataset) {
|
|
1119
1119
|
// CLMS-1261 - clear any previously checked layers when navigating using 'view in the map viewer'
|
|
1120
|
-
let expandedDropdowns = sessionStorage.getItem('expandedDropdowns');
|
|
1121
|
-
let checkedLayers = sessionStorage.getItem('checkedLayers');
|
|
1122
|
-
if (expandedDropdowns) {
|
|
1123
|
-
|
|
1124
|
-
|
|
1125
|
-
|
|
1126
|
-
|
|
1127
|
-
|
|
1128
|
-
|
|
1129
|
-
|
|
1130
|
-
|
|
1131
|
-
|
|
1132
|
-
|
|
1133
|
-
|
|
1134
|
-
|
|
1135
|
-
|
|
1136
|
-
}
|
|
1137
|
-
if (checkedLayers) {
|
|
1138
|
-
|
|
1139
|
-
|
|
1140
|
-
}
|
|
1120
|
+
//let expandedDropdowns = sessionStorage.getItem('expandedDropdowns');
|
|
1121
|
+
//let checkedLayers = sessionStorage.getItem('checkedLayers');
|
|
1122
|
+
// if (expandedDropdowns) {
|
|
1123
|
+
// sessionStorage.setItem('expandedDropdowns', JSON.stringify([]));
|
|
1124
|
+
// const userKey = this.userID ? 'user_' + this.userID : 'user_anonymous';
|
|
1125
|
+
// const existing = localStorage.getItem(userKey);
|
|
1126
|
+
// let storeObj = {};
|
|
1127
|
+
// if (existing) {
|
|
1128
|
+
// try {
|
|
1129
|
+
// storeObj = JSON.parse(existing) || {};
|
|
1130
|
+
// } catch (e) {
|
|
1131
|
+
// storeObj = {};
|
|
1132
|
+
// }
|
|
1133
|
+
// }
|
|
1134
|
+
// storeObj.expandedDropdowns = [];
|
|
1135
|
+
// localStorage.setItem(userKey, JSON.stringify(storeObj));
|
|
1136
|
+
// }
|
|
1137
|
+
// if (checkedLayers) {
|
|
1138
|
+
// sessionStorage.setItem('checkedLayers', JSON.stringify([]));
|
|
1139
|
+
// window.dispatchEvent(new Event('storage'));
|
|
1140
|
+
// }
|
|
1141
1141
|
let event = new MouseEvent('click', {
|
|
1142
1142
|
view: window,
|
|
1143
1143
|
bubbles: true,
|
|
@@ -6763,155 +6763,137 @@ class MenuWidget extends React.Component {
|
|
|
6763
6763
|
)
|
|
6764
6764
|
this.setSliderTag(false);
|
|
6765
6765
|
else this.setSliderTag(true);
|
|
6766
|
-
|
|
6767
|
-
let
|
|
6768
|
-
|
|
6769
|
-
|
|
6770
|
-
|
|
6771
|
-
|
|
6772
|
-
|
|
6773
|
-
|
|
6774
|
-
|
|
6775
|
-
|
|
6776
|
-
|
|
6777
|
-
|
|
6778
|
-
|
|
6779
|
-
|
|
6780
|
-
|
|
6781
|
-
|
|
6782
|
-
|
|
6783
|
-
this.visibleLayers[elem.id] = ['fas', 'eye'];
|
|
6784
|
-
}
|
|
6785
|
-
document
|
|
6786
|
-
.querySelectorAll(
|
|
6787
|
-
'.active-layer[layer-id="' +
|
|
6788
|
-
elem.id +
|
|
6789
|
-
'"] .map-menu-icon:not(.active-layer-time)',
|
|
6790
|
-
)
|
|
6791
|
-
.forEach((item) => {
|
|
6792
|
-
item.classList.add('locked');
|
|
6793
|
-
});
|
|
6794
|
-
if (document.querySelector('#products_label'))
|
|
6795
|
-
document.querySelector('#products_label').classList.add('locked');
|
|
6796
|
-
if (document.querySelector('#map_remove_layers')) {
|
|
6797
|
-
const mapRemoveBtn = document.querySelector('#map_remove_layers');
|
|
6798
|
-
if (mapRemoveBtn) mapRemoveBtn.classList.add('locked');
|
|
6799
|
-
}
|
|
6800
|
-
if (this.props.download && document.querySelector('#download_label'))
|
|
6801
|
-
document.querySelector('#download_label').classList.add('locked');
|
|
6802
|
-
this.activeLayersJSON[elem.id] = this.addActiveLayer(
|
|
6803
|
-
elem,
|
|
6804
|
-
order,
|
|
6805
|
-
fromDownload,
|
|
6806
|
-
hideCalendar,
|
|
6807
|
-
);
|
|
6808
|
-
} else {
|
|
6809
|
-
const node = document.getElementById(layerId);
|
|
6810
|
-
if (
|
|
6811
|
-
node &&
|
|
6812
|
-
node.parentElement &&
|
|
6813
|
-
node.parentElement.dataset &&
|
|
6814
|
-
node.parentElement.dataset.timeseries === 'true'
|
|
6815
|
-
) {
|
|
6816
|
-
if (!this.visibleLayers[layerId]) {
|
|
6817
|
-
this.visibleLayers[layerId] = ['fas', 'eye'];
|
|
6818
|
-
}
|
|
6819
|
-
if (this.visibleLayers[layerId][1] === 'eye') {
|
|
6820
|
-
if (this.layers[layerId]) this.layers[layerId].visible = false;
|
|
6821
|
-
this.visibleLayers[layerId] = ['fas', 'eye-slash'];
|
|
6822
|
-
}
|
|
6823
|
-
const activeNode = document.querySelector(
|
|
6824
|
-
'.active-layer[layer-id="' + layerId + '"]',
|
|
6825
|
-
);
|
|
6826
|
-
if (activeNode) activeNode.classList.add('locked');
|
|
6827
|
-
}
|
|
6828
|
-
this.activeLayersJSON[layerId] = this.addActiveLayer(
|
|
6829
|
-
document.getElementById(layerId),
|
|
6830
|
-
order,
|
|
6766
|
+
const selectedLayerId = elem.id;
|
|
6767
|
+
let activeTimeLayerId = null;
|
|
6768
|
+
Object.keys(this.timeLayers).forEach((layerId) => {
|
|
6769
|
+
if (this.timeLayers[layerId] && this.timeLayers[layerId][1] === 'stop') {
|
|
6770
|
+
activeTimeLayerId = layerId;
|
|
6771
|
+
}
|
|
6772
|
+
});
|
|
6773
|
+
if (this.timeLayers[selectedLayerId][1] === 'clock') {
|
|
6774
|
+
if (activeTimeLayerId && activeTimeLayerId !== selectedLayerId) {
|
|
6775
|
+
this.timeLayers[activeTimeLayerId] = ['far', 'clock'];
|
|
6776
|
+
const previousLayerNode = document.getElementById(activeTimeLayerId);
|
|
6777
|
+
const previousOrder =
|
|
6778
|
+
this.activeLayersJSON[activeTimeLayerId]?.props?.['layer-order'] || 0;
|
|
6779
|
+
if (previousLayerNode) {
|
|
6780
|
+
this.activeLayersJSON[activeTimeLayerId] = this.addActiveLayer(
|
|
6781
|
+
previousLayerNode,
|
|
6782
|
+
previousOrder,
|
|
6831
6783
|
fromDownload,
|
|
6832
6784
|
);
|
|
6833
6785
|
}
|
|
6834
|
-
|
|
6786
|
+
document
|
|
6787
|
+
.querySelectorAll(
|
|
6788
|
+
'.active-layer[layer-id="' +
|
|
6789
|
+
activeTimeLayerId +
|
|
6790
|
+
'"] .map-menu-icon:not(.active-layer-time)',
|
|
6791
|
+
)
|
|
6792
|
+
.forEach((item) => {
|
|
6793
|
+
item.classList.remove('locked');
|
|
6794
|
+
});
|
|
6795
|
+
}
|
|
6796
|
+
this.timeLayers[selectedLayerId] = ['fas', 'stop'];
|
|
6797
|
+
if (
|
|
6798
|
+
!this.visibleLayers[selectedLayerId] ||
|
|
6799
|
+
this.visibleLayers[selectedLayerId][1] === 'eye-slash'
|
|
6800
|
+
) {
|
|
6801
|
+
if (this.layers[selectedLayerId])
|
|
6802
|
+
this.layers[selectedLayerId].visible = true;
|
|
6803
|
+
this.visibleLayers[selectedLayerId] = ['fas', 'eye'];
|
|
6804
|
+
}
|
|
6805
|
+
document
|
|
6806
|
+
.querySelectorAll(
|
|
6807
|
+
'.active-layer[layer-id="' +
|
|
6808
|
+
selectedLayerId +
|
|
6809
|
+
'"] .map-menu-icon:not(.active-layer-time)',
|
|
6810
|
+
)
|
|
6811
|
+
.forEach((item) => {
|
|
6812
|
+
item.classList.add('locked');
|
|
6813
|
+
});
|
|
6814
|
+
if (document.querySelector('#products_label'))
|
|
6815
|
+
document.querySelector('#products_label').classList.add('locked');
|
|
6816
|
+
if (document.querySelector('#map_remove_layers')) {
|
|
6817
|
+
const mapRemoveBtn = document.querySelector('#map_remove_layers');
|
|
6818
|
+
if (mapRemoveBtn) mapRemoveBtn.classList.add('locked');
|
|
6819
|
+
}
|
|
6820
|
+
if (this.props.download && document.querySelector('#download_label'))
|
|
6821
|
+
document.querySelector('#download_label').classList.add('locked');
|
|
6822
|
+
const selectedOrder =
|
|
6823
|
+
this.activeLayersJSON[selectedLayerId]?.props?.['layer-order'] || 0;
|
|
6824
|
+
this.activeLayersJSON[selectedLayerId] = this.addActiveLayer(
|
|
6825
|
+
elem,
|
|
6826
|
+
selectedOrder,
|
|
6827
|
+
fromDownload,
|
|
6828
|
+
hideCalendar,
|
|
6829
|
+
);
|
|
6835
6830
|
const op = document.querySelector('.opacity-panel');
|
|
6836
6831
|
if (op && op.style.display === 'block') {
|
|
6837
6832
|
this.closeOpacity();
|
|
6838
6833
|
}
|
|
6839
6834
|
} else {
|
|
6840
|
-
|
|
6841
|
-
|
|
6842
|
-
|
|
6843
|
-
|
|
6844
|
-
|
|
6845
|
-
|
|
6846
|
-
|
|
6847
|
-
|
|
6848
|
-
|
|
6849
|
-
|
|
6850
|
-
|
|
6851
|
-
|
|
6835
|
+
this.timeLayers[selectedLayerId] = ['far', 'clock'];
|
|
6836
|
+
const selectedOrder =
|
|
6837
|
+
this.activeLayersJSON[selectedLayerId]?.props?.['layer-order'] || 0;
|
|
6838
|
+
this.activeLayersJSON[selectedLayerId] = this.addActiveLayer(
|
|
6839
|
+
elem,
|
|
6840
|
+
selectedOrder,
|
|
6841
|
+
fromDownload,
|
|
6842
|
+
);
|
|
6843
|
+
document
|
|
6844
|
+
.querySelectorAll(
|
|
6845
|
+
'.active-layer[layer-id="' +
|
|
6846
|
+
selectedLayerId +
|
|
6847
|
+
'"] .map-menu-icon:not(.active-layer-time)',
|
|
6848
|
+
)
|
|
6849
|
+
.forEach((item) => {
|
|
6850
|
+
item.classList.remove('locked');
|
|
6851
|
+
});
|
|
6852
|
+
let hasActiveTimeSlider = false;
|
|
6853
|
+
Object.keys(this.timeLayers).forEach((layerId) => {
|
|
6854
|
+
if (
|
|
6855
|
+
this.timeLayers[layerId] &&
|
|
6856
|
+
this.timeLayers[layerId][1] === 'stop'
|
|
6857
|
+
) {
|
|
6858
|
+
hasActiveTimeSlider = true;
|
|
6859
|
+
}
|
|
6860
|
+
});
|
|
6861
|
+
if (!hasActiveTimeSlider) {
|
|
6862
|
+
const productsLabel = document.querySelector('#products_label');
|
|
6863
|
+
if (productsLabel) productsLabel.classList.remove('locked');
|
|
6864
|
+
const removeBtn = document.querySelector('#map_remove_layers');
|
|
6865
|
+
if (removeBtn) removeBtn.classList.remove('locked');
|
|
6866
|
+
if (this.props.download) {
|
|
6867
|
+
const dl = document.querySelector('#download_label');
|
|
6868
|
+
if (dl) dl.classList.remove('locked');
|
|
6869
|
+
const timeIcon = document.querySelector(
|
|
6870
|
+
'.active-layer[layer-id="' +
|
|
6871
|
+
selectedLayerId +
|
|
6872
|
+
'"] .map-menu-icon.active-layer-time',
|
|
6852
6873
|
);
|
|
6853
|
-
|
|
6854
|
-
.
|
|
6855
|
-
|
|
6856
|
-
elem.id +
|
|
6857
|
-
'"] .map-menu-icon:not(.active-layer-time)',
|
|
6858
|
-
)
|
|
6859
|
-
.forEach((item) => {
|
|
6860
|
-
item.classList.remove('locked');
|
|
6861
|
-
});
|
|
6862
|
-
const productsLabel = document.querySelector('#products_label');
|
|
6863
|
-
if (productsLabel) productsLabel.classList.remove('locked');
|
|
6864
|
-
const removeBtn = document.querySelector('#map_remove_layers');
|
|
6865
|
-
if (removeBtn) removeBtn.classList.remove('locked');
|
|
6866
|
-
if (this.props.download) {
|
|
6867
|
-
const dl = document.querySelector('#download_label');
|
|
6868
|
-
if (dl) dl.classList.remove('locked');
|
|
6869
|
-
const timeIcon = document.querySelector(
|
|
6870
|
-
'.active-layer[layer-id="' +
|
|
6871
|
-
elem.id +
|
|
6872
|
-
'"] .map-menu-icon.active-layer-time',
|
|
6873
|
-
);
|
|
6874
|
-
if (timeIcon && timeIcon.dataset.download === 'true') {
|
|
6875
|
-
const dlBtn = document.getElementById('download_label');
|
|
6876
|
-
if (dlBtn) dlBtn.click();
|
|
6877
|
-
}
|
|
6878
|
-
} else {
|
|
6879
|
-
const timeIcon = document.querySelector(
|
|
6880
|
-
'.active-layer[layer-id="' +
|
|
6881
|
-
elem.id +
|
|
6882
|
-
'"] .map-menu-icon.active-layer-time',
|
|
6883
|
-
);
|
|
6884
|
-
if (timeIcon && timeIcon.dataset.download === 'true') {
|
|
6885
|
-
const prBtn = document.getElementById('products_label');
|
|
6886
|
-
if (prBtn) prBtn.click();
|
|
6887
|
-
}
|
|
6874
|
+
if (timeIcon && timeIcon.dataset.download === 'true') {
|
|
6875
|
+
const dlBtn = document.getElementById('download_label');
|
|
6876
|
+
if (dlBtn) dlBtn.click();
|
|
6888
6877
|
}
|
|
6889
|
-
const ts = document.querySelector('.timeslider-container');
|
|
6890
|
-
if (ts && document.contains(ts))
|
|
6891
|
-
ReactDOM.unmountComponentAtNode(
|
|
6892
|
-
document.querySelector('.esri-ui-bottom-right'),
|
|
6893
|
-
);
|
|
6894
|
-
const warn = document.querySelector('.drawRectanglePopup-block');
|
|
6895
|
-
if (warn) warn.style.display = 'block';
|
|
6896
6878
|
} else {
|
|
6897
|
-
|
|
6898
|
-
|
|
6899
|
-
|
|
6900
|
-
|
|
6901
|
-
if (this.layers[layerId]) this.layers[layerId].visible = true;
|
|
6902
|
-
this.visibleLayers[layerId] = ['fas', 'eye'];
|
|
6903
|
-
this.activeLayersJSON[layerId] = this.addActiveLayer(
|
|
6904
|
-
document.getElementById(layerId),
|
|
6905
|
-
order,
|
|
6906
|
-
fromDownload,
|
|
6907
|
-
);
|
|
6908
|
-
}
|
|
6909
|
-
const activeNode = document.querySelector(
|
|
6910
|
-
'.active-layer[layer-id="' + layerId + '"]',
|
|
6879
|
+
const timeIcon = document.querySelector(
|
|
6880
|
+
'.active-layer[layer-id="' +
|
|
6881
|
+
selectedLayerId +
|
|
6882
|
+
'"] .map-menu-icon.active-layer-time',
|
|
6911
6883
|
);
|
|
6912
|
-
if (
|
|
6884
|
+
if (timeIcon && timeIcon.dataset.download === 'true') {
|
|
6885
|
+
const prBtn = document.getElementById('products_label');
|
|
6886
|
+
if (prBtn) prBtn.click();
|
|
6887
|
+
}
|
|
6913
6888
|
}
|
|
6914
|
-
|
|
6889
|
+
const ts = document.querySelector('.timeslider-container');
|
|
6890
|
+
if (ts && document.contains(ts))
|
|
6891
|
+
ReactDOM.unmountComponentAtNode(
|
|
6892
|
+
document.querySelector('.esri-ui-bottom-right'),
|
|
6893
|
+
);
|
|
6894
|
+
const warn = document.querySelector('.drawRectanglePopup-block');
|
|
6895
|
+
if (warn) warn.style.display = 'block';
|
|
6896
|
+
}
|
|
6915
6897
|
}
|
|
6916
6898
|
this.setState({});
|
|
6917
6899
|
}
|
|
@@ -7778,7 +7760,31 @@ class MenuWidget extends React.Component {
|
|
|
7778
7760
|
*/
|
|
7779
7761
|
loadLayers() {
|
|
7780
7762
|
let layers = JSON.parse(sessionStorage.getItem('checkedLayers'));
|
|
7781
|
-
|
|
7763
|
+
let expandedDropdowns = null;
|
|
7764
|
+
const userKey = this.userID ? 'user_' + this.userID : 'user_anonymous';
|
|
7765
|
+
const existing = localStorage.getItem(userKey);
|
|
7766
|
+
if (existing) {
|
|
7767
|
+
try {
|
|
7768
|
+
const storeObj = JSON.parse(existing) || {};
|
|
7769
|
+
const stored = storeObj ? storeObj.expandedDropdowns : null;
|
|
7770
|
+
if (Array.isArray(stored)) {
|
|
7771
|
+
expandedDropdowns = stored;
|
|
7772
|
+
} else if (typeof stored === 'string') {
|
|
7773
|
+
const parsed = JSON.parse(stored);
|
|
7774
|
+
if (Array.isArray(parsed)) expandedDropdowns = parsed;
|
|
7775
|
+
}
|
|
7776
|
+
} catch (e) {}
|
|
7777
|
+
}
|
|
7778
|
+
if (!Array.isArray(expandedDropdowns)) {
|
|
7779
|
+
try {
|
|
7780
|
+
const fromSession = sessionStorage.getItem('expandedDropdowns');
|
|
7781
|
+
if (fromSession) {
|
|
7782
|
+
const parsed = JSON.parse(fromSession);
|
|
7783
|
+
if (Array.isArray(parsed)) expandedDropdowns = parsed;
|
|
7784
|
+
}
|
|
7785
|
+
} catch (e) {}
|
|
7786
|
+
}
|
|
7787
|
+
if (layers && !this.props.download && Array.isArray(expandedDropdowns)) {
|
|
7782
7788
|
for (var i = layers.length - 1; i >= 0; i--) {
|
|
7783
7789
|
let layer = layers[i];
|
|
7784
7790
|
let node = document.getElementById(layer);
|
|
@@ -7800,10 +7806,37 @@ class MenuWidget extends React.Component {
|
|
|
7800
7806
|
delete node.dataset.preserveCheckedLayerState;
|
|
7801
7807
|
}
|
|
7802
7808
|
}
|
|
7803
|
-
|
|
7804
|
-
// set scroll position
|
|
7805
7809
|
let dropdown = node.closest('.map-menu-dropdown');
|
|
7810
|
+
if (dropdown) {
|
|
7811
|
+
let button = dropdown.querySelector('.ccl-expandable__button');
|
|
7812
|
+
if (button && expandedDropdowns.includes(button.id)) {
|
|
7813
|
+
button.setAttribute('aria-expanded', 'true');
|
|
7814
|
+
}
|
|
7815
|
+
}
|
|
7806
7816
|
let productDropdown = node.closest('.map-menu-product-dropdown');
|
|
7817
|
+
if (productDropdown) {
|
|
7818
|
+
let familyDropdown = node.closest('.map-menu-family-dropdown');
|
|
7819
|
+
if (familyDropdown) {
|
|
7820
|
+
let button = familyDropdown.querySelector(
|
|
7821
|
+
'.ccl-expandable__button',
|
|
7822
|
+
);
|
|
7823
|
+
if (button && expandedDropdowns.includes(button.id)) {
|
|
7824
|
+
button.setAttribute('aria-expanded', 'true');
|
|
7825
|
+
}
|
|
7826
|
+
}
|
|
7827
|
+
let datasetDropdown = node.closest('.map-menu-product-dropdown');
|
|
7828
|
+
if (datasetDropdown) {
|
|
7829
|
+
let button = datasetDropdown.querySelector(
|
|
7830
|
+
'.ccl-expandable__button',
|
|
7831
|
+
);
|
|
7832
|
+
if (button && expandedDropdowns.includes(button.id)) {
|
|
7833
|
+
button.setAttribute('aria-expanded', 'true');
|
|
7834
|
+
}
|
|
7835
|
+
}
|
|
7836
|
+
}
|
|
7837
|
+
// set scroll position
|
|
7838
|
+
dropdown = node.closest('.map-menu-dropdown');
|
|
7839
|
+
productDropdown = node.closest('.map-menu-product-dropdown');
|
|
7807
7840
|
let scrollPosition = productDropdown
|
|
7808
7841
|
? productDropdown.offsetTop
|
|
7809
7842
|
: dropdown.offsetTop;
|