Zeitleiste: Karte bleibt innerhalb von main, keine zweite Bildlaufleiste
Die Karte klappte nur nach oben, wenn sie aus dem Fenster ragte. main.app-main hat bei AdminLTE overflow:auto bei Inhaltshoehe - ragte die Karte unten aus main, bekam main eine eigene Bildlaufleiste. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
@@ -508,13 +508,21 @@ function zlKarteOeffnen(anker, id) {
|
||||
ziel.appendChild(karte);
|
||||
|
||||
// Unter den Eintrag, sonst darüber; waagerecht in der Karte der Zeitleiste halten.
|
||||
// Unten begrenzt nicht nur das Fenster, sondern auch main.app-main: AdminLTE
|
||||
// gibt ihm overflow:auto bei Inhaltshöhe. Ragte die Karte unten aus main,
|
||||
// bekam main eine eigene, zweite Bildlaufleiste - auch wenn die Karte
|
||||
// noch ganz im Fenster lag.
|
||||
const hoch = ziel.getBoundingClientRect();
|
||||
const r = anker.getBoundingClientRect();
|
||||
const breit = karte.offsetWidth, hoehe = karte.offsetHeight;
|
||||
let links = r.left - hoch.left;
|
||||
links = Math.max(0, Math.min(links, ziel.clientWidth - breit));
|
||||
const huelle = ziel.closest("main");
|
||||
const unten = Math.min(window.innerHeight, huelle ? huelle.getBoundingClientRect().bottom : Infinity);
|
||||
const obenFrei = Math.max(0, huelle ? huelle.getBoundingClientRect().top : 0);
|
||||
const platzUnten = unten - r.bottom - 12, platzOben = r.top - obenFrei - 6;
|
||||
let oben = r.bottom - hoch.top + 6;
|
||||
if (r.bottom + hoehe + 12 > window.innerHeight && r.top - hoehe - 6 > 0) oben = r.top - hoch.top - hoehe - 6;
|
||||
if (hoehe > platzUnten && (hoehe <= platzOben || platzOben > platzUnten)) oben = r.top - hoch.top - hoehe - 6;
|
||||
karte.style.left = links + "px";
|
||||
karte.style.top = oben + "px";
|
||||
zlKetteHervorheben(a.id, true);
|
||||
|
||||
Reference in New Issue
Block a user