From b6083d836dca2d9e4f834b186315f85e8d557f6f Mon Sep 17 00:00:00 2001 From: Shriyansh Date: Sat, 9 Apr 2016 17:03:10 +0530 Subject: [PATCH] defined constraints for dateTimePicker --- app/assets/javascripts/osem-datepickers.js | 86 ++++++++++++++++------ 1 file changed, 64 insertions(+), 22 deletions(-) diff --git a/app/assets/javascripts/osem-datepickers.js b/app/assets/javascripts/osem-datepickers.js index b7ef12d8..1888da3e 100644 --- a/app/assets/javascripts/osem-datepickers.js +++ b/app/assets/javascripts/osem-datepickers.js @@ -1,33 +1,77 @@ +// get current_date +var today = new Date().toISOString().slice(0, 10); $(function () { - $("#registration-arrival-datepicker, #registration-departure-datepicker").datetimepicker({ + $("#registration-arrival-datepicker").datetimepicker({ pickTime: true, useCurrent: false, minuteStepping: 15, sideBySide: true, - format: "YYYY-MM-DD HH:mm" + format: "YYYY-MM-DD HH:mm", + // current_date <= arrival_date <= end_date + maxDate : $("#registration-arrival-datepicker").attr('end_date'), + minDate : today, + defaultDate : $("#registration-arrival-datepicker").attr('start_date'), }); - - $("#registration-arrival-datepicker").on("dp.change",function (e) { - console.log (e.date) - $('#registration-departure-datepicker').data("DateTimePicker").setDate(e.date); - $('#registration-departure-datepicker').data("DateTimePicker").setMinDate(e.date); - }); - $("#conference-end-datepicker").on("dp.change",function (e) { - $('#registration-arrival-datepicker').data("DateTimePicker").setMaxDate(e.date); - }); - - - const $datetimepickers = $("#conference-start-datepicker, #conference-end-datepicker, #registration-period-start-datepicker, #registration-period-end-datepicker"); - - $datetimepickers.datetimepicker({ - pickTime: false, + + $("#registration-departure-datepicker").datetimepicker({ + pickTime: true, useCurrent: false, - format: "YYYY-MM-DD" + minuteStepping: 15, + sideBySide: true, + format: "YYYY-MM-DD HH:mm", + // departure_date > start_date + minDate : $("#registration-arrival-datepicker").attr('start_date'), + defaultDate : $("#registration-arrival-datepicker").attr('end_date'), + }); + + $("#registration-arrival-datepicker").on("dp.change",function (e) { + // departure_date > start_date,arrival_date + if ((new Date(e.date).getTime()) > (new Date($("#registration-arrival-datepicker").attr('start_date')).getTime())){ + $('#registration-departure-datepicker').data("DateTimePicker").setMinDate(e.date); + } + else{ + $('#registration-departure-datepicker').data("DateTimePicker").setMinDate($("#registration-arrival-datepicker").attr('start_date')); + } }); + // departure_date >= arrival_date + $("#registration-departure-datepicker").on("dp.change",function (e) { + $('#registration-arrival-datepicker').data("DateTimePicker").setMaxDate(e.date); + }); + + $("#conference-start-datepicker").datetimepicker({ + pickTime: false, + useCurrent: false, + format: "YYYY-MM-DD", + // conference-start-day >= Current_date + minDate : today , + }); + + $("#conference-end-datepicker").datetimepicker({ + pickTime: false, + useCurrent: false, + format: "YYYY-MM-DD", + }); + + // end_date_conference >= registration-period-Start_date >= Current_date + // registration-period-Start_date <= registration-period-End_date <= End_date (of conference) + $("#registration-period-start-datepicker").datetimepicker({ + pickTime: false, + useCurrent: false, + format: "YYYY-MM-DD", + minDate : today, + maxDate : $("#registration-period-start-datepicker").attr('end_date'), + }); + + $("#registration-period-end-datepicker").datetimepicker({ + pickTime: false, + useCurrent: false, + format: "YYYY-MM-DD", + minDate: today, + maxDate : $("#registration-period-start-datepicker").attr('end_date'), + }); + $("#conference-start-datepicker").on("dp.change",function (e) { - console.log (e.date) - $('#conference-end-datepicker').data("DateTimePicker").setDate(e.date); $('#conference-end-datepicker').data("DateTimePicker").setMinDate(e.date); }); $("#conference-end-datepicker").on("dp.change",function (e) { @@ -35,8 +79,6 @@ $(function () { }); $("#registration-period-start-datepicker").on("dp.change",function (e) { - console.log (e.date) - $('#registration-period-end-datepicker').data("DateTimePicker").setDate(e.date); $('#registration-period-end-datepicker').data("DateTimePicker").setMinDate(e.date); }); $("#registration-period-end-datepicker").on("dp.change",function (e) {