Advertisement
Guest User

Untitled

a guest
Jul 28th, 2017
64
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.82 KB | None | 0 0
  1. import React from 'react';
  2. import { ControlLabel } from 'react-bootstrap'
  3. import { FormControl } from 'react-bootstrap'
  4.  
  5. const CheckField = (props) => {
  6. return(
  7. <div>
  8. <ControlLabel>{props.label}</ControlLabel>
  9. <FormControl
  10. name={props.body}
  11. type='text'
  12. onChange={props.handlerFunction}
  13. value={props.content}
  14. />
  15. <FormControl.Feedback />
  16. </div>
  17. );
  18. }
  19.  
  20. export default CheckField;
  21.  
  22. import React, { Component } from 'react';
  23. import CheckField from '../components/CheckField'
  24. import ArrowContainer from './ArrowContainer'
  25. import { FormGroup } from 'react-bootstrap'
  26. import { FormControl } from 'react-bootstrap'
  27.  
  28. class FormContainer extends Component {
  29. constructor(props) {
  30. super(props);
  31. this.state = {
  32. errors: {},
  33. checkConsumed: '',
  34. check: ''
  35. }
  36. this.handleClearForm = this.handleClearForm.bind(this);
  37. this.handleFormSubmit = this.handleFormSubmit.bind(this);
  38. this.handleCheckChange = this.handleCheckChange.bind(this);
  39. this.validateCheck = this.validateCheck.bind(this);
  40. }
  41.  
  42.  
  43. // componentDidMount() {
  44. // this.loadReviewsFromServer();
  45. // setInterval(this.loadReviewsFromServer.bind(this), this.props.pollInterval);
  46. // }
  47.  
  48. // setInterval(clickHandler)
  49. // {this.props.onClick, this.state.actualTimeSelected)};
  50.  
  51. handleClearForm(event) {
  52. event.preventDefault();
  53. this.setState({
  54. errors: {},
  55. checkConsumed: '',
  56. check: ''
  57. })
  58. }
  59. handleFormSubmit(event) {
  60. event.preventDefault();
  61. {
  62. let formPayload = {
  63. check: this.state.checkConsumed,
  64. category_id: this.props.categoryId
  65. };
  66. if (this.validateCheck(formPayload.check)){
  67.  
  68. this.props.addNewReality(formPayload);
  69. this.handleClearForm(event);
  70. }
  71.  
  72. }
  73. }
  74. handleCheckChange(event) {
  75. this.setState({ checkConsumed: event.target.value })
  76. }
  77.  
  78. validateCheck(check) {
  79. if (check === '') {
  80. let newError = { check: 'You must write a check.' }
  81. this.setState({ errors: Object.assign(this.state.errors, newError) })
  82. return false
  83. } else {
  84. let errorState = this.state.errors
  85. delete errorState.handleFormSubmit
  86. this.setState({ errors: errorState })
  87. return true
  88. }
  89. }
  90. render() {
  91. let errorDiv;
  92. let errorItems;
  93. if (Object.keys(this.state.errors).length > 1) {
  94. errorItems = Object.values(this.state.errors).map(error => {
  95. return(<li key={error}>{error}</li>)
  96. })
  97. errorDiv = <div className="callout alert">{errorItems}</div>
  98. }
  99. return (
  100. <div>
  101. <FormGroup className="callout reactform col-xs-2 col-sm-8 col-md-4 col-lg-12 " onSubmit={this.handleFormSubmit}>
  102. {errorDiv}
  103. <div className="reality input">
  104. <CheckField className="reality input"
  105. content={this.state.checkConsumed}
  106. label='Create Question Quote or Statement for the Database!'
  107. name='check'
  108. placeholder="realities"
  109. type="text"
  110. id="reality"
  111. handlerFunction={this.handleCheckChange}
  112. />
  113. </div>
  114. <div className="button-group expanded react-buttons">
  115. <button className="button large" id="clear" onClick={this.handleClearForm}>Clear</button>
  116. <input className="button large" type="submit" id="submit" value="Submit" />
  117. <button className="reload success button" >
  118. <a className="reload" href="javascript:location.reload(true)">Reload Realities to see yours!</a>
  119. </button>
  120. </div>
  121. </FormGroup>
  122. <div className= "animated SlideInLeft arrow">
  123. <
  124. ArrowContainer
  125. user_id = {this.props.user}
  126. categoryId = {this.props.categoryId}
  127. checkConsumed = {this.props.checkConsumed}/>
  128. </div>
  129.  
  130. </div>
  131. );
  132. }
  133. }
  134. export default FormContainer;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement