Skip to content

Commit ad6d531

Browse files
committed
fix comments
1 parent 6d27f72 commit ad6d531

File tree

8 files changed

+173
-74
lines changed

8 files changed

+173
-74
lines changed

front/public/locales/en/operationalStudies/scenario.json

+10-2
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,13 @@
2929
"pacedTrain": {
3030
"pacedTrain": "Paced train"
3131
},
32+
"pacedTrain_one": "1 service",
33+
"pacedTrain_other": "{{count}} services",
34+
"pacedTrain_zero": "0 service",
35+
"pacedTrainCount_one": "1/$t(pacedTrain, { 'count': {{totalCount}} }) selected",
36+
"pacedTrainCount_other": "{{count}}/$t(pacedTrain, { 'count': {{totalCount}} }) selected",
37+
"pacedTrainCount_zero": "$t(pacedTrain, { 'count': {{totalCount}} })",
38+
"pacedTrainAndTrainCount": "{{pacedTrainCount}}/$t(pacedTrain, { 'count': {{totalPacedTrainCount}} }) and {{trainCount}}/$t(train, { 'count': {{totalTrainScheduleCount}} }) selected",
3239
"scenarioCancel": "Cancel",
3340
"scenarioCreateButton": "Create a scenario",
3441
"scenarioCreationTitle": "Create a scenario",
@@ -72,6 +79,7 @@
7279
"simulation_failed": "Simulation failed"
7380
},
7481
"invalidTrains": "Some trains are invalid",
82+
"noItem": "No item",
7583
"noSpeedLimitTags": "Without code",
7684
"noSpeedLimitTagsShort": "None",
7785
"noTrain": "No train",
@@ -95,8 +103,8 @@
95103
"validityFilter": "Trains validity"
96104
},
97105
"toggleTimetable": "Toggle the timetable",
98-
"trainCount_one": "1 out of $t(train, { 'count': {{totalCount}} }) selected",
99-
"trainCount_other": "{{count}} out of $t(train, { 'count': {{totalCount}} }) selected",
106+
"trainCount_one": "1/$t(train, { 'count': {{totalCount}} }) selected",
107+
"trainCount_other": "{{count}}/$t(train, { 'count': {{totalCount}} }) selected",
100108
"trainCount_zero": "$t(train, { 'count': {{totalCount}} })",
101109
"train_one": "1 train",
102110
"train_other": "{{count}} trains",

front/public/locales/fr/operationalStudies/scenario.json

+10-2
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,13 @@
2828
"pacedTrain": {
2929
"pacedTrain": "Mission"
3030
},
31+
"pacedTrain_one": "1 mission",
32+
"pacedTrain_other": "{{count}} missions",
33+
"pacedTrain_zero": "0 mission",
34+
"pacedTrainCount_one": "1/$t(pacedTrain, { 'count': {{totalCount}} }) sélectionnée",
35+
"pacedTrainCount_other": "{{count}}/$t(pacedTrain, { 'count': {{totalCount}} }) sélectionnées",
36+
"pacedTrainCount_zero": "$t(pacedTrain, { 'count': {{totalCount}} })",
37+
"pacedTrainAndTrainCount": "{{pacedTrainCount}}/$t(pacedTrain, { 'count': {{totalPacedTrainCount}} }) et {{trainCount}}/$t(train, { 'count': {{totalTrainScheduleCount}} }) sélectionnés",
3138
"scenarioCancel": "Annuler",
3239
"scenarioCreateButton": "Créer le scénario",
3340
"scenarioCreationTitle": "Créer un scénario",
@@ -71,6 +78,7 @@
7178
"simulation_failed": "Simulation impossible"
7279
},
7380
"invalidTrains": "Certains trains sont invalides",
81+
"noItem": "Aucun item",
7482
"noSpeedLimitTags": "Sans code",
7583
"noSpeedLimitTagsShort": "Aucun",
7684
"noTrain": "Aucun train",
@@ -94,8 +102,8 @@
94102
"validityFilter": "Validité des trains"
95103
},
96104
"toggleTimetable": "Basculer l'affichage de la grille horaire",
97-
"trainCount_one": "1 sélectionné sur $t(train, { 'count': {{totalCount}} })",
98-
"trainCount_other": "{{count}} sélectionnés sur $t(train, { 'count': {{totalCount}} })",
105+
"trainCount_one": "1/$t(train, { 'count': {{totalCount}} }) sélectionné",
106+
"trainCount_other": "{{count}}/$t(train, { 'count': {{totalCount}} }) sélectionnés",
99107
"trainCount_zero": "$t(train, { 'count': {{totalCount}} })",
100108
"train_one": "1 train",
101109
"train_other": "{{count}} trains",

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

+8-2
Original file line numberDiff line numberDiff line change
@@ -90,9 +90,9 @@ const PacedTrainItem = ({
9090
</div>
9191
</div>
9292

93-
{!pacedTrain.invalidReason && (
93+
{!pacedTrain.invalidReason ? (
9494
<div className="paced-train-right-zone">
95-
{pacedTrain.isValid && <div>&mdash;{` ${ms2min(pacedTrainCadence.ms)}min`}</div>}
95+
{pacedTrain.isValid && <div>&mdash;&nbsp;{`${ms2min(pacedTrainCadence.ms)}min`}</div>}
9696
<div
9797
className={cx('status-icon', {
9898
'not-honored-or-too-fast': pacedTrain.notHonoredReason,
@@ -106,6 +106,12 @@ const PacedTrainItem = ({
106106
))}
107107
</div>
108108
</div>
109+
) : (
110+
<div className="invalid-reason">
111+
<span title={t(`timetable.invalid.${pacedTrain.invalidReason}`)}>
112+
{t(`timetable.invalid.${pacedTrain.invalidReason}`)}
113+
</span>
114+
</div>
109115
)}
110116
</div>
111117
<TimetableItemActions

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

+28-20
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,12 @@ import {
3434
import PacedTrainItem from './PacedTrain/PacedTrainItem';
3535
import TimetableToolbar from './TimetableToolbar';
3636
import TrainScheduleItem from './TrainScheduleItem';
37-
import type { PacedTrainWithResult, TimetableItemResult, TrainScheduleWithDetails } from './types';
37+
import type {
38+
PacedTrainWithResult,
39+
SelectedTimetableIdsByType,
40+
TimetableItemResult,
41+
TrainScheduleWithDetails,
42+
} from './types';
3843

3944
type TimetableProps = {
4045
setDisplayTrainScheduleManagement: (mode: string) => void;
@@ -68,10 +73,11 @@ const Timetable = ({
6873

6974
const [displayedTimetableItems, setDisplayedTimetableItems] = useState<TimetableItemResult[]>([]);
7075
const [conflictsListExpanded, setConflictsListExpanded] = useState(false);
71-
const [selectedTimetableItemIds, setSelectedTimetableItemIds] = useState<{
72-
trainScheduleIds: TrainScheduleId[];
73-
pacedTrainIds: PacedTrainId[];
74-
}>({ trainScheduleIds: [], pacedTrainIds: [] });
76+
const [selectedTimetableItemIdsByType, setSelectedTimetableItemIdsByType] =
77+
useState<SelectedTimetableIdsByType>({
78+
selectedTrainScheduleIds: [],
79+
selectedPacedTrainIds: [],
80+
});
7581
const [showTrainDetails, setShowTrainDetails] = useState(false);
7682
const [timetableItems, setTimetableItems] = useState<TimetableItemResult[]>([]);
7783
const selectedTrainId = useSelector(getSelectedTrainId);
@@ -84,7 +90,7 @@ const Timetable = ({
8490

8591
const removeAndUnselectTrains = useCallback((trainIds: TimetableItemId[]) => {
8692
removeTrains(trainIds);
87-
setSelectedTimetableItemIds({ trainScheduleIds: [], pacedTrainIds: [] });
93+
setSelectedTimetableItemIdsByType({ selectedTrainScheduleIds: [], selectedPacedTrainIds: [] });
8894
dtoImport();
8995
}, []);
9096

@@ -94,8 +100,8 @@ const Timetable = ({
94100

95101
const handleSelectTimetableItem = useCallback(
96102
(id: TimetableItemId) => {
97-
const itemType = isTrainSchedule(id) ? 'trainScheduleIds' : 'pacedTrainIds';
98-
const currentSelectedTrainIds: TimetableItemId[] = selectedTimetableItemIds[itemType];
103+
const itemType = isTrainSchedule(id) ? 'selectedTrainScheduleIds' : 'selectedPacedTrainIds';
104+
const currentSelectedTrainIds: TimetableItemId[] = selectedTimetableItemIdsByType[itemType];
99105
const index = currentSelectedTrainIds.indexOf(id as TrainScheduleId);
100106

101107
if (index === -1) {
@@ -104,12 +110,12 @@ const Timetable = ({
104110
currentSelectedTrainIds.splice(index, 1);
105111
}
106112

107-
setSelectedTimetableItemIds({
108-
...selectedTimetableItemIds,
113+
setSelectedTimetableItemIdsByType({
114+
...selectedTimetableItemIdsByType,
109115
[itemType]: currentSelectedTrainIds,
110116
});
111117
},
112-
[selectedTimetableItemIds]
118+
[selectedTimetableItemIdsByType]
113119
);
114120

115121
const handleConflictClick = (conflict: Conflict) => {
@@ -136,7 +142,7 @@ const Timetable = ({
136142
});
137143
}, [currentDepartureDates]);
138144

139-
const selectTimeTableItemToEdit = (itemToEdit: TimetableItemResult) => {
145+
const selectTimetableItemToEdit = (itemToEdit: TimetableItemResult) => {
140146
dispatch(selectTrainToEdit(itemToEdit));
141147
// TODO Paced train : Adapt this to handle paced trains in issue https://github.com/OpenRailAssociation/osrd/issues/10615
142148
setItemIdToEdit(itemToEdit.id);
@@ -194,14 +200,14 @@ const Timetable = ({
194200
timetableItems={timetableItems}
195201
displayedTimetableItems={displayedTimetableItems}
196202
setDisplayedTimetableItems={setDisplayedTimetableItems}
197-
selectedTimetableItemIds={selectedTimetableItemIds}
198-
setSelectedTimetableItemIds={setSelectedTimetableItemIds}
203+
selectedTimetableItemIdsByType={selectedTimetableItemIdsByType}
204+
setSelectedTimetableItemIdsByType={setSelectedTimetableItemIdsByType}
199205
removeTrains={removeAndUnselectTrains}
200206
trainSchedules={trainSchedules}
201207
isInSelection={
202208
[
203-
...selectedTimetableItemIds.pacedTrainIds,
204-
...selectedTimetableItemIds.trainScheduleIds,
209+
...selectedTimetableItemIdsByType.selectedPacedTrainIds,
210+
...selectedTimetableItemIdsByType.selectedTrainScheduleIds,
205211
].length > 0
206212
}
207213
/>
@@ -217,7 +223,7 @@ const Timetable = ({
217223
https://github.com/OpenRailAssociation/osrd/issues/10615 */}
218224
{isTrainSchedule(timetableItem.id) ? (
219225
<TrainScheduleItem
220-
isInSelection={selectedTimetableItemIds.trainScheduleIds.includes(
226+
isInSelection={selectedTimetableItemIdsByType.selectedTrainScheduleIds.includes(
221227
timetableItem.id
222228
)}
223229
handleSelectTrain={handleSelectTimetableItem}
@@ -226,7 +232,7 @@ const Timetable = ({
226232
isModified={timetableItem.id === itemIdToEdit}
227233
upsertTrainSchedules={upsertTrainSchedules}
228234
removeTrains={removeAndUnselectTrains}
229-
selectTrainToEdit={selectTimeTableItemToEdit}
235+
selectTrainToEdit={selectTimetableItemToEdit}
230236
projectionPathIsUsed={
231237
infraState === 'CACHED' && trainIdUsedForProjection === timetableItem.id
232238
}
@@ -235,8 +241,10 @@ const Timetable = ({
235241
) : (
236242
<PacedTrainItem
237243
pacedTrain={timetableItem as PacedTrainWithResult}
238-
isInSelection={selectedTimetableItemIds.pacedTrainIds.includes(timetableItem.id)}
239-
selectPacedTrainToEdit={selectTimeTableItemToEdit}
244+
isInSelection={selectedTimetableItemIdsByType.selectedPacedTrainIds.includes(
245+
timetableItem.id
246+
)}
247+
selectPacedTrainToEdit={selectTimetableItemToEdit}
240248
handleSelectPacedTrain={handleSelectTimetableItem}
241249
isOnEdit={timetableItem.id === itemIdToEdit}
242250
isProjectionPathUsed={false}

0 commit comments

Comments
 (0)