From adc83730d71958a790aef2fe0d5893853ff88613 Mon Sep 17 00:00:00 2001 From: Ilya Savinkov Date: Tue, 25 Jul 2017 19:02:19 +0500 Subject: [PATCH 1/2] scrollbarPadding() function checks also whether the scrollbars are visible --- src/position/position.js | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/position/position.js b/src/position/position.js index 3ab066abb5..685c0211de 100644 --- a/src/position/position.js +++ b/src/position/position.js @@ -139,7 +139,11 @@ angular.module('ui.bootstrap.position', []) originalRight: paddingRight, heightOverflow: scrollParent.scrollHeight > scrollParent.clientHeight, bottom: paddingBottom + scrollbarWidth, - originalBottom: paddingBottom + originalBottom: paddingBottom, + bottomScrollbar: (elemStyle.overflowX == 'auto' || elemStyle.overflowX == 'visible' && elem.nodeName == 'BODY') + && scrollParent.scrollWidth > scrollParent.clientWidth || elemStyle.overflowX == 'scroll', + rightScrollbar: (elemStyle.overflowY == 'auto' || elemStyle.overflowY == 'visible' && elem.nodeName == 'BODY') + && scrollParent.scrollHeight > scrollParent.clientHeight || elemStyle.overflowY == 'scroll' }; }, From f20ef95c940bbdff6579b8763521524287db34d2 Mon Sep 17 00:00:00 2001 From: Ilya Savinkov Date: Tue, 25 Jul 2017 19:04:12 +0500 Subject: [PATCH 2/2] When positioning a dropdown aligned to the right properly check whether the parent element has a visible scrollbar --- src/dropdown/dropdown.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/dropdown/dropdown.js b/src/dropdown/dropdown.js index 2560e282e8..72aa4c0f17 100644 --- a/src/dropdown/dropdown.js +++ b/src/dropdown/dropdown.js @@ -288,7 +288,7 @@ angular.module('ui.bootstrap.dropdown', ['ui.bootstrap.multiMap', 'ui.bootstrap. css.left = 'auto'; scrollbarPadding = $position.scrollbarPadding(appendTo); - if (scrollbarPadding.heightOverflow && scrollbarPadding.scrollbarWidth) { + if (scrollbarPadding.rightScrollbar && scrollbarPadding.scrollbarWidth) { scrollbarWidth = scrollbarPadding.scrollbarWidth; }