Skip to content

Commit

Permalink
[Map] fix close side window
Browse files Browse the repository at this point in the history
  • Loading branch information
claire2212 committed Feb 3, 2025
1 parent 0ee9179 commit a3fae72
Show file tree
Hide file tree
Showing 5 changed files with 69 additions and 51 deletions.
105 changes: 58 additions & 47 deletions frontend/src/domain/shared_slices/Global.ts
Original file line number Diff line number Diff line change
Expand Up @@ -83,57 +83,68 @@ type GlobalStateType = {
reportingFormVisibility: ReportingFormVisibilityProps
}
}

const initialMenuState = {
displayAccountButton: true,
displayDashboard: true,
displayDrawModal: false,
displayInterestPoint: true,
displayLayersSidebar: true,
displayLocateOnMap: true,
displayMeasurement: true,
displayMissionMenuButton: true,
displayReportingsButton: true,
displayRightMenuControlUnitListButton: true,
displaySearchSemaphoreButton: true
}

const initialLayers = {
displayDashboardLayer: false,
displayInterestPointLayer: true,
displayMissionEditingLayer: true,
displayMissionSelectedLayer: true,
displayMissionsLayer: true,
displayMissionToAttachLayer: true,
displayReportingEditingLayer: true,
displayReportingSelectedLayer: true,

displayReportingsLayer: true,
displayReportingsOverlay: true,
displayReportingToAttachLayer: true,
displaySemaphoresLayer: true,

displayStationLayer: false,
displayVigilanceAreaLayer: true,
isLayersSidebarVisible: true
}

const initialVisibility = {
isAccountDialogVisible: false,
isControlUnitDialogVisible: false,
isControlUnitListDialogVisible: false,
isDashboardDialogVisible: false,
isLayersSidebarVisible: false,
isSearchMissionsVisible: false,
isSearchReportingsVisible: false,
isSearchSemaphoreVisible: false,
reportingFormVisibility: {
context: ReportingContext.MAP,
visibility: VisibilityState.NONE
}
}

const initialState: GlobalStateType = {
layers: {
displayDashboardLayer: false,
displayInterestPointLayer: true,
displayMissionEditingLayer: true,
displayMissionSelectedLayer: true,
displayMissionsLayer: true,
displayMissionToAttachLayer: true,
displayReportingEditingLayer: true,
displayReportingSelectedLayer: true,

displayReportingsLayer: true,
displayReportingsOverlay: true,
displayReportingToAttachLayer: true,
displaySemaphoresLayer: true,

displayStationLayer: false,
displayVigilanceAreaLayer: true,
isLayersSidebarVisible: true
},
menus: {
displayAccountButton: true,
displayDashboard: true,
displayDrawModal: false,
displayInterestPoint: true,
displayLayersSidebar: true,
displayLocateOnMap: true,
displayMeasurement: true,
displayMissionMenuButton: true,
displayReportingsButton: true,
displayRightMenuControlUnitListButton: true,
displaySearchSemaphoreButton: true
},
layers: initialLayers,
menus: initialMenuState,
overlayCoordinates: [],

previousDisplayedItems: {},
previousDisplayedItems: {
layers: initialLayers,
menus: initialMenuState,
visibility: initialVisibility
},

visibility: {
isAccountDialogVisible: false,
isControlUnitDialogVisible: false,
isControlUnitListDialogVisible: false,
isDashboardDialogVisible: false,
isLayersSidebarVisible: false,
isSearchMissionsVisible: false,
isSearchReportingsVisible: false,
isSearchSemaphoreVisible: false,
reportingFormVisibility: {
context: ReportingContext.MAP,
visibility: VisibilityState.NONE
}
}
visibility: initialVisibility
}

const globalSlice = createSlice({
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,7 @@ export function ActiveDashboardLayer({ map }: BaseMapChildrenProps) {
renderBuffer: 7,
renderOrder: (a, b) => b.get('area') - a.get('area'),
source: layersVectorSourceRef.current,
style: feature => getDashboardStyle(feature),
style: getDashboardStyle,
zIndex: Layers.DASHBOARD.zIndex
})
) as React.MutableRefObject<VectorLayerWithName>
Expand Down Expand Up @@ -175,13 +175,15 @@ export function ActiveDashboardLayer({ map }: BaseMapChildrenProps) {
if (!dashboardAreaFeature) {
return
}
dashboardAreaFeature.setId(`${Layers.DASHBOARDS.code}:${activeDashboardId}`)
dashboardAreaFeature?.setStyle([measurementStyle, measurementStyleWithCenter, dashboardIcon()])

layersVectorSourceRef.current.addFeature(dashboardAreaFeature)
}
}
}, [
activeDashboard,
activeDashboardId,
ampLayers?.entities,
activeDashboard?.ampIds,
activeDashboard?.regulatoryAreaIds,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ import { setReportingFormVisibility, ReportingContext, VisibilityState } from 'd
import { mainWindowActions } from '../../MainWindow/slice'

export const reduceOrCollapseReportingForm = (reportingContext: ReportingContext) => (dispatch, getState) => {
const { reportingFormVisibility } = getState().global
const { reportingFormVisibility } = getState().global.visibility
const newVisibility =
reportingFormVisibility.visibility === VisibilityState.VISIBLE ? VisibilityState.REDUCED : VisibilityState.VISIBLE
dispatch(
Expand Down
7 changes: 7 additions & 0 deletions frontend/src/features/SideWindow/SideWindowLauncher.tsx
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
import { dashboardActions } from '@features/Dashboard/slice'
import { missionActions } from '@features/Mission/slice'
import { reportingActions } from '@features/Reportings/slice'
import { useForceUpdate, NewWindow } from '@mtes-mct/monitor-ui'
import {
Expand All @@ -20,6 +21,8 @@ export function SideWindowLauncher() {
const { forceUpdate } = useForceUpdate()

const missions = useAppSelector(state => state.missionForms.missions)
const activeMissionId = useAppSelector(state => state.missionForms.activeMissionId)
const selectedMissionIdOnMap = useAppSelector(state => state.mission.selectedMissionIdOnMap)
const reportings = useAppSelector(state => state.reporting.reportings)
const dashboards = useAppSelector(state => state.dashboard.dashboards)
const sideWindow = useAppSelector(state => state.sideWindow)
Expand Down Expand Up @@ -60,7 +63,11 @@ export function SideWindowLauncher() {
dispatch(sideWindowActions.close())
dispatch(mainWindowActions.setHasFullHeightRightDialogOpen(false))
dispatch(reportingActions.resetReportingsOnSideWindow(reportingsOpenOnSideWindow))
if (activeMissionId === selectedMissionIdOnMap) {
dispatch(missionActions.resetSelectedMissionIdOnMap())
}
dispatch(missionFormsActions.resetMissions())

dispatch(dashboardActions.resetDashboards())

dispatch(updateMapInteractionListeners(MapInteractionListenerEnum.NONE))
Expand Down
2 changes: 0 additions & 2 deletions frontend/src/features/SideWindow/index.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -81,8 +81,6 @@ export function SideWindow() {
const isCurrentPathIsMissionPage = isMissionPage(currentPath)
if (!isCurrentPathIsMissionPage) {
dispatch(missionFormsActions.resetActiveMissionId())

return
}

const isCurrentPathDashboard = isDashboardPage(currentPath)
Expand Down

0 comments on commit a3fae72

Please sign in to comment.