Fixes up all of the user sorting to work properly
This commit is contained in:
@@ -12,6 +12,13 @@
|
||||
vm.selection = [];
|
||||
vm.newUser = {};
|
||||
vm.usersOptions = {};
|
||||
vm.userSortData = [
|
||||
{ label: "Name (A-Z)", key: "Name", direction: "Ascending" },
|
||||
{ label: "Name (Z-A)", key: "Name", direction: "Descending" },
|
||||
{ label: "Newest", key: "CreateDate", direction: "Descending" },
|
||||
{ label: "Oldest", key: "CreateDate", direction: "Ascending" },
|
||||
{ label: "Last login", key: "LastLoginDate", direction: "Descending" }
|
||||
];
|
||||
vm.newUser.userGroups = [];
|
||||
vm.usersViewState = 'overview';
|
||||
|
||||
@@ -74,10 +81,12 @@
|
||||
vm.changePageNumber = changePageNumber;
|
||||
vm.createUser = createUser;
|
||||
vm.inviteUser = inviteUser;
|
||||
vm.getSortLabel = getSortLabel;
|
||||
|
||||
function init() {
|
||||
|
||||
vm.usersOptions.orderBy = "Name";
|
||||
vm.usersOptions.orderDirection = "Ascending";
|
||||
|
||||
// Get users
|
||||
getUsers();
|
||||
@@ -89,6 +98,14 @@
|
||||
|
||||
}
|
||||
|
||||
function getSortLabel(sortKey, sortDirection) {
|
||||
var found = _.find(vm.userSortData,
|
||||
function (i) {
|
||||
return i.key === sortKey && i.direction === sortDirection;
|
||||
});
|
||||
return found ? found.label : sortKey;
|
||||
}
|
||||
|
||||
function setUsersViewState(state) {
|
||||
vm.usersViewState = state;
|
||||
}
|
||||
@@ -288,8 +305,9 @@
|
||||
return name;
|
||||
}
|
||||
|
||||
function setOrderByFilter(value) {
|
||||
function setOrderByFilter(value, direction) {
|
||||
vm.usersOptions.orderBy = value;
|
||||
vm.usersOptions.orderDirection = direction;
|
||||
getUsers();
|
||||
}
|
||||
|
||||
|
||||
@@ -138,15 +138,13 @@
|
||||
<div class="dropdown pull-right">
|
||||
<a class="btn btn-link dropdown-toggle flex" href="" data-toggle="dropdown">
|
||||
<span>Order by:</span>
|
||||
<span class="bold" style="margin-left: 2px;">{{ vm.usersOptions.orderBy }} </span>
|
||||
<span class="bold" style="margin-left: 2px;">{{ vm.getSortLabel(vm.usersOptions.orderBy, vm.usersOptions.orderDirection) }} </span>
|
||||
<span class="caret"></span>
|
||||
</a>
|
||||
<ul class="dropdown-menu" role="menu" aria-labelledby="dropdownMenu">
|
||||
<li><a tabindex="-1" href="#" ng-click="vm.setOrderByFilter('NameAsc')" prevent-default>Name (A-Z)</a></li>
|
||||
<li><a tabindex="-1" href="#" ng-click="vm.setOrderByFilter('NameDesc')" prevent-default>Name (Z-A)</a></li>
|
||||
<li><a tabindex="-1" href="#" ng-click="vm.setOrderByFilter('Newest')" prevent-default>Newest</a></li>
|
||||
<li><a tabindex="-1" href="#" ng-click="vm.setOrderByFilter('Oldest')" prevent-default>Oldest</a></li>
|
||||
<li><a tabindex="-1" href="#" ng-click="vm.setOrderByFilter('lastLoginDate')" prevent-default>Last login</a></li>
|
||||
<li ng-repeat="sortData in vm.userSortData">
|
||||
<a tabindex="-1" href="#" ng-click="vm.setOrderByFilter(sortData.key, sortData.direction)" prevent-default>{{sortData.label}}</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
|
||||
Reference in New Issue
Block a user