Skip to content
Permalink

Comparing changes

This is a direct comparison between two commits made in this repository or its related repositories. View the default comparison for this range or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: OpenRailAssociation/osrd
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: d264d5e0640af51585e114d167d11965695a7c46
Choose a base ref
..
head repository: OpenRailAssociation/osrd
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: 82a5eb12979580176484e4cda34397bfa5615bdc
Choose a head ref
Showing with 10 additions and 4 deletions.
  1. +10 −4 front/src/applications/stdcm/components/StdcmForm/StdcmConfig.tsx
14 changes: 10 additions & 4 deletions front/src/applications/stdcm/components/StdcmForm/StdcmConfig.tsx
Original file line number Diff line number Diff line change
@@ -87,6 +87,7 @@ const StdcmConfig = ({
const formRef = useRef<HTMLDivElement>(null);

const [formErrors, setFormErrors] = useState<StdcmConfigErrors>();
const [ciChanged, setCiChanged] = useState(false);

const { rollingStock } = useStoreDataForRollingStockSelector();
const towedRollingStock = useStdcmTowedRollingStock();
@@ -175,23 +176,28 @@ const StdcmConfig = ({
}, []);

useEffect(() => {
if (origin.location && destination.location && rollingStock?.id) {
setCiChanged(true);
}, [origin.location, destination.location]);

useEffect(() => {
if (ciChanged && origin.location && destination.location && rollingStock?.id) {
setValidationMessage(t('pathfindingStatus.calculating'));
} else {
setValidationMessage(undefined);
}
}, [origin, destination]);
}, [ciChanged, origin.location, destination.location, rollingStock?.id]);

useEffect(() => {
if (pathfinding?.status === 'success') {
if (ciChanged && pathfinding?.status === 'success') {
setValidationMessage(t('pathfindingStatus.success'));
const timer = setTimeout(() => {
setValidationMessage(undefined);
setCiChanged(false);
}, 2000);
return () => clearTimeout(timer);
}
return undefined;
}, [pathfinding?.status]);
}, [pathfinding?.status, ciChanged]);

return (
<div className="stdcm__body">