Index: lams_central/src/flash/org/lamsfoundation/lams/monitoring/mv/Monitor.as =================================================================== diff -u -rd4bdb419b0ed924be34bcae8851cdf129cacf19d -r723924b19b0b59241a425d4415e52d8cf52e95d0 --- lams_central/src/flash/org/lamsfoundation/lams/monitoring/mv/Monitor.as (.../Monitor.as) (revision d4bdb419b0ed924be34bcae8851cdf129cacf19d) +++ lams_central/src/flash/org/lamsfoundation/lams/monitoring/mv/Monitor.as (.../Monitor.as) (revision 723924b19b0b59241a425d4415e52d8cf52e95d0) @@ -21,19 +21,20 @@ * ************************************************************************ */ import org.lamsfoundation.lams.monitoring.Application; +import org.lamsfoundation.lams.monitoring.Organisation; import org.lamsfoundation.lams.monitoring.mv.*; import org.lamsfoundation.lams.monitoring.mv.tabviews.*; import org.lamsfoundation.lams.authoring.DesignDataModel; -import org.lamsfoundation.lams.common.ui.* +import org.lamsfoundation.lams.common.ui.*; import org.lamsfoundation.lams.common.util.*; -import org.lamsfoundation.lams.common.dict.* -import org.lamsfoundation.lams.common.* +import org.lamsfoundation.lams.common.dict.*; +import org.lamsfoundation.lams.common.* ; -import mx.utils.* +import mx.utils.*; import mx.managers.*; import mx.events.*; -class org.lamsfoundation.lams.monitoring.mv.Monitor { +class Monitor { //Constants public static var USE_PROPERTY_INSPECTOR = true; @@ -95,7 +96,7 @@ //Set the position by setting the model which will call update on the view monitorModel.setPosition(x,y); monitorModel.setSize(w,h); - + monitorModel.initOrganisationTree(); //Get reference to application and design data model //app = Application.getInstance(); @@ -120,7 +121,30 @@ } } + public function getOrganisations():Void{ + var callback:Function = Proxy.create(this,showOrgList); + + Application.getInstance().getComms().getRequest('workspace.do?method=getOrganisationsByUserRole&userID='+_root.userID+'&roles=STAFF,TEACHER',callback, false); + + } + private function showOrgList(orgs:Array):Void{ + trace('organisations list returned...'); + + var orgCol = new Array(); + + for(var i=0; i< orgs.length; i++){ + var o:Object = orgs[i]; + trace(o.name); + var newOrg:Organisation = new Organisation(); + newOrg.populateFromDTO(o); + trace('pushing org with name: ' + newOrg.getName()); + orgCol.push(newOrg); + } + + monitorModel.saveOrgs(orgCol); + } + /** * server call for learning Dseign and sent it to the save it in DataDesignModel * @@ -138,17 +162,7 @@ Application.getInstance().getComms().getRequest('authoring/author.do?method=getLearningDesignDetails&learningDesignID='+designID,callback, false); } - - /* - private function getProgressData(seq:Object){ - trace('getting progress data...'); - var progessId:Number = seq.getSequenceID(); - - var callback:Function = Proxy.create(this, saveProgressData); - Application .getInstance().getComms().getRequest('learning/learner.do?method=getFlashProgressData&progressId=' + progessId, callback, false); - } - */ - + private function saveDataDesignModel(learningDesignDTO:Object){ trace('returning learning design...'); trace('saving model data...'); @@ -158,21 +172,10 @@ seq.setLearningDesignModel(_ddm); // activite Progress movie - //monitorModel.drawDesign(); + monitorModel.drawDesign(); } - /* - private function saveProgressData(progressDTO:Object) - trace('returning progress data...'); - var progress:Progress = new Progress(); - progress.populateFromDTO(progressDTO); - var seq:Sequence = Sequence(libraryModel.getSelectedSequence()); - seq.setProgress(progress); - - trace('progress data saved...'); - } - */ - + /** * Used by application to set the size * @param width The desired width @@ -214,7 +217,7 @@ public function getMV():MonitorView{ return monitorView; } - + public function get ddm():DesignDataModel{ return _ddm; } Index: lams_central/src/flash/org/lamsfoundation/lams/monitoring/mv/MonitorModel.as =================================================================== diff -u -rd4bdb419b0ed924be34bcae8851cdf129cacf19d -r723924b19b0b59241a425d4415e52d8cf52e95d0 --- lams_central/src/flash/org/lamsfoundation/lams/monitoring/mv/MonitorModel.as (.../MonitorModel.as) (revision d4bdb419b0ed924be34bcae8851cdf129cacf19d) +++ lams_central/src/flash/org/lamsfoundation/lams/monitoring/mv/MonitorModel.as (.../MonitorModel.as) (revision 723924b19b0b59241a425d4415e52d8cf52e95d0) @@ -22,8 +22,8 @@ */ import org.lamsfoundation.lams.monitoring.*; -import org.lamsfoundation.lams.monitoring.mv.*; -import org.lamsfoundation.lams.authoring.Activity; +import org.lamsfoundation.lams.monitoring.mv.*; +import org.lamsfoundation.lams.authoring.Activity; import org.lamsfoundation.lams.authoring.Transition; import org.lamsfoundation.lams.common.Sequence; import org.lamsfoundation.lams.common.util.Observable; @@ -34,6 +34,9 @@ */ class MonitorModel extends Observable{ private var _className:String = "MonitorModel"; + + public var RT_FOLDER:String = "Folder"; + public var RT_ORG:String = "Organisation"; private var __width:Number; private var __height:Number; @@ -50,24 +53,28 @@ private var _todos:Array; // Array of ToDo ContributeActivity(s) // state data private var _showLearners:Boolean; - //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) - private var _activitiesDisplayed:Hashtable; - private var _transitionsDisplayed:Hashtable; + + //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) + private var _activitiesDisplayed:Hashtable; + private var _transitionsDisplayed:Hashtable; - //These are defined so that the compiler can 'see' the events that are added at runtime by EventDispatcher - private var dispatchEvent:Function; - public var addEventListener:Function; - public var removeEventListener:Function; + //this is the dataprovider for the org tree + private var _treeDP:XML; + private var _orgResources:Array; + private var _orgs:Array; + private var _selectedTreeNode:XMLNode; /** * Constructor. */ public function MonitorModel (monitor:Monitor){ _monitor = monitor; - _showLearners = true; - _activitiesDisplayed = new Hashtable("_activitiesDisplayed"); + _showLearners = true; + _activitiesDisplayed = new Hashtable("_activitiesDisplayed"); _transitionsDisplayed = new Hashtable("_transitionsDisplayed"); - } + + _orgResources = new Array(); + } // add get/set methods @@ -102,8 +109,14 @@ return _org; } + public function saveOrgs(orgs:Array){ + _orgs = orgs; + } + + public function getOrgs():Array{ + return _orgs; + } - public function setToDos(todos:Array){ _todos = new Array(); @@ -151,87 +164,87 @@ public function isShowLearners():Boolean{ return _showLearners; - } + } - /** - * get the design in the DesignDataModel and update the Monitor Model accordingly. - * NOTE: Design elements are added to the DDM here. - * - * @usage - * @return - */ - public function drawDesign(tabID:Number){ - - //porobbably need to get a bit more granular - //go through the design and get the activities and transitions - var indexArray:Array; - var dataObj:Object; - var ddmActivity_keys:Array = _monitor.ddm.activities.keys(); - - - - indexArray = ddmActivity_keys; - trace("Length of Activities in DDM: "+indexArray.length) - - //loop through and do comparison - for(var i=0;i