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

Commit 25c06c8

Browse files
authored
Merge pull request #2021 from dmytroyarmak/fix-1987
fix(activeIndex) reset active option on clear model
2 parents 84a1779 + f32ead4 commit 25c06c8

File tree

2 files changed

+22
-4
lines changed

2 files changed

+22
-4
lines changed

src/uiSelectController.js

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -88,10 +88,14 @@ uis.controller('uiSelectCtrl',
8888
if (ctrl.resetSearchInput) {
8989
ctrl.search = EMPTY_SEARCH;
9090
//reset activeIndex
91-
if (ctrl.selected && ctrl.items.length && !ctrl.multiple) {
92-
ctrl.activeIndex = _findIndex(ctrl.items, function(item){
93-
return angular.equals(this, item);
94-
}, ctrl.selected);
91+
if (!ctrl.multiple) {
92+
if (ctrl.selected && ctrl.items.length) {
93+
ctrl.activeIndex = _findIndex(ctrl.items, function(item){
94+
return angular.equals(this, item);
95+
}, ctrl.selected);
96+
} else {
97+
ctrl.activeIndex = 0;
98+
}
9599
}
96100
}
97101
}

test/select.spec.js

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -846,6 +846,20 @@ describe('ui-select tests', function () {
846846
expect(getMatchLabel(el)).toEqual('-- None Selected --');
847847
});
848848

849+
it('should not have active option when model cleared', function () {
850+
var el = createUiSelect();
851+
852+
clickItem(el, 'Samantha');
853+
expect(el.scope().$select.activeIndex).toBe(5);
854+
855+
scope.selection.selected = null;
856+
scope.$digest();
857+
858+
el.find(".ui-select-toggle").click();
859+
860+
expect(el.scope().$select.activeIndex).toBe(0);
861+
});
862+
849863
describe('backspace reset option', function () {
850864
it('should undefined model when pressing BACKSPACE key if backspaceReset=true', function () {
851865
var el = createUiSelect();

0 commit comments

Comments
 (0)