adminAddEventPage.js 2.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. import React, { Component } from "react";
  2. import { connect } from "react-redux";
  3. import * as actions from "../../actions/adminMainPageActions";
  4. import AdminHeader from "../../components/adminHeader/adminHeader";
  5. import Form from "../../components/eventForm/eventReduxForm";
  6. import ConfirmationMessage from "../../components/confirmationMessage/confirmationMessage";
  7. class AdminAddEventPage extends Component {
  8. state = {
  9. confirmationMessageFlag: false
  10. };
  11. componentDidMount() {
  12. this.props.getEvents();
  13. }
  14. showConfirmationMessage = () => {
  15. this.setState({ confirmationMessageFlag: true })
  16. };
  17. closeConfirmationMessage = () => {
  18. this.setState({ confirmationMessageFlag: false })
  19. };
  20. render() {
  21. const {
  22. postNewEvent,
  23. changeEvent,
  24. eventFormInitialValue,
  25. eventTypes,
  26. editFormFlag
  27. } = this.props
  28. return (
  29. <>
  30. <AdminHeader />
  31. <div className="event-form">
  32. <div className="event-form__content">
  33. <h2 className="event-form__form-title">{editFormFlag ? 'CHANGE EVENT' : 'ADD NEW EVENT'}</h2>
  34. <Form
  35. postNewEvent={postNewEvent}
  36. changeEvent={changeEvent}
  37. showConfirmationMessage={this.showConfirmationMessage}
  38. initialValues={eventFormInitialValue}
  39. eventTypes={eventTypes}
  40. editFormFlag={editFormFlag}
  41. />
  42. </div>
  43. </div>
  44. {this.state.confirmationMessageFlag &&
  45. <ConfirmationMessage closeMessage={this.closeConfirmationMessage}>
  46. <div className="text">{editFormFlag ? `Event has been changed.` : `New event has beed added.`}</div>
  47. </ConfirmationMessage >}
  48. </>
  49. );
  50. }
  51. }
  52. const mapStateToProps = state => ({
  53. eventFormInitialValue: state.adminMainPageReducer.eventFormInitialValue,
  54. eventTypes: state.adminMainPageReducer.eventTypes,
  55. editFormFlag: state.adminMainPageReducer.editFormFlag
  56. });
  57. export default connect(mapStateToProps, actions)(AdminAddEventPage);