Merge pull request #179 from alexandergitter/dev
Fixed a couple of bugs
This commit is contained in:
commit
2362c6cf39
44
jquery-ui-timepicker-addon.js
vendored
44
jquery-ui-timepicker-addon.js
vendored
|
@ -429,7 +429,7 @@ $.extend(Timepicker.prototype, {
|
||||||
var h = $(this).html();
|
var h = $(this).html();
|
||||||
if(o.ampm) {
|
if(o.ampm) {
|
||||||
var ap = h.substring(2).toLowerCase(),
|
var ap = h.substring(2).toLowerCase(),
|
||||||
aph = parseInt(h.substring(0,2));
|
aph = parseInt(h.substring(0,2), 10);
|
||||||
if (ap == 'a') {
|
if (ap == 'a') {
|
||||||
if (aph == 12) h = 0;
|
if (aph == 12) h = 0;
|
||||||
else h = aph;
|
else h = aph;
|
||||||
|
@ -519,8 +519,8 @@ $.extend(Timepicker.prototype, {
|
||||||
|
|
||||||
if(!this._defaults.showTimepicker) return; // No time so nothing to check here
|
if(!this._defaults.showTimepicker) return; // No time so nothing to check here
|
||||||
|
|
||||||
if(this._defaults.minDateTime !== null && dp_date){
|
if($.datepicker._get(dp_inst, 'minDateTime') !== null && dp_date){
|
||||||
var minDateTime = this._defaults.minDateTime,
|
var minDateTime = $.datepicker._get(dp_inst, 'minDateTime'),
|
||||||
minDateTimeDate = new Date(minDateTime.getFullYear(), minDateTime.getMonth(), minDateTime.getDate(), 0, 0, 0, 0);
|
minDateTimeDate = new Date(minDateTime.getFullYear(), minDateTime.getMonth(), minDateTime.getDate(), 0, 0, 0, 0);
|
||||||
|
|
||||||
if(this.hourMinOriginal === null || this.minuteMinOriginal === null || this.secondMinOriginal === null){
|
if(this.hourMinOriginal === null || this.minuteMinOriginal === null || this.secondMinOriginal === null){
|
||||||
|
@ -552,8 +552,8 @@ $.extend(Timepicker.prototype, {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if(this._defaults.maxDateTime !== null && dp_date){
|
if($.datepicker._get(dp_inst, 'maxDateTime') !== null && dp_date){
|
||||||
var maxDateTime = this._defaults.maxDateTime,
|
var maxDateTime = $.datepicker._get(dp_inst, 'maxDateTime'),
|
||||||
maxDateTimeDate = new Date(maxDateTime.getFullYear(), maxDateTime.getMonth(), maxDateTime.getDate(), 0, 0, 0, 0);
|
maxDateTimeDate = new Date(maxDateTime.getFullYear(), maxDateTime.getMonth(), maxDateTime.getDate(), 0, 0, 0, 0);
|
||||||
|
|
||||||
if(this.hourMaxOriginal === null || this.minuteMaxOriginal === null || this.secondMaxOriginal === null){
|
if(this.hourMaxOriginal === null || this.minuteMaxOriginal === null || this.secondMaxOriginal === null){
|
||||||
|
@ -607,13 +607,18 @@ $.extend(Timepicker.prototype, {
|
||||||
minute = (this.minute_slider) ? this.minute_slider.slider('value') : false,
|
minute = (this.minute_slider) ? this.minute_slider.slider('value') : false,
|
||||||
second = (this.second_slider) ? this.second_slider.slider('value') : false,
|
second = (this.second_slider) ? this.second_slider.slider('value') : false,
|
||||||
timezone = (this.timezone_select) ? this.timezone_select.val() : false;
|
timezone = (this.timezone_select) ? this.timezone_select.val() : false;
|
||||||
|
|
||||||
|
if (typeof(hour) == 'object') hour = false;
|
||||||
|
if (typeof(minute) == 'object') minute = false;
|
||||||
|
if (typeof(second) == 'object') second = false;
|
||||||
|
if (typeof(timezone) == 'object') timezone = false;
|
||||||
|
|
||||||
if (hour !== false) hour = parseInt(hour,10);
|
if (hour !== false) hour = parseInt(hour,10);
|
||||||
if (minute !== false) minute = parseInt(minute,10);
|
if (minute !== false) minute = parseInt(minute,10);
|
||||||
if (second !== false) second = parseInt(second,10);
|
if (second !== false) second = parseInt(second,10);
|
||||||
|
|
||||||
var ampm = (hour < 12) ? 'AM' : 'PM';
|
var ampm = (hour < 12) ? 'AM' : 'PM';
|
||||||
|
|
||||||
// If the update was done in the input field, the input field should not be updated.
|
// If the update was done in the input field, the input field should not be updated.
|
||||||
// If the update was done using the sliders, update the input field.
|
// If the update was done using the sliders, update the input field.
|
||||||
var hasChanged = (hour != this.hour || minute != this.minute || second != this.second || (this.ampm.length > 0 && this.ampm != ampm) || timezone != this.timezone);
|
var hasChanged = (hour != this.hour || minute != this.minute || second != this.second || (this.ampm.length > 0 && this.ampm != ampm) || timezone != this.timezone);
|
||||||
|
@ -793,6 +798,16 @@ $.datepicker._selectDate = function (id, dateStr) {
|
||||||
//#############################################################################################
|
//#############################################################################################
|
||||||
$.datepicker._base_updateDatepicker = $.datepicker._updateDatepicker;
|
$.datepicker._base_updateDatepicker = $.datepicker._updateDatepicker;
|
||||||
$.datepicker._updateDatepicker = function(inst) {
|
$.datepicker._updateDatepicker = function(inst) {
|
||||||
|
|
||||||
|
// don't popup the datepicker if there is another instance already opened
|
||||||
|
var input = inst.input[0];
|
||||||
|
if($.datepicker._curInst &&
|
||||||
|
$.datepicker._curInst != inst &&
|
||||||
|
$.datepicker._datepickerShowing &&
|
||||||
|
$.datepicker._lastInput != input) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
if (typeof(inst.stay_open) !== 'boolean' || inst.stay_open === false) {
|
if (typeof(inst.stay_open) !== 'boolean' || inst.stay_open === false) {
|
||||||
|
|
||||||
this._base_updateDatepicker(inst);
|
this._base_updateDatepicker(inst);
|
||||||
|
@ -804,7 +819,7 @@ $.datepicker._updateDatepicker = function(inst) {
|
||||||
};
|
};
|
||||||
|
|
||||||
//#######################################################################################
|
//#######################################################################################
|
||||||
// third bad hack :/ override datepicker so it allows spaces and colan in the input field
|
// third bad hack :/ override datepicker so it allows spaces and colon in the input field
|
||||||
//#######################################################################################
|
//#######################################################################################
|
||||||
$.datepicker._base_doKeyPress = $.datepicker._doKeyPress;
|
$.datepicker._base_doKeyPress = $.datepicker._doKeyPress;
|
||||||
$.datepicker._doKeyPress = function(event) {
|
$.datepicker._doKeyPress = function(event) {
|
||||||
|
@ -814,6 +829,7 @@ $.datepicker._doKeyPress = function(event) {
|
||||||
if (tp_inst) {
|
if (tp_inst) {
|
||||||
if ($.datepicker._get(inst, 'constrainInput')) {
|
if ($.datepicker._get(inst, 'constrainInput')) {
|
||||||
var ampm = tp_inst._defaults.ampm,
|
var ampm = tp_inst._defaults.ampm,
|
||||||
|
dateChars = $.datepicker._possibleChars($.datepicker._get(inst, 'dateFormat')),
|
||||||
datetimeChars = tp_inst._defaults.timeFormat.toString()
|
datetimeChars = tp_inst._defaults.timeFormat.toString()
|
||||||
.replace(/[hms]/g, '')
|
.replace(/[hms]/g, '')
|
||||||
.replace(/TT/g, ampm ? 'APM' : '')
|
.replace(/TT/g, ampm ? 'APM' : '')
|
||||||
|
@ -825,9 +841,10 @@ $.datepicker._doKeyPress = function(event) {
|
||||||
" " +
|
" " +
|
||||||
tp_inst._defaults.separator +
|
tp_inst._defaults.separator +
|
||||||
tp_inst._defaults.timeSuffix +
|
tp_inst._defaults.timeSuffix +
|
||||||
$.datepicker._possibleChars($.datepicker._get(inst, 'dateFormat')),
|
(tp_inst._defaults.showTimezone ? tp_inst._defaults.timezoneList.join('') : '') +
|
||||||
|
dateChars,
|
||||||
chr = String.fromCharCode(event.charCode === undefined ? event.keyCode : event.charCode);
|
chr = String.fromCharCode(event.charCode === undefined ? event.keyCode : event.charCode);
|
||||||
return event.ctrlKey || (chr < ' ' || !datetimeChars || datetimeChars.indexOf(chr) > -1);
|
return event.ctrlKey || (chr < ' ' || !dateChars || datetimeChars.indexOf(chr) > -1);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -908,12 +925,13 @@ $.datepicker._setTime = function(inst, date) {
|
||||||
second = defaults.secondMin;
|
second = defaults.secondMin;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
tp_inst.hour = hour;
|
||||||
|
tp_inst.minute = minute;
|
||||||
|
tp_inst.second = second;
|
||||||
|
|
||||||
if (tp_inst.hour_slider) tp_inst.hour_slider.slider('value', hour);
|
if (tp_inst.hour_slider) tp_inst.hour_slider.slider('value', hour);
|
||||||
else tp_inst.hour = hour;
|
|
||||||
if (tp_inst.minute_slider) tp_inst.minute_slider.slider('value', minute);
|
if (tp_inst.minute_slider) tp_inst.minute_slider.slider('value', minute);
|
||||||
else tp_inst.minute = minute;
|
|
||||||
if (tp_inst.second_slider) tp_inst.second_slider.slider('value', second);
|
if (tp_inst.second_slider) tp_inst.second_slider.slider('value', second);
|
||||||
else tp_inst.second = second;
|
|
||||||
|
|
||||||
tp_inst._onTimeChange();
|
tp_inst._onTimeChange();
|
||||||
tp_inst._updateDateTime(inst);
|
tp_inst._updateDateTime(inst);
|
||||||
|
|
Loading…
Reference in a new issue