Index: lams_central/web/includes/javascript/authoring/authoringActivity.js =================================================================== diff -u -r49133f104eeef03138b5bbe468a6568f8618182a -rb2360982db1eba09334fd3e697da8890b64be3ec --- lams_central/web/includes/javascript/authoring/authoringActivity.js (.../authoringActivity.js) (revision 49133f104eeef03138b5bbe468a6568f8618182a) +++ lams_central/web/includes/javascript/authoring/authoringActivity.js (.../authoringActivity.js) (revision b2360982db1eba09334fd3e697da8890b64be3ec) @@ -716,12 +716,12 @@ * Draws a Transition */ transition : function() { - // clear previous canvas elements - if (this.items) { - this.items.remove(); + var existingItems = this.items; + this.items = paper.g(); + if (existingItems) { + this.items.shape = existingItems.shape; } - this.items = paper.g(); var points = ActivityLib.findTransitionPoints(this.fromActivity, this.toActivity), curve = layout.transition.curve, @@ -765,17 +765,23 @@ break; } - // finish the path - path += Snap.format(' L {endX} {endY}', points); - } + // finish the path + path += Snap.format(' L {endX} {endY}', points); + } + + if (this.items.shape) { + this.items.shape.path = path; + } else { + this.items.shape = paper.path(path).attr({ + 'fill' : 'none', + 'stroke' : layout.colors.transition, + 'stroke-width' : 2 + }); + this.items.append(this.items.shape); + } - var arrowShaft = paper.path(path).attr({ - 'fill' : 'none', - 'stroke' : layout.colors.transition, - 'stroke-width' : 2 - }); - this.items.append(arrowShaft); + this.items.attr('uiid', this.uiid); if (this.title) { // adjust X & Y, so the label does not overlap with the transition;