Index: lams_flash/src/central/flash/org/lamsfoundation/lams/monitoring/mv/MonitorModel.as =================================================================== diff -u -r0e378dd9696fcf3cd772974aa98f0cef54fdb972 -r3ae4179b4bcf1d3075cb59e1ab9600c664720fff --- lams_flash/src/central/flash/org/lamsfoundation/lams/monitoring/mv/MonitorModel.as (.../MonitorModel.as) (revision 0e378dd9696fcf3cd772974aa98f0cef54fdb972) +++ lams_flash/src/central/flash/org/lamsfoundation/lams/monitoring/mv/MonitorModel.as (.../MonitorModel.as) (revision 3ae4179b4bcf1d3075cb59e1ab9600c664720fff) @@ -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 =================================================================== diff -u -r1413a40fdb1d979bbada4550a9bd588e36f370e8 -r3ae4179b4bcf1d3075cb59e1ab9600c664720fff --- lams_flash/src/central/flash/org/lamsfoundation/lams/monitoring/mv/MonitorView.as (.../MonitorView.as) (revision 1413a40fdb1d979bbada4550a9bd588e36f370e8) +++ lams_flash/src/central/flash/org/lamsfoundation/lams/monitoring/mv/MonitorView.as (.../MonitorView.as) (revision 3ae4179b4bcf1d3075cb59e1ab9600c664720fff) @@ -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 =================================================================== diff -u -r1413a40fdb1d979bbada4550a9bd588e36f370e8 -r3ae4179b4bcf1d3075cb59e1ab9600c664720fff --- lams_flash/src/central/flash/org/lamsfoundation/lams/monitoring/mv/tabviews/LearnerTabView.as (.../LearnerTabView.as) (revision 1413a40fdb1d979bbada4550a9bd588e36f370e8) +++ lams_flash/src/central/flash/org/lamsfoundation/lams/monitoring/mv/tabviews/LearnerTabView.as (.../LearnerTabView.as) (revision 3ae4179b4bcf1d3075cb59e1ab9600c664720fff) @@ -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 =================================================================== diff -u -rb3c3f6c6fc713cfa940a7f0f1924c2e8e4d601bb -r3ae4179b4bcf1d3075cb59e1ab9600c664720fff --- lams_flash/src/central/flash/org/lamsfoundation/lams/monitoring/mv/tabviews/LessonTabView.as (.../LessonTabView.as) (revision b3c3f6c6fc713cfa940a7f0f1924c2e8e4d601bb) +++ lams_flash/src/central/flash/org/lamsfoundation/lams/monitoring/mv/tabviews/LessonTabView.as (.../LessonTabView.as) (revision 3ae4179b4bcf1d3075cb59e1ab9600c664720fff) @@ -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 =================================================================== diff -u -r2dd65b84334012d958de5a9c6588ded951c52dc6 -r3ae4179b4bcf1d3075cb59e1ab9600c664720fff --- lams_flash/src/central/flash/org/lamsfoundation/lams/monitoring/mv/tabviews/MonitorTabView.as (.../MonitorTabView.as) (revision 2dd65b84334012d958de5a9c6588ded951c52dc6) +++ lams_flash/src/central/flash/org/lamsfoundation/lams/monitoring/mv/tabviews/MonitorTabView.as (.../MonitorTabView.as) (revision 3ae4179b4bcf1d3075cb59e1ab9600c664720fff) @@ -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 =================================================================== diff -u -rf300f5ac56cbfa5e28c645151088271647ddbfb7 -r3ae4179b4bcf1d3075cb59e1ab9600c664720fff Binary files differ Index: lams_monitoring/web/lams_monitoring_library.swf =================================================================== diff -u -rf300f5ac56cbfa5e28c645151088271647ddbfb7 -r3ae4179b4bcf1d3075cb59e1ab9600c664720fff Binary files differ