Index: lams_central/web/lams_authoring.swf =================================================================== diff -u -rea5dd39341c9597a297fe0e292479b5e184196c5 -rf1b6debeb98703ac264781d1949b04e2745ebd9c Binary files differ Index: lams_central/web/lams_authoring_library.swf =================================================================== diff -u -rea5dd39341c9597a297fe0e292479b5e184196c5 -rf1b6debeb98703ac264781d1949b04e2745ebd9c Binary files differ Index: lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/Activity.as =================================================================== diff -u -rea5dd39341c9597a297fe0e292479b5e184196c5 -rf1b6debeb98703ac264781d1949b04e2745ebd9c --- lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/Activity.as (.../Activity.as) (revision ea5dd39341c9597a297fe0e292479b5e184196c5) +++ lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/Activity.as (.../Activity.as) (revision f1b6debeb98703ac264781d1949b04e2745ebd9c) @@ -373,7 +373,7 @@ if(_createDateTime){ dto.createDateTime = _createDateTime; } if(_groupingSupportType){ dto.groupingSupportType = _groupingSupportType; } if(_readOnly){ dto.readOnly = _readOnly; } - if(_stopAfterActivity){ dto.stopAfterActivity = _stopAfterActivity } + if(_stopAfterActivity != null){ dto.stopAfterActivity = _stopAfterActivity } return dto; } Index: lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/SequenceActivity.as =================================================================== diff -u -rbc0cb5fdeb5ca1b0096d9878301b8ba7327661ab -rf1b6debeb98703ac264781d1949b04e2745ebd9c --- lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/SequenceActivity.as (.../SequenceActivity.as) (revision bc0cb5fdeb5ca1b0096d9878301b8ba7327661ab) +++ lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/SequenceActivity.as (.../SequenceActivity.as) (revision f1b6debeb98703ac264781d1949b04e2745ebd9c) @@ -35,7 +35,7 @@ * @version 2.1 * @see Activity */ -class SequenceActivity extends ComplexActivity{ +class SequenceActivity extends ComplexActivity { private var _firstActivityUIID:Number; @@ -70,7 +70,8 @@ */ public function toData():Object{ var dto:Object = super.toData(); - dto.firstActivityUIID = (_firstActivityUIID == null) ? Config.NUMERIC_NULL_VALUE : _firstActivityUIID; + if(_firstActivityUIID == null) { return null; } + else { dto.firstActivityUIID = _firstActivityUIID; } return dto; } Index: lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/br/CanvasBranchView.as =================================================================== diff -u -rea5dd39341c9597a297fe0e292479b5e184196c5 -rf1b6debeb98703ac264781d1949b04e2745ebd9c --- lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/br/CanvasBranchView.as (.../CanvasBranchView.as) (revision ea5dd39341c9597a297fe0e292479b5e184196c5) +++ lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/br/CanvasBranchView.as (.../CanvasBranchView.as) (revision f1b6debeb98703ac264781d1949b04e2745ebd9c) @@ -243,6 +243,7 @@ } _cm.addNewBranch(SequenceActivity(sequenceActs[i])); + } if(defaultSequenceActivity == null) @@ -429,8 +430,11 @@ cm.branchesDisplayed.put(b.branchUIID,newBranch_mc); Debugger.log('drawn a branch:'+b.branchUIID+','+newBranch_mc,Debugger.GEN,'drawBranch','CanvasView'); - if(b.direction != BranchConnector.DIR_TO_END) + if(b.direction != BranchConnector.DIR_TO_END) { cm.moveActivitiesToBranchSequence(b.targetUIID, b.sequenceActivity); + } else { + b.sequenceActivity.stopAfterActivity = false; + } return true; } @@ -485,6 +489,7 @@ private function removeBranch(b:Branch,cm:CanvasModel){ if(!cm.isActiveView(this)) return false; if(b.direction == BranchConnector.DIR_FROM_START) b.sequenceActivity.firstActivityUIID = null; + else if(b.direction == BranchConnector.DIR_TO_END) b.sequenceActivity.stopAfterActivity = true; var r = cm.branchesDisplayed.remove(b.branchUIID); r.removeMovieClip(); Index: lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/cv/CanvasModel.as =================================================================== diff -u -rea5dd39341c9597a297fe0e292479b5e184196c5 -rf1b6debeb98703ac264781d1949b04e2745ebd9c --- lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/cv/CanvasModel.as (.../CanvasModel.as) (revision ea5dd39341c9597a297fe0e292479b5e184196c5) +++ lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/cv/CanvasModel.as (.../CanvasModel.as) (revision f1b6debeb98703ac264781d1949b04e2745ebd9c) @@ -598,9 +598,23 @@ if(sequence.firstActivityUIID != null) { var b:Branch = new Branch(_cv.ddm.newUIID(), BranchConnector.DIR_FROM_START, _cv.ddm.getActivityByUIID(sequence.firstActivityUIID).activityUIID, activeView.startHub.activity.activityUIID, sequence, _cv.ddm.learningDesignID); _cv.ddm.addBranch(b); + + if(!sequence.stopAfterActivity) { + b = new Branch(_cv.ddm.newUIID(), BranchConnector.DIR_TO_END, _cv.ddm.getActivityByUIID(this.getLastActivityUIID(sequence.firstActivityUIID)).activityUIID, activeView.endHub.activity.activityUIID, sequence, _cv.ddm.learningDesignID); + + _cv.ddm.addBranch(b); + } } } + private function getLastActivityUIID(activityUIID:Number):Number { + + // get next activity from transition + var transObj = _cv.ddm.getTransitionsForActivityUIID(activityUIID); + + return (transObj.out == null) ? activityUIID : getLastActivityUIID(transObj.out.toUIID); + } + public function addActivityToConnection(ca:Object):Object{ var activity:Activity; //check we have not added too many