blob: 5913e5c2caa6f5ded4b5788d9c3199670839270d [file] [log] [blame]
<!DOCTYPE html>
<html ng-app="Loader">
<head>
<title>Current GM Results</title>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.1.5/angular.js"></script>
<script src="loader.js"></script>
</head>
<body>
<div ng-controller="Loader.Controller">
<!-- TODO(epoger): Add a warning banner if the server is running in
--export mode
-->
<!-- TODO(epoger): Add some indication of how old the
expected/actual data is -->
Settings:
<ul>
<!-- TODO(epoger): Now that we get multiple result types in a single
fetch, modify the UI: add a column showing resultType, and allow
the user to sort/filter on that column just like all the
others. -->
<li>show results of type
<select ng-model="showResultsOfType"
ng-init="showResultsOfType='failed'">
<option ng-repeat="(resultType, count) in categories['resultType']"
value="{{resultType}}">
{{resultType}} ({{count}})
</option>
</select>
<!--
TODO(epoger): See results.py: for now, I have disabled
returning succeeded tests as part of the JSON, because it
makes the returned JSON too big (and slows down the client).
Also, we should use some sort of lazy-loading technique
(e.g. http://www.appelsiini.net/projects/lazyload ), so that
the images are only loaded as they become viewable...
that will help with long lists like resultType='no-comparison'.
-->
<br>
TODO(epoger): 'no-comparison' will probably take forever;
see HTML source for details
<br>
TODO(epoger): 'succeeded' will not show any results;
see HTML source for details
</li>
<li>image size
<input type="text" ng-model="imageSizePending"
ng-init="imageSizePending=100; imageSize=100"
maxlength="4"/>
<button ng:click="imageSize=imageSizePending">apply</button>
</li>
</ul>
<p>
Click on the column header radio buttons to re-sort by that column...<br>
<!-- TODO(epoger): Show some sort of "loading" message, instead of
an empty table, while the data is loading. Otherwise, if there are
a lot of failures and it takes a long time to load them, the user
might think there are NO failures and leave the page! -->
<table border="1">
<tr>
<th><input ng-model="sortColumn" name="sortColumnRadio" type="radio" value="builder">Builder</input></th>
<th><input ng-model="sortColumn" name="sortColumnRadio" type="radio" value="test">Test</input></th>
<th><input ng-model="sortColumn" name="sortColumnRadio" type="radio" value="config">Config</input></th>
<th><input ng-model="sortColumn" name="sortColumnRadio" type="radio" value="expectedHashDigest">Expected Image</input></th>
<th><input ng-model="sortColumn" name="sortColumnRadio" type="radio" value="actualHashDigest">Actual Image</input></th>
<!-- TODO(epoger): Add more columns, such as...
pixel diff
notes/bugs
ignoreFailure boolean
-->
</tr>
<!-- TODO(epoger): improve the column sorting, as per
http://jsfiddle.net/vojtajina/js64b/14/ -->
<tr ng-repeat="result in testData | filter: { resultType: showResultsOfType } | orderBy: sortColumn">
<td>{{result.builder}}</td>
<td>{{result.test}}</td>
<td>{{result.config}}</td>
<td>
<a target="_blank" href="http://chromium-skia-gm.commondatastorage.googleapis.com/gm/{{result.expectedHashType}}/{{result.test}}/{{result.expectedHashDigest}}.png">
<img width="{{imageSize}}" src="http://chromium-skia-gm.commondatastorage.googleapis.com/gm/{{result.expectedHashType}}/{{result.test}}/{{result.expectedHashDigest}}.png"/>
</a>
</td>
<td>
<a target="_blank" href="http://chromium-skia-gm.commondatastorage.googleapis.com/gm/{{result.actualHashType}}/{{result.test}}/{{result.actualHashDigest}}.png">
<img width="{{imageSize}}" src="http://chromium-skia-gm.commondatastorage.googleapis.com/gm/{{result.actualHashType}}/{{result.test}}/{{result.actualHashDigest}}.png"/>
</a>
</td>
</tr>
</table>
</div>
<!-- TODO(epoger): Can we get the base URLs (commondatastorage and
issues list) from
http://skia.googlecode.com/svn/buildbot/site_config/global_variables.json
? I tried importing the
http://skia.googlecode.com/svn/buildbot/skia_tools.js script and using
that to do so, but I got Access-Control-Allow-Origin errors.
-->
</body>
</html>