Index: lams_central/src/flash/org/lamsfoundation/lams/authoring/DesignDataModel.as =================================================================== diff -u -r1e0c50120fb95d73568daa7672abda691a65f2d0 -rdbc5e9ace7cac90a24959ea307b9c25df8867527 --- lams_central/src/flash/org/lamsfoundation/lams/authoring/DesignDataModel.as (.../DesignDataModel.as) (revision 1e0c50120fb95d73568daa7672abda691a65f2d0) +++ lams_central/src/flash/org/lamsfoundation/lams/authoring/DesignDataModel.as (.../DesignDataModel.as) (revision dbc5e9ace7cac90a24959ea307b9c25df8867527) @@ -111,18 +111,21 @@ //validate if we can do it? - //generate a new ID - //add to DDM + //TODO: 2nd time, after undo, in this is failing....; + + //dispatch an event to show the design has changed dispatchEvent({type:'ddmUpdate',target:this}); //ObjectUtils.printObject(activity); + + //TODO: MAYBE the UIID being created is the same as an existing activity after an undo, therefore overwriting in the hash table _activities.put(activity.activityUIID, activity); + Debugger.log('Succesfully added:'+_activities.get(activity.activityUIID).title,4,'addActivity','DesignDataModel'); - //TODO: Better validation of the addition success = true; @@ -138,6 +141,9 @@ * @return */ public function removeActivity(activityUIID):Object{ + //dispatch an event to show the design has changed + dispatchEvent({type:'ddmUpdate',target:this}); + var r:Object = _activities.remove(activityUIID); if(r==null){ return new LFError("Removing activity failed:"+activityUIID,"removeActivity",this,null); @@ -155,6 +161,9 @@ * @return */ public function removeTransition(transitionUIID):Object{ + //dispatch an event to show the design has changed + dispatchEvent({type:'ddmUpdate',target:this}); + var r:Object = _transitions.remove(transitionUIID); if(r==null){ return new LFError("Removing transition failed:"+transitionUIID,"removeTransition",this,null); @@ -172,7 +181,8 @@ * @return */ public function addTransition(transition:Transition):Boolean{ - + //dispatch an event to show the design has changed + dispatchEvent({type:'ddmUpdate',target:this}); Debugger.log('Transition from:'+transition.fromUIID+', to:'+transition.toUIID,4,'addActivity','DesignDataModel'); _transitions.put(transition.transitionUIID,transition); @@ -317,26 +327,28 @@ design.lastModifiedDateTime= (_lastModifiedDateTime) ? _lastModifiedDateTime: Config.DATE_NULL_VALUE; design.dateReadOnly = (_dateReadOnly) ? _dateReadOnly: Config.DATE_NULL_VALUE; - + design.activities = new Array(); var classActs:Array = _activities.values(); if(classActs.length > 0){ - design.activities = new Array(); + for(var i=0; i 0){ - design.transitions = new Array(); + for(var i=0; i 0){ - design.groupings = new Array(); + for(var i=0; i