Skip to content

Commit

Permalink
feat: refacto post-rebasing
Browse files Browse the repository at this point in the history
  • Loading branch information
maximeperrault committed Oct 25, 2024
1 parent 8fdc2c8 commit 5c08292
Show file tree
Hide file tree
Showing 6 changed files with 31 additions and 14 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -37,11 +37,11 @@ export function DashboardCard({
}
const creationDate = getLocalizedDayjs(dashboard.createdAt).format('DD MMM YYYY')
const numberOfItemsSelected =
dashboard.amps.length +
dashboard.controlUnits.length +
dashboard.regulatoryAreas.length +
dashboard.vigilanceAreas.length +
dashboard.reportings.length
dashboard.ampIds.length +
dashboard.controlUnitIds.length +
dashboard.regulatoryAreaIds.length +
dashboard.vigilanceAreaIds.length +
dashboard.reportingIds.length

return (
isCardVisible && (
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -97,7 +97,7 @@ export function DashboardOverlay({ currentFeatureOver, map, mapClickEvent }: Bas
options={hoveredOptions}
zIndex={5000}
>
{hoveredFeature?.getProperties().dashboard && (
{displayHoveredFeature && (
<DashboardCard
dashboardId={hoveredFeature?.getProperties().dashboard.id}
onClose={close}
Expand Down
10 changes: 5 additions & 5 deletions frontend/src/features/Dashboard/useCases/selectDashboardOnMap.ts
Original file line number Diff line number Diff line change
Expand Up @@ -16,23 +16,23 @@ export const selectDashboardOnMap =
// get dashboard datas
try {
const { data: reportings } = await dispatch(
reportingsAPI.endpoints.getReportingsByIds.initiate(dashboard.reportings)
reportingsAPI.endpoints.getReportingsByIds.initiate(dashboard.reportingIds)
)

const { data: amps } = await dispatch(ampsAPI.endpoints.getAMPs.initiate())

const { data: regulatoryAreas } = await dispatch(regulatoryLayersAPI.endpoints.getRegulatoryLayers.initiate())
const { data: vigilanceAreas } = await dispatch(vigilanceAreasAPI.endpoints.getVigilanceAreas.initiate())

const filteredAmps = Object.values(amps?.entities ?? []).filter(amp => dashboard.amps.includes(amp.id))
const filteredAmps = Object.values(amps?.entities ?? []).filter(amp => dashboard.ampIds.includes(amp.id))
const filteredRegulatoryAreas = Object.values(regulatoryAreas?.entities ?? []).filter(regulatoryArea =>
dashboard.regulatoryAreas.includes(regulatoryArea.id)
dashboard.regulatoryAreaIds.includes(regulatoryArea.id)
)
const filteredReportings = Object.values(reportings?.entities ?? []).filter(reporting =>
dashboard.reportings.includes(+reporting.id)
dashboard.reportingIds.includes(+reporting.id)
)
const filteredVigilanceAreas = Object.values(vigilanceAreas?.entities ?? []).filter(vigilanceArea =>
dashboard.vigilanceAreas.includes(vigilanceArea.id)
dashboard.vigilanceAreaIds.includes(vigilanceArea.id)
)
dispatch(
dashboardActions.setSelectedDashboardOnMap({
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ import { editingReportingStyleFn } from '@features/Reportings/components/Reporti
import { getVigilanceAreaLayerStyle } from '@features/VigilanceArea/components/VigilanceAreaLayer/style'
import { getVigilanceAreaZoneFeature } from '@features/VigilanceArea/components/VigilanceAreaLayer/vigilanceAreaGeometryHelper'
import { OPENLAYERS_PROJECTION, WSG84_PROJECTION } from '@mtes-mct/monitor-ui'
import { getOverlayCoordinates } from 'domain/shared_slices/Global'
import { Feature } from 'ol'
import { GeoJSON as OLGeoJSON } from 'ol/format'
import { type Geometry } from 'ol/geom'
Expand Down Expand Up @@ -51,6 +52,18 @@ export function SelectedDashboardLayer({ map }: BaseMapChildrenProps) {
return () => {}
}, [map])

const overlayCoordinates = useAppSelector(state =>
getOverlayCoordinates(state.global, `${Layers.DASHBOARDS.code}:${selectedDashboardOnMap?.id}`)
)

useEffect(() => {
const feature = dashboardDatasVectorSourceRef.current.getFeatureById(
`${Layers.DASHBOARDS.code}:${selectedDashboardOnMap?.id}`
)

feature?.setProperties({ overlayCoordinates })
}, [overlayCoordinates, selectedDashboardOnMap])

useEffect(() => {
dashboardDatasVectorLayerRef.current?.setVisible(displayDashboardLayer)
}, [displayDashboardLayer])
Expand All @@ -66,7 +79,9 @@ export function SelectedDashboardLayer({ map }: BaseMapChildrenProps) {
})
const feats: Feature[] = []
const feat = new Feature({ geometry })

feat.setStyle([measurementStyle, measurementStyleWithCenter])
feat.setId(`${Layers.DASHBOARDS.code}:${selectedDashboardOnMap?.id}`)
feats.push(feat)
selectedDashboardOnMap.reportings.forEach(reporting => {
const reportingFeature = getReportingZoneFeature(reporting, Dashboard.featuresCode.DASHBOARD_REPORTINGS)
Expand Down
3 changes: 0 additions & 3 deletions frontend/src/features/map/layers/Dashboards/index.tsx
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
import { useGetDashboardsQuery } from '@api/dashboardsAPI'
import { dashboardActions } from '@features/Dashboard/slice'
import { selectDashboardOnMap } from '@features/Dashboard/useCases/selectDashboardOnMap'
import { OPENLAYERS_PROJECTION, THEME, WSG84_PROJECTION } from '@mtes-mct/monitor-ui'
import { convertToFeature } from 'domain/types/map'
Expand Down Expand Up @@ -77,8 +76,6 @@ export function DashboardsLayer({ map, mapClickEvent }: BaseMapChildrenProps) {
if (feature.getId()?.toString()?.includes(Layers.DASHBOARDS.code)) {
dispatch(selectDashboardOnMap(feature.getProperties().dashboard))
}
} else {
dispatch(dashboardActions.setSelectedDashboardOnMap())
}
}, [dispatch, mapClickEvent])
}
Expand Down
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
import { dashboardActions } from '@features/Dashboard/slice'
import { missionActions } from '@features/missions/slice'
import { Layers } from 'domain/entities/layers/constants'
import { reportingActions } from 'domain/shared_slices/reporting'
Expand Down Expand Up @@ -194,6 +195,10 @@ export function OverlayPositionOnCentroid({
if (!featureId.includes(Layers.REPORTINGS.code)) {
dispatch(reportingActions.setSelectedReportingIdOnMap(undefined))
}

if (!featureId.includes(Layers.DASHBOARDS.code)) {
dispatch(dashboardActions.setSelectedDashboardOnMap(undefined))
}
}
}, [dispatch, mapClickEvent?.feature])

Expand Down

0 comments on commit 5c08292

Please sign in to comment.