Index: lams_central/web/lams_authoring.swf =================================================================== diff -u -r34cb1725fa1d312652042fd3108aceaa65adf7ad -r444903e15e4c9cd8da45451de470989b7960ce0a Binary files differ Index: lams_central/web/lams_authoring_library.swf =================================================================== diff -u -r34cb1725fa1d312652042fd3108aceaa65adf7ad -r444903e15e4c9cd8da45451de470989b7960ce0a Binary files differ Index: lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/cv/CanvasHelper.as =================================================================== diff -u -r34cb1725fa1d312652042fd3108aceaa65adf7ad -r444903e15e4c9cd8da45451de470989b7960ce0a --- lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/cv/CanvasHelper.as (.../CanvasHelper.as) (revision 34cb1725fa1d312652042fd3108aceaa65adf7ad) +++ lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/cv/CanvasHelper.as (.../CanvasHelper.as) (revision 444903e15e4c9cd8da45451de470989b7960ce0a) @@ -487,7 +487,7 @@ Debugger.log('instance is Tool',Debugger.GEN,'setPastedItem','Canvas'); var callback:Function = Proxy.create(this, setNewContentID, o); Application.getInstance().getComms().getRequest('authoring/author.do?method=copyToolContent&toolContentID='+o.toolContentID+'&userID='+_root.userID,callback, false); - } else if(o.data instanceof CanvasOptionalActivity || o.data instanceof CanvasParallelActivity){ + } else if(o.data instanceof CanvasOptionalActivity || o.data instanceof CanvasParallelActivity || (o.data instanceof CanvasActivity && o.data.activity.isBranchingActivity())){ Debugger.log('instance is Complex', Debugger.GEN,'setPastedItem','Canvas'); var callback:Function = Proxy.create(this, setNewContents, o); Application.getInstance().getComms().sendAndReceive(getToolContentArray(o.data), 'servlet/authoring/copyMultipleToolContent?userID='+_root.userID, callback, false); @@ -565,13 +565,15 @@ if (o.data instanceof CanvasOptionalActivity || o.data instanceof CanvasParallelActivity){ return pasteComplexItem(o.data.activity, o, _newIDMap); + } else if(o.data instanceof CanvasActivity && o.data.activity.isBranchingActivity()) { + return pasteBranchingItem(o.data.activity, o, _newIDMap); } else if(o.data instanceof ComplexActivity){ return pasteComplexItem(o.data, o, _newIDMap); } } } - private function pasteComplexItem(complexToCopy:ComplexActivity, o:Object, toolContentIDMap:Hashtable, parentAct:ComplexActivity):Object { + private function pasteComplexItem(complexToCopy:ComplexActivity, o:Object, toolContentIDMap:Hashtable, parentAct:ComplexActivity):ComplexActivity { Debugger.log("pasting new cocomplex: " + complexToCopy.title, Debugger.CRITICAL, "pasteComplexItem", "CanvasHelper"); var newComplexActivity:ComplexActivity = complexToCopy.clone(); @@ -592,46 +594,77 @@ if(parentAct == null) canvasModel.haltRefresh(false); - return pasteActivityItem(newComplexActivity, o); + pasteActivityItem(newComplexActivity, o); + + return newComplexActivity; } - private function copyChildren(activity:ComplexActivity, parentAct:ComplexActivity, o:Object, toolContentIDMap:Hashtable) { - Debugger.log("copying children of: " + activity.title, Debugger.CRITICAL, "copyChildren", "CanvasHelper"); + private function pasteSequenceItem(sequenceToCopy:SequenceActivity, o:Object, toolContentIDMap:Hashtable, parentAct:ComplexActivity):SequenceActivity { + Debugger.log("pasting new sequence: " + sequenceToCopy.title, Debugger.CRITICAL, "pasteSequenceItem", "CanvasHelper"); + if(sequenceToCopy.isDefault & sequenceToCopy.empty) + return null; + + var newSequenceActivity:SequenceActivity = sequenceToCopy.clone(); + newSequenceActivity.activityUIID = _ddm.newUIID(); - var children:Array = _ddm.getComplexActivityChildren(activity.activityUIID); + newSequenceActivity.parentUIID = parentAct.activityUIID; + newSequenceActivity.parentActivityID = parentAct.activityID; - for(var i=0; i