Index: lams_central/src/flash/org/lamsfoundation/lams/learner/ls/LessonView.as =================================================================== diff -u -rd502e6d1f34632a757dd6bda2daf8b0c07e1c8a5 -rb5b74bf638d42c004787a29f1093f569579aa96a --- lams_central/src/flash/org/lamsfoundation/lams/learner/ls/LessonView.as (.../LessonView.as) (revision d502e6d1f34632a757dd6bda2daf8b0c07e1c8a5) +++ lams_central/src/flash/org/lamsfoundation/lams/learner/ls/LessonView.as (.../LessonView.as) (revision b5b74bf638d42c004787a29f1093f569579aa96a) @@ -281,6 +281,7 @@ } progress_scp.redraw(true); + getAndScrollToTargetPos(a, newActivity_mc, lm.progressData); return true; } @@ -296,34 +297,13 @@ private function updateActivity(a:Activity,lm:LessonModel):Boolean{ - var targetPos; - if(lm.activitiesDisplayed.containsKey(a.activityUIID)){ var activityMC:Object = lm.activitiesDisplayed.get(a.activityUIID); activityMC.refresh(); Debugger.log('progess data:'+lm.progressData.getCurrentActivityId()+' a.activityID:'+a.activityID,Debugger.CRITICAL,'updateActivity','LessonView'); - if(lm.progressData.getCurrentActivityId() == a.activityID){ - //progress_scp.vPosition = activityMC._x; - var scrollBarPosition = activityMC._y - (ACTIVITY_OFFSET*1.5); - Debugger.log('|| sb pos: ' + scrollBarPosition + ' || max pos: ' + progress_scp.vScroller.maxPos+ ' || activity Y:'+activityMC._y+' || progress_scp.content._height:'+progress_scp.content._height,Debugger.CRITICAL,'updateActivity','LessonView'); - - if((scrollBarPosition >= 0) && (scrollBarPosition <= progress_scp.vScroller.maxPos)){ - targetPos = scrollBarPosition; - } else if(scrollBarPosition >= progress_scp.vScroller.maxPos){ - targetPos = progress_scp.vScroller.maxPos; - } else { - targetPos = progress_scp.vScroller.minPos; - } - - if(progress_scp.vScroller._visible) { - Debugger.log('adjusting scrollbar position to target: ' + targetPos,Debugger.CRITICAL,'updateActivity','LessonView'); - if(ScrollCheckIntervalID == null) { - ScrollCheckIntervalID = setInterval(Proxy.create(this,adjustScrollBar,targetPos),SCROLL_CHECK_INTERVAL); - } - } - } + getAndScrollToTargetPos(a, activityMC, lm.progressData); } else { drawActivity(a, lm); @@ -335,6 +315,31 @@ return true; } + private function getAndScrollToTargetPos(a:Activity, activityMC:Object, data:Progress):Void { + var targetPos; + + if(data.getCurrentActivityId() == a.activityID){ + //progress_scp.vPosition = activityMC._x; + var scrollBarPosition = activityMC._y - (ACTIVITY_OFFSET*1.5); + Debugger.log('|| sb pos: ' + scrollBarPosition + ' || max pos: ' + progress_scp.vScroller.maxPos+ ' || activity Y:'+activityMC._y+' || progress_scp.content._height:'+progress_scp.content._height,Debugger.CRITICAL,'getAndScrollToTargetPos','LessonView'); + + if((scrollBarPosition >= 0) && (scrollBarPosition <= progress_scp.vScroller.maxPos)){ + targetPos = scrollBarPosition; + } else if(scrollBarPosition >= progress_scp.vScroller.maxPos){ + targetPos = progress_scp.vScroller.maxPos; + } else { + targetPos = progress_scp.vScroller.minPos; + } + + if(progress_scp.vScroller._visible) { + Debugger.log('adjusting scrollbar position to target: ' + targetPos,Debugger.CRITICAL,'getAndScrollToTargetPos','LessonView'); + if(ScrollCheckIntervalID == null) { + ScrollCheckIntervalID = setInterval(Proxy.create(this,adjustScrollBar,targetPos),SCROLL_CHECK_INTERVAL); + } + } + } + } + private function adjustScrollBar(targetVal:Number) { var offset:Number; Index: lams_central/src/flash/org/lamsfoundation/lams/monitoring/mv/tabviews/LearnerTabView.as =================================================================== diff -u -r6f216fba347b83cec9643e97905a407e168dd8c4 -rb5b74bf638d42c004787a29f1093f569579aa96a --- lams_central/src/flash/org/lamsfoundation/lams/monitoring/mv/tabviews/LearnerTabView.as (.../LearnerTabView.as) (revision 6f216fba347b83cec9643e97905a407e168dd8c4) +++ lams_central/src/flash/org/lamsfoundation/lams/monitoring/mv/tabviews/LearnerTabView.as (.../LearnerTabView.as) (revision b5b74bf638d42c004787a29f1093f569579aa96a) @@ -198,10 +198,10 @@ * layout visual elements on the MonitorTabView on initialisation */ private function draw(){ - //set up the Movie Clips to load relevant + //set up the Movie Clips to load relevant + this._nameLayer_mc = this.createEmptyMovieClip("_nameLayer_mc", this.getNextHighestDepth(),{_y:learnerMenuBar._height}); this._activityLayer_mc = this.createEmptyMovieClip("_activityLayer_mc", this.getNextHighestDepth(),{_y:learnerMenuBar._height}); - this._nameLayer_mc = this.createEmptyMovieClip("_nameLayer_mc", this.getNextHighestDepth(),{_y:learnerMenuBar._height}); setStyles(); @@ -443,7 +443,7 @@ var ltv = LearnerTabView(this); var mc = getController(); - var mc:MovieClip = MovieClip(mm.activitiesDisplayed.get(a.activityUIID)); + var mc_to_clone:MovieClip = MovieClip(mm.activitiesDisplayed.get(a.activityUIID)); var _activityLayer_mc_clone:MovieClip = null; if (ACT_X == 0) { @@ -453,17 +453,17 @@ //take action depending on act type if(a.isGateActivity()){ var actLabel:String = gateTitle(a); - _activityLayer_mc_clone = ApplicationParent.cloneMovieClip(mc, "_activityLayer_mc_clone_" + learner.getLearnerId() + "_" + a.activityUIID, _activityLayer_mc.getNextHighestDepth(), {_activity:a, _controller:mc, _view:ltv, _x:ACT_X, _y:ACT_Y+40, actLabel:actLabel, learner:learner}); + _activityLayer_mc_clone = ApplicationParent.cloneMovieClip(mc_to_clone, "_activityLayer_mc_clone_" + learner.getLearnerId() + "_" + a.activityUIID, _activityLayer_mc.getNextHighestDepth(), {_activity:a, _controller:mc, _view:ltv, _x:ACT_X, _y:ACT_Y+40, actLabel:actLabel, learner:learner}); } else if(a.activityTypeID==Activity.PARALLEL_ACTIVITY_TYPE || a.activityTypeID==Activity.OPTIONAL_ACTIVITY_TYPE){ var children:Array = mm.getMonitor().ddm.getComplexActivityChildren(a.activityUIID); - _activityLayer_mc_clone = ApplicationParent.cloneMovieClip(mc, "_activityLayer_mc_clone_" + learner.getLearnerId() + "_" + a.activityUIID, _activityLayer_mc.getNextHighestDepth(), {_activity:a, _children:children, _controller:mc,_view:ltv, _x:ACT_X, _y:ACT_Y+40, learner:learner}); + _activityLayer_mc_clone = ApplicationParent.cloneMovieClip(mc_to_clone, "_activityLayer_mc_clone_" + learner.getLearnerId() + "_" + a.activityUIID, _activityLayer_mc.getNextHighestDepth(), {_activity:a, _children:children, _controller:mc,_view:ltv, _x:ACT_X, _y:ACT_Y+40, learner:learner}); } else { - _activityLayer_mc_clone = ApplicationParent.cloneMovieClip(mc, "_activityLayer_mc_clone_" + learner.getLearnerId() + "_" + a.activityUIID, _activityLayer_mc.getNextHighestDepth(), {_activity:a, _controller:mc, _view:ltv, _x:ACT_X, _y:ACT_Y+40, learner:learner}); + _activityLayer_mc_clone = ApplicationParent.cloneMovieClip(mc_to_clone, "_activityLayer_mc_clone_" + learner.getLearnerId() + "_" + a.activityUIID, _activityLayer_mc.getNextHighestDepth(), {_activity:a, _controller:mc, _view:ltv, _x:ACT_X, _y:ACT_Y+40, learner:learner}); } ACT_X = (_activityLayer_mc_clone != null) ? _activityLayer_mc_clone._x + _activityLayer_mc_clone._width : 0; - Debugger.log("_clone:" + _activityLayer_mc_clone + " xPOS=" + mc._x + " yPOS=" + mc._y + " _x=" + _activityLayer_mc_clone._x + " _y=" + _activityLayer_mc_clone._y, Debugger.CRITICAL, "cloneDesign", "LTV"); + Debugger.log("_clone:" + _activityLayer_mc_clone + " xPOS=" + mc_to_clone._x + " yPOS=" + mc_to_clone._y + " _x=" + _activityLayer_mc_clone._x + " _y=" + _activityLayer_mc_clone._y, Debugger.CRITICAL, "cloneDesign", "LTV"); } Index: lams_learning/web/lams_learner.swf =================================================================== diff -u -r6282962c9f416bd57761dad704ce9031efe9ad9b -rb5b74bf638d42c004787a29f1093f569579aa96a Binary files differ Index: lams_monitoring/web/lams_monitoring.swf =================================================================== diff -u -r6f216fba347b83cec9643e97905a407e168dd8c4 -rb5b74bf638d42c004787a29f1093f569579aa96a Binary files differ Index: lams_monitoring/web/lams_monitoring_library.swf =================================================================== diff -u -r6f216fba347b83cec9643e97905a407e168dd8c4 -rb5b74bf638d42c004787a29f1093f569579aa96a Binary files differ