Skip to content

Commit

Permalink
fix Clara comments
Browse files Browse the repository at this point in the history
  • Loading branch information
SharglutDev committed Feb 11, 2025
1 parent 72f2c2b commit eb84e9f
Show file tree
Hide file tree
Showing 17 changed files with 92 additions and 83 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -286,12 +286,12 @@ const handleUpdateTrainSchedule = async ({
const { nodes, labels } = netzgrafikDto;
const trainrunSectionsByTrainrunId = getTrainrunSectionsByTrainrunId(netzgrafikDto, trainrun.id);
// TODO Paced train : Adapt to handle paced trains in issue https://github.com/OpenRailAssociation/osrd/issues/10612
const formattedTrainrunIdToUpdate = formatTrainScheduleIdToEditoastTrainId(
const formattedTrainScheduleIdToUpdate = formatTrainScheduleIdToEditoastTrainId(
state.trainScheduleIdByNgeId.get(trainrun.id) as TrainScheduleId
);
const trainSchedule = await dispatch(
osrdEditoastApi.endpoints.getTrainScheduleById.initiate({
id: formattedTrainrunIdToUpdate!,
id: formattedTrainScheduleIdToUpdate,
})
).unwrap();
const startDate = new Date(trainSchedule.start_time);
Expand All @@ -307,7 +307,7 @@ const handleUpdateTrainSchedule = async ({
});
const newTrainSchedule = await dispatch(
osrdEditoastApi.endpoints.putTrainScheduleById.initiate({
id: formattedTrainrunIdToUpdate!,
id: formattedTrainScheduleIdToUpdate,
trainScheduleForm: {
...trainSchedule,
...trainSchedulePayload,
Expand Down Expand Up @@ -385,12 +385,12 @@ const handleTrainrunOperation = async ({
}
case 'delete': {
// TODO Paced train : Adapt to handle paced trains in issue https://github.com/OpenRailAssociation/osrd/issues/10612
const formattedTrainrunIdToDelete = formatTrainScheduleIdToEditoastTrainId(
const formattedTrainScheduleIdToDelete = formatTrainScheduleIdToEditoastTrainId(
state.trainScheduleIdByNgeId.get(trainrunId) as TrainScheduleId
);
await dispatch(
osrdEditoastApi.endpoints.deleteTrainSchedule.initiate({
body: { ids: [formattedTrainrunIdToDelete!] },
body: { ids: [formattedTrainScheduleIdToDelete] },
})
).unwrap();
state.trainScheduleIdByNgeId.delete(trainrunId);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,17 +23,19 @@ import { formatEditoastTrainIdToTrainScheduleId, isTrainSchedule } from 'utils/t
*/
const useAutoUpdateProjection = (
infra: InfraWithState,
trainIds: number[],
editoastTrainIds: number[],
trainScheduleSummaries: TrainScheduleWithDetails[]
) => {
const dispatch = useAppDispatch();
const currentTrainIdForProjection = useSelector(getTrainIdUsedForProjection);
const selectedTrainId = useSelector(getSelectedTrainId);

const formattedTrainIds = trainIds.map((id) => formatEditoastTrainIdToTrainScheduleId(id));
const formattedTrainIds = editoastTrainIds.map((editoastTrainId) =>
formatEditoastTrainIdToTrainScheduleId(editoastTrainId)
);

useEffect(() => {
if (infra.state !== 'CACHED' || trainIds.length === 0) {
if (infra.state !== 'CACHED' || editoastTrainIds.length === 0) {
if (selectedTrainId) dispatch(updateSelectedTrainId(undefined));
if (currentTrainIdForProjection) dispatch(updateTrainIdUsedForProjection(undefined));
return;
Expand Down Expand Up @@ -66,7 +68,7 @@ const useAutoUpdateProjection = (
dispatch(updateTrainIdUsedForProjection(firstValidTrain.id));
dispatch(updateSelectedTrainId(firstValidTrain.id));
}
}, [trainIds, infra, trainScheduleSummaries]);
}, [editoastTrainIds, infra, trainScheduleSummaries]);
};

export default useAutoUpdateProjection;
Original file line number Diff line number Diff line change
Expand Up @@ -68,8 +68,8 @@ const useLazyLoadTrains = ({
const packageToFetch = getBatchPackage(i, _trainToFetchIds, BATCH_SIZE);

// Format train ids back to editoast format
const formattedPackageToFetch = packageToFetch.map(
(trainId) => formatTrainScheduleIdToEditoastTrainId(trainId as TrainScheduleId)!
const formattedPackageToFetch = packageToFetch.map((trainId) =>
formatTrainScheduleIdToEditoastTrainId(trainId as TrainScheduleId)
);

const rawSummaries = await postTrainScheduleSimulationSummary({
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,18 +12,18 @@ const usePathProjection = (infra: InfraWithState) => {
const trainIdUsedForProjection = useSelector(getTrainIdUsedForProjection);

// TODO Paced train : Adapt this to handle paced trains in issue https://github.com/OpenRailAssociation/osrd/issues/10615
const editoastTrainIdUsedForProjection = formatTrainScheduleIdToEditoastTrainId(
trainIdUsedForProjection as TrainScheduleId
);
const editoastTrainId = trainIdUsedForProjection
? formatTrainScheduleIdToEditoastTrainId(trainIdUsedForProjection as TrainScheduleId)
: undefined;

const { data: projectionPathResult } =
osrdEditoastApi.endpoints.getTrainScheduleByIdPath.useQuery(
{
id: editoastTrainIdUsedForProjection!,
id: editoastTrainId!,
infraId: infra.id,
},
{
skip: !editoastTrainIdUsedForProjection,
skip: !trainIdUsedForProjection,
}
);

Expand Down
13 changes: 11 additions & 2 deletions front/src/applications/operationalStudies/hooks/useScenarioData.ts
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ import {
osrdEditoastApi,
type InfraWithState,
type ScenarioResponse,
type SimulationSummaryResult,
type TimetableDetailedResult,
} from 'common/api/osrdEditoastApi';
import { useOsrdConfSelectors } from 'common/osrdContext';
Expand Down Expand Up @@ -200,7 +201,7 @@ const useScenarioData = (
const updateTrainDepartureTime = useCallback(
async (trainId: TrainId, newDeparture: Date) => {
// TODO Paced train : Add another check if the train is a paced train for the paced train drag issue
const editoastTrainId = formatTrainScheduleIdToEditoastTrainId(trainId as TrainScheduleId)!;
const editoastTrainId = formatTrainScheduleIdToEditoastTrainId(trainId as TrainScheduleId);

const trainSchedule = trainSchedules?.find((train) => train.id === trainId);

Expand Down Expand Up @@ -247,9 +248,17 @@ const useScenarioData = (
electrical_profile_set_id: electricalProfileSetId,
},
}).unwrap();

// TODO Paced train : Adapt this for the add paced train issue : https://github.com/OpenRailAssociation/osrd/issues/10615
const formattedRawSummaries: { [key: TrainScheduleId]: SimulationSummaryResult } = {};
for (const [_editoastTrainId, trainSummary] of Object.entries(rawSummaries)) {
const formattedTrainId = formatEditoastTrainIdToTrainScheduleId(Number(_editoastTrainId));
formattedRawSummaries[formattedTrainId] = trainSummary;
}

const summaries = formatTrainScheduleSummaries(
[trainId],
rawSummaries,
formattedRawSummaries,
mapBy([updatedTrainScheduleResult], 'id'),
rollingStocks!
);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -257,7 +257,7 @@ const useSetupItineraryForTrainUpdate = (trainIdToEdit: TimetableItemId) => {
}
// TODO Paced train : Adapt this to handle paced trains in issue https://github.com/OpenRailAssociation/osrd/issues/10615
const trainSchedule = await getTrainScheduleById({
id: formatTrainScheduleIdToEditoastTrainId(trainIdToEdit as TrainScheduleId)!,
id: formatTrainScheduleIdToEditoastTrainId(trainIdToEdit as TrainScheduleId),
}).unwrap();

let rollingStock: RollingStockWithLiveries | null = null;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,9 +19,9 @@ const useSimulationResults = (): SimulationResultsData => {
const selectedTrainId = useSelector(getSelectedTrainId);

// TODO Paced train : Adapt this to handle paced trains in issue https://github.com/OpenRailAssociation/osrd/issues/10615
const editoastSelectedTrainId = formatTrainScheduleIdToEditoastTrainId(
selectedTrainId as TrainScheduleId
);
const editoastSelectedTrainId = selectedTrainId
? formatTrainScheduleIdToEditoastTrainId(selectedTrainId as TrainScheduleId)
: undefined;

const { data: selectedTrainSchedule } = osrdEditoastApi.endpoints.getTrainScheduleById.useQuery(
{
Expand Down
4 changes: 2 additions & 2 deletions front/src/applications/stdcm/hooks/useStdcmResults.ts
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ const useStdcmResults = (

const { data: otherSelectedTrainSchedule } =
osrdEditoastApi.endpoints.getTrainScheduleById.useQuery(
{ id: editoastSelectedTrainId! },
{ id: editoastSelectedTrainId },
{ skip: !selectedTrainId || editoastSelectedTrainId === STDCM_TRAIN_ID }
);

Expand All @@ -48,7 +48,7 @@ const useStdcmResults = (
editoastSelectedTrainId !== STDCM_TRAIN_ID && otherSelectedTrainSchedule
? otherSelectedTrainSchedule
: stdcmTrainResult,
[selectedTrainId, stdcmTrainResult, otherSelectedTrainSchedule]
[editoastSelectedTrainId, stdcmTrainResult, otherSelectedTrainSchedule]
);

const { simulation, departure_time: departureTime } =
Expand Down
2 changes: 1 addition & 1 deletion front/src/modules/conflict/utils.ts
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ export default function addTrainNamesToConflicts(
trainSchedulesDetails.forEach(({ id, trainName }) => {
// TODO Paced train : Adapt this to handle paced trains in issue https://github.com/OpenRailAssociation/osrd/issues/10615
const editoastTrainId = formatTrainScheduleIdToEditoastTrainId(id as TrainScheduleId);
trainNameMap[editoastTrainId!] = trainName;
trainNameMap[editoastTrainId] = trainName;
});

return conflicts.map((conflict) => ({
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,10 @@ import { useMemo, useRef, useState, useCallback, useEffect } from 'react';

import { Slider } from '@osrd-project/ui-core';
import { KebabHorizontal, Iterations } from '@osrd-project/ui-icons';
import Manchette, { type WaypointMenuData } from '@osrd-project/ui-manchette';
import Manchette, {
type ProjectPathTrainResult,
type WaypointMenuData,
} from '@osrd-project/ui-manchette';
import {
useManchettesWithSpaceTimeChart,
timeScaleToZoomValue,
Expand Down Expand Up @@ -208,24 +211,22 @@ const ManchetteWithSpaceTimeChartWrapper = ({
}));
}, [waypointsPanelData, operationalPoints]);

const { formattedCutProjectedTrains, formattedTmpSelectedTrain } = useMemo(() => {
const apiCutProjectedTrains = cutProjectedTrains.map((train) => ({
...train,
id: formatTrainScheduleIdToEditoastTrainId(train.id as TrainScheduleId)!,
}));

let apiTmpSelectedTrain: number | undefined;
if (tmpSelectedTrain) {
apiTmpSelectedTrain = formatTrainScheduleIdToEditoastTrainId(
tmpSelectedTrain as TrainScheduleId
);
}
const formattedCutProjectedTrains: ProjectPathTrainResult[] = useMemo(
() =>
cutProjectedTrains.map((train) => ({
...train,
id: formatTrainScheduleIdToEditoastTrainId(train.id as TrainScheduleId),
})),
[cutProjectedTrains]
);

return {
formattedCutProjectedTrains: apiCutProjectedTrains,
formattedTmpSelectedTrain: apiTmpSelectedTrain,
};
}, [cutProjectedTrains, tmpSelectedTrain]);
const formattedTmpSelectedTrain = useMemo(
() =>
tmpSelectedTrain
? formatTrainScheduleIdToEditoastTrainId(tmpSelectedTrain as TrainScheduleId)
: undefined,
[tmpSelectedTrain]
);

const { manchetteProps, spaceTimeChartProps, handleScroll, handleXZoom, xZoom } =
useManchettesWithSpaceTimeChart(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,10 @@ const useGetProjectedTrainOperationalPoints = (
useState<OperationalPoint[]>(operationalPoints);

const editoastTrainIdUsedForProjection = useMemo(
() => formatTrainScheduleIdToEditoastTrainId(trainIdUsedForProjection),
() =>
trainIdUsedForProjection
? formatTrainScheduleIdToEditoastTrainId(trainIdUsedForProjection)
: undefined,
[trainIdUsedForProjection]
);

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -79,16 +79,16 @@ const useLazyProjectTrains = ({
packageToProject.forEach((trainId) => requestedProjectedTrainIds.current.add(trainId));

// Format train ids back to editoast format
const formattedPackageToProject = packageToProject.map(
(trainId) => formatTrainScheduleIdToEditoastTrainId(trainId as TrainScheduleId)!
const editoastTrainIds = packageToProject.map((trainId) =>
formatTrainScheduleIdToEditoastTrainId(trainId as TrainScheduleId)
);

// TODO Paced train : adapt this to handle paced trains
const { blocks, routes, track_section_ranges } = _path;
const rawProjectedTrains = await postTrainScheduleProjectPath({
projectPathForm: {
infra_id: infraId!,
ids: formattedPackageToProject,
ids: editoastTrainIds,
path: { blocks, routes, track_section_ranges },
electrical_profile_set_id: electricalProfileSetId,
},
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,7 @@ const useUpdateTrainSchedule = (
// TODO Paced train : Adapt this to handle paced trains in issue https://github.com/OpenRailAssociation/osrd/issues/10615
try {
const trainScheduleResult = await putTrainScheduleById({
id: formatTrainScheduleIdToEditoastTrainId(trainIdToEdit as TrainScheduleId)!,
id: formatTrainScheduleIdToEditoastTrainId(trainIdToEdit as TrainScheduleId),
trainScheduleForm: trainSchedule,
}).unwrap();
const formattedTrainScheduleResult: TrainScheduleResultWithTrainId = {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -112,8 +112,8 @@ const TimetableToolbar = ({
}

// TODO Paced train : Adapt this to handle delete paced trains in issue https://github.com/OpenRailAssociation/osrd/issues/10615
const editoastSelectedTrainIds = selectedTrainIds.map(
(id) => formatTrainScheduleIdToEditoastTrainId(id as TrainScheduleId)!
const editoastSelectedTrainIds = selectedTrainIds.map((id) =>
formatTrainScheduleIdToEditoastTrainId(id as TrainScheduleId)
);

await deleteTrainSchedules({ body: { ids: editoastSelectedTrainIds } })
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -90,7 +90,7 @@ const TimetableTrainCard = ({

// TODO Paced train : Adapt this to handle paced trains in issue https://github.com/OpenRailAssociation/osrd/issues/10615
deleteTrainSchedule({
body: { ids: [formatTrainScheduleIdToEditoastTrainId(train.id as TrainScheduleId)!] },
body: { ids: [formatTrainScheduleIdToEditoastTrainId(train.id as TrainScheduleId)] },
})
.unwrap()
.then(() => {
Expand Down Expand Up @@ -120,7 +120,7 @@ const TimetableTrainCard = ({

// TODO Paced train : Adapt this to handle paced trains in issue https://github.com/OpenRailAssociation/osrd/issues/10615
const editoastTrainId = formatTrainScheduleIdToEditoastTrainId(train.id as TrainScheduleId);
const trainsResults = await getTrainSchedule({ body: { ids: [editoastTrainId!] } })
const trainsResults = await getTrainSchedule({ body: { ids: [editoastTrainId] } })
.unwrap()
.catch((e) => {
dispatch(setFailure(castErrorToFailure(e)));
Expand Down
Loading

0 comments on commit eb84e9f

Please sign in to comment.