1 | (function () {
|
---|
2 | var module = appStatisticsPlugin.getAngularModule();
|
---|
3 | module.controller('app.statistics.jobsCtrl',
|
---|
4 | ['$scope', '$interval', 'app.statistics.jobService', function ($scope, $interval, jobService) {
|
---|
5 | var first = true;
|
---|
6 | $scope.isAdministrator = false;
|
---|
7 | $scope.interval = defaultPageUpdateInterval;
|
---|
8 | $scope.completedJobCurPage = 1;
|
---|
9 | $scope.completedJobPageSize = 20;
|
---|
10 |
|
---|
11 | var getAllJobs = function() {
|
---|
12 | jobService.getAllJobs({ completed: false }, function(jobs) {
|
---|
13 | $scope.jobs = jobs;
|
---|
14 | var length = $scope.jobs.length;
|
---|
15 | for (var i = 0; i < length; ++i) {
|
---|
16 | $scope.jobs[i].DateCreated = CSharpDateToString($scope.jobs[i].DateCreated);
|
---|
17 | }
|
---|
18 | });
|
---|
19 | };
|
---|
20 |
|
---|
21 | var getCompletedJobs = function() {
|
---|
22 | jobService.getJobs({ page: $scope.completedJobCurPage, size: $scope.completedJobPageSize, completed: true },
|
---|
23 | function (jobPage) {
|
---|
24 | $scope.completedJobPage = jobPage;
|
---|
25 | var length = $scope.completedJobPage.Jobs.length;
|
---|
26 | for (var i = 0; i < length; ++i) {
|
---|
27 | $scope.completedJobPage.Jobs[i].DateCreated = CSharpDateToString($scope.completedJobPage.Jobs[i].DateCreated);
|
---|
28 | $scope.completedJobPage.Jobs[i].DateCompleted = CSharpDateToString($scope.completedJobPage.Jobs[i].DateCompleted);
|
---|
29 | }
|
---|
30 | }
|
---|
31 | );
|
---|
32 | };
|
---|
33 |
|
---|
34 | var getAllActiveJobsFromAllUsers = function () {
|
---|
35 | jobService.getAllActiveJobsFromAllUsers({}, function (jobs) {
|
---|
36 | $scope.isAdministrator = true;
|
---|
37 | $scope.allUsersJobs = jobs;
|
---|
38 | var length = $scope.allUsersJobs.length;
|
---|
39 | for (var i = 0; i < length; ++i) {
|
---|
40 | $scope.allUsersJobs[i].DateCreated = CSharpDateToString($scope.allUsersJobs[i].DateCreated);
|
---|
41 | }
|
---|
42 | });
|
---|
43 | };
|
---|
44 |
|
---|
45 | $scope.changeCompletedJobPage = function () {
|
---|
46 | update();
|
---|
47 | };
|
---|
48 |
|
---|
49 | var update = function () {
|
---|
50 | getAllJobs();
|
---|
51 | if (first || $scope.isAdministrator) {
|
---|
52 | getAllActiveJobsFromAllUsers();
|
---|
53 | }
|
---|
54 | getCompletedJobs();
|
---|
55 | };
|
---|
56 |
|
---|
57 |
|
---|
58 | $scope.updateInterval = $interval(update, $scope.interval);
|
---|
59 | var cancelInterval = $scope.$on('$locationChangeSuccess', function () {
|
---|
60 | $interval.cancel($scope.updateInterval);
|
---|
61 | cancelInterval();
|
---|
62 | });
|
---|
63 | update(); // init page
|
---|
64 | first = false;
|
---|
65 | }]
|
---|
66 | );
|
---|
67 | })(); |
---|