fix: Scroll-Lock per Event-Listener statt overflow:hidden

Scroll-Event-Listener setzt scrollTop=0 bei jedem Scroll-Versuch
waehrend 500ms nach dem Laden. Verhindert zuverlaessig, dass
GridStack, Leaflet oder Fokus-Aenderungen den View verschieben.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Dieser Commit ist enthalten in:
claude-dev
2026-03-10 10:58:54 +01:00
Ursprung e745814230
Commit 163c0c1e8b

Datei anzeigen

@@ -652,14 +652,13 @@ const App = {
UI.hideProgress(); UI.hideProgress();
} }
// Scroll blockieren waehrend Rendering + GridStack-Resize // Scroll auf 0 erzwingen waehrend Rendering + GridStack-Resize
var mc = document.getElementById("main-content"); var mc = document.getElementById("main-content");
mc.style.overflow = "hidden"; var lockScroll = () => { mc.scrollTop = 0; };
mc.addEventListener("scroll", lockScroll);
mc.scrollTop = 0; mc.scrollTop = 0;
await this.loadIncidentDetail(id); await this.loadIncidentDetail(id);
mc.scrollTop = 0; setTimeout(() => { mc.removeEventListener("scroll", lockScroll); mc.scrollTop = 0; }, 500);
// overflow erst nach allen GridStack-Resizes freigeben (doppeltes rAF + Timeout)
setTimeout(() => { mc.scrollTop = 0; mc.style.overflow = ""; }, 300);
}, },
async loadIncidentDetail(id) { async loadIncidentDetail(id) {