GridEditModal.jsx 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  1. import React from 'react';
  2. import PropTypes from 'prop-types';
  3. import {
  4. Modal, ModalHeader, ModalBody, ModalFooter,
  5. } from 'reactstrap';
  6. export default class GridEditModal extends React.PureComponent {
  7. constructor(props) {
  8. super(props);
  9. this.state = {
  10. show: false,
  11. };
  12. this.show = this.show.bind(this);
  13. this.hide = this.hide.bind(this);
  14. this.cancel = this.cancel.bind(this);
  15. this.pasteCodedGrid = this.pasteCodedGrid.bind(this);
  16. }
  17. show() {
  18. this.setState({ show: true });
  19. }
  20. hide() {
  21. this.setState({ show: false });
  22. }
  23. cancel() {
  24. this.hide();
  25. }
  26. pasteCodedGrid() {
  27. // dummy data
  28. const pasteCode = `
  29. <div class="container">
  30. <div class="row">
  31. <div class="col-sm-6 col-md-5 col-lg-12"></div>
  32. <div class="col-xs-3"></div>
  33. <div class="col-lg-1"></div>
  34. </div>
  35. <div class="row">
  36. <div class="col-sm-12"></div>
  37. </div>
  38. <div class="row">
  39. <div class="col-md-11"></div>
  40. </div>
  41. <div class="row">
  42. <div class="col-xs-4"></div>
  43. </div>
  44. </div>
  45. `;
  46. if (this.props.onSave != null) {
  47. console.log('hoge');
  48. this.props.onSave(pasteCode);
  49. }
  50. this.cancel();
  51. return pasteCode;
  52. }
  53. render() {
  54. return (
  55. <Modal isOpen={this.state.show} toggle={this.cancel}>
  56. <ModalHeader tag="h4" toggle={this.cancel} className="bg-primary text-light">
  57. Edit Grid
  58. </ModalHeader>
  59. <ModalBody>
  60. </ModalBody>
  61. <ModalFooter className="grw-modal-footer">
  62. <div className="ml-auto">
  63. <button type="button" className="mr-2 btn btn-secondary" onClick={this.cancel}>Cancel</button>
  64. <button type="button" className="btn btn-primary" onClick={this.pasteCodedGrid}>Done</button>
  65. </div>
  66. </ModalFooter>
  67. </Modal>
  68. );
  69. }
  70. }
  71. GridEditModal.propTypes = {
  72. onSave: PropTypes.func,
  73. };