Skip to content

Commit

Permalink
Merge pull request #971 from MTES-MCT/fix_alerts_bugs
Browse files Browse the repository at this point in the history
Fix alerts bugs
  • Loading branch information
louptheron authored Feb 2, 2022
2 parents 8e1fce7 + 74e5a6b commit c209e26
Show file tree
Hide file tree
Showing 17 changed files with 107 additions and 54 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -5,12 +5,10 @@ import com.neovisionaries.i18n.CountryCode
import com.vladmihalcea.hibernate.type.array.ListArrayType
import com.vladmihalcea.hibernate.type.interval.PostgreSQLIntervalType
import com.vladmihalcea.hibernate.type.json.JsonBinaryType
import fr.gouv.cnsp.monitorfish.domain.entities.last_position.LastPosition
import fr.gouv.cnsp.monitorfish.domain.entities.PositionType
import fr.gouv.cnsp.monitorfish.domain.entities.VesselIdentifier
import fr.gouv.cnsp.monitorfish.domain.entities.alerts.type.AlertType
import fr.gouv.cnsp.monitorfish.domain.entities.alerts.type.AlertTypeMapping
import fr.gouv.cnsp.monitorfish.domain.entities.last_position.Gear
import fr.gouv.cnsp.monitorfish.domain.entities.last_position.LastPosition
import fr.gouv.cnsp.monitorfish.domain.entities.last_position.Species
import org.hibernate.annotations.Type
import org.hibernate.annotations.TypeDef
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,19 +5,19 @@ INSERT INTO pending_alerts (vessel_name,internal_reference_number,external_refer
'"riskFactor": 3.5647,' ||
'"type": "THREE_MILES_TRAWLING_ALERT"' ||
'}')::jsonb),
('PHENOMENE', 'U_W0NTFINDME', 'ABC123456', 'TALK2ME', NOW(), '9463723', 'INTERNAL_REFERENCE_NUMBER', ('{' ||
('MALOTRU', 'U_W0NTFINDME', 'TALK2ME', 'QGDF', NOW(), '9463723', 'INTERNAL_REFERENCE_NUMBER', ('{' ||
'"seaFront": "NAMO",' ||
'"flagState": "FR",' ||
'"riskFactor": 1.5647,' ||
'"type": "THREE_MILES_TRAWLING_ALERT"' ||
'}')::jsonb),
('PHENOMENE', 'ABC000363962', 'QZ642965', 'SK1266', (now() AT TIME ZONE 'UTC')::TIMESTAMP - interval '15 hours 45 minutes', '9463723', 'INTERNAL_REFERENCE_NUMBER', ('{' ||
'"seaFront": "NAMO",' ||
('PAYSAGE ROMAN LIER', 'ABC000339263', 'CN775734', 'YHIZ', (now() AT TIME ZONE 'UTC')::TIMESTAMP - interval '15 hours 45 minutes', '9463723', 'INTERNAL_REFERENCE_NUMBER', ('{' ||
'"seaFront": "SA",' ||
'"flagState": "FR",' ||
'"riskFactor": 2.5647,' ||
'"type": "THREE_MILES_TRAWLING_ALERT"' ||
'}')::jsonb),
('PHENOMENE', 'ABC000035772', 'ZR522262', 'NC1001', (now() AT TIME ZONE 'UTC')::TIMESTAMP - interval '13 hours 45 minutes', '9463723', 'INTERNAL_REFERENCE_NUMBER', ('{' ||
('LE b@TO', 'FR263418260', '08FR65324', 'IR12A', (now() AT TIME ZONE 'UTC')::TIMESTAMP - interval '13 hours 45 minutes', '9463723', 'INTERNAL_REFERENCE_NUMBER', ('{' ||
'"seaFront": "NAMO",' ||
'"flagState": "FR",' ||
'"riskFactor": 2.5647,' ||
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
-- Insert anonymized production data
COPY public.last_positions (cfr, external_immatriculation, mmsi, ircs, vessel_name, flag_state, trip_number, latitude, longitude, speed, course, last_position_datetime_utc, emission_period, last_ers_datetime_utc, departure_datetime_utc, width, length, registry_port, district, district_code, gear_onboard, segments, species_onboard, total_weight_onboard, id, last_control_datetime_utc, last_control_infraction, post_control_comments, vessel_identifier, estimated_current_latitude, estimated_current_longitude, impact_risk_factor, probability_risk_factor, detectability_risk_factor, risk_factor, under_charter, is_at_port, alerts) FROM stdin;
ABC000339263 CN775734 023858744 YHIZ PAYSAGE ROMAN LIER FR 20210004 48.0970000000000013 -4.3230000000000004 0.5 351 2020-12-31 23:19:00 01:01:00 2020-07-08 02:53:00 2020-07-08 01:54:00 6.5 17 Evrard Saint EmmanuelVille SI [{"gear": "PS1", "mesh": 10.0, "dimensions": 380.0}] {} [{"gear": "PS1", "weight": 1400.0, "faoZone": "27.7.e", "species": "PIL"}] 0 144 2019-12-22 15:42:00 f \N INTERNAL_REFERENCE_NUMBER 48.1029308080762021 -4.32440242826396037 3.57112043211236596 3.39079180965200067 3.44572579581290483 3.45375553585179773 f f {THREE_MILES_TRAWLING_ALERT}
ABC000339263 CN775734 023858744 YHIZ PAYSAGE ROMAN LIER FR 20210004 48.0970000000000013 -4.3230000000000004 0.5 351 2020-12-31 23:19:00 01:01:00 2020-07-08 02:53:00 2020-07-08 01:54:00 6.5 17 Evrard Saint EmmanuelVille SI [{"gear": "PS1", "mesh": 10.0, "dimensions": 380.0}] {} [{"gear": "PS1", "weight": 1400.0, "faoZone": "27.7.e", "species": "PIL"}] 0 144 2019-12-22 15:42:00 f \N INTERNAL_REFERENCE_NUMBER 48.1029308080762021 -4.32440242826396037 3.57112043211236596 3.39079180965200067 3.44572579581290483 3.45375553585179773 f t {THREE_MILES_TRAWLING_ALERT}
ABC000126173 XN916551 312649432 EIL2780 ROND PRISON GARDER FR \N 47.2989999999999995 -2.51500000000000012 0 351 2020-12-31 23:36:00 01:00:00 \N \N 6.32000000000000028 18 Grondin Herve-la-Forêt FQ null {} null 0 7 2020-07-31 08:56:00 f REJET COE 10KG\r\nREJET WHB 50KG\r\nREJET HOM 200KG\r\nREJET SCL 150KG\r\nREJET BIB 50KG INTERNAL_REFERENCE_NUMBER 47.2989999999999995 -2.51500000000000012 1.29840274900197983 2.57117246789857745 1.52456657541915774 1.72700838038104321 f f {}
ABC000262563 NL342908 632033196 MN0259 ENTRETENIR NOIRE VENTRE FR 20210106 44.4309999999999974 -1.39599999999999991 0.800000000000000044 357 2020-12-31 23:51:00 01:00:00 2020-07-12 19:35:00 2020-07-07 23:20:00 6.62000000000000011 20.7899999999999991 Cordier ClercVille EC [{"gear": "OTB", "mesh": 70.0, "dimensions": 100.0}] {SWW01/02/03,PEL03} [{"gear": "OTB", "weight": 482.0, "faoZone": "27.8.b", "species": "MAC"}, {"gear": "OTB", "weight": 20.1, "faoZone": "27.8.b", "species": "TRA"}, {"gear": "OTB", "weight": 209.93, "faoZone": "27.8.b", "species": "BIB"}, {"gear": "OTB", "weight": 77.1, "faoZone": "27.8.b", "species": "GUR"}, {"gear": "OTB", "weight": 45.4, "faoZone": "27.8.b", "species": "MUR"}, {"gear": "OTB", "weight": 187.88, "faoZone": "27.8.b", "species": "MNZ"}, {"gear": "OTB", "weight": 69.29, "faoZone": "27.8.b", "species": "SMD"}, {"gear": "OTB", "weight": 366.3, "faoZone": "27.8.b", "species": "HKE"}, {"gear": "OTB", "weight": 28.8, "faoZone": "27.8.b", "species": "GUG"}, {"gear": "OTB", "weight": 1.2, "faoZone": "27.8.b", "species": "TRI"}, {"gear": "OTB", "weight": 37.41, "faoZone": "27.8.b", "species": "RJM"}, {"gear": "OTB", "weight": 65.6, "faoZone": "27.8.b", "species": "SQR"}, {"gear": "OTB", "weight": 10.0, "faoZone": "27.8.b", "species": "COB"}, {"gear": "OTB", "weight": 0.8, "faoZone": "27.8.b", "species": "MGR"}, {"gear": "OTB", "weight": 32.14, "faoZone": "27.8.b", "species": "SOL"}, {"gear": "OTB", "weight": 8.5, "faoZone": "27.8.b", "species": "BRB"}, {"gear": "OTB", "weight": 254.1, "faoZone": "27.8.b", "species": "CTC"}, {"gear": "OTB", "weight": 1.1, "faoZone": "27.8.b", "species": "SCO"}, {"gear": "OTB", "weight": 66.99, "faoZone": "27.8.b", "species": "LEZ"}, {"gear": "OTB", "weight": 1.6, "faoZone": "27.8.b", "species": "SBA"}, {"gear": "OTB", "weight": 210.7, "faoZone": "27.8.b", "species": "JOD"}, {"gear": "OTB", "weight": 0.65, "faoZone": "27.8.b", "species": "BLL"}, {"gear": "OTB", "weight": 272.6, "faoZone": "27.8.b", "species": "BSS"}] 947.42999999999995 8 2020-08-03 20:05:00 f CTL DOC OK INTERNAL_REFERENCE_NUMBER 44.4334992837590974 -1.3961828035342001 2.54482043627649546 3.05314559629186988 3.03943056892603636 2.937323614598911 f f {}
ABC000333370 PE683913 996909113 HM9088 CENTRE OCCUPER GARÇON FR 20210176 49.6370000000000005 -1.62000000000000011 0 0 2020-12-31 23:15:00 01:00:00 2020-07-12 18:46:00 2020-07-12 10:23:00 5.90000000000000036 15.8000000000000007 Parent Sainte LucBourg WU [{"gear": "DRB", "mesh": 92.0, "dimensions": null}] {} [{"gear": "DRB", "weight": 2000.0, "faoZone": "27.7.d", "species": "SCE"}] 0 11 2020-01-23 23:04:00 f \N INTERNAL_REFERENCE_NUMBER 49.6370000000000005 -1.62000000000000011 2.66969937458634377 2.46412607468664646 1.51048578694462776 1.96042246604452752 f f {}
Expand Down
12 changes: 6 additions & 6 deletions frontend/cypress/integration/side_window_alerts.spec.js
Original file line number Diff line number Diff line change
Expand Up @@ -8,20 +8,20 @@ context('Alerts', () => {
cy.visit(`http://localhost:${port}/side_window`)
})

it('Seven alerts Should be shown When clicking on the NAMO menu', () => {
it('Six alerts Should be shown When clicking on the NAMO menu', () => {
// When
cy.get('*[data-cy="side-window-sub-menu-NAMO"]').click()

// Then
cy.get('*[data-cy^="side-window-sub-menu-NAMO-number"]').contains('7')
cy.get('*[data-cy^="side-window-alerts-list"]').children().eq(1).children().should('have.length', 7)
cy.get('*[data-cy^="side-window-sub-menu-NAMO-number"]').contains('6')
cy.get('*[data-cy^="side-window-alerts-list"]').children().eq(1).children().should('have.length', 6)

cy.get('*[data-cy^="side-window-alerts-list"]').children().last().contains('ABC000363962')
cy.get('*[data-cy^="side-window-alerts-list"]').children().last().contains('LE b@TO')
cy.get('*[data-cy^="side-window-alerts-list"]').children().last().contains('3 milles - Chaluts')

// Show vessel on map
cy.intercept('GET', 'bff/v1/vessels/find?internalReferenceNumber=FAK000999999&externalReferenceNumber=DONTSINK' +
'&IRCS=CALLME&vesselIdentifier=UNDEFINED&trackDepth=TWELVE_HOURS&afterDateTime=&beforeDateTime=').as('showVesselPositionsOnMap')
'&IRCS=CALLME&vesselIdentifier=INTERNAL_REFERENCE_NUMBER&trackDepth=TWELVE_HOURS&afterDateTime=&beforeDateTime=').as('showVesselPositionsOnMap')
cy.intercept('GET', 'bff/v1/ers/find?internalReferenceNumber=FAK000999999&externalReferenceNumber=DONTSINK' +
'&IRCS=CALLME&voyageRequest=LAST&tripNumber=').as('showVesselVoyageOnMap')
cy.get('*[data-cy="side-window-alerts-show-vessel"]').first().click()
Expand All @@ -34,7 +34,7 @@ context('Alerts', () => {
it('Alerts Should be filtered based on the search input', () => {
// Given
cy.get('*[data-cy="side-window-sub-menu-SA"]').click()
cy.get('*[data-cy^="side-window-alerts-list"]').children().eq(1).children().should('have.length', 2)
cy.get('*[data-cy^="side-window-alerts-list"]').children().eq(1).children().should('have.length', 3)

// When
cy.get('*[data-cy^="side-window-alerts-search-vessel"]').type('ABC0003')
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -187,8 +187,7 @@ context('Beacon statuses', () => {

// Show vessel on map
cy.intercept('GET', 'bff/v1/vessels/find?internalReferenceNumber=FAK000999999' +
'&externalReferenceNumber=DONTSINK&IRCS=CALLME&vesselIdentifier=INTERNAL_REFERENCE_NUMBER&trackDepth=TWELVE_HOURS' +
'&afterDateTime=&beforeDateTime=').as('showVesselPositionsOnMap')
'&externalReferenceNumber=DONTSINK&IRCS=CALLME&vesselIdentifier=INTERNAL_REFERENCE_NUMBER*').as('showVesselPositionsOnMap')
cy.intercept('GET', 'bff/v1/ers/find?internalReferenceNumber=FAK000999999' +
'&externalReferenceNumber=DONTSINK&IRCS=CALLME&voyageRequest=LAST&tripNumber=').as('showVesselVoyageOnMap')
cy.get('*[data-cy="side-window-beacon-statuses-detail-show-vessel"]').click()
Expand Down
8 changes: 6 additions & 2 deletions frontend/cypress/integration/vessel_search.spec.js
Original file line number Diff line number Diff line change
Expand Up @@ -14,8 +14,8 @@ context('VesselSearch', () => {
cy.wait(1000)
})

it('Vessel Should be searched from the search bar', () => {
// When
it('Vessel from last positions and vessels table Should be searched from the search bar', () => {
// When searching a vessel from the last positions table
cy.get('*[data-cy^="vessel-search-input"]', { timeout: 20000 }).type('Pheno')
cy.get('*[data-cy^="vessel-search-item"]', { timeout: 20000 }).eq(0).click()
cy.get('*[data-cy^="vessel-sidebar"]', { timeout: 20000 }).should('be.visible')
Expand All @@ -28,6 +28,10 @@ context('VesselSearch', () => {
// Close the sidebar
cy.get('*[data-cy^="vessel-search-selected-vessel-close-title"]', { timeout: 20000 }).click()
cy.get('*[data-cy^="vessel-search-selected-vessel-title"]', { timeout: 20000 }).should('not.exist')

// Search a vessel in the vessel table
cy.get('*[data-cy^="vessel-search-input"]', { timeout: 20000 }).type('MALOTRU')
cy.get('*[data-cy^="vessel-search-item"]', { timeout: 20000 }).eq(0).contains('MALOTRU')
})

it('Vessel history Should be shown When having previously searched vessels', () => {
Expand Down
16 changes: 15 additions & 1 deletion frontend/cypress/integration/vessels_list.spec.js
Original file line number Diff line number Diff line change
Expand Up @@ -64,12 +64,26 @@ context('Vessels list', () => {
cy.wait(1000)

// Then
cy.get('*[data-cy^="vessel-list-table-count"]').contains('803 navires')
cy.get('*[data-cy^="vessel-list-table-count"]').contains('802 navires')

// Then re-show the vessels at port
cy.get('*[data-cy^="filter-vessel-at-port"]').click()
cy.wait(1000)

cy.get('*[data-cy^="vessel-list-table-count"]').contains('959 navires')
})

it('Vessels Should not be downloadable When no vessels selected', () => {
// Given
cy.get('*[data-cy^="vessel-list"]').click({ timeout: 20000 })
cy.get('*[data-cy^="download-vessels-modal"]').should('be.disabled')

// When
cy.get('[aria-rowindex="2"] > .rs-table-cell-group-fixed-left > .table-content-editing ' +
'> .rs-table-cell-content > .rs-checkbox > .rs-checkbox-checker').click({ timeout: 20000 })

// Then
cy.get('*[data-cy^="download-vessels-modal"]').should('not.be.disabled')
cy.get('*[data-cy^="download-vessels-modal"]').click()
})
})
2 changes: 1 addition & 1 deletion frontend/src/api/APIWorker.js
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ import getOperationalAlerts from '../domain/use_cases/getOperationalAlerts'
import getAllBeaconStatuses from '../domain/use_cases/getAllBeaconStatuses'
import openBeaconStatus from '../domain/use_cases/openBeaconStatus'

export const FIVE_MINUTES = 30000
export const FIVE_MINUTES = 300000
export const THIRTY_SECONDS = 30000

const APIWorker = () => {
Expand Down
17 changes: 8 additions & 9 deletions frontend/src/domain/use_cases/showVessel.js
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,9 @@ import { getOnlyVesselIdentityProperties, Vessel } from '../entities/vessel'
import { loadingVessel, resetLoadingVessel, setSelectedVessel } from '../shared_slices/Vessel'
import { addSearchedVessel, removeError, setError } from '../shared_slices/Global'
import { doNotAnimate } from '../shared_slices/Map'
import { getTrackDepthError, getVesselTrackDepth } from '../entities/vesselTrackDepth'
import { getTrackDepthError } from '../entities/vesselTrackDepth'
import { removeFishingActivitiesFromMap } from '../shared_slices/FishingActivities'
import { getNextVesselTrackDepthObject } from './showVesselTrack'

/**
* Show a specified vessel track on map and on the vessel right sidebar
Expand All @@ -20,9 +21,11 @@ const showVessel = (vesselIdentity, fromSearch, calledFromCron, vesselTrackDepth

const { vessel, fishingActivities, map } = getState()
const {
selectedVesselCustomTrackDepth,
vessels
} = vessel
const {
defaultVesselTrackDepth
} = map
const {
fishingActivitiesAreShowedOnMap
} = fishingActivities
Expand All @@ -31,11 +34,7 @@ const showVessel = (vesselIdentity, fromSearch, calledFromCron, vesselTrackDepth

dispatchLoadingVessel(dispatch, calledFromCron, vesselIdentity)

const nextVesselTrackDepthObject = getVesselTrackDepth(
vesselTrackDepth,
selectedVesselCustomTrackDepth,
map.defaultVesselTrackDepth)

const nextVesselTrackDepthObject = getNextVesselTrackDepthObject(vesselTrackDepth, defaultVesselTrackDepth)
if (fishingActivitiesAreShowedOnMap && !calledFromCron) {
dispatch(removeFishingActivitiesFromMap())
}
Expand All @@ -53,9 +52,9 @@ const showVessel = (vesselIdentity, fromSearch, calledFromCron, vesselTrackDepth
vesselTrackDepth)

const selectedVessel = {
...lastPositionVessel?.vesselProperties,
...vesselAndPositions?.vessel,
...vesselIdentity,
...vesselAndPositions?.vessel,
...lastPositionVessel?.vesselProperties,
globalRiskFactor: vesselIdentity?.riskFactor,
riskFactor: vesselAndPositions?.vessel?.riskFactor
}
Expand Down
4 changes: 2 additions & 2 deletions frontend/src/domain/use_cases/showVesselTrack.js
Original file line number Diff line number Diff line change
Expand Up @@ -58,9 +58,9 @@ const showVesselTrack = (clickedVessel, calledFromCron, vesselTrackDepth) => (di
})
}

function getNextVesselTrackDepthObject (vesselTrackDepth, trackDepth) {
export function getNextVesselTrackDepthObject (vesselTrackDepth, defaultTrackDepth) {
let nextVesselTrackDepthObject = vesselTrackDepth || {
trackDepth,
trackDepth: defaultTrackDepth,
beforeDateTime: null,
afterDateTime: null
}
Expand Down
23 changes: 19 additions & 4 deletions frontend/src/features/side_window/alerts/Alerts.js
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
import React from 'react'
import React, { useEffect } from 'react'
import styled from 'styled-components'
import AlertsList from './AlertsList'
import { getAlertForList } from './dataFormatting'
import { useSelector } from 'react-redux'
import { AlertsMenuSeaFrontsToSeaFrontList } from '../../../domain/entities/alerts'
import { AlertsMenuSeaFrontsToSeaFrontList, AlertsSubMenu } from '../../../domain/entities/alerts'
import { COLORS } from '../../../constants/constants'

/**
Expand All @@ -13,11 +13,26 @@ import { COLORS } from '../../../constants/constants'
* @return {JSX.Element}
* @constructor
*/
const Alerts = ({ selectedSubMenu }) => {
const Alerts = ({ selectedSubMenu, setSelectedSubMenu }) => {
const {
alerts
alerts,
focusOnAlert
} = useSelector(state => state.alert)

useEffect(() => {
if (focusOnAlert) {
const seaFront = focusOnAlert?.value?.seaFront

const menuSeaFrontName = Object.keys(AlertsMenuSeaFrontsToSeaFrontList)
.map(menuSeaFrontKey => AlertsMenuSeaFrontsToSeaFrontList[menuSeaFrontKey])
.find(item => item.seaFronts.includes(seaFront))

if (menuSeaFrontName) {
setSelectedSubMenu(AlertsSubMenu[menuSeaFrontName.menuSeaFront])
}
}
}, [focusOnAlert])

return <Content style={contentStyle}>
<AlertsList
alerts={alerts
Expand Down
1 change: 1 addition & 0 deletions frontend/src/features/side_window/alerts/dataFormatting.js
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ export function getAlertForList (alert) {
ircs: alert.ircs,
creationDateTimestamp: alert.creationDate ? new Date(alert.creationDate).getTime() : '',
creationDate: alert.creationDate,
vesselIdentifier: alert.vesselIdentifier,
riskFactor: alert.value.riskFactor,
flagState: alert.value.flagState?.toLowerCase(),
seaFront: alert.value.seaFront,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ import showVessel from '../../../domain/use_cases/showVessel'
import { useDispatch } from 'react-redux'
import getVesselVoyage from '../../../domain/use_cases/getVesselVoyage'
import openBeaconStatus from '../../../domain/use_cases/openBeaconStatus'
import { VesselTrackDepth } from '../../../domain/entities/vesselTrackDepth'

timeago.register('fr', timeagoFrenchLocale)

Expand Down Expand Up @@ -53,11 +54,7 @@ const BeaconStatusCard = ({ beaconStatus, updateStageVesselStatus, baseUrl }) =>
<ShowIcon
style={showIconStyle}
alt={'Voir sur la carte'}
onClick={() => {
const vesselIdentity = { ...beaconStatus }
dispatch(showVessel(vesselIdentity, false, false, null))
dispatch(getVesselVoyage(vesselIdentity, null, false))
}}
onClick={() => showVesselOnMap(dispatch, beaconStatus)}
src={`${baseUrl}/Icone_voir_sur_la_carte.png`}
/>
</Row>
Expand Down Expand Up @@ -102,6 +99,24 @@ const BeaconStatusCard = ({ beaconStatus, updateStageVesselStatus, baseUrl }) =>
</Wrapper>
}

export const showVesselOnMap = (dispatch, beaconStatus) => {
const afterDateTime = new Date()
const twentyFiveHours = 25
afterDateTime.setTime(afterDateTime.getTime() - (twentyFiveHours * 60 * 60 * 1000))
afterDateTime.setMilliseconds(0)
const beforeDateTime = new Date()
beforeDateTime.setMilliseconds(0)

const vesselTrackDepth = {
trackDepth: VesselTrackDepth.CUSTOM,
afterDateTime: afterDateTime,
beforeDateTime: beforeDateTime
}
const vesselIdentity = { ...beaconStatus, flagState: 'fr' }
dispatch(showVessel(vesselIdentity, false, false, vesselTrackDepth))
dispatch(getVesselVoyage(vesselIdentity, null, false))
}

// We need to use an IMG tag as with a SVG a DND drag event is emitted when the pointer
// goes back to the main window
const ShowIcon = styled.img``
Expand Down
Loading

0 comments on commit c209e26

Please sign in to comment.