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 @@