Fix JavaScript lint errors
This commit fixes the errors raised by eslint using openstack configurations. Change-Id: I3aa0c91e77f40c6383ac73850f5b93ebae9af323 Co-Authored-By: Caio Carrara <ccarrara@thoughtworks.com>
This commit is contained in:
parent
7c58be1a32
commit
1e7615fd52
|
@ -3,4 +3,5 @@ build
|
||||||
node_modules
|
node_modules
|
||||||
coverage
|
coverage
|
||||||
doc
|
doc
|
||||||
app/vendor-js
|
app/vendor-js
|
||||||
|
gulp
|
||||||
|
|
|
@ -9,3 +9,6 @@ globals:
|
||||||
env:
|
env:
|
||||||
browser: true
|
browser: true
|
||||||
jasmine: true
|
jasmine: true
|
||||||
|
|
||||||
|
rules:
|
||||||
|
module-setter: 0
|
||||||
|
|
|
@ -1,3 +1,7 @@
|
||||||
# Enable eslint-plugin-angular
|
# Enable eslint-plugin-angular
|
||||||
plugins:
|
plugins:
|
||||||
- angular
|
- angular
|
||||||
|
|
||||||
|
rules:
|
||||||
|
angular/module-setter: 0
|
||||||
|
angular/module-getter: 0
|
||||||
|
|
|
@ -11,7 +11,7 @@
|
||||||
<link rel="stylesheet" href="css/main.css">
|
<link rel="stylesheet" href="css/main.css">
|
||||||
</head>
|
</head>
|
||||||
|
|
||||||
<body class="ng-cloak" ng-controller="MainCtrl">
|
<body class="ng-cloak" ng-controller="MainController">
|
||||||
<header class="navbar navbar-default navbar-fixed-top navbar-inner">
|
<header class="navbar navbar-default navbar-fixed-top navbar-inner">
|
||||||
<div class="container">
|
<div class="container">
|
||||||
<div class="navbar-header">
|
<div class="navbar-header">
|
||||||
|
|
|
@ -5,7 +5,7 @@ var controllersModule = require('./_index');
|
||||||
/**
|
/**
|
||||||
* @ngInject
|
* @ngInject
|
||||||
*/
|
*/
|
||||||
function HomeCtrl(healthService) {
|
function HomeController(healthService) {
|
||||||
|
|
||||||
// ViewModel
|
// ViewModel
|
||||||
var vm = this;
|
var vm = this;
|
||||||
|
@ -15,55 +15,61 @@ function HomeCtrl(healthService) {
|
||||||
var passEntries = [];
|
var passEntries = [];
|
||||||
var failEntries = [];
|
var failEntries = [];
|
||||||
var failRateEntries = [];
|
var failRateEntries = [];
|
||||||
|
var sumProjectMetrics = function(project) {
|
||||||
for (var dateString in data.runs) {
|
var sumProject = projects[projectName];
|
||||||
var date = dateString;
|
if (typeof sumProject === "undefined") {
|
||||||
var totalPass = 0;
|
// create initial data containers for each gauge chart on-the-fly
|
||||||
var totalFail = 0;
|
sumProject = {
|
||||||
|
name: projectName,
|
||||||
var reqProjects = data.runs[date];
|
data: [
|
||||||
for (var projectName in reqProjects) {
|
{ key: 'Passes', value: 0, color: 'blue' },
|
||||||
reqProjects[projectName].forEach(function(project) {
|
{ key: 'Failures', value: 0, color: 'red' }
|
||||||
var sumProject = projects[projectName];
|
]
|
||||||
if (typeof sumProject === "undefined") {
|
};
|
||||||
// create initial data containers for each gauge chart on-the-fly
|
projects[projectName] = sumProject;
|
||||||
sumProject = {
|
|
||||||
name: projectName,
|
|
||||||
data: [
|
|
||||||
{ key: 'Passes', value: 0, color: 'blue' },
|
|
||||||
{ key: 'Failures', value: 0, color: 'red' }
|
|
||||||
]
|
|
||||||
};
|
|
||||||
projects[projectName] = sumProject;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (project.fail > 0) {
|
|
||||||
totalFail += 1;
|
|
||||||
sumProject.data[1].value += 1;
|
|
||||||
} else {
|
|
||||||
totalPass += 1;
|
|
||||||
sumProject.data[0].value += 1;
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// parse dates and create data series' for the main chart
|
if (project.fail > 0) {
|
||||||
var time = new Date(date).getTime();
|
totalFail += 1;
|
||||||
|
sumProject.data[1].value += 1;
|
||||||
|
} else {
|
||||||
|
totalPass += 1;
|
||||||
|
sumProject.data[0].value += 1;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
passEntries.push({
|
for (var dateString in data.runs) {
|
||||||
x: time,
|
if (data.runs.hasOwnProperty(dateString)) {
|
||||||
y: totalPass
|
var date = dateString;
|
||||||
});
|
var totalPass = 0;
|
||||||
|
var totalFail = 0;
|
||||||
|
|
||||||
failEntries.push({
|
var reqProjects = data.runs[date];
|
||||||
x: time,
|
var projectName = '';
|
||||||
y: totalFail
|
for (projectName in reqProjects) {
|
||||||
});
|
if (reqProjects.hasOwnProperty(projectName)) {
|
||||||
|
reqProjects[projectName].forEach(sumProjectMetrics);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
failRateEntries.push({
|
// parse dates and create data series' for the main chart
|
||||||
x: new Date(date).getTime(),
|
var time = new Date(date).getTime();
|
||||||
y: (totalFail / (totalFail + totalPass)) * 100
|
|
||||||
});
|
passEntries.push({
|
||||||
|
x: time,
|
||||||
|
y: totalPass
|
||||||
|
});
|
||||||
|
|
||||||
|
failEntries.push({
|
||||||
|
x: time,
|
||||||
|
y: totalFail
|
||||||
|
});
|
||||||
|
|
||||||
|
failRateEntries.push({
|
||||||
|
x: new Date(date).getTime(),
|
||||||
|
y: (totalFail / (totalFail + totalPass)) * 100
|
||||||
|
});
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
vm.chartData = [
|
vm.chartData = [
|
||||||
|
@ -75,7 +81,6 @@ function HomeCtrl(healthService) {
|
||||||
{ key: '% Failures', values: failRateEntries }
|
{ key: '% Failures', values: failRateEntries }
|
||||||
];
|
];
|
||||||
|
|
||||||
|
|
||||||
vm.projects = Object.keys(projects).map(function(name) {
|
vm.projects = Object.keys(projects).map(function(name) {
|
||||||
return projects[name];
|
return projects[name];
|
||||||
});
|
});
|
||||||
|
@ -87,7 +92,7 @@ function HomeCtrl(healthService) {
|
||||||
|
|
||||||
healthService.getRunsGroupedByMetadataPerDatetime('project', {
|
healthService.getRunsGroupedByMetadataPerDatetime('project', {
|
||||||
start_date: start,
|
start_date: start,
|
||||||
datetime_resolution: 'hour',
|
datetime_resolution: 'hour'
|
||||||
}).then(function(response) {
|
}).then(function(response) {
|
||||||
vm.processData(response.data);
|
vm.processData(response.data);
|
||||||
});
|
});
|
||||||
|
@ -95,4 +100,4 @@ function HomeCtrl(healthService) {
|
||||||
|
|
||||||
vm.loadData();
|
vm.loadData();
|
||||||
}
|
}
|
||||||
controllersModule.controller('HomeCtrl', HomeCtrl);
|
controllersModule.controller('HomeController', HomeController);
|
||||||
|
|
|
@ -5,10 +5,10 @@ var controllersModule = require('./_index');
|
||||||
/**
|
/**
|
||||||
* @ngInject
|
* @ngInject
|
||||||
*/
|
*/
|
||||||
function MainCtrl($window, $scope) {
|
function MainController($window, $scope) {
|
||||||
$window.addEventListener('resize', function () {
|
$window.addEventListener('resize', function () {
|
||||||
$scope.$broadcast('windowResize');
|
$scope.$broadcast('windowResize');
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
controllersModule.controller('MainCtrl', MainCtrl);
|
controllersModule.controller('MainController', MainController);
|
||||||
|
|
|
@ -5,7 +5,7 @@ var controllersModule = require('./_index');
|
||||||
/**
|
/**
|
||||||
* @ngInject
|
* @ngInject
|
||||||
*/
|
*/
|
||||||
function ProjectCtrl($http, healthService, projectName) {
|
function ProjectController($http, healthService, projectName) {
|
||||||
|
|
||||||
// ViewModel
|
// ViewModel
|
||||||
var vm = this;
|
var vm = this;
|
||||||
|
@ -32,13 +32,13 @@ function ProjectCtrl($http, healthService, projectName) {
|
||||||
|
|
||||||
timedelta.job_data.forEach(function(job) {
|
timedelta.job_data.forEach(function(job) {
|
||||||
if (!jobs[job.job_name]) {
|
if (!jobs[job.job_name]) {
|
||||||
var job_metrics = {
|
var jobMetrics = {
|
||||||
name: job.job_name,
|
name: job.job_name,
|
||||||
passes: 0,
|
passes: 0,
|
||||||
failures: 0,
|
failures: 0,
|
||||||
failures_rate: 0
|
failures_rate: 0
|
||||||
};
|
};
|
||||||
jobs[job.job_name] = job_metrics;
|
jobs[job.job_name] = jobMetrics;
|
||||||
}
|
}
|
||||||
|
|
||||||
totalPass += job.pass;
|
totalPass += job.pass;
|
||||||
|
@ -79,7 +79,7 @@ function ProjectCtrl($http, healthService, projectName) {
|
||||||
];
|
];
|
||||||
|
|
||||||
vm.jobs = jobs;
|
vm.jobs = jobs;
|
||||||
}
|
};
|
||||||
|
|
||||||
vm.loadData = function() {
|
vm.loadData = function() {
|
||||||
var start = new Date();
|
var start = new Date();
|
||||||
|
@ -87,14 +87,13 @@ function ProjectCtrl($http, healthService, projectName) {
|
||||||
|
|
||||||
healthService.getRunsFromProject(vm.name, {
|
healthService.getRunsFromProject(vm.name, {
|
||||||
start_date: start,
|
start_date: start,
|
||||||
datetime_resolution: 'hour',
|
datetime_resolution: 'hour'
|
||||||
}).then(function(response) {
|
}).then(function(response) {
|
||||||
vm.processData(response.data);
|
vm.processData(response.data);
|
||||||
});
|
});
|
||||||
}
|
};
|
||||||
|
|
||||||
vm.loadData();
|
vm.loadData();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
controllersModule.controller('ProjectController', ProjectController);
|
||||||
controllersModule.controller('ProjectCtrl', ProjectCtrl);
|
|
||||||
|
|
|
@ -30,7 +30,7 @@ function chartLine() {
|
||||||
chart.xAxis.tickFormat(function(d) { return d3.time.format("%x")(new Date(d)); });
|
chart.xAxis.tickFormat(function(d) { return d3.time.format("%x")(new Date(d)); });
|
||||||
|
|
||||||
if (attrs.forcey) {
|
if (attrs.forcey) {
|
||||||
chart.forceY(JSON.parse(attrs.forcey));
|
chart.forceY(angular.fromJson(attrs.forcey));
|
||||||
}
|
}
|
||||||
|
|
||||||
svg.datum(data).call(chart);
|
svg.datum(data).call(chart);
|
||||||
|
|
|
@ -11,28 +11,32 @@ require('./controllers/_index');
|
||||||
require('./services/_index');
|
require('./services/_index');
|
||||||
require('./directives/_index');
|
require('./directives/_index');
|
||||||
|
|
||||||
|
var $injector = angular.injector(['ng']);
|
||||||
|
|
||||||
// create and bootstrap application
|
// create and bootstrap application
|
||||||
angular.element(document).ready(function() {
|
angular.element(document).ready(function() {
|
||||||
|
$injector.invoke(function($window) {
|
||||||
|
var requires = [
|
||||||
|
'ui.router',
|
||||||
|
'ui.bootstrap',
|
||||||
|
'picardy.fontawesome',
|
||||||
|
'templates',
|
||||||
|
'app.controllers',
|
||||||
|
'app.services',
|
||||||
|
'app.directives'
|
||||||
|
];
|
||||||
|
|
||||||
var requires = [
|
// mount on window for testing
|
||||||
'ui.router',
|
$window.app = angular.module('app', requires);
|
||||||
'ui.bootstrap',
|
|
||||||
'picardy.fontawesome',
|
|
||||||
'templates',
|
|
||||||
'app.controllers',
|
|
||||||
'app.services',
|
|
||||||
'app.directives'
|
|
||||||
];
|
|
||||||
|
|
||||||
// mount on window for testing
|
angular.module('app').constant('AppSettings', require('./constants'));
|
||||||
window.app = angular.module('app', requires);
|
|
||||||
|
|
||||||
angular.module('app').constant('AppSettings', require('./constants'));
|
var onConfig = require('./on_config');
|
||||||
|
angular.module('app').config(onConfig);
|
||||||
|
|
||||||
angular.module('app').config(require('./on_config'));
|
var onRun = require('./on_run');
|
||||||
|
angular.module('app').run(onRun);
|
||||||
angular.module('app').run(require('./on_run'));
|
|
||||||
|
|
||||||
angular.bootstrap(document, ['app']);
|
|
||||||
|
|
||||||
|
angular.bootstrap(document, ['app']);
|
||||||
|
});
|
||||||
});
|
});
|
||||||
|
|
|
@ -8,18 +8,18 @@ function OnConfig($stateProvider, $locationProvider, $urlRouterProvider) {
|
||||||
$stateProvider
|
$stateProvider
|
||||||
.state('home', {
|
.state('home', {
|
||||||
url: '/',
|
url: '/',
|
||||||
controller: 'HomeCtrl as home',
|
controller: 'HomeController as home',
|
||||||
templateUrl: 'home.html',
|
templateUrl: 'home.html',
|
||||||
title: 'Home'
|
title: 'Home'
|
||||||
})
|
})
|
||||||
.state('project', {
|
.state('project', {
|
||||||
url: '/project/*projectName',
|
url: '/project/*projectName',
|
||||||
controller: 'ProjectCtrl as project',
|
controller: 'ProjectController as project',
|
||||||
templateUrl: 'project.html',
|
templateUrl: 'project.html',
|
||||||
title: 'Project',
|
title: 'Project',
|
||||||
resolve: {
|
resolve: {
|
||||||
"projectName": function($stateParams) {
|
"projectName": function($stateParams) {
|
||||||
return $stateParams.projectName;
|
return $stateParams.projectName;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
Loading…
Reference in New Issue