Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(44)

Side by Side Diff: gm/rebaseline_server/static/view.html

Issue 326013002: rebaseline_server: merge identical results (across multiple builders/configs) into a single row (Closed) Base URL: https://skia.googlesource.com/skia.git@master
Patch Set: clean up for codereview Created 6 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « gm/rebaseline_server/static/view.css ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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="https://ajax.googleapis.com/ajax/libs/angularjs/1.1.5/angular.js" ></script> 7 <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.1.5/angular.js" ></script>
8 <script src="constants.js"></script> 8 <script src="constants.js"></script>
9 <script src="loader.js"></script> 9 <script src="loader.js"></script>
10 <link rel="stylesheet" href="view.css"> 10 <link rel="stylesheet" href="view.css">
(...skipping 108 matching lines...) Expand 10 before | Expand all | Expand 10 after
119 </button> 119 </button>
120 </td> 120 </td>
121 <td><table> 121 <td><table>
122 <tr><td> 122 <tr><td>
123 <input type="checkbox" ng-model="showThumbnailsPending" 123 <input type="checkbox" ng-model="showThumbnailsPending"
124 ng-init="showThumbnailsPending = true" 124 ng-init="showThumbnailsPending = true"
125 ng-change="areUpdatesPending = true"/> 125 ng-change="areUpdatesPending = true"/>
126 Show thumbnails 126 Show thumbnails
127 </td></tr> 127 </td></tr>
128 <tr><td> 128 <tr><td>
129 <input type="checkbox" ng-model="mergeIdenticalRowsPending"
130 ng-init="mergeIdenticalRowsPending = true"
131 ng-change="areUpdatesPending = true"/>
132 Merge identical rows
133 </td></tr>
134 <tr><td>
129 Image width 135 Image width
130 <input type="text" ng-model="imageSizePending" 136 <input type="text" ng-model="imageSizePending"
131 ng-init="imageSizePending=100" 137 ng-init="imageSizePending=100"
132 ng-change="areUpdatesPending = true" 138 ng-change="areUpdatesPending = true"
133 maxlength="4"/> 139 maxlength="4"/>
134 </td></tr> 140 </td></tr>
135 <tr><td> 141 <tr><td>
136 Max records to display 142 Max records to display
137 <input type="text" ng-model="displayLimitPending" 143 <input type="text" ng-model="displayLimitPending"
138 ng-init="displayLimitPending=50" 144 ng-init="displayLimitPending=50"
(...skipping 102 matching lines...) Expand 10 before | Expand all | Expand 10 after
241 <!-- ... but there are a few columns where we display things different ly. --> 247 <!-- ... but there are a few columns where we display things different ly. -->
242 <th> 248 <th>
243 <input type="radio" 249 <input type="radio"
244 name="sortColumnRadio" 250 name="sortColumnRadio"
245 value="bugs" 251 value="bugs"
246 ng-checked="(sortColumnKey == constants.KEY__EXPECTATIONS__BU GS)" 252 ng-checked="(sortColumnKey == constants.KEY__EXPECTATIONS__BU GS)"
247 ng-click="sortResultsBy(constants.KEY__IMAGEPAIRS__EXPECTATIO NS, constants.KEY__EXPECTATIONS__BUGS)"> 253 ng-click="sortResultsBy(constants.KEY__IMAGEPAIRS__EXPECTATIO NS, constants.KEY__EXPECTATIONS__BUGS)">
248 bugs 254 bugs
249 </th> 255 </th>
250 <th width="{{imageSize}}"> 256 <th width="{{imageSize}}">
257 <input type="radio"
258 name="sortColumnRadio"
259 value="imageA"
260 ng-checked="(sortColumnKey == constants.KEY__IMAGEPAIRS__IMAG E_A_URL)"
261 ng-click="sortResultsBy('none', constants.KEY__IMAGEPAIRS__IM AGE_A_URL)">
251 {{imageSets[constants.KEY__IMAGESETS__SET__IMAGE_A][constants.KEY__I MAGESETS__FIELD__DESCRIPTION]}} 262 {{imageSets[constants.KEY__IMAGESETS__SET__IMAGE_A][constants.KEY__I MAGESETS__FIELD__DESCRIPTION]}}
252 </th> 263 </th>
253 <th width="{{imageSize}}"> 264 <th width="{{imageSize}}">
265 <input type="radio"
266 name="sortColumnRadio"
267 value="imageB"
268 ng-checked="(sortColumnKey == constants.KEY__IMAGEPAIRS__IMAG E_B_URL)"
269 ng-click="sortResultsBy('none', constants.KEY__IMAGEPAIRS__IM AGE_B_URL)">
254 {{imageSets[constants.KEY__IMAGESETS__SET__IMAGE_B][constants.KEY__I MAGESETS__FIELD__DESCRIPTION]}} 270 {{imageSets[constants.KEY__IMAGESETS__SET__IMAGE_B][constants.KEY__I MAGESETS__FIELD__DESCRIPTION]}}
255 </th> 271 </th>
256 <th width="{{imageSize}}"> 272 <th width="{{imageSize}}">
257 <input type="radio" 273 <input type="radio"
258 name="sortColumnRadio" 274 name="sortColumnRadio"
259 value="percentDifferingPixels" 275 value="percentDifferingPixels"
260 ng-checked="(sortColumnKey == constants.KEY__DIFFERENCES__PER CENT_DIFF_PIXELS)" 276 ng-checked="(sortColumnKey == constants.KEY__DIFFERENCES__PER CENT_DIFF_PIXELS)"
261 ng-click="sortResultsBy(constants.KEY__IMAGEPAIRS__DIFFERENCE S, constants.KEY__DIFFERENCES__PERCENT_DIFF_PIXELS)"> 277 ng-click="sortResultsBy(constants.KEY__IMAGEPAIRS__DIFFERENCE S, constants.KEY__DIFFERENCES__PERCENT_DIFF_PIXELS)">
262 differing pixels in white 278 differing pixels in white
263 </th> 279 </th>
264 <th width="{{imageSize}}"> 280 <th width="{{imageSize}}">
265 <input type="radio" 281 <input type="radio"
266 name="sortColumnRadio" 282 name="sortColumnRadio"
267 value="weightedDiffMeasure" 283 value="weightedDiffMeasure"
268 ng-checked="(sortColumnKey == constants.KEY__DIFFERENCES__PER CEPTUAL_DIFF)" 284 ng-checked="(sortColumnKey == constants.KEY__DIFFERENCES__PER CEPTUAL_DIFF)"
269 ng-click="sortResultsBy(constants.KEY__IMAGEPAIRS__DIFFERENCE S, constants.KEY__DIFFERENCES__PERCEPTUAL_DIFF)"> 285 ng-click="sortResultsBy(constants.KEY__IMAGEPAIRS__DIFFERENCE S, constants.KEY__DIFFERENCES__PERCEPTUAL_DIFF)">
270 perceptual difference 286 perceptual difference
271 <br> 287 <br>
272 <input type="range" ng-model="pixelDiffBgColorBrightness" 288 <input type="range" ng-model="pixelDiffBgColorBrightness"
273 ng-init="pixelDiffBgColorBrightness=64; pixelDiffBgColor=brig htnessStringToHexColor(pixelDiffBgColorBrightness)" 289 ng-init="pixelDiffBgColorBrightness=64; pixelDiffBgColor=brig htnessStringToHexColor(pixelDiffBgColorBrightness)"
274 ng-change="pixelDiffBgColor=brightnessStringToHexColor(pixelD iffBgColorBrightness)" 290 ng-change="pixelDiffBgColor=brightnessStringToHexColor(pixelD iffBgColorBrightness)"
275 title="image background brightness" 291 title="image background brightness"
276 min="0" max="255"/> 292 min="0" max="255"/>
277 </th> 293 </th>
278 <th> 294 <th>
279 <!-- imagepair-selection checkbox column --> 295 <!-- imagepair-selection checkbox column -->
280 </th> 296 </th>
281 </tr> 297 </tr>
282 298
283 <tr ng-repeat="imagePair in limitedImagePairs" results-updated-callback- directive> 299 <tr ng-repeat="imagePair in limitedImagePairs" valign="top"
300 ng-class-odd="'results-odd'" ng-class-even="'results-even'"
301 results-updated-callback-directive>
284 <td> 302 <td>
285 {{imagePair[constants.KEY__IMAGEPAIRS__EXTRACOLUMNS][constants.KEY__ EXTRACOLUMNS__RESULT_TYPE]}} 303 {{imagePair[constants.KEY__IMAGEPAIRS__EXTRACOLUMNS][constants.KEY__ EXTRACOLUMNS__RESULT_TYPE]}}
286 <br> 304 <br>
287 <button class="show-only-button" 305 <button class="show-only-button"
288 ng-show="viewingTab == defaultTab" 306 ng-show="viewingTab == defaultTab"
289 ng-click="showOnlyResultType(imagePair[constants.KEY__IMAGEP AIRS__EXTRACOLUMNS][constants.KEY__EXTRACOLUMNS__RESULT_TYPE])" 307 ng-click="showOnlyResultType(imagePair[constants.KEY__IMAGEP AIRS__EXTRACOLUMNS][constants.KEY__EXTRACOLUMNS__RESULT_TYPE])"
290 title="show only results of type {{imagePair[constants.KEY__ IMAGEPAIRS__EXTRACOLUMNS][constants.KEY__EXTRACOLUMNS__RESULT_TYPE]}}"> 308 title="show only results of type {{imagePair[constants.KEY__ IMAGEPAIRS__EXTRACOLUMNS][constants.KEY__EXTRACOLUMNS__RESULT_TYPE]}}">
291 show only 309 show only
292 </button> 310 </button>
293 <br> 311 <br>
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after
338 </td> 356 </td>
339 <td> 357 <td>
340 <a ng-repeat="bug in imagePair[constants.KEY__IMAGEPAIRS__EXPECTATIO NS][constants.KEY__EXPECTATIONS__BUGS]" 358 <a ng-repeat="bug in imagePair[constants.KEY__IMAGEPAIRS__EXPECTATIO NS][constants.KEY__EXPECTATIONS__BUGS]"
341 href="https://code.google.com/p/skia/issues/detail?id={{bug}}" 359 href="https://code.google.com/p/skia/issues/detail?id={{bug}}"
342 target="_blank"> 360 target="_blank">
343 {{bug}} 361 {{bug}}
344 </a> 362 </a>
345 </td> 363 </td>
346 364
347 <!-- image A --> 365 <!-- image A -->
348 <td valign="bottom" width="{{imageSize}}"> 366 <td width="{{imageSize}}" ng-if="imagePair[constants.KEY__IMAGEPAIRS__ ROWSPAN] > 0" rowspan="{{imagePair[constants.KEY__IMAGEPAIRS__ROWSPAN]}}">
349 <div ng-if="imagePair[constants.KEY__IMAGEPAIRS__IMAGE_A_URL] != nul l"> 367 <div ng-if="imagePair[constants.KEY__IMAGEPAIRS__IMAGE_A_URL] != nul l">
350 <a href="{{imageSets[constants.KEY__IMAGESETS__SET__IMAGE_A][const ants.KEY__IMAGESETS__FIELD__BASE_URL]}}/{{imagePair[constants.KEY__IMAGEPAIRS__I MAGE_A_URL]}}" target="_blank">View Image</a><br/> 368 <a href="{{imageSets[constants.KEY__IMAGESETS__SET__IMAGE_A][const ants.KEY__IMAGESETS__FIELD__BASE_URL]}}/{{imagePair[constants.KEY__IMAGEPAIRS__I MAGE_A_URL]}}" target="_blank">View Image</a><br/>
351 <img ng-if="showThumbnails" 369 <img ng-if="showThumbnails"
352 width="{{imageSize}}" 370 width="{{imageSize}}"
353 ng-src="{{imageSets[constants.KEY__IMAGESETS__SET__IMAGE_A][c onstants.KEY__IMAGESETS__FIELD__BASE_URL]}}/{{imagePair[constants.KEY__IMAGEPAIR S__IMAGE_A_URL]}}" /> 371 ng-src="{{imageSets[constants.KEY__IMAGESETS__SET__IMAGE_A][c onstants.KEY__IMAGESETS__FIELD__BASE_URL]}}/{{imagePair[constants.KEY__IMAGEPAIR S__IMAGE_A_URL]}}" />
354 </div> 372 </div>
355 <div ng-show="imagePair[constants.KEY__IMAGEPAIRS__IMAGE_A_URL] == n ull" 373 <div ng-show="imagePair[constants.KEY__IMAGEPAIRS__IMAGE_A_URL] == n ull"
356 style="text-align:center"> 374 style="text-align:center">
357 &ndash;none&ndash; 375 &ndash;none&ndash;
358 </div> 376 </div>
359 </td> 377 </td>
360 378
361 <!-- image B --> 379 <!-- image B -->
362 <td valign="bottom" width="{{imageSize}}"> 380 <td width="{{imageSize}}" ng-if="imagePair[constants.KEY__IMAGEPAIRS__ ROWSPAN] > 0" rowspan="{{imagePair[constants.KEY__IMAGEPAIRS__ROWSPAN]}}">
363 <div ng-if="imagePair[constants.KEY__IMAGEPAIRS__IMAGE_B_URL] != nul l"> 381 <div ng-if="imagePair[constants.KEY__IMAGEPAIRS__IMAGE_B_URL] != nul l">
364 <a href="{{imageSets[constants.KEY__IMAGESETS__SET__IMAGE_B][const ants.KEY__IMAGESETS__FIELD__BASE_URL]}}/{{imagePair[constants.KEY__IMAGEPAIRS__I MAGE_B_URL]}}" target="_blank">View Image</a><br/> 382 <a href="{{imageSets[constants.KEY__IMAGESETS__SET__IMAGE_B][const ants.KEY__IMAGESETS__FIELD__BASE_URL]}}/{{imagePair[constants.KEY__IMAGEPAIRS__I MAGE_B_URL]}}" target="_blank">View Image</a><br/>
365 <img ng-if="showThumbnails" 383 <img ng-if="showThumbnails"
366 width="{{imageSize}}" 384 width="{{imageSize}}"
367 ng-src="{{imageSets[constants.KEY__IMAGESETS__SET__IMAGE_B][c onstants.KEY__IMAGESETS__FIELD__BASE_URL]}}/{{imagePair[constants.KEY__IMAGEPAIR S__IMAGE_B_URL]}}" /> 385 ng-src="{{imageSets[constants.KEY__IMAGESETS__SET__IMAGE_B][c onstants.KEY__IMAGESETS__FIELD__BASE_URL]}}/{{imagePair[constants.KEY__IMAGEPAIR S__IMAGE_B_URL]}}" />
368 </div> 386 </div>
369 <div ng-show="imagePair[constants.KEY__IMAGEPAIRS__IMAGE_B_URL] == n ull" 387 <div ng-show="imagePair[constants.KEY__IMAGEPAIRS__IMAGE_B_URL] == n ull"
370 style="text-align:center"> 388 style="text-align:center">
371 &ndash;none&ndash; 389 &ndash;none&ndash;
372 </div> 390 </div>
373 </td> 391 </td>
374 392
375 <!-- whitediffs: every differing pixel shown in white --> 393 <!-- whitediffs: every differing pixel shown in white -->
376 <td valign="bottom" width="{{imageSize}}"> 394 <td width="{{imageSize}}" ng-if="imagePair[constants.KEY__IMAGEPAIRS__ ROWSPAN] > 0" rowspan="{{imagePair[constants.KEY__IMAGEPAIRS__ROWSPAN]}}">
377 <div ng-if="imagePair[constants.KEY__IMAGEPAIRS__IS_DIFFERENT]" 395 <div ng-if="imagePair[constants.KEY__IMAGEPAIRS__IS_DIFFERENT]"
378 title="{{imagePair[constants.KEY__IMAGEPAIRS__DIFFERENCES][cons tants.KEY__DIFFERENCES__NUM_DIFF_PIXELS] | number:0}} of {{(100 * imagePair[cons tants.KEY__IMAGEPAIRS__DIFFERENCES][constants.KEY__DIFFERENCES__NUM_DIFF_PIXELS] / imagePair[constants.KEY__IMAGEPAIRS__DIFFERENCES][constants.KEY__DIFFERENCES_ _PERCENT_DIFF_PIXELS]) | number:0}} pixels ({{imagePair[constants.KEY__IMAGEPAIR S__DIFFERENCES][constants.KEY__DIFFERENCES__PERCENT_DIFF_PIXELS].toFixed(4)}}%) differ from expectation."> 396 title="{{imagePair[constants.KEY__IMAGEPAIRS__DIFFERENCES][cons tants.KEY__DIFFERENCES__NUM_DIFF_PIXELS] | number:0}} of {{(100 * imagePair[cons tants.KEY__IMAGEPAIRS__DIFFERENCES][constants.KEY__DIFFERENCES__NUM_DIFF_PIXELS] / imagePair[constants.KEY__IMAGEPAIRS__DIFFERENCES][constants.KEY__DIFFERENCES_ _PERCENT_DIFF_PIXELS]) | number:0}} pixels ({{imagePair[constants.KEY__IMAGEPAIR S__DIFFERENCES][constants.KEY__DIFFERENCES__PERCENT_DIFF_PIXELS].toFixed(4)}}%) differ from expectation.">
379 397
380 {{imagePair[constants.KEY__IMAGEPAIRS__DIFFERENCES][constants.KEY_ _DIFFERENCES__PERCENT_DIFF_PIXELS].toFixed(4)}}%
381 ({{imagePair[constants.KEY__IMAGEPAIRS__DIFFERENCES][constants.KEY __DIFFERENCES__NUM_DIFF_PIXELS]}})
382 <br/>
383 <a href="{{imageSets[constants.KEY__IMAGESETS__SET__WHITEDIFFS][co nstants.KEY__IMAGESETS__FIELD__BASE_URL]}}/{{getImageDiffRelativeUrl(imagePair)} }" target="_blank">View Image</a><br/> 398 <a href="{{imageSets[constants.KEY__IMAGESETS__SET__WHITEDIFFS][co nstants.KEY__IMAGESETS__FIELD__BASE_URL]}}/{{getImageDiffRelativeUrl(imagePair)} }" target="_blank">View Image</a><br/>
384 <img ng-if="showThumbnails" 399 <img ng-if="showThumbnails"
385 width="{{imageSize}}" 400 width="{{imageSize}}"
386 ng-src="{{imageSets[constants.KEY__IMAGESETS__SET__WHITEDIFFS ][constants.KEY__IMAGESETS__FIELD__BASE_URL]}}/{{getImageDiffRelativeUrl(imagePa ir)}}" /> 401 ng-src="{{imageSets[constants.KEY__IMAGESETS__SET__WHITEDIFFS ][constants.KEY__IMAGESETS__FIELD__BASE_URL]}}/{{getImageDiffRelativeUrl(imagePa ir)}}" />
402 <br/>
403 {{imagePair[constants.KEY__IMAGEPAIRS__DIFFERENCES][constants.KEY_ _DIFFERENCES__PERCENT_DIFF_PIXELS].toFixed(4)}}%
404 ({{imagePair[constants.KEY__IMAGEPAIRS__DIFFERENCES][constants.KEY __DIFFERENCES__NUM_DIFF_PIXELS]}})
387 </div> 405 </div>
388 <div ng-show="!imagePair[constants.KEY__IMAGEPAIRS__IS_DIFFERENT]" 406 <div ng-show="!imagePair[constants.KEY__IMAGEPAIRS__IS_DIFFERENT]"
389 style="text-align:center"> 407 style="text-align:center">
390 &ndash;none&ndash; 408 &ndash;none&ndash;
391 </div> 409 </div>
392 </td> 410 </td>
393 411
394 <!-- diffs: per-channel RGB deltas --> 412 <!-- diffs: per-channel RGB deltas -->
395 <td valign="bottom" width="{{imageSize}}"> 413 <td width="{{imageSize}}" ng-if="imagePair[constants.KEY__IMAGEPAIRS__ ROWSPAN] > 0" rowspan="{{imagePair[constants.KEY__IMAGEPAIRS__ROWSPAN]}}">
396 <div ng-if="imagePair[constants.KEY__IMAGEPAIRS__IS_DIFFERENT]" 414 <div ng-if="imagePair[constants.KEY__IMAGEPAIRS__IS_DIFFERENT]"
397 title="Perceptual difference measure is {{imagePair[constants.K EY__IMAGEPAIRS__DIFFERENCES][constants.KEY__DIFFERENCES__PERCEPTUAL_DIFF].toFixe d(4)}}%. Maximum difference per channel: R={{imagePair[constants.KEY__IMAGEPAIR S__DIFFERENCES][constants.KEY__DIFFERENCES__MAX_DIFF_PER_CHANNEL][0]}}, G={{imag ePair[constants.KEY__IMAGEPAIRS__DIFFERENCES][constants.KEY__DIFFERENCES__MAX_DI FF_PER_CHANNEL][1]}}, B={{imagePair[constants.KEY__IMAGEPAIRS__DIFFERENCES][cons tants.KEY__DIFFERENCES__MAX_DIFF_PER_CHANNEL][2]}}"> 415 title="Perceptual difference measure is {{imagePair[constants.K EY__IMAGEPAIRS__DIFFERENCES][constants.KEY__DIFFERENCES__PERCEPTUAL_DIFF].toFixe d(4)}}%. Maximum difference per channel: R={{imagePair[constants.KEY__IMAGEPAIR S__DIFFERENCES][constants.KEY__DIFFERENCES__MAX_DIFF_PER_CHANNEL][0]}}, G={{imag ePair[constants.KEY__IMAGEPAIRS__DIFFERENCES][constants.KEY__DIFFERENCES__MAX_DI FF_PER_CHANNEL][1]}}, B={{imagePair[constants.KEY__IMAGEPAIRS__DIFFERENCES][cons tants.KEY__DIFFERENCES__MAX_DIFF_PER_CHANNEL][2]}}">
398 416
399 {{imagePair[constants.KEY__IMAGEPAIRS__DIFFERENCES][constants.KEY_ _DIFFERENCES__PERCEPTUAL_DIFF].toFixed(4)}}%
400 {{imagePair[constants.KEY__IMAGEPAIRS__DIFFERENCES][constants.KEY_ _DIFFERENCES__MAX_DIFF_PER_CHANNEL]}}
401 <br/>
402 <a href="{{imageSets[constants.KEY__IMAGESETS__SET__DIFFS][constan ts.KEY__IMAGESETS__FIELD__BASE_URL]}}/{{getImageDiffRelativeUrl(imagePair)}}" ta rget="_blank">View Image</a><br/> 417 <a href="{{imageSets[constants.KEY__IMAGESETS__SET__DIFFS][constan ts.KEY__IMAGESETS__FIELD__BASE_URL]}}/{{getImageDiffRelativeUrl(imagePair)}}" ta rget="_blank">View Image</a><br/>
403 <img ng-if="showThumbnails" 418 <img ng-if="showThumbnails"
404 ng-style="{backgroundColor: pixelDiffBgColor}" 419 ng-style="{backgroundColor: pixelDiffBgColor}"
405 width="{{imageSize}}" 420 width="{{imageSize}}"
406 ng-src="{{imageSets[constants.KEY__IMAGESETS__SET__DIFFS][con stants.KEY__IMAGESETS__FIELD__BASE_URL]}}/{{getImageDiffRelativeUrl(imagePair)}} " /> 421 ng-src="{{imageSets[constants.KEY__IMAGESETS__SET__DIFFS][con stants.KEY__IMAGESETS__FIELD__BASE_URL]}}/{{getImageDiffRelativeUrl(imagePair)}} " />
422 <br/>
423 {{imagePair[constants.KEY__IMAGEPAIRS__DIFFERENCES][constants.KEY_ _DIFFERENCES__PERCEPTUAL_DIFF].toFixed(4)}}%
424 {{imagePair[constants.KEY__IMAGEPAIRS__DIFFERENCES][constants.KEY_ _DIFFERENCES__MAX_DIFF_PER_CHANNEL]}}
407 </div> 425 </div>
408 <div ng-show="!imagePair[constants.KEY__IMAGEPAIRS__IS_DIFFERENT]" 426 <div ng-show="!imagePair[constants.KEY__IMAGEPAIRS__IS_DIFFERENT]"
409 style="text-align:center"> 427 style="text-align:center">
410 &ndash;none&ndash; 428 &ndash;none&ndash;
411 </div> 429 </div>
412 </td> 430 </td>
413 431
414 <td> 432 <td ng-if="imagePair[constants.KEY__IMAGEPAIRS__ROWSPAN] > 0" rowspan= "{{imagePair[constants.KEY__IMAGEPAIRS__ROWSPAN]}}">
433 <br/>
415 <input type="checkbox" 434 <input type="checkbox"
416 name="rowSelect" 435 name="rowSelect"
417 value="{{imagePair.index}}" 436 value="{{imagePair.index}}"
418 ng-checked="isValueInArray(imagePair.index, selectedImagePair s)" 437 ng-checked="isValueInArray(imagePair.index, selectedImagePair s)"
419 ng-click="toggleValueInArray(imagePair.index, selectedImagePa irs)"> 438 ng-click="toggleSomeImagePairs($index, imagePair[constants.KE Y__IMAGEPAIRS__ROWSPAN])">
420 </tr> 439 </tr>
421 </table> <!-- imagePairs --> 440 </table> <!-- imagePairs -->
422 </td></tr></table> <!-- table holding results header + imagePairs table --> 441 </td></tr></table> <!-- table holding results header + imagePairs table -->
423 442
424 </div><!-- main display area of selected tab --> 443 </div><!-- main display area of selected tab -->
425 </div><!-- everything: hide until data is loaded --> 444 </div><!-- everything: hide until data is loaded -->
426 445
427 </body> 446 </body>
428 </html> 447 </html>
OLDNEW
« no previous file with comments | « gm/rebaseline_server/static/view.css ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698