Ladebalken bei Layer-Aktivierung + Ortsnamen-Rendering verbessert
- Animierter Ladebalken unter jedem Layer-Toggle bei Datenabruf - Status-Text (Lade Daten.../Fehler beim Laden) - Fetch-Wrapper: nur 401 redirected zum Login, nicht 403 - Ortsnamen: minimumLevel, tileWidth/Height, LINEAR Texture-Filter fuer konsistente Schriftgroessen beim Laden
Dieser Commit ist enthalten in:
@@ -28,6 +28,10 @@ const FlightsLayer = {
|
||||
|
||||
_fetch() {
|
||||
var self = this;
|
||||
var loadEl = document.getElementById('loading-flights');
|
||||
var statusEl = document.getElementById('status-flights');
|
||||
if (loadEl) loadEl.classList.add('active');
|
||||
if (statusEl) { statusEl.textContent = 'Lade Daten...'; statusEl.classList.add('active'); }
|
||||
fetch('/api/flights')
|
||||
.then(function(r) { return r.json(); })
|
||||
.then(function(data) {
|
||||
@@ -72,6 +76,7 @@ const FlightsLayer = {
|
||||
});
|
||||
});
|
||||
})
|
||||
.catch(function(e) { console.warn('Flights fetch error:', e); });
|
||||
.catch(function(e) { console.warn('Flights fetch error:', e); if (statusEl) { statusEl.textContent = 'Fehler beim Laden'; } })
|
||||
.finally(function() { if (loadEl) loadEl.classList.remove('active'); setTimeout(function() { if (statusEl) statusEl.classList.remove('active'); }, 3000); });
|
||||
},
|
||||
};
|
||||
|
||||
@@ -28,6 +28,10 @@ const GdeltLayer = {
|
||||
|
||||
_fetch() {
|
||||
var self = this;
|
||||
var loadEl = document.getElementById('loading-gdelt');
|
||||
var statusEl = document.getElementById('status-gdelt');
|
||||
if (loadEl) loadEl.classList.add('active');
|
||||
if (statusEl) { statusEl.textContent = 'Lade Daten...'; statusEl.classList.add('active'); }
|
||||
fetch('/api/gdelt')
|
||||
.then(function(r) { return r.json(); })
|
||||
.then(function(data) {
|
||||
|
||||
@@ -28,6 +28,10 @@ const QuakesLayer = {
|
||||
|
||||
_fetch() {
|
||||
var self = this;
|
||||
var loadEl = document.getElementById('loading-quakes');
|
||||
var statusEl = document.getElementById('status-quakes');
|
||||
if (loadEl) loadEl.classList.add('active');
|
||||
if (statusEl) { statusEl.textContent = 'Lade Daten...'; statusEl.classList.add('active'); }
|
||||
fetch('/api/quakes')
|
||||
.then(function(r) { return r.json(); })
|
||||
.then(function(data) {
|
||||
@@ -66,6 +70,7 @@ const QuakesLayer = {
|
||||
});
|
||||
});
|
||||
})
|
||||
.catch(function(e) { console.warn('Quakes fetch error:', e); });
|
||||
.catch(function(e) { console.warn('Quakes fetch error:', e); if (statusEl) { statusEl.textContent = 'Fehler beim Laden'; } })
|
||||
.finally(function() { if (loadEl) loadEl.classList.remove('active'); setTimeout(function() { if (statusEl) statusEl.classList.remove('active'); }, 3000); });
|
||||
},
|
||||
};
|
||||
|
||||
@@ -28,6 +28,10 @@ const ShipsLayer = {
|
||||
|
||||
_fetch() {
|
||||
var self = this;
|
||||
var loadEl = document.getElementById('loading-ships');
|
||||
var statusEl = document.getElementById('status-ships');
|
||||
if (loadEl) loadEl.classList.add('active');
|
||||
if (statusEl) { statusEl.textContent = 'Lade Daten...'; statusEl.classList.add('active'); }
|
||||
fetch('/api/ships')
|
||||
.then(function(r) { return r.json(); })
|
||||
.then(function(data) {
|
||||
@@ -72,6 +76,7 @@ const ShipsLayer = {
|
||||
});
|
||||
});
|
||||
})
|
||||
.catch(function(e) { console.warn('Ships fetch error:', e); });
|
||||
.catch(function(e) { console.warn('Ships fetch error:', e); if (statusEl) { statusEl.textContent = 'Fehler beim Laden'; } })
|
||||
.finally(function() { if (loadEl) loadEl.classList.remove('active'); setTimeout(function() { if (statusEl) statusEl.classList.remove('active'); }, 3000); });
|
||||
},
|
||||
};
|
||||
|
||||
In neuem Issue referenzieren
Einen Benutzer sperren