From fc987316b06344c4e6a385e22785245f96b9831d Mon Sep 17 00:00:00 2001 From: SarahBellaha Date: Wed, 6 Nov 2024 08:33:27 +0100 Subject: [PATCH] front: be able to search a TVM signal Signed-off-by: SarahBellaha --- front/src/common/Map/Search/MapSearchSignal.tsx | 12 ++++++++---- front/src/common/Map/utils.ts | 11 +++++++++++ 2 files changed, 19 insertions(+), 4 deletions(-) diff --git a/front/src/common/Map/Search/MapSearchSignal.tsx b/front/src/common/Map/Search/MapSearchSignal.tsx index 8a3b61d56b7..ce4e0afbcbd 100644 --- a/front/src/common/Map/Search/MapSearchSignal.tsx +++ b/front/src/common/Map/Search/MapSearchSignal.tsx @@ -13,7 +13,11 @@ import InputSNCF from 'common/BootstrapSNCF/InputSNCF'; import MultiSelectSNCF from 'common/BootstrapSNCF/MultiSelectSNCF'; import SelectImproved from 'common/BootstrapSNCF/SelectImprovedSNCF'; import SignalCard from 'common/Map/Search/SignalCard'; -import { createMapSearchQuery, onResultSearchClick } from 'common/Map/utils'; +import { + createMapSearchQuery, + createTrackSystemQuery, + onResultSearchClick, +} from 'common/Map/utils'; import { useInfraID } from 'common/osrdContext'; import { setFailure } from 'reducers/main'; import type { Viewport } from 'reducers/map'; @@ -101,7 +105,7 @@ const MapSearchSignal = ({ updateExtViewport, closeMapSearchPopUp }: MapSearchSi lineSearch: string, signalName: string, infraIDPayload: number, - trackSystems: string[], + trackSystem: string, settings: string[] ): SearchPayload => { const payloadQuery = createMapSearchQuery(lineSearch, { @@ -114,7 +118,7 @@ const MapSearchSignal = ({ updateExtViewport, closeMapSearchPopUp }: MapSearchSi 'and', ['=', ['infra_id'], infraIDPayload], !lineSearch || payloadQuery, - !trackSystems.length || ['contains', ['list', ...trackSystems], ['signaling_systems']], + !trackSystem || createTrackSystemQuery(trackSystem), !settings.length || ['contains', ['settings'], ['list', ...settings]], ['search', ['label'], signalName], ], @@ -127,7 +131,7 @@ const MapSearchSignal = ({ updateExtViewport, closeMapSearchPopUp }: MapSearchSi searchLineState, searchState, infraIDPayload, - signalSystem === SIGNALING_SYSTEMS.ALL ? [] : [signalSystem], + signalSystem === SIGNALING_SYSTEMS.ALL ? '' : signalSystem, settings ); await postSearch({ diff --git a/front/src/common/Map/utils.ts b/front/src/common/Map/utils.ts index 12696ebfdb9..7548e1d37aa 100644 --- a/front/src/common/Map/utils.ts +++ b/front/src/common/Map/utils.ts @@ -59,6 +59,17 @@ export function createMapSearchQuery( : ['search', [nameColumn], searchState]; } +export function createTrackSystemQuery(trackSystem: string) { + if (trackSystem === 'TVM') { + return [ + 'or', + ['contains', ['list', 'TVM300'], ['signaling_systems']], + ['contains', ['list', 'TVM430'], ['signaling_systems']], + ]; + } + return ['contains', ['list', trackSystem], ['signaling_systems']]; +} + export function removeSearchItemMarkersOnMap(dispatch: AppDispatch) { dispatch(updateMapSearchMarker(undefined)); dispatch(updateLineSearchCode(undefined));