import React from 'react'; import PropTypes from 'prop-types'; import css from 'ba-styles/Table.scss'; import { TableCell, Input, TextField } from '@material-ui/core'; class EditableCell extends React.Component { handleUpdate(event) { event.persist(); this.props.updateRow(event, this.props.branch); } render() { const { cellData, edited, inputType } = this.props; switch (inputType) { case 'text': return ( this.handleUpdate(event)} disabled={!edited} margin="none" inputProps={{ 'aria-label': 'Description', }} /> ); case 'number': return ( this.handleUpdate(event)} type="number" InputLabelProps={{ shrink: true, }} margin="none" disabled={!edited} /> ); default: return ( this.handleUpdate(event)} disabled={!edited} margin="none" inputProps={{ 'aria-label': 'Description', }} /> ); } } } EditableCell.propTypes = { inputType: PropTypes.string.isRequired, cellData: PropTypes.object.isRequired, updateRow: PropTypes.func.isRequired, edited: PropTypes.bool.isRequired, branch: PropTypes.string.isRequired, }; export default EditableCell;