summaryrefslogtreecommitdiffstats
path: root/testapi/opnfv_testapi/ui/app.js
diff options
context:
space:
mode:
Diffstat (limited to 'testapi/opnfv_testapi/ui/app.js')
-rw-r--r--testapi/opnfv_testapi/ui/app.js131
1 files changed, 112 insertions, 19 deletions
diff --git a/testapi/opnfv_testapi/ui/app.js b/testapi/opnfv_testapi/ui/app.js
index 3da12b1..3fb4bc7 100644
--- a/testapi/opnfv_testapi/ui/app.js
+++ b/testapi/opnfv_testapi/ui/app.js
@@ -19,7 +19,7 @@
angular
.module('testapiApp', [
'ui.router','ui.bootstrap', 'cgBusy',
- 'ngResource', 'angular-confirm'
+ 'ngResource', 'angular-confirm', 'angular-json-tree'
]);
angular
@@ -28,6 +28,57 @@
angular
.module('testapiApp')
+ .service("keepState", function(){
+ this.filter = {};
+ });
+
+ angular
+ .module('testapiApp')
+ .service('sortService', function(){
+
+ this.sortFunction = function(data, field, ascending){
+ if(ascending){
+ data.sort(function(a,b) {
+ if (a[field].toLowerCase() > b[field].toLowerCase()) {
+ return -1;
+ }
+ if (a[field].toLowerCase() < b[field].toLowerCase()) {
+ return 1;
+ }
+ return 0;
+ });
+ }else{
+ data.sort(function(a,b) {
+ if (a[field].toLowerCase() < b[field].toLowerCase()) {
+ return -1;
+ }
+ if (a[field].toLowerCase() > b[field].toLowerCase()) {
+ return 1;
+ }
+ return 0;
+ });
+ }
+ return data
+ }
+ });
+
+ angular
+ .module('testapiApp')
+ .service('dataFieldService', function(){
+ this.dataFunction = dataFunction
+ function dataFunction(data, data_field){
+ Object.keys(data).forEach(function (key) {
+ if (typeof data[key] === 'object' && data[key] != null) {
+ return dataFunction(data[key], data_field);
+ }
+ data_field[key] = key.replace(/_/g, " ").trim();
+ });
+ return data_field;
+ }
+ });
+
+ angular
+ .module('testapiApp')
.directive('dynamicModel', ['$compile', '$parse', function ($compile, $parse) {
return {
restrict: 'A',
@@ -42,6 +93,21 @@
};
}]);
+ angular
+ .module('testapiApp')
+ .directive('ngEnter', function () {
+ return function (scope, element, attrs) {
+ element.bind("keydown keypress", function (event) {
+ if(event.which === 13) {
+ scope.$apply(function (){
+ scope.$eval(attrs.ngEnter);
+ });
+ event.preventDefault();
+ }
+ });
+ };
+ });
+
configureRoutes.$inject = ['$stateProvider', '$urlRouterProvider'];
/**
@@ -79,6 +145,16 @@
templateUrl: 'testapi-ui/components/projects/project/project.html',
controller: 'ProjectController as ctrl'
}).
+ state('scenarios', {
+ url: '/scenarios',
+ templateUrl: 'testapi-ui/components/scenarios/scenarios.html',
+ controller: 'ScenariosController as ctrl'
+ }).
+ state('scenario', {
+ url: '/scenarios/:name',
+ templateUrl: 'testapi-ui/components/scenarios/scenario/scenario.html',
+ controller: 'ScenarioController as ctrl'
+ }).
state('testCase', {
url: '/projects/:project_name/:name',
templateUrl: 'testapi-ui/components/projects/project/testCases/testCase/testCase.html',
@@ -94,6 +170,16 @@
templateUrl: 'testapi-ui/components/results/result/result.html',
controller: 'ResultController as ctrl'
}).
+ state('deployresults', {
+ url: '/deployresults',
+ templateUrl: 'testapi-ui/components/deploy-results/deployResults.html',
+ controller: 'DeployResultsController as ctrl'
+ }).
+ state('deployresult', {
+ url: '/deployresults/:_id',
+ templateUrl: 'testapi-ui/components/deploy-results/deploy-result/deployResult.html',
+ controller: 'DeployResultController as ctrl'
+ }).
state('profile', {
url: '/profile',
templateUrl: 'testapi-ui/components/profile/profile.html',
@@ -144,6 +230,7 @@
function setup($http, $rootScope, $window, $state, testapiApiUrl, authenticate) {
$rootScope.auth = {};
+ $rootScope.authenticate = authenticate
$rootScope.auth.doSignIn = doSignIn;
$rootScope.auth.doSignOut = doSignOut;
$rootScope.auth.doSignCheck = doSignCheck;
@@ -160,10 +247,14 @@
/** This function will initate a sign out. */
function doSignOut() {
- $rootScope.auth.currentUser = null;
- $rootScope.auth.isAuthenticated = false;
- $rootScope.auth.projectNames = [];
- $window.location.href = sign_out_url;
+ if(authenticate){
+ $rootScope.auth.currentUser = null;
+ $rootScope.auth.isAuthenticated = false;
+ $rootScope.auth.projectNames = [];
+ $window.location.href = sign_out_url;
+ }else{
+ $state.go("home", {reload: true})
+ }
}
/**
@@ -171,21 +262,23 @@
* authenticated.
*/
function doSignCheck() {
- return $http.get(profile_url, {withCredentials: true}).
- success(function (data) {
- $rootScope.auth.currentUser = data;
- $rootScope.auth.isAuthenticated = true;
- if(authenticate){
+ if(authenticate){
+ return $http.get(profile_url, {withCredentials: true}).
+ success(function (data) {
+ $rootScope.auth.currentUser = data;
+ $rootScope.auth.isAuthenticated = true;
$rootScope.auth.projectNames = $rootScope.auth.doSubmitterCheck(data.groups);
- }else{
- $rootScope.auth.projectNames = ["anonymous"]
- }
- }).
- error(function () {
- $rootScope.auth.currentUser = null;
- $rootScope.auth.isAuthenticated = false;
- $rootScope.auth.projectNames = [];
- });
+ }).
+ error(function () {
+ $rootScope.auth.currentUser = null;
+ $rootScope.auth.isAuthenticated = false;
+ $rootScope.auth.projectNames = [];
+ });
+ }else{
+ $rootScope.auth.currentUser = null;
+ $rootScope.auth.isAuthenticated = true;
+ $rootScope.auth.projectNames = []
+ }
}
function doSubmitterCheck(groups){