1
1
/*
2
2
* jQuery timepicker addon
3
3
* 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
6
6
*
7
7
* Copyright 2011 Trent Richardson
8
8
* Dual licensed under the MIT and GPL licenses.
@@ -162,7 +162,7 @@ $.extend(Timepicker.prototype, {
162
162
tp_inst . $altInput = $ ( o . altField )
163
163
. css ( { cursor : 'pointer' } )
164
164
. focus ( function ( ) { $input . trigger ( "focus" ) ; } ) ;
165
-
165
+
166
166
// datepicker needs minDate/maxDate, timepicker needs minDateTime/maxDateTime..
167
167
if ( tp_inst . _defaults . minDate !== undefined && tp_inst . _defaults . minDate instanceof Date )
168
168
tp_inst . _defaults . minDateTime = new Date ( tp_inst . _defaults . minDate . getTime ( ) ) ;
@@ -172,7 +172,7 @@ $.extend(Timepicker.prototype, {
172
172
tp_inst . _defaults . maxDateTime = new Date ( tp_inst . _defaults . maxDate . getTime ( ) ) ;
173
173
if ( tp_inst . _defaults . maxDateTime !== undefined && tp_inst . _defaults . maxDateTime instanceof Date )
174
174
tp_inst . _defaults . maxDate = new Date ( tp_inst . _defaults . maxDateTime . getTime ( ) ) ;
175
-
175
+
176
176
return tp_inst ;
177
177
} ,
178
178
@@ -998,6 +998,51 @@ $.datepicker._getDateDatepicker = function(target, noDefault) {
998
998
return this . _base_getDateDatepicker ( target , noDefault ) ;
999
999
} ;
1000
1000
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
+
1001
1046
//#######################################################################################
1002
1047
// jQuery extend now ignores nulls!
1003
1048
//#######################################################################################
0 commit comments