Skip to content

Commit 6c2be61

Browse files
author
Ben TORFS
committed
Closes bentorfs#2
1 parent 2acaf83 commit 6c2be61

File tree

5 files changed

+26
-4
lines changed

5 files changed

+26
-4
lines changed

dist/angular-bootstrap-multiselect-templates.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ angular.module("multiselect.html", []).run(["$templateCache", function($template
3939
"\n" +
4040
" <li ng-show=\"showSearch\" class=\"divider\"></li>\n" +
4141
" <li role=\"presentation\" ng-repeat=\"option in unselectedOptions | filter:search() | limitTo: searchLimit\"\n" +
42-
" ng-if=\"!isSelected(option)\">\n" +
42+
" ng-if=\"!isSelected(option)\" ng-class=\"{disabled : selectedOptions.length >= selectionLimit}\">\n" +
4343
" <a class=\"item-unselected\" href=\"\" ng-click=\"toggleItem(option); $event.stopPropagation()\">\n" +
4444
" {{getDisplay(option)}}\n" +
4545
" </a>\n" +

dist/angular-bootstrap-multiselect.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -242,7 +242,7 @@ angular.module("multiselect.html", []).run(["$templateCache", function($template
242242
"\n" +
243243
" <li ng-show=\"showSearch\" class=\"divider\"></li>\n" +
244244
" <li role=\"presentation\" ng-repeat=\"option in unselectedOptions | filter:search() | limitTo: searchLimit\"\n" +
245-
" ng-if=\"!isSelected(option)\">\n" +
245+
" ng-if=\"!isSelected(option)\" ng-class=\"{disabled : selectedOptions.length >= selectionLimit}\">\n" +
246246
" <a class=\"item-unselected\" href=\"\" ng-click=\"toggleItem(option); $event.stopPropagation()\">\n" +
247247
" {{getDisplay(option)}}\n" +
248248
" </a>\n" +

dist/angular-bootstrap-multiselect.min.js

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/multiselect.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@
3535

3636
<li ng-show="showSearch" class="divider"></li>
3737
<li role="presentation" ng-repeat="option in unselectedOptions | filter:search() | limitTo: searchLimit"
38-
ng-if="!isSelected(option)">
38+
ng-if="!isSelected(option)" ng-class="{disabled : selectedOptions.length >= selectionLimit}">
3939
<a class="item-unselected" href="" ng-click="toggleItem(option); $event.stopPropagation()">
4040
{{getDisplay(option)}}
4141
</a>

test/e2e/multiselect-stringvalues-e2e-test.js

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -79,4 +79,26 @@ describe('Multiselect, using string models, ', function () {
7979
expect(selectedItems.count()).toBe(0);
8080
});
8181

82+
it('cannot select more than the selection limit', function () {
83+
browser.get('test/e2e/test-stringvalues.html');
84+
85+
var form = element(by.name('selectionLimitTest'));
86+
form.element(by.className('dropdown-toggle')).click();
87+
var unselectedItems = form.all(by.tagName('li')).all(by.className('item-unselected'));
88+
expect(unselectedItems.count()).toBe(4);
89+
var selectedItems = form.all(by.tagName('li')).all(by.className('item-selected'));
90+
expect(selectedItems.count()).toBe(0);
91+
92+
unselectedItems.get(0).click();
93+
unselectedItems.get(1).click();
94+
unselectedItems = form.all(by.tagName('li')).all(by.className('item-unselected'));
95+
expect(unselectedItems.count()).toBe(2);
96+
selectedItems = form.all(by.tagName('li')).all(by.className('item-selected'));
97+
expect(selectedItems.count()).toBe(2);
98+
99+
// The other items should now be disabled
100+
var disabledItems = form.all(by.className('disabled'));
101+
expect(disabledItems.count()).toBe(2);
102+
});
103+
82104
});

0 commit comments

Comments
 (0)