Work on member group picker, allows multiple selection
This commit is contained in:
@@ -4,9 +4,10 @@ angular.module("umbraco").controller("Umbraco.Dialogs.MemberGroupPickerControlle
|
||||
var dialogOptions = $scope.$parent.dialogOptions;
|
||||
$scope.dialogTreeEventHandler = $({});
|
||||
$scope.results = [];
|
||||
|
||||
$scope.dialogData = [];
|
||||
|
||||
/** Method used for selecting a node */
|
||||
function select(text, id, entity) {
|
||||
function select(text, id) {
|
||||
|
||||
|
||||
$scope.showSearch = false;
|
||||
@@ -15,13 +16,23 @@ angular.module("umbraco").controller("Umbraco.Dialogs.MemberGroupPickerControlle
|
||||
$scope.oldTerm = undefined;
|
||||
|
||||
if (dialogOptions.multiPicker) {
|
||||
$scope.select(id);
|
||||
if ($scope.dialogData.indexOf(id) == -1) {
|
||||
$scope.dialogData.push(id);
|
||||
}
|
||||
}
|
||||
else {
|
||||
$scope.submit(id);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
function remove(text, id) {
|
||||
var index = $scope.dialogData.indexOf(id);
|
||||
|
||||
if (index > -1) {
|
||||
$scope.dialogData.splice(index, 1);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
$scope.dialogTreeEventHandler.bind("treeNodeSelect", function(ev, args) {
|
||||
@@ -35,8 +46,7 @@ angular.module("umbraco").controller("Umbraco.Dialogs.MemberGroupPickerControlle
|
||||
//from the server in this method.
|
||||
select(a.node.name, a.node.id);
|
||||
|
||||
if (dialogOptions && dialogOptions.multipicker) {
|
||||
|
||||
if (dialogOptions.multiPicker) {
|
||||
var c = $(a.event.target.parentElement);
|
||||
if (!a.node.selected) {
|
||||
a.node.selected = true;
|
||||
@@ -44,6 +54,9 @@ angular.module("umbraco").controller("Umbraco.Dialogs.MemberGroupPickerControlle
|
||||
.after("<i class='icon umb-tree-icon sprTree icon-check blue temporary'></i>");
|
||||
}
|
||||
else {
|
||||
|
||||
remove(a.node.name, a.node.id);
|
||||
|
||||
a.node.selected = false;
|
||||
c.find(".temporary").remove();
|
||||
c.find("i.umb-tree-icon").show();
|
||||
|
||||
@@ -26,9 +26,9 @@
|
||||
|
||||
<button
|
||||
class="btn btn-primary"
|
||||
ng-show="multipicker"
|
||||
ng-show="dialogOptions.multiPicker"
|
||||
ng-click="submit(dialogData)">
|
||||
<localize key="buttons_select">Select</localize>({{dialogData.selection.length}})
|
||||
<localize key="buttons_select">Select</localize>
|
||||
</button>
|
||||
|
||||
</div>
|
||||
|
||||
@@ -7,7 +7,7 @@ angular.module('umbraco')
|
||||
$scope.renderModel = [];
|
||||
$scope.ids = $scope.model.value.split(',');
|
||||
|
||||
$scope.cfg = {multiPicker: false, entityType: "MemberGroup", type: "membergroup", treeAlias: "memberGroup", filter: ""};
|
||||
$scope.cfg = {multiPicker: true, entityType: "MemberGroup", type: "membergroup", treeAlias: "memberGroup", filter: ""};
|
||||
if($scope.model.config){
|
||||
$scope.cfg = angular.extend($scope.cfg, $scope.model.config);
|
||||
}
|
||||
|
||||
@@ -2,11 +2,10 @@
|
||||
|
||||
|
||||
<ul class="unstyled"
|
||||
ui-sortable="sortableOptions"
|
||||
ng-model="renderModel">
|
||||
<li ng-repeat="node in renderModel">
|
||||
|
||||
<i class="icon icon-navigation handle"></i>
|
||||
|
||||
|
||||
<a href="#" prevent-default ng-click="remove($index)">
|
||||
<i class="icon icon-delete red hover-show"></i>
|
||||
@@ -19,7 +18,7 @@
|
||||
<ul class="unstyled">
|
||||
<li>
|
||||
<a href="#" ng-click="openMemberGroupPicker()" prevent-default>
|
||||
<i class="icon icon-add"></i> <localize key="general_add">Add</localize>
|
||||
<i class="icon icon-add blue"></i> <localize key="general_add">Add</localize>
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
Reference in New Issue
Block a user