diff --git a/app/js/controllers/home.js b/app/js/controllers/home.js index 7400dbe9..f1a9454f 100644 --- a/app/js/controllers/home.js +++ b/app/js/controllers/home.js @@ -32,8 +32,8 @@ function HomeController( vm.hold -= 1; }; - var processData = function(data) { - var projects = projectService.createProjects(data.runs); + var processData = function(data, projectRe) { + var projects = projectService.createProjects(data.runs, projectRe); var blanks = projectService.findBlanks(data.runs); var dateStats = projectService.getStatsByDate(projects); var entries = getChartEntries(dateStats, blanks); @@ -115,11 +115,12 @@ function HomeController( stop_date: viewService.periodEnd(), datetime_resolution: viewService.resolution().key }).then(function(response) { - processData(response.data); + processData(response.data, vm.searchProject); vm.loaded = true; }); healthService.getRecentFailedTests().then(function(response) { vm.recentTests = response.data; + vm.recentRuns = {}; angular.forEach(vm.recentTests, function(test) { if (!vm.recentRuns[test.link]) { vm.recentRuns[test.link] = []; @@ -161,6 +162,7 @@ function HomeController( vm.onSearchChange = function() { $location.search('searchProject', $scope.home.searchProject).replace(); + loadData(); }; } controllersModule.controller('HomeController', HomeController); diff --git a/app/js/services/health-api.js b/app/js/services/health-api.js index dbbaa64e..2779d246 100644 --- a/app/js/services/health-api.js +++ b/app/js/services/health-api.js @@ -76,6 +76,7 @@ function HealthService($http, config) { service.getRunsGroupedByMetadataPerDatetime = function(key, options) { return config.get().then(function(config) { return $http.jsonp(config.apiRoot + '/runs/group_by/' + key, { + cache: true, params: angular.extend(options, { callback: 'JSON_CALLBACK' }) }); }); @@ -144,6 +145,7 @@ function HealthService($http, config) { return config.get().then(function(config) { return $http.jsonp(config.apiRoot + '/runs/key/' + runMetadataKey + '/' + value + '/recent', { + cache: true, params: angular.extend(options, { callback: 'JSON_CALLBACK' }) }); }); @@ -154,6 +156,7 @@ function HealthService($http, config) { return config.get().then(function(config) { return $http.jsonp(config.apiRoot + '/tests/recent/fail', { + cache: true, params: angular.extend(options, { callback: 'JSON_CALLBACK' }) }); }); diff --git a/app/js/services/projects.js b/app/js/services/projects.js index 81c2f312..f3d5a954 100644 --- a/app/js/services/projects.js +++ b/app/js/services/projects.js @@ -36,14 +36,21 @@ var projectService = function(projectFactory, metricsService) { return blanks; }; - service.createProjects = function(runsJson) { + service.createProjects = function(runsJson, projectRe) { var projects = []; var index = {}; - + var pattern = null; + try { + pattern = new RegExp(projectRe); + } catch (e) { + pattern = ''; + } angular.forEach(runsJson, function(projectsJson, dateString) { angular.forEach(projectsJson, function(runEntries, name) { - var project = findOrCreate(index, projects, name, projectFactory.create); - project.addRuns(dateString, runEntries); + if (pattern.test(name)) { + var project = findOrCreate(index, projects, name, projectFactory.create); + project.addRuns(dateString, runEntries); + } }); }); diff --git a/app/views/home.html b/app/views/home.html index 96d6fb9f..02bb8fe7 100644 --- a/app/views/home.html +++ b/app/views/home.html @@ -22,8 +22,16 @@
-
+

Total Jobs

+
+
+ +
-
+

Job Failure Rate

+
+
+ +