##// END OF EJS Templates
made routes verification method based only on paths, since it's much faster and enough
made routes verification method based only on paths, since it's much faster and enough

File last commit:

r293:68dc7029 default
r301:752675cd default
Show More
graph.js
132 lines | 3.3 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
//
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;
some fixes in graph tab. Little fixes in files
r106 this.line_width = 3;
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;
var scale = 20;
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);
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);
this.ctx.lineTo(x,y+extra);
this.ctx.stroke();
some fixes in graph tab. Little fixes in files
r106 }
column = node[0]
color = node[1]
Initial graph release.
r288 radius = 4;
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 }
}