Add move torrents option to context menu

This commit is contained in:
John Furrow
2016-02-28 19:24:59 -08:00
parent 7e3403238e
commit 635b30afeb
27 changed files with 574 additions and 74 deletions

View File

@@ -0,0 +1,54 @@
import classnames from 'classnames';
import React from 'react';
import Checkmark from '../icons/Checkmark';
const METHODS_TO_BIND = ['handleCheckboxChange'];
export default class SearchBox extends React.Component {
constructor() {
super();
this.state = {checked: false};
METHODS_TO_BIND.forEach((method) => {
this[method] = this[method].bind(this);
});
}
componentDidMount() {
if (this.state.checked !== this.props.checked) {
this.setState({checked: this.props.checked});
}
}
handleCheckboxChange() {
let currentCheckedState = this.state.checked;
let newCheckedState = !currentCheckedState;
this.setState({checked: newCheckedState})
if (this.props.onChange) {
this.props.onChange(newCheckedState);
}
}
render() {
let classes = classnames('checkbox', {
'is-checked': this.state.checked
});
return (
<label className={classes}>
<input type="checkbox" checked={this.state.checked}
onChange={this.handleCheckboxChange} />
<span className="checkbox__decoy">
<Checkmark />
</span>
<span className="checkbox__label">
{this.props.children}
</span>
</label>
);
}
}