// Injection du modal fetch("../../delete-composant.html") .then(res => { if (!res.ok) throw new Error("Modal HTML introuvable"); return res.text(); }) .then(html => { document.getElementById("modal-placeholder").innerHTML = html; initDeleteModalLogic(); }) .catch(err => console.error(err)); // Logique du modal function initDeleteModalLogic() { let rowToDelete = null; const modalElement = document.getElementById("deleteModal"); const itemNameSpan = document.getElementById("itemName"); const confirmBtn = document.getElementById("confirmDeleteBtn"); const deleteModal = new bootstrap.Modal(modalElement); document.body.addEventListener("click", (event) => { const button = event.target.closest(".delete-btn"); if (!button) return; rowToDelete = button.closest("tr"); const firstCell = rowToDelete.querySelector("td"); const itemName = firstCell ? firstCell.textContent.trim() : "cet élément"; itemNameSpan.textContent = itemName; deleteModal.show(); }); confirmBtn.addEventListener("click", () => { if (rowToDelete) rowToDelete.remove(); rowToDelete = null; deleteModal.hide(); }); }