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;