diff --git a/claims/templates/claims/dashboard.html b/claims/templates/claims/dashboard.html index 28f471a..9363d62 100644 --- a/claims/templates/claims/dashboard.html +++ b/claims/templates/claims/dashboard.html @@ -435,7 +435,6 @@ document.addEventListener("DOMContentLoaded", () => { const filterButtons = Array.from(document.querySelectorAll("[data-filter-button]")); const cards = Array.from(document.querySelectorAll("[data-claim-card]")); const emptyState = document.querySelector("[data-claim-empty]"); - const editButtons = Array.from(document.querySelectorAll("[data-open-edit]")); const panels = Array.from(document.querySelectorAll("[data-edit-panel]")); const openPanel = (id) => { @@ -452,19 +451,26 @@ document.addEventListener("DOMContentLoaded", () => { panel.setAttribute("aria-hidden", "true"); }; - editButtons.forEach((button) => { - button.addEventListener("click", () => openPanel(button.dataset.openEdit)); - }); - - panels.forEach((panel) => { - panel.addEventListener("click", (event) => { + document.addEventListener("click", (event) => { + const openTrigger = event.target.closest("[data-open-edit]"); + if (openTrigger) { + event.preventDefault(); + openPanel(openTrigger.dataset.openEdit); + return; + } + const closeTrigger = event.target.closest("[data-close-edit]"); + if (closeTrigger) { + const panel = closeTrigger.closest("[data-edit-panel]"); + if (panel) { + closePanel(panel); + } + return; + } + panels.forEach((panel) => { if (event.target === panel) { closePanel(panel); } }); - panel.querySelectorAll("[data-close-edit]").forEach((btn) => { - btn.addEventListener("click", () => closePanel(panel)); - }); }); document.addEventListener("keydown", (event) => {