From 0edf328b0b562ce0a5a115b4c4e0da8b684833e7 Mon Sep 17 00:00:00 2001 From: larssand Date: Thu, 26 Mar 2026 20:04:12 +0100 Subject: [PATCH] Fix and harden race setup manager field visibility --- src/app.js | 29 +++++++++++++++++++++++------ src/event_manager_view.js | 4 ++-- 2 files changed, 25 insertions(+), 8 deletions(-) diff --git a/src/app.js b/src/app.js index aa0dbbe..f83d0d0 100644 --- a/src/app.js +++ b/src/app.js @@ -3058,12 +3058,15 @@ function renderEventWorkspace(mode) { renderView(); }); - document.getElementById("eventEditForm")?.addEventListener("submit", (event) => { - event.preventDefault(); + const commitEventEdit = () => { if (!editingEvent) { return; } - const form = new FormData(event.currentTarget); + const formNode = document.getElementById("eventEditForm"); + if (!(formNode instanceof HTMLFormElement)) { + return; + } + const form = new FormData(formNode); const cleanedName = String(form.get("name") || "").trim(); const cleanedDate = String(form.get("date") || "").trim(); const cleanedClassId = String(form.get("classId") || "").trim(); @@ -3084,13 +3087,27 @@ function renderEventWorkspace(mode) { return; } setFormError("eventEditError", ""); - editingEvent.name = cleanedName; - editingEvent.date = cleanedDate; - editingEvent.classId = cleanedClassId || editingEvent.classId; + state.events = state.events.map((item) => + item.id === editingEvent.id + ? normalizeEvent({ + ...item, + name: cleanedName, + date: cleanedDate, + classId: cleanedClassId || item.classId, + }) + : item + ); selectedEventEditId = null; saveState(); renderView(); + }; + + document.getElementById("eventEditForm")?.addEventListener("submit", (event) => { + event.preventDefault(); + commitEventEdit(); }); + + document.getElementById("eventEditSave")?.addEventListener("click", commitEventEdit); } function renderEventManager(eventId) { diff --git a/src/event_manager_view.js b/src/event_manager_view.js index b87cf3e..933bcdc 100644 --- a/src/event_manager_view.js +++ b/src/event_manager_view.js @@ -26,8 +26,8 @@ export function renderEventManagerMarkup(context) { racePresets, selectedPreset, isEndurancePreset, - showBasicQualifyingFields, - showBasicFinalFields, + showBasicQualifyingFields = true, + showBasicFinalFields = true, renderRaceFormatContextCardView, renderRaceFormatFieldView, raceSummaryWarnings,