Index: lams_flash/src/central/flash/org/lamsfoundation/lams/learner/ls/LessonModel.as =================================================================== diff -u -r671c1333c43faa197288fc20e38713d7b70110e3 -r067c9015b58a0a86faf7f60fd05bc27d32b02bf1 --- lams_flash/src/central/flash/org/lamsfoundation/lams/learner/ls/LessonModel.as (.../LessonModel.as) (revision 671c1333c43faa197288fc20e38713d7b70110e3) +++ lams_flash/src/central/flash/org/lamsfoundation/lams/learner/ls/LessonModel.as (.../LessonModel.as) (revision 067c9015b58a0a86faf7f60fd05bc27d32b02bf1) @@ -370,9 +370,9 @@ if(children[i].stopAfterActivity && !backtrack) return false; } else { - + /** Debugger.log("progress: " + _progressStr + " for id: " + firstActivitySeq.activityID, Debugger.CRITICAL, "orderDesign", "LessonModel"); - + if(_progressStr == "current_mc") { for(var j=i; j>0; j--) { if(!orderDesignChildren(children, j-1, order, true)) return false; @@ -387,7 +387,7 @@ if(!orderDesign(firstActivitySeq, order, backtrack)) return false; if(children[i].stopAfterActivity && !backtrack) return false; } - + */ } } Index: lams_flash/src/common/flash/org/lamsfoundation/lams/common/LearnerActivity.as =================================================================== diff -u -r671b50bb9f03c1f507b621e842b619070d338d65 -r067c9015b58a0a86faf7f60fd05bc27d32b02bf1 --- lams_flash/src/common/flash/org/lamsfoundation/lams/common/LearnerActivity.as (.../LearnerActivity.as) (revision 671b50bb9f03c1f507b621e842b619070d338d65) +++ lams_flash/src/common/flash/org/lamsfoundation/lams/common/LearnerActivity.as (.../LearnerActivity.as) (revision 067c9015b58a0a86faf7f60fd05bc27d32b02bf1) @@ -120,10 +120,8 @@ _visibleWidth = LearnerActivity.TOOL_ACTIVITY_WIDTH; } - //_base_mc = this; //call init if we have passed in the _activity as an initObj in the attach movie, //otherwise wait as the class outside will call it - if(_activity != undefined){ init(); } @@ -139,7 +137,6 @@ _controller = initObj._controller; _activity = initObj._activity; learner = initObj.learner; - //actStatus = initObj.actStatus; } if(_complex){ @@ -161,10 +158,6 @@ showAssets(false); - if(!_activity.isGateActivity() && !_activity.isGroupActivity()){ - //loadIcon(); - } - MovieClipUtils.doLater(Proxy.create(this, draw)); } @@ -235,6 +228,8 @@ toolTitle = actLabel; } + Debugger.log("parent level: " + _parent._parent.level, Debugger.CRITICAL, "draw", "LearnerActivity"); + if(_parent._parent.level > 0) { for(var i=0; i<_parent._parent.level; i++) toolTitle = "-" + toolTitle; @@ -353,16 +348,15 @@ } } - } else if(this.activity.isOptionsWithSequencesActivity() || this.activity.isOptionalActivity() || this.activity.isParallelActivity()) { + } else if(this.activity.isOptionsWithSequencesActivity() || this.activity.isOptionalActivity() || this.activity.isParallelActivity() || this.activity.isBranchingActivity()) { Debugger.log('activeComplex:'+activeComplex, Debugger.CRITICAL,'onRelease','LearnerActivity'); if(model.findParent(this.activity, LearnerComplexActivity(this._parent._parent).activity) || (activeSequence.activityUIID == this.activity.parentUIID)) { - //if(LearnerComplexActivity(this._parent._parent).activity.activityUIID == this.activity.parentUIID || activeSequence.activityUIID == this.activity.parentUIID) { if(activeComplex == this.activity) { // close current active complex LearnerComplexActivity(this._parent._parent).removeAllChildrenAndInputComplex(null); } else { // open complex - LearnerComplexActivity(this._parent._parent).removeAllChildrenAndInputComplex(this.activity); + LearnerComplexActivity(this._parent._parent).removeAllChildrenAndInputComplex(this.activity, this.level); } } } Index: lams_flash/src/common/flash/org/lamsfoundation/lams/common/LearnerComplexActivity.as =================================================================== diff -u -r671b50bb9f03c1f507b621e842b619070d338d65 -r067c9015b58a0a86faf7f60fd05bc27d32b02bf1 --- lams_flash/src/common/flash/org/lamsfoundation/lams/common/LearnerComplexActivity.as (.../LearnerComplexActivity.as) (revision 671b50bb9f03c1f507b621e842b619070d338d65) +++ lams_flash/src/common/flash/org/lamsfoundation/lams/common/LearnerComplexActivity.as (.../LearnerComplexActivity.as) (revision 067c9015b58a0a86faf7f60fd05bc27d32b02bf1) @@ -39,11 +39,13 @@ import org.lamsfoundation.lams.common.style. *; import mx.controls. *; -import mx.managers. * +import mx.managers. *; + /** * CanvasOptionalActivity * This is the UI / view representation of a complex (Optional) activity */ + class LearnerComplexActivity extends MovieClip implements ICanvasActivity { private var CHILD_OFFSET_X : Number = 8; @@ -53,8 +55,6 @@ private var LABEL_W:Number = 130; private var LABEL_H:Number = 22; - //private var count:Number; - //this is set by the init object private var _controller:AbstractController; private var _view:AbstractView; @@ -68,6 +68,7 @@ private var container_pnl:MovieClip; private var title_lbl:MovieClip; private var labelHolder_mc:MovieClip; + //locals private var actStatus:String; private var childActivities_mc : MovieClip; @@ -99,6 +100,7 @@ private var _nested:Boolean; private var _level:Number; + private var _complexLevel:Number; private var activeSequence:SequenceActivity; private var activeComplex:ComplexActivity; @@ -109,6 +111,7 @@ function LearnerComplexActivity () { complexActivity_mc = this; + activeSequence = null; activeComplex = null; @@ -126,6 +129,8 @@ if(!_nested) _level = 0; + + _complexLevel = 0; init(); } @@ -170,8 +175,6 @@ private function clearDelegates():Void { // run delegates - Debugger.log("del length: " + delegates.length, Debugger.CRITICAL, "init", "LearnerComplexActivity"); - if(delegates.length > 0) { MovieClipUtils.doLater(Function(delegates.shift())); } else { @@ -194,7 +197,7 @@ private function drawChildren(_children:Array, index:Number):Number { var childCoordY:Number = 0; - Debugger.log("draw children: " + _children.length + " :: index: " + index, Debugger.CRITICAL, "drawChildren", "LearnerComplexActivity"); + Debugger.log("draw children: " + _children.length + " :: index: " + index + " :: level: " + _level, Debugger.CRITICAL, "drawChildren", "LearnerComplexActivity"); var _idx=0; if(index != null) _idx = index; @@ -205,17 +208,16 @@ var progStatus:String = Progress.compareProgressData(learner, _children[i].activityID); var parentAct:Activity = (model instanceof LessonModel) ? model.learningDesignModel.getActivityByUIID(Activity(_children[i]).parentUIID) : model.ddm.getActivityByUIID(Activity(_children[i]).parentUIID); - Debugger.log("children_mc length: " + children_mc.length, Debugger.CRITICAL, "drawChildren", "LearnerComplexActivity"); - if(children_mc.length > 0) childCoordY = (children_mc[children_mc.length-1] instanceof LearnerComplexActivity) ? children_mc[children_mc.length-1]._y + children_mc[children_mc.length-1].getChildrenHeight() : children_mc[children_mc.length-1]._y + 21; // (count*21); Debugger.log("progStatus: " + progStatus, Debugger.CRITICAL, "drawChildren", "LearnerComplexActivity"); - Debugger.log("childCoordY: " + childCoordY, Debugger.CRITICAL, "drawChildren", "LearnerComplexActivity"); - var _newLevel:Number = (parentAct.isOptionalSequenceActivity(activity)) ? _level + 1 : _level; + var _newLevel:Number = (parentAct.isOptionalSequenceActivity(activity) || parentAct.isSequenceActivity()) ? 1 : 0; learnerAct = LearnerActivity(childHolder_mc.createChildAtDepth("LearnerActivity_forComplex", childHolder_mc.getNextHighestDepth(), {_activity:_children[i], _controller:_controller, _view:_view, learner:learner, actStatus:progStatus, _complex:true, _level: _newLevel, xPos:this._x, yPos:childCoordY})); + Debugger.log('newLevel:' + _newLevel,Debugger.CRITICAL,'drawChildren','LearnerComplexActivity'); + Debugger.log('attaching child movieL ' + learnerAct,Debugger.CRITICAL,'drawChildren','LearnerComplexActivity'); //set the positioning co-ords @@ -226,51 +228,53 @@ learnerAct._visible = true; - Debugger.log('x: ' + learnerAct._x + ' y: ' + learnerAct._y, Debugger.CRITICAL, 'drawChildren', 'LearnerComplexActivity'); - if((activity.isBranchingActivity() && parentAct.isSequenceActivity()) || (activity.isOptionsWithSequencesActivity() && parentAct.isSequenceActivity())) { - /** TODO: Use for Sequence in Optional */ learnerAct.lineTopVisible = (i != 0) ? false : true; learnerAct.lineBottomVisible = (i == _children.length-1) ? true : false; } children_mc.push(learnerAct); - if(learnerAct.activity == activeSequence) { - if(activeSequence.firstActivityUIID != null) { - var actOrder:Array = model.getDesignOrder(activeSequence.firstActivityUIID, true); - createChildren(actOrder, null); + if(learnerAct.activity == activeSequence && activeSequence.firstActivityUIID != null) { + + var actOrder:Array = model.getDesignOrder(activeSequence.firstActivityUIID, true); + createChildren(actOrder, null); - return i+1; - } - } else if(learnerAct.activity.isBranchingActivity()) { + return i+1; + + /*} + else if(learnerAct.activity.isBranchingActivity()) { Debugger.log('test: ' + (learnerAct.isAttempted || learnerAct.isCompleted), Debugger.CRITICAL, 'drawChildren', 'LearnerComplexActivity'); + Debugger.log('mode: ' + _root.mode, Debugger.CRITICAL, 'drawChildren', 'LearnerComplexActivity'); - if(learnerAct.isAttempted || learnerAct.isCompleted) { - if(!isLearnerModule()) { - drawActiveBranch(learnerAct); - } - - return i+1; + if(!isLearnerModule() || _root.mode == 'preview') { + var _cChildren:Array = (model instanceof LessonModel) ? model.learningDesignModel.getComplexActivityChildren(learnerAct.activity.activityUIID) : model.ddm.getComplexActivityChildren(learnerAct.activity.activityUIID); + + learnerAct = LearnerComplexActivity(childHolder_mc.createChildAtDepth("LearnerComplexActivity_Nested", DepthManager.kTop, {_activity:_children[i], _children:_cChildren, _controller:_controller, _view:_view, learner:learner, actStatus:progStatus, _nested:true, _level: _level+1, _x:0, _y:childCoordY+21})); + children_mc.push(learnerAct); + } + + return i+1; + */ } else if(learnerAct.activity == activeComplex) { var _cChildren:Array = (model instanceof LessonModel) ? model.learningDesignModel.getComplexActivityChildren(activeComplex.activityUIID) : model.ddm.getComplexActivityChildren(activeComplex.activityUIID); - Debugger.log("children length: " + _cChildren.length, Debugger.CRITICAL, "drawChildren", "LearnerComplexActivity"); - - learnerAct = LearnerComplexActivity(childHolder_mc.createChildAtDepth("LearnerComplexActivity_Nested", DepthManager.kTop, {_activity:_children[i], _children:_cChildren, _controller:_controller, _view:_view, learner:learner, actStatus:progStatus, _nested:true, _level: _level+1, _x:0, _y:childCoordY+21})); + + learnerAct = LearnerComplexActivity(childHolder_mc.createChildAtDepth("LearnerComplexActivity_Nested", DepthManager.kTop, {_activity:_children[i], _children:_cChildren, _controller:_controller, _view:_view, learner:learner, actStatus:progStatus, _nested:true, _level: _level+_complexLevel+1, _x:0, _y:childCoordY+21})); children_mc.push(learnerAct); return i+1; } } - Debugger.log("children_mc length: " + children_mc.length, Debugger.CRITICAL, "drawChildren", "LearnerComplexActivity"); - return null; } + /** + * @deprecated + */ private function drawActiveBranch(learnerAct:LearnerActivity):Void { var _cChildren:Array = model.ddm.getComplexActivityChildren(learnerAct.activity.activityUIID); @@ -442,9 +446,12 @@ updateComplex(); } - public function removeAllChildrenAndInputComplex(activity:ComplexActivity):Void { + public function removeAllChildrenAndInputComplex(activity:ComplexActivity, complexLevel:Number):Void { activeComplex = activity; + _complexLevel = complexLevel; + manualSelect = true; + updateComplex(); } Index: lams_learning/web/lams_learner.swf =================================================================== diff -u -r671b50bb9f03c1f507b621e842b619070d338d65 -r067c9015b58a0a86faf7f60fd05bc27d32b02bf1 Binary files differ Index: lams_monitoring/web/lams_monitoring.swf =================================================================== diff -u -r671b50bb9f03c1f507b621e842b619070d338d65 -r067c9015b58a0a86faf7f60fd05bc27d32b02bf1 Binary files differ Index: lams_monitoring/web/lams_monitoring_library.swf =================================================================== diff -u -r671b50bb9f03c1f507b621e842b619070d338d65 -r067c9015b58a0a86faf7f60fd05bc27d32b02bf1 Binary files differ