##// END OF EJS Templates
Implemented file history.
Implemented file history.

File last commit:

r127:20dc7a5e default
r128:9deb6f1d default
Show More
graph.html
111 lines | 3.0 KiB | text/html | HtmlLexer
<%inherit file="/base/base.html"/>
<%def name="title()">
${_('Repository managment')}
</%def>
<%def name="breadcrumbs()">
${h.link_to(u'Home',h.url('/'))}
/
${h.link_to(c.repo_name,h.url('graph_home',repo_name=c.repo_name))}
/
${_('graph')}
</%def>
<%def name="page_nav()">
<form action="log">
<dl class="search">
<dt><label>Search: </label></dt>
<dd><input type="text" name="rev" /></dd>
</dl>
</form>
${self.menu('graph')}
</%def>
<%def name="main()">
<h2 class="no-link no-border">${_('Graph')} - ${_('showing ')} ${c.size} ${_('revisions')}</h2>
<noscript>${_('The revision graph only works with JavaScript-enabled browsers.')}</noscript>
<div>
${h.form(h.url.current(),method='get')}
${_('Show')}: ${h.text('size',size=10,value=c.size)} ${_('revisions')}
${h.submit('','set')}
${h.end_form()}
</div>
<div id="wrapper">
<ul id="nodebgs"></ul>
<canvas id="graph" width="224" height="${c.canvasheight}"></canvas>
<ul id="graphnodes"></ul>
</div>
<script type="text/javascript" src="/js/graph.js"></script>
<script>
<!-- hide script content
var data = ${c.jsdata|n};
var graph = new Graph();
graph.scale(39);
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 class="list" href="/${c.repo_name}/changeset/_NODEID" title="_NODEID"><b>_DESC</b></a>';
revlink += '</span> _TAGS';
revlink += '<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="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>
<h2>${c.pagination.pager('$link_previous ~2~ $link_next')}</h2>
</div>
</%def>