get('admin_kontaktform_page_title', '✏️ Kontaktformular bearbeiten');
$backLink = './?AdminKontakt';
$footerNote = '';
ob_start();
?>
= $lang->get('admin_kontaktform_save_success', '✅ Änderungen wurden erfolgreich gespeichert.') ?>
✖
// Drag & Drop für Tabelle
const tableBody = document.querySelector("#bewerbungsTable tbody");
let dragSrcEl = null;
let formChanged = false;
if (tableBody) {
tableBody.addEventListener('mousedown', e => {
if (e.target.classList.contains('drag-handle')) {
const row = e.target.closest('tr');
if (row) row.draggable = true;
}
});
tableBody.addEventListener('dragstart', e => {
dragSrcEl = e.target.closest('tr');
if (dragSrcEl) dragSrcEl.classList.add('dragging');
});
tableBody.addEventListener('dragover', e => {
e.preventDefault();
const target = e.target.closest('tr');
if (target && target !== dragSrcEl && tableBody) {
const rect = target.getBoundingClientRect();
const next = (e.clientY - rect.top) > rect.height / 2;
tableBody.insertBefore(dragSrcEl, next ? target.nextSibling : target);
}
});
tableBody.addEventListener('dragend', () => {
if (dragSrcEl) {
dragSrcEl.classList.remove('dragging');
dragSrcEl.draggable = false;
}
updateOrder();
});
}
function updateOrder() {
const order = [];
if (tableBody) {
tableBody.querySelectorAll('tr').forEach(row => {
if (row.dataset.id) order.push(row.dataset.id);
});
}
const orderInput = document.getElementById('orderInput');
if (orderInput) orderInput.value = order.join(',');
formChanged = true;
}
// Formular-Änderungen überwachen
document.querySelectorAll("input, textarea, select").forEach(el => {
el.addEventListener("input", () => formChanged = true);
el.addEventListener("change", () => formChanged = true);
});
window.addEventListener("beforeunload", e => {
if (formChanged) {
e.preventDefault();
e.returnValue = '';
}
});
const adminForm = document.getElementById('adminForm');
if (adminForm) {
adminForm.addEventListener("submit", () => {
formChanged = false;
});
}
function closeSuccessBanner() {
const banner = document.getElementById("successBanner");
if (banner) banner.remove();
}
JS;
$content = ob_get_clean();
include __DIR__ . '/admin_master_template.php';
?>