summaryrefslogtreecommitdiffstats
path: root/jquery-ui-timepicker-addon.js
diff options
context:
space:
mode:
authorTrent Richardson <trentdrichardson@gmail.com>2012-09-29 14:39:22 -0400
committerTrent Richardson <trentdrichardson@gmail.com>2012-09-29 14:39:22 -0400
commitb83013394ff8f52b62e7615f1bb7acc04ac00a41 (patch)
tree12e0c7490d6fac82161d73ca3838c003e3641e31 /jquery-ui-timepicker-addon.js
parentd47cb6f315598c80038f3e7d5f37e012be2ac6d8 (diff)
parent958f4e341d442fada8ede7c0ec1e3a0db8fb4695 (diff)
downloadjQuery-Timepicker-Addon-b83013394ff8f52b62e7615f1bb7acc04ac00a41.zip
jQuery-Timepicker-Addon-b83013394ff8f52b62e7615f1bb7acc04ac00a41.tar.gz
jQuery-Timepicker-Addon-b83013394ff8f52b62e7615f1bb7acc04ac00a41.tar.bz2
Merge branch 'dev'
Diffstat (limited to 'jquery-ui-timepicker-addon.js')
-rw-r--r--jquery-ui-timepicker-addon.js73
1 files changed, 32 insertions, 41 deletions
diff --git a/jquery-ui-timepicker-addon.js b/jquery-ui-timepicker-addon.js
index 3fbd7b5..94ea621 100644
--- a/jquery-ui-timepicker-addon.js
+++ b/jquery-ui-timepicker-addon.js
@@ -1,8 +1,8 @@
/*
* jQuery timepicker addon
* By: Trent Richardson [http://trentrichardson.com]
- * Version 1.0.3
- * Last Modified: 09/15/2012
+ * Version 1.0.4
+ * Last Modified: 09/29/2012
*
* Copyright 2012 Trent Richardson
* You may use this project under MIT or GPL licenses.
@@ -35,7 +35,7 @@
*/
$.extend($.ui, {
timepicker: {
- version: "1.0.3"
+ version: "1.0.4"
}
});
@@ -1149,7 +1149,7 @@
case 'l':
return ('00' + time.millisec).slice(-3);
case 'z':
- return time.timezone;
+ return time.timezone === null? options.defaultTimezone : time.timezone;
case 't':
case 'tt':
if (options.ampm) {
@@ -1328,37 +1328,16 @@
$.datepicker._setTime = function(inst, date) {
var tp_inst = this._get(inst, 'timepicker');
if (tp_inst) {
- var defaults = tp_inst._defaults,
- // calling _setTime with no date sets time to defaults
- hour = date ? date.getHours() : defaults.hour,
- minute = date ? date.getMinutes() : defaults.minute,
- second = date ? date.getSeconds() : defaults.second,
- millisec = date ? date.getMilliseconds() : defaults.millisec;
- //check if within min/max times..
- // correct check if within min/max times.
- // Rewritten by Scott A. Woodward
- var hourEq = hour === defaults.hourMin,
- minuteEq = minute === defaults.minuteMin,
- secondEq = second === defaults.secondMin;
- var reset = false;
- if (hour < defaults.hourMin || hour > defaults.hourMax) reset = true;
- else if ((minute < defaults.minuteMin || minute > defaults.minuteMax) && hourEq) reset = true;
- else if ((second < defaults.secondMin || second > defaults.secondMax) && hourEq && minuteEq) reset = true;
- else if ((millisec < defaults.millisecMin || millisec > defaults.millisecMax) && hourEq && minuteEq && secondEq) reset = true;
- if (reset) {
- hour = defaults.hourMin;
- minute = defaults.minuteMin;
- second = defaults.secondMin;
- millisec = defaults.millisecMin;
- }
- tp_inst.hour = hour;
- tp_inst.minute = minute;
- tp_inst.second = second;
- tp_inst.millisec = millisec;
- if (tp_inst.hour_slider) tp_inst.hour_slider.slider('value', hour);
- if (tp_inst.minute_slider) tp_inst.minute_slider.slider('value', minute);
- if (tp_inst.second_slider) tp_inst.second_slider.slider('value', second);
- if (tp_inst.millisec_slider) tp_inst.millisec_slider.slider('value', millisec);
+ var defaults = tp_inst._defaults;
+
+ // calling _setTime with no date sets time to defaults
+ tp_inst.hour = date ? date.getHours() : defaults.hour;
+ tp_inst.minute = date ? date.getMinutes() : defaults.minute;
+ tp_inst.second = date ? date.getSeconds() : defaults.second;
+ tp_inst.millisec = date ? date.getMilliseconds() : defaults.millisec;
+
+ //check if within min/max times..
+ tp_inst._limitMinMaxDateTime(inst, true);
tp_inst._onTimeChange();
tp_inst._updateDateTime(inst);
@@ -1426,7 +1405,11 @@
var tp_inst = this._get(inst, 'timepicker');
if (tp_inst) {
- //this._setDateFromField(inst, noDefault); // This keeps setting to today when it shouldn't
+ // if it hasn't yet been defined, grab from field
+ if(inst.lastVal === undefined){
+ this._setDateFromField(inst, noDefault);
+ }
+
var date = this._getDate(inst);
if (date && tp_inst._parseTime($(target).val(), tp_inst.timeOnly)) {
date.setHours(tp_inst.hour, tp_inst.minute, tp_inst.second, tp_inst.millisec);
@@ -1442,8 +1425,16 @@
*/
$.datepicker._base_parseDate = $.datepicker.parseDate;
$.datepicker.parseDate = function(format, value, settings) {
- var splitRes = splitDateTime(format, value, settings);
- return $.datepicker._base_parseDate(format, splitRes[0], settings);
+ var date;
+ try {
+ date = this._base_parseDate(format, value, settings);
+ } catch (err) {
+ // Hack! The error message ends with a colon, a space, and
+ // the "extra" characters. We rely on that instead of
+ // attempting to perfectly reproduce the parsing algorithm.
+ date = this._base_parseDate(format, value.substring(0,value.length-(err.length-err.indexOf(':')-2)), settings);
+ }
+ return date;
};
/*
@@ -1568,10 +1559,10 @@
timePartsLen = timeParts.length;
}
- if (allPartsLen > 0) {
+ if (allPartsLen > 1) {
return [
allParts.splice(0,allPartsLen-timePartsLen).join(separator),
- allParts.splice(timePartsLen*-1).join(separator)
+ allParts.splice(0,timePartsLen).join(separator)
];
}
@@ -1759,6 +1750,6 @@
/*
* Keep up with the version
*/
- $.timepicker.version = "1.0.3";
+ $.timepicker.version = "1.0.4";
})(jQuery); \ No newline at end of file