summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--public/javascripts/revision_graph.js16
1 files changed, 14 insertions, 2 deletions
diff --git a/public/javascripts/revision_graph.js b/public/javascripts/revision_graph.js
index fee2b8488..403d591c8 100644
--- a/public/javascripts/revision_graph.js
+++ b/public/javascripts/revision_graph.js
@@ -24,6 +24,18 @@ function drawRevisionGraph(holder, commits_hash, graph_space) {
graph_right_side = graph_x_offset + (graph_space + 1) * XSTEP,
graph_bottom = commit_table_rows.last().position().top + commit_table_rows.last().height() - graph_y_offset;
+
+ var yForRow = function (index, commit) {
+ var row = commit_table_rows.eq(index);
+
+ switch (row.find("td:first").css("vertical-align")) {
+ case "middle":
+ return row.position().top + (row.height() / 2) - graph_y_offset;
+ default:
+ return row.position().top + - graph_y_offset + CIRCLE_INROW_OFFSET;
+ }
+ };
+
revisionGraph.setSize(graph_right_side, graph_bottom);
// init colors
@@ -41,7 +53,7 @@ function drawRevisionGraph(holder, commits_hash, graph_space) {
if (!commit.hasOwnProperty("space"))
commit.space = 0;
- y = commit_table_rows.eq(max_rdmid - commit.rdmid).position().top - graph_y_offset + CIRCLE_INROW_OFFSET;
+ y = yForRow(max_rdmid - commit.rdmid);
x = graph_x_offset + XSTEP / 2 + XSTEP * commit.space;
revisionGraph.circle(x, y, 3)
.attr({
@@ -55,7 +67,7 @@ function drawRevisionGraph(holder, commits_hash, graph_space) {
if (!parent_commit.hasOwnProperty("space"))
parent_commit.space = 0;
- parent_y = commit_table_rows.eq(max_rdmid - parent_commit.rdmid).position().top - graph_y_offset + CIRCLE_INROW_OFFSET;
+ parent_y = yForRow(max_rdmid - parent_commit.rdmid);
parent_x = graph_x_offset + XSTEP / 2 + XSTEP * parent_commit.space;
if (parent_commit.space == commit.space) {
// vertical path