// before iterating upwards as described above, the line part from the commit to the adequate lane
// must be drawn
tableRow.data('rjsPaper').path(
getSvgLineString( firstCommit.lane.centerX, cfg.rowHeight/2,
lineLane.centerX, 0) )
.attr({
stroke: lineLane.color, "stroke-width": 2
})
.data('theCommit', firstCommit).data('theChild', secondCommit).click(lineClickHandler)
.toBack();
while( nRow.length > 0 ) {
if ( nRow.data('theCommit') === secondCommit ) {
// we are done, render only the bottom half line towards the child
// Starting at lineX, but moving to thisChild's lane.
nRow.data('rjsPaper')
.path(
getSvgLineString( lineLane.centerX, cfg.rowHeight,
secondCommit.lane.centerX, cfg.rowHeight/2) )
.attr({
stroke: lineLane.color, "stroke-width": 2
})
.data('theCommit', firstCommit).data('theChild', secondCommit).click(lineClickHandler)
.toBack();
return;
} else {
// this is just a common "throughput" line part from bottom of the TR to top without any X movement
//
// maybe the paper isn't big enough yet, so expand it first...
nRow.data('rjsPaper')
.path(
getSvgLineString( lineLane.centerX, 0,
lineLane.centerX, cfg.rowHeight) )
.attr({
stroke: lineLane.color, "stroke-width": 2
})
.data('theCommit', firstCommit).data('theChild', secondCommit).click(lineClickHandler)
.toBack();
nRow = nRow.prev('tr');