Skip to content

Commit

Permalink
[Map] hide mission and reporting zone when pop-up is closed
Browse files Browse the repository at this point in the history
  • Loading branch information
claire2212 committed Sep 13, 2024
1 parent e547aa0 commit 2537ae2
Show file tree
Hide file tree
Showing 7 changed files with 26 additions and 12 deletions.
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import { MissionCard } from '@features/map/overlays/missions/MissionCard'
import { OverlayPositionOnCentroid } from '@features/map/overlays/OverlayPositionOnCentroid'
import { MissionCard } from '@features/missions/Overlays/MissionCard'
import { useAppSelector } from '@hooks/useAppSelector'
import { Layers } from 'domain/entities/layers/constants'
import { convertToFeature } from 'domain/types/map'
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ const SUPER_USER_MARGINS = {
xRight: -55,
yBottom: 50,
yMiddle: 100,
yTop: -170
yTop: -200
}

const MARGINS = {
Expand Down
2 changes: 1 addition & 1 deletion frontend/src/features/map/index.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -24,11 +24,11 @@ import { RegulatoryPreviewLayer } from './layers/Regulatory/RegulatoryPreviewLay
import { MapExtentController } from './MapExtentController'
import { MapHistory } from './MapHistory'
import { ActionOverlay } from './overlays/actions'
import { MissionOverlays } from './overlays/missions'
import { ZoomListener } from './ZoomListener'
import { InterestPointLayer } from '../InterestPoint/components/InterestPointLayer'
import { ReportingToAttachLayer } from '../missions/Layers/ReportingToAttach'
import { HoveredReportingToAttachLayer } from '../missions/Layers/ReportingToAttach/HoveredReportingToAttachLayer'
import { MissionOverlays } from '../missions/Overlays'
import { ReportingToAttachOverlays } from '../missions/Overlays/ReportingToAttach'
import { MissionToAttachLayer } from '../Reportings/components/ReportingLayer/MissionToAttach'
import { HoveredMissionToAttachLayer } from '../Reportings/components/ReportingLayer/MissionToAttach/HoveredMissionToAttachLayer'
Expand Down
21 changes: 18 additions & 3 deletions frontend/src/features/map/overlays/OverlayPositionOnCentroid.tsx
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
import { missionActions } from '@features/missions/slice'
import { Layers } from 'domain/entities/layers/constants'
import { reportingActions } from 'domain/shared_slices/reporting'
import { resetSelectedSemaphore } from 'domain/shared_slices/SemaphoresSlice'
import { convertToFeature, type MapClickEvent } from 'domain/types/map'
import { setOpenedOverlay } from 'domain/use_cases/map/setOpenedOverlay'
Expand Down Expand Up @@ -173,14 +175,27 @@ export function OverlayPositionOnCentroid({

useEffect(() => {
const selectedFeature = convertToFeature(mapClickEvent?.feature)

if (selectedFeature) {
unselectSemaphore(selectedFeature)
unselectPreviousFeature(selectedFeature)
dispatch(setOpenedOverlay(String(selectedFeature.getId())))
}

function unselectSemaphore(semaphoreFeature: Feature<Geometry>) {
if (!String(semaphoreFeature.getId()).includes(Layers.SEMAPHORES.code)) {
function unselectPreviousFeature(nextFeature: Feature<Geometry>) {
const featureId = String(nextFeature.getId())
if (!featureId.includes(Layers.SEMAPHORES.code)) {
dispatch(resetSelectedSemaphore())

return
}
if (!featureId.includes(Layers.MISSIONS.code)) {
dispatch(missionActions.resetSelectedMissionIdOnMap())

return
}

if (!featureId.includes(Layers.REPORTINGS.code)) {
dispatch(reportingActions.setSelectedReportingIdOnMap(undefined))
}
}
}, [dispatch, mapClickEvent?.feature])
Expand Down
1 change: 0 additions & 1 deletion frontend/src/features/map/overlays/position.ts
Original file line number Diff line number Diff line change
Expand Up @@ -110,7 +110,6 @@ export enum OverlayPosition {
*/
export function getTopLeftMargin(nextOverlayPosition: OverlayPosition, margins: Margins) {
const { xLeft, xMiddle, xRight, yBottom, yMiddle, yTop } = margins

switch (nextOverlayPosition) {
case OverlayPosition.TOP_LEFT:
return [yTop, xLeft]
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,12 +3,12 @@ import { convertToFeature } from 'domain/types/map'
import { useState } from 'react'

import { MissionCard } from './MissionCard'
import { Layers } from '../../../../domain/entities/layers/constants'
import { useAppSelector } from '../../../../hooks/useAppSelector'
import { OverlayPositionOnCentroid } from '../OverlayPositionOnCentroid'
import { Layers } from '../../../domain/entities/layers/constants'
import { useAppSelector } from '../../../hooks/useAppSelector'
import { OverlayPositionOnCentroid } from '../../map/overlays/OverlayPositionOnCentroid'

import type { VectorLayerWithName } from '../../../../domain/types/layer'
import type { BaseMapChildrenProps } from '../../BaseMap'
import type { VectorLayerWithName } from '../../../domain/types/layer'
import type { BaseMapChildrenProps } from '../../map/BaseMap'

const OPTIONS = {
margins: {
Expand Down

0 comments on commit 2537ae2

Please sign in to comment.