Skip to content

Commit

Permalink
[Tech] clean and refacto
Browse files Browse the repository at this point in the history
  • Loading branch information
claire2212 committed Oct 13, 2023
1 parent 85b7cd2 commit 8128055
Show file tree
Hide file tree
Showing 19 changed files with 86 additions and 342 deletions.
2 changes: 2 additions & 0 deletions frontend/src/domain/use_cases/missions/deleteMission.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ import { sideWindowActions } from '../../../features/SideWindow/slice'
import { sideWindowPaths } from '../../entities/sideWindow'
import { setToast } from '../../shared_slices/Global'
import { multiMissionsActions } from '../../shared_slices/MultiMissions'
import { MapInteractionListenerEnum, updateMapInteractionListeners } from '../map/updateMapInteractionListeners'

export const deleteMissionAndGoToMissionsList = id => async dispatch => {
try {
Expand All @@ -11,6 +12,7 @@ export const deleteMissionAndGoToMissionsList = id => async dispatch => {
throw Error('Erreur à la suppression de la mission')
} else {
dispatch(multiMissionsActions.deleteSelectedMission(id))
dispatch(updateMapInteractionListeners(MapInteractionListenerEnum.NONE))
dispatch(sideWindowActions.focusAndGoTo(sideWindowPaths.MISSIONS))
}
} catch (error) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -49,8 +49,10 @@ export const editMissionInLocalStore = missionId => async (dispatch, getState) =
}

