diff options
Diffstat (limited to 'modern/src/common')
-rw-r--r-- | modern/src/common/attributes/usePositionAttributes.js | 4 | ||||
-rw-r--r-- | modern/src/common/components/GeofencesValue.js | 9 | ||||
-rw-r--r-- | modern/src/common/components/PositionValue.js | 6 |
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); } |