Skip to content

Commit 6045089

Browse files
committed
Fix: keep edited route highlighted in edit mode
This prevents the edited route from losing highlight (or showing inconsistent colors) after outside clicks during edit mode.
1 parent cb869f6 commit 6045089

1 file changed

Lines changed: 11 additions & 5 deletions

File tree

ui/src/components/map/routes/Routes.tsx

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ import { useAppSelector } from '../../../hooks';
55
import { Visible } from '../../../layoutComponents';
66
import {
77
Mode,
8+
selectEditedRouteData,
89
selectHasDraftRouteGeometry,
910
selectMapRouteEditor,
1011
selectSelectedRouteId,
@@ -29,10 +30,14 @@ const RoutesImpl: ForwardRefRenderFunction<RouteEditorRef, RoutesProps> = (
2930
const hasDraftRouteGeometry = useAppSelector(selectHasDraftRouteGeometry);
3031
const { drawingMode, creatingNewRoute } =
3132
useAppSelector(selectMapRouteEditor);
33+
const { id: editedRouteId } = useAppSelector(selectEditedRouteData);
34+
const isEditingExistingRoute = drawingMode === Mode.Edit && !creatingNewRoute;
3235

33-
const renderedRouteIds = selectedRouteId
34-
? uniq([...displayedRouteIds, selectedRouteId])
35-
: displayedRouteIds;
36+
const renderedRouteIds = uniq([
37+
...displayedRouteIds,
38+
...(selectedRouteId ? [selectedRouteId] : []),
39+
...(isEditingExistingRoute && editedRouteId ? [editedRouteId] : []),
40+
]);
3641

3742
return (
3843
<>
@@ -54,8 +59,9 @@ const RoutesImpl: ForwardRefRenderFunction<RouteEditorRef, RoutesProps> = (
5459
key={item}
5560
routeId={item}
5661
isSelected={
57-
selectedRouteId === item &&
58-
((drawingMode === Mode.Edit && !creatingNewRoute) ||
62+
(isEditingExistingRoute && editedRouteId === item) ||
63+
(!isEditingExistingRoute &&
64+
selectedRouteId === item &&
5965
!hasDraftRouteGeometry)
6066
}
6167
/>

0 commit comments

Comments
 (0)