diff --git a/claims/templates/claims/dashboard.html b/claims/templates/claims/dashboard.html index 3b23823..0605844 100644 --- a/claims/templates/claims/dashboard.html +++ b/claims/templates/claims/dashboard.html @@ -137,7 +137,7 @@ {% endif %} {% if can_change %} @@ -437,7 +437,15 @@ document.addEventListener("DOMContentLoaded", () => { const emptyState = document.querySelector("[data-claim-empty]"); const panels = Array.from(document.querySelectorAll("[data-edit-panel]")); - window.claimsOpenEdit = (id) => { + const normalizeTarget = (target) => { + let node = target; + while (node && node.nodeType !== 1) { + node = node.parentElement; + } + return node; + }; + + const openPanel = (id) => { const panel = document.querySelector(`[data-edit-panel="${id}"]`); if (!panel) return; panel.classList.remove("hidden"); @@ -452,7 +460,18 @@ document.addEventListener("DOMContentLoaded", () => { }; document.addEventListener("click", (event) => { - const closeTrigger = event.target.closest("[data-close-edit]"); + const normalizedTarget = normalizeTarget(event.target); + if (!normalizedTarget) { + return; + } + const openTrigger = normalizedTarget.closest("[data-open-edit]"); + if (openTrigger) { + event.preventDefault(); + openPanel(openTrigger.dataset.openEdit); + return; + } + + const closeTrigger = normalizedTarget.closest("[data-close-edit]"); if (closeTrigger) { const panel = closeTrigger.closest("[data-edit-panel]"); if (panel) {