Skip to content

Commit

Permalink
front: ensure behavior for non-recognized points in path
Browse files Browse the repository at this point in the history
Signed-off-by: Achraf Mohyeddine <[email protected]>
  • Loading branch information
achrafmohye committed Nov 7, 2024
1 parent c3d0409 commit 5028bd0
Show file tree
Hide file tree
Showing 4 changed files with 15 additions and 5 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -91,6 +91,7 @@
"pathfinding": "Path search",
"pathfindingDone": "Pathfinding done.",
"pathfindingError": "An error occurred in pathfinding: {{errorMessage}}.",
"InvalidTrainScheduleStep": "At least one of the waypoints could not be recognized",
"pathfindingInProgress": "Pathfinding in progress…",
"pathfindingMissingParams": "Missing parameters for pathfinding: {{missingElements}}.",
"pathfindingMissingParamsSimple": "Missing information for the search",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -91,6 +91,7 @@
"pathfinding": "Recherche d’itinéraire",
"pathfindingDone": "Recherche d'itinéraire terminée.",
"pathfindingError": "Erreur dans la recherche d’itinéraire : {{errorMessage}}.",
"InvalidTrainScheduleStep": "Au moins un des points de passage n'a pas été reconnu",
"pathfindingInProgress": "Recherche d’itinéraire en cours…",
"pathfindingMissingParams": "Éléments manquants pour la recherche : {{missingElements}}.",
"pathfindingMissingParamsSimple": "Informations manquantes pour la recherche",
Expand Down
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
import { useEffect } from 'react';

import { Alert, CheckCircle, Stop } from '@osrd-project/ui-icons';
import cx from 'classnames';
import { isEqual } from 'lodash';
Expand All @@ -10,6 +12,7 @@ import infraLogo from 'assets/pictures/components/tracks.svg';
import { Spinner } from 'common/Loaders';
import { useOsrdConfSelectors } from 'common/osrdContext';
import { usePathfinding } from 'modules/pathfinding/hooks/usePathfinding';
import { isPathStepInvalid } from 'modules/pathfinding/utils';
import { useStoreDataForRollingStockSelector } from 'modules/rollingStock/components/RollingStockSelector/useStoreDataForRollingStockSelector';
import { conditionalStringConcat, formatKmValue } from 'utils/strings';

Expand All @@ -23,7 +26,9 @@ type PathfindingProps = {
const Pathfinding = ({ pathProperties, setPathProperties }: PathfindingProps) => {
const { t } = useTranslation(['operationalStudies/manageTrainSchedule']);

const { getOrigin, getDestination } = useOsrdConfSelectors();
const { getOrigin, getDestination, getPathSteps } = useOsrdConfSelectors();
const pathSteps = useSelector(getPathSteps);
const hasInvalidPathStep = pathSteps.some((pathStep) => isPathStepInvalid(pathStep));
const origin = useSelector(getOrigin, isEqual);
const destination = useSelector(getDestination, isEqual);
const { rollingStock } = useStoreDataForRollingStockSelector();
Expand Down Expand Up @@ -61,7 +66,8 @@ const Pathfinding = ({ pathProperties, setPathProperties }: PathfindingProps) =>
!pathfindingState.running &&
pathfindingState.done &&
origin &&
destination && (
destination &&
!hasInvalidPathStep && (
<div className="content pathfinding-done">
<span className="lead" data-testid="result-pathfinding-done">
<CheckCircle />
Expand All @@ -83,7 +89,7 @@ const Pathfinding = ({ pathProperties, setPathProperties }: PathfindingProps) =>
</div>
) : (
<>
{pathfindingState.error && (
{(pathfindingState.error || hasInvalidPathStep) && (
<div
className={cx('content pathfinding-error', {
'mt-2': infra && infra.state !== 'CACHED',
Expand All @@ -93,7 +99,9 @@ const Pathfinding = ({ pathProperties, setPathProperties }: PathfindingProps) =>
<Stop />
</span>
<span className="flex-grow-1">
{t('pathfindingError', { errorMessage: t(pathfindingState.error) })}
{hasInvalidPathStep
? t('InvalidTrainScheduleStep')
: t('pathfindingError', { errorMessage: t(pathfindingState.error) })}
</span>
</div>
)}
Expand Down
2 changes: 1 addition & 1 deletion front/src/modules/pathfinding/hooks/usePathfinding.ts
Original file line number Diff line number Diff line change
Expand Up @@ -219,7 +219,7 @@ export const usePathfinding = (
},
});
}
}, [origin?.id, destination?.id, rollingStock]);
}, [origin, destination, rollingStock]);

const handleInvalidPathItems = (
steps: (PathStep | null)[],
Expand Down

0 comments on commit 5028bd0

Please sign in to comment.