Skip to content

Commit cb3487a

Browse files
committed
front: use RollingStockComfortType from OpenApi, not Comfort from legacy
1 parent b5e95f0 commit cb3487a

File tree

12 files changed

+42
-36
lines changed

12 files changed

+42
-36
lines changed

front/src/applications/operationalStudies/consts.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ import { ObjectFieldsTypes } from 'utils/types';
44
import { Position, Feature } from 'geojson';
55
import {
66
AllowanceValue,
7-
Comfort,
7+
RollingStockComfortType,
88
ElectrificationRange,
99
Electrified,
1010
Neutral,
@@ -157,7 +157,7 @@ export const studyTypes = Object.keys(STUDY_TYPES) as StudyType[];
157157
export type PowerRestrictionRange = LinearMetadataItem<{ value: string }>;
158158

159159
export interface OsrdConfState {
160-
rollingStockComfort: Comfort;
160+
rollingStockComfort: RollingStockComfortType;
161161
name: string;
162162
trainCount: number;
163163
trainStep: number;

front/src/modules/rollingStock/components/RollingStockCard/RollingStockCard.tsx

+2-2
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ import { IoIosSpeedometer } from 'react-icons/io';
88
import { FaWeightHanging } from 'react-icons/fa';
99
import { AiOutlineColumnWidth } from 'react-icons/ai';
1010

11-
import { Comfort, LightRollingStockWithLiveries } from 'common/api/osrdEditoastApi';
11+
import { RollingStockComfortType, LightRollingStockWithLiveries } from 'common/api/osrdEditoastApi';
1212
import RollingStock2Img from 'modules/rollingStock/components/RollingStock2Img';
1313
import RollingStockCardDetail from './RollingStockCardDetail';
1414
import { RollingStockInfo } from '../RollingStockSelector/RollingStockHelpers';
@@ -31,7 +31,7 @@ const RollingStockCard = ({
3131
ref2scroll = undefined,
3232
setOpenedRollingStockCardId,
3333
}: RollingStockCardProps) => {
34-
const [curvesComfortList, setCurvesComfortList] = useState<Comfort[]>([]);
34+
const [curvesComfortList, setCurvesComfortList] = useState<RollingStockComfortType[]>([]);
3535

3636
const ref2scrollWhenOpened: React.RefObject<HTMLInputElement> = useRef<HTMLInputElement>(null);
3737

front/src/modules/rollingStock/components/RollingStockCard/RollingStockCardDetail.tsx

+4-4
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ import React, { useEffect } from 'react';
33
import { useTranslation } from 'react-i18next';
44
import { useDispatch } from 'react-redux';
55

6-
import { Comfort, RollingStock, osrdEditoastApi } from 'common/api/osrdEditoastApi';
6+
import { RollingStockComfortType, RollingStock, osrdEditoastApi } from 'common/api/osrdEditoastApi';
77
import Loader from 'common/Loader';
88
import { setFailure } from 'reducers/main';
99
import RollingStock2Img from 'modules/rollingStock/components/RollingStock2Img';
@@ -13,12 +13,12 @@ type RollingStockCardDetailProps = {
1313
id: number;
1414
hideCurves?: boolean;
1515
form?: string;
16-
curvesComfortList: Comfort[];
17-
setCurvesComfortList: (curvesComfortList: Comfort[]) => void;
16+
curvesComfortList: RollingStockComfortType[];
17+
setCurvesComfortList: (curvesComfortList: RollingStockComfortType[]) => void;
1818
};
1919

2020
export const listCurvesComfort = (curvesData: RollingStock['effort_curves']) => {
21-
const comfortList: Comfort[] = ['STANDARD'];
21+
const comfortList: RollingStockComfortType[] = ['STANDARD'];
2222
Object.keys(curvesData.modes).forEach((mode) => {
2323
curvesData.modes[mode].curves.forEach((curve) => {
2424
if (curve.cond?.comfort) {

front/src/modules/rollingStock/components/RollingStockCurve.tsx

+5-5
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import React, { useEffect, useMemo, useState } from 'react';
22
import { PointTooltipProps, ResponsiveLine } from '@nivo/line';
33
import { useTranslation } from 'react-i18next';
4-
import { Comfort, RollingStock } from 'common/api/osrdEditoastApi';
4+
import { RollingStockComfortType, RollingStock } from 'common/api/osrdEditoastApi';
55
import { useSelector } from 'react-redux';
66
import { getElectricalProfile, getPowerRestriction } from 'reducers/rollingstockEditor/selectors';
77
import { STANDARD_COMFORT_LEVEL, THERMAL_TRACTION_IDENTIFIER } from 'modules/rollingStock/consts';
@@ -13,7 +13,7 @@ type EffortCurvesModes = RollingStock['effort_curves']['modes'];
1313
type TransformedCurves = {
1414
[index: string]: {
1515
mode: string;
16-
comfort: Comfort;
16+
comfort: RollingStockComfortType;
1717
speeds: number[];
1818
max_efforts: number[];
1919
electricalProfile: string | null;
@@ -22,7 +22,7 @@ type TransformedCurves = {
2222
};
2323
type ParsedCurves = {
2424
color: string;
25-
comfort: Comfort;
25+
comfort: RollingStockComfortType;
2626
data: {
2727
x: number;
2828
y: number;
@@ -63,7 +63,7 @@ const parseData = (
6363
};
6464

6565
function LegendComfortSwitches(props: {
66-
curvesComfortList: Comfort[];
66+
curvesComfortList: RollingStockComfortType[];
6767
comfortsStates: { [key: string]: boolean };
6868
onComfortsStatesChange: (comfort: string) => void;
6969
}) {
@@ -182,7 +182,7 @@ export default function RollingStockCurve({
182182
hoveredElectricalParam,
183183
}: {
184184
data: EffortCurvesModes;
185-
curvesComfortList: Comfort[];
185+
curvesComfortList: RollingStockComfortType[];
186186
isOnEditionMode?: boolean;
187187
showPowerRestriction?: boolean;
188188
hoveredElectricalParam?: string | null;

front/src/modules/rollingStock/components/RollingStockEditor/AddRollingstockParam.tsx

+4-2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import SelectImprovedSNCF from 'common/BootstrapSNCF/SelectImprovedSNCF';
2-
import { Comfort } from 'common/api/osrdEditoastApi';
2+
import { RollingStockComfortType } from 'common/api/osrdEditoastApi';
33
import { RollingStockSelectorParams } from 'modules/rollingStock/consts';
44
import React, { useState } from 'react';
55
import cx from 'classnames';
@@ -35,7 +35,9 @@ export default function AddRollingstockParam({
3535
const optionsList = compact(allOptionsList)
3636
.filter(
3737
(option) =>
38-
!displayedLists[listName as keyof RollingStockSelectorParams].includes(option as Comfort)
38+
!displayedLists[listName as keyof RollingStockSelectorParams].includes(
39+
option as RollingStockComfortType
40+
)
3941
)
4042
.map((option) => {
4143
if (listName === COMFORT_LEVELS_KEY) {

front/src/modules/rollingStock/components/RollingStockEditor/RollingStockEditorCurves.tsx

+4-4
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import { listCurvesComfort } from 'modules/rollingStock/components/RollingStockCard/RollingStockCardDetail';
22
import {
3-
Comfort,
3+
RollingStockComfortType,
44
ConditionalEffortCurve,
55
RollingStock,
66
RollingStockWithLiveries,
@@ -126,7 +126,7 @@ export default function RollingStockEditorCurves({
126126
const [selectedCurves, setSelectedCurves] = useState(EmptySelectedCurves);
127127

128128
const dispatchComfortLvl = (value: string) => {
129-
dispatch(updateComfortLvl(value as Comfort));
129+
dispatch(updateComfortLvl(value as RollingStockComfortType));
130130
};
131131
const dispatchTractionMode = (value: string | null) => {
132132
dispatch(updateTractionMode(value));
@@ -398,7 +398,7 @@ export default function RollingStockEditorCurves({
398398
if (!currentRsEffortCurve) return;
399399
const updatedModesCurves = Object.keys(currentRsEffortCurve.modes).reduce((acc, key) => {
400400
const currentMode = currentRsEffortCurve.modes[key];
401-
const newEmptyCurve = createEmptyCurve(value as Comfort);
401+
const newEmptyCurve = createEmptyCurve(value as RollingStockComfortType);
402402
return {
403403
...acc,
404404
[key]: {
@@ -412,7 +412,7 @@ export default function RollingStockEditorCurves({
412412
default_mode: prevState !== null ? prevState.default_mode : currentRsEffortCurve.default_mode,
413413
modes: updatedModesCurves,
414414
}));
415-
dispatchComfortLvl(value as Comfort);
415+
dispatchComfortLvl(value as RollingStockComfortType);
416416
};
417417

418418
const updateTractionModesList = (newTractionMode: string) => {

front/src/modules/rollingStock/components/RollingStockEditor/RollingStockInformationPanel.tsx

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import cx from 'classnames';
22
import React, { useState } from 'react';
3-
import { Comfort, RollingStockWithLiveries } from 'common/api/osrdEditoastApi';
3+
import { RollingStockComfortType, RollingStockWithLiveries } from 'common/api/osrdEditoastApi';
44
import RollingStockCardDetail, {
55
listCurvesComfort,
66
} from 'modules/rollingStock/components/RollingStockCard/RollingStockCardDetail';
@@ -19,7 +19,7 @@ export default function RollingStockInformationPanel({
1919
isEditing,
2020
rollingStock,
2121
}: RollingStockInformationPanelProps) {
22-
const [curvesComfortList, setCurvesComfortList] = useState<Comfort[]>([]);
22+
const [curvesComfortList, setCurvesComfortList] = useState<RollingStockComfortType[]>([]);
2323

2424
return (
2525
<div className={cx('rollingstock-editor-form', { borders: !isEditing })}>

front/src/modules/rollingStock/components/RollingStockSelector/RollingStockHelpers.tsx

+6-2
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,11 @@
11
import React from 'react';
22
import { IoIosSnow } from 'react-icons/io';
33
import { ImFire } from 'react-icons/im';
4-
import { Comfort, LightRollingStock, RollingStock } from 'common/api/osrdEditoastApi';
4+
import {
5+
RollingStockComfortType,
6+
LightRollingStock,
7+
RollingStock,
8+
} from 'common/api/osrdEditoastApi';
59
import { BiLockAlt } from 'react-icons/bi';
610

711
const RollingStockUnit = ({ unit, detail }: { unit: string; detail: string }) => {
@@ -63,7 +67,7 @@ export const RollingStockInfo = ({
6367
);
6468
};
6569

66-
export function comfort2pictogram(comfort: Comfort | undefined) {
70+
export function comfort2pictogram(comfort: RollingStockComfortType | undefined) {
6771
switch (comfort) {
6872
case 'AC':
6973
return (

front/src/modules/rollingStock/components/RollingStockSelector/RollingStockSelector.tsx

+2-2
Original file line numberDiff line numberDiff line change
@@ -6,11 +6,11 @@ import {
66
RollingStockInfo,
77
} from 'modules/rollingStock/components/RollingStockSelector/RollingStockHelpers';
88
import { useModal } from 'common/BootstrapSNCF/ModalSNCF';
9-
import { Comfort, RollingStock } from 'common/api/osrdEditoastApi';
9+
import { RollingStockComfortType, RollingStock } from 'common/api/osrdEditoastApi';
1010

1111
type RollingStockProps = {
1212
rollingStockSelected?: RollingStock;
13-
rollingStockComfort?: Comfort;
13+
rollingStockComfort?: RollingStockComfortType;
1414
image?: JSX.Element;
1515
comfort?: string;
1616
comfortType?: string;

front/src/modules/rollingStock/consts.ts

+5-5
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
11
import {
2-
Comfort,
2+
RollingStockComfortType,
33
ConditionalEffortCurve,
44
EffortCurve,
55
LoadingGaugeType,
66
RollingStockCommon,
77
} from 'common/api/osrdEditoastApi';
88

99
export const THERMAL_TRACTION_IDENTIFIER = 'thermal';
10-
export const STANDARD_COMFORT_LEVEL: Comfort = 'STANDARD';
10+
export const STANDARD_COMFORT_LEVEL: RollingStockComfortType = 'STANDARD';
1111

1212
export const DEFAULT_SELECTORS_CLASSNAME = 'selector-SNCF';
1313

@@ -35,14 +35,14 @@ export type SelectedCurves = {
3535
};
3636

3737
export type RollingStockSelectorParams = {
38-
comfortLevels: Comfort[];
38+
comfortLevels: RollingStockComfortType[];
3939
electricalProfiles: (string | null)[];
4040
powerRestrictions: (string | null)[];
4141
tractionModes: string[];
4242
};
4343

4444
export interface RollingStockSelectorParam {
45-
comfortLevels: Comfort;
45+
comfortLevels: RollingStockComfortType;
4646
electricalProfiles: string | null;
4747
powerRestrictions: string | null;
4848
tractionModes: string;
@@ -326,7 +326,7 @@ const ComfortLevels = {
326326
HEATING: 'HEATING',
327327
};
328328

329-
export const comfortOptions = Object.keys(ComfortLevels) as Comfort[];
329+
export const comfortOptions = Object.keys(ComfortLevels) as RollingStockComfortType[];
330330

331331
export type ElectricalProfileByMode = {
332332
'1500': (string | null)[];

front/src/modules/rollingStock/helpers/utils.ts

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import {
2-
Comfort,
2+
RollingStockComfortType,
33
ConditionalEffortCurve,
44
RollingStock,
55
RollingStockForm,
@@ -203,7 +203,7 @@ export const checkRollingStockFormValidity = (
203203
};
204204

205205
export const createEmptyCurve = (
206-
comfort: Comfort,
206+
comfort: RollingStockComfortType,
207207
electricalProfile: string | null = null,
208208
powerRestriction: string | null = null
209209
) => ({
@@ -216,7 +216,7 @@ export const createEmptyCurve = (
216216
});
217217

218218
/** given a tractionMode and a list of comfort, return empty EffortCurves */
219-
export const createEmptyCurves = (tractionMode: string, comforts: Comfort[]) => ({
219+
export const createEmptyCurves = (tractionMode: string, comforts: RollingStockComfortType[]) => ({
220220
curves: comforts.map((comfort) => createEmptyCurve(comfort)),
221221
default_curve: { speeds: [0], max_efforts: [0] },
222222
is_electric: tractionMode !== THERMAL_TRACTION_IDENTIFIER,

front/src/reducers/rollingstockEditor/index.ts

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import { STANDARD_COMFORT_LEVEL } from 'modules/rollingStock/consts';
2-
import { Comfort } from 'common/api/osrdEditoastApi';
2+
import { RollingStockComfortType } from 'common/api/osrdEditoastApi';
33
import produce from 'immer';
44
import { AnyAction, Dispatch } from 'redux';
55

@@ -10,7 +10,7 @@ export const POWER_RESTRICTION = 'rollingstock/POWER_RESTRICTION';
1010
export const TRACTION_MODE = 'rollingstock/TRACTION_MODE';
1111

1212
export interface RsEditorCurvesState {
13-
comfortLvl: Comfort;
13+
comfortLvl: RollingStockComfortType;
1414
electricalProfile: string | null;
1515
powerRestriction: string | null;
1616
tractionMode: string | null;
@@ -45,7 +45,7 @@ export default function reducer(inputState: RsEditorCurvesState | undefined, act
4545
});
4646
}
4747

48-
export function updateComfortLvl(comfortLvl: Comfort) {
48+
export function updateComfortLvl(comfortLvl: RollingStockComfortType) {
4949
return (dispatch: Dispatch) => {
5050
dispatch({
5151
type: COMFORT_LEVEL,

0 commit comments

Comments
 (0)