diff options
Diffstat (limited to 'cvp/3rd_party/static/testapi-ui/components')
4 files changed, 97 insertions, 2 deletions
diff --git a/cvp/3rd_party/static/testapi-ui/components/results/results.html b/cvp/3rd_party/static/testapi-ui/components/results/results.html index e1d05b2d..cd38ad75 100644 --- a/cvp/3rd_party/static/testapi-ui/components/results/results.html +++ b/cvp/3rd_party/static/testapi-ui/components/results/results.html @@ -25,6 +25,7 @@ <th>Label</th> <th>Status</th> <th>Log</th> + <th>SUT</th> <th class="col-md-2">Operation</th> <th class="col-md-2">Share List</th> </tr> @@ -32,13 +33,14 @@ <tbody style="white-space: nowrap; overflow: hidden; text-overflow: ellipsis;"> <tr ng-repeat="(index, result) in ctrl.data.tests"> - <td>{{ result.upload_date }}</td> + <td>{{ result.upload_date | limitTo:19}}</td> <td><a ng-click="ctrl.gotoResultDetail(result.id, result._id)">{{ result.id }}</a></td> <td>{{ result.filename || "None"}}</td> <td><div class="popover-wrapper"><a editable-theme="bs3" onbeforesave="ctrl.toggleCheck(result, 'label', $data)" editable-text="result.label"> {{ result.label || "None" }}</a></div></td> <td>{{ result.status }}</td> <td><a ng-click="ctrl.downloadLogs(result.id)">logs</a></td> - <td> + <td><a ng-click="ctrl.gotoSUT(result.id)">info</a></td> + <td> <div class="btn-group" uib-dropdown> <a id="single-button" type="button" class="nectar-button medium accent-color regular-button" uib-dropdown-toggle> Operation<span class="caret"></span> diff --git a/cvp/3rd_party/static/testapi-ui/components/results/resultsController.js b/cvp/3rd_party/static/testapi-ui/components/results/resultsController.js index 2ece86fb..86f7c5d6 100644 --- a/cvp/3rd_party/static/testapi-ui/components/results/resultsController.js +++ b/cvp/3rd_party/static/testapi-ui/components/results/resultsController.js @@ -59,6 +59,7 @@ ctrl.associateProductVersion = associateProductVersion; ctrl.getProductVersions = getProductVersions; ctrl.prepVersionEdit = prepVersionEdit; + ctrl.gotoSUT = gotoSUT; ctrl.gotoResultDetail = gotoResultDetail; ctrl.toggleCheck = toggleCheck; ctrl.toReview = toReview; @@ -496,5 +497,9 @@ $state.go('resultsDetail', {'testID': testId, 'innerID': innerID}); } + function gotoSUT(testId) { + $state.go('sut', {'testID': testId}); + } + } })(); diff --git a/cvp/3rd_party/static/testapi-ui/components/sut/sut.html b/cvp/3rd_party/static/testapi-ui/components/sut/sut.html new file mode 100644 index 00000000..d9692b87 --- /dev/null +++ b/cvp/3rd_party/static/testapi-ui/components/sut/sut.html @@ -0,0 +1,40 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" + <meta http-equiv="Content-type" content="text/html; charset=utf-8" /> + +<link rel="stylesheet" href="testapi-ui/assets/css/combine.css" /> + +<h2>Endpoints</h2> +<div class="results-table" style="margin-top:30px;overflow:scroll"> + <table class="table table-striped table-hover"> + <thead> + <tr> + <th>Service Name</th> + <th>Service Type</th> + <th>URL</th> + <th>Enabled</th> + </tr> + </thead> + <tbody style="white-space: nowrap; overflow: hidden; text-overflow: ellipsis;"> + <tr ng-repeat="endpoint in ctrl.sutData.endpoint_info"> + <td>{{ endpoint['Service Name'] }}</td> + <td>{{ endpoint['Service Type'] }}</td> + <td>{{ endpoint['URL'] }}</td> + <td>{{ endpoint['Enabled'] }}</td> + </tr> + </tbody> + </table> +</div> + +<h2>Hosts</h2> +<div ng-repeat="(host, info) in ctrl.sutData.hardware_info"> + <div class="results-table" style="margin-top:30px;overflow:scroll"> + <table class="table table-striped table-hover"> + <tbody style="white-space: nowrap; overflow: hidden; text-overflow: ellipsis;"> + <tr ng-repeat="record in info"> + <td>{{ record[0] }}</td> + <td>{{ record[1] }}</td> + </tr> + </tbody> + </table> + </div> +</div> diff --git a/cvp/3rd_party/static/testapi-ui/components/sut/sutController.js b/cvp/3rd_party/static/testapi-ui/components/sut/sutController.js new file mode 100644 index 00000000..3d662ffa --- /dev/null +++ b/cvp/3rd_party/static/testapi-ui/components/sut/sutController.js @@ -0,0 +1,48 @@ +/* + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +(function () { + 'use strict'; + + angular + .module('testapiApp') + .controller('SutController', SutController); + + SutController.$inject = [ + '$http', '$stateParams', 'testapiApiUrl' + ]; + + /** + */ + function SutController($http, $stateParams, testapiApiUrl) { + + var ctrl = this; + + function init(){ + ctrl.sutData = {"hardware_info": {}, "endpoint_info": {}}; + ctrl.testID = $stateParams.testID; + ctrl.getSutData(); + } + + ctrl.getSutData = function(){ + $http.get(testapiApiUrl + "/suts/hardware/" + ctrl.testID).then(function(resp){ + ctrl.sutData = resp.data; + }, function(error){ + alert('Error when get SUT data'); + }); + } + + init(); + } +})(); |