Mercurial > hg
comparison templates/coal/graph.tmpl @ 6691:0dba955c2636
add graph page to hgweb
author | Dirkjan Ochtman <dirkjan@ochtman.nl> |
---|---|
date | Wed, 18 Jun 2008 07:06:41 +0200 |
parents | |
children | bf72e756c98b |
comparison
equal
deleted
inserted
replaced
6690:127e8c3466d1 | 6691:0dba955c2636 |
---|---|
1 {header} | |
2 <title>{repo|escape}: revision graph</title> | |
3 <link rel="alternate" type="application/atom+xml" | |
4 href="{url}atom-log" title="Atom feed for {repo|escape}: log"> | |
5 <link rel="alternate" type="application/rss+xml" | |
6 href="{url}rss-log" title="RSS feed for {repo|escape}: log"> | |
7 <!--[if IE]><script type="text/javascript" src="{staticurl}excanvas.js"></script><![endif]--> | |
8 </head> | |
9 <body> | |
10 | |
11 <div class="container"> | |
12 <div class="menu"> | |
13 <div class="logo"> | |
14 <a href="http://www.selenic.com/mercurial/"> | |
15 <img src="{staticurl}hglogo.png" width=75 height=90 border=0 alt="mercurial"></a> | |
16 </div> | |
17 <ul> | |
18 <li><a href="{url}shortlog{sessionvars%urlparameter}">log</a></li> | |
19 <li class="active">graph</li> | |
20 <li><a href="{url}tags{sessionvars%urlparameter}">tags</a></li> | |
21 </ul> | |
22 <ul> | |
23 <li><a href="{url}rev/{node|short}{sessionvars%urlparameter}">changeset</a></li> | |
24 <li><a href="{url}file/{node|short}{path|urlescape}{sessionvars%urlparameter}">browse</a></li> | |
25 </ul> | |
26 </div> | |
27 | |
28 <div class="main"> | |
29 <h2>{repo|escape}</h2> | |
30 <h3>graph</h3> | |
31 | |
32 <form class="search" action="{url}log"> | |
33 {sessionvars%hiddenformentry} | |
34 <p><input name="rev" id="search1" type="text" size="30"></p> | |
35 </form> | |
36 | |
37 <div class="navigate"> | |
38 <a href="{url}graph/{uprev}{sessionvars%urlparameter}?revcount={revcountless}">less</a> | |
39 <a href="{url}graph/{uprev}{sessionvars%urlparameter}?revcount={revcountmore}">more</a> | |
40 | {changenav%navshortentry} | |
41 </div> | |
42 | |
43 <div id="noscript">The revision graph only works with JavaScript-enabled browsers.</div> | |
44 | |
45 <div id="wrapper"> | |
46 <ul id="nodebgs"></ul> | |
47 <canvas id="graph" width="224" height="{canvasheight}"></canvas> | |
48 <ul id="graphnodes"></ul> | |
49 </div> | |
50 | |
51 <script type="text/javascript" src="{staticurl}graph.js"></script> | |
52 <script> | |
53 | |
54 document.getElementById('noscript').style.visibility = 'hidden'; | |
55 | |
56 data = {jsdata|json}; | |
57 graph = new Graph(); | |
58 graph.scale({bg_height}); | |
59 | |
60 graph.edge = function(x0, y0, x1, y1, color) { | |
61 | |
62 this.setColor(color, 0.0, 0.65); | |
63 this.ctx.beginPath(); | |
64 this.ctx.moveTo(x0, y0); | |
65 this.ctx.lineTo(x1, y1); | |
66 this.ctx.stroke(); | |
67 | |
68 } | |
69 | |
70 var nodes = document.getElementById('graphnodes'); | |
71 var nodebgs = document.getElementById('nodebgs'); | |
72 | |
73 var revlink = '<li style="_STYLE"><span class="desc">'; | |
74 revlink += '<a href="{url}rev/_NODEID{sessionvars%urlparameter}" title="_NODEID">_DESC</a>'; | |
75 revlink += '</span><span class="tag">_TAGS</span>'; | |
76 revlink += '<span class="info">_DATE ago, by _USER</span></li>'; | |
77 | |
78 graph.vertex = function(x, y, color, parity, cur) { | |
79 | |
80 this.ctx.beginPath(); | |
81 color = this.setColor(color, 0.25, 0.75); | |
82 this.ctx.arc(x, y, radius, 0, Math.PI * 2, true); | |
83 this.ctx.fill(); | |
84 | |
85 var bg = '<li class="bg parity' + parity + '"></li>'; | |
86 nodebgs.innerHTML += bg; | |
87 | |
88 var left = (this.columns + 1) * this.bg_height; | |
89 var nstyle = 'padding-left: ' + left + 'px;'; | |
90 var item = revlink.replace(/_STYLE/, nstyle); | |
91 item = item.replace(/_PARITY/, 'parity' + parity); | |
92 item = item.replace(/_NODEID/, cur[0]); | |
93 item = item.replace(/_NODEID/, cur[0]); | |
94 item = item.replace(/_DESC/, cur[3]); | |
95 item = item.replace(/_USER/, cur[4]); | |
96 item = item.replace(/_DATE/, cur[5]); | |
97 item = item.replace(/_TAGS/, cur[6].join(' ')); | |
98 nodes.innerHTML += item; | |
99 | |
100 } | |
101 | |
102 graph.render(data); | |
103 </script> | |
104 | |
105 <div class="navigate"> | |
106 <a href="{url}graph/{uprev}{sessionvars%urlparameter}?revcount={revcountless}">less</a> | |
107 <a href="{url}graph/{uprev}{sessionvars%urlparameter}?revcount={revcountmore}">more</a> | |
108 | {changenav%navshortentry} | |
109 </div> | |
110 | |
111 </div> | |
112 </div> | |
113 | |
114 {footer} |