[UI] Support UI partial control
[validation.git] / ui / src / main / webapp / app / BluvalUI / CommittedSubmissions / CommittedSubmissionsController.js
1 /*
2  * Copyright (c) 2019 AT&T Intellectual Property. All rights reserved.
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  *        http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16
17 var app = angular.module('CommittedSubmissions');
18
19 app.controller('CommittedSubmissionsController', function($scope, restAPISvc,
20         $interval, refreshPeriod, committedSubmissionsSvc, NgTableParams,
21         appContext, $window) {
22
23     $scope.getLayer = committedSubmissionsSvc.getLayer;
24     $scope.getResultUrl = committedSubmissionsSvc.getResultUrl;
25     $scope.mapResult = committedSubmissionsSvc.mapResult;
26
27     initialize();
28
29     function initialize() {
30         restAPISvc.getRestAPI("/api/v1/submission/", function(submissions) {
31             $scope.submissionDatas = submissions;
32             var data = submissions;
33             $scope.tableParams = new NgTableParams({
34                 page : 1,
35                 count : 5
36             }, {
37                 dataset : data
38             });
39         });
40     }
41
42     $scope.refreshCommittedSubmissions = function() {
43         initialize();
44     }
45
46     $scope.getValidationResults = function(submissionData) {
47         if (!submissionData.validationNexusTestResult.timestamp) {
48             return;
49         }
50         $window.location.href = appContext
51                 + "/validationresults#?submissionId="
52                 + submissionData.submissionId;
53     }
54
55     $interval(function() {
56         $scope.refreshCommittedSubmissions();
57     }, refreshPeriod);
58
59 });