diff --git a/static/js/app.js b/static/js/app.js index 9723b8e..2a9bd8f 100644 --- a/static/js/app.js +++ b/static/js/app.js @@ -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") ? "▾" : "▸"; }); }); + 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(); });