SearchResultInput.js 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. import React from 'react';
  2. import PropTypes from 'prop-types';
  3. export default class SearchResultInput extends React.Component {
  4. constructor(props) {
  5. super(props);
  6. this.state = {
  7. isChecked: false,
  8. }
  9. this.toggleCheckboxChange = this.toggleCheckboxChange.bind(this);
  10. }
  11. toggleCheckboxChange() {
  12. const { handleCheckboxChange, page } = this.props;
  13. this.setState(({ isChecked }) => (
  14. {
  15. isChecked: !isChecked,
  16. }
  17. ));
  18. this.props.handleCheckboxChange(page);
  19. }
  20. render() {
  21. let deletionMode = this.props.deletionMode;
  22. let pageId = this.props.page.id;
  23. const { isChecked } = this.state;
  24. const checkBoxInput = deletionMode ? (
  25. <input
  26. type="checkbox"
  27. value={pageId}
  28. checked={isChecked}
  29. onChange={this.toggleCheckboxChange} />
  30. ) : null;
  31. return (
  32. <div>
  33. {checkBoxInput}
  34. </div>
  35. );
  36. }
  37. }
  38. SearchResultInput.propTypes = {
  39. page: PropTypes.object.isRequired,
  40. deletionMode: PropTypes.bool.isRequired,
  41. handleCheckboxChange: PropTypes.func.isRequired,
  42. };