diff --git a/src/Umbraco.Web.UI.Client/src/less/forms.less b/src/Umbraco.Web.UI.Client/src/less/forms.less index e01da22a56..9925db3d00 100644 --- a/src/Umbraco.Web.UI.Client/src/less/forms.less +++ b/src/Umbraco.Web.UI.Client/src/less/forms.less @@ -448,6 +448,12 @@ input[type="checkbox"][readonly] { } } +//val-highlight directive styling +.highlight-error { + color: @formErrorText !important; + border-color: #ee5f5b !important; +} + //disable the glowing border for the umb-content-name .show-validation .umb-headline-editor-wrapper input:focus:invalid, .show-validation .umb-headline-editor-wrapper textarea:focus:invalid, diff --git a/src/Umbraco.Web.UI.Client/src/views/common/dialogs/membergrouppicker.controller.js b/src/Umbraco.Web.UI.Client/src/views/common/dialogs/membergrouppicker.controller.js index d7d85a4142..d9ea9f3a52 100644 --- a/src/Umbraco.Web.UI.Client/src/views/common/dialogs/membergrouppicker.controller.js +++ b/src/Umbraco.Web.UI.Client/src/views/common/dialogs/membergrouppicker.controller.js @@ -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(""); } else { + + remove(a.node.name, a.node.id); + a.node.selected = false; c.find(".temporary").remove(); c.find("i.umb-tree-icon").show(); diff --git a/src/Umbraco.Web.UI.Client/src/views/common/dialogs/membergrouppicker.html b/src/Umbraco.Web.UI.Client/src/views/common/dialogs/membergrouppicker.html index 6a8a0e3551..8779d4feb2 100644 --- a/src/Umbraco.Web.UI.Client/src/views/common/dialogs/membergrouppicker.html +++ b/src/Umbraco.Web.UI.Client/src/views/common/dialogs/membergrouppicker.html @@ -26,9 +26,9 @@ diff --git a/src/Umbraco.Web.UI.Client/src/views/propertyeditors/membergrouppicker/membergrouppicker.controller.js b/src/Umbraco.Web.UI.Client/src/views/propertyeditors/membergrouppicker/membergrouppicker.controller.js index 5cd12cc0cc..4e236bd668 100644 --- a/src/Umbraco.Web.UI.Client/src/views/propertyeditors/membergrouppicker/membergrouppicker.controller.js +++ b/src/Umbraco.Web.UI.Client/src/views/propertyeditors/membergrouppicker/membergrouppicker.controller.js @@ -3,11 +3,22 @@ angular.module('umbraco') .controller("Umbraco.PropertyEditors.MemberGroupPickerController", - function($scope, dialogService, entityResource, $log, iconHelper){ + function($scope, dialogService){ $scope.renderModel = []; - $scope.ids = $scope.model.value.split(','); + $scope.ids = []; - $scope.cfg = {multiPicker: false, entityType: "MemberGroup", type: "membergroup", treeAlias: "memberGroup", filter: ""}; + + + if ($scope.model.value) { + $scope.ids = $scope.model.value.split(','); + + $($scope.ids).each(function (i, item) { + + $scope.renderModel.push({ name: item, id: item, icon: 'icon-users' }); + }); + } + + $scope.cfg = {multiPicker: true, entityType: "MemberGroup", type: "membergroup", treeAlias: "memberGroup", filter: ""}; if($scope.model.config){ $scope.cfg = angular.extend($scope.cfg, $scope.model.config); } @@ -49,18 +60,6 @@ angular.module('umbraco') }; - $scope.sortableOptions = { - update: function(e, ui) { - var r = []; - angular.forEach($scope.renderModel, function(value, key){ - r.push(value.id); - }); - - $scope.ids = r; - $scope.model.value = trim($scope.ids.join(), ","); - } - }; - $scope.$on("formSubmitting", function (ev, args) { $scope.model.value = trim($scope.ids.join(), ","); diff --git a/src/Umbraco.Web.UI.Client/src/views/propertyeditors/membergrouppicker/membergrouppicker.html b/src/Umbraco.Web.UI.Client/src/views/propertyeditors/membergrouppicker/membergrouppicker.html index 60b90c9c62..ecb514cc61 100644 --- a/src/Umbraco.Web.UI.Client/src/views/propertyeditors/membergrouppicker/membergrouppicker.html +++ b/src/Umbraco.Web.UI.Client/src/views/propertyeditors/membergrouppicker/membergrouppicker.html @@ -2,11 +2,10 @@