restore
This commit is contained in:
@@ -489,47 +489,36 @@ export function renderEventManagerView(context) {
|
|||||||
persistRaceParticipants();
|
persistRaceParticipants();
|
||||||
});
|
});
|
||||||
|
|
||||||
const setTeamDebug = (message) => {
|
document.getElementById("teamForm")?.addEventListener("submit", (e) => {
|
||||||
const node = document.getElementById("teamDebugStatus");
|
e.preventDefault();
|
||||||
if (node) node.textContent = message || "";
|
const form = new FormData(e.currentTarget);
|
||||||
};
|
|
||||||
|
|
||||||
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),
|
|
||||||
});
|
|
||||||
|
|
||||||
const commitTeamCreate = () => {
|
|
||||||
const formNode = document.getElementById("teamForm");
|
|
||||||
if (!(formNode instanceof HTMLFormElement)) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
const form = new FormData(formNode);
|
|
||||||
const name = String(form.get("teamName") || "").trim();
|
const name = String(form.get("teamName") || "").trim();
|
||||||
const { driverIds, carIds } = getTeamCreateSelections();
|
const driverIds = form.getAll("teamDriverIds").map(String).filter(Boolean);
|
||||||
if (!name) {
|
const carIds = form.getAll("teamCarIds").map(String).filter(Boolean);
|
||||||
setFormError("teamCreateError", t("validation.required_name"));
|
if (!name || (!driverIds.length && !carIds.length)) {
|
||||||
setTeamDebug("create: missing name");
|
|
||||||
return;
|
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 });
|
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);
|
||||||
saveState();
|
saveState();
|
||||||
rerenderEventManager(eventId);
|
rerenderEventManager(eventId);
|
||||||
};
|
});
|
||||||
|
|
||||||
document.getElementById("teamForm")?.addEventListener("submit", (e) => {
|
raceTeams.forEach((team) => {
|
||||||
e.preventDefault();
|
document.getElementById(`team-edit-${team.id}`)?.addEventListener("click", () => {
|
||||||
setTeamDebug("create: submit fired");
|
setSelectedTeamEditId(team.id);
|
||||||
commitTeamCreate();
|
rerenderEventManager(eventId);
|
||||||
|
});
|
||||||
|
|
||||||
|
document.getElementById(`team-delete-${team.id}`)?.addEventListener("click", () => {
|
||||||
|
event.raceConfig.teams = getEventTeams(event).filter((item) => item.id !== team.id);
|
||||||
|
if (getSelectedTeamEditId() === team.id) {
|
||||||
|
setSelectedTeamEditId(null);
|
||||||
|
}
|
||||||
|
saveState();
|
||||||
|
rerenderEventManager(eventId);
|
||||||
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
document.getElementById("teamEditCancel")?.addEventListener("click", () => {
|
document.getElementById("teamEditCancel")?.addEventListener("click", () => {
|
||||||
@@ -554,15 +543,12 @@ export function renderEventManagerView(context) {
|
|||||||
rerenderEventManager(eventId);
|
rerenderEventManager(eventId);
|
||||||
});
|
});
|
||||||
|
|
||||||
const commitTeamEdit = () => {
|
document.getElementById("teamEditForm")?.addEventListener("submit", (submitEvent) => {
|
||||||
|
submitEvent.preventDefault();
|
||||||
if (!editingTeam) {
|
if (!editingTeam) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
const formNode = document.getElementById("teamEditForm");
|
const form = new FormData(submitEvent.currentTarget);
|
||||||
if (!(formNode instanceof HTMLFormElement)) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
const form = new FormData(formNode);
|
|
||||||
const name = String(form.get("teamName") || "").trim();
|
const name = String(form.get("teamName") || "").trim();
|
||||||
const driverIds = form.getAll("teamDriverIds").map(String).filter(Boolean);
|
const driverIds = form.getAll("teamDriverIds").map(String).filter(Boolean);
|
||||||
const carIds = form.getAll("teamCarIds").map(String).filter(Boolean);
|
const carIds = form.getAll("teamCarIds").map(String).filter(Boolean);
|
||||||
@@ -581,41 +567,8 @@ export function renderEventManagerView(context) {
|
|||||||
setSelectedTeamEditId(null);
|
setSelectedTeamEditId(null);
|
||||||
saveState();
|
saveState();
|
||||||
rerenderEventManager(eventId);
|
rerenderEventManager(eventId);
|
||||||
};
|
|
||||||
|
|
||||||
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)) {
|
|
||||||
setSelectedTeamEditId(null);
|
|
||||||
}
|
|
||||||
saveState();
|
|
||||||
rerenderEventManager(eventId);
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
document.getElementById("raceFormatBasicToggle")?.addEventListener("click", () => {
|
document.getElementById("raceFormatBasicToggle")?.addEventListener("click", () => {
|
||||||
setRaceFormatAdvanced(false);
|
setRaceFormatAdvanced(false);
|
||||||
rerenderEventManager(eventId);
|
rerenderEventManager(eventId);
|
||||||
|
|||||||
@@ -292,9 +292,8 @@ 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="button" onclick="if(window.liveRcTeamAdd){window.liveRcTeamAdd();}">${t("events.add_team")}</button>
|
<button class="btn btn-primary" id="teamAddSave" type="button">${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">
|
||||||
@@ -355,8 +354,8 @@ export function renderEventManagerMarkup(context) {
|
|||||||
)}</div>
|
)}</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="actions-inline">
|
<div class="actions-inline">
|
||||||
<button id="team-edit-${team.id}" class="btn" type="button" onclick="if(window.liveRcTeamEdit){window.liveRcTeamEdit('${team.id}');}">${t("events.edit_team")}</button>
|
<button id="team-edit-${team.id}" class="btn" type="button">${t("events.edit_team")}</button>
|
||||||
<button id="team-delete-${team.id}" class="btn btn-danger" type="button" onclick="if(window.liveRcTeamRemove){window.liveRcTeamRemove('${team.id}');}">${t("common.delete")}</button>
|
<button id="team-delete-${team.id}" class="btn btn-danger" type="button">${t("common.delete")}</button>
|
||||||
</div>
|
</div>
|
||||||
</article>
|
</article>
|
||||||
`
|
`
|
||||||
@@ -745,7 +744,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="button" onclick="if(window.liveRcTeamSaveEdit){window.liveRcTeamSaveEdit();}">${t("common.save")}</button>
|
<button class="btn btn-primary" id="teamEditSave" type="button">${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>
|
||||||
|
|||||||
Reference in New Issue
Block a user