aboutsummaryrefslogtreecommitdiffhomepage
path: root/gm/rebaseline_server/static/view.html
diff options
context:
space:
mode:
authorGravatar epoger <epoger@google.com>2014-06-11 14:01:35 -0700
committerGravatar Commit bot <commit-bot@chromium.org>2014-06-11 14:01:35 -0700
commit6b28120e4c5e05a68e4947a3558f8d6615720a6e (patch)
treece2df498f05d8e4ab74f5e291239c542c2b925dc /gm/rebaseline_server/static/view.html
parent66c9582d1bed717d72c9d3f789f761cb08e28264 (diff)
rebaseline_server: merge identical results (across multiple builders/configs) into a single row
BUG=skia:2534 R=jcgregorio@google.com Author: epoger@google.com Review URL: https://codereview.chromium.org/326013002
Diffstat (limited to 'gm/rebaseline_server/static/view.html')
-rw-r--r--gm/rebaseline_server/static/view.html45
1 files changed, 32 insertions, 13 deletions
diff --git a/gm/rebaseline_server/static/view.html b/gm/rebaseline_server/static/view.html
index 5ded6973f7..68340ebe14 100644
--- a/gm/rebaseline_server/static/view.html
+++ b/gm/rebaseline_server/static/view.html
@@ -126,6 +126,12 @@
Show thumbnails
</td></tr>
<tr><td>
+ <input type="checkbox" ng-model="mergeIdenticalRowsPending"
+ ng-init="mergeIdenticalRowsPending = true"
+ ng-change="areUpdatesPending = true"/>
+ Merge identical rows
+ </td></tr>
+ <tr><td>
Image width
<input type="text" ng-model="imageSizePending"
ng-init="imageSizePending=100"
@@ -248,9 +254,19 @@
bugs
</th>
<th width="{{imageSize}}">
+ <input type="radio"
+ name="sortColumnRadio"
+ value="imageA"
+ ng-checked="(sortColumnKey == constants.KEY__IMAGEPAIRS__IMAGE_A_URL)"
+ ng-click="sortResultsBy('none', constants.KEY__IMAGEPAIRS__IMAGE_A_URL)">
{{imageSets[constants.KEY__IMAGESETS__SET__IMAGE_A][constants.KEY__IMAGESETS__FIELD__DESCRIPTION]}}
</th>
<th width="{{imageSize}}">
+ <input type="radio"
+ name="sortColumnRadio"
+ value="imageB"
+ ng-checked="(sortColumnKey == constants.KEY__IMAGEPAIRS__IMAGE_B_URL)"
+ ng-click="sortResultsBy('none', constants.KEY__IMAGEPAIRS__IMAGE_B_URL)">
{{imageSets[constants.KEY__IMAGESETS__SET__IMAGE_B][constants.KEY__IMAGESETS__FIELD__DESCRIPTION]}}
</th>
<th width="{{imageSize}}">
@@ -280,7 +296,9 @@
</th>
</tr>
- <tr ng-repeat="imagePair in limitedImagePairs" results-updated-callback-directive>
+ <tr ng-repeat="imagePair in limitedImagePairs" valign="top"
+ ng-class-odd="'results-odd'" ng-class-even="'results-even'"
+ results-updated-callback-directive>
<td>
{{imagePair[constants.KEY__IMAGEPAIRS__EXTRACOLUMNS][constants.KEY__EXTRACOLUMNS__RESULT_TYPE]}}
<br>
@@ -345,7 +363,7 @@
</td>
<!-- image A -->
- <td valign="bottom" width="{{imageSize}}">
+ <td width="{{imageSize}}" ng-if="imagePair[constants.KEY__IMAGEPAIRS__ROWSPAN] > 0" rowspan="{{imagePair[constants.KEY__IMAGEPAIRS__ROWSPAN]}}">
<div ng-if="imagePair[constants.KEY__IMAGEPAIRS__IMAGE_A_URL] != null">
<a href="{{imageSets[constants.KEY__IMAGESETS__SET__IMAGE_A][constants.KEY__IMAGESETS__FIELD__BASE_URL]}}/{{imagePair[constants.KEY__IMAGEPAIRS__IMAGE_A_URL]}}" target="_blank">View Image</a><br/>
<img ng-if="showThumbnails"
@@ -359,7 +377,7 @@
</td>
<!-- image B -->
- <td valign="bottom" width="{{imageSize}}">
+ <td width="{{imageSize}}" ng-if="imagePair[constants.KEY__IMAGEPAIRS__ROWSPAN] > 0" rowspan="{{imagePair[constants.KEY__IMAGEPAIRS__ROWSPAN]}}">
<div ng-if="imagePair[constants.KEY__IMAGEPAIRS__IMAGE_B_URL] != null">
<a href="{{imageSets[constants.KEY__IMAGESETS__SET__IMAGE_B][constants.KEY__IMAGESETS__FIELD__BASE_URL]}}/{{imagePair[constants.KEY__IMAGEPAIRS__IMAGE_B_URL]}}" target="_blank">View Image</a><br/>
<img ng-if="showThumbnails"
@@ -373,17 +391,17 @@
</td>
<!-- whitediffs: every differing pixel shown in white -->
- <td valign="bottom" width="{{imageSize}}">
+ <td width="{{imageSize}}" ng-if="imagePair[constants.KEY__IMAGEPAIRS__ROWSPAN] > 0" rowspan="{{imagePair[constants.KEY__IMAGEPAIRS__ROWSPAN]}}">
<div ng-if="imagePair[constants.KEY__IMAGEPAIRS__IS_DIFFERENT]"
title="{{imagePair[constants.KEY__IMAGEPAIRS__DIFFERENCES][constants.KEY__DIFFERENCES__NUM_DIFF_PIXELS] | number:0}} of {{(100 * imagePair[constants.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__IMAGEPAIRS__DIFFERENCES][constants.KEY__DIFFERENCES__PERCENT_DIFF_PIXELS].toFixed(4)}}%) differ from expectation.">
- {{imagePair[constants.KEY__IMAGEPAIRS__DIFFERENCES][constants.KEY__DIFFERENCES__PERCENT_DIFF_PIXELS].toFixed(4)}}%
- ({{imagePair[constants.KEY__IMAGEPAIRS__DIFFERENCES][constants.KEY__DIFFERENCES__NUM_DIFF_PIXELS]}})
- <br/>
<a href="{{imageSets[constants.KEY__IMAGESETS__SET__WHITEDIFFS][constants.KEY__IMAGESETS__FIELD__BASE_URL]}}/{{getImageDiffRelativeUrl(imagePair)}}" target="_blank">View Image</a><br/>
<img ng-if="showThumbnails"
width="{{imageSize}}"
ng-src="{{imageSets[constants.KEY__IMAGESETS__SET__WHITEDIFFS][constants.KEY__IMAGESETS__FIELD__BASE_URL]}}/{{getImageDiffRelativeUrl(imagePair)}}" />
+ <br/>
+ {{imagePair[constants.KEY__IMAGEPAIRS__DIFFERENCES][constants.KEY__DIFFERENCES__PERCENT_DIFF_PIXELS].toFixed(4)}}%
+ ({{imagePair[constants.KEY__IMAGEPAIRS__DIFFERENCES][constants.KEY__DIFFERENCES__NUM_DIFF_PIXELS]}})
</div>
<div ng-show="!imagePair[constants.KEY__IMAGEPAIRS__IS_DIFFERENT]"
style="text-align:center">
@@ -392,18 +410,18 @@
</td>
<!-- diffs: per-channel RGB deltas -->
- <td valign="bottom" width="{{imageSize}}">
+ <td width="{{imageSize}}" ng-if="imagePair[constants.KEY__IMAGEPAIRS__ROWSPAN] > 0" rowspan="{{imagePair[constants.KEY__IMAGEPAIRS__ROWSPAN]}}">
<div ng-if="imagePair[constants.KEY__IMAGEPAIRS__IS_DIFFERENT]"
title="Perceptual difference measure is {{imagePair[constants.KEY__IMAGEPAIRS__DIFFERENCES][constants.KEY__DIFFERENCES__PERCEPTUAL_DIFF].toFixed(4)}}%. Maximum difference per channel: R={{imagePair[constants.KEY__IMAGEPAIRS__DIFFERENCES][constants.KEY__DIFFERENCES__MAX_DIFF_PER_CHANNEL][0]}}, G={{imagePair[constants.KEY__IMAGEPAIRS__DIFFERENCES][constants.KEY__DIFFERENCES__MAX_DIFF_PER_CHANNEL][1]}}, B={{imagePair[constants.KEY__IMAGEPAIRS__DIFFERENCES][constants.KEY__DIFFERENCES__MAX_DIFF_PER_CHANNEL][2]}}">
- {{imagePair[constants.KEY__IMAGEPAIRS__DIFFERENCES][constants.KEY__DIFFERENCES__PERCEPTUAL_DIFF].toFixed(4)}}%
- {{imagePair[constants.KEY__IMAGEPAIRS__DIFFERENCES][constants.KEY__DIFFERENCES__MAX_DIFF_PER_CHANNEL]}}
- <br/>
<a href="{{imageSets[constants.KEY__IMAGESETS__SET__DIFFS][constants.KEY__IMAGESETS__FIELD__BASE_URL]}}/{{getImageDiffRelativeUrl(imagePair)}}" target="_blank">View Image</a><br/>
<img ng-if="showThumbnails"
ng-style="{backgroundColor: pixelDiffBgColor}"
width="{{imageSize}}"
ng-src="{{imageSets[constants.KEY__IMAGESETS__SET__DIFFS][constants.KEY__IMAGESETS__FIELD__BASE_URL]}}/{{getImageDiffRelativeUrl(imagePair)}}" />
+ <br/>
+ {{imagePair[constants.KEY__IMAGEPAIRS__DIFFERENCES][constants.KEY__DIFFERENCES__PERCEPTUAL_DIFF].toFixed(4)}}%
+ {{imagePair[constants.KEY__IMAGEPAIRS__DIFFERENCES][constants.KEY__DIFFERENCES__MAX_DIFF_PER_CHANNEL]}}
</div>
<div ng-show="!imagePair[constants.KEY__IMAGEPAIRS__IS_DIFFERENT]"
style="text-align:center">
@@ -411,12 +429,13 @@
</div>
</td>
- <td>
+ <td ng-if="imagePair[constants.KEY__IMAGEPAIRS__ROWSPAN] > 0" rowspan="{{imagePair[constants.KEY__IMAGEPAIRS__ROWSPAN]}}">
+ <br/>
<input type="checkbox"
name="rowSelect"
value="{{imagePair.index}}"
ng-checked="isValueInArray(imagePair.index, selectedImagePairs)"
- ng-click="toggleValueInArray(imagePair.index, selectedImagePairs)">
+ ng-click="toggleSomeImagePairs($index, imagePair[constants.KEY__IMAGEPAIRS__ROWSPAN])">
</tr>
</table> <!-- imagePairs -->
</td></tr></table> <!-- table holding results header + imagePairs table -->