annotate mercurial/templates/gitweb/graph.tmpl @ 17421:3eb85477c0d9 stable

hgweb: avoid bad $$ processing in graph (issue3601) JavaScript .replace always magically processed $$ $& $' $` in replacement strings and thus displayed subject lines incorrectly in the graph view. Instead of regexps and .replace we now just create the strings the right way in the first place.
author Mads Kiilerich <mads@kiilerich.com>
date Wed, 29 Aug 2012 02:09:43 +0200
parents 8fd18eb8aab7
children ffe3630cb243
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
8427
cebdfdcc3e42 git: use newer template syntax everywhere
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents: 8356
diff changeset
1 {header}
cebdfdcc3e42 git: use newer template syntax everywhere
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents: 8356
diff changeset
2 <title>{repo|escape}: Graph</title>
6693
7f58dec6aeb7 hgweb: Fix up non-coal styles to support graph.
Augie Fackler <durin42@gmail.com>
parents:
diff changeset
3 <link rel="alternate" type="application/atom+xml"
8427
cebdfdcc3e42 git: use newer template syntax everywhere
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents: 8356
diff changeset
4 href="{url}atom-log" title="Atom feed for {repo|escape}"/>
6693
7f58dec6aeb7 hgweb: Fix up non-coal styles to support graph.
Augie Fackler <durin42@gmail.com>
parents:
diff changeset
5 <link rel="alternate" type="application/rss+xml"
8427
cebdfdcc3e42 git: use newer template syntax everywhere
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents: 8356
diff changeset
6 href="{url}rss-log" title="RSS feed for {repo|escape}"/>
7445
29c6e71b1c73 gitweb: fix graph again after previous faulty commit (1e0677756f60)
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents: 7443
diff changeset
7 <!--[if IE]><script type="text/javascript" src="{staticurl}excanvas.js"></script><![endif]-->
6693
7f58dec6aeb7 hgweb: Fix up non-coal styles to support graph.
Augie Fackler <durin42@gmail.com>
parents:
diff changeset
8 </head>
7f58dec6aeb7 hgweb: Fix up non-coal styles to support graph.
Augie Fackler <durin42@gmail.com>
parents:
diff changeset
9 <body>
7f58dec6aeb7 hgweb: Fix up non-coal styles to support graph.
Augie Fackler <durin42@gmail.com>
parents:
diff changeset
10
7f58dec6aeb7 hgweb: Fix up non-coal styles to support graph.
Augie Fackler <durin42@gmail.com>
parents:
diff changeset
11 <div class="page_header">
13964
616ad3f6fd33 hgweb: support alternate logo url
Steven Stallion <sstallion@gmail.com>
parents: 13864
diff changeset
12 <a href="{logourl}" title="Mercurial" style="float: right;">Mercurial</a><a href="{url}summary{sessionvars%urlparameter}">{repo|escape}</a> / graph
6693
7f58dec6aeb7 hgweb: Fix up non-coal styles to support graph.
Augie Fackler <durin42@gmail.com>
parents:
diff changeset
13 </div>
7f58dec6aeb7 hgweb: Fix up non-coal styles to support graph.
Augie Fackler <durin42@gmail.com>
parents:
diff changeset
14
7f58dec6aeb7 hgweb: Fix up non-coal styles to support graph.
Augie Fackler <durin42@gmail.com>
parents:
diff changeset
15 <form action="{url}log">
7f58dec6aeb7 hgweb: Fix up non-coal styles to support graph.
Augie Fackler <durin42@gmail.com>
parents:
diff changeset
16 {sessionvars%hiddenformentry}
7f58dec6aeb7 hgweb: Fix up non-coal styles to support graph.
Augie Fackler <durin42@gmail.com>
parents:
diff changeset
17 <div class="search">
7f58dec6aeb7 hgweb: Fix up non-coal styles to support graph.
Augie Fackler <durin42@gmail.com>
parents:
diff changeset
18 <input type="text" name="rev" />
7f58dec6aeb7 hgweb: Fix up non-coal styles to support graph.
Augie Fackler <durin42@gmail.com>
parents:
diff changeset
19 </div>
7f58dec6aeb7 hgweb: Fix up non-coal styles to support graph.
Augie Fackler <durin42@gmail.com>
parents:
diff changeset
20 </form>
7f58dec6aeb7 hgweb: Fix up non-coal styles to support graph.
Augie Fackler <durin42@gmail.com>
parents:
diff changeset
21 <div class="page_nav">
7f58dec6aeb7 hgweb: Fix up non-coal styles to support graph.
Augie Fackler <durin42@gmail.com>
parents:
diff changeset
22 <a href="{url}summary{sessionvars%urlparameter}">summary</a> |
7f58dec6aeb7 hgweb: Fix up non-coal styles to support graph.
Augie Fackler <durin42@gmail.com>
parents:
diff changeset
23 <a href="{url}shortlog{sessionvars%urlparameter}">shortlog</a> |
8427
cebdfdcc3e42 git: use newer template syntax everywhere
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents: 8356
diff changeset
24 <a href="{url}log/{rev}{sessionvars%urlparameter}">changelog</a> |
6693
7f58dec6aeb7 hgweb: Fix up non-coal styles to support graph.
Augie Fackler <durin42@gmail.com>
parents:
diff changeset
25 graph |
7f58dec6aeb7 hgweb: Fix up non-coal styles to support graph.
Augie Fackler <durin42@gmail.com>
parents:
diff changeset
26 <a href="{url}tags{sessionvars%urlparameter}">tags</a> |
13864
fd8a6ca3a750 hgweb: add separate bookmarks listing to gitweb theme (based on 38c9837b1f75)
Yuya Nishihara <yuya@tcha.org>
parents: 13863
diff changeset
27 <a href="{url}bookmarks{sessionvars%urlparameter}">bookmarks</a> |
8356
439663cd043a gitweb: add branches page
Sune Foldager <cryo@cyanite.org>
parents: 8236
diff changeset
28 <a href="{url}branches{sessionvars%urlparameter}">branches</a> |
12666
ead4e21f49f1 web: add a help view for getting hg help output
Augie Fackler <durin42@gmail.com>
parents: 10856
diff changeset
29 <a href="{url}file/{node|short}{sessionvars%urlparameter}">files</a> |
ead4e21f49f1 web: add a help view for getting hg help output
Augie Fackler <durin42@gmail.com>
parents: 10856
diff changeset
30 <a href="{url}help{sessionvars%urlparameter}">help</a>
6693
7f58dec6aeb7 hgweb: Fix up non-coal styles to support graph.
Augie Fackler <durin42@gmail.com>
parents:
diff changeset
31 <br/>
7345
55651328dfcc hgweb: fix up the less/more links on the graph page
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents: 7124
diff changeset
32 <a href="{url}graph/{rev}{lessvars%urlparameter}">less</a>
55651328dfcc hgweb: fix up the less/more links on the graph page
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents: 7124
diff changeset
33 <a href="{url}graph/{rev}{morevars%urlparameter}">more</a>
10254
8d5de52431f2 hgweb: changenav: separate pages before and after the current position
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 9999
diff changeset
34 | {changenav%navgraph}<br/>
6693
7f58dec6aeb7 hgweb: Fix up non-coal styles to support graph.
Augie Fackler <durin42@gmail.com>
parents:
diff changeset
35 </div>
7f58dec6aeb7 hgweb: Fix up non-coal styles to support graph.
Augie Fackler <durin42@gmail.com>
parents:
diff changeset
36
7f58dec6aeb7 hgweb: Fix up non-coal styles to support graph.
Augie Fackler <durin42@gmail.com>
parents:
diff changeset
37 <div class="title">&nbsp;</div>
7f58dec6aeb7 hgweb: Fix up non-coal styles to support graph.
Augie Fackler <durin42@gmail.com>
parents:
diff changeset
38
7124
63579aa36c8e graph: replace the blinking no javascript message
Benoit Allard <benoit@aeteurope.nl>
parents: 6733
diff changeset
39 <noscript>The revision graph only works with JavaScript-enabled browsers.</noscript>
6693
7f58dec6aeb7 hgweb: Fix up non-coal styles to support graph.
Augie Fackler <durin42@gmail.com>
parents:
diff changeset
40
7f58dec6aeb7 hgweb: Fix up non-coal styles to support graph.
Augie Fackler <durin42@gmail.com>
parents:
diff changeset
41 <div id="wrapper">
7f58dec6aeb7 hgweb: Fix up non-coal styles to support graph.
Augie Fackler <durin42@gmail.com>
parents:
diff changeset
42 <ul id="nodebgs"></ul>
13610
7359cb753a54 templates: widen the graph canvas (issue2683)
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents: 12666
diff changeset
43 <canvas id="graph" width="480" height="{canvasheight}"></canvas>
6693
7f58dec6aeb7 hgweb: Fix up non-coal styles to support graph.
Augie Fackler <durin42@gmail.com>
parents:
diff changeset
44 <ul id="graphnodes"></ul>
7f58dec6aeb7 hgweb: Fix up non-coal styles to support graph.
Augie Fackler <durin42@gmail.com>
parents:
diff changeset
45 </div>
7f58dec6aeb7 hgweb: Fix up non-coal styles to support graph.
Augie Fackler <durin42@gmail.com>
parents:
diff changeset
46
7f58dec6aeb7 hgweb: Fix up non-coal styles to support graph.
Augie Fackler <durin42@gmail.com>
parents:
diff changeset
47 <script>
6729
855851eae70f graph: improve script hiding tricks
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents: 6728
diff changeset
48 <!-- hide script content
6693
7f58dec6aeb7 hgweb: Fix up non-coal styles to support graph.
Augie Fackler <durin42@gmail.com>
parents:
diff changeset
49
6733
936a9073bb73 graph: fix JavaScript issues to make it work on IE
Benoit Allard <benoit@aeteurope.nl>
parents: 6729
diff changeset
50 var data = {jsdata|json};
936a9073bb73 graph: fix JavaScript issues to make it work on IE
Benoit Allard <benoit@aeteurope.nl>
parents: 6729
diff changeset
51 var graph = new Graph();
6693
7f58dec6aeb7 hgweb: Fix up non-coal styles to support graph.
Augie Fackler <durin42@gmail.com>
parents:
diff changeset
52 graph.scale({bg_height});
7f58dec6aeb7 hgweb: Fix up non-coal styles to support graph.
Augie Fackler <durin42@gmail.com>
parents:
diff changeset
53
10856
b07bd417115b templates: escape javascript braces
Matt Mackall <mpm@selenic.com>
parents: 10278
diff changeset
54 graph.vertex = function(x, y, color, parity, cur) \{
6693
7f58dec6aeb7 hgweb: Fix up non-coal styles to support graph.
Augie Fackler <durin42@gmail.com>
parents:
diff changeset
55
7f58dec6aeb7 hgweb: Fix up non-coal styles to support graph.
Augie Fackler <durin42@gmail.com>
parents:
diff changeset
56 this.ctx.beginPath();
7f58dec6aeb7 hgweb: Fix up non-coal styles to support graph.
Augie Fackler <durin42@gmail.com>
parents:
diff changeset
57 color = this.setColor(color, 0.25, 0.75);
7f58dec6aeb7 hgweb: Fix up non-coal styles to support graph.
Augie Fackler <durin42@gmail.com>
parents:
diff changeset
58 this.ctx.arc(x, y, radius, 0, Math.PI * 2, true);
7f58dec6aeb7 hgweb: Fix up non-coal styles to support graph.
Augie Fackler <durin42@gmail.com>
parents:
diff changeset
59 this.ctx.fill();
7f58dec6aeb7 hgweb: Fix up non-coal styles to support graph.
Augie Fackler <durin42@gmail.com>
parents:
diff changeset
60
7f58dec6aeb7 hgweb: Fix up non-coal styles to support graph.
Augie Fackler <durin42@gmail.com>
parents:
diff changeset
61 var bg = '<li class="bg parity' + parity + '"></li>';
7f58dec6aeb7 hgweb: Fix up non-coal styles to support graph.
Augie Fackler <durin42@gmail.com>
parents:
diff changeset
62 var left = (this.columns + 1) * this.bg_height;
7f58dec6aeb7 hgweb: Fix up non-coal styles to support graph.
Augie Fackler <durin42@gmail.com>
parents:
diff changeset
63 var nstyle = 'padding-left: ' + left + 'px;';
6720
084c9f1ef2bd graph: display branch name alongside tags
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents: 6701
diff changeset
64
084c9f1ef2bd graph: display branch name alongside tags
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents: 6701
diff changeset
65 var tagspan = '';
13863
b602ac02f1ba hgweb: add bookmark labels to gitweb theme (based on 270f57d35525)
Yuya Nishihara <yuya@tcha.org>
parents: 13610
diff changeset
66 if (cur[7].length || cur[8].length || (cur[6][0] != 'default' || cur[6][1])) \{
6720
084c9f1ef2bd graph: display branch name alongside tags
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents: 6701
diff changeset
67 tagspan = '<span class="logtags">';
10856
b07bd417115b templates: escape javascript braces
Matt Mackall <mpm@selenic.com>
parents: 10278
diff changeset
68 if (cur[6][1]) \{
6720
084c9f1ef2bd graph: display branch name alongside tags
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents: 6701
diff changeset
69 tagspan += '<span class="branchtag" title="' + cur[6][0] + '">';
084c9f1ef2bd graph: display branch name alongside tags
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents: 6701
diff changeset
70 tagspan += cur[6][0] + '</span> ';
10856
b07bd417115b templates: escape javascript braces
Matt Mackall <mpm@selenic.com>
parents: 10278
diff changeset
71 } else if (!cur[6][1] && cur[6][0] != 'default') \{
6720
084c9f1ef2bd graph: display branch name alongside tags
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents: 6701
diff changeset
72 tagspan += '<span class="inbranchtag" title="' + cur[6][0] + '">';
084c9f1ef2bd graph: display branch name alongside tags
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents: 6701
diff changeset
73 tagspan += cur[6][0] + '</span> ';
084c9f1ef2bd graph: display branch name alongside tags
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents: 6701
diff changeset
74 }
10856
b07bd417115b templates: escape javascript braces
Matt Mackall <mpm@selenic.com>
parents: 10278
diff changeset
75 if (cur[7].length) \{
b07bd417115b templates: escape javascript braces
Matt Mackall <mpm@selenic.com>
parents: 10278
diff changeset
76 for (var t in cur[7]) \{
6720
084c9f1ef2bd graph: display branch name alongside tags
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents: 6701
diff changeset
77 var tag = cur[7][t];
084c9f1ef2bd graph: display branch name alongside tags
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents: 6701
diff changeset
78 tagspan += '<span class="tagtag">' + tag + '</span> ';
084c9f1ef2bd graph: display branch name alongside tags
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents: 6701
diff changeset
79 }
6693
7f58dec6aeb7 hgweb: Fix up non-coal styles to support graph.
Augie Fackler <durin42@gmail.com>
parents:
diff changeset
80 }
13863
b602ac02f1ba hgweb: add bookmark labels to gitweb theme (based on 270f57d35525)
Yuya Nishihara <yuya@tcha.org>
parents: 13610
diff changeset
81 if (cur[8].length) \{
b602ac02f1ba hgweb: add bookmark labels to gitweb theme (based on 270f57d35525)
Yuya Nishihara <yuya@tcha.org>
parents: 13610
diff changeset
82 for (var t in cur[8]) \{
b602ac02f1ba hgweb: add bookmark labels to gitweb theme (based on 270f57d35525)
Yuya Nishihara <yuya@tcha.org>
parents: 13610
diff changeset
83 var bookmark = cur[8][t];
b602ac02f1ba hgweb: add bookmark labels to gitweb theme (based on 270f57d35525)
Yuya Nishihara <yuya@tcha.org>
parents: 13610
diff changeset
84 tagspan += '<span class="bookmarktag">' + bookmark + '</span> ';
b602ac02f1ba hgweb: add bookmark labels to gitweb theme (based on 270f57d35525)
Yuya Nishihara <yuya@tcha.org>
parents: 13610
diff changeset
85 }
b602ac02f1ba hgweb: add bookmark labels to gitweb theme (based on 270f57d35525)
Yuya Nishihara <yuya@tcha.org>
parents: 13610
diff changeset
86 }
6693
7f58dec6aeb7 hgweb: Fix up non-coal styles to support graph.
Augie Fackler <durin42@gmail.com>
parents:
diff changeset
87 tagspan += '</span>';
7f58dec6aeb7 hgweb: Fix up non-coal styles to support graph.
Augie Fackler <durin42@gmail.com>
parents:
diff changeset
88 }
6720
084c9f1ef2bd graph: display branch name alongside tags
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents: 6701
diff changeset
89
17421
3eb85477c0d9 hgweb: avoid bad $$ processing in graph (issue3601)
Mads Kiilerich <mads@kiilerich.com>
parents: 16137
diff changeset
90 var item = '<li style="' + nstyle + '"><span class="desc">';
3eb85477c0d9 hgweb: avoid bad $$ processing in graph (issue3601)
Mads Kiilerich <mads@kiilerich.com>
parents: 16137
diff changeset
91 item += '<a class="list" href="{url}rev/' + cur[0] + '{sessionvars%urlparameter}" title="' + cur[0] + '"><b>' + cur[3] + '</b></a>';
3eb85477c0d9 hgweb: avoid bad $$ processing in graph (issue3601)
Mads Kiilerich <mads@kiilerich.com>
parents: 16137
diff changeset
92 item += '</span> ' + tagspan + '';
3eb85477c0d9 hgweb: avoid bad $$ processing in graph (issue3601)
Mads Kiilerich <mads@kiilerich.com>
parents: 16137
diff changeset
93 item += '<span class="info">' + cur[5] + ', by ' + cur[4] + '</span></li>';
3eb85477c0d9 hgweb: avoid bad $$ processing in graph (issue3601)
Mads Kiilerich <mads@kiilerich.com>
parents: 16137
diff changeset
94
6728
84294e3710b8 graph: optimize rendering by appending all nodes at once
Augie Fackler <durin42@gmail.com>
parents: 6727
diff changeset
95 return [bg, item];
6693
7f58dec6aeb7 hgweb: Fix up non-coal styles to support graph.
Augie Fackler <durin42@gmail.com>
parents:
diff changeset
96
7f58dec6aeb7 hgweb: Fix up non-coal styles to support graph.
Augie Fackler <durin42@gmail.com>
parents:
diff changeset
97 }
7f58dec6aeb7 hgweb: Fix up non-coal styles to support graph.
Augie Fackler <durin42@gmail.com>
parents:
diff changeset
98
7f58dec6aeb7 hgweb: Fix up non-coal styles to support graph.
Augie Fackler <durin42@gmail.com>
parents:
diff changeset
99 graph.render(data);
6729
855851eae70f graph: improve script hiding tricks
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents: 6728
diff changeset
100
855851eae70f graph: improve script hiding tricks
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents: 6728
diff changeset
101 // stop hiding script -->
6693
7f58dec6aeb7 hgweb: Fix up non-coal styles to support graph.
Augie Fackler <durin42@gmail.com>
parents:
diff changeset
102 </script>
7f58dec6aeb7 hgweb: Fix up non-coal styles to support graph.
Augie Fackler <durin42@gmail.com>
parents:
diff changeset
103
7f58dec6aeb7 hgweb: Fix up non-coal styles to support graph.
Augie Fackler <durin42@gmail.com>
parents:
diff changeset
104 <div class="page_nav">
7345
55651328dfcc hgweb: fix up the less/more links on the graph page
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents: 7124
diff changeset
105 <a href="{url}graph/{rev}{lessvars%urlparameter}">less</a>
55651328dfcc hgweb: fix up the less/more links on the graph page
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents: 7124
diff changeset
106 <a href="{url}graph/{rev}{morevars%urlparameter}">more</a>
10254
8d5de52431f2 hgweb: changenav: separate pages before and after the current position
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 9999
diff changeset
107 | {changenav%navgraph}
6693
7f58dec6aeb7 hgweb: Fix up non-coal styles to support graph.
Augie Fackler <durin42@gmail.com>
parents:
diff changeset
108 </div>
7f58dec6aeb7 hgweb: Fix up non-coal styles to support graph.
Augie Fackler <durin42@gmail.com>
parents:
diff changeset
109
8427
cebdfdcc3e42 git: use newer template syntax everywhere
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents: 8356
diff changeset
110 {footer}