adminMyEventsPage.js 3.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  1. import React, { Component } from "react";
  2. import { connect } from "react-redux";
  3. import "./adminMyEventsPage.scss";
  4. import { Redirect } from 'react-router-dom'
  5. import * as actions from "../../actions/adminMainPageActions";
  6. import AdminHeader from "../../components/adminHeader/adminHeader";
  7. import EventInfoShort from "../../components/eventInfoShort/EventInfoShort";
  8. class AdminAddEventPage extends Component {
  9. state = {
  10. filteredEventList: []
  11. };
  12. componentDidMount() {
  13. this.props.getEvents();
  14. }
  15. onChangeTypeHandler = e => {
  16. const { value } = e.target;
  17. this.props.getEvents(value)
  18. };
  19. render() {
  20. const {
  21. eventList,
  22. removeEvent,
  23. editEvent,
  24. eventFormInitialValue,
  25. editFormFlag,
  26. eventTypes
  27. } = this.props
  28. return (
  29. <>
  30. <AdminHeader />
  31. <div className="event-page">
  32. <div className="event-page__content">
  33. <h2 className="event-page__title">MY EVENTS</h2>
  34. <select className="event-page__select" onChange={this.onChangeTypeHandler} label="Event Type">
  35. {eventTypes.map(elem => <option key={elem.id} value={elem.optionName}>{elem.optionName}</option>)}
  36. </select>
  37. <div className="events-list">
  38. {eventList && eventList.map(el =>
  39. <div className="event-page__container" key={el._id}>
  40. <EventInfoShort
  41. key={el._id}
  42. title={el.title}
  43. country={el.country}
  44. city={el.city}
  45. id={el._id}
  46. eventDate={el.eventDate}
  47. imgSrc={el.mainBannerPicture}
  48. values={eventFormInitialValue}
  49. />
  50. <div className="event-page__buttons-conteiner">
  51. <button className="event-page__buttons-conteiner__button" onClick={editEvent.bind(null, el._id)} >Edit Event</button>
  52. <button className="event-page__buttons-conteiner__button" onClick={removeEvent.bind(null, el._id)} >Delete Event</button>
  53. </div>
  54. </div>
  55. )}
  56. </div>
  57. {editFormFlag && <Redirect to='/admin/add_new_event' />}
  58. </div>
  59. </div>
  60. </>
  61. );
  62. }
  63. }
  64. const mapStateToProps = state => ({
  65. eventList: state.adminMainPageReducer.eventList,
  66. eventFormInitialValue: state.adminMainPageReducer.eventFormInitialValue,
  67. eventTypes: state.adminMainPageReducer.eventTypes,
  68. editFormFlag: state.adminMainPageReducer.editFormFlag,
  69. });
  70. export default connect(mapStateToProps, actions)(AdminAddEventPage);