From 5a686d62a134ff1f115fba1be7924686b7afc94c Mon Sep 17 00:00:00 2001 From: Artur Geraschenko Date: Wed, 19 Jul 2017 19:51:21 +0300 Subject: [PATCH] [~] Fix box hardcode calc left position In some cases, the pop will go too far to the left of the window --- src/jquery.daterangepicker.js | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/src/jquery.daterangepicker.js b/src/jquery.daterangepicker.js index 44de12a..33783c8 100755 --- a/src/jquery.daterangepicker.js +++ b/src/jquery.daterangepicker.js @@ -1248,7 +1248,7 @@ function calcPosition() { if (!opt.inline) { var offset = $(self).offset(); - if ($(opt.container).css('position') == 'relative') { + if ($(opt.container).css('position') === 'relative') { var containerOffset = $(opt.container).offset(); var leftIndent = Math.max(0, offset.left + box.outerWidth() - $('body').width() + 16); box.css({ @@ -1256,16 +1256,21 @@ left: offset.left - containerOffset.left - leftIndent }); } else { - if (offset.left < 460) //left to right + var $body = $('body'); + var bodyBorderTop = parseInt($body.css('border-top') || 0, 10); + var boxWidth = box.width(); + + if (offset.left + boxWidth <= $body.width()) // normal case - box not longer body { box.css({ - top: offset.top + $(self).outerHeight() + parseInt($('body').css('border-top') || 0, 10), + top: offset.top + $(self).outerHeight() + bodyBorderTop, left: offset.left }); } else { + var boxLeft = offset.left + $(self).width() - boxWidth - 16; box.css({ - top: offset.top + $(self).outerHeight() + parseInt($('body').css('border-top') || 0, 10), - left: offset.left + $(self).width() - box.width() - 16 + top: offset.top + $(self).outerHeight() + bodyBorderTop, + left: boxLeft > 0 ? boxLeft : 0 }); } } @@ -2423,4 +2428,4 @@ } }; -})); \ No newline at end of file +}));