1
0
mirror of https://github.com/Sonarr/Sonarr.git synced 2026-04-20 21:54:58 -04:00
This commit is contained in:
Mark McDowall
2018-01-12 18:01:27 -08:00
committed by Taloth Saldono
parent 99feff549d
commit 5894b4fd95
1183 changed files with 91622 additions and 4978 deletions
@@ -0,0 +1,80 @@
import PropTypes from 'prop-types';
import React, { Component } from 'react';
import CheckInput from 'Components/Form/CheckInput';
import TableRowCell from './TableRowCell';
import styles from './TableSelectCell.css';
class TableSelectCell extends Component {
//
// Lifecycle
componentDidMount() {
const {
id,
isSelected,
onSelectedChange
} = this.props;
onSelectedChange({ id, value: isSelected });
}
componentWillUnmount() {
const {
id,
onSelectedChange
} = this.props;
onSelectedChange({ id, value: null });
}
//
// Listeners
onChange = ({ value, shiftKey }, a, b, c, d) => {
const {
id,
onSelectedChange
} = this.props;
onSelectedChange({ id, value, shiftKey });
}
//
// Render
render() {
const {
className,
id,
isSelected,
...otherProps
} = this.props;
return (
<TableRowCell className={className}>
<CheckInput
className={styles.input}
name={id.toString()}
value={isSelected}
{...otherProps}
onChange={this.onChange}
/>
</TableRowCell>
);
}
}
TableSelectCell.propTypes = {
className: PropTypes.string.isRequired,
id: PropTypes.oneOfType([PropTypes.number, PropTypes.string]).isRequired,
isSelected: PropTypes.bool.isRequired,
onSelectedChange: PropTypes.func.isRequired
};
TableSelectCell.defaultProps = {
className: styles.selectCell,
isSelected: false
};
export default TableSelectCell;