Show More
@@ -1,113 +1,113 b'' | |||||
1 | {header} |
|
1 | {header} | |
2 | <title>{repo|escape}: revision graph</title> |
|
2 | <title>{repo|escape}: revision graph</title> | |
3 | <link rel="alternate" type="application/atom+xml" |
|
3 | <link rel="alternate" type="application/atom+xml" | |
4 | href="{url}atom-log" title="Atom feed for {repo|escape}: log"> |
|
4 | href="{url}atom-log" title="Atom feed for {repo|escape}: log"> | |
5 | <link rel="alternate" type="application/rss+xml" |
|
5 | <link rel="alternate" type="application/rss+xml" | |
6 | href="{url}rss-log" title="RSS feed for {repo|escape}: log"> |
|
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]--> |
|
7 | <!--[if IE]><script type="text/javascript" src="{staticurl}excanvas.js"></script><![endif]--> | |
8 | </head> |
|
8 | </head> | |
9 | <body> |
|
9 | <body> | |
10 |
|
10 | |||
11 | <div class="container"> |
|
11 | <div class="container"> | |
12 | <div class="menu"> |
|
12 | <div class="menu"> | |
13 | <div class="logo"> |
|
13 | <div class="logo"> | |
14 | <a href="http://www.selenic.com/mercurial/"> |
|
14 | <a href="http://www.selenic.com/mercurial/"> | |
15 | <img src="{staticurl}hglogo.png" width=75 height=90 border=0 alt="mercurial"></a> |
|
15 | <img src="{staticurl}hglogo.png" width=75 height=90 border=0 alt="mercurial"></a> | |
16 | </div> |
|
16 | </div> | |
17 | <ul> |
|
17 | <ul> | |
18 | <li><a href="{url}shortlog{sessionvars%urlparameter}">log</a></li> |
|
18 | <li><a href="{url}shortlog{sessionvars%urlparameter}">log</a></li> | |
19 | <li class="active">graph</li> |
|
19 | <li class="active">graph</li> | |
20 | <li><a href="{url}tags{sessionvars%urlparameter}">tags</a></li> |
|
20 | <li><a href="{url}tags{sessionvars%urlparameter}">tags</a></li> | |
21 | </ul> |
|
21 | </ul> | |
22 | <ul> |
|
22 | <ul> | |
23 | <li><a href="{url}rev/{node|short}{sessionvars%urlparameter}">changeset</a></li> |
|
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> |
|
24 | <li><a href="{url}file/{node|short}{path|urlescape}{sessionvars%urlparameter}">browse</a></li> | |
25 | </ul> |
|
25 | </ul> | |
26 | </div> |
|
26 | </div> | |
27 |
|
27 | |||
28 | <div class="main"> |
|
28 | <div class="main"> | |
29 | <h2>{repo|escape}</h2> |
|
29 | <h2>{repo|escape}</h2> | |
30 | <h3>graph</h3> |
|
30 | <h3>graph</h3> | |
31 |
|
31 | |||
32 | <form class="search" action="{url}log"> |
|
32 | <form class="search" action="{url}log"> | |
33 | {sessionvars%hiddenformentry} |
|
33 | {sessionvars%hiddenformentry} | |
34 | <p><input name="rev" id="search1" type="text" size="30"></p> |
|
34 | <p><input name="rev" id="search1" type="text" size="30"></p> | |
35 | </form> |
|
35 | </form> | |
36 |
|
36 | |||
37 | <div class="navigate"> |
|
37 | <div class="navigate"> | |
38 | <a href="{url}graph/{uprev}{sessionvars%urlparameter}?revcount={revcountless}">less</a> |
|
38 | <a href="{url}graph/{uprev}{sessionvars%urlparameter}?revcount={revcountless}">less</a> | |
39 | <a href="{url}graph/{uprev}{sessionvars%urlparameter}?revcount={revcountmore}">more</a> |
|
39 | <a href="{url}graph/{uprev}{sessionvars%urlparameter}?revcount={revcountmore}">more</a> | |
40 | | {changenav%navgraphentry} |
|
40 | | {changenav%navgraphentry} | |
41 | </div> |
|
41 | </div> | |
42 |
|
42 | |||
43 | <div id="noscript">The revision graph only works with JavaScript-enabled browsers.</div> |
|
43 | <div id="noscript">The revision graph only works with JavaScript-enabled browsers.</div> | |
44 |
|
44 | |||
45 | <div id="wrapper"> |
|
45 | <div id="wrapper"> | |
46 | <ul id="nodebgs"></ul> |
|
46 | <ul id="nodebgs"></ul> | |
47 | <canvas id="graph" width="224" height="{canvasheight}"></canvas> |
|
47 | <canvas id="graph" width="224" height="{canvasheight}"></canvas> | |
48 | <ul id="graphnodes"></ul> |
|
48 | <ul id="graphnodes"></ul> | |
49 | </div> |
|
49 | </div> | |
50 |
|
50 | |||
51 | <script type="text/javascript" src="{staticurl}graph.js"></script> |
|
51 | <script type="text/javascript" src="{staticurl}graph.js"></script> | |
52 | <script> |
|
52 | <script> | |
53 | <!-- hide script content |
|
53 | <!-- hide script content | |
54 |
|
54 | |||
55 | document.getElementById('noscript').style.display = 'none'; |
|
55 | document.getElementById('noscript').style.display = 'none'; | |
56 |
|
56 | |||
57 | data = {jsdata|json}; |
|
57 | var data = {jsdata|json}; | |
58 | graph = new Graph(); |
|
58 | var graph = new Graph(); | |
59 | graph.scale({bg_height}); |
|
59 | graph.scale({bg_height}); | |
60 |
|
60 | |||
61 | graph.edge = function(x0, y0, x1, y1, color) { |
|
61 | graph.edge = function(x0, y0, x1, y1, color) { | |
62 |
|
62 | |||
63 | this.setColor(color, 0.0, 0.65); |
|
63 | this.setColor(color, 0.0, 0.65); | |
64 | this.ctx.beginPath(); |
|
64 | this.ctx.beginPath(); | |
65 | this.ctx.moveTo(x0, y0); |
|
65 | this.ctx.moveTo(x0, y0); | |
66 | this.ctx.lineTo(x1, y1); |
|
66 | this.ctx.lineTo(x1, y1); | |
67 | this.ctx.stroke(); |
|
67 | this.ctx.stroke(); | |
68 |
|
68 | |||
69 | } |
|
69 | } | |
70 |
|
70 | |||
71 | var revlink = '<li style="_STYLE"><span class="desc">'; |
|
71 | var revlink = '<li style="_STYLE"><span class="desc">'; | |
72 | revlink += '<a href="{url}rev/_NODEID{sessionvars%urlparameter}" title="_NODEID">_DESC</a>'; |
|
72 | revlink += '<a href="{url}rev/_NODEID{sessionvars%urlparameter}" title="_NODEID">_DESC</a>'; | |
73 | revlink += '</span><span class="tag">_TAGS</span>'; |
|
73 | revlink += '</span><span class="tag">_TAGS</span>'; | |
74 | revlink += '<span class="info">_DATE ago, by _USER</span></li>'; |
|
74 | revlink += '<span class="info">_DATE ago, by _USER</span></li>'; | |
75 |
|
75 | |||
76 | graph.vertex = function(x, y, color, parity, cur) { |
|
76 | graph.vertex = function(x, y, color, parity, cur) { | |
77 |
|
77 | |||
78 | this.ctx.beginPath(); |
|
78 | this.ctx.beginPath(); | |
79 | color = this.setColor(color, 0.25, 0.75); |
|
79 | color = this.setColor(color, 0.25, 0.75); | |
80 | this.ctx.arc(x, y, radius, 0, Math.PI * 2, true); |
|
80 | this.ctx.arc(x, y, radius, 0, Math.PI * 2, true); | |
81 | this.ctx.fill(); |
|
81 | this.ctx.fill(); | |
82 |
|
82 | |||
83 | var bg = '<li class="bg parity' + parity + '"></li>'; |
|
83 | var bg = '<li class="bg parity' + parity + '"></li>'; | |
84 | var left = (this.columns + 1) * this.bg_height; |
|
84 | var left = (this.columns + 1) * this.bg_height; | |
85 | var nstyle = 'padding-left: ' + left + 'px;'; |
|
85 | var nstyle = 'padding-left: ' + left + 'px;'; | |
86 | var item = revlink.replace(/_STYLE/, nstyle); |
|
86 | var item = revlink.replace(/_STYLE/, nstyle); | |
87 | item = item.replace(/_PARITY/, 'parity' + parity); |
|
87 | item = item.replace(/_PARITY/, 'parity' + parity); | |
88 | item = item.replace(/_NODEID/, cur[0]); |
|
88 | item = item.replace(/_NODEID/, cur[0]); | |
89 | item = item.replace(/_NODEID/, cur[0]); |
|
89 | item = item.replace(/_NODEID/, cur[0]); | |
90 | item = item.replace(/_DESC/, cur[3]); |
|
90 | item = item.replace(/_DESC/, cur[3]); | |
91 | item = item.replace(/_USER/, cur[4]); |
|
91 | item = item.replace(/_USER/, cur[4]); | |
92 | item = item.replace(/_DATE/, cur[5]); |
|
92 | item = item.replace(/_DATE/, cur[5]); | |
93 | item = item.replace(/_TAGS/, cur[7].join(' ')); |
|
93 | item = item.replace(/_TAGS/, cur[7].join(' ')); | |
94 |
|
94 | |||
95 | return [bg, item]; |
|
95 | return [bg, item]; | |
96 |
|
96 | |||
97 | } |
|
97 | } | |
98 |
|
98 | |||
99 | graph.render(data); |
|
99 | graph.render(data); | |
100 |
|
100 | |||
101 | // stop hiding script --> |
|
101 | // stop hiding script --> | |
102 | </script> |
|
102 | </script> | |
103 |
|
103 | |||
104 | <div class="navigate"> |
|
104 | <div class="navigate"> | |
105 | <a href="{url}graph/{uprev}{sessionvars%urlparameter}?revcount={revcountless}">less</a> |
|
105 | <a href="{url}graph/{uprev}{sessionvars%urlparameter}?revcount={revcountless}">less</a> | |
106 | <a href="{url}graph/{uprev}{sessionvars%urlparameter}?revcount={revcountmore}">more</a> |
|
106 | <a href="{url}graph/{uprev}{sessionvars%urlparameter}?revcount={revcountmore}">more</a> | |
107 | | {changenav%navgraphentry} |
|
107 | | {changenav%navgraphentry} | |
108 | </div> |
|
108 | </div> | |
109 |
|
109 | |||
110 | </div> |
|
110 | </div> | |
111 | </div> |
|
111 | </div> | |
112 |
|
112 | |||
113 | {footer} |
|
113 | {footer} |
@@ -1,121 +1,121 b'' | |||||
1 | #header# |
|
1 | #header# | |
2 | <title>#repo|escape#: Graph</title> |
|
2 | <title>#repo|escape#: Graph</title> | |
3 | <link rel="alternate" type="application/atom+xml" |
|
3 | <link rel="alternate" type="application/atom+xml" | |
4 | href="{url}atom-log" title="Atom feed for #repo|escape#"/> |
|
4 | href="{url}atom-log" title="Atom feed for #repo|escape#"/> | |
5 | <link rel="alternate" type="application/rss+xml" |
|
5 | <link rel="alternate" type="application/rss+xml" | |
6 | href="{url}rss-log" title="RSS feed for #repo|escape#"/> |
|
6 | href="{url}rss-log" title="RSS feed for #repo|escape#"/> | |
7 | </head> |
|
7 | </head> | |
8 | <body> |
|
8 | <body> | |
9 |
|
9 | |||
10 | <div class="page_header"> |
|
10 | <div class="page_header"> | |
11 | <a href="http://www.selenic.com/mercurial/" title="Mercurial" style="float: right;">Mercurial</a><a href="{url}summary{sessionvars%urlparameter}">#repo|escape#</a> / graph |
|
11 | <a href="http://www.selenic.com/mercurial/" title="Mercurial" style="float: right;">Mercurial</a><a href="{url}summary{sessionvars%urlparameter}">#repo|escape#</a> / graph | |
12 | </div> |
|
12 | </div> | |
13 |
|
13 | |||
14 | <form action="{url}log"> |
|
14 | <form action="{url}log"> | |
15 | {sessionvars%hiddenformentry} |
|
15 | {sessionvars%hiddenformentry} | |
16 | <div class="search"> |
|
16 | <div class="search"> | |
17 | <input type="text" name="rev" /> |
|
17 | <input type="text" name="rev" /> | |
18 | </div> |
|
18 | </div> | |
19 | </form> |
|
19 | </form> | |
20 | <div class="page_nav"> |
|
20 | <div class="page_nav"> | |
21 | <a href="{url}summary{sessionvars%urlparameter}">summary</a> | |
|
21 | <a href="{url}summary{sessionvars%urlparameter}">summary</a> | | |
22 | <a href="{url}shortlog{sessionvars%urlparameter}">shortlog</a> | |
|
22 | <a href="{url}shortlog{sessionvars%urlparameter}">shortlog</a> | | |
23 | <a href="{url}log/#rev#{sessionvars%urlparameter}">changelog</a> | |
|
23 | <a href="{url}log/#rev#{sessionvars%urlparameter}">changelog</a> | | |
24 | graph | |
|
24 | graph | | |
25 | <a href="{url}tags{sessionvars%urlparameter}">tags</a> | |
|
25 | <a href="{url}tags{sessionvars%urlparameter}">tags</a> | | |
26 | <a href="{url}file/#node|short#{sessionvars%urlparameter}">files</a> |
|
26 | <a href="{url}file/#node|short#{sessionvars%urlparameter}">files</a> | |
27 | <br/> |
|
27 | <br/> | |
28 | <a href="{url}graph/{uprev}{sessionvars%urlparameter}?revcount={revcountless}">less</a> |
|
28 | <a href="{url}graph/{uprev}{sessionvars%urlparameter}?revcount={revcountless}">less</a> | |
29 | <a href="{url}graph/{uprev}{sessionvars%urlparameter}?revcount={revcountmore}">more</a> |
|
29 | <a href="{url}graph/{uprev}{sessionvars%urlparameter}?revcount={revcountmore}">more</a> | |
30 | | #changenav%navgraphentry#<br/> |
|
30 | | #changenav%navgraphentry#<br/> | |
31 | </div> |
|
31 | </div> | |
32 |
|
32 | |||
33 | <div class="title"> </div> |
|
33 | <div class="title"> </div> | |
34 |
|
34 | |||
35 | <div id="noscript">The revision graph only works with JavaScript-enabled browsers.</div> |
|
35 | <div id="noscript">The revision graph only works with JavaScript-enabled browsers.</div> | |
36 |
|
36 | |||
37 | <div id="wrapper"> |
|
37 | <div id="wrapper"> | |
38 | <ul id="nodebgs"></ul> |
|
38 | <ul id="nodebgs"></ul> | |
39 | <canvas id="graph" width="224" height="#canvasheight#"></canvas> |
|
39 | <canvas id="graph" width="224" height="#canvasheight#"></canvas> | |
40 | <ul id="graphnodes"></ul> |
|
40 | <ul id="graphnodes"></ul> | |
41 | </div> |
|
41 | </div> | |
42 |
|
42 | |||
43 | <script type="text/javascript" src="#staticurl#graph.js"></script> |
|
43 | <script type="text/javascript" src="#staticurl#graph.js"></script> | |
44 | <script> |
|
44 | <script> | |
45 | <!-- hide script content |
|
45 | <!-- hide script content | |
46 |
|
46 | |||
47 | document.getElementById('noscript').style.display = 'none'; |
|
47 | document.getElementById('noscript').style.display = 'none'; | |
48 |
|
48 | |||
49 | data = {jsdata|json}; |
|
49 | var data = {jsdata|json}; | |
50 | graph = new Graph(); |
|
50 | var graph = new Graph(); | |
51 | graph.scale({bg_height}); |
|
51 | graph.scale({bg_height}); | |
52 |
|
52 | |||
53 | graph.edge = function(x0, y0, x1, y1, color) { |
|
53 | graph.edge = function(x0, y0, x1, y1, color) { | |
54 |
|
54 | |||
55 | this.setColor(color, 0.0, 0.65); |
|
55 | this.setColor(color, 0.0, 0.65); | |
56 | this.ctx.beginPath(); |
|
56 | this.ctx.beginPath(); | |
57 | this.ctx.moveTo(x0, y0); |
|
57 | this.ctx.moveTo(x0, y0); | |
58 | this.ctx.lineTo(x1, y1); |
|
58 | this.ctx.lineTo(x1, y1); | |
59 | this.ctx.stroke(); |
|
59 | this.ctx.stroke(); | |
60 |
|
60 | |||
61 | } |
|
61 | } | |
62 |
|
62 | |||
63 | var revlink = '<li style="_STYLE"><span class="desc">'; |
|
63 | var revlink = '<li style="_STYLE"><span class="desc">'; | |
64 | revlink += '<a class="list" href="{url}rev/_NODEID{sessionvars%urlparameter}" title="_NODEID"><b>_DESC</b></a>'; |
|
64 | revlink += '<a class="list" href="{url}rev/_NODEID{sessionvars%urlparameter}" title="_NODEID"><b>_DESC</b></a>'; | |
65 | revlink += '</span> _TAGS'; |
|
65 | revlink += '</span> _TAGS'; | |
66 | revlink += '<span class="info">_DATE ago, by _USER</span></li>'; |
|
66 | revlink += '<span class="info">_DATE ago, by _USER</span></li>'; | |
67 |
|
67 | |||
68 | graph.vertex = function(x, y, color, parity, cur) { |
|
68 | graph.vertex = function(x, y, color, parity, cur) { | |
69 |
|
69 | |||
70 | this.ctx.beginPath(); |
|
70 | this.ctx.beginPath(); | |
71 | color = this.setColor(color, 0.25, 0.75); |
|
71 | color = this.setColor(color, 0.25, 0.75); | |
72 | this.ctx.arc(x, y, radius, 0, Math.PI * 2, true); |
|
72 | this.ctx.arc(x, y, radius, 0, Math.PI * 2, true); | |
73 | this.ctx.fill(); |
|
73 | this.ctx.fill(); | |
74 |
|
74 | |||
75 | var bg = '<li class="bg parity' + parity + '"></li>'; |
|
75 | var bg = '<li class="bg parity' + parity + '"></li>'; | |
76 | var left = (this.columns + 1) * this.bg_height; |
|
76 | var left = (this.columns + 1) * this.bg_height; | |
77 | var nstyle = 'padding-left: ' + left + 'px;'; |
|
77 | var nstyle = 'padding-left: ' + left + 'px;'; | |
78 | var item = revlink.replace(/_STYLE/, nstyle); |
|
78 | var item = revlink.replace(/_STYLE/, nstyle); | |
79 | item = item.replace(/_PARITY/, 'parity' + parity); |
|
79 | item = item.replace(/_PARITY/, 'parity' + parity); | |
80 | item = item.replace(/_NODEID/, cur[0]); |
|
80 | item = item.replace(/_NODEID/, cur[0]); | |
81 | item = item.replace(/_NODEID/, cur[0]); |
|
81 | item = item.replace(/_NODEID/, cur[0]); | |
82 | item = item.replace(/_DESC/, cur[3]); |
|
82 | item = item.replace(/_DESC/, cur[3]); | |
83 | item = item.replace(/_USER/, cur[4]); |
|
83 | item = item.replace(/_USER/, cur[4]); | |
84 | item = item.replace(/_DATE/, cur[5]); |
|
84 | item = item.replace(/_DATE/, cur[5]); | |
85 |
|
85 | |||
86 | var tagspan = ''; |
|
86 | var tagspan = ''; | |
87 | if (cur[7].length || (cur[6][0] != 'default' || cur[6][1])) { |
|
87 | if (cur[7].length || (cur[6][0] != 'default' || cur[6][1])) { | |
88 | tagspan = '<span class="logtags">'; |
|
88 | tagspan = '<span class="logtags">'; | |
89 | if (cur[6][1]) { |
|
89 | if (cur[6][1]) { | |
90 | tagspan += '<span class="branchtag" title="' + cur[6][0] + '">'; |
|
90 | tagspan += '<span class="branchtag" title="' + cur[6][0] + '">'; | |
91 | tagspan += cur[6][0] + '</span> '; |
|
91 | tagspan += cur[6][0] + '</span> '; | |
92 | } else if (!cur[6][1] && cur[6][0] != 'default') { |
|
92 | } else if (!cur[6][1] && cur[6][0] != 'default') { | |
93 | tagspan += '<span class="inbranchtag" title="' + cur[6][0] + '">'; |
|
93 | tagspan += '<span class="inbranchtag" title="' + cur[6][0] + '">'; | |
94 | tagspan += cur[6][0] + '</span> '; |
|
94 | tagspan += cur[6][0] + '</span> '; | |
95 | } |
|
95 | } | |
96 | if (cur[7].length) { |
|
96 | if (cur[7].length) { | |
97 | for (var t in cur[7]) { |
|
97 | for (var t in cur[7]) { | |
98 | var tag = cur[7][t]; |
|
98 | var tag = cur[7][t]; | |
99 | tagspan += '<span class="tagtag">' + tag + '</span> '; |
|
99 | tagspan += '<span class="tagtag">' + tag + '</span> '; | |
100 | } |
|
100 | } | |
101 | } |
|
101 | } | |
102 | tagspan += '</span>'; |
|
102 | tagspan += '</span>'; | |
103 | } |
|
103 | } | |
104 |
|
104 | |||
105 | item = item.replace(/_TAGS/, tagspan); |
|
105 | item = item.replace(/_TAGS/, tagspan); | |
106 | return [bg, item]; |
|
106 | return [bg, item]; | |
107 |
|
107 | |||
108 | } |
|
108 | } | |
109 |
|
109 | |||
110 | graph.render(data); |
|
110 | graph.render(data); | |
111 |
|
111 | |||
112 | // stop hiding script --> |
|
112 | // stop hiding script --> | |
113 | </script> |
|
113 | </script> | |
114 |
|
114 | |||
115 | <div class="page_nav"> |
|
115 | <div class="page_nav"> | |
116 | <a href="{url}graph/{uprev}{sessionvars%urlparameter}?revcount={revcountless}">less</a> |
|
116 | <a href="{url}graph/{uprev}{sessionvars%urlparameter}?revcount={revcountless}">less</a> | |
117 | <a href="{url}graph/{uprev}{sessionvars%urlparameter}?revcount={revcountmore}">more</a> |
|
117 | <a href="{url}graph/{uprev}{sessionvars%urlparameter}?revcount={revcountmore}">more</a> | |
118 | | {changenav%navgraphentry} |
|
118 | | {changenav%navgraphentry} | |
119 | </div> |
|
119 | </div> | |
120 |
|
120 | |||
121 | #footer# |
|
121 | #footer# |
@@ -1,96 +1,97 b'' | |||||
1 | #header# |
|
1 | #header# | |
2 | <title>#repo|escape#: graph</title> |
|
2 | <title>#repo|escape#: graph</title> | |
3 | <link rel="alternate" type="application/atom+xml" |
|
3 | <link rel="alternate" type="application/atom+xml" | |
4 | href="#url#atom-tags" title="Atom feed for #repo|escape#: tags"> |
|
4 | href="#url#atom-tags" title="Atom feed for #repo|escape#: tags"> | |
5 | <link rel="alternate" type="application/rss+xml" |
|
5 | <link rel="alternate" type="application/rss+xml" | |
6 | href="#url#rss-tags" title="RSS feed for #repo|escape#: tags"> |
|
6 | href="#url#rss-tags" title="RSS feed for #repo|escape#: tags"> | |
|
7 | <!--[if IE]><script type="text/javascript" src="#staticurl#excanvas.js"></script><![endif]--> | |||
7 | </head> |
|
8 | </head> | |
8 | <body> |
|
9 | <body> | |
9 |
|
10 | |||
10 | <div class="buttons"> |
|
11 | <div class="buttons"> | |
11 | <a href="#url#log{sessionvars%urlparameter}">changelog</a> |
|
12 | <a href="#url#log{sessionvars%urlparameter}">changelog</a> | |
12 | <a href="#url#shortlog{sessionvars%urlparameter}">shortlog</a> |
|
13 | <a href="#url#shortlog{sessionvars%urlparameter}">shortlog</a> | |
13 | <a href="#url#tags{sessionvars%urlparameter}">tags</a> |
|
14 | <a href="#url#tags{sessionvars%urlparameter}">tags</a> | |
14 | <a href="#url#file/#node|short#/{sessionvars%urlparameter}">files</a> |
|
15 | <a href="#url#file/#node|short#/{sessionvars%urlparameter}">files</a> | |
15 | </div> |
|
16 | </div> | |
16 |
|
17 | |||
17 | <h2>graph</h2> |
|
18 | <h2>graph</h2> | |
18 |
|
19 | |||
19 | <form action="#url#log"> |
|
20 | <form action="#url#log"> | |
20 | {sessionvars%hiddenformentry} |
|
21 | {sessionvars%hiddenformentry} | |
21 | <p> |
|
22 | <p> | |
22 | <label for="search1">search:</label> |
|
23 | <label for="search1">search:</label> | |
23 | <input name="rev" id="search1" type="text" size="30"> |
|
24 | <input name="rev" id="search1" type="text" size="30"> | |
24 | navigate: <small class="navigate">#changenav%navgraphentry#</small> |
|
25 | navigate: <small class="navigate">#changenav%navgraphentry#</small> | |
25 | </p> |
|
26 | </p> | |
26 | </form> |
|
27 | </form> | |
27 |
|
28 | |||
28 | <div id="noscript">The revision graph only works with JavaScript-enabled browsers.</div> |
|
29 | <div id="noscript">The revision graph only works with JavaScript-enabled browsers.</div> | |
29 |
|
30 | |||
30 | <div id="wrapper"> |
|
31 | <div id="wrapper"> | |
31 | <ul id="nodebgs"></ul> |
|
32 | <ul id="nodebgs"></ul> | |
32 | <canvas id="graph" width="224" height="#canvasheight#"></canvas> |
|
33 | <canvas id="graph" width="224" height="#canvasheight#"></canvas> | |
33 | <ul id="graphnodes"></ul> |
|
34 | <ul id="graphnodes"></ul> | |
34 | </div> |
|
35 | </div> | |
35 |
|
36 | |||
36 | <script type="text/javascript" src="#staticurl#graph.js"></script> |
|
37 | <script type="text/javascript" src="#staticurl#graph.js"></script> | |
37 | <script> |
|
38 | <script> | |
38 | <!-- hide script content |
|
39 | <!-- hide script content | |
39 |
|
40 | |||
40 | document.getElementById('noscript').style.display = 'none'; |
|
41 | document.getElementById('noscript').style.display = 'none'; | |
41 |
|
42 | |||
42 | data = {jsdata|json}; |
|
43 | var data = {jsdata|json}; | |
43 | graph = new Graph(); |
|
44 | var graph = new Graph(); | |
44 | graph.scale({bg_height}); |
|
45 | graph.scale({bg_height}); | |
45 |
|
46 | |||
46 | graph.edge = function(x0, y0, x1, y1, color) { |
|
47 | graph.edge = function(x0, y0, x1, y1, color) { | |
47 |
|
48 | |||
48 | this.setColor(color, 0.0, 0.65); |
|
49 | this.setColor(color, 0.0, 0.65); | |
49 | this.ctx.beginPath(); |
|
50 | this.ctx.beginPath(); | |
50 | this.ctx.moveTo(x0, y0); |
|
51 | this.ctx.moveTo(x0, y0); | |
51 | this.ctx.lineTo(x1, y1); |
|
52 | this.ctx.lineTo(x1, y1); | |
52 | this.ctx.stroke(); |
|
53 | this.ctx.stroke(); | |
53 |
|
54 | |||
54 | } |
|
55 | } | |
55 |
|
56 | |||
56 | var revlink = '<li style="_STYLE"><span class="desc">'; |
|
57 | var revlink = '<li style="_STYLE"><span class="desc">'; | |
57 | revlink += '<a href="{url}rev/_NODEID{sessionvars%urlparameter}" title="_NODEID">_DESC</a>'; |
|
58 | revlink += '<a href="{url}rev/_NODEID{sessionvars%urlparameter}" title="_NODEID">_DESC</a>'; | |
58 | revlink += '</span><span class="info">_DATE ago, by _USER</span></li>'; |
|
59 | revlink += '</span><span class="info">_DATE ago, by _USER</span></li>'; | |
59 |
|
60 | |||
60 | graph.vertex = function(x, y, color, parity, cur) { |
|
61 | graph.vertex = function(x, y, color, parity, cur) { | |
61 |
|
62 | |||
62 | this.ctx.beginPath(); |
|
63 | this.ctx.beginPath(); | |
63 | color = this.setColor(color, 0.25, 0.75); |
|
64 | color = this.setColor(color, 0.25, 0.75); | |
64 | this.ctx.arc(x, y, radius, 0, Math.PI * 2, true); |
|
65 | this.ctx.arc(x, y, radius, 0, Math.PI * 2, true); | |
65 | this.ctx.fill(); |
|
66 | this.ctx.fill(); | |
66 |
|
67 | |||
67 | var bg = '<li class="bg parity' + parity + '"></li>'; |
|
68 | var bg = '<li class="bg parity' + parity + '"></li>'; | |
68 | var left = (this.columns + 1) * this.bg_height; |
|
69 | var left = (this.columns + 1) * this.bg_height; | |
69 | var nstyle = 'padding-left: ' + left + 'px;'; |
|
70 | var nstyle = 'padding-left: ' + left + 'px;'; | |
70 | var item = revlink.replace(/_STYLE/, nstyle); |
|
71 | var item = revlink.replace(/_STYLE/, nstyle); | |
71 | item = item.replace(/_PARITY/, 'parity' + parity); |
|
72 | item = item.replace(/_PARITY/, 'parity' + parity); | |
72 | item = item.replace(/_NODEID/, cur[0]); |
|
73 | item = item.replace(/_NODEID/, cur[0]); | |
73 | item = item.replace(/_NODEID/, cur[0]); |
|
74 | item = item.replace(/_NODEID/, cur[0]); | |
74 | item = item.replace(/_DESC/, cur[3]); |
|
75 | item = item.replace(/_DESC/, cur[3]); | |
75 | item = item.replace(/_USER/, cur[4]); |
|
76 | item = item.replace(/_USER/, cur[4]); | |
76 | item = item.replace(/_DATE/, cur[5]); |
|
77 | item = item.replace(/_DATE/, cur[5]); | |
77 |
|
78 | |||
78 | return [bg, item]; |
|
79 | return [bg, item]; | |
79 |
|
80 | |||
80 | } |
|
81 | } | |
81 |
|
82 | |||
82 | graph.render(data); |
|
83 | graph.render(data); | |
83 |
|
84 | |||
84 | // stop hiding script --> |
|
85 | // stop hiding script --> | |
85 | </script> |
|
86 | </script> | |
86 |
|
87 | |||
87 | <form action="#url#log"> |
|
88 | <form action="#url#log"> | |
88 | {sessionvars%hiddenformentry} |
|
89 | {sessionvars%hiddenformentry} | |
89 | <p> |
|
90 | <p> | |
90 | <label for="search1">search:</label> |
|
91 | <label for="search1">search:</label> | |
91 | <input name="rev" id="search1" type="text" size="30"> |
|
92 | <input name="rev" id="search1" type="text" size="30"> | |
92 | navigate: <small class="navigate">#changenav%navgraphentry#</small> |
|
93 | navigate: <small class="navigate">#changenav%navgraphentry#</small> | |
93 | </p> |
|
94 | </p> | |
94 | </form> |
|
95 | </form> | |
95 |
|
96 | |||
96 | #footer# |
|
97 | #footer# |
General Comments 0
You need to be logged in to leave comments.
Login now