logik miss
This commit is contained in:
@@ -2870,6 +2870,7 @@ function renderEventManager(eventId) {
|
|||||||
setSelectedGridSessionId: (value) => { selectedGridSessionId = value; },
|
setSelectedGridSessionId: (value) => { selectedGridSessionId = value; },
|
||||||
getRaceFormatAdvanced: () => raceFormatAdvanced,
|
getRaceFormatAdvanced: () => raceFormatAdvanced,
|
||||||
setRaceFormatAdvanced: (value) => { raceFormatAdvanced = value; },
|
setRaceFormatAdvanced: (value) => { raceFormatAdvanced = value; },
|
||||||
|
getEventDrivers,
|
||||||
getTeamDriverPool,
|
getTeamDriverPool,
|
||||||
getEventTeams,
|
getEventTeams,
|
||||||
normalizeBrandingConfig,
|
normalizeBrandingConfig,
|
||||||
|
|||||||
@@ -15,6 +15,7 @@ export function renderEventManagerView(context) {
|
|||||||
setSelectedGridSessionId,
|
setSelectedGridSessionId,
|
||||||
getRaceFormatAdvanced,
|
getRaceFormatAdvanced,
|
||||||
setRaceFormatAdvanced,
|
setRaceFormatAdvanced,
|
||||||
|
getEventDrivers,
|
||||||
getTeamDriverPool,
|
getTeamDriverPool,
|
||||||
getEventTeams,
|
getEventTeams,
|
||||||
normalizeBrandingConfig,
|
normalizeBrandingConfig,
|
||||||
@@ -106,8 +107,8 @@ export function renderEventManagerView(context) {
|
|||||||
const driverOptions = state.drivers
|
const driverOptions = state.drivers
|
||||||
.map((d) => `<option value="${d.id}">${escapeHtml(d.name)}</option>`)
|
.map((d) => `<option value="${d.id}">${escapeHtml(d.name)}</option>`)
|
||||||
.join("");
|
.join("");
|
||||||
|
const raceDrivers = event.mode === "race" ? getEventDrivers(event) : [];
|
||||||
const teamDriverPool = event.mode === "race" ? getTeamDriverPool(event) : { drivers: [], fallback: false };
|
const teamDriverPool = event.mode === "race" ? getTeamDriverPool(event) : { drivers: [], fallback: false };
|
||||||
const raceDrivers = event.mode === "race" ? teamDriverPool.drivers : [];
|
|
||||||
const raceTeams = event.mode === "race" ? getEventTeams(event) : [];
|
const raceTeams = event.mode === "race" ? getEventTeams(event) : [];
|
||||||
if (selectedTeamEditId && !raceTeams.some((team) => team.id === selectedTeamEditId)) {
|
if (selectedTeamEditId && !raceTeams.some((team) => team.id === selectedTeamEditId)) {
|
||||||
setSelectedTeamEditId(null);
|
setSelectedTeamEditId(null);
|
||||||
@@ -216,6 +217,15 @@ export function renderEventManagerView(context) {
|
|||||||
rerenderEventManager(eventId);
|
rerenderEventManager(eventId);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
const updateEvent = (updater) => {
|
||||||
|
state.events = state.events.map((item) => {
|
||||||
|
if (item.id !== eventId) {
|
||||||
|
return item;
|
||||||
|
}
|
||||||
|
return normalizeEvent(updater(item));
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
document.getElementById("eventBrandingForm")?.addEventListener("submit", (e) => {
|
document.getElementById("eventBrandingForm")?.addEventListener("submit", (e) => {
|
||||||
e.preventDefault();
|
e.preventDefault();
|
||||||
const form = new FormData(e.currentTarget);
|
const form = new FormData(e.currentTarget);
|
||||||
@@ -535,7 +545,14 @@ export function renderEventManagerView(context) {
|
|||||||
}
|
}
|
||||||
setFormError("teamCreateError", "");
|
setFormError("teamCreateError", "");
|
||||||
const createdTeam = normalizeRaceTeam({ id: uid("team"), name, driverIds, carIds });
|
const createdTeam = normalizeRaceTeam({ id: uid("team"), name, driverIds, carIds });
|
||||||
event.raceConfig.teams = [...getEventTeams(event), createdTeam];
|
const nextTeams = [...getEventTeams(event), createdTeam];
|
||||||
|
updateEvent((item) => ({
|
||||||
|
...item,
|
||||||
|
raceConfig: {
|
||||||
|
...(item.raceConfig || {}),
|
||||||
|
teams: nextTeams,
|
||||||
|
},
|
||||||
|
}));
|
||||||
setSelectedTeamEditId(null);
|
setSelectedTeamEditId(null);
|
||||||
saveState();
|
saveState();
|
||||||
refreshManager();
|
refreshManager();
|
||||||
@@ -548,7 +565,14 @@ export function renderEventManagerView(context) {
|
|||||||
});
|
});
|
||||||
|
|
||||||
document.getElementById(`team-delete-${team.id}`)?.addEventListener("click", () => {
|
document.getElementById(`team-delete-${team.id}`)?.addEventListener("click", () => {
|
||||||
event.raceConfig.teams = getEventTeams(event).filter((item) => item.id !== team.id);
|
const nextTeams = getEventTeams(event).filter((item) => item.id !== team.id);
|
||||||
|
updateEvent((item) => ({
|
||||||
|
...item,
|
||||||
|
raceConfig: {
|
||||||
|
...(item.raceConfig || {}),
|
||||||
|
teams: nextTeams,
|
||||||
|
},
|
||||||
|
}));
|
||||||
if (getSelectedTeamEditId() === team.id) {
|
if (getSelectedTeamEditId() === team.id) {
|
||||||
setSelectedTeamEditId(null);
|
setSelectedTeamEditId(null);
|
||||||
}
|
}
|
||||||
@@ -605,9 +629,16 @@ export function renderEventManagerView(context) {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
setFormError("teamEditError", "");
|
setFormError("teamEditError", "");
|
||||||
event.raceConfig.teams = getEventTeams(event).map((team) =>
|
const nextTeams = getEventTeams(event).map((team) =>
|
||||||
team.id === editingTeam.id ? normalizeRaceTeam({ ...team, name, driverIds, carIds }) : team
|
team.id === editingTeam.id ? normalizeRaceTeam({ ...team, name, driverIds, carIds }) : team
|
||||||
);
|
);
|
||||||
|
updateEvent((item) => ({
|
||||||
|
...item,
|
||||||
|
raceConfig: {
|
||||||
|
...(item.raceConfig || {}),
|
||||||
|
teams: nextTeams,
|
||||||
|
},
|
||||||
|
}));
|
||||||
setSelectedTeamEditId(null);
|
setSelectedTeamEditId(null);
|
||||||
saveState();
|
saveState();
|
||||||
refreshManager();
|
refreshManager();
|
||||||
|
|||||||
Reference in New Issue
Block a user