UNPKG

e-lado

Version:

[![CircleCI](https://circleci.com/gh/sharetribe/sharetribe/tree/master.svg?style=svg)](https://circleci.com/gh/sharetribe/sharetribe/tree/master) [![Dependency Status](https://gemnasium.com/sharetribe/sharetribe.png)](https://gemnasium.com/sharetribe/shar

72 lines (58 loc) 2.13 kB
window.ST = window.ST || {}; (function(module) { /** Initialize date range picker params: - `rangeContainerId`: element id - `endDate`: Last date that can be selected (type: Date) - `disabledDates`: Array of disabled dates (type: Array of Date) */ module.initializeFromToDatePicker = function(rangeContainerId, opts) { opts = opts || {}; var nightPicker = opts.nightPicker || false; var endDate = opts.endDate; var disabledStartDates = opts.disabledDates || []; var disabledEndDates = disabledStartDates.map(function(d) { var clonedDate = new Date(d.getTime()); clonedDate.setDate(clonedDate.getDate() + 1); return clonedDate; }); var now = new Date(); var today = new Date(now.getFullYear(), now.getMonth(), now.getDate(), 0, 0, 0, 0); var dateRage = $('#'+ rangeContainerId); var dateLocale = dateRage.data('locale'); var options = { startDate: today, inputs: [$("#start-on"), $("#end-on")], endDate: endDate, datesDisabled: disabledStartDates }; if(dateLocale !== 'en') { options.language = dateLocale; } var picker = dateRage.datepicker(options); if (nightPicker) { $("#start-on").focus(function() { $("#start-on").datepicker("setDatesDisabled", disabledStartDates); }); $("#end-on").focus(function() { $("#end-on").datepicker("setDatesDisabled", disabledEndDates); }); } var outputElements = { "booking-start-output": $("#booking-start-output"), "booking-end-output": $("#booking-end-output") }; picker.on('changeDate', function(e) { var newDate = e.dates[0]; var outputElementId = $(e.target).data("output"); var outputElement = outputElements[outputElementId]; if (outputElementId === "booking-end-output" && !nightPicker) { // Add one day to end date if the picker is day picker // End date should be excluded newDate.setDate(newDate.getDate() + 1); } outputElement.val(module.utils.toISODate(newDate)); }); }; })(window.ST);