feat(home): Check the un-reviewed new torrents and opened tickets status and show in top menu item

This commit is contained in:
OldHawk
2018-06-10 17:43:55 +08:00
parent 9dc8794931
commit c785b0dd48
18 changed files with 233 additions and 26 deletions

View File

@@ -7,11 +7,11 @@
HeaderController.$inject = ['$scope', '$rootScope', '$state', '$timeout', '$translate', 'Authentication', 'menuService', 'MeanTorrentConfig', 'localStorageService',
'ScoreLevelService', 'InvitationsService', '$interval', 'MessagesService', 'marked', 'UsersService', 'DebugConsoleService', 'getStorageLangService',
'AdminMessagesService'];
'AdminMessagesService', 'TorrentsService', 'MailTicketsService'];
function HeaderController($scope, $rootScope, $state, $timeout, $translate, Authentication, menuService, MeanTorrentConfig, localStorageService, ScoreLevelService,
InvitationsService, $interval, MessagesService, marked, UsersService, mtDebug, getStorageLangService,
AdminMessagesService) {
function HeaderController($scope, $rootScope, $state, $timeout, $translate, Authentication, menuService, MeanTorrentConfig, localStorageService,
ScoreLevelService, InvitationsService, $interval, MessagesService, marked, UsersService, mtDebug, getStorageLangService,
AdminMessagesService, TorrentsService, MailTicketsService) {
$scope.$state = $state;
var vm = this;
vm.user = Authentication.user;
@@ -21,6 +21,8 @@
vm.messageConfig = MeanTorrentConfig.meanTorrentConfig.messages;
vm.hnrConfig = MeanTorrentConfig.meanTorrentConfig.hitAndRun;
vm.supportConfig = MeanTorrentConfig.meanTorrentConfig.support;
vm.torrentStatusConfig = MeanTorrentConfig.meanTorrentConfig.torrentStatus;
vm.supportConfig = MeanTorrentConfig.meanTorrentConfig.support;
vm.appConfig = MeanTorrentConfig.meanTorrentConfig.app;
vm.signConfig = MeanTorrentConfig.meanTorrentConfig.sign;
vm.accountMenu = menuService.getMenu('account').items[0];
@@ -35,6 +37,9 @@
vm.menu = menuService.getMenu('topbar');
vm.scoreLevelData = vm.user ? ScoreLevelService.getScoreLevelJson(vm.user.score) : undefined;
vm.newTorrentCount = 0;
vm.ticketsCount = 0;
$scope.$on('$stateChangeSuccess', stateChangeSuccess);
/**
@@ -229,6 +234,81 @@
}
};
/**
* checkNewTorrents
*/
vm.checkNewTorrents = function () {
vm.getNewTorrentsCount();
$interval(vm.getNewTorrentsCount, vm.torrentStatusConfig.checkNewTorrentsInterval);
};
vm.getNewTorrentsCount = function () {
if (Authentication.user) {
TorrentsService.countNewTorrents(function (data) {
vm.newTorrentCount = data.newCount;
var ele = $('.header-dot-class-admin');
if (ele) {
if (vm.newTorrentCount <= 0 && vm.ticketsCount <= 0) {
ele.css('display', 'none');
} else {
ele.css('display', 'block');
if (vm.newTorrentCount > 0) {
ele.addClass('new-torrent');
}
}
}
var badgeEle = $('.badge-class-admin-torrents');
if (badgeEle) {
if (vm.newTorrentCount > 0) {
badgeEle.css('display', 'block');
badgeEle.addClass('badge_info');
badgeEle.html(vm.newTorrentCount);
}
}
});
}
};
/**
* checkTicketsOpened
*/
vm.checkTicketsOpened = function () {
vm.getTicketsOpenedCount();
$interval(vm.getTicketsOpenedCount, vm.supportConfig.checkOpenedTicketsInterval);
};
vm.getTicketsOpenedCount = function () {
if (Authentication.user) {
MailTicketsService.getOpenedAllCount(function (data) {
vm.ticketsCount = data.ticketsOpenedCount;
console.log(data);
var ele = $('.header-dot-class-admin');
if (ele) {
if (vm.newTorrentCount <= 0 && vm.ticketsCount <= 0) {
ele.css('display', 'none');
} else {
ele.css('display', 'block');
if (vm.ticketsCount > 0) {
ele.addClass('opened-tickets');
}
}
}
var badgeEle = $('.badge-class-admin-tickets');
if (badgeEle) {
if (vm.ticketsCount > 0) {
badgeEle.css('display', 'block');
badgeEle.addClass('badge_danger');
badgeEle.html(vm.ticketsCount);
}
}
});
}
};
/**
* getMustReadMessageContentMarked
* @param m