adminResultsForm.js 3.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  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. render() {
  8. const {
  9. handleSubmit,
  10. submitHandler,
  11. eventTypes,
  12. eventList,
  13. eventusers,
  14. onChangeTypeHandler,
  15. onChangeTitleHandler,
  16. onChangeInputTimeHandler
  17. } = this.props;
  18. const fullEventList = [{title: "Select Event", _id: 1}].concat(eventList)
  19. return (
  20. <form className="results-form__results-form__main" onSubmit={handleSubmit(submitHandler)}>
  21. <Field
  22. name="eventType"
  23. label="Event Type"
  24. required
  25. component={customSelect}
  26. onChange={onChangeTypeHandler}
  27. className="form-block__select -wide"
  28. >
  29. {eventTypes.map(elem => <option key={elem.id} value={elem.optionName}>{elem.optionName}</option>)}
  30. </Field>
  31. <Field
  32. name="eventTitle"
  33. label="Event Title"
  34. required
  35. component={customSelect}
  36. onChange={onChangeTitleHandler}
  37. className="form-block__select -wide"
  38. >
  39. {fullEventList && fullEventList.map(elem => <option key={elem._id} id={elem._id} value={elem.title}>{elem.title}</option>)}
  40. </Field>
  41. <div className = 'results-form__table'>
  42. <div className = 'results-form__header'>
  43. <div className = 'results-form__header_name'>Name</div>
  44. <div className = 'results-form__header_email'>Email</div>
  45. <div className = 'results-form__header_country'>Country</div>
  46. <div className = 'results-form__header_distance'>Distance</div>
  47. <div className = 'results-form__header_time'>Time</div>
  48. </div>
  49. {eventusers && eventusers.map( elem =>
  50. <div key={elem._id} className='results-form__user-data'>
  51. <div className = "results-form__user-data_name">{elem.name}</div>
  52. <div className = "results-form__user-data_email">{elem.email}</div>
  53. <div className = "results-form__user-data_country">{elem.userCountry}</div>
  54. <div className = "results-form__user-data_distance">{elem.distance}</div>
  55. <Field
  56. id = {elem._id}
  57. name={elem._id}
  58. component={customInput}
  59. className="input-box -wide"
  60. onChange = {onChangeInputTimeHandler}
  61. />
  62. </div>
  63. )}
  64. </div>
  65. <div className="results-form__control-box">
  66. <button className="results-form__submit-btn" >Add Results</button>
  67. </div>
  68. </form>
  69. );
  70. }
  71. }
  72. export default reduxForm({ form: "resultsForm", enableReinitialize: true })(AdminResultsForm);