Mercurial > hg
view mercurial/templates/paper/graph.tmpl @ 14046:b24e5a708fad
web: Made elapsed time calculation dynamic (javascript).
This allow safe caching of the pages by the browser and still display the right
amount of elapsed time upon page refresh.
If javascript is disabled, absolute time is displayed, leaving it readable.
All the templates have been updated.
author | Benoit Allard <benoit@aeteurope.nl> |
---|---|
date | Thu, 28 Apr 2011 17:02:39 +0200 |
parents | 616ad3f6fd33 |
children | 44382887d012 ad6eb7d7dbca |
line wrap: on
line source
{header} <title>{repo|escape}: revision graph</title> <link rel="alternate" type="application/atom+xml" href="{url}atom-log" title="Atom feed for {repo|escape}: log" /> <link rel="alternate" type="application/rss+xml" href="{url}rss-log" title="RSS feed for {repo|escape}: log" /> <!--[if IE]><script type="text/javascript" src="{staticurl}excanvas.js"></script><![endif]--> </head> <body> <div class="container"> <div class="menu"> <div class="logo"> <a href="{logourl}"> <img src="{staticurl}hglogo.png" alt="mercurial" /></a> </div> <ul> <li><a href="{url}shortlog/{node|short}{sessionvars%urlparameter}">log</a></li> <li class="active">graph</li> <li><a href="{url}tags{sessionvars%urlparameter}">tags</a></li> <li><a href="{url}bookmarks{sessionvars%urlparameter}">bookmarks</a></li> <li><a href="{url}branches{sessionvars%urlparameter}">branches</a></li> </ul> <ul> <li><a href="{url}rev/{node|short}{sessionvars%urlparameter}">changeset</a></li> <li><a href="{url}file/{node|short}{path|urlescape}{sessionvars%urlparameter}">browse</a></li> </ul> <ul> <li><a href="{url}help{sessionvars%urlparameter}">help</a></li> </ul> </div> <div class="main"> <h2><a href="{url}{sessionvars%urlparameter}">{repo|escape}</a></h2> <h3>graph</h3> <form class="search" action="{url}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}graph/{rev}{lessvars%urlparameter}">less</a> <a href="{url}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"></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.edge = function(x0, y0, x1, y1, color) \{ this.setColor(color, 0.0, 0.65); this.ctx.beginPath(); this.ctx.moveTo(x0, y0); this.ctx.lineTo(x1, y1); this.ctx.stroke(); } var revlink = '<li style="_STYLE"><span class="desc">'; revlink += '<a href="{url}rev/_NODEID{sessionvars%urlparameter}" title="_NODEID">_DESC</a>'; revlink += '</span>_TAGS<span class="info">_DATE, by _USER</span></li>'; 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 parity' + parity + '"></li>'; var left = (this.columns + 1) * this.bg_height; var nstyle = 'padding-left: ' + left + 'px;'; var item = revlink.replace(/_STYLE/, nstyle); item = item.replace(/_PARITY/, 'parity' + parity); item = item.replace(/_NODEID/, cur[0]); item = item.replace(/_NODEID/, cur[0]); item = item.replace(/_DESC/, cur[3]); item = item.replace(/_USER/, cur[4]); item = item.replace(/_DATE/, cur[5]); var tagspan = ''; if (cur[7].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>'; } item = item.replace(/_TAGS/, tagspan); return [bg, item]; } graph.render(data); // stop hiding script --> </script> <div class="navigate"> <a href="{url}graph/{rev}{lessvars%urlparameter}">less</a> <a href="{url}graph/{rev}{morevars%urlparameter}">more</a> | rev {rev}: {changenav%navgraph} </div> </div> </div> {footer}