Index: lams_flash/src/central/flash/org/lamsfoundation/lams/learner/ls/LessonModel.as =================================================================== diff -u -rbd56ef610ff41806e30b080bcafaf53ee0346af0 -r77495ccc32bed23cbe45d47e16ae585c9a82d924 --- lams_flash/src/central/flash/org/lamsfoundation/lams/learner/ls/LessonModel.as (.../LessonModel.as) (revision bd56ef610ff41806e30b080bcafaf53ee0346af0) +++ lams_flash/src/central/flash/org/lamsfoundation/lams/learner/ls/LessonModel.as (.../LessonModel.as) (revision 77495ccc32bed23cbe45d47e16ae585c9a82d924) @@ -70,6 +70,8 @@ private var _active:Boolean; private var _activeSeq:Array; + + private var _eventsDisabled:Boolean; /** * Constructor. @@ -84,6 +86,7 @@ ddmActivity_keys = new Array(); ddmTransition_keys = new Array(); _activeSeq = new Array(); + _eventsDisabled = false; _activitiesDisplayed = new Hashtable("_activitiesDisplayed"); } @@ -371,17 +374,16 @@ Debugger.log("progress: " + _progressStr + " for id: " + firstActivitySeq.activityID, Debugger.CRITICAL, "orderDesign", "LessonModel"); if(_progressStr == "current_mc") { - for(var j=i-1; j>=0; j--) { - if(!orderDesignChildren(children, j, order, true)) return false; + for(var j=i; j>0; j--) { + if(!orderDesignChildren(children, j-1, order, true)) return false; } _activeSeq[children[i].parentUIID] = Activity(children[i]); if(!orderDesign(firstActivitySeq, order, backtrack)) return false; + broadcastViewUpdate("REMOVE_ACTIVITY_ALL"); - } - - if(_activeSeq[children[i].parentUIID] == Activity(children[i])) { + } else if(_activeSeq[children[i].parentUIID] == Activity(children[i])) { if(!orderDesign(firstActivitySeq, order, backtrack)) return false; if(children[i].stopAfterActivity && !backtrack) return false; } @@ -404,7 +406,9 @@ var learnerFirstActivity:Activity = learningDesignModel.activities.get(ddmfirstActivity_key); // recursive method to order design + _eventsDisabled = false; orderDesign(learnerFirstActivity, orderedActivityArr); + return orderedActivityArr; } @@ -414,7 +418,11 @@ var learnerFirstActivity:Activity = learningDesignModel.activities.get(firstActivityUIID); // recursive method to order design + _eventsDisabled = true; orderDesign(learnerFirstActivity, orderedActivityArr); + + _eventsDisabled = false; + return orderedActivityArr; } @@ -518,6 +526,8 @@ } public function broadcastViewUpdate(updateType, data){ + if(_eventsDisabled) return; + setChanged(); //send an update Index: lams_flash/src/common/flash/org/lamsfoundation/lams/common/LearnerComplexActivity.as =================================================================== diff -u -r809e0b35cb7ab3fa2d628414c9231332df087642 -r77495ccc32bed23cbe45d47e16ae585c9a82d924 --- lams_flash/src/common/flash/org/lamsfoundation/lams/common/LearnerComplexActivity.as (.../LearnerComplexActivity.as) (revision 809e0b35cb7ab3fa2d628414c9231332df087642) +++ lams_flash/src/common/flash/org/lamsfoundation/lams/common/LearnerComplexActivity.as (.../LearnerComplexActivity.as) (revision 77495ccc32bed23cbe45d47e16ae585c9a82d924) @@ -187,7 +187,7 @@ count++; if(learnerAct.activity == activeSequence) { - var actOrder:Array = model.getDesignOrder(activeSequence.firstActivityUIID); + var actOrder:Array = model.getDesignOrder(activeSequence.firstActivityUIID, false); drawChildren(actOrder, container, count); } } @@ -248,6 +248,7 @@ Debugger.log("refreshing children: " + children_mc.length, Debugger.CRITICAL, "checkIfSequenceActive", "LearnerComplexActivity"); var closeBox:Boolean = true; + for(var i=0; i