diff --git a/src/Umbraco.Web.UI.Client/src/less/components/editor/subheader/umb-editor-sub-header.less b/src/Umbraco.Web.UI.Client/src/less/components/editor/subheader/umb-editor-sub-header.less index 515efdfa00..78cccac57a 100644 --- a/src/Umbraco.Web.UI.Client/src/less/components/editor/subheader/umb-editor-sub-header.less +++ b/src/Umbraco.Web.UI.Client/src/less/components/editor/subheader/umb-editor-sub-header.less @@ -28,6 +28,7 @@ padding-left: 10px; padding-right: 10px; background-color: @pinkLight; + border-color: @pinkLight; border-radius: 3px; } diff --git a/src/Umbraco.Web.UI.Client/src/less/components/umb-checkmark.less b/src/Umbraco.Web.UI.Client/src/less/components/umb-checkmark.less index 75ac13bdd0..021fc8cc9b 100644 --- a/src/Umbraco.Web.UI.Client/src/less/components/umb-checkmark.less +++ b/src/Umbraco.Web.UI.Client/src/less/components/umb-checkmark.less @@ -2,19 +2,21 @@ border: 2px solid @white; width: 25px; height: 25px; - background: @gray-7; - border-radius: 50%; + border: 1px solid @gray-7; + border-radius: 3px; box-sizing: border-box; display: flex; justify-content: center; align-items: center; - color: @white; + color: @gray-7; cursor: pointer; font-size: 15px; } .umb-checkmark--checked { - background: @green; + background: @ui-active; + border-color: @ui-active; + color: @white; } .umb-checkmark--xs { diff --git a/src/Umbraco.Web.UI.Client/src/less/components/umb-table.less b/src/Umbraco.Web.UI.Client/src/less/components/umb-table.less index 6674e01475..f387b6540b 100644 --- a/src/Umbraco.Web.UI.Client/src/less/components/umb-table.less +++ b/src/Umbraco.Web.UI.Client/src/less/components/umb-table.less @@ -136,9 +136,14 @@ input.umb-table__input { } .umb-table-body__link { + + color: @ui-option-type; + font-size: 14px; + font-weight: bold; text-decoration: none; - - &:hover { + + &:hover, &:focus { + color: @ui-option-type-hover; text-decoration: underline; } } @@ -259,6 +264,15 @@ input.umb-table__input { flex: 0 0 auto !important; } +.umb-table-cell--small { + flex: .5 .5 1%; + max-width: 12.5%; +} +.umb-table-cell--large { + flex: 1 1 25%; + max-width: 25%; +} + .umb-table-cell--faded { opacity: 0.4; } diff --git a/src/Umbraco.Web.UI.Client/src/less/components/users/umb-user-table.less b/src/Umbraco.Web.UI.Client/src/less/components/users/umb-user-table.less index bc85ae90a9..0c61a5d113 100644 --- a/src/Umbraco.Web.UI.Client/src/less/components/users/umb-user-table.less +++ b/src/Umbraco.Web.UI.Client/src/less/components/users/umb-user-table.less @@ -3,6 +3,10 @@ .umb-user-table-col-avatar { flex: 0 0 32px; padding: 15px 0; + + .umb-checkmark { + margin-left:5px; + } } .umb-table-cell a { @@ -14,15 +18,8 @@ } .umb-table-body .umb-table-cell.umb-table__name { - margin: 0; - padding: 0; a { display: flex; - padding: 6px 2px; - height: 42px; - span { - margin: auto 14px; - } } } .umb-table-cell.umb-table__name a { diff --git a/src/Umbraco.Web.UI.Client/src/views/users/views/groups/groups.controller.js b/src/Umbraco.Web.UI.Client/src/views/users/views/groups/groups.controller.js index 539a064060..ccc18ac4f0 100644 --- a/src/Umbraco.Web.UI.Client/src/views/users/views/groups/groups.controller.js +++ b/src/Umbraco.Web.UI.Client/src/views/users/views/groups/groups.controller.js @@ -1,15 +1,16 @@ (function () { "use strict"; - function UserGroupsController($scope, $timeout, $location, userService, userGroupsResource, formHelper, localizationService) { + function UserGroupsController($scope, $timeout, $location, userService, userGroupsResource, + formHelper, localizationService, listViewHelper) { var vm = this; vm.userGroups = []; vm.selection = []; + vm.clickUserGroupName = clickUserGroupName; vm.createUserGroup = createUserGroup; - vm.goToUserGroup = goToUserGroup; vm.clearSelection = clearSelection; vm.selectUserGroup = selectUserGroup; vm.deleteUserGroups = deleteUserGroups; @@ -27,7 +28,8 @@ // only allow editing and selection if user is member of the group or admin vm.userGroups = _.map(userGroups, function (ug) { - return { group: ug, hasAccess: user.userGroups.indexOf(ug.alias) !== -1 || user.userGroups.indexOf("admin") !== -1} + ug.hasAccess = user.userGroups.indexOf(ug.alias) !== -1 || user.userGroups.indexOf("admin") !== -1; + return ug; }); vm.loading = false; @@ -42,36 +44,48 @@ // go to create user group $location.path('users/users/group/-1').search("create", "true");; } - - function goToUserGroup(userGroup) { + + function goToUserGroup(userGroup, $event) { + // only allow editing if user is member of the group or admin - if (currentUser.userGroups.indexOf(userGroup.group.alias) === -1 && currentUser.userGroups.indexOf("admin") === -1) { + if (currentUser.userGroups.indexOf(userGroup.alias) === -1 && currentUser.userGroups.indexOf("admin") === -1) { return; } - $location.path('users/users/group/' + userGroup.group.id).search("create", null); + $location.path(getEditPath(userGroup)).search("create", null); + } + + function clickUserGroupName(item, $event) { + if(!($event.metaKey || $event.ctrlKey)) { + goToUserGroup(item, $event); + $event.preventDefault(); + } + $event.stopPropagation(); + }; + + function getEditPath(userGroup) { + + // only allow editing if user is member of the group or admin + if (currentUser.userGroups.indexOf(userGroup.alias) === -1 && currentUser.userGroups.indexOf("admin") === -1) { + return ""; + } + + return 'users/users/group/' + userGroup.id; } - function selectUserGroup(userGroup, selection, event) { - + function selectUserGroup(userGroup, $index, $event) { + // Only allow selection if user is member of the group or admin - if (currentUser.userGroups.indexOf(userGroup.group.alias) === -1 && currentUser.userGroups.indexOf("admin") === -1) { + if (currentUser.userGroups.indexOf(userGroup.alias) === -1 && currentUser.userGroups.indexOf("admin") === -1) { return; } // Disallow selection of the admin/translators group, the checkbox is not visible in the UI, but clicking(and thus selecting) is still possible. // Currently selection can only be used for deleting, and the Controller will also disallow deleting the admin group. - if (userGroup.group.alias === "admin" || userGroup.group.alias === "translator") + if (userGroup.alias === "admin" || userGroup.alias === "translator") return; - - if (userGroup.selected) { - var index = selection.indexOf(userGroup.group.id); - selection.splice(index, 1); - userGroup.selected = false; - } else { - userGroup.selected = true; - vm.selection.push(userGroup.group.id); - } - - if(event){ + + listViewHelper.selectHandler(userGroup, $index, vm.userGroups, vm.selection, $event); + + if(event) { event.stopPropagation(); } } diff --git a/src/Umbraco.Web.UI.Client/src/views/users/views/groups/groups.html b/src/Umbraco.Web.UI.Client/src/views/users/views/groups/groups.html index 863d9658ae..ba1d6bc9eb 100644 --- a/src/Umbraco.Web.UI.Client/src/views/users/views/groups/groups.html +++ b/src/Umbraco.Web.UI.Client/src/views/users/views/groups/groups.html @@ -70,38 +70,53 @@ - - - - - - - - - +
-
- - - -
Group
- - - - -
+
+
+
+
Name
+
Sections
+
Content start node
+
Media start node
+
+
+ +
+
+ +
+ + +
+
+ + +
+
+
+ {{ section.name }}, + All sections +
+
+
+ No start node selected + {{ group.contentStartNode.name }} +
+
+ No start node selected + {{ group.mediaStartNode.name }} +
+
+
+ diff --git a/src/Umbraco.Web.UI.Client/src/views/users/views/users/users.html b/src/Umbraco.Web.UI.Client/src/views/users/views/users/users.html index 965880d94f..24f504be63 100644 --- a/src/Umbraco.Web.UI.Client/src/views/users/views/users/users.html +++ b/src/Umbraco.Web.UI.Client/src/views/users/views/users/users.html @@ -218,12 +218,11 @@
-
+ -
Name
User group
Last login
@@ -235,15 +234,7 @@ ng-click="vm.selectUser(user, vm.selection, $event)" ng-class="{'-selected': user.selected, '-selectable': vm.isSelectable(user)}" class="umb-table-row umb-user-table-row"> -
-
- - -
-
-
+ -
{{ userGroup.name }},
+
{{ userGroup.name }},
{{ user.formattedLastLogin }}