summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTrent Richardson <trentrichardson@users.noreply.github.com>2014-02-19 14:07:08 -0500
committerTrent Richardson <trentrichardson@users.noreply.github.com>2014-02-19 14:07:08 -0500
commitd001df85bfc56d7af58f9dda9166968210a40a19 (patch)
treea1c120c5b0683615ca172877ad6b4443a4606ae7
parent8cda2ddd84203cc4995d569ce42ea6f1b94b1f2e (diff)
parent6e463ea22c1211bd9059c02dc380d58ea61f90b7 (diff)
downloadjQuery-Timepicker-Addon-d001df85bfc56d7af58f9dda9166968210a40a19.zip
jQuery-Timepicker-Addon-d001df85bfc56d7af58f9dda9166968210a40a19.tar.gz
jQuery-Timepicker-Addon-d001df85bfc56d7af58f9dda9166968210a40a19.tar.bz2
Merge pull request #692 from bodrick/dev
Added new options to specify minTime and maxTime
-rw-r--r--src/docs/options.html6
-rw-r--r--src/jquery-ui-timepicker-addon.js42
2 files changed, 48 insertions, 0 deletions
diff --git a/src/docs/options.html b/src/docs/options.html
index 4c62358..941028d 100644
--- a/src/docs/options.html
+++ b/src/docs/options.html
@@ -236,6 +236,12 @@
<dt>maxDateTime</dt>
<dd><em>Default: null</em> - Date object of the maximum datetime allowed. Also Available as maxDate.</dd>
+ <dt>minTime</dt>
+ <dd><em>Default: null</em> - String of the minimum time allowed. '8:00 am' will restrict to times after 8am</dd>
+
+ <dt>maxTime</dt>
+ <dd><em>Default: null</em> - String of the maximum time allowed. '8:00 pm' will restrict to times before 8pm</dd>
+
<dt>parse</dt>
<dd><em>Default: 'strict'</em> - How to parse the time string. Two methods are provided: 'strict' which must match the timeFormat exactly, and 'loose' which uses javascript's new Date(timeString) to guess the time. You may also pass in a function(timeFormat, timeString, options) to handle the parsing yourself, returning a simple object:
<pre>{
diff --git a/src/jquery-ui-timepicker-addon.js b/src/jquery-ui-timepicker-addon.js
index 974e46a..6dfcdcc 100644
--- a/src/jquery-ui-timepicker-addon.js
+++ b/src/jquery-ui-timepicker-addon.js
@@ -84,6 +84,8 @@
microsecMax: 999,
minDateTime: null,
maxDateTime: null,
+ maxTime: null,
+ minTime: null,
onSelect: null,
hourGrid: 0,
minuteGrid: 0,
@@ -120,6 +122,8 @@
millisec_slider: null,
microsec_slider: null,
timezone_select: null,
+ maxTime: null,
+ minTime: null,
hour: 0,
minute: 0,
second: 0,
@@ -666,6 +670,44 @@
}
}
+ if (dp_inst.settings.minTime!==null) {
+ var tempMinTime=new Date("01/01/1970 " + dp_inst.settings.minTime);
+ if (this.hour<tempMinTime.getHours()) {
+ this.hour=this._defaults.hourMin=tempMinTime.getHours();
+ this.minute=this._defaults.minuteMin=tempMinTime.getMinutes();
+ } else if (this.hour===tempMinTime.getHours() && this.minute<tempMinTime.getMinutes()) {
+ this.minute=this._defaults.minuteMin=tempMinTime.getMinutes();
+ } else {
+ if (this._defaults.hourMin<tempMinTime.getHours()) {
+ this._defaults.hourMin=tempMinTime.getHours();
+ this._defaults.minuteMin=tempMinTime.getMinutes();
+ } else if (this._defaults.hourMin===tempMinTime.getHours()===this.hour && this._defaults.minuteMin<tempMinTime.getMinutes()) {
+ this._defaults.minuteMin=tempMinTime.getMinutes();
+ } else {
+ this._defaults.minuteMin=0;
+ }
+ }
+ }
+
+ if (dp_inst.settings.maxTime!==null) {
+ var tempMaxTime=new Date("01/01/1970 " + dp_inst.settings.maxTime);
+ if (this.hour>tempMaxTime.getHours()) {
+ this.hour=this._defaults.hourMax=tempMaxTime.getHours();
+ this.minute=this._defaults.minuteMax=tempMaxTime.getMinutes();
+ } else if (this.hour===tempMaxTime.getHours() && this.minute>tempMaxTime.getMinutes()) {
+ this.minute=this._defaults.minuteMax=tempMaxTime.getMinutes();
+ } else {
+ if (this._defaults.hourMax>tempMaxTime.getHours()) {
+ this._defaults.hourMax=tempMaxTime.getHours();
+ this._defaults.minuteMax=tempMaxTime.getMinutes();
+ } else if (this._defaults.hourMax===tempMaxTime.getHours()===this.hour && this._defaults.minuteMax>tempMaxTime.getMinutes()) {
+ this._defaults.minuteMax=tempMaxTime.getMinutes();
+ } else {
+ this._defaults.minuteMax=59;
+ }
+ }
+ }
+
if (adjustSliders !== undefined && adjustSliders === true) {
var hourMax = parseInt((this._defaults.hourMax - ((this._defaults.hourMax - this._defaults.hourMin) % this._defaults.stepHour)), 10),
minMax = parseInt((this._defaults.minuteMax - ((this._defaults.minuteMax - this._defaults.minuteMin) % this._defaults.stepMinute)), 10),