# HG changeset patch # User Aras Pranckevicius # Date 1350308037 -10800 # Node ID fcbcef60be026604585be55062a61ba40002781a # Parent 1ab6b1cb849a6be8ee4e993f6513e828edca17e0 graph: fix counting of "heads" for graph, condense graph into more narrow lines instead of trying to increase its width (past certain width produces really bad html layout) diff -r 1ab6b1cb849a -r fcbcef60be02 rhodecode/public/css/style.css --- a/rhodecode/public/css/style.css Mon Oct 15 16:01:29 2012 +0300 +++ b/rhodecode/public/css/style.css Mon Oct 15 16:33:57 2012 +0300 @@ -2528,7 +2528,7 @@ #graph_nodes { float: left; - margin-right: -6px; + margin-right: 0px; margin-top: 0px; } diff -r 1ab6b1cb849a -r fcbcef60be02 rhodecode/public/js/graph.js --- a/rhodecode/public/js/graph.js Mon Oct 15 16:01:29 2012 +0300 +++ b/rhodecode/public/js/graph.js Mon Oct 15 16:33:57 2012 +0300 @@ -48,11 +48,16 @@ this.ctx.fillStyle = s; } - this.render = function(data,canvasWidth) { + this.render = function(data,canvasWidth,lineCount) { var idx = 1; var rela = document.getElementById('graph'); - var box_size = 18; + if (lineCount == 0) + lineCount = 1; + + var edge_pad = this.dot_radius + 2; + var box_size = Math.min(18, Math.floor((canvasWidth - edge_pad*2)/(lineCount))); + var base_x = canvasWidth - edge_pad; for (var i in data) { @@ -72,14 +77,14 @@ for (var j in in_l) { line = in_l[j]; - start = line[0] + 1; - end = line[1] + 1; + start = line[0]; + end = line[1]; color = line[2]; this.setColor(color, 0.0, 0.65); - x = canvasWidth - box_size * start; + x = base_x - box_size * start; this.ctx.lineWidth=this.line_width; this.ctx.beginPath(); @@ -91,19 +96,19 @@ } else { - var x2 = canvasWidth - box_size * end; + var x2 = base_x - box_size * end; var ymid = (rowY+nextY) / 2; this.ctx.bezierCurveTo (x,ymid,x2,ymid,x2,nextY); } this.ctx.stroke(); } - column = node[0] + 1; + column = node[0]; color = node[1]; radius = this.dot_radius; - x = canvasWidth - box_size * column; + x = base_x - box_size * column; this.ctx.beginPath(); this.setColor(color, 0.25, 0.75); diff -r 1ab6b1cb849a -r fcbcef60be02 rhodecode/templates/changelog/changelog.html --- a/rhodecode/templates/changelog/changelog.html Mon Oct 15 16:01:29 2012 +0300 +++ b/rhodecode/templates/changelog/changelog.html Mon Oct 15 16:33:57 2012 +0300 @@ -193,11 +193,11 @@ YUD.setStyle(e.currentTarget,'display','none'); YUD.setStyle(elem,'height','auto'); - //redraw the graph, max_w and jsdata are global vars - set_canvas(max_w); + //redraw the graph, line_count and jsdata are global vars + set_canvas(100); var r = new BranchRenderer(); - r.render(jsdata,max_w); + r.render(jsdata,100,line_count); }) @@ -223,31 +223,32 @@ }); - function set_canvas(heads) { + function set_canvas(width) { var c = document.getElementById('graph_nodes'); var t = document.getElementById('graph_content'); canvas = document.getElementById('graph_canvas'); var div_h = t.clientHeight; c.style.height=div_h+'px'; canvas.setAttribute('height',div_h); - c.style.height=max_w+'px'; - canvas.setAttribute('width',max_w); + c.style.height=width+'px'; + canvas.setAttribute('width',width); }; var heads = 1; - var max_heads = 0; + var line_count = 0; var jsdata = ${c.jsdata|n}; - for( var i=0;imax_heads){ - max_heads = m; - } + for (var i=0;i line_count) + line_count = m; + } } - var max_w = Math.max(100,max_heads*25); - set_canvas(max_w); + set_canvas(100); var r = new BranchRenderer(); - r.render(jsdata,max_w); + r.render(jsdata,100,line_count); });