aboutsummaryrefslogtreecommitdiff
path: root/modern/src/map/PositionsMap.js
diff options
context:
space:
mode:
Diffstat (limited to 'modern/src/map/PositionsMap.js')
-rw-r--r--modern/src/map/PositionsMap.js13
1 files changed, 7 insertions, 6 deletions
diff --git a/modern/src/map/PositionsMap.js b/modern/src/map/PositionsMap.js
index 74b58beb..2e152d34 100644
--- a/modern/src/map/PositionsMap.js
+++ b/modern/src/map/PositionsMap.js
@@ -1,16 +1,14 @@
import { useCallback, useEffect } from 'react';
-import { useDispatch, useSelector } from 'react-redux';
+import { useSelector } from 'react-redux';
import { map } from './core/Map';
import { getStatusColor } from '../common/util/formatter';
-import { devicesActions } from '../store';
import usePersistedState from '../common/util/usePersistedState';
-const PositionsMap = ({ positions }) => {
+const PositionsMap = ({ positions, onClick }) => {
const id = 'positions';
const clusters = `${id}-clusters`;
- const dispatch = useDispatch();
const devices = useSelector((state) => state.devices.items);
const [mapCluster] = usePersistedState('mapCluster', true);
@@ -18,6 +16,7 @@ const PositionsMap = ({ positions }) => {
const createFeature = (devices, position) => {
const device = devices[position.deviceId];
return {
+ id: position.id,
deviceId: position.deviceId,
name: device.name,
category: device.category || 'default',
@@ -30,8 +29,10 @@ const PositionsMap = ({ positions }) => {
const onMarkerClick = useCallback((event) => {
const feature = event.features[0];
- dispatch(devicesActions.select(feature.properties.deviceId));
- }, [dispatch]);
+ if (onClick) {
+ onClick(feature.properties.id, feature.properties.deviceId);
+ }
+ }, [onClick]);
const onClusterClick = useCallback((event) => {
const features = map.queryRenderedFeatures(event.point, {