Index: lams_central/web/includes/javascript/authoring/authoringActivity.js =================================================================== diff -u -r299d4f173fc6d48ddfc46e223700c5bfeaca4410 -r8e35b634966400208e300c04d80ca64ae7a5aa01 --- lams_central/web/includes/javascript/authoring/authoringActivity.js (.../authoringActivity.js) (revision 299d4f173fc6d48ddfc46e223700c5bfeaca4410) +++ lams_central/web/includes/javascript/authoring/authoringActivity.js (.../authoringActivity.js) (revision 8e35b634966400208e300c04d80ca64ae7a5aa01) @@ -1375,8 +1375,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) @@ -1390,7 +1390,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 @@ -1400,17 +1400,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 }; @@ -1420,7 +1419,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 -r724917c6208b5c19b1653667da08b036277bb34c -r8e35b634966400208e300c04d80ca64ae7a5aa01 --- lams_central/web/includes/javascript/authoring/authoringHandler.js (.../authoringHandler.js) (revision 724917c6208b5c19b1653667da08b036277bb34c) +++ lams_central/web/includes/javascript/authoring/authoringHandler.js (.../authoringHandler.js) (revision 8e35b634966400208e300c04d80ca64ae7a5aa01) @@ -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