diff options
author | epoger@google.com <epoger@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> | 2013-12-05 16:05:16 +0000 |
---|---|---|
committer | epoger@google.com <epoger@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> | 2013-12-05 16:05:16 +0000 |
commit | 2682c90860655f6c25c61f97c8d8db309d03087a (patch) | |
tree | 818ae515ee50cab344882494e17a22368f597f92 /gm/rebaseline_server/static | |
parent | ea4f3dbcf18ffdbbc662040eb6bd0f32b65de714 (diff) |
rebaseline_server: start HTTP server immediately, auto-reload once results are available
BUG=skia:1877
(SkipBuildbotRuns)
R=vandebo@chromium.org
Review URL: https://codereview.chromium.org/106453002
git-svn-id: http://skia.googlecode.com/svn/trunk@12509 2bbb7eff-a529-9590-31e7-b0007b416f81
Diffstat (limited to 'gm/rebaseline_server/static')
-rw-r--r-- | gm/rebaseline_server/static/loader.js | 129 |
1 files changed, 69 insertions, 60 deletions
diff --git a/gm/rebaseline_server/static/loader.js b/gm/rebaseline_server/static/loader.js index 3b16e2e439..ccd29c205a 100644 --- a/gm/rebaseline_server/static/loader.js +++ b/gm/rebaseline_server/static/loader.js @@ -40,7 +40,7 @@ Loader.filter( 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 @@ Loader.controller( */ $http.get("/results/" + resultsToLoad).success( function(data, status, header, config) { - $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.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']); + 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.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; + + // 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; + } + + // 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']); + + // 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.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; - - // 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 = []; - - // 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 = ""; - - $scope.updateResults(); - $scope.loadingMessage = ""; - $scope.windowTitle = "Current GM Results"; } ).error( function(data, status, header, config) { |