fix event och tappa decoder connect

This commit is contained in:
larssand
2026-03-27 18:12:44 +01:00
parent aeaca807f1
commit f3b5216a2b
3 changed files with 70 additions and 19 deletions

View File

@@ -489,20 +489,42 @@ export function renderEventManagerView(context) {
persistRaceParticipants();
});
document.getElementById("teamForm")?.addEventListener("submit", (e) => {
e.preventDefault();
const form = new FormData(e.currentTarget);
const name = String(form.get("teamName") || "").trim();
const driverIds = form.getAll("teamDriverIds").map(String).filter(Boolean);
const carIds = form.getAll("teamCarIds").map(String).filter(Boolean);
if (!name || (!driverIds.length && !carIds.length)) {
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 { driverIds, carIds } = getTeamCreateSelections();
if (!name) {
setFormError("teamCreateError", t("validation.required_name"));
return;
}
if (!driverIds.length && !carIds.length) {
setFormError("teamCreateError", t("validation.invalid_selection"));
return;
}
setFormError("teamCreateError", "");
const createdTeam = normalizeRaceTeam({ id: uid("team"), name, driverIds, carIds });
event.raceConfig.teams = [...getEventTeams(event), createdTeam];
setSelectedTeamEditId(createdTeam.id);
saveState();
rerenderEventManager(eventId);
};
document.getElementById("teamForm")?.addEventListener("submit", (e) => {
e.preventDefault();
commitTeamCreate();
});
document.getElementById("teamAddSave")?.addEventListener("click", () => {
commitTeamCreate();
});
raceTeams.forEach((team) => {
@@ -543,12 +565,15 @@ export function renderEventManagerView(context) {
rerenderEventManager(eventId);
});
document.getElementById("teamEditForm")?.addEventListener("submit", (submitEvent) => {
submitEvent.preventDefault();
const commitTeamEdit = () => {
if (!editingTeam) {
return;
}
const form = new FormData(submitEvent.currentTarget);
const formNode = document.getElementById("teamEditForm");
if (!(formNode instanceof HTMLFormElement)) {
return;
}
const form = new FormData(formNode);
const name = String(form.get("teamName") || "").trim();
const driverIds = form.getAll("teamDriverIds").map(String).filter(Boolean);
const carIds = form.getAll("teamCarIds").map(String).filter(Boolean);
@@ -567,6 +592,15 @@ export function renderEventManagerView(context) {
setSelectedTeamEditId(null);
saveState();
rerenderEventManager(eventId);
};
document.getElementById("teamEditForm")?.addEventListener("submit", (submitEvent) => {
submitEvent.preventDefault();
commitTeamEdit();
});
document.getElementById("teamEditSave")?.addEventListener("click", () => {
commitTeamEdit();
});
document.getElementById("raceFormatBasicToggle")?.addEventListener("click", () => {