diff --git a/src/select.js b/src/select.js index abbdf8e22..0d46da7ac 100644 --- a/src/select.js +++ b/src/select.js @@ -148,6 +148,7 @@ ctrl.activeMatchIndex = -1; ctrl.items = []; ctrl.selected = undefined; + ctrl.refreshing = false; ctrl.open = false; ctrl.focus = false; ctrl.focusser = undefined; //Reference to input element used to handle focus events @@ -279,6 +280,7 @@ */ ctrl.refresh = function(refreshAttr) { if (refreshAttr !== undefined) { + ctrl.refreshing = true; // Debounce // See https://github.com/angular-ui/bootstrap/blob/0.10.0/src/typeahead/typeahead.js#L155 @@ -289,6 +291,10 @@ _refreshDelayPromise = $timeout(function() { $scope.$eval(refreshAttr); }, ctrl.refreshDelay); + + _refreshDelayPromise.then(function(){ + ctrl.refreshing = false; + }); } }; diff --git a/src/select2/select-multiple.tpl.html b/src/select2/select-multiple.tpl.html index b014aff99..18d2e27d9 100644 --- a/src/select2/select-multiple.tpl.html +++ b/src/select2/select-multiple.tpl.html @@ -16,6 +16,7 @@ ng-hide="$select.disabled" ng-model="$select.search" ng-click="$select.activate()" + ng-class="{'select2-active': $select.refreshing}" style="width: 34px;"> diff --git a/src/select2/select.tpl.html b/src/select2/select.tpl.html index 4e8cb30f8..cf0b05a6d 100644 --- a/src/select2/select.tpl.html +++ b/src/select2/select.tpl.html @@ -8,6 +8,7 @@