blob: 66fde97a3bdc4d94b900c0553f436fd5af0b7eb0 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
|
import React from 'react';
import PropTypes from 'prop-types';
import css from 'ba-styles/Table.scss';
import { Select, MenuItem, TableCell } from '@material-ui/core';
class SelectableCell extends React.Component {
handleChange = event => {
this.props.updateRow(event, this.props.branch);
this.setState({ [event.target.name]: event.target.value });
};
render() {
const {
cellData,
edited,
options,
} = this.props;
return (
<TableCell padding="none">
<Select
name={cellData.type}
id={cellData.id.toString()}
className={css.crudInput}
value={cellData.value}
onChange={this.handleChange}
displayEmpty
disabled={!edited}
margin="none"
>
{options.map((option, index) => <MenuItem value={option} key={index.toString()}>{option}</MenuItem>)}
</Select>
</TableCell>
);
}
}
SelectableCell.propTypes = {
options: PropTypes.array.isRequired,
cellData: PropTypes.object.isRequired,
updateRow: PropTypes.func.isRequired,
edited: PropTypes.bool.isRequired,
branch: PropTypes.string.isRequired,
};
export default SelectableCell;
|