]> source.dussan.org Git - redmine.git/commitdiff
Revision Graph and Table should work with vertical-align: middle (#22278).
authorJean-Philippe Lang <jp_lang@yahoo.fr>
Sun, 3 Apr 2016 12:29:15 +0000 (12:29 +0000)
committerJean-Philippe Lang <jp_lang@yahoo.fr>
Sun, 3 Apr 2016 12:29:15 +0000 (12:29 +0000)
Patch by Gregor Schmidt.

git-svn-id: http://svn.redmine.org/redmine/trunk@15299 e93f8b46-1217-0410-a6f0-8f06a7374b81

public/javascripts/revision_graph.js

index fee2b84889b8f8a7d98f9096c2d4342088cf0712..403d591c8d775d5e7699561ef565ddc1586e2dc9 100644 (file)
@@ -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