comparison templates/gitweb/graph.tmpl @ 6728:84294e3710b8

graph: optimize rendering by appending all nodes at once
author Augie Fackler <durin42@gmail.com>
date Tue, 24 Jun 2008 10:08:32 +0200
parents f4b6dec99950
children 855851eae70f
comparison
equal deleted inserted replaced
6727:f4b6dec99950 6728:84294e3710b8
57 this.ctx.lineTo(x1, y1); 57 this.ctx.lineTo(x1, y1);
58 this.ctx.stroke(); 58 this.ctx.stroke();
59 59
60 } 60 }
61 61
62 var nodes = document.getElementById('graphnodes');
63 var nodebgs = document.getElementById('nodebgs');
64
65 var revlink = '<li style="_STYLE"><span class="desc">'; 62 var revlink = '<li style="_STYLE"><span class="desc">';
66 revlink += '<a class="list" href="{url}rev/_NODEID{sessionvars%urlparameter}" title="_NODEID"><b>_DESC</b></a>'; 63 revlink += '<a class="list" href="{url}rev/_NODEID{sessionvars%urlparameter}" title="_NODEID"><b>_DESC</b></a>';
67 revlink += '</span> _TAGS'; 64 revlink += '</span> _TAGS';
68 revlink += '<span class="info">_DATE ago, by _USER</span></li>'; 65 revlink += '<span class="info">_DATE ago, by _USER</span></li>';
69 66
73 color = this.setColor(color, 0.25, 0.75); 70 color = this.setColor(color, 0.25, 0.75);
74 this.ctx.arc(x, y, radius, 0, Math.PI * 2, true); 71 this.ctx.arc(x, y, radius, 0, Math.PI * 2, true);
75 this.ctx.fill(); 72 this.ctx.fill();
76 73
77 var bg = '<li class="bg parity' + parity + '"></li>'; 74 var bg = '<li class="bg parity' + parity + '"></li>';
78 nodebgs.innerHTML += bg;
79
80 var left = (this.columns + 1) * this.bg_height; 75 var left = (this.columns + 1) * this.bg_height;
81 var nstyle = 'padding-left: ' + left + 'px;'; 76 var nstyle = 'padding-left: ' + left + 'px;';
82 var item = revlink.replace(/_STYLE/, nstyle); 77 var item = revlink.replace(/_STYLE/, nstyle);
83 item = item.replace(/_PARITY/, 'parity' + parity); 78 item = item.replace(/_PARITY/, 'parity' + parity);
84 item = item.replace(/_NODEID/, cur[0]); 79 item = item.replace(/_NODEID/, cur[0]);
105 } 100 }
106 tagspan += '</span>'; 101 tagspan += '</span>';
107 } 102 }
108 103
109 item = item.replace(/_TAGS/, tagspan); 104 item = item.replace(/_TAGS/, tagspan);
110 nodes.innerHTML += item; 105 return [bg, item];
111 106
112 } 107 }
113 108
114 graph.render(data); 109 graph.render(data);
115 </script> 110 </script>