Project_Manager/app/static/js/app.js
2026-06-26 18:21:22 +02:00

26 lines
1,016 B
JavaScript

// Minimal-JS für den Projekt-Hub — Progressive Enhancement, keine Abhängigkeiten.
// 1) Bestätigungsdialog für Formulare mit data-confirm (z.B. Löschen).
document.addEventListener("submit", function (e) {
var form = e.target;
if (form.dataset && form.dataset.confirm) {
if (!window.confirm(form.dataset.confirm)) {
e.preventDefault();
}
}
});
// 2) Klappbare Bereiche: Klick auf .js-collapse blendet das Ziel (data-target) aus.
document.addEventListener("click", function (e) {
var head = e.target.closest(".js-collapse");
if (!head) return;
// Klicks auf interaktive Elemente (z.B. Lösch-Button) nicht als Klapp-Klick werten.
if (e.target.closest("button, a, input, form") && !e.target.closest(".collapse-btn")) {
return;
}
var target = document.getElementById(head.dataset.target);
if (!target) return;
var collapsed = target.classList.toggle("hidden");
var btn = head.querySelector(".collapse-btn");
if (btn) btn.textContent = collapsed ? "▼" : "▲";
});