Index: lams_flash/src/central/flash/org/lamsfoundation/lams/monitoring/mv/MonitorModel.as =================================================================== RCS file: /usr/local/cvsroot/lams_flash/src/central/flash/org/lamsfoundation/lams/monitoring/mv/MonitorModel.as,v diff -u -r1.42 -r1.43 --- lams_flash/src/central/flash/org/lamsfoundation/lams/monitoring/mv/MonitorModel.as 6 Feb 2009 04:21:46 -0000 1.42 +++ lams_flash/src/central/flash/org/lamsfoundation/lams/monitoring/mv/MonitorModel.as 20 Apr 2009 06:23:41 -0000 1.43 @@ -574,6 +574,17 @@ _indexSelected = idxSelected; } + public function setButtonState(btnName:String, btnState:Boolean, btnVisible:Boolean, tabId:Number) { + setChanged(); + infoObj = {}; + infoObj.updateType = "BUTTON"; + infoObj.tabID = tabId; + infoObj.button = btnName; + infoObj.buttonstate = btnState; + infoObj.buttonvisible = btnVisible; + notifyObservers(infoObj); + } + public function sendButtonUpdate():Void { //Set flag for notify observers setChanged(); Index: lams_flash/src/central/flash/org/lamsfoundation/lams/monitoring/mv/MonitorView.as =================================================================== RCS file: /usr/local/cvsroot/lams_flash/src/central/flash/org/lamsfoundation/lams/monitoring/mv/MonitorView.as,v diff -u -r1.17 -r1.18 --- lams_flash/src/central/flash/org/lamsfoundation/lams/monitoring/mv/MonitorView.as 13 Mar 2009 00:47:51 -0000 1.17 +++ lams_flash/src/central/flash/org/lamsfoundation/lams/monitoring/mv/MonitorView.as 20 Apr 2009 06:23:41 -0000 1.18 @@ -206,22 +206,32 @@ case 'EXPORTSHOWHIDE' : exportShowHide(infoObj.data); break; - case 'TIMECHARTSHOWHIDE' : - timeChartShowHide(infoObj.data); - break; case 'JOURNALSSHOWHIDE' : journalsShowHide(infoObj.data); break; case 'EDITFLYSHOWHIDE' : editFlyShowHide(infoObj.data); break; + case 'BUTTON' : + if (infoObj.tabID == mm.getSelectedTab()){ + setButtonState(infoObj); + } + break; default : Debugger.log('unknown update type :' + infoObj.updateType,Debugger.CRITICAL,'update','org.lamsfoundation.lams.MonitorView'); } } /** + * Sets a button's state, called from update + */ + private function setButtonState(infoObj:Object):Void{ + this[infoObj.button].enabled = infoObj.buttonstate; + this[infoObj.button].visible = (infoObj.buttonvisible != null) ? infoObj.buttonvisible : true ; + } + + /** * Sets the size of the canvas on stage, called from update */ private function showData(mm:MonitorModel):Void{ @@ -232,10 +242,6 @@ exportPortfolio_btn.visible = v; } - private function timeChartShowHide(v:Boolean):Void{ - viewAllTimeChart_btn.visible = v; - } - private function journalsShowHide(v:Boolean):Void{ viewJournals_btn.visible = v; } Index: lams_flash/src/central/flash/org/lamsfoundation/lams/monitoring/mv/tabviews/LearnerTabView.as =================================================================== RCS file: /usr/local/cvsroot/lams_flash/src/central/flash/org/lamsfoundation/lams/monitoring/mv/tabviews/LearnerTabView.as,v diff -u -r1.21 -r1.22 --- lams_flash/src/central/flash/org/lamsfoundation/lams/monitoring/mv/tabviews/LearnerTabView.as 13 Mar 2009 00:47:51 -0000 1.21 +++ lams_flash/src/central/flash/org/lamsfoundation/lams/monitoring/mv/tabviews/LearnerTabView.as 20 Apr 2009 06:23:41 -0000 1.22 @@ -158,7 +158,6 @@ if (infoObj.tabID == _tabID && !mm.locked){ hideMainExp(mm); mm.broadcastViewUpdate("JOURNALSSHOWHIDE", true); - mm.broadcastViewUpdate("TIMECHARTSHOWHIDE", true); adjustLearnerPanel(mm); if (mm.activitiesDisplayed.isEmpty()){ @@ -212,12 +211,15 @@ break; case 'DRAW_DESIGN' : Debugger.log("DRAW_DESIGN received",Debugger.CRITICAL,"update","LearnerTabView"); - if (infoObj.tabID == _tabID && !mm.locked){ - adjustLearnerPanel(mm); - if (mm.isDesignDrawn) { - clearCanvas(mm); + if (infoObj.tabID == _tabID){ + showEnableTimeChartButtonIfProgressMade(mm, infoObj); + if (!mm.locked) { + adjustLearnerPanel(mm); + if (mm.isDesignDrawn) { + clearCanvas(mm); + } + drawAllLearnersDesign(mm, infoObj.tabID); } - drawAllLearnersDesign(mm, infoObj.tabID); } break; case 'DRAW_ALL' : @@ -233,6 +235,20 @@ } } + // show the TimeChart btn, but only enable it if one of the learners has made enough progress to populate the graphs/charts + private function showEnableTimeChartButtonIfProgressMade(mm:MonitorModel, infoObj:Object) { + if (mm.getlearnerTabActArr().length > 0) { + var learnerTabActArr = mm.getlearnerTabActArr(); + for (var i=0; i 1 || learnerTabActArr[i].getCompletedActivities().length >= 1) { + mm.setButtonState("viewAllTimeChart_btn", true, true, _tabID); + return; + } + } + } + mm.setButtonState("viewAllTimeChart_btn", false, true, _tabID); + } + private function drawAll(){ drawCount = 0; Index: lams_flash/src/central/flash/org/lamsfoundation/lams/monitoring/mv/tabviews/LessonTabView.as =================================================================== RCS file: /usr/local/cvsroot/lams_flash/src/central/flash/org/lamsfoundation/lams/monitoring/mv/tabviews/LessonTabView.as,v diff -u -r1.22 -r1.23 --- lams_flash/src/central/flash/org/lamsfoundation/lams/monitoring/mv/tabviews/LessonTabView.as 16 Apr 2009 06:42:43 -0000 1.22 +++ lams_flash/src/central/flash/org/lamsfoundation/lams/monitoring/mv/tabviews/LessonTabView.as 20 Apr 2009 06:23:41 -0000 1.23 @@ -195,7 +195,7 @@ mm.getMonitor().getMV().getMonitorLessonScp()._visible = true; hideMainExp(mm); mm.broadcastViewUpdate("JOURNALSSHOWHIDE", false); - mm.broadcastViewUpdate("TIMECHARTSHOWHIDE", false); + mm.setButtonState("viewAllTimeChart_btn", true, false, _tabID); if(mm.getIsProgressChangedLesson()){ reloadProgress(false); @@ -212,7 +212,7 @@ mm.getMonitor().getMV().getMonitorLessonScp()._visible = true; hideMainExp(mm); mm.broadcastViewUpdate("JOURNALSSHOWHIDE", false); - mm.broadcastViewUpdate("TIMECHARTSHOWHIDE", false); + mm.setButtonState("viewAllTimeChart_btn", true, false, _tabID); MovieClipUtils.doLater(Proxy.create(this,draw)); Index: lams_flash/src/central/flash/org/lamsfoundation/lams/monitoring/mv/tabviews/MonitorTabView.as =================================================================== RCS file: /usr/local/cvsroot/lams_flash/src/central/flash/org/lamsfoundation/lams/monitoring/mv/tabviews/MonitorTabView.as,v diff -u -r1.41 -r1.42 --- lams_flash/src/central/flash/org/lamsfoundation/lams/monitoring/mv/tabviews/MonitorTabView.as 11 Mar 2009 23:02:58 -0000 1.41 +++ lams_flash/src/central/flash/org/lamsfoundation/lams/monitoring/mv/tabviews/MonitorTabView.as 20 Apr 2009 06:23:41 -0000 1.42 @@ -142,7 +142,7 @@ mm.getMonitor().getMV().getMonitorSequenceScp()._visible = true; hideMainExp(mm); mm.broadcastViewUpdate("JOURNALSSHOWHIDE", false); - mm.broadcastViewUpdate("TIMECHARTSHOWHIDE", false); + mm.setButtonState("viewAllTimeChart_btn", true, false, _tabID); if (mm.activitiesDisplayed.isEmpty() || mm.transitionsDisplayed.isEmpty()){ redrawCanvas(o.hasChanged()); Index: lams_monitoring/web/lams_monitoring.swf =================================================================== RCS file: /usr/local/cvsroot/lams_monitoring/web/Attic/lams_monitoring.swf,v diff -u -r1.241 -r1.242 Binary files differ Index: lams_monitoring/web/lams_monitoring_library.swf =================================================================== RCS file: /usr/local/cvsroot/lams_monitoring/web/Attic/lams_monitoring_library.swf,v diff -u -r1.209 -r1.210 Binary files differ