From dfafebc50acafbed3cd816441c7e1ec0753402e7 Mon Sep 17 00:00:00 2001 From: Adam Mockor Date: Tue, 2 May 2017 15:16:53 +0200 Subject: [PATCH 1/2] use dropdown offsetHeight instead of getBoundingClientRect.height --- assets/scripts/src/choices.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/assets/scripts/src/choices.js b/assets/scripts/src/choices.js index c998404..2255128 100644 --- a/assets/scripts/src/choices.js +++ b/assets/scripts/src/choices.js @@ -635,7 +635,7 @@ class Choices { this.dropdown.setAttribute('aria-expanded', 'true'); const dimensions = this.dropdown.getBoundingClientRect(); - const dropdownPos = Math.ceil(dimensions.top + window.scrollY + dimensions.height); + const dropdownPos = Math.ceil(dimensions.top + window.scrollY + this.dropdown.offsetHeight); // If flip is enabled and the dropdown bottom position is greater than the window height flip the dropdown. let shouldFlip = false; From cdc06efbf94e0e85a11af46aa0e8520a9ca46a49 Mon Sep 17 00:00:00 2001 From: Adam Mockor Date: Tue, 2 May 2017 15:17:57 +0200 Subject: [PATCH 2/2] do not remove flippedState class if shouldFlip !== true --- assets/scripts/src/choices.js | 2 -- 1 file changed, 2 deletions(-) diff --git a/assets/scripts/src/choices.js b/assets/scripts/src/choices.js index 2255128..fe7dc25 100644 --- a/assets/scripts/src/choices.js +++ b/assets/scripts/src/choices.js @@ -647,8 +647,6 @@ class Choices { if (shouldFlip) { this.containerOuter.classList.add(this.config.classNames.flippedState); - } else { - this.containerOuter.classList.remove(this.config.classNames.flippedState); } // Optionally focus the input if we have a search input