Skip to content

Commit 6611820

Browse files
committed
front: stdcm: change map
1 parent 0e16878 commit 6611820

File tree

9 files changed

+122
-74
lines changed

9 files changed

+122
-74
lines changed

front/src/applications/stdcm/hooks/useStdcm.ts

+2
Original file line numberDiff line numberDiff line change
@@ -77,6 +77,7 @@ const useStdcm = () => {
7777
rollingStock: stdcmRollingStock,
7878
creationDate: new Date(),
7979
speedLimitByTag,
80+
simulationPathSteps: osrdconf.pathSteps,
8081
} as StdcmV2SuccessResponse);
8182

8283
const stdcmTrain: TrainScheduleResult = {
@@ -131,6 +132,7 @@ const useStdcm = () => {
131132
pathProperties,
132133
setPathProperties,
133134
isPending,
135+
simulationPathSteps: stdcmV2Response?.simulationPathSteps,
134136
};
135137
};
136138

front/src/applications/stdcm/types.ts

+2
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ import type {
1414
RollingStockWithLiveries,
1515
SimulationResponse,
1616
} from 'common/api/osrdEditoastApi';
17+
import type { PathStep } from 'reducers/osrdconf/types';
1718
import type { ValueOf } from 'utils/types';
1819

1920
export type StdcmRequestStatus = ValueOf<typeof STDCM_REQUEST_STATUS>;
@@ -26,6 +27,7 @@ export type StdcmV2SuccessResponse = Omit<
2627
rollingStock: LightRollingStock;
2728
creationDate: Date;
2829
speedLimitByTag?: string;
30+
simulationPathSteps: PathStep[];
2931
};
3032