await dispatch(multiMissionsActions.setSelectedMissions(missions))
await dispatch(attachReportingToMissionSliceActions.setAttachedReportings(missionToSave.attachedReportings))
await dispatch(attachReportingToMissionSliceActions.setAttachedReportingIds(missionToSave.attachedReportingIds))
await dispatch(attachReportingToMissionSliceActions.setAttachedReportings(missionToSave.attachedReportings || []))
await dispatch(
attachReportingToMissionSliceActions.setAttachedReportingIds(missionToSave.attachedReportingIds || [])
)
await dispatch(sideWindowActions.focusAndGoTo(generatePath(sideWindowPaths.MISSION, { id: missionId })))
} else {
throw Error('Erreur à la création ou à la modification de la mission')
Expand Down
2 changes: 2 additions & 0 deletions frontend/src/domain/use_cases/missions/saveMission.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ import { getMissionPageRoute } from '../../../utils/routes'
import { sideWindowPaths } from '../../entities/sideWindow'
import { setToast } from '../../shared_slices/Global'
import { multiMissionsActions } from '../../shared_slices/MultiMissions'
import { MapInteractionListenerEnum, updateMapInteractionListeners } from '../map/updateMapInteractionListeners'

export const saveMission =
(values, reopen = false) =>
Expand All @@ -26,6 +27,7 @@ export const saveMission =
return
}
dispatch(multiMissionsActions.deleteSelectedMission(values.id))
dispatch(updateMapInteractionListeners(MapInteractionListenerEnum.NONE))
dispatch(sideWindowActions.focusAndGoTo(sideWindowPaths.MISSIONS))
} else {
throw Error('Erreur à la création ou à la modification de la mission')
Expand Down
2 changes: 2 additions & 0 deletions frontend/src/domain/use_cases/reporting/closeReporting.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
import { setReportingFormVisibility, ReportingContext, VisibilityState } from '../../shared_slices/Global'
import { reportingActions } from '../../shared_slices/reporting'
import { MapInteractionListenerEnum, updateMapInteractionListeners } from '../map/updateMapInteractionListeners'

export const closeReporting =
(reportingIdToClose: number | string, reportingContextToClose: ReportingContext) => async (dispatch, getState) => {
Expand All @@ -24,6 +25,7 @@ export const closeReporting =
}

await dispatch(reportingActions.deleteSelectedReporting(reportingIdToClose))
dispatch(updateMapInteractionListeners(MapInteractionListenerEnum.NONE))
await dispatch(
setReportingFormVisibility({
context: reportingContextToClose,
Expand Down
2 changes: 2 additions & 0 deletions frontend/src/domain/use_cases/reporting/deleteReporting.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
import { reportingsAPI } from '../../../api/reportingsAPI'
import { setReportingFormVisibility, setToast, VisibilityState } from '../../shared_slices/Global'
import { reportingActions } from '../../shared_slices/reporting'
import { MapInteractionListenerEnum, updateMapInteractionListeners } from '../map/updateMapInteractionListeners'

export const deleteReporting = (id: number | string | undefined) => async (dispatch, getState) => {
const { reportings, selectedReportingIdOnMap } = getState().reporting
Expand All @@ -17,6 +18,7 @@ export const deleteReporting = (id: number | string | undefined) => async (dispa
}

await dispatch(reportingActions.deleteSelectedReporting(id))
dispatch(updateMapInteractionListeners(MapInteractionListenerEnum.NONE))
dispatch(
setReportingFormVisibility({
context: reportings[id].context,
Expand Down
2 changes: 1 addition & 1 deletion frontend/src/domain/use_cases/reporting/saveReporting.ts
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ export const saveReporting =
visibility: VisibilityState.NONE
})
)
await dispatch(updateMapInteractionListeners(MapInteractionListenerEnum.NONE))
dispatch(updateMapInteractionListeners(MapInteractionListenerEnum.NONE))
dispatch(reportingActions.deleteSelectedReporting(values.id))
} else {
throw Error('Erreur à la création ou à la modification du signalement')
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,11 @@ import VectorLayer from 'ol/layer/Vector'
import VectorSource from 'ol/source/Vector'
import { type MutableRefObject, useEffect, useRef } from 'react'

import { Layers } from '../../../domain/entities/layers/constants'
import { missionZoneStyle } from '../../map/layers/Missions/missions.style'
import { Layers } from '../../../../domain/entities/layers/constants'
import { missionZoneStyle } from '../../../map/layers/Missions/missions.style'

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

export function HoveredMissionToAttachLayer({ currentFeatureOver, map }: BaseMapChildrenProps) {
const vectorSourceRef = useRef() as MutableRefObject<VectorSource>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,12 +3,12 @@ import VectorSource from 'ol/source/Vector'
import { type MutableRefObject, useCallback, useEffect, useRef } from 'react'

import { attachedMissionStyle } from './style'
import { useGetMissionsQuery } from '../../../api/missionsAPI'
import { Layers } from '../../../domain/entities/layers/constants'
import { useAppSelector } from '../../../hooks/useAppSelector'
import { getMissionZoneFeature } from '../../map/layers/Missions/missionGeometryHelpers'
import { useGetMissionsQuery } from '../../../../api/missionsAPI'
import { Layers } from '../../../../domain/entities/layers/constants'
import { useAppSelector } from '../../../../hooks/useAppSelector'
import { getMissionZoneFeature } from '../../../map/layers/Missions/missionGeometryHelpers'

import type { BaseMapChildrenProps } from '../../map/BaseMap'
import type { BaseMapChildrenProps } from '../../../map/BaseMap'

export function SelectedMissionToAttachLayer({ map }: BaseMapChildrenProps) {
const attachMissionListener = useAppSelector(state => state.attachMissionToReporting.attachMissionListener)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,14 +3,14 @@ import VectorSource from 'ol/source/Vector'
import { useCallback, useEffect, useMemo, useRef } from 'react'
import { useDispatch } from 'react-redux'

import { useGetMissionsQuery } from '../../../api/missionsAPI'
import { Layers } from '../../../domain/entities/layers/constants'
import { useAppSelector } from '../../../hooks/useAppSelector'
import { getMissionZoneFeature } from '../../map/layers/Missions/missionGeometryHelpers'
import { missionWithCentroidStyleFn } from '../../map/layers/Missions/missions.style'
import { attachMissionToReportingSliceActions } from '../ReportingForm/AttachMission/slice'
import { useGetMissionsQuery } from '../../../../api/missionsAPI'
import { Layers } from '../../../../domain/entities/layers/constants'
import { useAppSelector } from '../../../../hooks/useAppSelector'
import { getMissionZoneFeature } from '../../../map/layers/Missions/missionGeometryHelpers'
import { missionWithCentroidStyleFn } from '../../../map/layers/Missions/missions.style'
import { attachMissionToReportingSliceActions } from '../../ReportingForm/AttachMission/slice'

import type { BaseMapChildrenProps } from '../../map/BaseMap'
import type { BaseMapChildrenProps } from '../../../map/BaseMap'
import type { Geometry } from 'ol/geom'

export function MissionToAttachLayer({ map, mapClickEvent }: BaseMapChildrenProps) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ import { getCenter } from 'ol/extent'
import Point from 'ol/geom/Point'
import { Stroke, Style, Circle } from 'ol/style'

import { selectedMissionStyle } from '../../map/layers/Missions/missions.style'
import { selectedMissionStyle } from '../../../map/layers/Missions/missions.style'

export const selectedMissionToAttachStyle = new Style({
geometry: feature => {
Expand Down

This file was deleted.

43 changes: 10 additions & 33 deletions frontend/src/features/Reportings/Overlays/missionToAttach/index.tsx
Original file line number Diff line number Diff line change
@@ -1,47 +1,24 @@
import { MissionCard } from './MissionCard'
import { Layers } from '../../../../domain/entities/layers/constants'
import { useAppSelector } from '../../../../hooks/useAppSelector'
import { MissionCard } from '../../../map/overlays/missions/MissionCard'
import { OverlayPositionOnExtent } from '../../../map/overlays/OverlayPositionOnExtent'

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

export function MissionToAttachOverlays({ currentFeatureOver, map }: BaseMapChildrenProps) {
const attachedMissionId = useAppSelector(state => state.attachMissionToReporting.attachedMissionId)

const { displayMissionToAttachLayer } = useAppSelector(state => state.global)
const feature = map
?.getLayers()
?.getArray()
?.find(
(l): l is VectorLayerWithName =>
Object.prototype.hasOwnProperty.call(l, 'name') &&
(l as VectorLayerWithName).name === Layers.MISSION_TO_ATTACH_ON_REPORTING.code
)
?.getSource()
?.getFeatureById(`${Layers.MISSION_TO_ATTACH_ON_REPORTING.code}:${attachedMissionId}`)

const currentfeatureId = currentFeatureOver?.getId()
const displayHoveredFeature =
typeof currentfeatureId === 'string' &&
currentfeatureId.startsWith(Layers.MISSION_TO_ATTACH_ON_REPORTING.code) &&
currentfeatureId !== `${Layers.MISSION_TO_ATTACH_ON_REPORTING.code}:${attachedMissionId}`
typeof currentfeatureId === 'string' && currentfeatureId.startsWith(Layers.MISSION_TO_ATTACH_ON_REPORTING.code)

return (
<>
<OverlayPositionOnExtent
appClassName="overlay-mission-to-attach-selected"
feature={displayMissionToAttachLayer && feature}
map={map}
>
<MissionCard feature={feature} />
</OverlayPositionOnExtent>
<OverlayPositionOnExtent
appClassName="overlay-mission-to-attach-hover"
feature={displayMissionToAttachLayer && displayHoveredFeature && currentFeatureOver}
map={map}
>
<MissionCard feature={currentFeatureOver} />
</OverlayPositionOnExtent>
</>
<OverlayPositionOnExtent
appClassName="overlay-mission-to-attach-hover"
feature={displayMissionToAttachLayer && displayHoveredFeature && currentFeatureOver}
map={map}
>
<MissionCard feature={currentFeatureOver} isOnlyHoverable />
</OverlayPositionOnExtent>
)
}
Original file line number Diff line number Diff line change
Expand Up @@ -102,7 +102,7 @@ export const Columns = [
enableSorting: true,
header: () => 'Statut',
id: 'isArchived',
size: 80,
size: 90,
sortingFn: (rowA: Row<any>, rowB: Row<any>, columnId: string) => {
if (rowA.original[columnId] > rowB.original[columnId]) {
return -1
Expand Down
10 changes: 5 additions & 5 deletions frontend/src/features/map/index.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -29,11 +29,11 @@ import { ShowRegulatoryMetadata } from './ShowRegulatoryMetadata'
import { ReportingToAttachLayer } from '../missions/Layers/ReportingToAttach'
import { HoveredReportingToAttachLayer } from '../missions/Layers/ReportingToAttach/HoveredReportingToAttachLayer'
import { SelectedReportingToAttachLayer } from '../missions/Layers/ReportingToAttach/SelectedReportingToAttachLayer'
import { ReportingToAttachOverlays } from '../missions/Overlays/reportingToAttach'
import { MissionToAttachLayer } from '../Reportings/Layers'
import { HoveredMissionToAttachLayer } from '../Reportings/Layers/HoveredMissionToAttachLayer'
import { SelectedMissionToAttachLayer } from '../Reportings/Layers/SelectedMissionToAttachLayer'
import { MissionToAttachOverlays } from '../Reportings/Overlays/missionToAttach'
import { ReportingToAttachOverlays } from '../missions/Overlays/ReportingToAttach'
import { MissionToAttachLayer } from '../Reportings/Layers/MissionToAttach'
import { HoveredMissionToAttachLayer } from '../Reportings/Layers/MissionToAttach/HoveredMissionToAttachLayer'
import { SelectedMissionToAttachLayer } from '../Reportings/Layers/MissionToAttach/SelectedMissionToAttachLayer'
import { MissionToAttachOverlays } from '../Reportings/Overlays/MissionToAttach'

export function Map() {
return (
Expand Down
Loading

0 comments on commit 8128055

Please sign in to comment.