Skip to content

Commit 76af4ae

Browse files
committed
front: drop trainsDurationsIntervals
This is unused. Signed-off-by: Simon Ser <contact@emersion.fr>
1 parent 00f5977 commit 76af4ae

File tree

2 files changed

+23
-51
lines changed

2 files changed

+23
-51
lines changed

front/src/modules/trainschedule/components/Timetable/Timetable.tsx

+23-36
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@ import { useMemo, useState } from 'react';
22

33
import cx from 'classnames';
44
import dayjs from 'dayjs';
5-
import { compact } from 'lodash';
65
import { useTranslation } from 'react-i18next';
76
import { useSelector } from 'react-redux';
87

@@ -13,7 +12,6 @@ import ConflictsList from 'modules/conflict/components/ConflictsList';
1312
import { updateSelectedTrainId } from 'reducers/simulationResults';
1413
import { getTrainIdUsedForProjection } from 'reducers/simulationResults/selectors';
1514
import { useAppDispatch } from 'store';
16-
import { distributedIntervalsFromArrayOfValues } from 'utils/numbers';
1715

1816
import TimetableToolbar from './TimetableToolbar';
1917
import TimetableTrainCard from './TimetableTrainCard';
@@ -57,16 +55,6 @@ const Timetable = ({
5755
const trainIdUsedForProjection = useSelector(getTrainIdUsedForProjection);
5856
const dispatch = useAppDispatch();
5957

60-
const trainsDurationsIntervals = useMemo(
61-
() =>
62-
displayedTrainSchedules.length > 0
63-
? distributedIntervalsFromArrayOfValues(
64-
compact(displayedTrainSchedules.map((train) => train.duration))
65-
)
66-
: [],
67-
[displayedTrainSchedules]
68-
);
69-
7058
const toggleShowTrainDetails = () => {
7159
setShowTrainDetails(!showTrainDetails);
7260
};
@@ -152,30 +140,29 @@ const Timetable = ({
152140
trainSchedules={trainSchedules}
153141
isInSelection={selectedTrainIds.length > 0}
154142
/>
155-
{trainsDurationsIntervals &&
156-
displayedTrainSchedules.map((train: TrainScheduleWithDetails, index) => (
157-
<div key={`timetable-train-card-${train.id}-${train.trainName}`}>
158-
{showDepartureDates[index] && (
159-
<div className="scenario-timetable-departure-date">
160-
{currentDepartureDates[index]}
161-
</div>
162-
)}
163-
<TimetableTrainCard
164-
isInSelection={selectedTrainIds.includes(train.id)}
165-
handleSelectTrain={handleSelectTrain}
166-
train={train}
167-
isSelected={infraState === 'CACHED' && selectedTrainId === train.id}
168-
isModified={train.id === trainIdToEdit}
169-
setDisplayTrainScheduleManagement={setDisplayTrainScheduleManagement}
170-
upsertTrainSchedules={upsertTrainSchedules}
171-
setTrainIdToEdit={setTrainIdToEdit}
172-
removeTrains={removeAndUnselectTrains}
173-
projectionPathIsUsed={
174-
infraState === 'CACHED' && trainIdUsedForProjection === train.id
175-
}
176-
/>
177-
</div>
178-
))}
143+
{displayedTrainSchedules.map((train: TrainScheduleWithDetails, index) => (
144+
<div key={`timetable-train-card-${train.id}-${train.trainName}`}>
145+
{showDepartureDates[index] && (
146+
<div className="scenario-timetable-departure-date">
147+
{currentDepartureDates[index]}
148+
</div>
149+
)}
150+
<TimetableTrainCard
151+
isInSelection={selectedTrainIds.includes(train.id)}
152+
handleSelectTrain={handleSelectTrain}
153+
train={train}
154+
isSelected={infraState === 'CACHED' && selectedTrainId === train.id}
155+
isModified={train.id === trainIdToEdit}
156+
setDisplayTrainScheduleManagement={setDisplayTrainScheduleManagement}
157+
upsertTrainSchedules={upsertTrainSchedules}
158+
setTrainIdToEdit={setTrainIdToEdit}
159+
removeTrains={removeAndUnselectTrains}
160+
projectionPathIsUsed={
161+
infraState === 'CACHED' && trainIdUsedForProjection === train.id
162+
}
163+
/>
164+
</div>
165+
))}
179166
<div
180167
className={cx('bottom-timetables-trains', {
181168
'empty-list': trainSchedulesWithDetails.length === 0,

front/src/utils/numbers.ts

-15
Original file line numberDiff line numberDiff line change
@@ -24,21 +24,6 @@ export function valueToInterval(value?: number, intervals?: number[]) {
2424
return undefined;
2525
}
2626

27-
/**
28-
* This helper takes an array of numbers an determinate 3 distributed intervals based upon the numbers from the array
29-
*/
30-
export function distributedIntervalsFromArrayOfValues(values: number[]) {
31-
values.sort((a, b) => a - b);
32-
const valuesCount = values.length;
33-
const indices = [Math.floor(valuesCount / 3), Math.floor((2 * valuesCount) / 3)];
34-
const intervals = [
35-
values[0],
36-
...indices.map((i) => (valuesCount % 2 === 0 ? (values[i] + values[i - 1]) / 2 : values[i])),
37-
values[valuesCount - 1],
38-
];
39-
return intervals;
40-
}
41-
4227
export function isFloat(n: number) {
4328
return Number(n) === n && n % 1 !== 0;
4429
}

0 commit comments

Comments
 (0)