From 2a5b6df8cf068d579492ec29906b20e74c5278f9 Mon Sep 17 00:00:00 2001 From: jordi fita mas Date: Sat, 3 Feb 2024 03:22:25 +0100 Subject: [PATCH] Emit the input event when changing departure date It is necessary to detect the change using AlpineJS, for instance. --- web/static/booking-dates.js | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/web/static/booking-dates.js b/web/static/booking-dates.js index bd1c731..3d1a40b 100644 --- a/web/static/booking-dates.js +++ b/web/static/booking-dates.js @@ -11,6 +11,11 @@ return; } + function updateDepartureDate(date) { + departureDateField.value = date; + departureDateField.dispatchEvent(new Event('input', {bubbles: true})); + } + const minNights = Math.max(1, parseInt(departureDateField.dataset.minNights, 10) || 0); arrivalDate.setUTCDate(arrivalDate.getUTCDate() + minNights); const minDate = formatDate(arrivalDate); @@ -19,7 +24,7 @@ const departureDate = new Date(departureDateField.value); const validDepartureDate = !isNaN(departureDate.getTime()) if (!validDepartureDate || departureDate < arrivalDate) { - departureDateField.value = minDate; + updateDepartureDate(minDate); } const maxNights = parseInt(departureDateField.dataset.maxNights, 10) || 0; @@ -28,7 +33,7 @@ const maxDate = formatDate(arrivalDate); departureDateField.setAttribute('max', maxDate); if (validDepartureDate && departureDate >= arrivalDate) { - departureDateField.value = maxDate; + updateDepartureDate(maxDate); } } }