Index: lams_central/src/flash/org/lamsfoundation/lams/learner/ls/LessonController.as =================================================================== diff -u -r8a4feb3b869dc2b785a5eb0dd4be0b29f0f5bf06 -r111af21a0d23e2823f186427d311b2df7661da51 --- lams_central/src/flash/org/lamsfoundation/lams/learner/ls/LessonController.as (.../LessonController.as) (revision 8a4feb3b869dc2b785a5eb0dd4be0b29f0f5bf06) +++ lams_central/src/flash/org/lamsfoundation/lams/learner/ls/LessonController.as (.../LessonController.as) (revision 111af21a0d23e2823f186427d311b2df7661da51) @@ -112,30 +112,20 @@ Debugger.log('activityReleaseOutside CanvasActivity:'+ca.activity.activityID,Debugger.GEN,'activityReleaseOutside','LessonController'); } - public function complexActivityRelease(ca:Object):Void{ - if(ca.locked){ - _lessonModel.setCurrentActivityOpen(ca); + public function complexActivityRelease(ca:Object, dbClick:Boolean):Void{ + if(!dbClick){ + if(ca.locked){ + Debugger.log('***1*** CA dbclick: ' + dbClick + 'CA lock: '+ca.locked,Debugger.GEN,'complexActivityRelease','LessonController'); + _lessonModel.setCurrentActivityOpen(ca); + } else { + Debugger.log('***2*** CA dbclick: ' + dbClick + 'CA lock: '+ca.locked,Debugger.GEN,'complexActivityRelease','LessonController'); + _lessonModel.setCurrentActivityOpen(null); + } } else { - _lessonModel.setCurrentActivityOpen(null); + Debugger.log('***3*** CA dbclick: ' + dbClick + 'CA lock: '+ca.locked,Debugger.GEN,'complexActivityRelease','LessonController'); } } - public function checkForCurrentChildren(ca:Object, clickTarget:MovieClip):Void{ - Debugger.log('checking activity:'+ca.activity.activityID,Debugger.GEN,'checkForCurrentChildren','LessonController'); - for(var i=0; i 0 || ddm_activity.parentUIID > 0){ + trace("this is Child") + }else { + broadcastViewUpdate("UPDATE_ACTIVITY",ddm_activity); + } + } } public function broadcastViewUpdate(updateType, data){ Index: lams_central/src/flash/org/lamsfoundation/lams/learner/ls/LessonView.as =================================================================== diff -u -r8a4feb3b869dc2b785a5eb0dd4be0b29f0f5bf06 -r111af21a0d23e2823f186427d311b2df7661da51 --- lams_central/src/flash/org/lamsfoundation/lams/learner/ls/LessonView.as (.../LessonView.as) (revision 8a4feb3b869dc2b785a5eb0dd4be0b29f0f5bf06) +++ lams_central/src/flash/org/lamsfoundation/lams/learner/ls/LessonView.as (.../LessonView.as) (revision 111af21a0d23e2823f186427d311b2df7661da51) @@ -131,6 +131,10 @@ case 'DRAW_ACTIVITY' : drawActivity(infoObj.data, lm); break; + case 'UPDATE_ACTIVITY' : + Debugger.log('updating activity: ' + infoObj.data.activityUIID,Debugger.CRITICAL,'update','org.lamsfoundation.lams.LessonView'); + updateActivity(infoObj.data, lm); + break; case 'REMOVE_ACTIVITY' : removeActivity(infoObj.data, lm); break; @@ -146,8 +150,8 @@ break; case 'PROGRESS_UPDATE' : Debugger.log('progress data receieved for user..' + lm.progressData.getUserName(),Debugger.CRITICAL,'update','org.lamsfoundation.lams.LessonView'); - removeAll(lm); - lm.drawDesign(); + //removeAll(lm); + lm.updateDesign(); break; case 'CLOSE_COMPLEX_ACTIVITY' : closeComplexActivity(infoObj.data, lm); @@ -188,10 +192,16 @@ private function closeComplexActivity(ca:Object, lm:LessonModel):Void{ if(lm.activitiesDisplayed.containsKey(ca.activity.activityUIID)){ var a:LearnerComplexActivity = LearnerComplexActivity(lm.activitiesDisplayed.get(ca.activity.activityUIID)); - if(a.locked && !a.doubleClicking){ + if(a.locked){ a.collapse(); + Debugger.log('closed complex activity' + ca.activity.activityUIID,Debugger.CRITICAL,'closeComplexActivity','org.lamsfoundation.lams.LessonView'); + + } else { + Debugger.log('not closed complex activity' + ca.activity.activityUIID,Debugger.CRITICAL,'closeComplexActivity','org.lamsfoundation.lams.LessonView'); } } else { + Debugger.log('no entry in table: ' + ca.activity.activityUIID,Debugger.CRITICAL,'closeComplexActivity','org.lamsfoundation.lams.LessonView'); + // no object found in table } } @@ -240,6 +250,26 @@ return true; } + + + /** + * Updates existing activity on learner progress bar. + * @usage + * @param a - Activity to be drawn + * @param lm - Refernce to the model + * @return Boolean - successfullit + */ + private function updateActivity(a:Activity,lm:LessonModel):Boolean{ + + if(lm.activitiesDisplayed.containsKey(a.activityUIID)){ + var activityMC:Object = lm.activitiesDisplayed.get(a.activityUIID); + activityMC.refresh(); + } else { + drawActivity(a, lm); + } + + return true; + } /** * Sets the size of the Lesson on stage, called from update Index: lams_learning/web/lams_learner.swf =================================================================== diff -u -r77e9fde2b3fa30d4d2aed24ef304f07e5edc5381 -r111af21a0d23e2823f186427d311b2df7661da51 Binary files differ