import React from 'react';
import PropTypes from 'prop-types';
import { withStyles } from '@material-ui/core/styles';
import BigCalendar from 'react-big-calendar';
import moment from 'moment';
import { Paper } from '@material-ui/core';
import styles from './calendar-jss';
BigCalendar.setLocalizer(BigCalendar.momentLocalizer(moment));
function Event(event) {
return (
{event.title}
);
}
class EventCalendar extends React.Component {
eventStyleGetter = event => {
const backgroundColor = '#' + event.hexColor;
const style = {
backgroundColor,
};
return {
style
};
}
render() {
const allViews = Object.keys(BigCalendar.Views).map(k => BigCalendar.Views[k]);
const {
classes,
events,
handleEventClick
} = this.props;
return (
handleEventClick(selectedEvent)}
eventPropGetter={(this.eventStyleGetter)}
onSelectSlot={slotInfo => console.log(
`selected slot: \n\nstart ${slotInfo.start.toLocaleString()} `
+ `\nend: ${slotInfo.end.toLocaleString()}`
+ `\naction: ${slotInfo.action}`
)
}
components={{
event: Event
}}
/>
);
}
}
EventCalendar.propTypes = {
classes: PropTypes.object.isRequired,
events: PropTypes.array.isRequired,
handleEventClick: PropTypes.func.isRequired,
};
export default withStyles(styles)(EventCalendar);