Skip to content

Commit c902bd2

Browse files
committed
front: fix infra lock status
1 parent 43ed182 commit c902bd2

File tree

1 file changed

+14
-6
lines changed

1 file changed

+14
-6
lines changed

front/src/applications/editor/Editor.tsx

+14-6
Original file line numberDiff line numberDiff line change
@@ -19,15 +19,15 @@ import { useSwitchTypes } from 'applications/editor/tools/switchEdition/types';
1919
import type { switchProps } from 'applications/editor/tools/switchProps';
2020
import type { CommonToolState } from 'applications/editor/tools/types';
2121
import { centerMapOnObject, selectEntities } from 'applications/editor/tools/utils';
22-
import type { ObjectType } from 'common/api/osrdEditoastApi';
22+
import { osrdEditoastApi, type ObjectType } from 'common/api/osrdEditoastApi';
2323
import { useModal } from 'common/BootstrapSNCF/ModalSNCF';
2424
import { LoaderState } from 'common/Loaders';
2525
import MapButtons from 'common/Map/Buttons/MapButtons';
2626
import MapSearch from 'common/Map/Search/MapSearch';
2727
import { useInfraID, useOsrdActions } from 'common/osrdContext';
2828
import Tipped from 'common/Tipped';
2929
import type { EditorSliceActions } from 'reducers/editor';
30-
import { getEditorState, getInfraLockStatus } from 'reducers/editor/selectors';
30+
import { getEditorState } from 'reducers/editor/selectors';
3131
import { loadDataModel, updateTotalsIssue } from 'reducers/editor/thunkActions';
3232
import { setFailure } from 'reducers/main';
3333
import { getIsLoading } from 'reducers/main/mainSelector';
@@ -49,7 +49,6 @@ const Editor = () => {
4949
const { urlInfra } = useParams();
5050
const infraID = useInfraID();
5151
const [searchParams, setSearchParams] = useSearchParams();
52-
const isLocked = useSelector(getInfraLockStatus);
5352
const isLoading = useSelector(getIsLoading);
5453
const editorState = useSelector(getEditorState);
5554
const switchTypes = useSwitchTypes(infraID);
@@ -65,6 +64,17 @@ const Editor = () => {
6564
}, [setRenderingFingerprint]);
6665

6766
const [isFormSubmited, setIsFormSubmited] = useState(false);
67+
const [getInfraById, { data: infra }] = osrdEditoastApi.endpoints.getInfraById.useLazyQuery({});
68+
69+
/**
70+
* When infra id changes
71+
* => fetch it
72+
*/
73+
useEffect(() => {
74+
if (infraID) {
75+
getInfraById({ id: infraID });
76+
}
77+
}, [infraID, getInfraById]);
6878

6979
const switchTool = useCallback(
7080
({ toolType, toolState }: switchProps) => {
@@ -147,7 +157,6 @@ const Editor = () => {
147157
dispatch,
148158
editorState,
149159
infraID,
150-
isInfraLocked: isLocked,
151160
isLoading,
152161
isFormSubmited,
153162
setIsFormSubmited,
@@ -166,7 +175,6 @@ const Editor = () => {
166175
switchTypes,
167176
viewport,
168177
isLoading,
169-
isLocked,
170178
isFormSubmited,
171179
setIsFormSubmited,
172180
]
@@ -387,7 +395,7 @@ const Editor = () => {
387395
})}
388396
</div>
389397
<div>
390-
{isLocked && (
398+
{infra?.locked && (
391399
<div className="infra-locked bg-yellow">{t('Editor.infra-errors.infra-locked')}</div>
392400
)}
393401
{toolAndState.tool.leftPanelComponent && (

0 commit comments

Comments
 (0)