Index: lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/Branch.as =================================================================== diff -u -r78cf415a0c5ed341d97bebacb5fe638133aaa313 -r745cc845b7776b062471723072abb234db21f292 --- lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/Branch.as (.../Branch.as) (revision 78cf415a0c5ed341d97bebacb5fe638133aaa313) +++ lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/Branch.as (.../Branch.as) (revision 745cc845b7776b062471723072abb234db21f292) @@ -25,6 +25,7 @@ import org.lamsfoundation.lams.authoring.br.BranchConnector; import org.lamsfoundation.lams.common.*; import org.lamsfoundation.lams.common.util.*; +import org.lamsfoundation.lams.common.dict.*; class Branch extends Transition { @@ -68,6 +69,11 @@ return _sequenceActivity; } + public function setDefaultSequenceName():Void { + var title = Dictionary.getValue('branch_mapping_dlg_branch_col_lbl'); + _sequenceActivity.title = Dictionary.getValue('sequence_act_title_new', [title, _sequenceActivity.orderID]); + } + public function get sequenceName():String { return _sequenceActivity.title; } Index: lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/br/CanvasBranchView.as =================================================================== diff -u -r44ced49b5c5e10ec15551f036d98c125b4005e5c -r745cc845b7776b062471723072abb234db21f292 --- lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/br/CanvasBranchView.as (.../CanvasBranchView.as) (revision 44ced49b5c5e10ec15551f036d98c125b4005e5c) +++ lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/br/CanvasBranchView.as (.../CanvasBranchView.as) (revision 745cc845b7776b062471723072abb234db21f292) @@ -725,14 +725,20 @@ */ private function removeBranch(b:Branch, cm){ Debugger.log("activeView: " + cm.isActiveView(this), Debugger.CRITICAL, "removeBranch", "CanvasBranchView"); + Debugger.log("b.direction: " + b.direction, Debugger.CRITICAL, "removeBranch", "CanvasBranchView"); if(!cm.isActiveView(this)) return false; + if(b.direction == BranchConnector.DIR_SINGLE) { + continue; + } else if(b.direction == BranchConnector.DIR_FROM_START) { + //cm.moveActivitiesToBranchSequence(b.sequenceActivity.firstActivityUIID, defaultSequenceActivity); + cm.migrateActivitiesToSequence(b.sequenceActivity, defaultSequenceActivity); + cm.getCanvas().removeActivity(b.sequenceActivity.activityUIID); // b.sequenceActivity.firstActivityUIID = null; + } else if(b.direction == BranchConnector.DIR_TO_END) { + b.sequenceActivity.stopAfterActivity = true; + } - if(b.direction == BranchConnector.DIR_SINGLE) { continue; - } else 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.branchLabel.removeMovieClip(); r.removeMovieClip(); Index: lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/cv/CanvasModel.as =================================================================== diff -u -r172dc8bd6075a4e7501c0e0cf4f5ddaa18399b1c -r745cc845b7776b062471723072abb234db21f292 --- lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/cv/CanvasModel.as (.../CanvasModel.as) (revision 172dc8bd6075a4e7501c0e0cf4f5ddaa18399b1c) +++ lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/cv/CanvasModel.as (.../CanvasModel.as) (revision 745cc845b7776b062471723072abb234db21f292) @@ -827,10 +827,19 @@ } else if(branchesSize > 0 && isLoopingLD(toAct.activityUIID, sequence.firstActivityUIID)) { return new LFError("Cannot create start-branch connection to Activity in a already connected Sequence.", "createBranchStartConnector", this); } else { + var b = new Branch(_cv.ddm.newUIID(), BranchConnector.DIR_FROM_START, toAct.activityUIID, activeView.startHub.activity.activityUIID, activeView.defaultSequenceActivity, _cv.ddm.learningDesignID); b.sequenceActivity.isDefault = false; - createNewSequenceActivity(activeView.activity, _cv.ddm.getComplexActivityChildren(sequence.parentUIID).length+1, null, true); + var sequences:Array = _cv.ddm.getComplexActivityChildren(sequence.parentUIID); + b.sequenceActivity.orderID = sequences.length; + b.setDefaultSequenceName(); + + Debugger.log("sequences length (order id): " + sequences.length, Debugger.CRITICAL, "createBranchStartConnector", "CanvasModel"); + + var orderID:Number = sequences.length+1; + + createNewSequenceActivity(activeView.activity, orderID, null, true); return b; } } @@ -876,11 +885,21 @@ Debugger.log("sequence: " + b.sequenceActivity.activityUIID, Debugger.CRITICAL, "createActivitylessBranch", "CanvasModel"); Debugger.log("isDefault: " + b.sequenceActivity.isDefault, Debugger.CRITICAL, "createActivitylessBranch", "CanvasModel"); - createNewSequenceActivity(activeView.activity, _cv.ddm.getComplexActivityChildren(b.sequenceActivity.parentUIID).length+1, null, true); + createNewSequenceActivity(activeView.activity, b.sequenceActivity.orderID+1, null, true); return b; } + public function migrateActivitiesToSequence(sequenceToMigrate:SequenceActivity, targetSequence:SequenceActivity):Boolean { + var activitiesToMigrate:Array = _cv.ddm.getComplexActivityChildren(sequenceToMigrate.activityUIID); + + for(var i=0; i 0) { + _refreshQueueCount = 0; + refreshDesign(); + } + + } + + private function refreshActivities(evtsTable:Hashtable, keys:Array):Void { //loop through and do comparison - for(var i=0;i 0) { - _refreshQueueCount = 0; - refreshDesign(); + } + + private function addModelEvent(table:Hashtable, UIID:Number, infoObj:Object):Boolean { + if(!table.containsKey(UIID)) { + table.put(UIID, infoObj); + return true; } + return false; } public function createViewUpdate(updateType, data):Object {