fix: Gruppen-Toggle repariert (sauberer Code statt sed-Einzeiler)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Dieser Commit ist enthalten in:
Claude Dev
2026-03-27 21:43:10 +01:00
Ursprung bc5fdd18df
Commit 4ad4f4ee44

Datei anzeigen

@@ -79,16 +79,26 @@ const Globe = {
// Stats Update
this._statsInterval = setInterval(function() { Globe._updateStats(); }, 5000);
// Layer starten (die mit checked)
this._toggleLabels(true);
if (typeof VisualModes !== 'undefined') VisualModes.init();
if (typeof Sidebar !== 'undefined') Sidebar.init();
if (typeof ImagerySwitch !== 'undefined') ImagerySwitch.init(this.viewer);
if (typeof SearchUI !== 'undefined') SearchUI.init();
this._loadLagen();
document.getElementById('bottom-stats').textContent = 'Globe initialisiert Lade Daten...';
// Gruppen auf-/zuklappen document.querySelectorAll(".layer-group-header").forEach(function(header) { header.addEventListener("click", function() { var group = document.getElementById(this.dataset.group); group.classList.toggle("open"); var chevron = this.querySelector(".layer-group-chevron"); chevron.innerHTML = group.classList.contains("open") ? "&#9662;" : "&#9656;"; }); });
document.getElementById('bottom-stats').textContent = 'Globe initialisiert \u2014 Lade Daten...';
// Gruppen auf-/zuklappen
var groupHeaders = document.querySelectorAll('.layer-group-header');
for (var i = 0; i < groupHeaders.length; i++) {
groupHeaders[i].addEventListener('click', function() {
var groupId = this.getAttribute('data-group');
var group = document.getElementById(groupId);
if (!group) return;
var isOpen = group.classList.toggle('open');
var chevron = this.querySelector('.layer-group-chevron');
if (chevron) chevron.textContent = isOpen ? '\u25BE' : '\u25B8';
});
}
},
_toggleLabels(on) {
@@ -222,8 +232,25 @@ const Globe = {
if (parts.length) {
document.getElementById('bottom-stats').textContent = parts.join(' | ');
}
// Gruppen-Zaehler aktualisieren
var groups = {
'gcount-realtime': ['layer-flights', 'layer-military', 'layer-ships'],
'gcount-intel': ['layer-gdelt', 'layer-disasters', 'layer-firms'],
'gcount-geoint': ['layer-vlm', 'layer-nightlights', 'layer-celltowers'],
'gcount-infra': ['layer-satellites', 'layer-cables', 'layer-infra', 'layer-iss'],
'gcount-environ': ['layer-weather', 'layer-daynight', 'layer-terminator', 'layer-timezones'],
};
Object.keys(groups).forEach(function(countId) {
var ids = groups[countId];
var active = ids.filter(function(id) {
var cb = document.getElementById(id);
return cb && cb.checked;
}).length;
var el = document.getElementById(countId);
if (el) el.textContent = active + '/' + ids.length;
});
},
// Gruppen-Zaehler aktualisieren var groups = { "gcount-realtime": ["layer-flights","layer-military","layer-ships"], "gcount-intel": ["layer-gdelt","layer-disasters","layer-firms"], "gcount-geoint": ["layer-vlm","layer-nightlights","layer-celltowers"], "gcount-infra": ["layer-satellites","layer-cables","layer-infra","layer-iss"], "gcount-environ": ["layer-weather","layer-daynight","layer-terminator","layer-timezones"], }; Object.keys(groups).forEach(function(countId) { var ids = groups[countId]; var active = ids.filter(function(id) { var cb = document.getElementById(id); return cb && cb.checked; }).length; var el = document.getElementById(countId); if (el) el.textContent = active + "/" + ids.length; });
};
document.addEventListener('DOMContentLoaded', function() { Globe.init(); });