refactor: Layer-Panel mit einklappbaren Kategorien + ANSICHT in Bottom Bar
- 5 einklappbare Gruppen: ECHTZEIT, INTELLIGENCE, GEOINT, INFRASTRUKTUR, UMGEBUNG - Jede Gruppe zeigt Aktiv-Zaehler (z.B. 2/3) - Klick auf Header klappt Gruppe auf/zu (Chevron-Indikator) - ANSICHT (STD/NVG/FLIR/CRT) in Bottom Bar verschoben - SATELLITENBILDER-Dropdown an Panel-Oberkante (immer sichtbar) - Fadenkreuz + Ortsnamen immer sichtbar (nicht in Gruppe) - Reduziert sichtbare Zeilen von ~35 auf ~18 Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Dieser Commit ist enthalten in:
@@ -88,6 +88,7 @@ const Globe = {
|
||||
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") ? "▾" : "▸"; }); });
|
||||
},
|
||||
|
||||
_toggleLabels(on) {
|
||||
@@ -222,6 +223,7 @@ const Globe = {
|
||||
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; });
|
||||
};
|
||||
|
||||
document.addEventListener('DOMContentLoaded', function() { Globe.init(); });
|
||||
|
||||
@@ -34,7 +34,7 @@ const VisualModes = {
|
||||
}
|
||||
|
||||
// Button-States aktualisieren
|
||||
document.querySelectorAll('.vmode-btn').forEach(function(btn) {
|
||||
document.querySelectorAll('.vmode-btn, .vmode-btn-sm').forEach(function(btn) {
|
||||
btn.classList.toggle('active', btn.dataset.mode === mode);
|
||||
});
|
||||
},
|
||||
|
||||
In neuem Issue referenzieren
Einen Benutzer sperren