diff --git a/src/Calendar.js b/src/Calendar.js index ec3a7344f..5426f3d02 100644 --- a/src/Calendar.js +++ b/src/Calendar.js @@ -750,6 +750,7 @@ class Calendar extends React.Component { * timeGutterHeader: MyTimeGutterWrapper, * timeGutterWrapper: MyTimeGutterWrapper, * resourceHeader: MyResourceHeader, + * showMore: MyShowMoreEvent, * toolbar: MyToolbar, * agenda: { * event: MyAgendaEvent, // with the agenda view use a different component to render events @@ -783,6 +784,7 @@ class Calendar extends React.Component { timeGutterHeader: PropTypes.elementType, timeGutterWrapper: PropTypes.elementType, resourceHeader: PropTypes.elementType, + showMore: PropTypes.elementType, toolbar: PropTypes.elementType, diff --git a/src/EventEndingRow.js b/src/EventEndingRow.js index fc32457a7..ee03612ee 100644 --- a/src/EventEndingRow.js +++ b/src/EventEndingRow.js @@ -75,10 +75,30 @@ class EventEndingRow extends React.Component { } renderShowMore(segments, slot) { - let { localizer, slotMetrics } = this.props + let { localizer, slotMetrics, components } = this.props const events = slotMetrics.getEventsForSlot(slot) const remainingEvents = eventsInSlot(segments, slot) const count = remainingEvents.length + + if (components?.showMore) { + const ShowMore = components.showMore + // The received slot seems to be 1-based, but the range we use to pull the date is 0-based + const slotDate = slotMetrics.getDateForSlot(slot - 1) + + return count ? ( + + ) : ( + false + ) + } + return count ? ( + ) + }, } export default customComponents