Index: lams_central/src/flash/org/lamsfoundation/lams/monitoring/mv/MonitorModel.as =================================================================== diff -u -r60e7af185a9376c4efcea3002b0522c02448b29d -ra1f7a06b0176d5910c3a38bf06af3e60d8ce0586 --- lams_central/src/flash/org/lamsfoundation/lams/monitoring/mv/MonitorModel.as (.../MonitorModel.as) (revision 60e7af185a9376c4efcea3002b0522c02448b29d) +++ lams_central/src/flash/org/lamsfoundation/lams/monitoring/mv/MonitorModel.as (.../MonitorModel.as) (revision a1f7a06b0176d5910c3a38bf06af3e60d8ce0586) @@ -80,7 +80,7 @@ private var learnerTabActArr:Array; private var ddmActivity_keys:Array; private var ddmTransition_keys:Array; - private var _orgs:Array; + private var _orgs:Array; private var _resultDTO:Object; //private var _selectedTreeNode:XMLNode; @@ -109,10 +109,10 @@ ddmActivity_keys = new Array(); ddmTransition_keys = new Array(); _staffLoaded = false; - _learnersLoaded = false; - - _resultDTO = new Object(); - + _learnersLoaded = false; + + _resultDTO = new Object(); + mx.events.EventDispatcher.initialize(this); } @@ -141,31 +141,30 @@ public function getSequence():Sequence{ return _activeSeq; } - - - public function loadSequence(seqDTO:Object):Boolean{ - // create new Sequence from DTO - var seq:Sequence = new Sequence(seqDTO); - setSequence(seq); - - return true; - } - - public function suspendSequence():Void{ - var callback:Function = Proxy.create(_monitor, _monitor.reloadLessonToMonitor); - Application.getInstance().getComms().getRequest('monitoring/monitoring.do?method=suspendLesson&lessonID=' + String(_activeSeq.ID) + '&userID=' + _root.userID,callback, false); - } - - public function archiveSequence():Void{ - var callback:Function = Proxy.create(_monitor, _monitor.reloadLessonToMonitor); - Application.getInstance().getComms().getRequest('monitoring/monitoring.do?method=archiveLesson&lessonID=' + String(_activeSeq.ID) + '&userID=' + _root.userID,callback, false); - } - - 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 loadSequence(seqDTO:Object):Boolean{ + // create new Sequence from DTO + var seq:Sequence = new Sequence(seqDTO); + setSequence(seq); + + return true; + } + + public function suspendSequence():Void{ + var callback:Function = Proxy.create(_monitor, _monitor.reloadLessonToMonitor); + Application.getInstance().getComms().getRequest('monitoring/monitoring.do?method=suspendLesson&lessonID=' + String(_activeSeq.ID) + '&userID=' + _root.userID,callback, false); + } + + public function archiveSequence():Void{ + var callback:Function = Proxy.create(_monitor, _monitor.reloadLessonToMonitor); + Application.getInstance().getComms().getRequest('monitoring/monitoring.do?method=archiveLesson&lessonID=' + String(_activeSeq.ID) + '&userID=' + _root.userID,callback, false); + } + + 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(); @@ -326,22 +325,18 @@ * @usage * @return */ - public function drawDesign(tabID:Number, learnerID:Number){ - //_learnersProgress.clear(); - //_activitiesDisplayed.clear(); - //_transitionsDisplayed.clear(); + public function drawDesign(tabID:Number, learner:Object){ - //if (learnerID != null){ - // learnerTabActArr.push(learnerID); - //} - //porobbably need to get a bit more granular + if (learner != null || learner != undefined){ + var drawLearner:Object = new Object(); + drawLearner = learner; + } + //go through the design and get the activities and transitions var indexArray:Array; var dataObj:Object; ddmActivity_keys = _activeSeq.getLearningDesignModel().activities.keys(); - - indexArray = ddmActivity_keys; trace("Length of Activities in DDM: "+indexArray.length) @@ -350,17 +345,14 @@ var keyToCheck:Number = indexArray[i]; - var ddm_activity:Activity = _activeSeq.getLearningDesignModel().activities.get(keyToCheck); trace("Activities in DDM: "+ddm_activity.activityUIID) if(ddm_activity.parentActivityID > 0 || ddm_activity.parentUIID > 0){ trace("this is Child") }else { - broadcastViewUpdate("DRAW_ACTIVITY",ddm_activity, tabID, learnerID); + broadcastViewUpdate("DRAW_ACTIVITY",ddm_activity, tabID, drawLearner); } - //dataObj.activity = ddm_activity; } - //now check the transitions: ddmTransition_keys = _activeSeq.getLearningDesignModel().transitions.keys(); @@ -375,19 +367,16 @@ var ddmTransition:Transition = _activeSeq.getLearningDesignModel().transitions.get(transitionKeyToCheck); - //NOTE!: we are passing in a ref to the tns in the ddm so if we change any props of this, we are changing the ddm broadcastViewUpdate("DRAW_TRANSITION",ddmTransition, tabID); - //dataObj.trans = ddmTransition; - } - + } } public function setDialogOpen(dialogOpen:String){ _dialogOpen = dialogOpen; broadcastViewUpdate(_dialogOpen, null, null); } - public function broadcastViewUpdate(updateType, data, tabID, learnerID){ + public function broadcastViewUpdate(updateType, data, tabID, learner){ //getMonitor().getMV().clearView(); setChanged(); @@ -396,7 +385,7 @@ infoObj.updateType = updateType; infoObj.data = data; infoObj.tabID = tabID; - infoObj.learner = learnerID + infoObj.learner = learner notifyObservers(infoObj); } @@ -448,39 +437,40 @@ _UserLoadCheckIntervalID = null; } - public function requestLearners(data:Object, callback:Function){ - - trace('requesting learners...'); - //var callback:Function = Proxy.create(this,saveLearners); - _monitor.requestUsers(LEARNER_ROLE, data.organisationID, callback); - } + public function requestLearners(data:Object, callback:Function){ + + trace('requesting learners...'); + //var callback:Function = Proxy.create(this,saveLearners); + _monitor.requestUsers(LEARNER_ROLE, data.organisationID, callback); + } + + + public function requestStaff(data:Object, callback:Function){ + + trace('requesting staff members...'); + //var callback:Function = Proxy.create(this,saveStaff); + + _monitor.requestUsers(STAFF_ROLE, data.organisationID, callback); + } + + public function saveLearners(users:Array){ + trace('retrieving back users for org by role: ' + MonitorModel.LEARNER_ROLE); + + saveUsers(users, LEARNER_ROLE); + + //dispatchEvent({type:'learnersLoad',target:this}); + broadcastViewUpdate("LEARNERS_LOADED", null, null); + } + + public function saveStaff(users:Array){ + trace('retrieving back users for org by role: ' + STAFF_ROLE); + + saveUsers(users, STAFF_ROLE); + + //dispatchEvent({type:'staffLoad',target:this}); + broadcastViewUpdate("STAFF_LOADED", null, null); + } - - public function requestStaff(data:Object, callback:Function){ - - trace('requesting staff members...'); - //var callback:Function = Proxy.create(this,saveStaff); - - _monitor.requestUsers(STAFF_ROLE, data.organisationID, callback); - } - - public function saveLearners(users:Array){ - trace('retrieving back users for org by role: ' + MonitorModel.LEARNER_ROLE); - - saveUsers(users, LEARNER_ROLE); - - //dispatchEvent({type:'learnersLoad',target:this}); - broadcastViewUpdate("LEARNERS_LOADED", null, null); - } - - public function saveStaff(users:Array){ - trace('retrieving back users for org by role: ' + STAFF_ROLE); - - saveUsers(users, STAFF_ROLE); - - //dispatchEvent({type:'staffLoad',target:this}); - broadcastViewUpdate("STAFF_LOADED", null, null); - } private function saveUsers(users:Array, role:String):Void{ @@ -500,32 +490,30 @@ organisation.addUser(user); } } - - } - - public function getLessonClassData():Object{ - var classData:Object = new Object(); - var r:Object = resultDTO; - var staff:Object = new Object(); - var learners:Object = new Object(); - if(r){ - trace('getting lesson class data...'); - trace('org resource id: ' + r.organisationID); - if(_root.lessonID){classData.lessonID = _root.lessonID;} - if(r.organisationID){classData.organisationID = r.organisationID;} - classData.staff = staff; - classData.learners = learners; - if(r.staffGroupName){classData.staff.groupName = r.staffGroupName;} - if(r.selectedStaff){staff.users = r.selectedStaff;} - if(r.learnersGroupName){classData.learners.groupName = r.learnersGroupName;} - if(r.selectedLearners){classData.learners.users = r.selectedLearners;} - return classData; - } else { - return null; - } - } + public function getLessonClassData():Object{ + var classData:Object = new Object(); + var r:Object = resultDTO; + var staff:Object = new Object(); + var learners:Object = new Object(); + if(r){ + trace('getting lesson class data...'); + trace('org resource id: ' + r.organisationID); + if(_root.lessonID){classData.lessonID = _root.lessonID;} + if(r.organisationID){classData.organisationID = r.organisationID;} + classData.staff = staff; + classData.learners = learners; + if(r.staffGroupName){classData.staff.groupName = r.staffGroupName;} + if(r.selectedStaff){staff.users = r.selectedStaff;} + if(r.learnersGroupName){classData.learners.groupName = r.learnersGroupName;} + if(r.selectedLearners){classData.learners.users = r.selectedLearners;} + return classData; + } else { + return null; + } + } + public function setDirty(){ _isDirty = true; trace("In setDirty") @@ -650,19 +638,19 @@ //dispatch an update to the view //broadcastViewUpdate('ITEM_SELECTED',_selectedTreeNode); - } - */ - + } + */ + /** * * @usage - * @return + * @return + public function getSelectedTreeNode ():XMLNode { return _selectedTreeNode; - } + } */ - public function setSelectedTab(tabID:Number){ selectedTab = tabID; } @@ -707,15 +695,15 @@ public function get className():String{ return 'MonitorModel'; - } - - public function get resultDTO():Object{ - return _resultDTO; - } - - public function set resultDTO(a:Object){ - _resultDTO = a; + } + + public function get resultDTO():Object{ + return _resultDTO; } + + public function set resultDTO(a:Object){ + _resultDTO = a; + } /** * Returns a reference to the Activity Movieclip for the UIID passed in. Gets from _activitiesDisplayed Hashable