diff options
author | Iván Ávalos <avalos@disroot.org> | 2021-12-14 19:02:16 -0600 |
---|---|---|
committer | Iván Ávalos <avalos@disroot.org> | 2021-12-14 19:02:16 -0600 |
commit | 1e38ec1ceceeb60693b4fe3c302ce5477caddf40 (patch) | |
tree | b440e68adfe6ccc8c69f984e28346dd5124a9344 /modern/src/map | |
parent | 8a3dce0e58ae7a7daf1e3bf3e0e777548dfa110a (diff) | |
download | etbsa-traccar-web-1e38ec1ceceeb60693b4fe3c302ce5477caddf40.tar.gz etbsa-traccar-web-1e38ec1ceceeb60693b4fe3c302ce5477caddf40.tar.bz2 etbsa-traccar-web-1e38ec1ceceeb60693b4fe3c302ce5477caddf40.zip |
Hours only shown for backhoes and tractors, changed favicon.ico, replay slider previous and back buttons, and other improvements
Diffstat (limited to 'modern/src/map')
-rw-r--r-- | modern/src/map/PositionsMap.js | 17 | ||||
-rw-r--r-- | modern/src/map/StatusView.js | 8 |
2 files changed, 16 insertions, 9 deletions
diff --git a/modern/src/map/PositionsMap.js b/modern/src/map/PositionsMap.js index c5c3eee..5320158 100644 --- a/modern/src/map/PositionsMap.js +++ b/modern/src/map/PositionsMap.js @@ -35,6 +35,7 @@ const PositionsMap = ({ positions }) => { const createFeature = (devices, position) => { const device = devices[position.deviceId]; return { + position: position, deviceId: position.deviceId, name: device.name, category: device.category || 'default', @@ -52,16 +53,20 @@ const PositionsMap = ({ positions }) => { coordinates[0] += event.lngLat.lng > coordinates[0] ? 360 : -360; } + console.log(event); + + const position = JSON.parse(feature.properties.position); const placeholder = document.createElement('div'); ReactDOM.render( <Provider store={store}> <ThemeProvider theme={theme}> - <StatusView - deviceId={feature.properties.deviceId} - onShowDetails={(positionId) => history.push(`/position/${positionId}`)} - onShowHistory={() => history.push('/replay')} - onEditClick={(deviceId) => history.push(`/device/${deviceId}`)} - onCommandsClick={(deviceId) => history.push(`/device/${deviceId}/commands`) } + <StatusView + position={position} + deviceId={feature.properties.deviceId} + onShowDetails={(positionId) => history.push(`/position/${positionId}`)} + onShowHistory={() => history.push('/replay')} + onEditClick={(deviceId) => history.push(`/device/${deviceId}`)} + onCommandsClick={(deviceId) => history.push(`/device/${deviceId}/commands`) } /> </ThemeProvider> </Provider>, diff --git a/modern/src/map/StatusView.js b/modern/src/map/StatusView.js index 6fb72c7..b451573 100644 --- a/modern/src/map/StatusView.js +++ b/modern/src/map/StatusView.js @@ -37,7 +37,7 @@ const useStyles = makeStyles((theme) => ({ })); const StatusView = ({ - deviceId, onShowDetails, onShowHistory, onEditClick, onCommandsClick, + position, deviceId, onShowDetails, onShowHistory, onEditClick, onCommandsClick, }) => { const classes = useStyles(); const t = useTranslation(); @@ -45,7 +45,6 @@ const StatusView = ({ const [removeDialogShown, setRemoveDialogShown] = useState(false); const session = useSelector((state) => state.session); const device = useSelector((state) => state.devices.items[deviceId]); - const position = useSelector(getPosition(deviceId)); const distanceUnit = useAttributePreference('distanceUnit'); const speedUnit = useAttributePreference('speedUnit'); @@ -90,7 +89,10 @@ const StatusView = ({ <ListItem classes={{ container: classes.listItemContainer, root: classes.listItemRoot }}> <ListItemText primary={t('positionSpeed')} secondary={formatSpeed(position.speed, speedUnit, t)} /> </ListItem> - {position.attributes.hours && ( + {device.category + && (device.category.toLowerCase() === 'backhoe' || device.category.toLowerCase() === 'tractor') + && position.attributes.hours + && ( <ListItem classes={{ container: classes.listItemContainer, root: classes.listItemRoot }}> <ListItemText primary={t('positionHours')} secondary={formatHours(position.attributes.hours, t)} /> </ListItem>)} |