update treePickers on user group to use infinite editing

This commit is contained in:
Mads Rasmussen
2018-07-04 20:19:54 +02:00
parent cabc3b7567
commit a9fd88567e
6 changed files with 107 additions and 71 deletions

View File

@@ -203,6 +203,12 @@
open(editor);
}
function nodePermissions(editor) {
editor.view = "views/common/infiniteeditors/nodepermissions/nodepermissions.html";
editor.size = "small";
open(editor);
}
function insertCodeSnippet(editor) {
editor.view = "views/common/infiniteeditors/insertcodesnippet/insertcodesnippet.html";
editor.size = "small";
@@ -222,6 +228,7 @@
mediaTypeEditor: mediaTypeEditor,
queryBuilder: queryBuilder,
treePicker: treePicker,
nodePermissions: nodePermissions,
insertCodeSnippet: insertCodeSnippet
};

View File

@@ -5,21 +5,34 @@
var vm = this;
function onInit() {
vm.submit = submit;
vm.close = close;
function onInit() {
// set default title
if(!$scope.model.title) {
localizationService.localize("defaultdialogs_permissionsEdit").then(function(value){
$scope.model.title = value + " " + $scope.model.node.name;
});
}
}
function submit() {
if($scope.model.submit) {
$scope.model.submit($scope.model);
}
}
function close() {
if($scope.model.close) {
$scope.model.close();
}
}
onInit();
}
angular.module("umbraco").controller("Umbraco.Overlays.NodePermissionsController", NodePermissionsController);
angular.module("umbraco").controller("Umbraco.Editors.NodePermissionsController", NodePermissionsController);
})();

View File

@@ -0,0 +1,56 @@
<div class="block-form" ng-controller="Umbraco.Editors.NodePermissionsController as vm">
<umb-editor-view>
<umb-editor-header
name="model.title"
name-locked="true"
hide-alias="true"
hide-icon="true"
hide-description="true">
</umb-editor-header>
<umb-editor-container>
<umb-box>
<umb-box-content>
<umb-control-group
ng-repeat="(category, permissions) in model.node.permissions"
label="{{category}}">
<umb-permission
ng-repeat="permission in permissions"
name="permission.name"
description="permission.description"
selected="permission.checked">
</umb-permission>
</umb-control-group>
</umb-box-content>
</umb-box>
</umb-editor-container>
<umb-editor-footer>
<umb-editor-footer-content-right>
<umb-button
type="button"
button-style="link"
label-key="general_close"
action="vm.close()">
</umb-button>
<umb-button
type="button"
button-style="success"
label-key="general_submit"
action="vm.submit(model)">
</umb-button>
</umb-editor-footer-content-right>
</umb-editor-footer>
</umb-editor-view>
</div>

View File

@@ -1,12 +0,0 @@
<div class="block-form" ng-controller="Umbraco.Overlays.NodePermissionsController as vm">
<umb-control-group
ng-repeat="(category, permissions) in model.node.permissions"
label="{{category}}">
<umb-permission
ng-repeat="permission in permissions"
name="permission.name"
description="permission.description"
selected="permission.checked">
</umb-permission>
</umb-control-group>
</div>

View File

@@ -1,9 +1,10 @@
(function () {
"use strict";
function UserGroupEditController($scope, $location, $routeParams, userGroupsResource, localizationService, contentEditingHelper) {
function UserGroupEditController($scope, $location, $routeParams, userGroupsResource, localizationService, contentEditingHelper, editorService) {
var vm = this;
var contentPickerOpen = false;
vm.page = {};
vm.page.rootIcon = "icon-folder";
@@ -123,14 +124,12 @@
}
function openContentPicker() {
vm.contentPicker = {
var contentPicker = {
title: vm.labels.selectContentStartNode,
view: "treepicker",
section: "content",
treeAlias: "content",
hideSubmitButton: true,
hideHeader: false,
show: true,
submit: function (model) {
if (model.selection) {
vm.userGroup.contentStartNode = model.selection[0];
@@ -139,26 +138,23 @@
vm.userGroup.contentStartNode.icon = "icon-folder";
}
}
vm.contentPicker.show = false;
vm.contentPicker = null;
editorService.close();
},
close: function (oldModel) {
vm.contentPicker.show = false;
vm.contentPicker = null;
close: function () {
editorService.close();
}
};
editorService.treePicker(contentPicker);
}
function openMediaPicker() {
vm.contentPicker = {
var mediaPicker = {
title: vm.labels.selectMediaStartNode,
view: "treepicker",
section: "media",
treeAlias: "media",
entityType: "media",
hideSubmitButton: true,
hideHeader: false,
show: true,
submit: function (model) {
if (model.selection) {
vm.userGroup.mediaStartNode = model.selection[0];
@@ -167,14 +163,13 @@
vm.userGroup.mediaStartNode.icon = "icon-folder";
}
}
vm.contentPicker.show = false;
vm.contentPicker = null;
editorService.close();
},
close: function (oldModel) {
vm.contentPicker.show = false;
vm.contentPicker = null;
close: function () {
editorService.close();
}
};
editorService.treePicker(mediaPicker);
}
function openUserPicker() {
@@ -216,13 +211,11 @@
}
function openGranularPermissionsPicker() {
vm.contentPicker = {
var contentPicker = {
title: vm.labels.selectNode,
view: "treepicker",
section: "content",
treeAlias: "content",
hideSubmitButton: true,
show: true,
submit: function (model) {
if (model.selection) {
var node = model.selection[0];
@@ -234,11 +227,12 @@
setPermissionsForNode(node);
}
},
close: function (oldModel) {
vm.contentPicker.show = false;
vm.contentPicker = null;
close: function () {
editorService.close();
}
};
editorService.treePicker(contentPicker);
contentPickerOpen = true;
}
function setPermissionsForNode(node) {
@@ -249,9 +243,7 @@
}
vm.nodePermissions = {
view: "nodepermissions",
node: node,
show: true,
submit: function (model) {
if (model && model.node && model.node.permissions) {
@@ -271,20 +263,21 @@
}
}
// close node permisssions overlay
vm.nodePermissions.show = false;
vm.nodePermissions = null;
// close content picker overlay
if(vm.contentPicker) {
vm.contentPicker.show = false;
vm.contentPicker = null;
editorService.close();
if(contentPickerOpen) {
editorService.close();
contentPickerOpen = false;
}
},
close: function (oldModel) {
vm.nodePermissions.show = false;
vm.nodePermissions = null;
close: function () {
editorService.close();
}
};
editorService.nodePermissions(vm.nodePermissions);
}
function removeSelectedItem(index, selection) {

View File

@@ -218,20 +218,6 @@
position="right">
</umb-overlay>
<umb-overlay
ng-if="vm.contentPicker.show"
model="vm.contentPicker"
view="vm.contentPicker.view"
position="right">
</umb-overlay>
<umb-overlay
ng-if="vm.mediaPicker.show"
model="vm.mediaPicker"
view="vm.mediaPicker.view"
position="right">
</umb-overlay>
<umb-overlay
ng-if="vm.userPicker.show"
model="vm.userPicker"
@@ -239,11 +225,4 @@
position="right">
</umb-overlay>
<umb-overlay
ng-if="vm.nodePermissions.show"
model="vm.nodePermissions"
view="vm.nodePermissions.view"
position="right">
</umb-overlay>
</div>