diff options
author | Sato Hiroyuki <sathiroyuki@gmail.com> | 2013-02-27 23:43:33 +0900 |
---|---|---|
committer | Sato Hiroyuki <sathiroyuki@gmail.com> | 2013-02-28 11:46:17 +0900 |
commit | 00d0e57e859454c62084893a74fad71c26d5c50c (patch) | |
tree | f66f04ce2c16e59a78ad9dbc56fabfa6b1284d64 | |
parent | 14c2a37da218ca5ca23918d4787113644e1fd1cc (diff) | |
download | gitlab-ce-00d0e57e859454c62084893a74fad71c26d5c50c.tar.gz |
Commits are arranged below their first parent.
-rw-r--r-- | app/models/graph/json_builder.rb | 21 |
1 files changed, 19 insertions, 2 deletions
diff --git a/app/models/graph/json_builder.rb b/app/models/graph/json_builder.rb index 5237ccfe081..013d15fb754 100644 --- a/app/models/graph/json_builder.rb +++ b/app/models/graph/json_builder.rb @@ -181,7 +181,8 @@ module Graph end time_range = leaves.last.time..leaves.first.time - space = find_free_space(time_range, 2) + space_base = get_space_base(leaves, map) + space = find_free_space(time_range, 2, space_base) leaves.each do |l| l.spaces << space # Also add space to parent @@ -223,13 +224,29 @@ module Graph end end + def get_space_base(leaves, map) + space_base = 1 + if leaves.last.parents.size > 0 + first_parent = leaves.last.parents.first + if map.include?(first_parent.id) + first_p = map[first_parent.id] + if first_p.space > 0 + space_base = first_p.space + end + end + end + space_base + end + def mark_reserved(time_range, space) for day in time_range @_reserved[day].push(space) end end - def find_free_space(time_range, space_step, space_base = 1, space_default = 1) + def find_free_space(time_range, space_step, space_base = 1, space_default = nil) + space_default ||= space_base + reserved = [] for day in time_range reserved += @_reserved[day] |