Index: lams_central/web/includes/javascript/authoring/authoringActivity.js =================================================================== diff -u -rc5fc1f7df0b9939218b5aab298ec84ead1550dd8 -r63294ac2f257e0d77fa89432b6ce1a0326b29d10 --- lams_central/web/includes/javascript/authoring/authoringActivity.js (.../authoringActivity.js) (revision c5fc1f7df0b9939218b5aab298ec84ead1550dd8) +++ lams_central/web/includes/javascript/authoring/authoringActivity.js (.../authoringActivity.js) (revision 63294ac2f257e0d77fa89432b6ce1a0326b29d10) @@ -1369,8 +1369,8 @@ * Calculates start, middle and end points of a line between two activities. */ findTransitionPoints : function(fromActivity, toActivity) { - var fromActivityBox = fromActivity.items.shape.getBBox(), - toActivityBox = toActivity.items.shape.getBBox(), + var fromActivityBox = fromActivity.items.getBBox(), + toActivityBox = toActivity.items.getBBox(), // vertical direction takes priority // horizontal is used only if activities are in the same line direction = (fromActivityBox.y >= toActivityBox.y && fromActivityBox.y <= toActivityBox.y2) @@ -1384,7 +1384,7 @@ if (fromActivityBox.cy < toActivityBox.cy) { // down points = { - 'startX' : fromActivityBox.x + fromActivityBox.width / 2, + 'startX' : fromActivityBox.x + fromActivityBox.width / 2 - (fromActivity.items.groupingEffect ? 0.5 * layout.conf.groupingEffectPadding : 0), 'startY' : fromActivityBox.y2, 'endX' : toActivityBox.x + toActivityBox.width / 2, 'endY' : toActivityBox.y @@ -1394,17 +1394,16 @@ points = { 'startX' : fromActivityBox.x + fromActivityBox.width / 2, 'startY' : fromActivityBox.y, - 'endX' : toActivityBox.x + toActivityBox.width / 2, + 'endX' : toActivityBox.x + toActivityBox.width / 2 - (toActivity.items.groupingEffect ? 0.5 * layout.conf.groupingEffectPadding : 0), 'endY' : toActivityBox.y2 }; } } else { if (fromActivityBox.cx < toActivityBox.cx) { // right - points = { 'startX' : fromActivityBox.x2, - 'startY' : fromActivityBox.y + fromActivityBox.height / 2, + 'startY' : fromActivityBox.y + fromActivityBox.height / 2 - (fromActivity.items.groupingEffect ? 0.5 * layout.conf.groupingEffectPadding : 0), 'endX' : toActivityBox.x, 'endY' : toActivityBox.y + toActivityBox.height / 2 }; @@ -1414,7 +1413,7 @@ 'startX' : fromActivityBox.x, 'startY' : fromActivityBox.y + fromActivityBox.height / 2, 'endX' : toActivityBox.x2, - 'endY' : toActivityBox.y + toActivityBox.height / 2 + 'endY' : toActivityBox.y + toActivityBox.height / 2 - (toActivity.items.groupingEffect ? 0.5 * layout.conf.groupingEffectPadding : 0) }; } } Index: lams_central/web/includes/javascript/authoring/authoringHandler.js =================================================================== diff -u -rdd755c51699aaf25e965d782bb4f17430a6db811 -r63294ac2f257e0d77fa89432b6ce1a0326b29d10 --- lams_central/web/includes/javascript/authoring/authoringHandler.js (.../authoringHandler.js) (revision dd755c51699aaf25e965d782bb4f17430a6db811) +++ lams_central/web/includes/javascript/authoring/authoringHandler.js (.../authoringHandler.js) (revision 63294ac2f257e0d77fa89432b6ce1a0326b29d10) @@ -170,7 +170,12 @@ object.items.transform('t' + dx + ' ' + dy); if (object.transitions) { - ActivityLib.redrawTransitions(object); + $.each(object.transitions.from, function(){ + this.draw(); + }); + $.each(object.transitions.to, function(){ + this.draw(); + }); } // highlight rubbish bin if dragged elements are over it