##// END OF EJS Templates
Some fixes to summary, and total rewrite of summary graphs implemented more interactive graph....
Some fixes to summary, and total rewrite of summary graphs implemented more interactive graph. Some small fixes for tasks (sorting,limit)

File last commit:

r322:46b7d108 default
r487:b12ea84f celery
Show More
graph.js
135 lines | 3.4 KiB | application/javascript | JavascriptLexer
some fixes in graph tab. Little fixes in files
r106 // branch_renderer.js - Rendering of branch DAGs on the client side
//
made graphg ticker, and fixes a paging bug caused grapgh disaligment
r322 // Copyright 2010 Marcin Kuzminski <marcin AT python-works DOT com>
Initial graph release.
r288 // Copyright 2008 Jesper Noehr <jesper AT noehr DOT org>
some fixes in graph tab. Little fixes in files
r106 // Copyright 2008 Dirkjan Ochtman <dirkjan AT ochtman DOT nl>
// Copyright 2006 Alexander Schremmer <alex AT alexanderweb DOT de>
//
// derived from code written by Scott James Remnant <scott@ubuntu.com>
// Copyright 2005 Canonical Ltd.
//
// This software may be used and distributed according to the terms
// of the GNU General Public License, incorporated herein by reference.
var colors = [
[ 1.0, 0.0, 0.0 ],
[ 1.0, 1.0, 0.0 ],
[ 0.0, 1.0, 0.0 ],
[ 0.0, 1.0, 1.0 ],
[ 0.0, 0.0, 1.0 ],
Initial graph release.
r288 [ 1.0, 0.0, 1.0 ],
[ 1.0, 1.0, 0.0 ],
[ 0.0, 0.0, 0.0 ]
some fixes in graph tab. Little fixes in files
r106 ];
Initial graph release.
r288 function BranchRenderer() {
some fixes in graph tab. Little fixes in files
r106
Initial graph release.
r288 this.canvas = document.getElementById("graph_canvas");
Ie graph support....
r293 if (navigator.userAgent.indexOf('MSIE') >= 0)
this.canvas = window.G_vmlCanvasManager.initElement(this.canvas);
some fixes in graph tab. Little fixes in files
r106 this.ctx = this.canvas.getContext('2d');
this.ctx.strokeStyle = 'rgb(0, 0, 0)';
this.ctx.fillStyle = 'rgb(0, 0, 0)';
this.cur = [0, 0];
Initial graph release.
r288 this.max_column = 1;
made graphg ticker, and fixes a paging bug caused grapgh disaligment
r322 this.line_width = 2.5;
this.dot_radius = 5.5;
some fixes in graph tab. Little fixes in files
r106 this.bg = [0, 4];
this.cell = [2, 0];
this.revlink = '';
this.scale = function(height) {
Initial graph release.
r288 this.box_size = Math.floor(height/1.2);
this.cell_height = this.box_size;
some fixes in graph tab. Little fixes in files
r106 this.bg_height = height;
}
this.setColor = function(color, bg, fg) {
color %= colors.length;
var red = (colors[color][0] * fg) || bg;
var green = (colors[color][1] * fg) || bg;
var blue = (colors[color][2] * fg) || bg;
red = Math.round(red * 255);
green = Math.round(green * 255);
blue = Math.round(blue * 255);
var s = 'rgb(' + red + ', ' + green + ', ' + blue + ')';
this.ctx.strokeStyle = s;
this.ctx.fillStyle = s;
}
this.render = function(data) {
Initial graph release.
r288 var idx = 1;
var rela = document.getElementById('graph');
var pad = 160;
made graphg ticker, and fixes a paging bug caused grapgh disaligment
r322 var scale = 22;
some fixes in graph tab. Little fixes in files
r106
for (var i in data) {
Initial graph release.
r288 this.scale(scale);
var row = document.getElementById("chg_"+idx);
var next = document.getElementById("chg_"+idx+1);
var extra = 0;
some fixes in graph tab. Little fixes in files
r106
Initial graph release.
r288 //skip this since i don't have DATE in my app
//if (next.is('.changesets-date')) {
// extra = next.outerHeight();
//}
this.cell[1] += row.clientWidth;
some fixes in graph tab. Little fixes in files
r106 this.bg[1] += this.bg_height;
Initial graph release.
r288 cur = data[i];
nodeid = cur[0];
node = cur[1];
in_l = cur[2];
some fixes in graph tab. Little fixes in files
r106
Initial graph release.
r288 for (var j in in_l) {
some fixes in graph tab. Little fixes in files
r106
Initial graph release.
r288 line = in_l[j];
some fixes in graph tab. Little fixes in files
r106 start = line[0];
end = line[1];
color = line[2];
Initial graph release.
r288 if (start > this.max_column) {
this.max_column = start;
some fixes in graph tab. Little fixes in files
r106 }
Initial graph release.
r288 if (end > this.max_column) {
this.max_column = end;
some fixes in graph tab. Little fixes in files
r106 }
Initial graph release.
r288 this.setColor(color, 0.0, 0.65);
some fixes in graph tab. Little fixes in files
r106
Initial graph release.
r288 y = row.offsetTop-rela.offsetTop+4;
x = pad-((this.cell[0] + this.box_size * start - 1) + this.bg_height-2);
made graphg ticker, and fixes a paging bug caused grapgh disaligment
r322 this.ctx.lineWidth=this.line_width;
Initial graph release.
r288 this.ctx.beginPath();
this.ctx.moveTo(x, y);
some fixes in graph tab. Little fixes in files
r106
graph fixes.
r289 //i don't know why it's +1 just fixes some drawing graph.
y += row.clientHeight+1;
Initial graph release.
r288 x = pad-((1 + this.box_size * end) + this.bg_height-2);
made graphg ticker, and fixes a paging bug caused grapgh disaligment
r322 this.ctx.lineTo(x,y+extra,3);
Initial graph release.
r288 this.ctx.stroke();
some fixes in graph tab. Little fixes in files
r106 }
column = node[0]
color = node[1]
made graphg ticker, and fixes a paging bug caused grapgh disaligment
r322 radius = this.dot_radius;
Initial graph release.
r288 y = row.offsetTop-rela.offsetTop+4;
x = pad-(Math.round(this.cell[0] * scale/2 * column + radius) + 15 - (column*4));
this.ctx.beginPath();
this.setColor(color, 0.25, 0.75);
this.ctx.arc(x, y, radius, 0, Math.PI * 2, true);
this.ctx.fill();
some fixes in graph tab. Little fixes in files
r106
Initial graph release.
r288 idx++;
some fixes in graph tab. Little fixes in files
r106 }
Initial graph release.
r288
some fixes in graph tab. Little fixes in files
r106 }
}