Index: lams_central/src/flash/org/lamsfoundation/lams/authoring/cv/Canvas.as =================================================================== diff -u -r5f321974dd9f3fe1b2e5efec0bbdd2f4a7e2a938 -re3aef7ebcf8ea4fcf581d5f5588b17001c3b8482 --- lams_central/src/flash/org/lamsfoundation/lams/authoring/cv/Canvas.as (.../Canvas.as) (revision 5f321974dd9f3fe1b2e5efec0bbdd2f4a7e2a938) +++ lams_central/src/flash/org/lamsfoundation/lams/authoring/cv/Canvas.as (.../Canvas.as) (revision e3aef7ebcf8ea4fcf581d5f5588b17001c3b8482) @@ -64,7 +64,7 @@ private var toolActWidth:Number = 123; private var toolActHeight:Number = 50; private var complexActWidth:Number = 143; - + private var _isBusy:Boolean; // auto-save interval //private static var AUTOSAVE_DEFAULT_CHECK_INTERVAL:Number = 10000; private static var AUTOSAVE_CONFIG:String = "autosave"; @@ -112,7 +112,7 @@ _undoStack = new Array(); _redoStack = new Array(); - + _isBusy = false; //some initialisation: @@ -169,10 +169,10 @@ } setInterval(Proxy.create(this,autoSave), autosave_config_interval); } - clearCanvas(true); dispatchEvent({type:'load',target:this}); + }else { Debugger.log('Event type not recognised : ' + evt.type,Debugger.CRITICAL,'viewLoaded','Canvas'); } @@ -218,7 +218,7 @@ * @return */ public function openDesignById(workspaceResultDTO:Object){ - + //Application.getInstance().getWorkspace().getWV().workspaceDialog.closeThisDialogue(); ObjectUtils.toString(workspaceResultDTO); var designId:Number = workspaceResultDTO.selectedResourceID; @@ -317,7 +317,7 @@ } public function saveDesign(){ - if((_ddm.learningDesignID == undefined || _ddm.learningDesignID == "" || _ddm.learningDesignID == null || _ddm.learningDesignID =="undefined") && (_ddm.title == "" || _ddm.title == undefined || _ddm.title == null)){ + if((_ddm.learningDesignID == undefined || _ddm.learningDesignID == "" || _ddm.learningDesignID == null || _ddm.learningDesignID =="undefined") || _ddm.learningDesignID == Config.NUMERIC_NULL_VALUE && (_ddm.title == "" || _ddm.title == undefined || _ddm.title == null)){ // raise alert if design is empty if (canvasModel.activitiesDisplayed.size() < 1){ Cursor.showCursor(Application.C_DEFAULT); @@ -412,6 +412,8 @@ */ public function onStoreDesignResponse(r):Void{ //Debugger.log('Response:'+ObjectUtils.printObject(response),Debugger.GEN,'onStoreDesignResponse','Canvas'); + Application.getInstance().getWorkspace().getWV().clearDialog(); + if(r instanceof LFError){ Cursor.showCursor(Application.C_DEFAULT); r.showErrorAlert(); @@ -1188,14 +1190,14 @@ private function openGroupHelp(url:String){ var actToolSignature:String = Application.FLASH_TOOLSIGNATURE_GROUP var locale:String = _root.lang + _root.country; - var target:String = app.module +actToolSignature+ '#' + app.module +actToolSignature+ '-' + locale; + var target:String = actToolSignature + app.module + '#' + actToolSignature+ app.module + '-' + locale; getURL(url + target, '_blank'); } private function openGateHelp(url:String){ var actToolSignature:String = Application.FLASH_TOOLSIGNATURE_GATE var locale:String = _root.lang + _root.country; - var target:String = app.module +actToolSignature+ '#' + app.module +actToolSignature+ '-' + locale; + var target:String = actToolSignature + app.module + '#' + actToolSignature + app.module + '-' + locale; getURL(url + target, '_blank'); } @@ -1211,7 +1213,18 @@ return complexActWidth; } + private function setBusy():Void{ + if(_isBusy){ + //Debugger.log('!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!',1,'checkBusy','org.lamsfoundation.lams.common.util.Hashtable'); + //Debugger.log('!!!!!!!!!!!!!!!!!!!! HASHTABLE ACCESED WHILE BUSY !!!!!!!!!!!!!!!!',1,'checkBusy','org.lamsfoundation.lams.common.util.Hashtable'); + //Debugger.log('!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!',1,'checkBusy','org.lamsfoundation.lams.common.util.Hashtable'); + } + _isBusy=true; + } + private function clearBusy():Void{ + _isBusy=false; + } /** * Used by application to set the Position * @param x Index: lams_common/src/flash/org/lamsfoundation/lams/common/ws/Workspace.as =================================================================== diff -u -r37e78e57ef52b927c691a9647eacd09446d546e7 -re3aef7ebcf8ea4fcf581d5f5588b17001c3b8482 --- lams_common/src/flash/org/lamsfoundation/lams/common/ws/Workspace.as (.../Workspace.as) (revision 37e78e57ef52b927c691a9647eacd09446d546e7) +++ lams_common/src/flash/org/lamsfoundation/lams/common/ws/Workspace.as (.../Workspace.as) (revision e3aef7ebcf8ea4fcf581d5f5588b17001c3b8482) @@ -360,5 +360,10 @@ return workspaceModel; } + public function getWV():WorkspaceView{ + return workspaceView; + } + + } Index: lams_common/src/flash/org/lamsfoundation/lams/common/ws/WorkspaceController.as =================================================================== diff -u -rbaeee0eab9f551f2085a76c345db163bde210f81 -re3aef7ebcf8ea4fcf581d5f5588b17001c3b8482 --- lams_common/src/flash/org/lamsfoundation/lams/common/ws/WorkspaceController.as (.../WorkspaceController.as) (revision baeee0eab9f551f2085a76c345db163bde210f81) +++ lams_common/src/flash/org/lamsfoundation/lams/common/ws/WorkspaceController.as (.../WorkspaceController.as) (revision e3aef7ebcf8ea4fcf581d5f5588b17001c3b8482) @@ -35,7 +35,8 @@ class org.lamsfoundation.lams.common.ws.WorkspaceController extends AbstractController { private var _workspaceModel:WorkspaceModel; - private var _workspaceController:WorkspaceController; + private var _workspaceController:WorkspaceController; + private var _isBusy:Boolean; /** * Constructor * @@ -44,7 +45,8 @@ public function WorkspaceController (wm:Observable) { super (wm); _workspaceController = this; - _workspaceModel = WorkspaceModel(wm); + _workspaceModel = WorkspaceModel(wm); + _isBusy = false; } @@ -261,7 +263,8 @@ * @param e * @return */ - public function fileOperationRequest(e:Object){ + public function fileOperationRequest(e:Object){ + setBusy() var tgt:String = new String(e.target); var workspaceDialogue = getView().workspaceDialogue; Debugger.log('type:'+e.type+',target:'+tgt,Debugger.GEN,'fileOperationRequest','org.lamsfoundation.lams.WorkspaceController'); @@ -366,7 +369,7 @@ //_workspaceModel.getWorkspace().requestCreateFolder(); } - + clearBusy() //TODO: integrate with key listener for canvas!! CTRL-C is handels by the canvas at the mo... need to set somethign in application.# @@ -408,8 +411,16 @@ _workspaceModel.getWorkspace().requestNewFolder(selectedFolderID,newName); } + public function setBusy(){ + _isBusy = true; + getView().workspaceDialogue.showHideBtn(false); + } + + public function clearBusy(){ + _isBusy = false; + getView().workspaceDialogue.showHideBtn(true); + } - //override the super version public function getView(){ var v = super.getView(); Index: lams_common/src/flash/org/lamsfoundation/lams/common/ws/WorkspaceDialog.as =================================================================== diff -u -rbe9e65f6288071392876f1af60041397ec26408e -re3aef7ebcf8ea4fcf581d5f5588b17001c3b8482 --- lams_common/src/flash/org/lamsfoundation/lams/common/ws/WorkspaceDialog.as (.../WorkspaceDialog.as) (revision be9e65f6288071392876f1af60041397ec26408e) +++ lams_common/src/flash/org/lamsfoundation/lams/common/ws/WorkspaceDialog.as (.../WorkspaceDialog.as) (revision e3aef7ebcf8ea4fcf581d5f5588b17001c3b8482) @@ -685,7 +685,24 @@ //close parent window _container.deletePopUp(); } - + + public function showHideBtn(v:Boolean):Void{ + ok_btn.enabled = v; + cancel_btn.enabled = v; + switchView_tab.enabled = v; + new_btn.enabled = v; + copy_btn.enabled = v; + paste_btn.enabled = v; + delete_btn.enabled = v; + rename_btn.enabled = v; + treeview.enabled = v; + location_dnd.enabled = v; + resourceDesc_txa.enabled = v; + licenseID_cmb.enabled = v; + viewLicense_btn.enabled = v; + } + + /** * Called by the OK button * Dispatches the okClicked event and passes a result DTO containing: @@ -701,7 +718,8 @@ trace('OK'); _global.breakpoint(); - + _workspaceController = _workspaceView.getController(); + _workspaceController.setBusy() //TODO: Validate you are allowed to use the name etc... Are you overwriting - NOTE Same names are nto allowed in this version var snode = treeview.selectedNode; @@ -715,8 +733,10 @@ var tempTitle = StringUtils.replace(resourceTitle_txi.text, " ", ""); if (tempTitle == "" || tempTitle == undefined){ Cursor.showCursor(ApplicationParent.C_DEFAULT); + var sendMsg:String = Dictionary.getValue('ws_file_name_empty')+"\n"+Dictionary.getValue('ws_entre_file_name')+"\n\n"; LFMessage.showMessageAlert(sendMsg,null); + _workspaceController.clearBusy(); resourceTitle_txi.setFocus(); }else{ @@ -897,7 +917,7 @@ dispatchEvent({type:'okClicked',target:this}); - closeThisDialogue(); + //closeThisDialogue(); } Index: lams_common/src/flash/org/lamsfoundation/lams/common/ws/WorkspaceView.as =================================================================== diff -u -r366c29a1b9ba5d912ae9aa476d04990e4b4427ea -re3aef7ebcf8ea4fcf581d5f5588b17001c3b8482 --- lams_common/src/flash/org/lamsfoundation/lams/common/ws/WorkspaceView.as (.../WorkspaceView.as) (revision 366c29a1b9ba5d912ae9aa476d04990e4b4427ea) +++ lams_common/src/flash/org/lamsfoundation/lams/common/ws/WorkspaceView.as (.../WorkspaceView.as) (revision e3aef7ebcf8ea4fcf581d5f5588b17001c3b8482) @@ -43,7 +43,7 @@ private var _popup:MovieClip; private var okClickedCallback:Function; private var _workspaceController:WorkspaceController; - + private var dialog:MovieClip; /* * Constructor */ @@ -86,7 +86,7 @@ * @param callback - The function to call and pass the selectedID to */ public function createWorkspaceDialog(pos:Object){ - var dialog:MovieClip; + var m:WorkspaceModel = WorkspaceModel(getModel()); var mode:String = m.currentMode trace('mode returned: ' + mode); @@ -143,7 +143,9 @@ } - + public function clearDialog():Void { + dialog.deletePopUp(); + } /** * Overrides method in abstract view to ensure cortect type of controller is returned * @usage