Commit 00d0e57e859454c62084893a74fad71c26d5c50c
1 parent
14c2a37d
Exists in
master
and in
4 other branches
Commits are arranged below their first parent.
Showing
1 changed file
with
19 additions
and
2 deletions
Show diff stats
app/models/graph/json_builder.rb
... | ... | @@ -181,7 +181,8 @@ module Graph |
181 | 181 | end |
182 | 182 | |
183 | 183 | time_range = leaves.last.time..leaves.first.time |
184 | - space = find_free_space(time_range, 2) | |
184 | + space_base = get_space_base(leaves, map) | |
185 | + space = find_free_space(time_range, 2, space_base) | |
185 | 186 | leaves.each do |l| |
186 | 187 | l.spaces << space |
187 | 188 | # Also add space to parent |
... | ... | @@ -223,13 +224,29 @@ module Graph |
223 | 224 | end |
224 | 225 | end |
225 | 226 | |
227 | + def get_space_base(leaves, map) | |
228 | + space_base = 1 | |
229 | + if leaves.last.parents.size > 0 | |
230 | + first_parent = leaves.last.parents.first | |
231 | + if map.include?(first_parent.id) | |
232 | + first_p = map[first_parent.id] | |
233 | + if first_p.space > 0 | |
234 | + space_base = first_p.space | |
235 | + end | |
236 | + end | |
237 | + end | |
238 | + space_base | |
239 | + end | |
240 | + | |
226 | 241 | def mark_reserved(time_range, space) |
227 | 242 | for day in time_range |
228 | 243 | @_reserved[day].push(space) |
229 | 244 | end |
230 | 245 | end |
231 | 246 | |
232 | - def find_free_space(time_range, space_step, space_base = 1, space_default = 1) | |
247 | + def find_free_space(time_range, space_step, space_base = 1, space_default = nil) | |
248 | + space_default ||= space_base | |
249 | + | |
233 | 250 | reserved = [] |
234 | 251 | for day in time_range |
235 | 252 | reserved += @_reserved[day] | ... | ... |