import React, { useCallback, useState } from 'react' import Delete from '@material-ui/icons/Delete' import { connectionManagerActions } from '../../actions' import { ConnectionOptions } from '../../model/ConnectionOptions' import { IconButton, TableContainer, Table, TableHead, TableRow, TableCell, TableBody, Paper, Theme, } from '@material-ui/core' import { bindActionCreators } from 'redux' import { withStyles } from '@material-ui/styles' import { connect } from 'react-redux' function Subscriptions(props: { classes: any connection: ConnectionOptions managerActions: typeof connectionManagerActions }) { const { classes, connection, managerActions } = props return ( Topic QoS {connection.subscriptions.map(subscription => ( managerActions.deleteSubscription(subscription, connection.id)} style={{ padding: '6px' }} > {subscription.topic} {subscription.qos} ))}
) } const mapDispatchToProps = (dispatch: any) => { return { managerActions: bindActionCreators(connectionManagerActions, dispatch), } } const styles = (theme: Theme) => ({ tableCell: { paddingTop: 0, paddingBottom: 0, wordBbreak: 'break-word', }, tableTitleCell: { paddingTop: `${theme.spacing(0.5)}px`, paddingBottom: `${theme.spacing(0.5)}px`, }, topicList: { height: '196px', overflowY: 'scroll' as 'scroll', margin: `${theme.spacing(1)}px ${theme.spacing(1)}px 0 ${theme.spacing(1)}px`, backgroundColor: theme.palette.background.default, width: 'auto', }, }) export default connect(undefined, mapDispatchToProps)(withStyles(styles)(Subscriptions))