epoger@google.com | f9d134d | 2013-09-27 15:02:44 +0000 | [diff] [blame] | 1 | <!DOCTYPE html> |
| 2 | |
| 3 | <html ng-app="Loader"> |
| 4 | |
| 5 | <head> |
| 6 | <title>Current GM Results</title> |
| 7 | <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.1.5/angular.js"></script> |
| 8 | <script src="loader.js"></script> |
| 9 | </head> |
| 10 | |
| 11 | <body> |
| 12 | <div ng-controller="Loader.Controller"> |
| 13 | |
| 14 | <!-- TODO(epoger): Add a warning banner if the server is running in |
| 15 | --export mode |
| 16 | --> |
| 17 | |
| 18 | Settings: |
| 19 | <ul> |
| 20 | <!-- TODO(epoger): Now that we get multiple result types in a single |
| 21 | fetch, modify the UI: add a column showing resultType, and allow |
| 22 | the user to sort/filter on that column just like all the |
| 23 | others. --> |
| 24 | <li>show results of type |
| 25 | <select ng-model="showResultsOfType" |
| 26 | ng-init="showResultsOfType='failed'"> |
| 27 | <option>failed</option> |
| 28 | <option>failure-ignored</option> |
| 29 | <!-- |
| 30 | <option>no-comparison</option> |
| 31 | |
| 32 | TODO(epoger): For now, I have disabled viewing the |
| 33 | no-comparison results because there are so many of them, and |
| 34 | the browser takes forever to download all the images. Maybe |
| 35 | we should use some sort of lazy-loading technique |
| 36 | (e.g. http://www.appelsiini.net/projects/lazyload ), so that |
| 37 | the images are only loaded as they become viewable... |
| 38 | --> |
| 39 | <!-- |
| 40 | <option>succeeded</option> |
| 41 | |
| 42 | TODO(epoger): See results.py: for now, I have disabled |
| 43 | returning succeeded tests as part of the JSON, because it |
| 44 | makes the returned JSON too big (and slows down the client). |
| 45 | --> |
| 46 | </select> |
| 47 | </li> |
| 48 | <li>image size |
| 49 | <input type="text" ng-model="imageSize" ng-init="imageSize=100" |
| 50 | maxlength="4"/> |
| 51 | </li> |
| 52 | </ul> |
| 53 | |
| 54 | <p> |
| 55 | <!-- TODO(epoger): Show some sort of "loading" message, instead of |
| 56 | an empty table, while the data is loading. Otherwise, if there are |
| 57 | a lot of failures and it takes a long time to load them, the user |
| 58 | might think there are NO failures and leave the page! --> |
| 59 | <table border="1"> |
| 60 | <tr> |
| 61 | <th ng:click="sortColumn='builder'">Builder</th> |
| 62 | <th ng:click="sortColumn='test'">Test</th> |
| 63 | <th ng:click="sortColumn='config'">Config</th> |
| 64 | <th ng:click="sortColumn='expectedHashDigest'">Expected Image</th> |
| 65 | <th ng:click="sortColumn='actualHashDigest'">Actual Image</th> |
| 66 | <!-- TODO(epoger): Add more columns, such as... |
| 67 | pixel diff |
| 68 | notes/bugs |
| 69 | ignoreFailure boolean |
| 70 | --> |
| 71 | </tr> |
| 72 | <!-- TODO(epoger): improve the column sorting, as per |
| 73 | http://jsfiddle.net/vojtajina/js64b/14/ --> |
| 74 | <tr ng-repeat="result in results | filter: { resultType: showResultsOfType } | orderBy: sortColumn"> |
| 75 | <td>{{result.builder}}</td> |
| 76 | <td>{{result.test}}</td> |
| 77 | <td>{{result.config}}</td> |
| 78 | <td> |
| 79 | <a target="_blank" href="http://chromium-skia-gm.commondatastorage.googleapis.com/gm/{{result.expectedHashType}}/{{result.test}}/{{result.expectedHashDigest}}.png"> |
| 80 | <img width="{{imageSize}}" src="http://chromium-skia-gm.commondatastorage.googleapis.com/gm/{{result.expectedHashType}}/{{result.test}}/{{result.expectedHashDigest}}.png"/> |
| 81 | </a> |
| 82 | </td> |
| 83 | <td> |
| 84 | <a target="_blank" href="http://chromium-skia-gm.commondatastorage.googleapis.com/gm/{{result.actualHashType}}/{{result.test}}/{{result.actualHashDigest}}.png"> |
| 85 | <img width="{{imageSize}}" src="http://chromium-skia-gm.commondatastorage.googleapis.com/gm/{{result.actualHashType}}/{{result.test}}/{{result.actualHashDigest}}.png"/> |
| 86 | </a> |
| 87 | </td> |
| 88 | </tr> |
| 89 | </table> |
| 90 | </div> |
| 91 | |
| 92 | <!-- TODO(epoger): Can we get the base URLs (commondatastorage and |
| 93 | issues list) from |
| 94 | http://skia.googlecode.com/svn/buildbot/site_config/global_variables.json |
| 95 | ? I tried importing the |
| 96 | http://skia.googlecode.com/svn/buildbot/skia_tools.js script and using |
| 97 | that to do so, but I got Access-Control-Allow-Origin errors. |
| 98 | --> |
| 99 | |
| 100 | </body> |
| 101 | </html> |