From e9c7ec3694404987cc0e69227ff5ded38aa07251 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bjo=CC=88rn=20Fromme?= Date: Tue, 9 Oct 2018 13:40:18 +0200 Subject: [PATCH] Fix 'out of stack' issue in ie --- .../Assets/js/components/DateSelect.vue | 55 ++++++++++--------- 1 file changed, 30 insertions(+), 25 deletions(-) diff --git a/web/typo3conf/ext/ep_theme/Resources/Private/Assets/js/components/DateSelect.vue b/web/typo3conf/ext/ep_theme/Resources/Private/Assets/js/components/DateSelect.vue index d69e61ec..6f6a0946 100644 --- a/web/typo3conf/ext/ep_theme/Resources/Private/Assets/js/components/DateSelect.vue +++ b/web/typo3conf/ext/ep_theme/Resources/Private/Assets/js/components/DateSelect.vue @@ -24,7 +24,7 @@ {{ row.label }} - ab {{ calculatePrice(row.code, selectedNumberOfDays) }} € + ab {{ calculatePrice(row.code) }} € { return obj.code === roomCode; }); if (room) { + const nights = this.getSelectedNumberOfNights(); return room.price + (nights - room.minNights) * room.additionalNightPrice; } return null; + }, + getMinNightsForSelectedDate () { + if (this.selectedFrom === null) { + return 0; + } + const key = this.selectedFrom.format('YYYY-MM-DD'); + if (!key in this.availableDates) { + return 0; + } + return this.availableDates[key].minNights; + }, + getSelectedNumberOfNights () { + if (this.selectedFrom === null || this.selectedTo === null) { + return 0; + } + + return this.selectedTo.diff(this.selectedFrom, 'days'); } }, mounted () { @@ -229,14 +232,16 @@ if (selectedDates.length === 2) { this.selectedFrom = dayjs(selectedDates[0]); this.selectedTo = dayjs(selectedDates[1]); - if (this.selectedNumberOfDays >= this.minNightsForSelectedDate) { + this.selectedNumberOfNights = this.getSelectedNumberOfNights(); + this.minNightsForSelectedDate = this.getMinNightsForSelectedDate(); + if (this.selectedNumberOfNights >= this.minNightsForSelectedDate) { this.fetchAvailableRooms(); } } }, onDayCreate: (dObj, dStr, fp, dayElem) => { - const day = dayElem.dateObj.getFullYear() + "-" + ("0" + dayElem.dateObj.getMonth()).slice(-2) - + "-" + ("0"+(dayElem.dateObj.getDate()+1)).slice(-2); + const day = dayElem.dateObj.getFullYear() + "-" + ("0" + (dayElem.dateObj.getMonth()+1)).slice(-2) + + "-" + ("0" + dayElem.dateObj.getDate()).slice(-2); if (day in this.availableDates) { dayElem.classList.add('available'); }