aboutsummaryrefslogtreecommitdiff
path: root/modern/src/common
diff options
context:
space:
mode:
Diffstat (limited to 'modern/src/common')
-rw-r--r--modern/src/common/attributes/usePositionAttributes.js4
-rw-r--r--modern/src/common/components/GeofencesValue.js9
-rw-r--r--modern/src/common/components/PositionValue.js6
3 files changed, 19 insertions, 0 deletions
diff --git a/modern/src/common/attributes/usePositionAttributes.js b/modern/src/common/attributes/usePositionAttributes.js
index 78e27e9e..b1b6af1d 100644
--- a/modern/src/common/attributes/usePositionAttributes.js
+++ b/modern/src/common/attributes/usePositionAttributes.js
@@ -68,6 +68,10 @@ export default (t) => useMemo(() => ({
type: 'string',
property: true,
},
+ geofenceIds: {
+ name: t('sharedGeofences'),
+ property: true,
+ },
raw: {
name: t('positionRaw'),
type: 'string',
diff --git a/modern/src/common/components/GeofencesValue.js b/modern/src/common/components/GeofencesValue.js
new file mode 100644
index 00000000..4808a8a2
--- /dev/null
+++ b/modern/src/common/components/GeofencesValue.js
@@ -0,0 +1,9 @@
+import { useSelector } from 'react-redux';
+
+const GeofencesValue = ({ geofenceIds }) => {
+ const geofences = useSelector((state) => state.geofences.items);
+
+ return geofenceIds.map((id) => geofences[id]?.name).join(', ');
+};
+
+export default GeofencesValue;
diff --git a/modern/src/common/components/PositionValue.js b/modern/src/common/components/PositionValue.js
index a819a018..a6b38e31 100644
--- a/modern/src/common/components/PositionValue.js
+++ b/modern/src/common/components/PositionValue.js
@@ -9,6 +9,7 @@ import { useAttributePreference, usePreference } from '../util/preferences';
import { useTranslation } from './LocalizationProvider';
import { useAdministrator } from '../util/permissions';
import AddressValue from './AddressValue';
+import GeofencesValue from './GeofencesValue';
const PositionValue = ({ position, property, attribute }) => {
const t = useTranslation();
@@ -83,6 +84,11 @@ const PositionValue = ({ position, property, attribute }) => {
return (<Link component={RouterLink} underline="none" to={`/network/${position.id}`}>{t('sharedInfoTitle')}</Link>);
}
return '';
+ case 'geofenceIds':
+ if (value) {
+ return (<GeofencesValue geofenceIds={value} />);
+ }
+ return '';
default:
return formatValue(value);
}