From 309cef5d023913d2e67c7e88d9a52745f7c05825 Mon Sep 17 00:00:00 2001 From: Robert Messerle Date: Wed, 28 Oct 2015 15:35:34 -0700 Subject: [PATCH] fix(autocomplete): clicking on the scrollbar will no longer close dropdown Closes #4785 Closes #4625 --- src/components/autocomplete/js/autocompleteController.js | 9 +++------ src/components/autocomplete/js/autocompleteDirective.js | 8 ++++---- 2 files changed, 7 insertions(+), 10 deletions(-) diff --git a/src/components/autocomplete/js/autocompleteController.js b/src/components/autocomplete/js/autocompleteController.js index 284a27bb8d5..44e92b12617 100644 --- a/src/components/autocomplete/js/autocompleteController.js +++ b/src/components/autocomplete/js/autocompleteController.js @@ -251,6 +251,7 @@ function MdAutocompleteCtrl ($scope, $element, $mdUtil, $mdConstant, $mdTheming, * When the user's mouse leaves the menu, blur events may hide the menu again. */ function onListLeave () { + if (!hasFocus) elements.input.focus(); noBlur = false; ctrl.hidden = shouldHide(); } @@ -358,8 +359,8 @@ function MdAutocompleteCtrl ($scope, $element, $mdUtil, $mdConstant, $mdTheming, * Handles input blur event, determines if the dropdown should hide. */ function blur () { + hasFocus = false; if (!noBlur) { - hasFocus = false; ctrl.hidden = shouldHide(); } } @@ -496,11 +497,7 @@ function MdAutocompleteCtrl ($scope, $element, $mdUtil, $mdConstant, $mdTheming, * @returns {boolean} */ function shouldHide () { - if ((ctrl.loading && !hasMatches()) || hasSelection() || !hasFocus) { - return true; - } - - return !shouldShow(); + return (ctrl.loading && !hasMatches() || hasSelection() || !hasFocus) || !shouldShow(); } /** diff --git a/src/components/autocomplete/js/autocompleteDirective.js b/src/components/autocomplete/js/autocompleteDirective.js index 512f05d2a80..fa471a62f92 100644 --- a/src/components/autocomplete/js/autocompleteDirective.js +++ b/src/components/autocomplete/js/autocompleteDirective.js @@ -173,15 +173,15 @@ function MdAutocomplete () { \