This commit is contained in:
larssand
2026-03-27 18:01:16 +01:00
parent 07faeff8fd
commit 0df1aba99a
2 changed files with 24 additions and 2 deletions

View File

@@ -489,6 +489,11 @@ export function renderEventManagerView(context) {
persistRaceParticipants(); persistRaceParticipants();
}); });
const setTeamDebug = (message) => {
const node = document.getElementById("teamDebugStatus");
if (node) node.textContent = message || "";
};
const getTeamCreateSelections = () => ({ const getTeamCreateSelections = () => ({
driverIds: Array.from(document.querySelectorAll('[form="teamForm"][name="teamDriverIds"]:checked')).map((node) => String(node.value)).filter(Boolean), driverIds: Array.from(document.querySelectorAll('[form="teamForm"][name="teamDriverIds"]:checked')).map((node) => String(node.value)).filter(Boolean),
carIds: Array.from(document.querySelectorAll('[form="teamForm"][name="teamCarIds"]:checked')).map((node) => String(node.value)).filter(Boolean), carIds: Array.from(document.querySelectorAll('[form="teamForm"][name="teamCarIds"]:checked')).map((node) => String(node.value)).filter(Boolean),
@@ -504,13 +509,16 @@ export function renderEventManagerView(context) {
const { driverIds, carIds } = getTeamCreateSelections(); const { driverIds, carIds } = getTeamCreateSelections();
if (!name) { if (!name) {
setFormError("teamCreateError", t("validation.required_name")); setFormError("teamCreateError", t("validation.required_name"));
setTeamDebug("create: missing name");
return; return;
} }
if (!driverIds.length && !carIds.length) { if (!driverIds.length && !carIds.length) {
setFormError("teamCreateError", t("validation.invalid_selection")); setFormError("teamCreateError", t("validation.invalid_selection"));
setTeamDebug("create: no drivers/cars selected");
return; return;
} }
setFormError("teamCreateError", ""); setFormError("teamCreateError", "");
setTeamDebug(`create: name=${name} drivers=${driverIds.length} cars=${carIds.length}`);
const createdTeam = normalizeRaceTeam({ id: uid("team"), name, driverIds, carIds }); const createdTeam = normalizeRaceTeam({ id: uid("team"), name, driverIds, carIds });
event.raceConfig.teams = [...getEventTeams(event), createdTeam]; event.raceConfig.teams = [...getEventTeams(event), createdTeam];
setSelectedTeamEditId(createdTeam.id); setSelectedTeamEditId(createdTeam.id);
@@ -520,6 +528,7 @@ export function renderEventManagerView(context) {
document.getElementById("teamForm")?.addEventListener("submit", (e) => { document.getElementById("teamForm")?.addEventListener("submit", (e) => {
e.preventDefault(); e.preventDefault();
setTeamDebug("create: submit fired");
commitTeamCreate(); commitTeamCreate();
}); });
@@ -576,15 +585,27 @@ export function renderEventManagerView(context) {
document.getElementById("teamEditForm")?.addEventListener("submit", (submitEvent) => { document.getElementById("teamEditForm")?.addEventListener("submit", (submitEvent) => {
submitEvent.preventDefault(); submitEvent.preventDefault();
setTeamDebug("edit: submit fired");
commitTeamEdit(); commitTeamEdit();
}); });
window.liveRcTeamSaveEdit = () => {
setTeamDebug("edit: save fired");
commitTeamEdit();
};
window.liveRcTeamAdd = () => {
setTeamDebug("create: button fired");
commitTeamCreate();
};
window.liveRcTeamEdit = (teamId) => { window.liveRcTeamEdit = (teamId) => {
setTeamDebug(`edit: open ${teamId}`);
if (!teamId) return; if (!teamId) return;
setSelectedTeamEditId(String(teamId)); setSelectedTeamEditId(String(teamId));
rerenderEventManager(eventId); rerenderEventManager(eventId);
}; };
window.liveRcTeamRemove = (teamId) => { window.liveRcTeamRemove = (teamId) => {
setTeamDebug(`delete: ${teamId}`);
if (!teamId) return; if (!teamId) return;
event.raceConfig.teams = getEventTeams(event).filter((item) => item.id !== String(teamId)); event.raceConfig.teams = getEventTeams(event).filter((item) => item.id !== String(teamId));
if (getSelectedTeamEditId() === String(teamId)) { if (getSelectedTeamEditId() === String(teamId)) {

View File

@@ -292,8 +292,9 @@ export function renderEventManagerMarkup(context) {
<p class="hint">${t("events.team_steps")}</p> <p class="hint">${t("events.team_steps")}</p>
<form id="teamForm" class="form-grid cols-4 team-create-form"> <form id="teamForm" class="form-grid cols-4 team-create-form">
<input name="teamName" required placeholder="${t("events.team_name")}" /> <input name="teamName" required placeholder="${t("events.team_name")}" />
<button class="btn btn-primary" id="teamAddSave" type="submit">${t("events.add_team")}</button> <button class="btn btn-primary" id="teamAddSave" type="button" onclick="if(window.liveRcTeamAdd){window.liveRcTeamAdd();}">${t("events.add_team")}</button>
<p class="form-error" id="teamCreateError" hidden></p> <p class="form-error" id="teamCreateError" hidden></p>
<p class="hint" id="teamDebugStatus"></p>
</form> </form>
<p class="hint">${t("events.team_hint")}</p> <p class="hint">${t("events.team_hint")}</p>
<div class="panel-row mt-16"> <div class="panel-row mt-16">
@@ -744,7 +745,7 @@ export function renderEventManagerMarkup(context) {
</div> </div>
</div> </div>
<div class="actions-inline"> <div class="actions-inline">
<button class="btn btn-primary" id="teamEditSave" type="submit">${t("common.save")}</button> <button class="btn btn-primary" id="teamEditSave" type="button" onclick="if(window.liveRcTeamSaveEdit){window.liveRcTeamSaveEdit();}">${t("common.save")}</button>
<button class="btn" id="teamEditCancelFooter" type="button">${t("common.cancel")}</button> <button class="btn" id="teamEditCancelFooter" type="button">${t("common.cancel")}</button>
</div> </div>
</form> </form>