Mercurial > hg
view mercurial/templates/paper/graph.tmpl @ 19781:74564c90026b
hgweb: make infinite scroll handling more generic and extensible
Namely, this allows the next page pointer to be not only revision hash given
in page code, but also any value computed from the value for previous page.
author | Alexander Plavin <alexander@plav.in> |
---|---|
date | Sun, 22 Sep 2013 14:18:23 +0400 |
parents | ece3b329ad25 |
children | 1c2a309bba4f |
line wrap: on
line source
{header} <title>{repo|escape}: revision graph</title> <link rel="alternate" type="application/atom+xml" href="{url|urlescape}atom-log" title="Atom feed for {repo|escape}: log" /> <link rel="alternate" type="application/rss+xml" href="{url|urlescape}rss-log" title="RSS feed for {repo|escape}: log" /> <!--[if IE]><script type="text/javascript" src="{staticurl|urlescape}excanvas.js"></script><![endif]--> </head> <body> <div class="container"> <div class="menu"> <div class="logo"> <a href="{logourl}"> <img src="{staticurl|urlescape}{logoimg}" alt="mercurial" /></a> </div> <ul> <li><a href="{url|urlescape}shortlog/{node|short}{sessionvars%urlparameter}">log</a></li> <li class="active">graph</li> <li><a href="{url|urlescape}tags{sessionvars%urlparameter}">tags</a></li> <li><a href="{url|urlescape}bookmarks{sessionvars%urlparameter}">bookmarks</a></li> <li><a href="{url|urlescape}branches{sessionvars%urlparameter}">branches</a></li> </ul> <ul> <li><a href="{url|urlescape}rev/{node|short}{sessionvars%urlparameter}">changeset</a></li> <li><a href="{url|urlescape}file/{node|short}{path|urlescape}{sessionvars%urlparameter}">browse</a></li> </ul> <ul> <li><a href="{url|urlescape}help{sessionvars%urlparameter}">help</a></li> </ul> <p> <div class="atom-logo"> <a href="{url|urlescape}atom-log" title="subscribe to atom feed"> <img class="atom-logo" src="{staticurl|urlescape}feed-icon-14x14.png" alt="atom feed"> </a> </div> </div> <div class="main"> <h2 class="breadcrumb"><a href="/">Mercurial</a> {pathdef%breadcrumb}</h2> <h3>graph</h3> <form class="search" action="{url|urlescape}log"> {sessionvars%hiddenformentry} <p><input name="rev" id="search1" type="text" size="30" /></p> <div id="hint">find changesets by author, revision, files, or words in the commit message</div> </form> <div class="navigate"> <a href="{url|urlescape}graph/{rev}{lessvars%urlparameter}">less</a> <a href="{url|urlescape}graph/{rev}{morevars%urlparameter}">more</a> | rev {rev}: {changenav%navgraph} </div> <noscript><p>The revision graph only works with JavaScript-enabled browsers.</p></noscript> <div id="wrapper"> <ul id="nodebgs" class="stripes2"></ul> <canvas id="graph" width="480" height="{canvasheight}"></canvas> <ul id="graphnodes"></ul> </div> <script type="text/javascript"> <!-- hide script content var data = {jsdata|json}; var graph = new Graph(); graph.scale({bg_height}); graph.vertex = function(x, y, color, parity, cur) \{ this.ctx.beginPath(); color = this.setColor(color, 0.25, 0.75); this.ctx.arc(x, y, radius, 0, Math.PI * 2, true); this.ctx.fill(); var bg = '<li class="bg"></li>'; var left = (this.bg_height - this.box_size) + (this.columns + 1) * this.box_size; var nstyle = 'padding-left: ' + left + 'px;'; var tagspan = ''; if (cur[7].length || cur[8].length || (cur[6][0] != 'default' || cur[6][1])) \{ tagspan = '<span class="logtags">'; if (cur[6][1]) \{ tagspan += '<span class="branchhead" title="' + cur[6][0] + '">'; tagspan += cur[6][0] + '</span> '; } else if (!cur[6][1] && cur[6][0] != 'default') \{ tagspan += '<span class="branchname" title="' + cur[6][0] + '">'; tagspan += cur[6][0] + '</span> '; } if (cur[7].length) \{ for (var t in cur[7]) \{ var tag = cur[7][t]; tagspan += '<span class="tag">' + tag + '</span> '; } } if (cur[8].length) \{ for (var b in cur[8]) \{ var bookmark = cur[8][b]; tagspan += '<span class="tag">' + bookmark + '</span> '; } } tagspan += '</span>'; } var item = '<li style="' + nstyle + '"><span class="desc">'; item += '<a href="{url|urlescape}rev/' + cur[0] + '{sessionvars%urlparameter}" title="' + cur[0] + '">' + cur[3] + '</a>'; item += '</span>' + tagspan + '<span class="info">' + cur[5] + ', by ' + cur[4] + '</span></li>'; return [bg, item]; } graph.render(data); // stop hiding script --> </script> <div class="navigate"> <a href="{url|urlescape}graph/{rev}{lessvars%urlparameter}">less</a> <a href="{url|urlescape}graph/{rev}{morevars%urlparameter}">more</a> | rev {rev}: {changenav%navgraph} </div> </div> </div> {footer}