diff --git a/src/addons/dragAndDrop/DraggableEventWrapper.js b/src/addons/dragAndDrop/DraggableEventWrapper.js index 0d48c7c1a..6cf8331f1 100644 --- a/src/addons/dragAndDrop/DraggableEventWrapper.js +++ b/src/addons/dragAndDrop/DraggableEventWrapper.js @@ -8,10 +8,10 @@ import { accessor } from '../../utils/propTypes' import { accessor as get } from '../../utils/accessors' import BigCalendar from '../../index' -const EventWrapper = BigCalendar.components.eventWrapper class DraggableEventWrapper extends React.Component { static contextTypes = { + components: PropTypes.object, draggableAccessor: accessor, resizableAccessor: accessor, } @@ -51,6 +51,10 @@ class DraggableEventWrapper extends React.Component { } render() { + const { components } = this.context + const EventWrapper = + components.eventWrapper || BigCalendar.components.eventWrapper + let { connectDragSource, connectTopDragSource, diff --git a/src/addons/dragAndDrop/withDragAndDrop.js b/src/addons/dragAndDrop/withDragAndDrop.js index 4d8b6faa4..3771c7b5b 100644 --- a/src/addons/dragAndDrop/withDragAndDrop.js +++ b/src/addons/dragAndDrop/withDragAndDrop.js @@ -52,10 +52,6 @@ try { * If you care about these corner cases, you can examine the `allDay` param suppled * in the callback to determine how the user dropped or resized the event. * - * Note: you cannot use custom `EventWrapper` components when using this HOC as it - * is overwritten here. - * - * * @param {*} Calendar * @param {*} backend */ diff --git a/stories/Calendar.js b/stories/Calendar.js index 505ecfbc0..144c10fc0 100644 --- a/stories/Calendar.js +++ b/stories/Calendar.js @@ -399,6 +399,19 @@ storiesOf('module.Calendar.week', module) ) }) + .add('add custom eventWrapper', () => { + return ( +