From aa9b6ef51d4a7ab855a99d248b2071f61bb31f21 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jakub=20=C5=9Amigielski?= Date: Tue, 2 Aug 2022 16:40:14 +0200 Subject: [PATCH 1/2] Fix dropdown position when use data-size attribute --- js/bootstrap-select.js | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/js/bootstrap-select.js b/js/bootstrap-select.js index 1d7664fb6..a15a856c7 100644 --- a/js/bootstrap-select.js +++ b/js/bootstrap-select.js @@ -2250,7 +2250,11 @@ // This is useful for smaller menus, where there might be plenty of room // below the button without setting dropup, but we can't know // the exact height of the menu until createView is called later - estimate = liHeight * this.selectpicker.current.data.length + menuPadding.vert; + if (this.options.size !== 'auto') { + estimate = liHeight * this.options.size + menuPadding.vert; + } else { + estimate = liHeight * this.selectpicker.current.data.length + menuPadding.vert; + } isDropup = this.sizeInfo.selectOffsetTop - this.sizeInfo.selectOffsetBot > this.sizeInfo.menuExtras.vert && estimate + this.sizeInfo.menuExtras.vert + 50 > this.sizeInfo.selectOffsetBot; From a83606576f81d836e700ad6e1a5b568ba9a3a215 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jakub=20=C5=9Amigielski?= Date: Wed, 3 Aug 2022 09:36:37 +0200 Subject: [PATCH 2/2] Fix dropdown position when use data-size attribute --- js/bootstrap-select.js | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/js/bootstrap-select.js b/js/bootstrap-select.js index a15a856c7..e722ab887 100644 --- a/js/bootstrap-select.js +++ b/js/bootstrap-select.js @@ -2250,11 +2250,8 @@ // This is useful for smaller menus, where there might be plenty of room // below the button without setting dropup, but we can't know // the exact height of the menu until createView is called later - if (this.options.size !== 'auto') { - estimate = liHeight * this.options.size + menuPadding.vert; - } else { - estimate = liHeight * this.selectpicker.current.data.length + menuPadding.vert; - } + var dropDownLength = this.options.size !== 'auto' ? this.options.size : this.selectpicker.current.data.length; + estimate = liHeight * dropDownLength + menuPadding.vert; isDropup = this.sizeInfo.selectOffsetTop - this.sizeInfo.selectOffsetBot > this.sizeInfo.menuExtras.vert && estimate + this.sizeInfo.menuExtras.vert + 50 > this.sizeInfo.selectOffsetBot;