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