fix setting position to the sometimes incorrect datetimepicker element position

This commit is contained in:
Evan Vandegriff 2015-12-15 12:06:28 -05:00
parent c05c507177
commit 765127ee80

View File

@ -1915,7 +1915,7 @@
current_time_index = 0;
setPos = function () {
var offset = datetimepicker.data('input').offset(), top = offset.top + datetimepicker.data('input')[0].offsetHeight - 1, left = offset.left, position = "absolute", node;
var offset = datetimepicker.data('input').offset(), datetimepickerelement = datetimepicker.data('input')[0], top = offset.top + datetimepickerelement.offsetHeight - 1, left = offset.left, position = "absolute", node;
if (datetimepicker.data('input').parent().css('direction') == 'rtl')
left -= (datetimepicker.outerWidth() - datetimepicker.data('input').outerWidth());
if (options.fixed) {
@ -1923,14 +1923,14 @@
left -= $(window).scrollLeft();
position = "fixed";
} else {
if (top + datetimepicker[0].offsetHeight > $(window).height() + $(window).scrollTop()) {
top = offset.top - datetimepicker[0].offsetHeight + 1;
if (top + datetimepickerelement.offsetHeight > $(window).height() + $(window).scrollTop()) {
top = offset.top - datetimepickerelement.offsetHeight + 1;
}
if (top < 0) {
top = 0;
}
if (left + datetimepicker[0].offsetWidth > $(window).width()) {
left = $(window).width() - datetimepicker[0].offsetWidth;
if (left + datetimepickerelement.offsetWidth > $(window).width()) {
left = $(window).width() - datetimepickerelement.offsetWidth;
}
}