Skip to content

Commit

Permalink
[Mission] Reset controlUnit filters when zoom on stations from mission
Browse files Browse the repository at this point in the history
  • Loading branch information
claire2212 committed Jan 20, 2025
1 parent e290a3a commit 8df0b0b
Show file tree
Hide file tree
Showing 3 changed files with 13 additions and 1 deletion.
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,9 @@ const controlUnitListDialogSlice = createSlice({
initialState: INITIAL_STATE,
name: 'controlUnitListDialog',
reducers: {
resetFilters() {
return INITIAL_STATE
},
setFilter(
state,
action: PayloadAction<{
Expand Down
6 changes: 6 additions & 0 deletions frontend/src/features/ControlUnit/useCases/centerOnStation.ts
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,8 @@ import { addBufferToExtent } from '../utils'
import type { HomeAppThunk } from '@store/index'
import type { Station } from 'domain/entities/station'

const FIVE_SECONDS = 5000

export const centerOnStation =
(stations: Station.Station[] | Station.StationData[]): HomeAppThunk =>
dispatch => {
Expand Down Expand Up @@ -43,4 +45,8 @@ export const centerOnStation =
}

dispatch(stationActions.hightlightFeatureIds(highlightedStationFeatureIds))

setTimeout(() => {
dispatch(stationActions.hightlightFeatureIds([]))
}, FIVE_SECONDS)
}
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
import { useGetStationsQuery } from '@api/stationsAPI'
import { controlUnitListDialogActions } from '@features/ControlUnit/components/ControlUnitListDialog/slice'
import { centerOnStation } from '@features/ControlUnit/useCases/centerOnStation'
import { isMissionNew } from '@features/Mission/utils'
import {
Expand Down Expand Up @@ -186,7 +187,7 @@ export function ControlUnitSelector({
resourcesHelpers.setValue(nextControlUnitResources)
}

const zoomOnStation = () => {
const zoomOnStation = async () => {
const selectedControlUnit = controlUnitsData?.find(controlUnit => controlUnit.id === unitField.value)
const stations = uniqBy(
bases?.filter(base =>
Expand All @@ -197,11 +198,13 @@ export function ControlUnitSelector({
if (!selectedControlUnit) {
return
}

dispatch(
globalActions.setDisplayedItems({
displayStationLayer: true
})
)
await dispatch(controlUnitListDialogActions.resetFilters())
dispatch(centerOnStation(stations))
}

Expand Down

0 comments on commit 8df0b0b

Please sign in to comment.