3133
export type SimulationReportSheetProps = {

front/src/applications/stdcmV2/components/StdcmConfig.tsx

+3-4
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import React, { useRef, useEffect } from 'react';
1+
import React, { useRef, useEffect, useState } from 'react';
22

33
import { Button } from '@osrd-project/ui-core';
44
import { Alert } from '@osrd-project/ui-icons';
@@ -21,7 +21,6 @@ import type { StdcmSimulationResult } from '../types';
2121

2222
type StdcmConfigProps = {
2323
currentSimulationInputs: StdcmSimulationResult['input'] | undefined;
24-
pathProperties?: ManageTrainSchedulePathProperties;
2524
isPending: boolean;
2625
launchStdcmRequest: () => Promise<void>;
2726
cancelStdcmRequest: () => void;
@@ -32,7 +31,6 @@ type StdcmConfigProps = {
3231

3332
const StdcmConfig = ({
3433
currentSimulationInputs,
35-
pathProperties,
3634
isPending,
3735
launchStdcmRequest,
3836
cancelStdcmRequest,
@@ -45,7 +43,8 @@ const StdcmConfig = ({
4543
const { updateGridMarginAfter, updateGridMarginBefore, updateStdcmStandardAllowance } =
4644
useOsrdConfActions() as StdcmConfSliceActions;
4745

48-
const { pathfindingState } = usePathfindingV2(undefined, pathProperties);
46+
const [pathProperties, setPathProperties] = useState<ManageTrainSchedulePathProperties>();
47+
const { pathfindingState } = usePathfindingV2(setPathProperties, pathProperties);
4948

5049
const clickOnSimulation = () => {
5150
if (pathfindingState.done) {

front/src/applications/stdcmV2/components/StdcmResults/StdcmResults.tsx

+8-3
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ import {
1313
getOperationalPointsWithTimes,
1414
} from 'applications/stdcm/utils/formatSimulationReportSheet';
1515
import { Map } from 'modules/trainschedule/components/ManageTrainSchedule';
16+
import type { PathStep } from 'reducers/osrdconf/types';
1617
import { dateTimeFormatting } from 'utils/date';
1718

1819
import StcdmResultsTable from './StdcmResultsTable';
@@ -22,11 +23,13 @@ type StcdmResultsV2Props = {
2223
stdcmData: StdcmV2SuccessResponse;
2324
pathProperties?: ManageTrainSchedulePathProperties;
2425
setInteractedResultsElements: (interactedResultsElements: boolean) => void;
26+
simulationPathSteps?: PathStep[];
2527
};
2628

2729
const StcdmResults = ({
2830
stdcmData,
2931
pathProperties,
32+
simulationPathSteps,
3033
setInteractedResultsElements,
3134
}: StcdmResultsV2Props) => {
3235
const { t } = useTranslation('stdcm');
@@ -51,7 +54,7 @@ const StcdmResults = ({
5154

5255
return (
5356
<main className="stdcm-v2-results">
54-
<div className="simuation-banner">
57+
<div className="simulation-banner">
5558
<div
5659
className="simulation-validated"
5760
style={{ color: isSimulationSelected ? '#0B723C' : '' }}
@@ -65,7 +68,7 @@ const StcdmResults = ({
6568
</div>
6669
<div className="creation-date">{date}</div>
6770
</div>
68-
<div className="simuation-results">
71+
<div className="simulation-results">
6972
<div className="results-and-sheet">
7073
<StcdmResultsTable
7174
stdcmData={stdcmData}
@@ -98,10 +101,12 @@ const StcdmResults = ({
98101
</div>
99102
<div className="osrd-config-item-container osrd-config-item-container-map map-results">
100103
<Map
104+
mapId="map-result"
105+
isLiteVersion
101106
hideAttribution
102-
preventPointSelection
103107
setMapCanvas={setMapCanvas}
104108
pathProperties={pathProperties}
109+
simulationPathSteps={simulationPathSteps}
105110
/>
106111
</div>
107112
</div>

front/src/applications/stdcmV2/views/StdcmViewV2.tsx

+10-3
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,14 @@ import type { StdcmSimulationResult } from '../types';
1414

1515
const StdcmViewV2 = () => {
1616
const { t } = useTranslation('stdcm');
17-
const { launchStdcmRequest, cancelStdcmRequest, isPending, stdcmV2Results, pathProperties } =
18-
useStdcm();
17+
const {
18+
launchStdcmRequest,
19+
cancelStdcmRequest,
20+
isPending,
21+
stdcmV2Results,
22+
pathProperties,
23+
simulationPathSteps,
24+
} = useStdcm();
1925
const { getScenarioID } = useOsrdConfSelectors();
2026
const scenarioID = useSelector(getScenarioID);
2127

@@ -41,7 +47,7 @@ const StdcmViewV2 = () => {
4147
{scenarioID && (
4248
<StdcmConfig
4349
currentSimulationInputs={currentSimulationInputs}
44-
pathProperties={pathProperties}
50+
// pathProperties={pathProperties}
4551
isPending={isPending}
4652
launchStdcmRequest={launchStdcmRequest}
4753
cancelStdcmRequest={cancelStdcmRequest}
@@ -59,6 +65,7 @@ const StdcmViewV2 = () => {
5965
stdcmData={stdcmV2Results.stdcmResponse}
6066
pathProperties={pathProperties}
6167
setInteractedResultsElements={setInteractedResultsElements}
68+
simulationPathSteps={simulationPathSteps}
6269
/>
6370
)}
6471
</div>

front/src/modules/pathfinding/hook/usePathfinding.ts

+3-3
Original file line numberDiff line numberDiff line change
@@ -134,7 +134,7 @@ function init({
134134
}
135135

136136
export const usePathfindingV2 = (
137-
setPathProperties?: (pathProperties?: ManageTrainSchedulePathProperties) => void | null,
137+
setPathProperties: (pathProperties?: ManageTrainSchedulePathProperties) => void | null,
138138
pathProperties?: ManageTrainSchedulePathProperties
139139
) => {
140140
const { t } = useTranslation(['operationalStudies/manageTrainSchedule']);
@@ -175,7 +175,7 @@ export const usePathfindingV2 = (
175175
const { updatePathSteps } = useOsrdConfActions();
176176

177177
const generatePathfindingParams = (): PostV2InfraByInfraIdPathfindingBlocksApiArg | null => {
178-
setPathProperties?.(undefined);
178+
setPathProperties(undefined);
179179
return getPathfindingQuery({ infraId, rollingStock, origin, destination, pathSteps });
180180
};
181181

@@ -284,7 +284,7 @@ export const usePathfindingV2 = (
284284
compact(updatedPathSteps)
285285
);
286286

287-
setPathProperties?.({
287+
setPathProperties({
288288
electrifications,
289289
geometry,
290290
suggestedOperationalPoints,

front/src/modules/trainschedule/components/ManageTrainSchedule/ManageTrainScheduleMap/ItineraryMarkersV2.tsx

+11-2
Original file line numberDiff line numberDiff line change
@@ -78,11 +78,20 @@ const extractMarkerInformation = (pathSteps: (PathStep | null)[]) =>
7878
return acc;
7979
}, [] as MarkerInformation[]);
8080

81-
const ItineraryMarkers = ({ map }: { map: Map }) => {
81+
const ItineraryMarkers = ({
82+
map,
83+
simulationPathSteps,
84+
}: {
85+
map: Map;
86+
simulationPathSteps?: PathStep[];
87+
}) => {
8288
const { getPathSteps } = useOsrdConfSelectors();
8389
const pathSteps = useSelector(getPathSteps);
8490

85-
const markersInformation = useMemo(() => extractMarkerInformation(pathSteps), [pathSteps]);
91+
const markersInformation = useMemo(
92+
() => extractMarkerInformation(simulationPathSteps || pathSteps),
93+
[simulationPathSteps, pathSteps]
94+
);
8695

8796
const getMarkerDisplayInformation = useCallback(
8897
(markerInfo: MarkerInformation) => {

0 commit comments

Comments
 (0)