Preselect the date with a query parameter (#1376)
This commit is contained in:
parent
66dfd36d6d
commit
4d58075ef7
1 changed files with 13 additions and 3 deletions
|
@ -22,9 +22,9 @@ App.Http.Booking = (function () {
|
||||||
const $availableHours = $('#available-hours');
|
const $availableHours = $('#available-hours');
|
||||||
const $captchaHint = $('#captcha-hint');
|
const $captchaHint = $('#captcha-hint');
|
||||||
const $captchaTitle = $('.captcha-title');
|
const $captchaTitle = $('.captcha-title');
|
||||||
|
|
||||||
const moment = window.moment;
|
const moment = window.moment;
|
||||||
|
|
||||||
let unavailableDatesBackup;
|
let unavailableDatesBackup;
|
||||||
let selectedDateStringBackup;
|
let selectedDateStringBackup;
|
||||||
let processingUnavailableDates = false;
|
let processingUnavailableDates = false;
|
||||||
|
@ -283,7 +283,7 @@ App.Http.Booking = (function () {
|
||||||
if (setDate && !vars('manage_mode')) {
|
if (setDate && !vars('manage_mode')) {
|
||||||
for (let i = 1; i <= numberOfDays; i++) {
|
for (let i = 1; i <= numberOfDays; i++) {
|
||||||
const currentDate = new Date(selectedDate.getFullYear(), selectedDate.getMonth(), i);
|
const currentDate = new Date(selectedDate.getFullYear(), selectedDate.getMonth(), i);
|
||||||
|
|
||||||
if (unavailableDates.indexOf(moment(currentDate).format('YYYY-MM-DD')) === -1) {
|
if (unavailableDates.indexOf(moment(currentDate).format('YYYY-MM-DD')) === -1) {
|
||||||
$('#select-date')[0]._flatpickr.setDate(currentDate);
|
$('#select-date')[0]._flatpickr.setDate(currentDate);
|
||||||
getAvailableHours(moment(currentDate).format('YYYY-MM-DD'));
|
getAvailableHours(moment(currentDate).format('YYYY-MM-DD'));
|
||||||
|
@ -300,6 +300,16 @@ App.Http.Booking = (function () {
|
||||||
// Grey out unavailable dates.
|
// Grey out unavailable dates.
|
||||||
$('#select-date')[0]._flatpickr.set('disable', unavailableDates.map(unavailableDate => new Date(unavailableDate)));
|
$('#select-date')[0]._flatpickr.set('disable', unavailableDates.map(unavailableDate => new Date(unavailableDate)));
|
||||||
|
|
||||||
|
const dateQueryParam = App.Utils.Url.queryParam('date');
|
||||||
|
|
||||||
|
if (dateQueryParam) {
|
||||||
|
const dateQueryParamMoment = moment(dateQueryParam);
|
||||||
|
|
||||||
|
if (dateQueryParamMoment.isValid() && !unavailableDates.includes(dateQueryParam) && dateQueryParamMoment.format('YYYY-MM') === selectedDateMoment.format('YYYY-MM')) {
|
||||||
|
$('#select-date')[0]._flatpickr.setDate(dateQueryParamMoment.toDate());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
processingUnavailableDates = false;
|
processingUnavailableDates = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue