From f3d925b5096a158169d71f7eb9cb647443100d4b Mon Sep 17 00:00:00 2001 From: Mads Rasmussen Date: Mon, 22 May 2017 11:31:54 +0200 Subject: [PATCH] wire up getPaged getPagedResults for users --- .../src/less/components/users/umb-users.less | 64 +++++++++++-- .../users/views/users/users.controller.js | 58 ++++++++---- .../src/views/users/views/users/users.html | 94 ++++++++++--------- 3 files changed, 150 insertions(+), 66 deletions(-) diff --git a/src/Umbraco.Web.UI.Client/src/less/components/users/umb-users.less b/src/Umbraco.Web.UI.Client/src/less/components/users/umb-users.less index 9e0e2c65f0..0178cc6d67 100644 --- a/src/Umbraco.Web.UI.Client/src/less/components/users/umb-users.less +++ b/src/Umbraco.Web.UI.Client/src/less/components/users/umb-users.less @@ -6,25 +6,74 @@ } .umb-user { - flex: 1 1 200px; + padding: 10px; + box-sizing: border-box; + flex: 0 0 100%; + max-width: 100%; + display: flex; +} + +@media (min-width: 768px) { + .umb-user { + flex: 0 0 50%; + max-width: 50%; + } +} + +@media (min-width: 1200px) { + .umb-user { + flex: 0 0 33.33%; + max-width: 33.33%; + } +} + +@media (min-width: 1400px) { + .umb-user { + flex: 0 0 25%; + max-width: 25%; + } +} + +@media (min-width: 1700px) { + .umb-user { + flex: 0 0 20%; + max-width: 20%; + } +} + + +@media (min-width: 1900px) { + .umb-user { + flex: 0 0 16.66%; + max-width: 16.66%; + } +} + +@media (min-width: 2200px) { + .umb-user { + flex: 0 0 14.28%; + max-width: 14.28%; + } +} + +.umb-user__content { + position: relative; + padding: 15px; + flex: 1 1 auto; background-color: @gray-10; border: 1px solid @gray-9; border-radius: 3px; - padding: 15px; box-sizing: border-box; display: flex; flex-direction: column; - margin: 10px; cursor: pointer; - position: relative; - align-items: center; } -.umb-user--selected { +.umb-user__content--selected { border-color: @turquoise; } -.umb-user:hover { +.umb-user__content:hover { border-color: @turquoise; } @@ -63,4 +112,5 @@ .umb-user__last-login { font-size: 13px; text-align: center; + margin-top: auto; } \ No newline at end of file diff --git a/src/Umbraco.Web.UI.Client/src/views/users/views/users/users.controller.js b/src/Umbraco.Web.UI.Client/src/views/users/views/users/users.controller.js index d1dfb2792e..99f96b5ad4 100644 --- a/src/Umbraco.Web.UI.Client/src/views/users/views/users/users.controller.js +++ b/src/Umbraco.Web.UI.Client/src/views/users/views/users/users.controller.js @@ -10,6 +10,7 @@ vm.userStates = []; vm.selection = []; vm.newUser = {}; + vm.usersOptions = {}; vm.newUser.userGroups = []; vm.usersViewState = 'overview'; @@ -17,11 +18,6 @@ vm.allowEnableUser = true; vm.allowSetUserRole = true; - vm.usersPagination = { - "pageNumber": 1, - "totalPages": 5 - } - vm.layouts = [ { "icon": "icon-thumbnails-small", @@ -68,28 +64,21 @@ vm.removeSelectedUserGroup = removeSelectedUserGroup; vm.selectAll = selectAll; vm.areAllSelected = areAllSelected; + vm.searchUsers = searchUsers; + vm.setOrderByFilter = setOrderByFilter; function init() { - vm.loading = true; + vm.usersOptions.orderBy = "Name"; // Get users - usersResource.getUsers().then(function (users) { - vm.users = users; - vm.userStates = getUserStates(vm.users); - formatDates(vm.users); - }); + getUsers(); // Get user groups usersResource.getUserGroups().then(function (userGroups) { vm.userGroups = userGroups; }); - // fake loading - $timeout(function () { - vm.loading = false; - }, 500); - } function setUsersViewState(state) { @@ -199,7 +188,44 @@ } } + var search = _.debounce(function () { + $scope.$apply(function () { + getUsers(); + }); + }, 500); + + function searchUsers() { + search(); + } + + function setOrderByFilter(value) { + vm.usersOptions.orderBy = value; + getUsers(); + } + // helpers + function getUsers() { + + vm.loading = true; + + // Get users + usersResource.getPagedResults(vm.usersOptions).then(function (users) { + + vm.users = users.items; + + vm.usersOptions.pageNumber = users.pageNumber; + vm.usersOptions.pageSize = users.pageSize; + vm.usersOptions.totalItems = users.totalItems; + vm.usersOptions.totalPages = users.totalPages; + + vm.userStates = getUserStates(vm.users); + formatDates(vm.users); + + vm.loading = false; + + }); + } + function getUserStates(users) { var userStates = []; 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 ae4f917145..1f96b9ba68 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 @@ -26,21 +26,20 @@ - + @@ -98,7 +97,7 @@
- Users ({{vm.users.length}}) + Users ({{vm.usersOptions.totalItems}})
+ + + + + -
-
- - {{ user.state }} - -
- - -
-
- {{user.name}} -
- {{ group.name }}, -
-