Skip to content

Commit 6a17f5d

Browse files
committed
front: remove StdcmConfSliceActions casts
Signed-off-by: Clara Ni <clara.ni@outlook.fr>
1 parent f1e4d2a commit 6a17f5d

File tree

13 files changed

+52
-55
lines changed

13 files changed

+52
-55
lines changed

front/src/applications/stdcm/components/StdcmForm/StdcmConfig.tsx

+2-3
Original file line numberDiff line numberDiff line change
@@ -12,11 +12,11 @@ import {
1212
validateTotalLength,
1313
validateTotalMass,
1414
} from 'applications/stdcm/utils/consistValidation';
15-
import { useOsrdConfActions, useOsrdConfSelectors } from 'common/osrdContext';
15+
import { useOsrdConfSelectors } from 'common/osrdContext';
1616
import useInfraStatus from 'modules/pathfinding/hooks/useInfraStatus';
1717
import { useStoreDataForRollingStockSelector } from 'modules/rollingStock/components/RollingStockSelector/useStoreDataForRollingStockSelector';
1818
import NewMap from 'modules/trainschedule/components/ManageTrainSchedule/NewMap';
19-
import { type StdcmConfSliceActions, resetMargins } from 'reducers/osrdconf/stdcmConf';
19+
import { resetMargins, restoreStdcmConfig, updateStdcmPathStep } from 'reducers/osrdconf/stdcmConf';
2020
import {
2121
getMaxSpeed,
2222
getStdcmDestination,
@@ -73,7 +73,6 @@ const StdcmConfig = ({
7373

7474
const { infra } = useInfraStatus();
7575
const dispatch = useAppDispatch();
76-
const { updateStdcmPathStep, restoreStdcmConfig } = useOsrdConfActions() as StdcmConfSliceActions;
7776

7877
const { getProjectID, getScenarioID, getStudyID } = useOsrdConfSelectors();
7978
const origin = useSelector(getStdcmOrigin);

front/src/applications/stdcm/components/StdcmForm/StdcmConsist.tsx

+2-3
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ import RollingStock2Img from 'modules/rollingStock/components/RollingStock2Img';
1616
import { useStoreDataForRollingStockSelector } from 'modules/rollingStock/components/RollingStockSelector/useStoreDataForRollingStockSelector';
1717
import useFilterRollingStock from 'modules/rollingStock/hooks/useFilterRollingStock';
1818
import useFilterTowedRollingStock from 'modules/towedRollingStock/hooks/useFilterTowedRollingStock';
19-
import { type StdcmConfSliceActions } from 'reducers/osrdconf/stdcmConf';
19+
import { updateTowedRollingStockID } from 'reducers/osrdconf/stdcmConf';
2020
import { useAppDispatch } from 'store';
2121
import { kgToT, kmhToMs, msToKmh } from 'utils/physics';
2222

@@ -48,8 +48,7 @@ const StdcmConsist = ({ isDebugMode, consistErrors = {}, disabled = false }: Std
4848
const { speedLimitByTag, speedLimitsByTags, dispatchUpdateSpeedLimitByTag } =
4949
useStoreDataForSpeedLimitByTagSelector({ isStdcm: true });
5050

51-
const { updateRollingStockID, updateTowedRollingStockID } =
52-
useOsrdConfActions() as StdcmConfSliceActions;
51+
const { updateRollingStockID } = useOsrdConfActions();
5352
const dispatch = useAppDispatch();
5453

5554
const { rollingStock } = useStoreDataForRollingStockSelector();

front/src/applications/stdcm/components/StdcmForm/StdcmLinkedTrainResults.tsx

+1-3
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,7 @@ import { RadioButton } from '@osrd-project/ui-core';
22
import cx from 'classnames';
33
import { useDispatch } from 'react-redux';
44

5-
import { useOsrdConfActions } from 'common/osrdContext';
6-
import type { StdcmConfSliceActions } from 'reducers/osrdconf/stdcmConf';
5+
import { updateLinkedTrainExtremity } from 'reducers/osrdconf/stdcmConf';
76

87
import type { StdcmLinkedTrainResult, ExtremityPathStepType } from '../../types';
98

@@ -17,7 +16,6 @@ const StdcmLinkedTrainResults = ({
1716
linkedOp: { extremityType, id },
1817
}: StdcmLinkedTrainResultsProps) => {
1918
const dispatch = useDispatch();
20-
const { updateLinkedTrainExtremity } = useOsrdConfActions() as StdcmConfSliceActions;
2119
return (
2220
<div className="stdcm-linked-train-results">
2321
{linkedTrainResults.map(({ trainName, origin, destination }, index) => (

front/src/applications/stdcm/components/StdcmForm/StdcmOpSchedule.tsx

+2-3
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,8 @@ import { DatePicker, Select, TimePicker, TolerancePicker } from '@osrd-project/u
44
import { useTranslation } from 'react-i18next';
55
import { useSelector } from 'react-redux';
66

7-
import { useOsrdConfActions, useOsrdConfSelectors } from 'common/osrdContext';
8-
import type { StdcmConfSliceActions } from 'reducers/osrdconf/stdcmConf';
7+
import { useOsrdConfSelectors } from 'common/osrdContext';
8+
import { updateStdcmPathStep } from 'reducers/osrdconf/stdcmConf';
99
import type { StdcmPathStep } from 'reducers/osrdconf/types';
1010
import { useAppDispatch } from 'store';
1111
import { formatDateString } from 'utils/date';
@@ -24,7 +24,6 @@ const StdcmOpSchedule = ({ disabled, pathStep, opId, isOrigin = false }: StdcmOp
2424
const { t } = useTranslation('stdcm');
2525
const dispatch = useAppDispatch();
2626

27-
const { updateStdcmPathStep } = useOsrdConfActions() as StdcmConfSliceActions;
2827
const { getSearchDatetimeWindow } = useOsrdConfSelectors();
2928
const searchDatetimeWindow = useSelector(getSearchDatetimeWindow);
3029

front/src/applications/stdcm/components/StdcmForm/StdcmOperationalPoint.tsx

+1-4
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,7 @@ import { useTranslation } from 'react-i18next';
55

66
import type { SearchResultItemOperationalPoint } from 'common/api/osrdEditoastApi';
77
import useSearchOperationalPoint from 'common/Map/Search/useSearchOperationalPoint';
8-
import { useOsrdConfActions } from 'common/osrdContext';
9-
import type { StdcmConfSliceActions } from 'reducers/osrdconf/stdcmConf';
8+
import { updateStdcmPathStep } from 'reducers/osrdconf/stdcmConf';
109
import type { StdcmPathStep } from 'reducers/osrdconf/types';
1110
import { useAppDispatch } from 'store';
1211
import { normalized } from 'utils/strings';
@@ -55,8 +54,6 @@ const StdcmOperationalPoint = ({ location, pathStepId, disabled }: StdcmOperatio
5554

5655
const [chSuggestions, setChSuggestions] = useState<CHOption[]>([]);
5756

58-
const { updateStdcmPathStep } = useOsrdConfActions() as StdcmConfSliceActions;
59-
6057
const selectedCi = useMemo(
6158
() =>
6259
location

front/src/applications/stdcm/components/StdcmForm/StdcmVias.tsx

+1-4
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,7 @@ import { useTranslation } from 'react-i18next';
55
import { useSelector } from 'react-redux';
66

77
import IntermediatePointIcon from 'assets/pictures/mapMarkers/intermediate-point.svg';
8-
import { useOsrdConfActions } from 'common/osrdContext';
9-
import type { StdcmConfSliceActions } from 'reducers/osrdconf/stdcmConf';
8+
import { updateStdcmPathStep, deleteStdcmVia, addStdcmVia } from 'reducers/osrdconf/stdcmConf';
109
import { getStdcmPathSteps } from 'reducers/osrdconf/stdcmConf/selectors';
1110
import type { StdcmPathStep } from 'reducers/osrdconf/types';
1211
import { useAppDispatch } from 'store';
@@ -22,8 +21,6 @@ import type { StdcmConfigCardProps } from '../../types';
2221
const StdcmVias = ({ disabled = false }: StdcmConfigCardProps) => {
2322
const { t } = useTranslation('stdcm');
2423
const dispatch = useAppDispatch();
25-
const { updateStdcmPathStep, addStdcmVia, deleteStdcmVia } =
26-
useOsrdConfActions() as StdcmConfSliceActions;
2724
const pathSteps = useSelector(getStdcmPathSteps);
2825

2926
const [newIntermediateOpIndex, setNewIntermediateOpIndex] = useState<number>();

front/src/applications/stdcm/components/StdcmForm/StopDurationInput.tsx

+1-4
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,7 @@ import { Input } from '@osrd-project/ui-core';
44
import type { Status } from '@osrd-project/ui-core/dist/components/inputs/StatusMessage';
55
import { useTranslation } from 'react-i18next';
66

7-
import { useOsrdConfActions } from 'common/osrdContext';
8-
import type { StdcmConfSliceActions } from 'reducers/osrdconf/stdcmConf';
7+
import { updateStdcmPathStep } from 'reducers/osrdconf/stdcmConf';
98
import type { StdcmPathStep } from 'reducers/osrdconf/types';
109
import { useAppDispatch } from 'store';
1110
import { useDebounce } from 'utils/helpers';
@@ -21,8 +20,6 @@ const StopDurationInput = ({ pathStep }: StopDurationInputProps) => {
2120
const dispatch = useAppDispatch();
2221
const { t } = useTranslation('stdcm');
2322

24-
const { updateStdcmPathStep } = useOsrdConfActions() as StdcmConfSliceActions;
25-
2623
const [stopDuration, setStopDuration] = useState(
2724
pathStep.stopFor !== undefined ? `${pathStep.stopFor}` : ''
2825
);

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

+1-5
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,7 @@ import { min } from 'lodash';
44
import { useSelector } from 'react-redux';
55

66
import type { LightRollingStockWithLiveries, TowedRollingStock } from 'common/api/osrdEditoastApi';
7-
import { useOsrdConfActions } from 'common/osrdContext';
8-
import { type StdcmConfSliceActions } from 'reducers/osrdconf/stdcmConf';
7+
import { updateTotalMass, updateTotalLength, updateMaxSpeed } from 'reducers/osrdconf/stdcmConf';
98
import { getTotalMass, getTotalLength, getMaxSpeed } from 'reducers/osrdconf/stdcmConf/selectors';
109
import { useAppDispatch } from 'store';
1110
import { kgToT, kmhToMs, msToKmh } from 'utils/physics';
@@ -19,9 +18,6 @@ const useStdcmConsist = () => {
1918
const [totalLengthChanged, setTotalLengthChanged] = useState(false);
2019
const [maxSpeedChanged, setMaxSpeedChanged] = useState(false);
2120

22-
const { updateTotalMass, updateTotalLength, updateMaxSpeed } =
23-
useOsrdConfActions() as StdcmConfSliceActions;
24-
2521
const totalMass = useSelector(getTotalMass);
2622
const onTotalMassChange = (e: React.ChangeEvent<HTMLInputElement>) => {
2723
const totalMassValue = Number(e.target.value);

front/src/applications/stdcm/hooks/useStdcmEnv.tsx

+1-3
Original file line numberDiff line numberDiff line change
@@ -3,14 +3,12 @@ import { useCallback, useEffect, useState } from 'react';
33
import { useDispatch } from 'react-redux';
44

55
import { osrdEditoastApi } from 'common/api/osrdEditoastApi';
6-
import { useOsrdConfActions } from 'common/osrdContext';
7-
import type { StdcmConfSliceActions } from 'reducers/osrdconf/stdcmConf';
6+
import { updateStdcmEnvironment } from 'reducers/osrdconf/stdcmConf';
87

98
export const NO_CONFIG_FOUND_MSG = 'No configuration found';
109

1110
export default function useStdcmEnvironment() {
1211
const dispatch = useDispatch();
13-
const { updateStdcmEnvironment } = useOsrdConfActions() as StdcmConfSliceActions;
1412
const [getStdcmSearchEnvironment] =
1513
osrdEditoastApi.endpoints.getStdcmSearchEnvironment.useLazyQuery();
1614

front/src/applications/stdcm/views/StdcmView.tsx

+1-3
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,7 @@ import { useSelector } from 'react-redux';
55

66
import useStdcm from 'applications/stdcm/hooks/useStdcm';
77
import { LoaderFill } from 'common/Loaders';
8-
import { useOsrdConfActions } from 'common/osrdContext';
9-
import type { StdcmConfSliceActions } from 'reducers/osrdconf/stdcmConf';
8+
import { updateStdcmConfigWithData } from 'reducers/osrdconf/stdcmConf';
109
import { getStdcmConf } from 'reducers/osrdconf/stdcmConf/selectors';
1110
import { useAppDispatch } from 'store';
1211
import { replaceElementAtIndex } from 'utils/array';
@@ -51,7 +50,6 @@ const StdcmView = () => {
5150
const { loading, error, loadStdcmEnvironment } = useStdcmEnvironment();
5251

5352
const dispatch = useAppDispatch();
54-
const { updateStdcmConfigWithData } = useOsrdConfActions() as StdcmConfSliceActions;
5553

5654
const selectedSimulation = simulationsList[selectedSimulationIndex];
5755
const showResults = showStatusBanner || simulationsList.length > 0 || hasConflicts;

front/src/modules/scenario/components/ScenarioExplorer/ScenarioExplorer.tsx

+2-3
Original file line numberDiff line numberDiff line change
@@ -13,9 +13,9 @@ import { getDocument } from 'common/api/documentApi';
1313
import { osrdEditoastApi } from 'common/api/osrdEditoastApi';
1414
import { useModal } from 'common/BootstrapSNCF/ModalSNCF';
1515
import { LoaderFill } from 'common/Loaders';
16-
import { useOsrdConfActions, useOsrdConfSelectors } from 'common/osrdContext';
16+
import { useOsrdConfSelectors } from 'common/osrdContext';
1717
import { getScenarioDatetimeWindow } from 'modules/scenario/helpers/utils';
18-
import type { StdcmConfSliceActions } from 'reducers/osrdconf/stdcmConf';
18+
import { updateStdcmEnvironment } from 'reducers/osrdconf/stdcmConf';
1919
import { useAppDispatch } from 'store';
2020

2121
import ScenarioExplorerModal, { type ScenarioExplorerProps } from './ScenarioExplorerModal';
@@ -35,7 +35,6 @@ const ScenarioExplorer = ({
3535
const timetableID = useSelector(getTimetableID);
3636
const [imageUrl, setImageUrl] = useState<string>();
3737

38-
const { updateStdcmEnvironment } = useOsrdConfActions() as StdcmConfSliceActions;
3938
const { data: projectDetails } = osrdEditoastApi.endpoints.getProjectsByProjectId.useQuery(
4039
{ projectId: globalProjectId! },
4140
{ skip: !globalProjectId }

front/src/reducers/osrdconf/stdcmConf/index.ts

+15-4
Original file line numberDiff line numberDiff line change
@@ -255,17 +255,28 @@ export const stdcmConfSlice = createSlice({
255255
},
256256
});
257257

258-
export const stdcmConfSliceActions = stdcmConfSlice.actions;
259-
260258
export const {
259+
resetStdcmConfig,
260+
restoreStdcmConfig,
261+
updateTotalMass,
262+
updateTotalLength,
263+
updateMaxSpeed,
264+
updateTowedRollingStockID,
265+
updateStdcmConfigWithData,
261266
resetMargins,
262267
updateGridMarginAfter,
263268
updateGridMarginBefore,
264269
updateStandardAllowance,
265-
} = stdcmConfSliceActions;
270+
updateStdcmEnvironment,
271+
updateStdcmPathSteps,
272+
updateStdcmPathStep,
273+
addStdcmVia,
274+
deleteStdcmVia,
275+
updateLinkedTrainExtremity,
276+
} = stdcmConfSlice.actions;
266277

267278
export type StdcmConfSlice = typeof stdcmConfSlice;
268279

269-
export type StdcmConfSliceActions = typeof stdcmConfSliceActions;
280+
export type StdcmConfSliceActions = typeof stdcmConfSlice.actions;
270281

271282
export default stdcmConfSlice.reducer;

front/src/reducers/osrdconf/stdcmConf/stdcmConfReducers.spec.ts

+22-13
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,18 @@ import { describe, it, expect } from 'vitest';
44
import { ArrivalTimeTypes, StdcmStopTypes } from 'applications/stdcm/types';
55
import getStepLocation from 'modules/pathfinding/helpers/getStepLocation';
66
import {
7+
resetStdcmConfig,
78
stdcmConfInitialState,
89
stdcmConfSlice,
9-
stdcmConfSliceActions,
10+
updateGridMarginAfter,
11+
updateGridMarginBefore,
12+
updateMaxSpeed,
13+
updateStandardAllowance,
14+
updateStdcmConfigWithData,
15+
updateStdcmPathStep,
16+
updateTotalLength,
17+
updateTotalMass,
18+
updateTowedRollingStockID,
1019
} from 'reducers/osrdconf/stdcmConf';
1120
import type { OsrdStdcmConfState, StandardAllowance, StdcmPathStep } from 'reducers/osrdconf/types';
1221
import { createStoreWithoutMiddleware } from 'store';
@@ -82,7 +91,7 @@ describe('stdcmConfReducers', () => {
8291
expect(stateBefore.margins.standardAllowance).toBe(initialTimeStandardAllowance);
8392

8493
const newStandardAllowance = testDataBuilder.buildPercentageStandardAllowance(5);
85-
store.dispatch(stdcmConfSliceActions.updateStandardAllowance(newStandardAllowance));
94+
store.dispatch(updateStandardAllowance(newStandardAllowance));
8695

8796
const stateAfter = store.getState()[stdcmConfSlice.name];
8897
expect(stateAfter.margins.standardAllowance).toBe(newStandardAllowance);
@@ -91,23 +100,23 @@ describe('stdcmConfReducers', () => {
91100
it('should handle updateGridMarginBefore', () => {
92101
const newGridMarginBefore = 5;
93102
const store = createStore(initialStateSTDCMConfig);
94-
store.dispatch(stdcmConfSliceActions.updateGridMarginBefore(newGridMarginBefore));
103+
store.dispatch(updateGridMarginBefore(newGridMarginBefore));
95104
const state = store.getState()[stdcmConfSlice.name];
96105
expect(state.margins.gridMarginBefore).toStrictEqual(newGridMarginBefore);
97106
});
98107

99108
it('should handle updateGridMarginAfter', () => {
100109
const newGridMarginAfter = 5;
101110
const store = createStore(initialStateSTDCMConfig);
102-
store.dispatch(stdcmConfSliceActions.updateGridMarginAfter(newGridMarginAfter));
111+
store.dispatch(updateGridMarginAfter(newGridMarginAfter));
103112
const state = store.getState()[stdcmConfSlice.name];
104113
expect(state.margins.gridMarginAfter).toStrictEqual(newGridMarginAfter);
105114
});
106115
});
107116

108117
it('should handle resetStdcmConfig', () => {
109118
const store = createStore(initialStateSTDCMConfig);
110-
store.dispatch(stdcmConfSliceActions.resetStdcmConfig());
119+
store.dispatch(resetStdcmConfig());
111120

112121
const state = store.getState()[stdcmConfSlice.name];
113122
expect(state.rollingStockID).toBe(stdcmConfInitialState.rollingStockID);
@@ -138,7 +147,7 @@ describe('stdcmConfReducers', () => {
138147
},
139148
} as StdcmPathStep;
140149
store.dispatch(
141-
stdcmConfSliceActions.updateStdcmConfigWithData({
150+
updateStdcmConfigWithData({
142151
rollingStockID: 20,
143152
stdcmPathSteps: [parisStdcm, rennesStdcm],
144153
speedLimitByTag: 'new-tag',
@@ -154,23 +163,23 @@ describe('stdcmConfReducers', () => {
154163
describe('Consist updates', () => {
155164
const store = createStore();
156165
it('should handle totalMass', () => {
157-
store.dispatch(stdcmConfSliceActions.updateTotalMass(345));
166+
store.dispatch(updateTotalMass(345));
158167
const state = store.getState()[stdcmConfSlice.name];
159168
expect(state.totalMass).toEqual(345);
160169
});
161170

162171
it('should handle totalLength', () => {
163-
store.dispatch(stdcmConfSliceActions.updateTotalLength(345));
172+
store.dispatch(updateTotalLength(345));
164173
const state = store.getState()[stdcmConfSlice.name];
165174
expect(state.totalLength).toEqual(345);
166175
});
167176
it('should handle maxSpeed', () => {
168-
store.dispatch(stdcmConfSliceActions.updateMaxSpeed(110));
177+
store.dispatch(updateMaxSpeed(110));
169178
const state = store.getState()[stdcmConfSlice.name];
170179
expect(state.maxSpeed).toEqual(110);
171180
});
172181
it('should handle towedRollingStockID', () => {
173-
store.dispatch(stdcmConfSliceActions.updateTowedRollingStockID(11));
182+
store.dispatch(updateTowedRollingStockID(11));
174183
const state = store.getState()[stdcmConfSlice.name];
175184
expect(state.towedRollingStockID).toEqual(11);
176185
});
@@ -191,7 +200,7 @@ describe('stdcmConfReducers', () => {
191200
},
192201
};
193202

194-
store.dispatch(stdcmConfSliceActions.updateStdcmPathStep({ id: origin.id, updates }));
203+
store.dispatch(updateStdcmPathStep({ id: origin.id, updates }));
195204
const state = store.getState()[stdcmConfSlice.name];
196205
expect(state.stdcmPathSteps.at(0)).toEqual({ ...origin, ...updates });
197206
});
@@ -204,7 +213,7 @@ describe('stdcmConfReducers', () => {
204213
stopFor: 1,
205214
};
206215

207-
store.dispatch(stdcmConfSliceActions.updateStdcmPathStep({ id: via.id, updates }));
216+
store.dispatch(updateStdcmPathStep({ id: via.id, updates }));
208217
const state = store.getState()[stdcmConfSlice.name];
209218
expect(state.stdcmPathSteps.at(1)).toEqual({ ...via, ...updates });
210219
});
@@ -221,7 +230,7 @@ describe('stdcmConfReducers', () => {
221230
},
222231
};
223232

224-
store.dispatch(stdcmConfSliceActions.updateStdcmPathStep({ id: destination.id, updates }));
233+
store.dispatch(updateStdcmPathStep({ id: destination.id, updates }));
225234
const state = store.getState()[stdcmConfSlice.name];
226235
expect(state.stdcmPathSteps.at(-1)).toEqual({ ...destination, ...updates });
227236
});

0 commit comments

Comments
 (0)