diff --git a/src/Umbraco.Web.UI.Client/src/common/directives/components/umbnodepreview.directive.js b/src/Umbraco.Web.UI.Client/src/common/directives/components/umbnodepreview.directive.js index 77f6f06a30..9966e94b70 100644 --- a/src/Umbraco.Web.UI.Client/src/common/directives/components/umbnodepreview.directive.js +++ b/src/Umbraco.Web.UI.Client/src/common/directives/components/umbnodepreview.directive.js @@ -103,6 +103,7 @@ icon: "=?", name: "=", description: "=?", + permissions: "=?", published: "=?", sortable: "=?", allowOpen: "=?", diff --git a/src/Umbraco.Web.UI.Client/src/common/directives/components/users/umbpermission.directive.js b/src/Umbraco.Web.UI.Client/src/common/directives/components/users/umbpermission.directive.js new file mode 100644 index 0000000000..bae87789ca --- /dev/null +++ b/src/Umbraco.Web.UI.Client/src/common/directives/components/users/umbpermission.directive.js @@ -0,0 +1,36 @@ +(function () { + 'use strict'; + + function PermissionDirective() { + + function link(scope, el, attr, ctrl) { + + scope.change = function() { + scope.selected = !scope.selected; + if(scope.onChange) { + scope.onChange({'selected': scope.selected}); + } + }; + + } + + var directive = { + restrict: 'E', + replace: true, + templateUrl: 'views/components/users/umb-permission.html', + scope: { + name: "=", + description: "=?", + selected: "=", + onChange: "&" + }, + link: link + }; + + return directive; + + } + + angular.module('umbraco.directives').directive('umbPermission', PermissionDirective); + +})(); \ No newline at end of file diff --git a/src/Umbraco.Web.UI.Client/src/less/belle.less b/src/Umbraco.Web.UI.Client/src/less/belle.less index 54d662f5d8..a7478f6c5e 100644 --- a/src/Umbraco.Web.UI.Client/src/less/belle.less +++ b/src/Umbraco.Web.UI.Client/src/less/belle.less @@ -123,7 +123,6 @@ @import "components/umb-badge.less"; @import "components/umb-nested-content.less"; @import "components/umb-checkmark.less"; -@import "components/umb-permission.less"; @import "components/buttons/umb-button.less"; @import "components/buttons/umb-button-group.less"; @@ -141,6 +140,9 @@ @import "components/users/umb-user-preview.less"; @import "components/users/umb-user-picker-list.less"; @import "components/users/umb-user.less"; +@import "components/users/umb-permission-group.less"; +@import "components/users/umb-permission.less"; + // Utilities @import "utilities/layout/_display.less"; diff --git a/src/Umbraco.Web.UI.Client/src/less/components/umb-permission.less b/src/Umbraco.Web.UI.Client/src/less/components/users/umb-permission.less similarity index 93% rename from src/Umbraco.Web.UI.Client/src/less/components/umb-permission.less rename to src/Umbraco.Web.UI.Client/src/less/components/users/umb-permission.less index 1aba704435..6e616c6baa 100644 --- a/src/Umbraco.Web.UI.Client/src/less/components/umb-permission.less +++ b/src/Umbraco.Web.UI.Client/src/less/components/users/umb-permission.less @@ -2,6 +2,7 @@ display: flex; border-bottom: 1px solid @gray-9; padding: 7px 0; + cursor: pointer; } .umb-permission:last-of-type { diff --git a/src/Umbraco.Web.UI.Client/src/views/common/overlays/nodepermissions/nodepermissions.controller.js b/src/Umbraco.Web.UI.Client/src/views/common/overlays/nodepermissions/nodepermissions.controller.js new file mode 100644 index 0000000000..ecadc4dea6 --- /dev/null +++ b/src/Umbraco.Web.UI.Client/src/views/common/overlays/nodepermissions/nodepermissions.controller.js @@ -0,0 +1,111 @@ +(function () { + "use strict"; + + function NodePermissionsController($scope) { + + var vm = this; + + function onInit() { + + // fake node permissions + $scope.model.node.permissions = [ + { + "groupName": "Group 1", + "permissions": [ + { + "name": "Edit content (save)", + "description": "Lorem ipsum dolor sit amet", + "checked": false + }, + { + "name": "Browse content", + "description": "Nullam egestas porta mi, quis finibus nisl commodo a", + "checked": true + }, + { + "name": "Publish", + "description": "Aliquam molestie consequat felis", + "checked": true + }, + { + "name": "Send to publish", + "description": "Sed pharetra sodales enim quis molestie", + "checked": true + }, + { + "name": "Delete", + "description": "Vitae porta mauris turpis sit amet ligula", + "checked": true + }, + { + "name": "Create", + "description": "Vestibulum pretium sapien id turpis elementum viverra", + "checked": true + }, + ] + }, + { + "groupName": "Group 2", + "permissions": [ + { + "name": "Move", + "description": "Vestibulum pretium sapien id turpis elementum viverra", + "checked": true + }, + { + "name": "Copy", + "description": "Phasellus sagittis, dolor vel accumsan porttitor", + "checked": false + }, + { + "name": "Sort", + "description": "Aliquam erat volutpat", + "checked": false + } + ] + }, + { + "groupName": "Group 3", + "permissions": [ + { + "name": "Culture and Hostnames", + "description": "Lorem ipsum dolor sit amet", + "checked": true + }, + { + "name": "Audit Trail", + "description": "Lorem ipsum dolor sit amet", + "checked": true + }, + { + "name": "Translate", + "description": "Lorem ipsum dolor sit amet", + "checked": true + }, + { + "name": "Change document type", + "description": "Lorem ipsum dolor sit amet", + "checked": true + }, + { + "name": "Public access", + "description": "Lorem ipsum dolor sit amet", + "checked": true + }, + { + "name": "Rollback", + "description": "Lorem ipsum dolor sit amet", + "checked": true + } + ] + } + ]; + } + + onInit(); + + } + + angular.module("umbraco").controller("Umbraco.Overlays.NodePermissionsController", NodePermissionsController); + +})(); diff --git a/src/Umbraco.Web.UI.Client/src/views/common/overlays/nodepermissions/nodepermissions.html b/src/Umbraco.Web.UI.Client/src/views/common/overlays/nodepermissions/nodepermissions.html new file mode 100644 index 0000000000..6043451269 --- /dev/null +++ b/src/Umbraco.Web.UI.Client/src/views/common/overlays/nodepermissions/nodepermissions.html @@ -0,0 +1,13 @@ +
Nam tellus purus, malesuada sed purus ut, semper sollicitudin odio.
+Nam tellus purus, malesuada sed purus ut, semper sollicitudin odio.
- -