Index: gm/rebaseline_server/static/loader.js |
=================================================================== |
--- gm/rebaseline_server/static/loader.js (revision 12499) |
+++ gm/rebaseline_server/static/loader.js (working copy) |
@@ -40,7 +40,7 @@ |
Loader.controller( |
'Loader.Controller', |
- function($scope, $http, $filter, $location) { |
+ function($scope, $http, $filter, $location, $timeout) { |
$scope.windowTitle = "Loading GM Results..."; |
var resultsToLoad = $location.search().resultsToLoad; |
$scope.loadingMessage = "Loading results of type '" + resultsToLoad + |
@@ -53,66 +53,75 @@ |
*/ |
$http.get("/results/" + resultsToLoad).success( |
function(data, status, header, config) { |
- $scope.loadingMessage = "Processing data, please wait..."; |
+ if (data.header.resultsStillLoading) { |
+ $scope.loadingMessage = |
+ "Server is still loading initial results; will retry at " + |
+ $scope.localTimeString(data.header.timeNextUpdateAvailable); |
+ $timeout( |
+ function(){location.reload();}, |
+ (data.header.timeNextUpdateAvailable * 1000) - new Date().getTime()); |
+ } else { |
+ $scope.loadingMessage = "Processing data, please wait..."; |
- $scope.header = data.header; |
- $scope.categories = data.categories; |
- $scope.testData = data.testData; |
- $scope.sortColumn = 'weightedDiffMeasure'; |
- $scope.showTodos = false; |
+ $scope.header = data.header; |
+ $scope.categories = data.categories; |
+ $scope.testData = data.testData; |
+ $scope.sortColumn = 'weightedDiffMeasure'; |
+ $scope.showTodos = false; |
- $scope.showSubmitAdvancedSettings = false; |
- $scope.submitAdvancedSettings = {}; |
- $scope.submitAdvancedSettings['reviewed-by-human'] = true; |
- $scope.submitAdvancedSettings['ignore-failure'] = false; |
- $scope.submitAdvancedSettings['bug'] = ''; |
+ $scope.showSubmitAdvancedSettings = false; |
+ $scope.submitAdvancedSettings = {}; |
+ $scope.submitAdvancedSettings['reviewed-by-human'] = true; |
+ $scope.submitAdvancedSettings['ignore-failure'] = false; |
+ $scope.submitAdvancedSettings['bug'] = ''; |
- // Create the list of tabs (lists into which the user can file each |
- // test). This may vary, depending on isEditable. |
- $scope.tabs = [ |
- 'Unfiled', 'Hidden' |
- ]; |
- if (data.header.isEditable) { |
- $scope.tabs = $scope.tabs.concat( |
- ['Pending Approval']); |
- } |
- $scope.defaultTab = $scope.tabs[0]; |
- $scope.viewingTab = $scope.defaultTab; |
+ // Create the list of tabs (lists into which the user can file each |
+ // test). This may vary, depending on isEditable. |
+ $scope.tabs = [ |
epoger
2013/12/05 11:51:22
This section is modified only by indentation. I d
|
+ 'Unfiled', 'Hidden' |
+ ]; |
+ if (data.header.isEditable) { |
+ $scope.tabs = $scope.tabs.concat( |
+ ['Pending Approval']); |
+ } |
+ $scope.defaultTab = $scope.tabs[0]; |
+ $scope.viewingTab = $scope.defaultTab; |
- // Track the number of results on each tab. |
- $scope.numResultsPerTab = {}; |
- for (var i = 0; i < $scope.tabs.length; i++) { |
- $scope.numResultsPerTab[$scope.tabs[i]] = 0; |
- } |
- $scope.numResultsPerTab[$scope.defaultTab] = $scope.testData.length; |
+ // Track the number of results on each tab. |
+ $scope.numResultsPerTab = {}; |
+ for (var i = 0; i < $scope.tabs.length; i++) { |
+ $scope.numResultsPerTab[$scope.tabs[i]] = 0; |
+ } |
+ $scope.numResultsPerTab[$scope.defaultTab] = $scope.testData.length; |
- // Add index and tab fields to all records. |
- for (var i = 0; i < $scope.testData.length; i++) { |
- $scope.testData[i].index = i; |
- $scope.testData[i].tab = $scope.defaultTab; |
- } |
+ // Add index and tab fields to all records. |
+ for (var i = 0; i < $scope.testData.length; i++) { |
+ $scope.testData[i].index = i; |
+ $scope.testData[i].tab = $scope.defaultTab; |
+ } |
- // Arrays within which the user can toggle individual elements. |
- $scope.selectedItems = []; |
+ // Arrays within which the user can toggle individual elements. |
+ $scope.selectedItems = []; |
- // Sets within which the user can toggle individual elements. |
- $scope.hiddenResultTypes = { |
- 'failure-ignored': true, |
- 'no-comparison': true, |
- 'succeeded': true, |
- }; |
- $scope.allResultTypes = Object.keys(data.categories['resultType']); |
- $scope.hiddenConfigs = {}; |
- $scope.allConfigs = Object.keys(data.categories['config']); |
+ // Sets within which the user can toggle individual elements. |
+ $scope.hiddenResultTypes = { |
+ 'failure-ignored': true, |
+ 'no-comparison': true, |
+ 'succeeded': true, |
+ }; |
+ $scope.allResultTypes = Object.keys(data.categories['resultType']); |
+ $scope.hiddenConfigs = {}; |
+ $scope.allConfigs = Object.keys(data.categories['config']); |
- // Associative array of partial string matches per category. |
- $scope.categoryValueMatch = {}; |
- $scope.categoryValueMatch.builder = ""; |
- $scope.categoryValueMatch.test = ""; |
+ // Associative array of partial string matches per category. |
+ $scope.categoryValueMatch = {}; |
+ $scope.categoryValueMatch.builder = ""; |
+ $scope.categoryValueMatch.test = ""; |
- $scope.updateResults(); |
- $scope.loadingMessage = ""; |
- $scope.windowTitle = "Current GM Results"; |
+ $scope.updateResults(); |
+ $scope.loadingMessage = ""; |
+ $scope.windowTitle = "Current GM Results"; |
+ } |
} |
).error( |
function(data, status, header, config) { |