From 162729715a4696b51a7f2684ea080b61e64e8265 Mon Sep 17 00:00:00 2001 From: abtahi-tajwar Date: Sun, 26 Nov 2023 22:25:57 +0600 Subject: [PATCH] added new handler --- src/components/Calendar/index.js | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/src/components/Calendar/index.js b/src/components/Calendar/index.js index 73b9faa48..b7277ae22 100644 --- a/src/components/Calendar/index.js +++ b/src/components/Calendar/index.js @@ -103,8 +103,8 @@ class Calendar extends PureComponent { months: this.list.getVisibleRange().length, } : props; - const newFocus = calcFocusDate(this.state.focusedDate, newProps); - this.focusToDate(newFocus, newProps); + const newFocus = calcFocusDate(this.state.focusedDate, newProps); + this.focusToDate(newFocus, newProps); }; updatePreview = val => { if (!val) { @@ -123,6 +123,9 @@ class Calendar extends PureComponent { // prevent react-list's initial render focus problem setTimeout(() => this.focusToDate(this.state.focusedDate)); } + if (this.props.setShownDate) { + this.props.setShownDate(this.handleChangeShowDateFromParent) + } } componentDidUpdate(prevProps) { @@ -152,6 +155,10 @@ class Calendar extends PureComponent { } } + // value => Date object + handleChangeShowDateFromParent = (value) => { + this.changeShownDate(value) + } changeShownDate = (value, mode = 'set') => { const { focusedDate } = this.state; const { onShownDateChange, minDate, maxDate } = this.props; @@ -576,6 +583,7 @@ Calendar.propTypes = { locale: PropTypes.object, shownDate: PropTypes.object, onShownDateChange: PropTypes.func, + setShownDate: PropTypes.func, ranges: PropTypes.arrayOf(rangeShape), preview: PropTypes.shape({ startDate: PropTypes.object,