diff --git a/CalendarPicker/Day.js b/CalendarPicker/Day.js index f79b618..b3519c5 100644 --- a/CalendarPicker/Day.js +++ b/CalendarPicker/Day.js @@ -35,7 +35,8 @@ export default function Day(props) { disabledDatesTextStyle, minRangeDuration, maxRangeDuration, - enableDateChange + enableDateChange, + renderExtraDayComponent } = props; const thisDay = moment({year, month, day, hour: 12 }); @@ -192,6 +193,9 @@ export default function Day(props) { ]}> { day } + { + renderExtraDayComponent && renderExtraDayComponent(thisDay) + } ); @@ -205,6 +209,9 @@ export default function Day(props) { { day } + { + renderExtraDayComponent && renderExtraDayComponent(thisDay) + } ); @@ -224,6 +231,9 @@ export default function Day(props) { { day } + { + renderExtraDayComponent && renderExtraDayComponent(thisDay) + } ); diff --git a/CalendarPicker/DaysGridView.js b/CalendarPicker/DaysGridView.js index 7222334..8e0e798 100644 --- a/CalendarPicker/DaysGridView.js +++ b/CalendarPicker/DaysGridView.js @@ -268,4 +268,5 @@ DaysGridView.propTypes = { disabledDatesTextStyle: stylePropType, minRangeDuration: PropTypes.oneOfType([PropTypes.array, PropTypes.number]), maxRangeDuration: PropTypes.oneOfType([PropTypes.array, PropTypes.number]), + renderExtraDayComponent: PropTypes.func }; diff --git a/CalendarPicker/index.js b/CalendarPicker/index.js index 0d30414..39f2bd9 100644 --- a/CalendarPicker/index.js +++ b/CalendarPicker/index.js @@ -17,7 +17,7 @@ export default class CalendarPicker extends Component { this.state = { currentMonth: null, currentYear: null, - currentView: props.initialView || 'days', + currentView: 'days', selectedStartDate: props.selectedStartDate && moment(props.selectedStartDate), selectedEndDate: props.selectedEndDate && moment(props.selectedEndDate), minDate: props.minDate && moment(props.minDate), @@ -52,6 +52,7 @@ export default class CalendarPicker extends Component { selectedRangeStartStyle: null, selectedRangeEndStyle: null, selectedRangeStyle: null, + renderExtraDayComponent: null }; componentDidUpdate(prevProps) { @@ -360,7 +361,7 @@ export default class CalendarPicker extends Component { this.setState((state) => ({ selectedStartDate: null, selectedEndDate: null, - renderMonthParams: { + renderMonthParams: { ...state.renderMonthParams, selectedStartDate: null, selectedEndDate: null, @@ -398,6 +399,7 @@ export default class CalendarPicker extends Component { selectedRangeStyle: this.props.selectedRangeStyle, selectedRangeEndStyle: this.props.selectedRangeEndStyle, customDatesStyles: this.props.customDatesStyles, + renderExtraDayComponent: this.props.renderExtraDayComponent }; }