]> git.ipfire.org Git - thirdparty/bugzilla.git/commitdiff
Bug 1286027 - Display MozReview diff stats r=glob
authorMark Côté <mcote@alumni.uwaterloo.ca>
Wed, 3 Aug 2016 15:59:23 +0000 (11:59 -0400)
committerMark Côté <mcote@alumni.uwaterloo.ca>
Wed, 3 Aug 2016 15:59:23 +0000 (11:59 -0400)
Now that MozReview's ReviewRequestSummary API has diff stats (lines added
and removed), we can display that in BMO's MozReview table.

I also removed the commit ID and made the summary link to the diff, since
the former doesn't seem to be particularly useful.

extensions/MozReview/template/en/default/moz_review/table.html.tmpl
extensions/MozReview/web/js/mozreview.js
extensions/MozReview/web/style/mozreview.css

index 7f5c3a89d6af0aeed239a7733fc6eaaddf2be25b..84b7add470542a891015ffe96050cd59ccac6f82 100644 (file)
@@ -11,7 +11,7 @@
     <tr>
       <th>Submitter</th>
       <th>Diff</th>
-      <th>Reviews</th>
+      <th>Changes</th>
       <th>Open Issues</th>
       <th>Last Updated</th>
     </tr>
index 22ef4c5f1c91cbca9697b2f109d098f95f286274..6fe51f53b9b46b198bcb9482d9b4d2c521cf5ae8 100644 (file)
@@ -27,32 +27,46 @@ MozReview.getReviewRequest = function() {
         return rrUrl(rrId) + 'diff/#index_header';
     }
 
+    function humanizedInt(i) {
+        if (i > 1000) {
+            return (i / 1000).toFixed(1) + 'k';
+        } else {
+            return '' + i;
+        }
+    }
+
     function rrCommitRow(rr, firstCommit) {
         var trCommit = tr.clone();
         var tdSubmitter = td.clone();
-        var tdRev = td.clone();
         var tdSummary = td.clone();
         var diffLink = link.clone();
-        var reviewLink = link.clone();
+        var diffStat = '';
 
         if (firstCommit) {
             tdSubmitter.text(rr.submitter);
         }
 
+        tdSummary.addClass('mozreview-summary');
         diffLink.attr('href', rrDiffUrl(rr.id));
-        diffLink.text(rr.commit.substr(0, 12));
-        diffLink.addClass('mozreview-diff-link');
-        tdRev.append(diffLink);
+        diffLink.text(rr.summary);
+        tdSummary.append(diffLink);
 
-        tdSummary.addClass('mozreview-summary');
-        reviewLink.attr('href', rrUrl(rr.id));
-        reviewLink.text(rr.summary);
-        tdSummary.append(reviewLink);
+        if (rr.diff.insert > 0) {
+            diffStat = '+' + humanizedInt(rr.diff.insert);
+        }
+
+        if (rr.diff.delete > 0) {
+            if (diffStat.length > 0) {
+                diffStat += ' / ';
+            }
+            diffStat += '-' + humanizedInt(rr.diff.delete);
+        }
 
         trCommit.append(
             tdSubmitter,
-            tdRev,
             tdSummary,
+            td.clone().text(diffStat)
+                      .addClass('mozreview-diffstat'),
             td.clone().text(rr.issue_open_count)
                       .addClass('mozreview-open-issues'),
             td.clone().text(timeAgo(new Date(rr.last_updated)))
index 4a288d927adc078692dbcf5dc3a7dd199dd3acbe..a2263fc119ac2e48a8abd675032c861c739513ec 100644 (file)
@@ -50,8 +50,9 @@
     text-align: center;
 }
 
-.mozreview-diff-link {
-    font-family: monospace;
+.mozreview-requests .mozreview-diffstat {
+    text-align: center;
+    white-space: nowrap;
 }
 
 /* bug-modal specific */