Index: lams_central/web/lams_authoring.swf =================================================================== diff -u -rfd2eb12a0f90745f54413766d18f204b33f88f1e -rfb923a2bc104eca9d2ce0e6b768eda6dafe5114a Binary files differ Index: lams_central/web/lams_authoring_library.swf =================================================================== diff -u -rfd2eb12a0f90745f54413766d18f204b33f88f1e -rfb923a2bc104eca9d2ce0e6b768eda6dafe5114a Binary files differ Index: lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/cv/Canvas.as =================================================================== diff -u -rd8e6bc4f6319680e6f72fb8fb68b7a9433515abc -rfb923a2bc104eca9d2ce0e6b768eda6dafe5114a --- lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/cv/Canvas.as (.../Canvas.as) (revision d8e6bc4f6319680e6f72fb8fb68b7a9433515abc) +++ lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/cv/Canvas.as (.../Canvas.as) (revision fb923a2bc104eca9d2ce0e6b768eda6dafe5114a) @@ -169,6 +169,7 @@ } + /** * Updates the design with the detsils form the workspace : * * @@ -182,7 +183,7 @@ * @usage * @return */ - public function saveDesignToServer(workspaceResultDTO:Object):Boolean{ + public function saveDesignToServer(workspaceResultDTO:Object, callback:Function):Boolean{ _global.breakpoint(); if (canvasModel.activitiesDisplayed.size() < 1){ @@ -224,7 +225,7 @@ LFMessage.showMessageAlert(Dictionary.getValue('grouping_invalid_with_common_names_msg', [_ddm.getGroupingActivityByGroupingUIID(groupingUIID).title]), null); return false; } else { - var callback:Function = Proxy.create(this,onStoreDesignResponse); + var callback:Function = Proxy.create(this,onStoreDesignResponse, callback); Application.getInstance().getComms().sendAndReceive(dto,"servlet/authoring/storeLearningDesignDetails",callback,false); } @@ -240,7 +241,7 @@ * @param r //the validation response * @return */ - public function onStoreDesignResponse(r):Void{ + public function onStoreDesignResponse(r, callback:Function):Void{ Application.getInstance().getWorkspace().getWV().clearDialog(); if(r instanceof LFError){ @@ -305,6 +306,8 @@ checkValidDesign(); checkReadOnlyDesign(); Cursor.showCursor(Application.C_DEFAULT); + + if(callback) callback(); } } @@ -504,14 +507,16 @@ public function openDesignBySelection(mode:String){ //Work space opens dialog and user will select view if(_ddm.modified || (mode == Workspace.MODE_INSERT && _ddm.modified && (_ddm.learningDesignID != null))) { - LFMessage.showMessageConfirm(Dictionary.getValue('cv_design_unsaved'), Proxy.create(this,doOpenDesignBySelection, mode), null); + if(_ddm.editOverrideLock) LFMessage.showMessageConfirm(Dictionary.getValue('cv_design_unsaved_live_edit'), Proxy.create(this, doOpenDesignBySelection, mode, true), null); + else LFMessage.showMessageConfirm(Dictionary.getValue('cv_design_unsaved'), Proxy.create(this,doOpenDesignBySelection, mode), null); } else { doOpenDesignBySelection(mode); } } - public function doOpenDesignBySelection(mode:String):Void{ - var callback:Function = Proxy.create(this, openDesignById); + public function doOpenDesignBySelection(mode:String, autoSave:Boolean):Void{ + var callback:Function = Proxy.create(this, openDesignById, autoSave); + var ws = Application.getInstance().getWorkspace(); ws.userSelectItem(callback, mode); } @@ -522,7 +527,12 @@ * @param designId * @return */ - public function openDesignById(workspaceResultDTO:Object){ + public function openDesignById(workspaceResultDTO:Object, autoSave:Boolean){ + if(autoSave) { + saveDesignToServer(null, Proxy.create(this, openDesignById, workspaceResultDTO, false)); + return; + } + Application.getInstance().getWorkspace().getWV().clearDialog(); ObjectUtils.toString(workspaceResultDTO); Index: lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/cv/CanvasHelper.as =================================================================== diff -u -rfd2eb12a0f90745f54413766d18f204b33f88f1e -rfb923a2bc104eca9d2ce0e6b768eda6dafe5114a --- lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/cv/CanvasHelper.as (.../CanvasHelper.as) (revision fd2eb12a0f90745f54413766d18f204b33f88f1e) +++ lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/cv/CanvasHelper.as (.../CanvasHelper.as) (revision fb923a2bc104eca9d2ce0e6b768eda6dafe5114a) @@ -143,11 +143,12 @@ if(clearCanvas(true)){ _ddm.setDesign(designData); + if(_ddm.editOverrideLock && !_ddm.validDesign) Application.getInstance().getToolbar().setButtonState("cancel_btn", false, true); if(canvasModel.importing){ Application.getInstance().getWorkspace().getWorkspaceModel().clearWorkspaceCache(_ddm.workspaceFolderID); - canvasModel.importing = false; - } else if(canvasModel.editing){ + canvasModel.importing = false; + } else if(canvasModel.editing){ // TODO: stuff to do before design is displayed // do we need editing flag in CanvasModel? } @@ -450,7 +451,7 @@ }else{ Application.getInstance().getToolbar().setButtonState('preview_btn', false); Application.getInstance().getToolbar().setButtonState('preview_btn_click_target', true, true); - LFMenuBar.getInstance().enableExport(false); + LFMenuBar.getInstance().enableExport(false); } } Index: lams_flash/src/common/flash/org/lamsfoundation/lams/common/ui/LFMenuBar.as =================================================================== diff -u -rbf7617c26252dc322b750d1181634214c7002166 -rfb923a2bc104eca9d2ce0e6b768eda6dafe5114a --- lams_flash/src/common/flash/org/lamsfoundation/lams/common/ui/LFMenuBar.as (.../LFMenuBar.as) (revision bf7617c26252dc322b750d1181634214c7002166) +++ lams_flash/src/common/flash/org/lamsfoundation/lams/common/ui/LFMenuBar.as (.../LFMenuBar.as) (revision fb923a2bc104eca9d2ce0e6b768eda6dafe5114a) @@ -152,6 +152,7 @@ } else { file_menu.addMenuItem({label:Dictionary.getValue('mnu_file_apply_changes'), instanceName:"saveItem"}); + file_menu.addMenuItem({label:Dictionary.getValue('mnu_file_insertdesign'), instanceName:"insertDesignItem", enabled:true}); file_menu.addMenuItem({type:"separator"});