Index: lams_central/web/lams_authoring.swf =================================================================== diff -u -rf31c1a91d5dd854d657c2067620eb5c84abd2341 -r9fce0caf6fe2935fae201bc27121005c83f2c62e Binary files differ Index: lams_central/web/lams_authoring_library.swf =================================================================== diff -u -rf31c1a91d5dd854d657c2067620eb5c84abd2341 -r9fce0caf6fe2935fae201bc27121005c83f2c62e Binary files differ Index: lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/cv/Canvas.as =================================================================== diff -u -radc0dfff0e9b6456008da9b252defac5714ed4d1 -r9fce0caf6fe2935fae201bc27121005c83f2c62e --- lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/cv/Canvas.as (.../Canvas.as) (revision adc0dfff0e9b6456008da9b252defac5714ed4d1) +++ lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/cv/Canvas.as (.../Canvas.as) (revision 9fce0caf6fe2935fae201bc27121005c83f2c62e) @@ -391,7 +391,10 @@ if(actToAdd.orderID > 1) canvasModel.createSequenceTransition(sequence.lastActivity, actToAdd); else ComplexActivity(sequenceAct).firstActivityUIID = actToAdd.activityUIID; - if(!(canvasModel.activeView instanceof CanvasComplexView)) canvasModel.removeActivity(sequenceAct.parentUIID); + if(!(canvasModel.activeView instanceof CanvasComplexView)) { + CanvasOptionalActivity(canvasModel.activitiesDisplayed.get(sequenceAct.parentUIID)).removeAllChildren(); + canvasModel.removeActivity(sequenceAct.parentUIID); + } } actToAdd.parentUIID = taParent; Index: lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/cv/CanvasController.as =================================================================== diff -u -rf31c1a91d5dd854d657c2067620eb5c84abd2341 -r9fce0caf6fe2935fae201bc27121005c83f2c62e --- lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/cv/CanvasController.as (.../CanvasController.as) (revision f31c1a91d5dd854d657c2067620eb5c84abd2341) +++ lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/cv/CanvasController.as (.../CanvasController.as) (revision 9fce0caf6fe2935fae201bc27121005c83f2c62e) @@ -609,7 +609,7 @@ if(_canvasModel.activeView instanceof CanvasComplexView) { var seqActivity:Activity = Activity(_canvasModel.ddm.getActivityByUIID(parentUIID)); if(seqActivity.isOptionalSequenceActivity(_canvasModel.ddm.getActivityByUIID(seqActivity.parentUIID))) - _canvasModel.removeOptionalSequenceCA(ca, parentUIID); + _canvasModel.removeOptionalSequenceCA(ca, seqActivity.parentUIID); if (ca.activity.activityTypeID == Activity.OPTIONAL_ACTIVITY_TYPE || ca.activity.activityTypeID == Activity.OPTIONS_WITH_SEQUENCES_TYPE || ca.activity.activityTypeID == Activity.PARALLEL_ACTIVITY_TYPE || ca.activity.isBranchingActivity()){ _canvasModel.removeComplexActivityChildren(ca.actChildren); Index: lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/cv/CanvasHelper.as =================================================================== diff -u -r18aca7241c1aca191d78c7ab066fbf5f113cff47 -r9fce0caf6fe2935fae201bc27121005c83f2c62e --- lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/cv/CanvasHelper.as (.../CanvasHelper.as) (revision 18aca7241c1aca191d78c7ab066fbf5f113cff47) +++ lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/cv/CanvasHelper.as (.../CanvasHelper.as) (revision 9fce0caf6fe2935fae201bc27121005c83f2c62e) @@ -555,13 +555,11 @@ } public function openBranchView(ba, visible:Boolean){ - var cx:Number = ba._x + ba.getVisibleWidth()/2; var cy:Number = ba._y + ba.getVisibleHeight()/2; var isVisible:Boolean = (visible == null) ? true : visible; var target:MovieClip = (canvasModel.activeView instanceof CanvasBranchView) ? canvasModel.activeView.branchContent : _canvasView_mc.branchContent; - var _branchView_mc:MovieClip = target.createChildAtDepth("canvasBranchView", target.getNextHighestDepth(), {_x: cx, _y: cy, _canvasBranchingActivity:ba, _open:isVisible}); var branchView:CanvasBranchView = CanvasBranchView(_branchView_mc); Index: lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/cv/CanvasModel.as =================================================================== diff -u -r2a754b5c9c11bfe83d3c57899310e69bdc3b9c9f -r9fce0caf6fe2935fae201bc27121005c83f2c62e --- lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/cv/CanvasModel.as (.../CanvasModel.as) (revision 2a754b5c9c11bfe83d3c57899310e69bdc3b9c9f) +++ lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/cv/CanvasModel.as (.../CanvasModel.as) (revision 9fce0caf6fe2935fae201bc27121005c83f2c62e) @@ -343,6 +343,8 @@ ca.activity.orderID = null; ca.activity.parentActivityID = (activeView instanceof CanvasBranchView) ? activeView.defaultSequenceActivity.activityID : null; + CanvasOptionalActivity(_activitiesDisplayed.get(parentID)).removeAllChildren(); + if(!(activeView instanceof CanvasComplexView)) removeActivity(parentID); haltRefresh(false); @@ -453,6 +455,7 @@ Debugger.log("toActivity: " + toActivity.activityUIID, Debugger.CRITICAL, "addOptionalSequenceCA", "CanvasModel"); _cv.ddm.removeTransition(transition.transitionUIID); + createSequenceTransition(fromActivity, ca.activity); createSequenceTransition(ca.activity, toActivity); @@ -466,9 +469,12 @@ createSequenceTransition(fromActivity, toActivity); } - if(activeView instanceof CanvasComplexView && activeView.openActivity.activity.activityUIID == sequence.parentUIID) + if(activeView instanceof CanvasComplexView && activeView.openActivity.activity.activityUIID == sequence.parentUIID) { activeView.updateActivity(); - else removeActivity(sequence.parentUIID); + } else { + CanvasOptionalActivity(_activitiesDisplayed.get(sequence.parentUIID)).removeAllChildren(); + removeActivity(sequence.parentUIID); + } haltRefresh(false); @@ -1111,7 +1117,7 @@ Debugger.log("visible: " + visible, Debugger.CRITICAL, "openBranchActivityContent", "CanvasModel"); Debugger.log("currentBranchingActivity UIID: " + currentBranchingActivity.activity.activityUIID, Debugger.CRITICAL, "openBranchActivityContent", "CanvasModel"); - if(ba.branchView != null) { + if(ba.branchView != null || ba.branchView != undefined) { activeView = (visible) ? ba.branchView : activeView; ba.branchView.setOpen(visible); ba.branchView.open(); Index: lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/cv/CanvasOptionalActivity.as =================================================================== diff -u -rd065d513d8d620f940a0adb75935ebc5553cc276 -r9fce0caf6fe2935fae201bc27121005c83f2c62e --- lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/cv/CanvasOptionalActivity.as (.../CanvasOptionalActivity.as) (revision d065d513d8d620f940a0adb75935ebc5553cc276) +++ lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/cv/CanvasOptionalActivity.as (.../CanvasOptionalActivity.as) (revision 9fce0caf6fe2935fae201bc27121005c83f2c62e) @@ -157,7 +157,6 @@ removeAllChildren(); - children_mc = new Array(); for (var i=0; i < _children.length; i++) { if(fromModuleTab == "monitorMonitorTab"){ @@ -205,7 +204,6 @@ removeAllChildren(); - children_mc = new Array(); var _newVisibleWidth:Number = null; for(var i=0; i < _children.length; i++) { @@ -254,8 +252,20 @@ } public function removeAllChildren():Void { - for(var j=0; j 0) { SequenceActivity(_activity).empty = false; @@ -241,8 +240,20 @@ } public function removeAllChildren():Void { - for(var j=0; j