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

Commit 1f5d245

Browse files
committed
feat(choices): allow user select group header
User can now select header of group by option to select all item in this group #1074 old pull request ref
1 parent 912a70a commit 1f5d245

File tree

3 files changed

+17
-1
lines changed

3 files changed

+17
-1
lines changed

src/bootstrap/choices.tpl.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
ng-show="$select.open && $select.items.length > 0">
33
<li class="ui-select-choices-group" id="ui-select-choices-{{ $select.generatedId }}" >
44
<div class="divider" ng-show="$select.isGrouped && $index > 0"></div>
5-
<div ng-show="$select.isGrouped" class="ui-select-choices-group-label dropdown-header" ng-bind="$group.name"></div>
5+
<div ng-show="$select.isGrouped" class="ui-select-choices-group-label dropdown-header" ng-bind="$group.name" ng-click="$select.headerClick($group)"></div>
66
<div ng-attr-id="ui-select-choices-row-{{ $select.generatedId }}-{{$index}}" class="ui-select-choices-row"
77
ng-class="{active: $select.isActive(this), disabled: $select.isDisabled(this)}" role="option">
88
<span class="ui-select-choices-row-inner"></span>

src/common.css

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -253,6 +253,15 @@ body > .ui-select-bootstrap.open {
253253
border-right: 1px solid #428bca;
254254
}
255255

256+
.ui-select-bootstrap .ui-select-choices-group:hover {
257+
background-color: #f5f5f5;
258+
}
259+
260+
.ui-select-bootstrap .ui-select-choices-group-label.dropdown-header {
261+
color: black;
262+
cursor: pointer;
263+
}
264+
256265
.ui-select-bootstrap .ui-select-choices-row>span {
257266
cursor: pointer;
258267
display: block;

src/uiSelectController.js

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,13 @@ uis.controller('uiSelectCtrl',
6161
throw uiSelectMinErr('searchInput', "Expected 1 input.ui-select-search but got '{0}'.", ctrl.searchInput.length);
6262
}
6363

64+
ctrl.headerClick = function(g) {
65+
var items = g.items;
66+
for(var i = 0; i < items.length; i++) {
67+
ctrl.select(items[i], false, ' ');
68+
}
69+
};
70+
6471
ctrl.isEmpty = function() {
6572
return isNil(ctrl.selected) || ctrl.selected === '' || (ctrl.multiple && ctrl.selected.length === 0);
6673
};

0 commit comments

Comments
 (0)