Merge pull request #367 from evandegr/master

Fix setting position of the datetimepicker
This commit is contained in:
Valeriy 2015-12-15 23:57:15 +05:00
commit 15f34adf04

View File

@ -1682,7 +1682,7 @@
time = ''; time = '';
h = ''; h = '';
m = ''; m = '';
line_time = function line_time(h, m) { line_time = function line_time(h, m) {
var now = _xdsoft_datetime.now(), optionDateTime, current_time, var now = _xdsoft_datetime.now(), optionDateTime, current_time,
isALlowTimesInit = options.allowTimes && $.isArray(options.allowTimes) && options.allowTimes.length; isALlowTimesInit = options.allowTimes && $.isArray(options.allowTimes) && options.allowTimes.length;
@ -1703,7 +1703,7 @@
current_time = new Date(_xdsoft_datetime.currentTime); current_time = new Date(_xdsoft_datetime.currentTime);
current_time.setHours(parseInt(_xdsoft_datetime.currentTime.getHours(), 10)); current_time.setHours(parseInt(_xdsoft_datetime.currentTime.getHours(), 10));
if (!isALlowTimesInit) { if (!isALlowTimesInit) {
current_time.setMinutes(Math[options.roundTime](_xdsoft_datetime.currentTime.getMinutes() / options.step) * options.step); current_time.setMinutes(Math[options.roundTime](_xdsoft_datetime.currentTime.getMinutes() / options.step) * options.step);
} }
@ -1915,7 +1915,7 @@
current_time_index = 0; current_time_index = 0;
setPos = function () { 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') if (datetimepicker.data('input').parent().css('direction') == 'rtl')
left -= (datetimepicker.outerWidth() - datetimepicker.data('input').outerWidth()); left -= (datetimepicker.outerWidth() - datetimepicker.data('input').outerWidth());
if (options.fixed) { if (options.fixed) {
@ -1923,14 +1923,14 @@
left -= $(window).scrollLeft(); left -= $(window).scrollLeft();
position = "fixed"; position = "fixed";
} else { } else {
if (top + datetimepicker[0].offsetHeight > $(window).height() + $(window).scrollTop()) { if (top + datetimepickerelement.offsetHeight > $(window).height() + $(window).scrollTop()) {
top = offset.top - datetimepicker[0].offsetHeight + 1; top = offset.top - datetimepickerelement.offsetHeight + 1;
} }
if (top < 0) { if (top < 0) {
top = 0; top = 0;
} }
if (left + datetimepicker[0].offsetWidth > $(window).width()) { if (left + datetimepickerelement.offsetWidth > $(window).width()) {
left = $(window).width() - datetimepicker[0].offsetWidth; left = $(window).width() - datetimepickerelement.offsetWidth;
} }
} }