2016-02-11 22:34:20 -03:00
|
|
|
(function () {
|
|
|
|
|
'use strict';
|
2015-07-21 00:35:58 -04:00
|
|
|
|
2016-02-11 22:34:20 -03:00
|
|
|
angular
|
|
|
|
|
.module('users.admin')
|
|
|
|
|
.controller('UserListController', UserListController);
|
|
|
|
|
|
2017-10-14 23:15:53 +08:00
|
|
|
UserListController.$inject = ['$scope', '$filter', 'AdminService', 'DebugConsoleService', 'MeanTorrentConfig', '$timeout'];
|
2016-02-11 22:34:20 -03:00
|
|
|
|
2017-10-14 23:15:53 +08:00
|
|
|
function UserListController($scope, $filter, AdminService, mtDebug, MeanTorrentConfig, $timeout) {
|
2016-02-11 22:34:20 -03:00
|
|
|
var vm = this;
|
2017-10-14 23:15:53 +08:00
|
|
|
vm.itemsPerPageConfig = MeanTorrentConfig.meanTorrentConfig.itemsPerPage;
|
|
|
|
|
|
2016-02-11 22:34:20 -03:00
|
|
|
vm.buildPager = buildPager;
|
|
|
|
|
vm.figureOutItemsToDisplay = figureOutItemsToDisplay;
|
|
|
|
|
vm.pageChanged = pageChanged;
|
2017-09-19 13:35:00 +08:00
|
|
|
vm.searchVip = false;
|
|
|
|
|
vm.searchAdmin = false;
|
|
|
|
|
vm.searchOper = false;
|
2017-12-03 16:47:57 +08:00
|
|
|
vm.userStatus = 'all';
|
2017-12-08 15:32:46 +08:00
|
|
|
|
2017-06-21 10:31:30 +08:00
|
|
|
/**
|
|
|
|
|
* buildPager
|
|
|
|
|
*/
|
2016-02-11 22:34:20 -03:00
|
|
|
function buildPager() {
|
|
|
|
|
vm.pagedItems = [];
|
2017-10-14 23:15:53 +08:00
|
|
|
vm.itemsPerPage = vm.itemsPerPageConfig.adminUserListPerPage;
|
2016-02-11 22:34:20 -03:00
|
|
|
vm.currentPage = 1;
|
|
|
|
|
vm.figureOutItemsToDisplay();
|
|
|
|
|
}
|
2015-07-21 00:35:58 -04:00
|
|
|
|
2017-06-21 10:31:30 +08:00
|
|
|
/**
|
|
|
|
|
* figureOutItemsToDisplay
|
2017-10-14 23:15:53 +08:00
|
|
|
* @param callback
|
2017-06-21 10:31:30 +08:00
|
|
|
*/
|
2017-10-14 23:15:53 +08:00
|
|
|
function figureOutItemsToDisplay(callback) {
|
|
|
|
|
vm.getUsers(vm.currentPage, function (items) {
|
|
|
|
|
vm.filterLength = items.total;
|
|
|
|
|
vm.pagedItems = items.rows;
|
|
|
|
|
|
|
|
|
|
if (callback) callback();
|
2015-07-25 16:53:11 -04:00
|
|
|
});
|
2016-02-11 22:34:20 -03:00
|
|
|
}
|
2015-07-21 00:35:58 -04:00
|
|
|
|
2017-10-14 23:15:53 +08:00
|
|
|
/**
|
|
|
|
|
* getUsers
|
|
|
|
|
* @param p
|
|
|
|
|
* @param callback
|
|
|
|
|
*/
|
|
|
|
|
vm.getUsers = function (p, callback) {
|
|
|
|
|
AdminService.get({
|
|
|
|
|
skip: (p - 1) * vm.itemsPerPage,
|
|
|
|
|
limit: vm.itemsPerPage,
|
|
|
|
|
isVip: vm.searchVip || undefined,
|
|
|
|
|
isOper: vm.searchOper || undefined,
|
|
|
|
|
isAdmin: vm.searchAdmin || undefined,
|
2017-11-06 15:47:38 +08:00
|
|
|
keys: vm.search,
|
2017-12-03 16:47:57 +08:00
|
|
|
status: vm.userStatus ? vm.userStatus : 'all'
|
2017-10-14 23:15:53 +08:00
|
|
|
}, function (data) {
|
|
|
|
|
mtDebug.info(data);
|
|
|
|
|
callback(data);
|
|
|
|
|
});
|
|
|
|
|
};
|
|
|
|
|
|
2017-06-21 10:31:30 +08:00
|
|
|
/**
|
|
|
|
|
* pageChanged
|
|
|
|
|
*/
|
2016-02-11 22:34:20 -03:00
|
|
|
function pageChanged() {
|
2017-10-14 23:15:53 +08:00
|
|
|
var element = angular.element('#top_of_users_list');
|
|
|
|
|
|
|
|
|
|
vm.figureOutItemsToDisplay(function () {
|
|
|
|
|
$timeout(function () {
|
2017-10-15 02:02:53 +08:00
|
|
|
$('html,body').animate({scrollTop: element[0].offsetTop - 60}, 200);
|
2017-10-14 23:15:53 +08:00
|
|
|
}, 10);
|
|
|
|
|
});
|
2016-02-11 22:34:20 -03:00
|
|
|
}
|
2017-06-21 10:31:30 +08:00
|
|
|
|
2015-07-25 16:53:11 -04:00
|
|
|
}
|
2015-12-10 20:31:51 +01:00
|
|
|
}());
|