diff --git a/src/event_manager_controller.js b/src/event_manager_controller.js index 6a22c5d..59a8a96 100644 --- a/src/event_manager_controller.js +++ b/src/event_manager_controller.js @@ -203,7 +203,7 @@ export function renderEventManagerView(context) { }); }; - eventManageArea.querySelectorAll('[id^="team-edit-"], [id^="team-delete-"]').forEach((node) => { + eventManageArea.querySelectorAll(".summary-warning-link, .manage-step-card-link").forEach((node) => { bindManageJump(node); }); @@ -505,25 +505,33 @@ export function renderEventManagerView(context) { rerenderEventManager(eventId); }); - eventManageArea.querySelectorAll("[id^=\"team-edit-\"], [id^=\"team-delete-\"]").forEach((node) => { - node.addEventListener("click", () => { - const nodeId = String(node.id || ""); - if (nodeId.startsWith("team-edit-")) { - const teamId = nodeId.slice("team-edit-".length); - setSelectedTeamEditId(teamId); - rerenderEventManager(eventId); - return; + eventManageArea.addEventListener("click", (clickEvent) => { + const target = clickEvent.target instanceof Element + ? clickEvent.target.closest('[id^="team-edit-"], [id^="team-delete-"]') + : null; + if (!(target instanceof HTMLElement)) { + return; + } + const nodeId = String(target.id || ""); + if (nodeId.startsWith("team-edit-")) { + clickEvent.preventDefault(); + clickEvent.stopPropagation(); + const teamId = nodeId.slice("team-edit-".length); + setSelectedTeamEditId(teamId); + rerenderEventManager(eventId); + return; + } + if (nodeId.startsWith("team-delete-")) { + clickEvent.preventDefault(); + clickEvent.stopPropagation(); + const teamId = nodeId.slice("team-delete-".length); + event.raceConfig.teams = getEventTeams(event).filter((item) => item.id !== teamId); + if (getSelectedTeamEditId() === teamId) { + setSelectedTeamEditId(null); } - if (nodeId.startsWith("team-delete-")) { - const teamId = nodeId.slice("team-delete-".length); - event.raceConfig.teams = getEventTeams(event).filter((item) => item.id !== teamId); - if (getSelectedTeamEditId() === teamId) { - setSelectedTeamEditId(null); - } - saveState(); - rerenderEventManager(eventId); - } - }); + saveState(); + rerenderEventManager(eventId); + } }); document.getElementById("teamEditCancel")?.addEventListener("click", () => {