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

View File

@@ -292,8 +292,9 @@ export function renderEventManagerMarkup(context) {
<p class="hint">${t("events.team_steps")}</p>
<form id="teamForm" class="form-grid cols-4 team-create-form">
<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="hint" id="teamDebugStatus"></p>
</form>
<p class="hint">${t("events.team_hint")}</p>
<div class="panel-row mt-16">
@@ -744,7 +745,7 @@ export function renderEventManagerMarkup(context) {
</div>
</div>
<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>
</div>
</form>