mirror of
https://github.com/facebook/sapling.git
synced 2024-10-10 16:57:49 +03:00
8daea28f61
Let's make monoblue templates use symbolic revision in navigation links. The majority of links (log, filelog, annotate, etc) still use node hashes. Some pages don't have permanent links to current node hash (so it's not very easy to go from /rev/tip to /rev/<tip hash>), this will be addressed in future patches.
119 lines
4.6 KiB
Cheetah
119 lines
4.6 KiB
Cheetah
{header}
|
|
<title>{repo|escape}: graph</title>
|
|
<link rel="alternate" type="application/atom+xml" href="{url|urlescape}atom-log" title="Atom feed for {repo|escape}"/>
|
|
<link rel="alternate" type="application/rss+xml" href="{url|urlescape}rss-log" title="RSS feed for {repo|escape}"/>
|
|
<!--[if IE]><script type="text/javascript" src="{staticurl|urlescape}excanvas.js"></script><![endif]-->
|
|
</head>
|
|
|
|
<body>
|
|
<div id="container">
|
|
<div class="page-header">
|
|
<h1 class="breadcrumb"><a href="/">Mercurial</a> {pathdef%breadcrumb} / graph</h1>
|
|
|
|
<form action="{url|urlescape}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|urlescape}summary{sessionvars%urlparameter}">summary</a></li>
|
|
<li><a href="{url|urlescape}shortlog{sessionvars%urlparameter}">shortlog</a></li>
|
|
<li><a href="{url|urlescape}changelog{sessionvars%urlparameter}">changelog</a></li>
|
|
<li class="current">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>
|
|
<li><a href="{url|urlescape}file/{symrev}{sessionvars%urlparameter}">files</a></li>
|
|
<li><a href="{url|urlescape}help{sessionvars%urlparameter}">help</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="480" height="{canvasheight}"></canvas>
|
|
<ul id="graphnodes"></ul>
|
|
</div>
|
|
|
|
<script>
|
|
<!-- hide script content
|
|
|
|
document.getElementById('noscript').style.display = 'none';
|
|
|
|
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 parity' + parity + '"></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="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> ';
|
|
}
|
|
}
|
|
if (cur[8].length) \{
|
|
for (var t in cur[8]) \{
|
|
var bookmark = cur[8][t];
|
|
tagspan += '<span class="bookmarktag">' + 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="page-path">
|
|
<a href="{url|urlescape}graph/{symrev}{lessvars%urlparameter}">less</a>
|
|
<a href="{url|urlescape}graph/{symrev}{morevars%urlparameter}">more</a>
|
|
| {changenav%navgraph}
|
|
</div>
|
|
|
|
<script type="text/javascript">
|
|
ajaxScrollInit(
|
|
'{url|urlescape}graph/{rev}?revcount=%next%&style={style}',
|
|
{revcount}+60,
|
|
function (htmlText, previousVal) \{ return previousVal + 60; },
|
|
'#wrapper',
|
|
'<div class="%class%" style="text-align: center;">%text%</div>',
|
|
'graph'
|
|
);
|
|
</script>
|
|
|
|
{footer}
|