Skip to content
This repository was archived by the owner on Oct 2, 2019. It is now read-only.

Commit e417d20

Browse files
author
Brian Feister
committed
Restore ctrl.$filter since it's best pinned to ctrl, fix issue with ctrl.isActive method returning false positives in initial empty state
1 parent 1915b1c commit e417d20

File tree

1 file changed

+7
-3
lines changed

1 file changed

+7
-3
lines changed

src/select.js

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -169,6 +169,7 @@
169169
ctrl.lockChoiceExpression = undefined; // Initialized inside uiSelect directive link function
170170
ctrl.closeOnSelect = true; // Initialized inside uiSelect directive link function
171171
ctrl.clickTriggeredSelect = false;
172+
ctrl.$filter = $filter;
172173

173174
ctrl.isEmpty = function() {
174175
return angular.isUndefined(ctrl.selected) || ctrl.selected === null || ctrl.selected === '';
@@ -316,16 +317,19 @@
316317
};
317318

318319
ctrl.isActive = function(itemScope) {
319-
var isActive = ctrl.open && ctrl.items.indexOf(itemScope[ctrl.itemProperty]) === ctrl.activeIndex;
320+
if ( !ctrl.open ) {
321+
return false;
322+
}
323+
var itemIndex = ctrl.items.indexOf(itemScope[ctrl.itemProperty]);
324+
var isActive = itemIndex === ctrl.activeIndex;
320325

321-
if ( !isActive ) {
326+
if ( !isActive || itemIndex < 0 ) {
322327
return false;
323328
}
324329
if (isActive && !angular.isUndefined(ctrl.onHighlightCallback)) {
325330
itemScope.$eval(ctrl.onHighlightCallback);
326331
}
327332

328-
var itemIndex = ctrl.items.indexOf(itemScope[ctrl.itemProperty]);
329333
if ( ctrl.taggingLabel === false && ctrl.activeIndex === -1 ) {
330334
return false;
331335
}

0 commit comments

Comments
 (0)