From cbb6f1fc0936d5c82587e138cfebe71ab812e988 Mon Sep 17 00:00:00 2001 From: IgorOmelyaniuk Date: Tue, 15 Jan 2019 00:28:59 -0900 Subject: [PATCH] fix selected date in calendar for different timezones --- .../travix-ui-kit/components/calendar/calendar.js | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/packages/travix-ui-kit/components/calendar/calendar.js b/packages/travix-ui-kit/components/calendar/calendar.js index 133c702..58e4656 100644 --- a/packages/travix-ui-kit/components/calendar/calendar.js +++ b/packages/travix-ui-kit/components/calendar/calendar.js @@ -155,10 +155,15 @@ export default class Calendar extends Component { * passing the selectedDates array to it. * * @method onSelectDay - * @param {Date} dateSelected Date selected by the user. + * @param {String} dateStr Date selected by the user. */ - onSelectDay(dateSelected) { + onSelectDay(dateStr) { const { onSelectDay, selectionType, minDate, multiplemode } = this.props; + const currentDate = new Date(dateStr); + const yearSelected = currentDate.getUTCFullYear(); + const monthSelected = currentDate.getUTCMonth(); + const daySelected = currentDate.getUTCDate(); + const dateSelected = new Date(yearSelected, monthSelected, daySelected); this.setState((prevState) => { let { minLimit, renderDate, selectedDates } = prevState; @@ -246,7 +251,7 @@ export default class Calendar extends Component { onMouseDown={this.handleItemMouseDown} onNavNextMonth={() => this.moveToMonth(CALENDAR_MOVE_TO_NEXT)} onNavPreviousMonth={() => this.moveToMonth(CALENDAR_MOVE_TO_PREVIOUS)} - onSelectDay={e => this.onSelectDay(new Date(e.currentTarget.getAttribute('data-date')))} + onSelectDay={e => this.onSelectDay(e.currentTarget.getAttribute('data-date'))} renderDate={renderDate} selectedDates={selectedDates} selectionType={selectionType}