Skip to content

Commit 3a7c45e

Browse files
committed
Limit the number of selections allowed in multiple mode
1 parent 2d1422d commit 3a7c45e

File tree

2 files changed

+6
-0
lines changed

2 files changed

+6
-0
lines changed

src/uiSelectDirective.js

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,9 @@ uis.directive('uiSelect',
4444
$select.onSelectCallback = $parse(attrs.onSelect);
4545
$select.onRemoveCallback = $parse(attrs.onRemove);
4646

47+
//Limit the number of selections allowed
48+
$select.limit = (angular.isDefined(attrs.limit)) ? parseInt(attrs.limit, 10) : undefined;
49+
4750
//Set reference to ngModel from uiSelectCtrl
4851
$select.ngModel = ngModel;
4952

src/uiSelectMultipleDirective.js

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -155,6 +155,9 @@ uis.directive('uiSelectMultiple', ['uiSelectMinErr','$timeout', function(uiSelec
155155
};
156156

157157
scope.$on('uis:select', function (event, item) {
158+
if($select.selected.length >= $select.limit) {
159+
return;
160+
}
158161
$select.selected.push(item);
159162
$selectMultiple.updateModel();
160163
});

0 commit comments

Comments
 (0)