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();
}
// Scroll blockieren waehrend Rendering + GridStack-Resize
// Scroll auf 0 erzwingen waehrend Rendering + GridStack-Resize
var mc = document.getElementById("main-content");
mc.style.overflow = "hidden";
var lockScroll = () => { mc.scrollTop = 0; };
mc.addEventListener("scroll", lockScroll);
mc.scrollTop = 0;
await this.loadIncidentDetail(id);
mc.scrollTop = 0;
// overflow erst nach allen GridStack-Resizes freigeben (doppeltes rAF + Timeout)
setTimeout(() => { mc.scrollTop = 0; mc.style.overflow = ""; }, 300);
setTimeout(() => { mc.removeEventListener("scroll", lockScroll); mc.scrollTop = 0; }, 500);
},
async loadIncidentDetail(id) {