##// END OF EJS Templates
graph: optimize rendering by appending all nodes at once
Augie Fackler -
r6728:84294e37 default
parent child Browse files
Show More
@@ -67,9 +67,6 b' graph.edge = function(x0, y0, x1, y1, co'
67
67
68 }
68 }
69
69
70 var nodes = document.getElementById('graphnodes');
71 var nodebgs = document.getElementById('nodebgs');
72
73 var revlink = '<li style="_STYLE"><span class="desc">';
70 var revlink = '<li style="_STYLE"><span class="desc">';
74 revlink += '<a href="{url}rev/_NODEID{sessionvars%urlparameter}" title="_NODEID">_DESC</a>';
71 revlink += '<a href="{url}rev/_NODEID{sessionvars%urlparameter}" title="_NODEID">_DESC</a>';
75 revlink += '</span><span class="tag">_TAGS</span>';
72 revlink += '</span><span class="tag">_TAGS</span>';
@@ -83,8 +80,6 b' graph.vertex = function(x, y, color, par'
83 this.ctx.fill();
80 this.ctx.fill();
84
81
85 var bg = '<li class="bg parity' + parity + '"></li>';
82 var bg = '<li class="bg parity' + parity + '"></li>';
86 nodebgs.innerHTML += bg;
87
88 var left = (this.columns + 1) * this.bg_height;
83 var left = (this.columns + 1) * this.bg_height;
89 var nstyle = 'padding-left: ' + left + 'px;';
84 var nstyle = 'padding-left: ' + left + 'px;';
90 var item = revlink.replace(/_STYLE/, nstyle);
85 var item = revlink.replace(/_STYLE/, nstyle);
@@ -95,7 +90,8 b' graph.vertex = function(x, y, color, par'
95 item = item.replace(/_USER/, cur[4]);
90 item = item.replace(/_USER/, cur[4]);
96 item = item.replace(/_DATE/, cur[5]);
91 item = item.replace(/_DATE/, cur[5]);
97 item = item.replace(/_TAGS/, cur[7].join('&nbsp; '));
92 item = item.replace(/_TAGS/, cur[7].join('&nbsp; '));
98 nodes.innerHTML += item;
93
94 return [bg, item];
99
95
100 }
96 }
101
97
@@ -59,9 +59,6 b' graph.edge = function(x0, y0, x1, y1, co'
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';
@@ -75,8 +72,6 b' graph.vertex = function(x, y, color, par'
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);
@@ -107,7 +102,7 b' graph.vertex = function(x, y, color, par'
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
@@ -52,9 +52,6 b' graph.edge = function(x0, y0, x1, y1, co'
52
52
53 }
53 }
54
54
55 var nodes = document.getElementById('graphnodes');
56 var nodebgs = document.getElementById('nodebgs');
57
58 var revlink = '<li style="_STYLE"><span class="desc">';
55 var revlink = '<li style="_STYLE"><span class="desc">';
59 revlink += '<a href="{url}rev/_NODEID{sessionvars%urlparameter}" title="_NODEID">_DESC</a>';
56 revlink += '<a href="{url}rev/_NODEID{sessionvars%urlparameter}" title="_NODEID">_DESC</a>';
60 revlink += '</span><span class="info">_DATE ago, by _USER</span></li>';
57 revlink += '</span><span class="info">_DATE ago, by _USER</span></li>';
@@ -67,8 +64,6 b' graph.vertex = function(x, y, color, par'
67 this.ctx.fill();
64 this.ctx.fill();
68
65
69 var bg = '<li class="bg parity' + parity + '"></li>';
66 var bg = '<li class="bg parity' + parity + '"></li>';
70 nodebgs.innerHTML += bg;
71
72 var left = (this.columns + 1) * this.bg_height;
67 var left = (this.columns + 1) * this.bg_height;
73 var nstyle = 'padding-left: ' + left + 'px;';
68 var nstyle = 'padding-left: ' + left + 'px;';
74 var item = revlink.replace(/_STYLE/, nstyle);
69 var item = revlink.replace(/_STYLE/, nstyle);
@@ -78,7 +73,8 b' graph.vertex = function(x, y, color, par'
78 item = item.replace(/_DESC/, cur[3]);
73 item = item.replace(/_DESC/, cur[3]);
79 item = item.replace(/_USER/, cur[4]);
74 item = item.replace(/_USER/, cur[4]);
80 item = item.replace(/_DATE/, cur[5]);
75 item = item.replace(/_DATE/, cur[5]);
81 nodes.innerHTML += item;
76
77 return [bg, item];
82
78
83 }
79 }
84
80
@@ -75,6 +75,9 b' function Graph() {'
75
75
76 this.render = function(data) {
76 this.render = function(data) {
77
77
78 var backgrounds = '';
79 var nodedata = '';
80
78 for (var i in data) {
81 for (var i in data) {
79
82
80 var parity = i % 2;
83 var parity = i % 2;
@@ -118,12 +121,17 b' function Graph() {'
118 radius = this.box_size / 8;
121 radius = this.box_size / 8;
119 x = this.cell[0] + this.box_size * column + this.box_size / 2;
122 x = this.cell[0] + this.box_size * column + this.box_size / 2;
120 y = this.bg[1] - this.bg_height / 2;
123 y = this.bg[1] - this.bg_height / 2;
121 this.vertex(x, y, color, parity, cur);
124 var add = this.vertex(x, y, color, parity, cur);
125 backgrounds += add[0];
126 nodedata += add[1];
122
127
123 if (fold) this.columns -= 1;
128 if (fold) this.columns -= 1;
124
129
125 }
130 }
126
131
132 document.getElementById('nodebgs').innerHTML += backgrounds;
133 document.getElementById('graphnodes').innerHTML += nodedata;
134
127 }
135 }
128
136
129 }
137 }
General Comments 0
You need to be logged in to leave comments. Login now