import React, { Fragment, useState } from 'react'; import { useDispatch, useSelector } from 'react-redux'; import { useHistory } from 'react-router-dom'; import Avatar from '@material-ui/core/Avatar'; import Divider from '@material-ui/core/Divider'; import IconButton from '@material-ui/core/IconButton'; import List from '@material-ui/core/List'; import ListItem from '@material-ui/core/ListItem'; import ListItemAvatar from '@material-ui/core/ListItemAvatar'; import Menu from '@material-ui/core/Menu'; import MenuItem from '@material-ui/core/MenuItem'; import ListItemSecondaryAction from '@material-ui/core/ListItemSecondaryAction'; import ListItemText from '@material-ui/core/ListItemText'; import LocationOnIcon from '@material-ui/icons/LocationOn'; import MoreVertIcon from '@material-ui/icons/MoreVert'; import { devicesActions } from './store'; import t from './common/localization'; import RemoveDialog from './RemoveDialog'; const DeviceList = () => { const [menuAnchorEl, setMenuAnchorEl] = useState(null); const [removeDialogOpen, setRemoveDialogOpen] = useState(false); const devices = useSelector(state => Object.values(state.devices.items)); const dispatch = useDispatch(); const history = useHistory(); const handleMenuClick = (event) => { setMenuAnchorEl(event.currentTarget); } const handleMenuClose = () => { setMenuAnchorEl(null); } const handleMenuEdit = () => { history.push('/device'); handleMenuClose(); } const handleMenuRemove = () => { setRemoveDialogOpen(true); handleMenuClose(); } return ( <> {devices.map((device, index, list) => ( dispatch(devicesActions.select(device))}> {index < list.length - 1 ? : null} )) } {t('sharedEdit')} {t('sharedRemove')} { setRemoveDialogOpen(false) }} /> ); } export default DeviceList;