adminResultsForm.js 3.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495
  1. import React, { Component } from "react";
  2. import { reduxForm, Field } from "redux-form";
  3. import "./adminResultsForm.scss";
  4. import { customInput } from "../customFields/customInput/customInput";
  5. import { customSelect } from "../customFields/customSelect/customSelect";
  6. class AdminResultsForm extends Component {
  7. // state = {
  8. // addPhotogalaryInitialValue,
  9. // filteredEventList: []
  10. // }
  11. submit = values => {
  12. console.log('submit props', this.props)
  13. // console.log('submit state', this.state)
  14. // const pictures = this.state.addPhotogalaryInitialValue.pictures.reduce((prev, elem) => {
  15. // return prev.concat(elem.value);
  16. // }, []);
  17. }
  18. render() {
  19. // const { filteredEventList, addPhotogalaryInitialValue } = this.state;
  20. // console.log(this.state )
  21. const {
  22. handleSubmit,
  23. eventTypes,
  24. eventList,
  25. // eventByTitle,
  26. eventusers,
  27. onChangeTypeHandler,
  28. onChangeTitleHandler
  29. } = this.props;
  30. return (
  31. <form className="results-form__results-form__main" onSubmit={handleSubmit(this.submit)}>
  32. <Field
  33. name="eventType"
  34. label="Event Type"
  35. required
  36. component={customSelect}
  37. onChange={onChangeTypeHandler}
  38. className="form-block__select -wide"
  39. >
  40. {eventTypes.map(elem => <option key={elem.id} value={elem.optionName}>{elem.optionName}</option>)}
  41. </Field>
  42. <Field
  43. name="eventTitle"
  44. label="Event Title"
  45. required
  46. component={customSelect}
  47. onChange={onChangeTitleHandler}
  48. className="form-block__select -wide"
  49. >
  50. {console.log('event list', eventList)}
  51. {eventList && eventList.map(elem => <option key={elem._id} id={elem._id} value={elem.title}>{elem.title}</option>)}
  52. </Field>
  53. <div className = 'results-form__table'>
  54. <div className = 'results-form__header'>
  55. <div className = 'results-form__header_name'>Name</div>
  56. <div className = 'results-form__header_email'>Email</div>
  57. <div className = 'results-form__header_country'>Country</div>
  58. <div className = 'results-form__header_distance'>Distance</div>
  59. <div className = 'results-form__header_time'>Time</div>
  60. </div>
  61. {eventusers && eventusers.map( elem =>
  62. <div key={elem._id} className='results-form__user-data'>
  63. <div className = "results-form__user-data_name">{elem.name}</div>
  64. <div className = "results-form__user-data_email">{elem.email}</div>
  65. <div className = "results-form__user-data_country">{elem.userCountry}</div>
  66. <div className = "results-form__user-data_distance">{elem.distance}</div>
  67. <Field
  68. name="time"
  69. component={customInput}
  70. className="input-box -wide"
  71. />
  72. </div>
  73. )}
  74. </div>
  75. <div className="results-form__control-box">
  76. <button className="results-form__submit-btn" >Add Results</button>
  77. </div>
  78. </form>
  79. );
  80. }
  81. }
  82. export default reduxForm({ form: "resultsForm", enableReinitialize: true })(AdminResultsForm);