Skip to content

Commit

Permalink
fix comments
Browse files Browse the repository at this point in the history
  • Loading branch information
Uriel-Sautron committed Feb 21, 2025
1 parent 6d27f72 commit ad6d531
Show file tree
Hide file tree
Showing 8 changed files with 173 additions and 74 deletions.
12 changes: 10 additions & 2 deletions front/public/locales/en/operationalStudies/scenario.json
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,13 @@
"pacedTrain": {
"pacedTrain": "Paced train"
},
"pacedTrain_one": "1 service",
"pacedTrain_other": "{{count}} services",
"pacedTrain_zero": "0 service",
"pacedTrainCount_one": "1/$t(pacedTrain, { 'count': {{totalCount}} }) selected",
"pacedTrainCount_other": "{{count}}/$t(pacedTrain, { 'count': {{totalCount}} }) selected",
"pacedTrainCount_zero": "$t(pacedTrain, { 'count': {{totalCount}} })",
"pacedTrainAndTrainCount": "{{pacedTrainCount}}/$t(pacedTrain, { 'count': {{totalPacedTrainCount}} }) and {{trainCount}}/$t(train, { 'count': {{totalTrainScheduleCount}} }) selected",
"scenarioCancel": "Cancel",
"scenarioCreateButton": "Create a scenario",
"scenarioCreationTitle": "Create a scenario",
Expand Down Expand Up @@ -72,6 +79,7 @@
"simulation_failed": "Simulation failed"
},
"invalidTrains": "Some trains are invalid",
"noItem": "No item",
"noSpeedLimitTags": "Without code",
"noSpeedLimitTagsShort": "None",
"noTrain": "No train",
Expand All @@ -95,8 +103,8 @@
"validityFilter": "Trains validity"
},
"toggleTimetable": "Toggle the timetable",
"trainCount_one": "1 out of $t(train, { 'count': {{totalCount}} }) selected",
"trainCount_other": "{{count}} out of $t(train, { 'count': {{totalCount}} }) selected",
"trainCount_one": "1/$t(train, { 'count': {{totalCount}} }) selected",
"trainCount_other": "{{count}}/$t(train, { 'count': {{totalCount}} }) selected",
"trainCount_zero": "$t(train, { 'count': {{totalCount}} })",
"train_one": "1 train",
"train_other": "{{count}} trains",
Expand Down
12 changes: 10 additions & 2 deletions front/public/locales/fr/operationalStudies/scenario.json
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,13 @@
"pacedTrain": {
"pacedTrain": "Mission"
},
"pacedTrain_one": "1 mission",
"pacedTrain_other": "{{count}} missions",
"pacedTrain_zero": "0 mission",
"pacedTrainCount_one": "1/$t(pacedTrain, { 'count': {{totalCount}} }) sélectionnée",
"pacedTrainCount_other": "{{count}}/$t(pacedTrain, { 'count': {{totalCount}} }) sélectionnées",
"pacedTrainCount_zero": "$t(pacedTrain, { 'count': {{totalCount}} })",
"pacedTrainAndTrainCount": "{{pacedTrainCount}}/$t(pacedTrain, { 'count': {{totalPacedTrainCount}} }) et {{trainCount}}/$t(train, { 'count': {{totalTrainScheduleCount}} }) sélectionnés",
"scenarioCancel": "Annuler",
"scenarioCreateButton": "Créer le scénario",
"scenarioCreationTitle": "Créer un scénario",
Expand Down Expand Up @@ -71,6 +78,7 @@
"simulation_failed": "Simulation impossible"
},
"invalidTrains": "Certains trains sont invalides",
"noItem": "Aucun item",
"noSpeedLimitTags": "Sans code",
"noSpeedLimitTagsShort": "Aucun",
"noTrain": "Aucun train",
Expand All @@ -94,8 +102,8 @@
"validityFilter": "Validité des trains"
},
"toggleTimetable": "Basculer l'affichage de la grille horaire",
"trainCount_one": "1 sélectionné sur $t(train, { 'count': {{totalCount}} })",
"trainCount_other": "{{count}} sélectionnés sur $t(train, { 'count': {{totalCount}} })",
"trainCount_one": "1/$t(train, { 'count': {{totalCount}} }) sélectionné",
"trainCount_other": "{{count}}/$t(train, { 'count': {{totalCount}} }) sélectionnés",
"trainCount_zero": "$t(train, { 'count': {{totalCount}} })",
"train_one": "1 train",
"train_other": "{{count}} trains",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -90,9 +90,9 @@ const PacedTrainItem = ({
</div>
</div>

{!pacedTrain.invalidReason && (
{!pacedTrain.invalidReason ? (
<div className="paced-train-right-zone">
{pacedTrain.isValid && <div>&mdash;{` ${ms2min(pacedTrainCadence.ms)}min`}</div>}
{pacedTrain.isValid && <div>&mdash;&nbsp;{`${ms2min(pacedTrainCadence.ms)}min`}</div>}
<div
className={cx('status-icon', {
'not-honored-or-too-fast': pacedTrain.notHonoredReason,
Expand All @@ -106,6 +106,12 @@ const PacedTrainItem = ({
))}
</div>
</div>
) : (
<div className="invalid-reason">
<span title={t(`timetable.invalid.${pacedTrain.invalidReason}`)}>
{t(`timetable.invalid.${pacedTrain.invalidReason}`)}
</span>
</div>
)}
</div>
<TimetableItemActions
Expand Down
48 changes: 28 additions & 20 deletions front/src/modules/trainschedule/components/Timetable/Timetable.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,12 @@ import {
import PacedTrainItem from './PacedTrain/PacedTrainItem';
import TimetableToolbar from './TimetableToolbar';
import TrainScheduleItem from './TrainScheduleItem';
import type { PacedTrainWithResult, TimetableItemResult, TrainScheduleWithDetails } from './types';
import type {
PacedTrainWithResult,
SelectedTimetableIdsByType,
TimetableItemResult,
TrainScheduleWithDetails,
} from './types';

type TimetableProps = {
setDisplayTrainScheduleManagement: (mode: string) => void;
Expand Down Expand Up @@ -68,10 +73,11 @@ const Timetable = ({

const [displayedTimetableItems, setDisplayedTimetableItems] = useState<TimetableItemResult[]>([]);
const [conflictsListExpanded, setConflictsListExpanded] = useState(false);
const [selectedTimetableItemIds, setSelectedTimetableItemIds] = useState<{
trainScheduleIds: TrainScheduleId[];
pacedTrainIds: PacedTrainId[];
}>({ trainScheduleIds: [], pacedTrainIds: [] });
const [selectedTimetableItemIdsByType, setSelectedTimetableItemIdsByType] =
useState<SelectedTimetableIdsByType>({
selectedTrainScheduleIds: [],
selectedPacedTrainIds: [],
});
const [showTrainDetails, setShowTrainDetails] = useState(false);
const [timetableItems, setTimetableItems] = useState<TimetableItemResult[]>([]);
const selectedTrainId = useSelector(getSelectedTrainId);
Expand All @@ -84,7 +90,7 @@ const Timetable = ({

const removeAndUnselectTrains = useCallback((trainIds: TimetableItemId[]) => {
removeTrains(trainIds);
setSelectedTimetableItemIds({ trainScheduleIds: [], pacedTrainIds: [] });
setSelectedTimetableItemIdsByType({ selectedTrainScheduleIds: [], selectedPacedTrainIds: [] });
dtoImport();
}, []);

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

const handleSelectTimetableItem = useCallback(
(id: TimetableItemId) => {
const itemType = isTrainSchedule(id) ? 'trainScheduleIds' : 'pacedTrainIds';
const currentSelectedTrainIds: TimetableItemId[] = selectedTimetableItemIds[itemType];
const itemType = isTrainSchedule(id) ? 'selectedTrainScheduleIds' : 'selectedPacedTrainIds';
const currentSelectedTrainIds: TimetableItemId[] = selectedTimetableItemIdsByType[itemType];
const index = currentSelectedTrainIds.indexOf(id as TrainScheduleId);

if (index === -1) {
Expand All @@ -104,12 +110,12 @@ const Timetable = ({
currentSelectedTrainIds.splice(index, 1);
}

setSelectedTimetableItemIds({
...selectedTimetableItemIds,
setSelectedTimetableItemIdsByType({
...selectedTimetableItemIdsByType,
[itemType]: currentSelectedTrainIds,
});
},
[selectedTimetableItemIds]
[selectedTimetableItemIdsByType]
);

const handleConflictClick = (conflict: Conflict) => {
Expand All @@ -136,7 +142,7 @@ const Timetable = ({
});
}, [currentDepartureDates]);

const selectTimeTableItemToEdit = (itemToEdit: TimetableItemResult) => {
const selectTimetableItemToEdit = (itemToEdit: TimetableItemResult) => {
dispatch(selectTrainToEdit(itemToEdit));
// TODO Paced train : Adapt this to handle paced trains in issue https://github.com/OpenRailAssociation/osrd/issues/10615
setItemIdToEdit(itemToEdit.id);
Expand Down Expand Up @@ -194,14 +200,14 @@ const Timetable = ({
timetableItems={timetableItems}
displayedTimetableItems={displayedTimetableItems}
setDisplayedTimetableItems={setDisplayedTimetableItems}
selectedTimetableItemIds={selectedTimetableItemIds}
setSelectedTimetableItemIds={setSelectedTimetableItemIds}
selectedTimetableItemIdsByType={selectedTimetableItemIdsByType}
setSelectedTimetableItemIdsByType={setSelectedTimetableItemIdsByType}
removeTrains={removeAndUnselectTrains}
trainSchedules={trainSchedules}
isInSelection={
[
...selectedTimetableItemIds.pacedTrainIds,
...selectedTimetableItemIds.trainScheduleIds,
...selectedTimetableItemIdsByType.selectedPacedTrainIds,
...selectedTimetableItemIdsByType.selectedTrainScheduleIds,
].length > 0
}
/>
Expand All @@ -217,7 +223,7 @@ const Timetable = ({
https://github.com/OpenRailAssociation/osrd/issues/10615 */}
{isTrainSchedule(timetableItem.id) ? (
<TrainScheduleItem
isInSelection={selectedTimetableItemIds.trainScheduleIds.includes(
isInSelection={selectedTimetableItemIdsByType.selectedTrainScheduleIds.includes(
timetableItem.id
)}
handleSelectTrain={handleSelectTimetableItem}
Expand All @@ -226,7 +232,7 @@ const Timetable = ({
isModified={timetableItem.id === itemIdToEdit}
upsertTrainSchedules={upsertTrainSchedules}
removeTrains={removeAndUnselectTrains}
selectTrainToEdit={selectTimeTableItemToEdit}
selectTrainToEdit={selectTimetableItemToEdit}
projectionPathIsUsed={
infraState === 'CACHED' && trainIdUsedForProjection === timetableItem.id
}
Expand All @@ -235,8 +241,10 @@ const Timetable = ({
) : (
<PacedTrainItem
pacedTrain={timetableItem as PacedTrainWithResult}
isInSelection={selectedTimetableItemIds.pacedTrainIds.includes(timetableItem.id)}
selectPacedTrainToEdit={selectTimeTableItemToEdit}
isInSelection={selectedTimetableItemIdsByType.selectedPacedTrainIds.includes(
timetableItem.id
)}
selectPacedTrainToEdit={selectTimetableItemToEdit}
handleSelectPacedTrain={handleSelectTimetableItem}
isOnEdit={timetableItem.id === itemIdToEdit}
isProjectionPathUsed={false}
Expand Down
Loading

0 comments on commit ad6d531

Please sign in to comment.