Index: lams_flash/src/central/flash/lams_monitoring_v1.fla =================================================================== diff -u -r13d71f86008b0e06bc5447d6749f83cbaa7565a9 -r63e4ddc1e3bb7b6ca1da4a02ee3d0d148552dee8 Binary files differ Index: lams_flash/src/central/flash/org/lamsfoundation/lams/monitoring/mv/IndexButton.as =================================================================== diff -u -rf7d56d894cd5e946666867d953cb196098de276e -r63e4ddc1e3bb7b6ca1da4a02ee3d0d148552dee8 --- lams_flash/src/central/flash/org/lamsfoundation/lams/monitoring/mv/IndexButton.as (.../IndexButton.as) (revision f7d56d894cd5e946666867d953cb196098de276e) +++ lams_flash/src/central/flash/org/lamsfoundation/lams/monitoring/mv/IndexButton.as (.../IndexButton.as) (revision 63e4ddc1e3bb7b6ca1da4a02ee3d0d148552dee8) @@ -36,31 +36,36 @@ import mx.utils.*; import mx.controls.*; -class org.lamsfoundation.lams.monitoring.mv.IndexButton extends mx.core.UIObject { +class org.lamsfoundation.lams.monitoring.mv.IndexButton extends MovieClip { public static var _tabID:Number = 2; private var _className = "IndexButton"; private var _bgPanel:MovieClip; - private var btnWidth:Number; + private var btnWidth:Number; + + private var idxLabel_mc:MovieClip; private var idxLabel:Label; + private var _labelText:String; private var _tm:ThemeManager; private var mm:MonitorModel; - + /** * Called to Indexbutton. Called by LearnerIndexView */ - public function init(m:Observable,c:Controller){ - //Invoke superconstructor, which sets up MVC relationships. + public function init(m:Observable, c:Controller){ + mm = MonitorModel(m); + btnWidth = 45; - btnWidth = 48; - _bgPanel._width = btnWidth; - this.createClassObject(mx.controls.Label, "idxLabel", this.getNextHighestDepth(), {text:"", _width: 43, autoSize: "right"}); - this.onRollOver = Delegate.create(this, onMouseOver); - this.onPress = Delegate.create(this, indexClicked); + + idxLabel_mc = this.attachMovie("Label", "idxLabel", this.getNextHighestDepth(), {text:_labelText, _width: 40, autoSize: "right"}); + idxLabel = Label(idxLabel_mc); + + _bgPanel.onRollOver = Delegate.create(this, onMouseOver); + _bgPanel.onPress = Delegate.create(this, indexClicked); } public function onMouseOver(): Void { @@ -73,10 +78,11 @@ } - public function setSize():Void { - this._width = btnWidth; - idxLabel._width = btnWidth - 5; - _bgPanel._width = btnWidth; + public function setSize(_btnWidth:Number):Void { + this._width = _btnWidth; + + idxLabel._width = _btnWidth - 5; + _bgPanel._width = _btnWidth; } public function set label(a:String):Void { Index: lams_flash/src/central/flash/org/lamsfoundation/lams/monitoring/mv/Monitor.as =================================================================== diff -u -rfaa2451a2961575550669f2bceb7522490dde9b4 -r63e4ddc1e3bb7b6ca1da4a02ee3d0d148552dee8 --- lams_flash/src/central/flash/org/lamsfoundation/lams/monitoring/mv/Monitor.as (.../Monitor.as) (revision faa2451a2961575550669f2bceb7522490dde9b4) +++ lams_flash/src/central/flash/org/lamsfoundation/lams/monitoring/mv/Monitor.as (.../Monitor.as) (revision 63e4ddc1e3bb7b6ca1da4a02ee3d0d148552dee8) @@ -362,28 +362,39 @@ public function getProgressData(seq:Object){ var seqId:Number = seq.getSequenceID(); - trace('getting progress data for Sequence: '+seqId); - + Debugger.log('getting progress data for Sequence: '+seqId, Debugger.GEN, "getProgressData", "Monitor"); var callback:Function = Proxy.create(this, saveProgressData); Application.getInstance().getComms().getRequest('monitoring/monitoring.do?method=getAllLearnersProgress&lessonID=' + seqId, callback, false); } + public function getInitialLearnersProgress(seq:Object) { // Not used atm but leaving here in case we ever want to implement batch loading + var seqId:Number = seq.getSequenceID(); + Debugger.log('getting initial progress data for Sequence: '+seqId, Debugger.CRITICAL, "getInitialLearnersProgress", "Monitor"); + var callback:Function = Proxy.create(this, saveProgressData); + Application.getInstance().getComms().getRequest('monitoring/monitoring.do?method=getInitialLearnersProgress&lessonID=' + seqId,callback, false); + } + + public function getAdditionalLearnersProgress(seq:Object) { // Not used atm but leaving here in case we ever want to implement batch loading + var seqId:Number = seq.getSequenceID(); + Debugger.log('getting additional progress data for Sequence: '+seqId, Debugger.CRITICAL, "getInitialLearnersProgress", "Monitor"); + var callback:Function = Proxy.create(this, saveProgressData); + //Application.getInstance().getComms().getRequest('monitoring/monitoring.do?method=getAdditionalLearnersProgress&lessonID='+seqId+'&lastUserID='+learnerProgressList[learnersProgressList.length-1].userName,callback,false); + } + private function saveProgressData(progressDTO:Object){ - trace('returning progress data...'+progressDTO.length); + Debugger.log("saveProgressData invoked", Debugger.GEN, "saveProgressData", "Monitor"); var allLearners = new Array(); - for(var i=0; i< progressDTO.length; i++){ - + for(var i=0; i< progressDTO.length; i++){ var prog:Object = progressDTO[i]; var lessonProgress:Progress = new Progress(); lessonProgress.populateFromDTO(prog); - //trace('pushing lesson with id: ' + lessonModel.getLessonID()); allLearners.push(lessonProgress); } //sets these in the monitor model in a hashtable by learnerID monitorModel.setLessonProgressData(allLearners); dispatchEvent({type:'load',target:this}); - trace('progress data saved...'); + Debugger.log("Progress data saved...", Debugger.GEN, "saveProgressData", "Monitor"); } public function getCELiteral(taskType:Number):String{ Index: lams_flash/src/central/flash/org/lamsfoundation/lams/monitoring/mv/MonitorModel.as =================================================================== diff -u -r9cb49c5c64919ebee4c5230be002beadb2af932f -r63e4ddc1e3bb7b6ca1da4a02ee3d0d148552dee8 --- lams_flash/src/central/flash/org/lamsfoundation/lams/monitoring/mv/MonitorModel.as (.../MonitorModel.as) (revision 9cb49c5c64919ebee4c5230be002beadb2af932f) +++ lams_flash/src/central/flash/org/lamsfoundation/lams/monitoring/mv/MonitorModel.as (.../MonitorModel.as) (revision 63e4ddc1e3bb7b6ca1da4a02ee3d0d148552dee8) @@ -92,6 +92,7 @@ private var _isDesignDrawn:Boolean; private var _showLearners:Boolean; private var _endGate:MovieClip; + private var _learnerIndexView:MovieClip; //these are hashtables of mc refs MOVIECLIPS (like CanvasActivity or CanvasTransition) //each on contains a reference to the emelment in the ddm (activity or transition) @@ -115,6 +116,9 @@ private var _UserLoadCheckIntervalID:Number; //Interval ID for periodic check on User Load status private var _userLoadCheckCount = 0; // instance counter for number of times we have checked to see if users are loaded + private var _currentLearnerIndex:Number; + private var _learnersPerPage:Number; + private var _numLearners:Number; private var dispatchEvent:Function; public var addEventListener:Function; @@ -131,6 +135,9 @@ _staffLoaded = false; _learnersLoaded = false; + _currentLearnerIndex = 1; + _learnersPerPage = 10; + _activeView = null; _activitiesDisplayed = new Hashtable("_activitiesDisplayed"); @@ -197,7 +204,8 @@ // create new Sequence from DTO var seq:Sequence = new Sequence(_seq); setSequence(seq); - + //setNumLearners(_seq.numberStartedLearners); + //Debugger.log("_seq.numberStartedLearners: "+_seq.numberStartedLearners, Debugger.CRITICAL, "loadSequence", "MonitorModel"); return true; } @@ -224,8 +232,8 @@ public function activateSequence():Void{ var callback:Function = Proxy.create(_monitor, _monitor.reloadLessonToMonitor); Application.getInstance().getComms().getRequest('monitoring/monitoring.do?method=unsuspendLesson&lessonID=' + String(_activeSeq.ID) + '&userID=' + _root.userID,callback, false); - } - + } + public function setLessonProgressData(learnerProg:Array){ //clear the old lot of Learner Progress data _learnersProgress.clear(); @@ -424,7 +432,37 @@ } + public function set currentLearnerIndex(idx:Number):Void { + _currentLearnerIndex = idx; + + //Set flag for notify observers + setChanged(); + + //build and send update object + infoObj = {}; + infoObj.tabID = 2; + infoObj.updateType = "DRAW_DESIGN"; + notifyObservers(infoObj); + } + public function get currentLearnerIndex():Number { + return _currentLearnerIndex; + } + + public function set learnersPerPage(num:Number):Void { + _learnersPerPage = num; + } + + public function get learnersPerPage():Number { + return _learnersPerPage; + } + + public function get numIndexButtons(): Number { + var numIdxBtns:Number = Math.ceil(Math.max(getSequence().noStartedLearners,_learnersProgress.size())/learnersPerPage); + Debugger.log("numIdxBtns: "+numIdxBtns, Debugger.CRITICAL, "numIndexButtons", "MonitorModel"); + return numIdxBtns; + } + public function getlearnerTabActArr():Array{ return learnerTabActArr; } @@ -444,7 +482,6 @@ } public function addNewBranch(sequence:SequenceActivity, branchingActivity:BranchingActivity, isDefault:Boolean):Void { - Debugger.log("ok now i should be invoked", Debugger.CRITICAL, "addNewBranch", "MonitorModel"); Debugger.log("sequence.firstActivityUIID: "+sequence.firstActivityUIID, Debugger.CRITICAL, "addNewBranch", "MonitorModel"); if(sequence.firstActivityUIID != null) { @@ -492,12 +529,12 @@ var transitionKeyToCheck:Number = ddmTransition_keys[i]; var ddmTransition:Transition = _activeSeq.getLearningDesignModel().transitions.get(transitionKeyToCheck); - if (ddmTransition.fromUIID == activity.activityUIID){ - var ddm_activity:Activity = _activeSeq.getLearningDesignModel().activities.get(ddmTransition.toUIID); - - orderDesign(ddm_activity, order); - } + if (ddmTransition.fromUIID == activity.activityUIID){ + var ddm_activity:Activity = _activeSeq.getLearningDesignModel().activities.get(ddmTransition.toUIID); + orderDesign(ddm_activity, order); + } + } } @@ -528,6 +565,7 @@ */ public function drawDesign(tabID:Number, learner:Object){ ddmActivity_keys = _activeSeq.getLearningDesignModel().activities.keys(); + var indexArray:Array = setDesignOrder(); if (learner != null || learner != undefined){ @@ -540,9 +578,10 @@ //go through the design and get the activities and transitions var dataObj:Object; Debugger.log("ddm_activity keys: "+ddmActivity_keys.length, Debugger.GEN, "drawDesign", "MonitorModel"); - + + //var tmpNum:Number = (getSelectedTab() == 2 ) ? indexArray.length/5 : indexArray; //loop through - for(var i=0;i< indexArray.length; i++){ + for(var i=0;i<(indexArray.length); i++){ var keyToCheck:Number = indexArray[i].activityUIID; var ddm_activity:Activity = Activity(_activeSeq.getLearningDesignModel().activities.get(keyToCheck)); @@ -570,7 +609,7 @@ trIndexArray = ddmTransition_keys; //loop through - for(var i=0;i 1) {*/ + //monitorLearner_scp._y = monitorLearner_scp._y+20; + /*Debugger.log("if", Debugger.CRITICAL, "setPosition", "MonitorView"); + + } + else { + Debugger.log("else", Debugger.CRITICAL, "setPosition", "MonitorView"); + }*/ this._x = p.x; this._y = p.y; } @@ -428,6 +454,10 @@ public function getMonitorLearnerScp():MovieClip{ return monitorLearner_scp; } + + public function getLearnerIndexPanel():MovieClip { + return learnerIndexView_mc; + } /* * Returns the default controller for this view. Index: lams_flash/src/central/flash/org/lamsfoundation/lams/monitoring/mv/tabviews/LearnerIndexView.as =================================================================== diff -u -rf7d56d894cd5e946666867d953cb196098de276e -r63e4ddc1e3bb7b6ca1da4a02ee3d0d148552dee8 --- lams_flash/src/central/flash/org/lamsfoundation/lams/monitoring/mv/tabviews/LearnerIndexView.as (.../LearnerIndexView.as) (revision f7d56d894cd5e946666867d953cb196098de276e) +++ lams_flash/src/central/flash/org/lamsfoundation/lams/monitoring/mv/tabviews/LearnerIndexView.as (.../LearnerIndexView.as) (revision 63e4ddc1e3bb7b6ca1da4a02ee3d0d148552dee8) @@ -47,19 +47,19 @@ public static var _tabID:Number = 2; private var _className = "LearnerIndexView"; + + private var _bgPanel:MovieClip; private var _tm:ThemeManager; private var _tip:ToolTip; - private var mm:MonitorModel; - private var _learnerIndexView:LearnerIndexView; + private var mm:MonitorModel; //IndexButton private var _indexButton:IndexButton; private var _indexButton_mc:MovieClip; private var _buttonsPanel_mc:MovieClip; - - private var buttonsDrawn:Boolean; + private var displayedButtons:Array; private var dispatchEvent:Function; public var addEventListener:Function; @@ -75,6 +75,7 @@ _tip = new ToolTip(); this._visible = false; + displayedButtons = new Array(); //Init for event delegation mx.events.EventDispatcher.initialize(this); @@ -86,11 +87,7 @@ //Invoke superconstructor, which sets up MVC relationships. super (m, c); mm = MonitorModel(model) - - _learnerIndexView = this; mm.learnerIndexView = this; - - buttonsDrawn = false; MovieClipUtils.doLater(Proxy.create(this,draw)); } @@ -101,9 +98,10 @@ switch (infoObj.updateType){ case 'TABCHANGE' : - if (infoObj.tabID == _tabID && !mm.locked){ - if (!buttonsDrawn && getNumButtons()>1){ - setupButtons(); + if (infoObj.tabID == _tabID && !mm.locked && mm.numIndexButtons>1) { + if (mm.numIndexButtons > displayedButtons.length) { + Debugger.log("Setting up buttons [mm.numIndexButtons > displayedButtons.length]", Debugger.CRITICAL, "update", "LearnerIndexView"); + setupButtons(mm); } this._visible = true; }else { @@ -119,9 +117,18 @@ if (infoObj.tabID == _tabID && !mm.locked){ setSize(mm); } - break; + break; + case 'DRAW_DESIGN' : + if (infoObj.tabID == _tabID && !mm.locked && mm.numIndexButtons>1){ + if (mm.numIndexButtons > displayedButtons.length) { + Debugger.log("Setting up buttons [mm.numIndexButtons > displayedButtons.length]", Debugger.CRITICAL, "update", "LearnerIndexView"); + setupButtons(mm); + } + this._visible = true; + } + break; default : - Debugger.log('unknown update type :' + infoObj.updateType,Debugger.CRITICAL,'update','org.lamsfoundation.lams.MonitorTabView'); + Debugger.log('unknown update type :' + infoObj.updateType,Debugger.GEN,'update','org.lamsfoundation.lams.MonitorTabView'); } } @@ -130,45 +137,44 @@ dispatchEvent({type:'load',target:this}); } - public function getNumButtons(): Number { - return Math.ceil(mm.getSequence().noStartedLearners/mm.learnersPerPage); - } - - public function setupButtons():Void { + public function setupButtons(mm:MonitorModel):Void { + var btnWidth:Number = 45; - var btnWidth:Number = 48; - var numButtons:Number = getNumButtons(); + if (displayedButtons.length > 0 ) { + removeButtons(); + } _buttonsPanel_mc = this.createEmptyMovieClip("_buttonsPanel_mc", DepthManager.kTop); - - for (var i=1; i<=numButtons; i++) { - var idxBtn:MovieClip = _buttonsPanel_mc.attachMovie("IndexButton", "indexButton"+i, _buttonsPanel_mc.getNextHighestDepth(), {_width: btnWidth}); + + for (var i=1; i<=mm.numIndexButtons; i++) { + var idxBtn:MovieClip = _buttonsPanel_mc.attachMovie("IndexButton", "idxBtn"+i, _buttonsPanel_mc.getNextHighestDepth(), {_width: btnWidth, _labelText: String(i)}); _indexButton = IndexButton(idxBtn); - _indexButton.init(mm); - _indexButton.label = i; - Debugger.log("idxBtn._width: "+idxBtn._width, Debugger.CRITICAL, "setupButtons", "LearnerIndexView"); + _indexButton.init(mm, undefined); + displayedButtons.push(idxBtn); if (i > 1) idxBtn._x = (i-1)*btnWidth-1; else idxBtn._x = (i-1)*btnWidth; } - buttonsDrawn = true; } + + public function removeButtons(){ + Debugger.log("Removing Index Buttons", Debugger.GEN, "removeButtons", "LearnerIndexView"); + while (displayedButtons.length != 0) { + var idxBtn:MovieClip = MovieClip(displayedButtons.pop()); + _buttonsPanel_mc.removeMovieClip(idxBtn); + } + } - private function setPosition(mm:MonitorModel):Void{ - Debugger.log("LearnerIndexView setPosition", Debugger.CRITICAL, "setPosition", "LearnerIndexView"); + private function setPosition(mm:MonitorModel):Void{ var p:Object = mm.getPosition(); this._x = p.x; this._y = 0; } - private function setSize(mm:MonitorModel):Void{ - Debugger.log("setSize invoked", Debugger.CRITICAL, "setSize", "LearnerIndexView"); - - Debugger.log("PNT 1: "+mm.learnerIndexView._width, Debugger.CRITICAL, "setSize", "LearnerIndexView"); - this._width = Stage.width; - Debugger.log("PNT 2: "+mm.learnerIndexView.width, Debugger.CRITICAL, "setSize", "LearnerIndexView"); + public function setSize(mm:MonitorModel):Void{ + _bgPanel._width = mm.getSize().w; } public function getController():MonitorController{ Index: lams_flash/src/central/flash/org/lamsfoundation/lams/monitoring/mv/tabviews/LearnerTabView.as =================================================================== diff -u -r345e61bed6622f37845b0056796ce63d60ac0640 -r63e4ddc1e3bb7b6ca1da4a02ee3d0d148552dee8 --- lams_flash/src/central/flash/org/lamsfoundation/lams/monitoring/mv/tabviews/LearnerTabView.as (.../LearnerTabView.as) (revision 345e61bed6622f37845b0056796ce63d60ac0640) +++ lams_flash/src/central/flash/org/lamsfoundation/lams/monitoring/mv/tabviews/LearnerTabView.as (.../LearnerTabView.as) (revision 63e4ddc1e3bb7b6ca1da4a02ee3d0d148552dee8) @@ -62,12 +62,10 @@ private var ACT_Y:Number = 40; private var xOffSet:Number = 10; private var actWidth:Number = 120; - private var actLenght:Number = 0; - private var count:Number = 0; private var activeLearner:Number; private var prevLearner:Number; private var learnersDrawn:Number; - private var learnerListArr:Array = new Array(); + private var learnerListArr:Array; private var _tm:ThemeManager; private var _tip:ToolTip; @@ -85,7 +83,8 @@ private var completed_mc:MovieClip; private var refresh_btn:Button; - private var help_btn:Button; + private var help_btn:Button; + private var panelLowered:Boolean; //Defined so compiler can 'see' events added at runtime by EventDispatcher private var dispatchEvent:Function; @@ -106,12 +105,15 @@ } /** - * Called to initialise Canvas . CAlled by the Canvas container + * Called to initialise Canvas. Called by the Canvas container */ public function init(m:Observable,c:Controller){ //Invoke superconstructor, which sets up MVC relationships. super (m, c); mm = MonitorModel(model) + + learnerListArr = new Array(); + panelLowered = false; //Set up parameters for the grid H_GAP = 10; @@ -141,13 +143,14 @@ if (infoObj.tabID == _tabID && !mm.locked){ hideMainExp(mm); mm.broadcastViewUpdate("JOURNALSSHOWHIDE", true); - + adjustLearnerPanel(mm); + if (mm.activitiesDisplayed.isEmpty()){ mm.getMonitor().openLearningDesign(mm.getSequence()); } else if(mm.getIsProgressChangedLearner()) { - reloadProgress(false); + reloadProgress(mm, false); } else if(learnersDrawn != mm.allLearnersProgress.length){ - reloadProgress(true); + reloadProgress(mm, true); } mm.getMonitor().getMV().getMonitorLearnerScp()._visible = true; @@ -156,20 +159,22 @@ } else { mm.getMonitor().getMV().getMonitorLearnerScp()._visible = false; } - break; - case 'PROGRESS' : + break; + case 'PROGRESS' : + Debugger.log("Progress event received", Debugger.CRITICAL, "update", "LearnerTabView"); if (infoObj.tabID == _tabID){ if(!mm.locked){ mm.getMonitor().getProgressData(mm.getSequence()); } else { ApplicationParent.extCall("reloadWindow", null); - } - } - break; - + } + } + break; case 'RELOADPROGRESS' : + Debugger.log("Reload Progress event received", Debugger.CRITICAL, "update", "LearnerTabView"); if (infoObj.tabID == _tabID && !mm.locked){ - reloadProgress(true); + //adjustLearnerPanel(mm); + reloadProgress(mm, true); } break; case 'DRAW_ACTIVITY' : @@ -187,15 +192,18 @@ removeActivity(infoObj.data, mm); } break; - case 'DRAW_DESIGN' : - if (infoObj.tabID == _tabID && !mm.locked){ + case 'DRAW_DESIGN' : + adjustLearnerPanel(mm); + if (infoObj.tabID == _tabID && !mm.locked){ + if (mm.isDesignDrawn) { + clearCanvas(mm); + } drawAllLearnersDesign(mm, infoObj.tabID); } break; default : Debugger.log('unknown update type :' + infoObj.updateType,Debugger.CRITICAL,'update','org.lamsfoundation.lams.MonitorTabView'); } - } /** @@ -248,55 +256,73 @@ /** * Reloads the learner Progress and - * @Param isChanged Boolean Value to pass it to setIsProgressChanged in monitor model so that it sets it to true if refresh button is clicked and sets it to fasle as soon as latest data is loaded and design is redrawn. + * @Param isChanged Boolean Value to pass it to setIsProgressChanged in monitor model so that it sets it to true if refresh button is clicked and sets it to fasle as soon as latest data is loaded and design is redrawn. * @usage * @return nothing */ - private function reloadProgress(isChanged:Boolean){ - - learnersDrawn = 0; - learnerListArr = new Array(); + private function reloadProgress(mm:MonitorModel, isChanged:Boolean){ + clearCanvas(mm, isChanged); - ACT_X = 0; - ACT_Y = 35; + mm.getMonitor().getProgressData(mm.getSequence()); + } + + public function adjustLearnerPanel(mm):Void { + if (mm.numIndexButtons > 1 && !panelLowered) { + mm.getMonitor().getMV().getMonitorLearnerScp()._y = mm.getMonitor().getMV().getMonitorLearnerScp()._y + 20; + panelLowered = true; + } + } + + public function clearCanvas(mm:MonitorModel, isChanged:Boolean):Void { + learnersDrawn = 0; - this._activityLayer_mc.removeMovieClip(); - this._nameLayer_mc.removeMovieClip(); - - this._nameLayer_mc = this.createEmptyMovieClip("_nameLayer_mc", this.getNextHighestDepth(),{_y:learnerMenuBar._height}); - this._activityLayer_mc = this.createEmptyMovieClip("_activityLayer_mc", this.getNextHighestDepth(),{_y:learnerMenuBar._height}); + ACT_X = 0; + ACT_Y = 35; + + if (learnerListArr == null || learnerListArr == undefined){ + learnerListArr = new Array(); + } - if (isChanged == false){ - mm.setIsProgressChangedLearner(false); - mm.setIsProgressChangedSequence(true); - } else { - mm.setIsProgressChangedLesson(true); - mm.setIsProgressChangedSequence(true); - } + this._activityLayer_mc.removeMovieClip(); + this._nameLayer_mc.removeMovieClip(); - mm.transitionsDisplayed.clear(); - mm.activitiesDisplayed.clear(); + this._nameLayer_mc = this.createEmptyMovieClip("_nameLayer_mc", this.getNextHighestDepth(),{_y:learnerMenuBar._height}); + this._activityLayer_mc = this.createEmptyMovieClip("_activityLayer_mc", this.getNextHighestDepth(),{_y:learnerMenuBar._height}); + + if (isChanged == false){ + mm.setIsProgressChangedLearner(false); + mm.setIsProgressChangedSequence(true); + } else { + mm.setIsProgressChangedLesson(true); + mm.setIsProgressChangedSequence(true); + } - mm.getMonitor().getProgressData(mm.getSequence()); - + mm.transitionsDisplayed.clear(); + mm.activitiesDisplayed.clear(); + + mm.isDesignDrawn = false; } private function drawAllLearnersDesign(mm:MonitorModel, tabID:Number){ - mm.isDesignDrawn = false; - for(var i=0; i "+finishedLearners+" of "+ totalLearners; + Debugger.log("p2 in draw segd", Debugger.CRITICAL, "showEndGateData", "MonitorGateView"); } /** Index: lams_flash/src/common/flash/org/lamsfoundation/lams/common/LearnerActivity.as =================================================================== diff -u -r691459c3a8be6d76fa38516c01f9bb1e0add7e86 -r63e4ddc1e3bb7b6ca1da4a02ee3d0d148552dee8 --- lams_flash/src/common/flash/org/lamsfoundation/lams/common/LearnerActivity.as (.../LearnerActivity.as) (revision 691459c3a8be6d76fa38516c01f9bb1e0add7e86) +++ lams_flash/src/common/flash/org/lamsfoundation/lams/common/LearnerActivity.as (.../LearnerActivity.as) (revision 63e4ddc1e3bb7b6ca1da4a02ee3d0d148552dee8) @@ -73,10 +73,10 @@ private var actLabel:String; private var learner:Progress; private var clickTarget_mc:MovieClip; - private var completed_mc:MovieClip; - private var current_mc:MovieClip; - private var todo_mc:MovieClip; - private var attempted_mc:MovieClip; + //private var completed_mc:MovieClip; + //private var current_mc:MovieClip; + //private var todo_mc:MovieClip; + //private var attempted_mc:MovieClip; private var canvasActivity_mc:MovieClip; private var title_lbl:MovieClip; private var groupIcon_mc:MovieClip; @@ -92,6 +92,7 @@ private var _line_bottom:MovieClip; private var _line_top:MovieClip; + private var icon_mc:MovieClip; private var _complex:Boolean; @@ -163,11 +164,7 @@ } private function showAssets(isVisible:Boolean){ - completed_mc._visible = isVisible; - current_mc._visible = isVisible; canvasActivity_mc._visible = isVisible; - todo_mc._visible = isVisible; - attempted_mc._visible = isVisible title_lbl._visible = true; } @@ -180,6 +177,7 @@ showAssets(false); learner = controller.getModel().progressData; actStatus = null; + this.removeMovieClip(icon_mc); draw(); } @@ -201,20 +199,27 @@ clickTarget_mc._visible = true; - switch (actStatus){ - case 'completed_mc' : - completed_mc._visible = true; - break; - case 'current_mc' : - current_mc._visible = true; - break; - case 'attempted_mc' : - attempted_mc._visible = true; - break; - default : - todo_mc._visible = true; + if (!stopSign_mc) { + switch (actStatus){ + case 'completed_mc' : + icon_mc = this.attachMovie("completed_mc", "completed_mc" + _activity.activityID, this.getNextHighestDepth(), {_x: 58 , _y: -7}); + //completed_mc._visible = true; + break; + case 'current_mc' : + icon_mc = this.attachMovie("current_mc", "current_mc" + _activity.activityID, this.getNextHighestDepth(), {_x: 58 , _y: -7}); + //current_mc._visible = true; + break; + case 'attempted_mc' : + icon_mc = this.attachMovie("attempted_mc", "attempted_mc" + _activity.activityID, this.getNextHighestDepth(), {_x: 58 , _y: -7}); + //attempted_mc._visible = true; + break; + //case 'attempted_mc' + default : + icon_mc = this.attachMovie("todo_mc", "todo_mc" + _activity.activityID, this.getNextHighestDepth(), {_x: 58 , _y: -7}); + //todo_mc._visible = true; + } } - + //write text trace("Title passed for Gate Activity: "+actLabel) if (actLabel == undefined){ @@ -232,7 +237,6 @@ } title_lbl.text = toolTitle; - } public function showToolTip(btnObj, btnTT:String):Void{ Index: lams_flash/src/common/flash/org/lamsfoundation/lams/common/comms/Communication.as =================================================================== diff -u -rd7823922f404944822957e6c051bc0f1335a76de -r63e4ddc1e3bb7b6ca1da4a02ee3d0d148552dee8 --- lams_flash/src/common/flash/org/lamsfoundation/lams/common/comms/Communication.as (.../Communication.as) (revision d7823922f404944822957e6c051bc0f1335a76de) +++ lams_flash/src/common/flash/org/lamsfoundation/lams/common/comms/Communication.as (.../Communication.as) (revision 63e4ddc1e3bb7b6ca1da4a02ee3d0d148552dee8) @@ -34,11 +34,8 @@ * */ class org.lamsfoundation.lams.common.comms.Communication { - - - private static var FRIENDLY_ERROR_CODE:Number = 1; //Server error codes private static var SYSTEM_ERROR_CODE:Number = 2; @@ -112,7 +109,7 @@ * @returns Void */ public function getRequest(requestURL:String,handler:Function,isFullURL:Boolean):Void{ - + Cursor.showCursor(ApplicationParent.C_HOURGLASS); //Create XML response object Index: lams_monitoring/web/lams_monitoring.swf =================================================================== diff -u -rd72370474d2d3452a674fd8f2d847838acb7915c -r63e4ddc1e3bb7b6ca1da4a02ee3d0d148552dee8 Binary files differ Index: lams_monitoring/web/lams_monitoring_library.swf =================================================================== diff -u -rd72370474d2d3452a674fd8f2d847838acb7915c -r63e4ddc1e3bb7b6ca1da4a02ee3d0d148552dee8 Binary files differ