diff --git a/src/Umbraco.Web.UI.Client/src/common/services/editor.service.js b/src/Umbraco.Web.UI.Client/src/common/services/editor.service.js index 29d4145121..453785f537 100644 --- a/src/Umbraco.Web.UI.Client/src/common/services/editor.service.js +++ b/src/Umbraco.Web.UI.Client/src/common/services/editor.service.js @@ -432,6 +432,24 @@ open(editor); } + /** + * @ngdoc method + * @name umbraco.services.editorService#macroPicker + * @methodOf umbraco.services.editorService + * + * @description + * Opens a member group picker in infinite editing. + * + * @param {Callback} editor.submit Submits the editor. + * @param {Callback} editor.close Closes the editor. + * @returns {Object} editor object + */ + function memberGroupPicker(editor) { + editor.view = "views/common/infiniteeditors/membergrouppicker/membergrouppicker.html"; + editor.size = "small"; + open(editor); + } + var service = { getEditors: getEditors, open: open, @@ -458,7 +476,8 @@ templateSections: templateSections, userPicker: userPicker, itemPicker: itemPicker, - macroPicker: macroPicker + macroPicker: macroPicker, + memberGroupPicker: memberGroupPicker }; return service; diff --git a/src/Umbraco.Web.UI.Client/src/views/common/infiniteeditors/membergrouppicker/membergrouppicker.controller.js b/src/Umbraco.Web.UI.Client/src/views/common/infiniteeditors/membergrouppicker/membergrouppicker.controller.js index 83567ee1fa..4fab2a753a 100644 --- a/src/Umbraco.Web.UI.Client/src/views/common/infiniteeditors/membergrouppicker/membergrouppicker.controller.js +++ b/src/Umbraco.Web.UI.Client/src/views/common/infiniteeditors/membergrouppicker/membergrouppicker.controller.js @@ -1,10 +1,15 @@ //used for the member picker dialog -angular.module("umbraco").controller("Umbraco.Overlays.MemberGroupPickerController", - function($scope, eventsService, entityResource, searchService, $log, localizationService) { +angular.module("umbraco").controller("Umbraco.Editors.MemberGroupPickerController", + function($scope, eventsService, localizationService) { + + var vm = this; $scope.dialogTreeApi = {}; $scope.multiPicker = $scope.model.multiPicker; + vm.submit = submit; + vm.close = close; + function activate() { if(!$scope.model.title) { @@ -59,6 +64,18 @@ angular.module("umbraco").controller("Umbraco.Overlays.MemberGroupPickerControll $scope.dialogTreeApi.callbacks.treeNodeSelect(nodeSelectHandler); }; + function close() { + if($scope.model && $scope.model.close) { + $scope.model.close(); + } + } + + function submit() { + if($scope.model && $scope.model.submit) { + $scope.model.submit($scope.model); + } + } + activate(); }); diff --git a/src/Umbraco.Web.UI.Client/src/views/common/infiniteeditors/membergrouppicker/membergrouppicker.html b/src/Umbraco.Web.UI.Client/src/views/common/infiniteeditors/membergrouppicker/membergrouppicker.html index ab481d5f0d..13af3e4108 100644 --- a/src/Umbraco.Web.UI.Client/src/views/common/infiniteeditors/membergrouppicker/membergrouppicker.html +++ b/src/Umbraco.Web.UI.Client/src/views/common/infiniteeditors/membergrouppicker/membergrouppicker.html @@ -1,13 +1,49 @@ -