Lösch-Dialog in Bericht-Übersicht: eigener Modal statt fehlender Handler
All checks were successful
Deploy bericht / deploy (push) Has been skipped

In der Übersicht (ohne Editor) wurde data-dolconfirm nicht abgefangen,
weil editor.js dort nicht geladen wird. Inline-Script mit gleichem
bericht-dolmodal-Stil ergänzt — kein browser-confirm().

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
Eduard Wisch 2026-04-10 15:23:00 +02:00
parent 9271ec279f
commit 85005e3335

View file

@ -268,6 +268,42 @@ if (!$bericht) {
print '</div>';
// Bestätigungsdialog für Lösch-Buttons (eigener Modal statt browser-confirm)
print '<script>
document.addEventListener("click", function(e) {
var el = e.target.closest("[data-dolconfirm]");
if (!el) return;
if (el.dataset._dolconfirmed === "1") return;
e.preventDefault();
e.stopPropagation();
var msg = el.getAttribute("data-dolconfirm");
var overlay = document.createElement("div");
overlay.className = "bericht-dolmodal-overlay";
overlay.innerHTML = \'<div class="bericht-dolmodal">\'
+ \'<div class="bericht-dolmodal-title">Bestätigen</div>\'
+ \'<div class="bericht-dolmodal-body"></div>\'
+ \'<div class="bericht-dolmodal-foot">\'
+ \'<button class="button" data-action="cancel">Abbrechen</button>\'
+ \'<button class="butActionDelete" data-action="ok">Löschen</button>\'
+ \'</div></div>\';
overlay.querySelector(".bericht-dolmodal-body").textContent = msg;
document.body.appendChild(overlay);
overlay.addEventListener("click", function(ev) {
var action = ev.target.getAttribute("data-action");
if (!action && ev.target === overlay) action = "cancel";
if (!action) return;
overlay.remove();
if (action === "ok") {
el.dataset._dolconfirmed = "1";
if (el.tagName === "A") window.location.href = el.getAttribute("href");
else el.click();
}
});
}, true);
</script>';
} else {
/*
* MODUS B: Editor bestehender Bericht wird bearbeitet