view mercurial/templates/gitweb/graph.tmpl @ 35094:38fe3fe4bbb6

hgweb: show instabilities of a commit In paper, coal, gitweb and monoblue a new "tag" (or multiple, if there are many instabilities) is added to the same line that has phase, branch, etc of a changeset; in gitweb and monoblue this element has a light red background, in paper and coal the element is black and underlined. In spartan theme instabilities are shown on a separate line. While test-obsolete.t uses first(phasedivergent()) revset to pick a changeset to test, that particular changeset is also an orphan, so two different instability tags are displayed.
author Anton Shestakov <av6@dwimlabs.net>
date Sun, 19 Nov 2017 14:02:50 +0800
parents 816a4fa7d5f8
children 69a865dc2ada
line wrap: on
line source

{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 class="page_header">
<a href="{logourl}" title="Mercurial" style="float: right;">Mercurial</a>
<a href="/">Mercurial</a> {pathdef%breadcrumb} / graph
</div>

<div class="page_nav">
<div>
<a href="{url|urlescape}summary{sessionvars%urlparameter}">summary</a> |
<a href="{url|urlescape}shortlog/{symrev}{sessionvars%urlparameter}">shortlog</a> |
<a href="{url|urlescape}log/{symrev}{sessionvars%urlparameter}">changelog</a> |
graph |
<a href="{url|urlescape}tags{sessionvars%urlparameter}">tags</a> |
<a href="{url|urlescape}bookmarks{sessionvars%urlparameter}">bookmarks</a> |
<a href="{url|urlescape}branches{sessionvars%urlparameter}">branches</a> |
<a href="{url|urlescape}file/{symrev}{sessionvars%urlparameter}">files</a> |
<a href="{url|urlescape}help{sessionvars%urlparameter}">help</a>
<br/>
<a href="{url|urlescape}graph/{symrev}{lessvars%urlparameter}">less</a>
<a href="{url|urlescape}graph/{symrev}{morevars%urlparameter}">more</a>
| {changenav%navgraph}
</div>
{searchform}
</div>

<div class="title">&nbsp;</div>

<noscript>The revision graph only works with JavaScript-enabled browsers.</noscript>

<div id="wrapper">
<ul id="nodebgs"></ul>
<canvas id="graph" width="{canvaswidth}" height="{canvasheight}"></canvas>
<ul id="graphnodes"></ul>
</div>

<script{if(nonce, ' nonce="{nonce}"')}>
<!-- 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 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 class="list" href="{url|urlescape}rev/' + cur[0] + '{sessionvars%urlparameter}" title="' + cur[0] + '"><b>' + cur[3] + '</b></a>';
	item += '</span> ' + tagspan + '';
	item += '<span class="info">' + cur[5] + ', by ' + cur[4] + '</span></li>';

	return [bg, item];
	
}

graph.render(data);

// stop hiding script -->
</script>

<div class="extra_nav">
<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"{if(nonce, ' nonce="{nonce}"')}>
    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}