Skip to content

Commit 4496926

Browse files
A couple changes for options and new jquery ui
1 parent 7654464 commit 4496926

File tree

1 file changed

+49
-4
lines changed

1 file changed

+49
-4
lines changed

jquery-ui-timepicker-addon.js

Lines changed: 49 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
/*
22
* jQuery timepicker addon
33
* By: Trent Richardson [http://trentrichardson.com]
4-
* Version 0.9.6-dev
5-
* Last Modified: 05/25/2011
4+
* Version 0.9.6
5+
* Last Modified: 07/20/2011
66
*
77
* Copyright 2011 Trent Richardson
88
* Dual licensed under the MIT and GPL licenses.
@@ -162,7 +162,7 @@ $.extend(Timepicker.prototype, {
162162
tp_inst.$altInput = $(o.altField)
163163
.css({ cursor: 'pointer' })
164164
.focus(function(){ $input.trigger("focus"); });
165-
165+
166166
// datepicker needs minDate/maxDate, timepicker needs minDateTime/maxDateTime..
167167
if(tp_inst._defaults.minDate !== undefined && tp_inst._defaults.minDate instanceof Date)
168168
tp_inst._defaults.minDateTime = new Date(tp_inst._defaults.minDate.getTime());
@@ -172,7 +172,7 @@ $.extend(Timepicker.prototype, {
172172
tp_inst._defaults.maxDateTime = new Date(tp_inst._defaults.maxDate.getTime());
173173
if(tp_inst._defaults.maxDateTime !== undefined && tp_inst._defaults.maxDateTime instanceof Date)
174174
tp_inst._defaults.maxDate = new Date(tp_inst._defaults.maxDateTime.getTime());
175-
175+
176176
return tp_inst;
177177
},
178178

@@ -998,6 +998,51 @@ $.datepicker._getDateDatepicker = function(target, noDefault) {
998998
return this._base_getDateDatepicker(target, noDefault);
999999
};
10001000

1001+
//#######################################################################################
1002+
// override parseDate() because UI 1.8.14 throws an error about "Extra characters"
1003+
// An option in datapicker to ignore extra format characters would be nicer.
1004+
//#######################################################################################
1005+
$.datepicker._base_parseDate = $.datepicker.parseDate;
1006+
$.datepicker.parseDate = function(format, value, settings) {
1007+
var date;
1008+
try {
1009+
date = this._base_parseDate(format, value, settings);
1010+
} catch (err) {
1011+
// Hack! The error message ends with a colon, a space, and
1012+
// the "extra" characters. We rely on that instead of
1013+
// attempting to perfectly reproduce the parsing algorithm.
1014+
date = this._base_parseDate(format, value.substring(0,value.length-(err.length-err.indexOf(':')-2)), settings);
1015+
}
1016+
return date;
1017+
};
1018+
1019+
//#######################################################################################
1020+
// override options setter to add time to maxDate(Time) and minDate(Time)
1021+
//#######################################################################################
1022+
$.datepicker._base_optionDatepicker = $.datepicker._optionDatepicker;
1023+
$.datepicker._optionDatepicker = function(target, name, value) {
1024+
this._base_optionDatepicker(target, name, value);
1025+
var inst = this._getInst(target),
1026+
tp_inst = this._get(inst, 'timepicker');
1027+
if (tp_inst) {
1028+
//Set minimum and maximum date values if we have timepicker
1029+
if(name==='minDate') {
1030+
if(tp_inst._defaults.minDate !== undefined && tp_inst._defaults.minDate instanceof Date)
1031+
tp_inst._defaults.minDateTime = new Date(value);
1032+
if(tp_inst._defaults.minDateTime !== undefined && tp_inst._defaults.minDateTime instanceof Date)
1033+
tp_inst._defaults.minDate = new Date(tp_inst._defaults.minDateTime.getTime());
1034+
tp_inst._limitMinMaxDateTime(inst,true);
1035+
}
1036+
if(name==='maxDate') {
1037+
if(tp_inst._defaults.maxDate !== undefined && tp_inst._defaults.maxDate instanceof Date)
1038+
tp_inst._defaults.maxDateTime = new Date(value);
1039+
if(tp_inst._defaults.maxDateTime !== undefined && tp_inst._defaults.maxDateTime instanceof Date)
1040+
tp_inst._defaults.maxDate = new Date(tp_inst._defaults.maxDateTime.getTime());
1041+
tp_inst._limitMinMaxDateTime(inst,true);
1042+
}
1043+
}
1044+
};
1045+
10011046
//#######################################################################################
10021047
// jQuery extend now ignores nulls!
10031048
//#######################################################################################

0 commit comments

Comments
 (0)