import React from 'react'; import PropTypes from 'prop-types'; import { withStyles } from '@material-ui/core/styles'; import events from 'ba-api/eventData'; import { bindActionCreators } from 'redux'; import { connect } from 'react-redux'; import { Helmet } from 'react-helmet'; import brand from 'ba-api/brand'; import 'ba-styles/vendors/react-big-calendar/react-big-calendar.css'; import { EventCalendar, DetailEvent, AddEvent, Notification } from 'ba-components'; import { fetchAction, addAction, discardAction, submitAction, deleteAction, closeNotifAction } from 'ba-actions/CalendarEventActions'; const styles = { root: { display: 'block' } }; class Calendar extends React.Component { state = { anchorEl: false, event: null, anchorPos: { top: 0, left: 0 } }; componentDidMount() { this.props.fetchEventsData(events); } handleClick = event => { setTimeout(() => { const target = document.getElementsByClassName('rbc-selected')[0]; const targetBounding = target.getBoundingClientRect(); this.setState({ event, anchorEl: true, anchorPos: { top: targetBounding.top, left: targetBounding.left } }); }, 200); }; handleClose = () => { this.setState({ anchorEl: false, }); }; render() { const title = brand.name + ' - Calendar'; const description = brand.desc; const { anchorEl, anchorPos, event } = this.state; const { classes, eventData, openFrm, addEvent, discardEvent, submit, remove, closeNotif, messageNotif } = this.props; return (