##// END OF EJS Templates
cmdutil: hide child window created by win32 spawndetached()...
cmdutil: hide child window created by win32 spawndetached() Hiding the child process window is not strictly necessary but it avoids opening an empty shell window when running hg serve as well as a task in the task bar. The window is hidden after the process is already started causing a single flicker.

File last commit:

r9999:f91e5630 default
r10240:3af4b39a default
Show More
graph.tmpl
118 lines | 4.2 KiB | application/x-cheetah | CheetahLexer
{header}
<title>{repo|escape}: graph</title>
<link rel="alternate" type="application/atom+xml" href="{url}atom-log" title="Atom feed for {repo|escape}"/>
<link rel="alternate" type="application/rss+xml" href="{url}rss-log" title="RSS feed for {repo|escape}"/>
<!--[if IE]><script type="text/javascript" src="{staticurl}excanvas.js"></script><![endif]-->
</head>
<body>
<div id="container">
<div class="page-header">
<h1><a href="{url}summary{sessionvars%urlparameter}">{repo|escape}</a> / graph</h1>
<form action="{url}log">
{sessionvars%hiddenformentry}
<dl class="search">
<dt><label>Search: </label></dt>
<dd><input type="text" name="rev" /></dd>
</dl>
</form>
<ul class="page-nav">
<li><a href="{url}summary{sessionvars%urlparameter}">summary</a></li>
<li><a href="{url}shortlog{sessionvars%urlparameter}">shortlog</a></li>
<li><a href="{url}changelog{sessionvars%urlparameter}">changelog</a></li>
<li class="current">graph</li>
<li><a href="{url}tags{sessionvars%urlparameter}">tags</a></li>
<li><a href="{url}branches{sessionvars%urlparameter}">branches</a></li>
<li><a href="{url}file/{node|short}{sessionvars%urlparameter}">files</a></li>
</ul>
</div>
<h2 class="no-link no-border">graph</h2>
<div id="noscript">The revision graph only works with JavaScript-enabled browsers.</div>
<div id="wrapper">
<ul id="nodebgs"></ul>
<canvas id="graph" width="224" height="{canvasheight}"></canvas>
<ul id="graphnodes"></ul>
</div>
<script type="text/javascript" src="{staticurl}graph.js"></script>
<script>
<!-- hide script content
document.getElementById('noscript').style.display = 'none';
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 ago, 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="branchtag" title="' + cur[6][0] + '">';
tagspan += cur[6][0] + '</span> ';
} else if (!cur[6][1] && cur[6][0] != 'default') {
tagspan += '<span class="inbranchtag" 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="tagtag">' + tag + '</span> ';
}
}
tagspan += '</span>';
}
item = item.replace(/_TAGS/, tagspan);
return [bg, item];
}
graph.render(data);
// stop hiding script -->
</script>
<div class="page-path">
<a href="{url}graph/{rev}{lessvars%urlparameter}">less</a>
<a href="{url}graph/{rev}{morevars%urlparameter}">more</a>
| {changenav%navgraphentry}
</div>
{footer}