update boostrap-datepicker

This commit is contained in:
vitalets 2013-01-04 15:05:23 +04:00
parent 81680e174d
commit e10f1d8eb6

@ -247,16 +247,17 @@
var formatted = this.getFormattedDate(); var formatted = this.getFormattedDate();
if (!this.isInput) { if (!this.isInput) {
if (this.component){ if (this.component){
this.element.find('input').prop('value', formatted); this.element.find('input').val(formatted);
} }
this.element.data('date', formatted); this.element.data('date', formatted);
} else { } else {
this.element.prop('value', formatted); this.element.val(formatted);
} }
}, },
getFormattedDate: function(format) { getFormattedDate: function(format) {
if(format == undefined) format = this.format; if (format === undefined)
format = this.format;
return DPGlobal.formatDate(this.date, format, this.language); return DPGlobal.formatDate(this.date, format, this.language);
}, },
@ -296,8 +297,9 @@
return $(this).css('z-index') != 'auto'; return $(this).css('z-index') != 'auto';
}).first().css('z-index'))+10; }).first().css('z-index'))+10;
var offset = this.component ? this.component.offset() : this.element.offset(); var offset = this.component ? this.component.offset() : this.element.offset();
var height = this.component ? this.component.outerHeight(true) : this.element.outerHeight(true);
this.picker.css({ this.picker.css({
top: offset.top + this.height, top: offset.top + height,
left: offset.left, left: offset.left,
zIndex: zIndex zIndex: zIndex
}); });
@ -309,7 +311,7 @@
date = arguments[0]; date = arguments[0];
fromArgs = true; fromArgs = true;
} else { } else {
date = this.isInput ? this.element.prop('value') : this.element.data('date') || this.element.find('input').prop('value'); date = this.isInput ? this.element.val() : this.element.data('date') || this.element.find('input').val();
} }
this.date = DPGlobal.parseDate(date, this.format, this.language); this.date = DPGlobal.parseDate(date, this.format, this.language);
@ -729,13 +731,13 @@
this.viewMode = Math.max(0, Math.min(2, this.viewMode + dir)); this.viewMode = Math.max(0, Math.min(2, this.viewMode + dir));
} }
/* /*
vitalets: fixing bug of very special conditions: vitalets: fixing bug of very special conditions:
jquery 1.7.1 + webkit + show inline datepicker in bootstrap popover. jquery 1.7.1 + webkit + show inline datepicker in bootstrap popover.
Method show() does not set display css correctly and datepicker is not shown. Method show() does not set display css correctly and datepicker is not shown.
Changed to .css('display', 'block') solve the problem. Changed to .css('display', 'block') solve the problem.
See https://github.com/vitalets/x-editable/issues/37 See https://github.com/vitalets/x-editable/issues/37
In jquery 1.7.2+ everything works fine. In jquery 1.7.2+ everything works fine.
*/ */
//this.picker.find('>div').hide().filter('.datepicker-'+DPGlobal.modes[this.viewMode].clsName).show(); //this.picker.find('>div').hide().filter('.datepicker-'+DPGlobal.modes[this.viewMode].clsName).show();
this.picker.find('>div').hide().filter('.datepicker-'+DPGlobal.modes[this.viewMode].clsName).css('display', 'block'); this.picker.find('>div').hide().filter('.datepicker-'+DPGlobal.modes[this.viewMode].clsName).css('display', 'block');
@ -791,10 +793,10 @@
navStep: 10 navStep: 10
}], }],
isLeapYear: function (year) { isLeapYear: function (year) {
return (((year % 4 === 0) && (year % 100 !== 0)) || (year % 400 === 0)) return (((year % 4 === 0) && (year % 100 !== 0)) || (year % 400 === 0));
}, },
getDaysInMonth: function (year, month) { getDaysInMonth: function (year, month) {
return [31, (DPGlobal.isLeapYear(year) ? 29 : 28), 31, 30, 31, 30, 31, 31, 30, 31, 30, 31][month] return [31, (DPGlobal.isLeapYear(year) ? 29 : 28), 31, 30, 31, 30, 31, 31, 30, 31, 30, 31][month];
}, },
validParts: /dd?|DD?|mm?|MM?|yy(?:yy)?/g, validParts: /dd?|DD?|mm?|MM?|yy(?:yy)?/g,
nonpunctuation: /[^ -\/:-@\[\u3400-\u9fff-`{-~\t\n\r]+/g, nonpunctuation: /[^ -\/:-@\[\u3400-\u9fff-`{-~\t\n\r]+/g,
@ -803,16 +805,16 @@
// so it's a bad format delimiter, anyway // so it's a bad format delimiter, anyway
var separators = format.replace(this.validParts, '\0').split('\0'), var separators = format.replace(this.validParts, '\0').split('\0'),
parts = format.match(this.validParts); parts = format.match(this.validParts);
if (!separators || !separators.length || !parts || parts.length == 0){ if (!separators || !separators.length || !parts || parts.length === 0){
throw new Error("Invalid date format."); throw new Error("Invalid date format.");
} }
return {separators: separators, parts: parts}; return {separators: separators, parts: parts};
}, },
parseDate: function(date, format, language) { parseDate: function(date, format, language) {
if (date instanceof Date) return date; if (date instanceof Date) return date;
if (/^[-+]\d+[dmwy]([\s,]+[-+]\d+[dmwy])*$/.test(date)) { if (/^[\-+]\d+[dmwy]([\s,]+[\-+]\d+[dmwy])*$/.test(date)) {
var part_re = /([-+]\d+)([dmwy])/, var part_re = /([\-+]\d+)([dmwy])/,
parts = date.match(/([-+]\d+)([dmwy])/g), parts = date.match(/([\-+]\d+)([dmwy])/g),
part, dir; part, dir;
date = new Date(); date = new Date();
for (var i=0; i<parts.length; i++) { for (var i=0; i<parts.length; i++) {
@ -894,7 +896,7 @@
for (var i=0, s; i<setters_order.length; i++){ for (var i=0, s; i<setters_order.length; i++){
s = setters_order[i]; s = setters_order[i];
if (s in parsed && !isNaN(parsed[s])) if (s in parsed && !isNaN(parsed[s]))
setters_map[s](date, parsed[s]) setters_map[s](date, parsed[s]);
} }
} }
return date; return date;
@ -916,7 +918,7 @@
seps = $.extend([], format.separators); seps = $.extend([], format.separators);
for (var i=0, cnt = format.parts.length; i < cnt; i++) { for (var i=0, cnt = format.parts.length; i < cnt; i++) {
if (seps.length) if (seps.length)
date.push(seps.shift()) date.push(seps.shift());
date.push(val[format.parts[i]]); date.push(val[format.parts[i]]);
} }
return date.join(''); return date.join('');