# HG changeset patch # User Steven Brown <StevenGBrown@gmail.com> # Date 2011-06-11 13:24:50 # Node ID 17c0cb1045e549d9bbbd9ba25dee18f7df4a11a3 # Parent 9f908ef5a595ff3be835a14cc0f4f4df51645268 paper, coal: display diffstat on the changeset page Displayed in a row of the changeset summary table, underneath the list of files. When the page is loaded, only the diff summary is displayed. The full diffstat is only displayed when the [+] link is selected. diff --git a/mercurial/templates/paper/changeset.tmpl b/mercurial/templates/paper/changeset.tmpl --- a/mercurial/templates/paper/changeset.tmpl +++ b/mercurial/templates/paper/changeset.tmpl @@ -62,6 +62,18 @@ files, or words in the commit message</d <th class="files">files</th> <td class="files">{files}</td> </tr> +<tr> + <th class="diffstat">diffstat</th> + <td class="diffstat"> + {diffsummary} + <a id="diffstatexpand" href="javascript:showDiffstat()"/>[+]</a> + <div id="diffstatdetails" style="display:none;"> + <a href="javascript:hideDiffstat()"/>[-]</a> + <p> + <table>{diffstat}</table> + </div> + </td> +</tr> </table> <div class="overflow"> diff --git a/mercurial/templates/static/mercurial.js b/mercurial/templates/static/mercurial.js --- a/mercurial/templates/static/mercurial.js +++ b/mercurial/templates/static/mercurial.js @@ -2,6 +2,7 @@ // // Rendering of branch DAGs on the client side // Display of elapsed time +// Show or hide diffstat // // Copyright 2008 Dirkjan Ochtman <dirkjan AT ochtman DOT nl> // Copyright 2006 Alexander Schremmer <alex AT alexanderweb DOT de> @@ -218,3 +219,13 @@ process_dates = (function(document, RegE } } })(document, RegExp, Math, isNaN, Date, false, true) + +function showDiffstat() { + document.getElementById('diffstatdetails').style.display = 'inline'; + document.getElementById('diffstatexpand').style.display = 'none'; +} + +function hideDiffstat() { + document.getElementById('diffstatdetails').style.display = 'none'; + document.getElementById('diffstatexpand').style.display = 'inline'; +} diff --git a/tests/test-hgweb-commands.t b/tests/test-hgweb-commands.t --- a/tests/test-hgweb-commands.t +++ b/tests/test-hgweb-commands.t @@ -352,6 +352,35 @@ Logs and changes <th class="files">files</th> <td class="files"><a href="/file/2ef0ac749a14/da/foo">da/foo</a> <a href="/file/2ef0ac749a14/foo">foo</a> </td> </tr> + <tr> + <th class="diffstat">diffstat</th> + <td class="diffstat"> + 2 files changed, 2 insertions(+), 0 deletions(-) + + <a id="diffstatexpand" href="javascript:showDiffstat()"/>[+]</a> + <div id="diffstatdetails" style="display:none;"> + <a href="javascript:hideDiffstat()"/>[-]</a> + <p> + <table> <tr class="parity0"> + <td class="diffstat-file"><a href="#l1.1">da/foo</a></td> + <td class="diffstat-total" align="right">1</td> + <td class="diffstat-graph"> + <span class="diffstat-add" style="width:100.0%;"> </span> + <span class="diffstat-remove" style="width:0.0%;"> </span> + </td> + </tr> + <tr class="parity1"> + <td class="diffstat-file"><a href="#l2.1">foo</a></td> + <td class="diffstat-total" align="right">1</td> + <td class="diffstat-graph"> + <span class="diffstat-add" style="width:100.0%;"> </span> + <span class="diffstat-remove" style="width:0.0%;"> </span> + </td> + </tr> + </table> + </div> + </td> + </tr> </table> <div class="overflow"> diff --git a/tests/test-hgweb-diffs.t b/tests/test-hgweb-diffs.t --- a/tests/test-hgweb-diffs.t +++ b/tests/test-hgweb-diffs.t @@ -94,6 +94,35 @@ revision <th class="files">files</th> <td class="files"><a href="/file/0cd96de13884/a">a</a> <a href="/file/0cd96de13884/b">b</a> </td> </tr> + <tr> + <th class="diffstat">diffstat</th> + <td class="diffstat"> + 2 files changed, 2 insertions(+), 0 deletions(-) + + <a id="diffstatexpand" href="javascript:showDiffstat()"/>[+]</a> + <div id="diffstatdetails" style="display:none;"> + <a href="javascript:hideDiffstat()"/>[-]</a> + <p> + <table> <tr class="parity0"> + <td class="diffstat-file"><a href="#l1.1">a</a></td> + <td class="diffstat-total" align="right">1</td> + <td class="diffstat-graph"> + <span class="diffstat-add" style="width:100.0%;"> </span> + <span class="diffstat-remove" style="width:0.0%;"> </span> + </td> + </tr> + <tr class="parity1"> + <td class="diffstat-file"><a href="#l2.1">b</a></td> + <td class="diffstat-total" align="right">1</td> + <td class="diffstat-graph"> + <span class="diffstat-add" style="width:100.0%;"> </span> + <span class="diffstat-remove" style="width:0.0%;"> </span> + </td> + </tr> + </table> + </div> + </td> + </tr> </table> <div class="overflow"> @@ -325,6 +354,35 @@ revision <th class="files">files</th> <td class="files"><a href="/file/0cd96de13884/a">a</a> <a href="/file/0cd96de13884/b">b</a> </td> </tr> + <tr> + <th class="diffstat">diffstat</th> + <td class="diffstat"> + 2 files changed, 2 insertions(+), 0 deletions(-) + + <a id="diffstatexpand" href="javascript:showDiffstat()"/>[+]</a> + <div id="diffstatdetails" style="display:none;"> + <a href="javascript:hideDiffstat()"/>[-]</a> + <p> + <table> <tr class="parity0"> + <td class="diffstat-file"><a href="#l1.1">a</a></td> + <td class="diffstat-total" align="right">1</td> + <td class="diffstat-graph"> + <span class="diffstat-add" style="width:100.0%;"> </span> + <span class="diffstat-remove" style="width:0.0%;"> </span> + </td> + </tr> + <tr class="parity1"> + <td class="diffstat-file"><a href="#l2.1">b</a></td> + <td class="diffstat-total" align="right">1</td> + <td class="diffstat-graph"> + <span class="diffstat-add" style="width:100.0%;"> </span> + <span class="diffstat-remove" style="width:0.0%;"> </span> + </td> + </tr> + </table> + </div> + </td> + </tr> </table> <div class="overflow"> diff --git a/tests/test-hgweb-removed.t b/tests/test-hgweb-removed.t --- a/tests/test-hgweb-removed.t +++ b/tests/test-hgweb-removed.t @@ -89,6 +89,27 @@ revision <th class="files">files</th> <td class="files">a </td> </tr> + <tr> + <th class="diffstat">diffstat</th> + <td class="diffstat"> + 1 files changed, 0 insertions(+), 1 deletions(-) + + <a id="diffstatexpand" href="javascript:showDiffstat()"/>[+]</a> + <div id="diffstatdetails" style="display:none;"> + <a href="javascript:hideDiffstat()"/>[-]</a> + <p> + <table> <tr class="parity0"> + <td class="diffstat-file"><a href="#l1.1">a</a></td> + <td class="diffstat-total" align="right">1</td> + <td class="diffstat-graph"> + <span class="diffstat-add" style="width:0.0%;"> </span> + <span class="diffstat-remove" style="width:100.0%;"> </span> + </td> + </tr> + </table> + </div> + </td> + </tr> </table> <div class="overflow">