Free cookie consent management tool by TermsFeed Policy Generator

source: branches/HiveStatistics/sources/HeuristicLab.Services.WebApp.Statistics/3.3/WebApp/jobs/jobsCtrl.js @ 12525

Last change on this file since 12525 was 12525, checked in by dglaser, 9 years ago

#2388:

HeuristicLab.Services.WebApp.Statistics-3.3:

  • added groups page
  • improved jobs, clients and users pages

HeuristicLab.Services.WebApp-3.3:

  • merged from trunk
File size: 2.9 KB
Line 
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})();
Note: See TracBrowser for help on using the repository browser.