OLD | NEW |
1 <!DOCTYPE html> | 1 <!DOCTYPE html> |
2 | 2 |
3 <html ng-app="Loader" ng-controller="Loader.Controller"> | 3 <html ng-app="Loader" ng-controller="Loader.Controller"> |
4 | 4 |
5 <head> | 5 <head> |
6 <title ng-bind="windowTitle"></title> | 6 <title ng-bind="windowTitle"></title> |
7 <script src="//ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></scr
ipt> | 7 <script src="//ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></scr
ipt> |
8 <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.1.5/angular.js"
></script> | 8 <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.20/angular.js
"></script> |
9 <script src="constants.js"></script> | 9 <script src="constants.js"></script> |
10 <script src="live-loader.js"></script> | 10 <script src="live-loader.js"></script> |
11 <script src="utils.js"></script> | 11 <script src="utils.js"></script> |
12 | 12 |
13 <link rel="stylesheet" href="view.css"> | 13 <link rel="stylesheet" href="view.css"> |
14 </head> | 14 </head> |
15 | 15 |
16 <body> | 16 <body> |
17 <h2> | 17 <h2> |
18 Instructions, roadmap, etc. are at | 18 Instructions, roadmap, etc. are at |
(...skipping 220 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
239 </button> | 239 </button> |
240 </div> | 240 </div> |
241 </td> | 241 </td> |
242 </tr> | 242 </tr> |
243 </table> <!-- results header --> | 243 </table> <!-- results header --> |
244 </td></tr><tr><td> | 244 </td></tr><tr><td> |
245 <table border="1" ng-app="diff_viewer"> <!-- results --> | 245 <table border="1" ng-app="diff_viewer"> <!-- results --> |
246 <tr> | 246 <tr> |
247 <!-- Most column headers are displayed in a common fashion... --> | 247 <!-- Most column headers are displayed in a common fashion... --> |
248 <th ng-repeat="columnName in orderedColumnNames"> | 248 <th ng-repeat="columnName in orderedColumnNames"> |
249 <input type="radio" | 249 <a ng-class="'sort-' + sortedByColumnsCls(columnName)" |
250 name="sortColumnRadio" | 250 ng-click="sortResultsBy(constants.KEY__IMAGEPAIRS__EXTRACOLUMNS
, columnName)" |
251 value="{{columnName}}" | 251 href="" |
252 ng-checked="(sortColumnKey == columnName)" | 252 class="sortable-header"> |
253 ng-click="sortResultsBy(constants.KEY__IMAGEPAIRS__EXTRACOLUM
NS, columnName)"> | 253 {{extraColumnHeaders[columnName][constants.KEY__EXTRACOLUMNHEADER
S__HEADER_TEXT]}} |
254 {{extraColumnHeaders[columnName][constants.KEY__EXTRACOLUMNHEADERS__
HEADER_TEXT]}} | 254 </a> |
255 </th> | 255 </th> |
256 <!-- ... but there are a few columns where we display things different
ly. --> | 256 <!-- ... but there are a few columns where we display things different
ly. --> |
257 <th> | 257 <th> |
258 <input type="radio" | 258 <a ng-class="'sort-' + sortedByColumnsCls(constants.KEY__EXPECTATION
S__BUGS)" |
259 name="sortColumnRadio" | 259 ng-click="sortResultsBy(constants.KEY__IMAGEPAIRS__EXPECTATIONS,
constants.KEY__EXPECTATIONS__BUGS)" |
260 value="bugs" | 260 href="" |
261 ng-checked="(sortColumnKey == constants.KEY__EXPECTATIONS__BU
GS)" | 261 class="sortable-header"> |
262 ng-click="sortResultsBy(constants.KEY__IMAGEPAIRS__EXPECTATIO
NS, constants.KEY__EXPECTATIONS__BUGS)"> | 262 bugs |
| 263 </a> |
263 bugs | 264 bugs |
264 </th> | 265 </th> |
265 <th width="{{imageSize}}"> | 266 <th width="{{imageSize}}"> |
266 <input type="radio" | 267 <a ng-class="'sort-' + sortedByColumnsCls(constants.KEY__IMAGEPAIRS_
_IMAGE_A_URL)" |
267 name="sortColumnRadio" | 268 ng-click="sortResultsBy('none', constants.KEY__IMAGEPAIRS__IMAGE_
A_URL)" |
268 value="imageA" | 269 href="" |
269 ng-checked="(sortColumnKey == constants.KEY__IMAGEPAIRS__IMAG
E_A_URL)" | 270 class="sortable-header"> |
270 ng-click="sortResultsBy('none', constants.KEY__IMAGEPAIRS__IM
AGE_A_URL)"> | 271 {{imageSets[constants.KEY__IMAGESETS__SET__IMAGE_A][constants
.KEY__IMAGESETS__FIELD__DESCRIPTION]}} |
271 {{imageSets[constants.KEY__IMAGESETS__SET__IMAGE_A][constants.KEY__I
MAGESETS__FIELD__DESCRIPTION]}} | 272 </a> |
272 </th> | 273 </th> |
273 <th width="{{imageSize}}"> | 274 <th width="{{imageSize}}"> |
274 <input type="radio" | 275 <a ng-class="'sort-' + sortedByColumnsCls(constants.KEY__IMAGEPAIRS_
_IMAGE_B_URL)" |
275 name="sortColumnRadio" | 276 ng-click="sortResultsBy('none', constants.KEY__IMAGEPAIRS__IMAGE_
B_URL)" |
276 value="imageB" | 277 href="" |
277 ng-checked="(sortColumnKey == constants.KEY__IMAGEPAIRS__IMAG
E_B_URL)" | 278 class="sortable-header"> |
278 ng-click="sortResultsBy('none', constants.KEY__IMAGEPAIRS__IM
AGE_B_URL)"> | 279 {{imageSets[constants.KEY__IMAGESETS__SET__IMAGE_B][constants.
KEY__IMAGESETS__FIELD__DESCRIPTION]}} |
279 {{imageSets[constants.KEY__IMAGESETS__SET__IMAGE_B][constants.KEY__I
MAGESETS__FIELD__DESCRIPTION]}} | 280 </a> |
280 </th> | 281 </th> |
281 <th width="{{imageSize}}"> | 282 <th width="{{imageSize}}"> |
282 <input type="radio" | 283 <a ng-class="'sort-' + sortedByColumnsCls(constants.KEY__DIFFERENCES
__PERCENT_DIFF_PIXELS)" |
283 name="sortColumnRadio" | 284 ng-click="sortResultsBy(constants.KEY__IMAGEPAIRS__DIFFERENCES, c
onstants.KEY__DIFFERENCES__PERCENT_DIFF_PIXELS)" |
284 value="percentDifferingPixels" | 285 href="" |
285 ng-checked="(sortColumnKey == constants.KEY__DIFFERENCES__PER
CENT_DIFF_PIXELS)" | 286 class="sortable-header"> |
286 ng-click="sortResultsBy(constants.KEY__IMAGEPAIRS__DIFFERENCE
S, constants.KEY__DIFFERENCES__PERCENT_DIFF_PIXELS)"> | 287 differing pixels in white |
287 differing pixels in white | 288 </a> |
288 </th> | 289 </th> |
289 <th width="{{imageSize}}"> | 290 <th width="{{imageSize}}"> |
290 <input type="radio" | 291 <a ng-class="'sort-' + sortedByColumnsCls(constants.KEY__DIFFERENCES
__PERCEPTUAL_DIFF)" |
291 name="sortColumnRadio" | 292 ng-click="sortResultsBy(constants.KEY__IMAGEPAIRS__DIFFERENCES, c
onstants.KEY__DIFFERENCES__PERCEPTUAL_DIFF)" |
292 value="perceptualDiff" | 293 href="" |
293 ng-checked="(sortColumnKey == constants.KEY__DIFFERENCES__PER
CEPTUAL_DIFF)" | 294 class="sortable-header"> |
294 ng-click="sortResultsBy(constants.KEY__IMAGEPAIRS__DIFFERENCE
S, constants.KEY__DIFFERENCES__PERCEPTUAL_DIFF)"> | 295 perceptual difference |
295 perceptual difference | 296 </a> |
296 <br> | 297 <br> |
297 <input type="range" ng-model="pixelDiffBgColorBrightness" | 298 <input type="range" ng-model="pixelDiffBgColorBrightness" |
298 ng-init="pixelDiffBgColorBrightness=64; pixelDiffBgColor=brig
htnessStringToHexColor(pixelDiffBgColorBrightness)" | 299 ng-init="pixelDiffBgColorBrightness=64; pixelDiffBgColor=brig
htnessStringToHexColor(pixelDiffBgColorBrightness)" |
299 ng-change="pixelDiffBgColor=brightnessStringToHexColor(pixelD
iffBgColorBrightness)" | 300 ng-change="pixelDiffBgColor=brightnessStringToHexColor(pixelD
iffBgColorBrightness)" |
300 title="image background brightness" | 301 title="image background brightness" |
301 min="0" max="255"/> | 302 min="0" max="255"/> |
302 </th> | 303 </th> |
303 <th> | 304 <th> |
304 <!-- imagepair-selection checkbox column --> | 305 <!-- imagepair-selection checkbox column --> |
305 </th> | 306 </th> |
(...skipping 108 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
414 ng-click="toggleSomeImagePairs($index, imagePair[constants.KE
Y__IMAGEPAIRS__ROWSPAN])"> | 415 ng-click="toggleSomeImagePairs($index, imagePair[constants.KE
Y__IMAGEPAIRS__ROWSPAN])"> |
415 </tr> | 416 </tr> |
416 </table> <!-- imagePairs --> | 417 </table> <!-- imagePairs --> |
417 </td></tr></table> <!-- table holding results header + imagePairs table --> | 418 </td></tr></table> <!-- table holding results header + imagePairs table --> |
418 | 419 |
419 </div><!-- main display area of selected tab --> | 420 </div><!-- main display area of selected tab --> |
420 </div><!-- everything: hide until readyToDisplay --> | 421 </div><!-- everything: hide until readyToDisplay --> |
421 | 422 |
422 </body> | 423 </body> |
423 </html> | 424 </html> |
OLD | NEW |