Skip to content

Commit 0d150a2

Browse files
author
Ben TORFS
committed
Ability to disable button, closes bentorfs#4
1 parent a52cb99 commit 0d150a2

File tree

6 files changed

+39
-12
lines changed

6 files changed

+39
-12
lines changed

dist/angular-bootstrap-multiselect-templates.js

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,9 @@ angular.module('btorfs.multiselect.templates', ['multiselect.html']);
33
angular.module("multiselect.html", []).run(["$templateCache", function($templateCache) {
44
$templateCache.put("multiselect.html",
55
"<div class=\"btn-group\" style=\"width: 100%\">\n" +
6-
" <button type=\"button\" class=\"form-control btn btn-default btn-block dropdown-toggle\" ng-click=\"toggleDropdown()\">\n" +
7-
" {{getButtonText()}}&nbsp;<span class=\"caret\"></span></button>\n" +
6+
" <button type=\"button\" class=\"form-control btn btn-default btn-block dropdown-toggle\" ng-click=\"toggleDropdown()\" ng-disabled=\"disabled\">\n" +
7+
" {{getButtonText()}}&nbsp;<span class=\"caret\"></span>\n" +
8+
" </button>\n" +
89
" <ul class=\"dropdown-menu dropdown-menu-form\"\n" +
910
" ng-style=\"{display: open ? 'block' : 'none'}\" style=\"width: 100%; overflow-x: auto\">\n" +
1011
"\n" +
@@ -39,7 +40,8 @@ angular.module("multiselect.html", []).run(["$templateCache", function($template
3940
"\n" +
4041
" <li ng-show=\"showSearch\" class=\"divider\"></li>\n" +
4142
" <li role=\"presentation\" ng-repeat=\"option in unselectedOptions | filter:search() | limitTo: searchLimit\"\n" +
42-
" ng-if=\"!isSelected(option)\" ng-class=\"{disabled : selectionLimit && selectedOptions.length >= selectionLimit}\">\n" +
43+
" ng-if=\"!isSelected(option)\"\n" +
44+
" ng-class=\"{disabled : selectionLimit && selectedOptions.length >= selectionLimit}\">\n" +
4345
" <a class=\"item-unselected\" href=\"\" ng-click=\"toggleItem(option); $event.stopPropagation()\">\n" +
4446
" {{getDisplay(option)}}\n" +
4547
" </a>\n" +

dist/angular-bootstrap-multiselect.js

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,8 @@
2424
selectionLimit: '=?',
2525
showSelectAll: '=?',
2626
showUnselectAll: '=?',
27-
showSearch: '=?'
27+
showSearch: '=?',
28+
disabled: '=?ngDisabled'
2829
},
2930
require: 'ngModel',
3031
templateUrl: 'multiselect.html',
@@ -34,6 +35,10 @@
3435

3536
$scope.searchFilter = '';
3637

38+
if (typeof $attrs.disabled != 'undefined') {
39+
$scope.disabled = true;
40+
}
41+
3742
$scope.toggleDropdown = function () {
3843
$scope.open = !$scope.open;
3944
};
@@ -216,8 +221,9 @@ angular.module('btorfs.multiselect.templates', ['multiselect.html']);
216221
angular.module("multiselect.html", []).run(["$templateCache", function($templateCache) {
217222
$templateCache.put("multiselect.html",
218223
"<div class=\"btn-group\" style=\"width: 100%\">\n" +
219-
" <button type=\"button\" class=\"form-control btn btn-default btn-block dropdown-toggle\" ng-click=\"toggleDropdown()\">\n" +
220-
" {{getButtonText()}}&nbsp;<span class=\"caret\"></span></button>\n" +
224+
" <button type=\"button\" class=\"form-control btn btn-default btn-block dropdown-toggle\" ng-click=\"toggleDropdown()\" ng-disabled=\"disabled\">\n" +
225+
" {{getButtonText()}}&nbsp;<span class=\"caret\"></span>\n" +
226+
" </button>\n" +
221227
" <ul class=\"dropdown-menu dropdown-menu-form\"\n" +
222228
" ng-style=\"{display: open ? 'block' : 'none'}\" style=\"width: 100%; overflow-x: auto\">\n" +
223229
"\n" +
@@ -252,7 +258,8 @@ angular.module("multiselect.html", []).run(["$templateCache", function($template
252258
"\n" +
253259
" <li ng-show=\"showSearch\" class=\"divider\"></li>\n" +
254260
" <li role=\"presentation\" ng-repeat=\"option in unselectedOptions | filter:search() | limitTo: searchLimit\"\n" +
255-
" ng-if=\"!isSelected(option)\" ng-class=\"{disabled : selectionLimit && selectedOptions.length >= selectionLimit}\">\n" +
261+
" ng-if=\"!isSelected(option)\"\n" +
262+
" ng-class=\"{disabled : selectionLimit && selectedOptions.length >= selectionLimit}\">\n" +
256263
" <a class=\"item-unselected\" href=\"\" ng-click=\"toggleItem(option); $event.stopPropagation()\">\n" +
257264
" {{getDisplay(option)}}\n" +
258265
" </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: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
<div class="btn-group" style="width: 100%">
2-
<button type="button" class="form-control btn btn-default btn-block dropdown-toggle" ng-click="toggleDropdown()">
3-
{{getButtonText()}}&nbsp;<span class="caret"></span></button>
2+
<button type="button" class="form-control btn btn-default btn-block dropdown-toggle" ng-click="toggleDropdown()" ng-disabled="disabled">
3+
{{getButtonText()}}&nbsp;<span class="caret"></span>
4+
</button>
45
<ul class="dropdown-menu dropdown-menu-form"
56
ng-style="{display: open ? 'block' : 'none'}" style="width: 100%; overflow-x: auto">
67

@@ -35,7 +36,8 @@
3536

3637
<li ng-show="showSearch" class="divider"></li>
3738
<li role="presentation" ng-repeat="option in unselectedOptions | filter:search() | limitTo: searchLimit"
38-
ng-if="!isSelected(option)" ng-class="{disabled : selectionLimit && selectedOptions.length >= selectionLimit}">
39+
ng-if="!isSelected(option)"
40+
ng-class="{disabled : selectionLimit && selectedOptions.length >= selectionLimit}">
3941
<a class="item-unselected" href="" ng-click="toggleItem(option); $event.stopPropagation()">
4042
{{getDisplay(option)}}
4143
</a>

src/multiselect.js

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,8 @@
2424
selectionLimit: '=?',
2525
showSelectAll: '=?',
2626
showUnselectAll: '=?',
27-
showSearch: '=?'
27+
showSearch: '=?',
28+
disabled: '=?ngDisabled'
2829
},
2930
require: 'ngModel',
3031
templateUrl: 'multiselect.html',
@@ -34,6 +35,10 @@
3435

3536
$scope.searchFilter = '';
3637

38+
if (typeof $attrs.disabled != 'undefined') {
39+
$scope.disabled = true;
40+
}
41+
3742
$scope.toggleDropdown = function () {
3843
$scope.open = !$scope.open;
3944
};

test/e2e/test-stringmodels.html

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,17 @@ <h3>Test with many items</h3>
4646
<multiselect ng-model="selection4" options="options2" selection-limit="2" show-search="true"></multiselect>
4747
</form>
4848

49+
<h3>Disabled test</h3>
50+
51+
<form name="disabledTest">
52+
<pre>Model value: {{selection5}}</pre>
53+
<multiselect ng-model="selection5" options="options" ng-disabled="true"></multiselect>
54+
<multiselect ng-model="selection5" options="options" disabled></multiselect>
55+
<multiselect ng-model="selection5" options="options" disabled="true"></multiselect>
56+
<multiselect ng-model="selection5" options="options" disabled="disabled"></multiselect>
57+
<multiselect ng-model="selection5" options="options" disabled="false"></multiselect>
58+
</form>
59+
4960
</div>
5061

5162
<script src="../../bower_components/angular/angular.js"></script>

0 commit comments

Comments
 (0)