From 3a0dcdd316a21dbda4ad2e8896275721a08861e3 Mon Sep 17 00:00:00 2001 From: Tsanislav Gatev Date: Thu, 3 Dec 2020 14:46:48 +0200 Subject: [PATCH 1/3] fixes the min and max date in timezones containing half hour --- packages/main/src/DayPicker.js | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/packages/main/src/DayPicker.js b/packages/main/src/DayPicker.js index 43169167ab6f..d3f272f42282 100644 --- a/packages/main/src/DayPicker.js +++ b/packages/main/src/DayPicker.js @@ -867,12 +867,13 @@ class DayPicker extends UI5Element { const minDate = this._minDateObject; const maxDate = this._maxDateObject; - currentDate.setHours(0); + currentDate.setHours(0, 0, 0); + if (minDate) { - minDate.setHours(0); + minDate.setHours(0, 0, 0); } if (maxDate) { - maxDate.setHours(0); + maxDate.setHours(0, 0, 0); } return currentDate > maxDate || currentDate < minDate; From 9ffd862b2b04ce90cfaa264f950de0b8d0eea706 Mon Sep 17 00:00:00 2001 From: Tsanislav Gatev Date: Mon, 7 Dec 2020 22:17:00 +1100 Subject: [PATCH 2/3] Comments reflected --- packages/main/src/DayPicker.js | 15 +-------------- 1 file changed, 1 insertion(+), 14 deletions(-) diff --git a/packages/main/src/DayPicker.js b/packages/main/src/DayPicker.js index d3f272f42282..0cf9d8f90d2f 100644 --- a/packages/main/src/DayPicker.js +++ b/packages/main/src/DayPicker.js @@ -863,20 +863,7 @@ class DayPicker extends UI5Element { } _isOutOfSelectableRange(date) { - const currentDate = date._oUDate ? date.toLocalJSDate() : CalendarDate.fromTimestamp(date).toLocalJSDate(); - const minDate = this._minDateObject; - const maxDate = this._maxDateObject; - - currentDate.setHours(0, 0, 0); - - if (minDate) { - minDate.setHours(0, 0, 0); - } - if (maxDate) { - maxDate.setHours(0, 0, 0); - } - - return currentDate > maxDate || currentDate < minDate; + return date.valueOf() < this._minDate || date.valueOf() > this._maxDate; } get _maxDate() { From 2ab4eed29aa85193fe7b896c18024185f200d4dd Mon Sep 17 00:00:00 2001 From: Tsanislav Gatev Date: Mon, 7 Dec 2020 14:00:16 +0200 Subject: [PATCH 3/3] remove redundant code --- packages/main/src/DayPicker.js | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/packages/main/src/DayPicker.js b/packages/main/src/DayPicker.js index 0cf9d8f90d2f..609115e8e9b3 100644 --- a/packages/main/src/DayPicker.js +++ b/packages/main/src/DayPicker.js @@ -282,9 +282,6 @@ class DayPicker extends UI5Element { let weekday; const _monthsNameWide = localeData.getMonths("wide", this._calendarDate._oUDate.sCalendarType); - this._minDateObject = new Date(this._minDate); - this._maxDateObject = new Date(this._maxDate); - const visualizedSelectedDates = this._getVisualizedSelectedDates(); /* eslint-disable no-loop-func */ @@ -340,7 +337,7 @@ class DayPicker extends UI5Element { if (this._isWeekend(oCalDate)) { day.classes += " ui5-dp-item--weeekend"; } - if ((this.minDate || this.maxDate) && this._isOutOfSelectableRange(oCalDate)) { + if (this._isOutOfSelectableRange(oCalDate)) { day.classes += " ui5-dp-item--disabled"; day.disabled = true; }