details:   /erp/devel/pi/rev/135ea57b102f
changeset: 11214:135ea57b102f
user:      Martin Taal <martin.taal <at> openbravo.com>
date:      Mon Mar 14 11:49:58 2011 +0100
summary:   Fixes issue 16257: Autosave confirmation/warning when autosave===N 
and switching active view

details:   /erp/devel/pi/rev/e8e557291969
changeset: 11215:e8e557291969
user:      Martin Taal <martin.taal <at> openbravo.com>
date:      Mon Mar 14 11:50:44 2011 +0100
summary:   Renamed modified to editing in form

diffstat:

 
modules/org.openbravo.client.application/src-db/database/sourcedata/AD_MESSAGE.xml
                     |  13 +++-
 
modules/org.openbravo.client.application/web/org.openbravo.client.application/js/ob-standard-view.js
   |  12 ++-
 
modules/org.openbravo.client.application/web/org.openbravo.client.application/js/ob-standard-window.js
 |  37 +++++++--
 
modules/org.openbravo.client.application/web/org.openbravo.client.application/js/ob-view-form.js
       |   2 +-
 4 files changed, 52 insertions(+), 12 deletions(-)

diffs (148 lines):

diff -r d20645b0d001 -r e8e557291969 
modules/org.openbravo.client.application/src-db/database/sourcedata/AD_MESSAGE.xml
--- 
a/modules/org.openbravo.client.application/src-db/database/sourcedata/AD_MESSAGE.xml
        Mon Mar 14 11:46:31 2011 +0100
+++ 
b/modules/org.openbravo.client.application/src-db/database/sourcedata/AD_MESSAGE.xml
        Mon Mar 14 11:50:44 2011 +0100
@@ -822,7 +822,7 @@
 <!--FF8081812D6D076E012D6D1C41770036-->  <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
 <!--FF8081812D6D076E012D6D1C41770036-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
 <!--FF8081812D6D076E012D6D1C41770036-->  
<VALUE><![CDATA[OBUIAPP_AutoSaveNotPossibleExecuteAction]]></VALUE>
-<!--FF8081812D6D076E012D6D1C41770036-->  <MSGTEXT><![CDATA[Automatic save of 
your changes is not possible, if you continue, your changes will be lost. Do 
you want to continue?]]></MSGTEXT>
+<!--FF8081812D6D076E012D6D1C41770036-->  <MSGTEXT><![CDATA[Automatic save of 
your changes is not possible. Do you want to continue?]]></MSGTEXT>
 <!--FF8081812D6D076E012D6D1C41770036-->  <MSGTYPE><![CDATA[I]]></MSGTYPE>
 <!--FF8081812D6D076E012D6D1C41770036-->  
<AD_MODULE_ID><![CDATA[9BA0836A3CD74EE4AB48753A47211BCC]]></AD_MODULE_ID>
 <!--FF8081812D6D076E012D6D1C41770036--></AD_MESSAGE>
@@ -1575,4 +1575,15 @@
 <!--FF8081812E99943C012E99C9668A0055-->  
<AD_MODULE_ID><![CDATA[9BA0836A3CD74EE4AB48753A47211BCC]]></AD_MODULE_ID>
 <!--FF8081812E99943C012E99C9668A0055--></AD_MESSAGE>
 
+<!--FF8081812EB3E4F7012EB3EBFDC6000A--><AD_MESSAGE>
+<!--FF8081812EB3E4F7012EB3EBFDC6000A-->  
<AD_MESSAGE_ID><![CDATA[FF8081812EB3E4F7012EB3EBFDC6000A]]></AD_MESSAGE_ID>
+<!--FF8081812EB3E4F7012EB3EBFDC6000A-->  
<AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
+<!--FF8081812EB3E4F7012EB3EBFDC6000A-->  <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
+<!--FF8081812EB3E4F7012EB3EBFDC6000A-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
+<!--FF8081812EB3E4F7012EB3EBFDC6000A-->  
<VALUE><![CDATA[OBUIAPP_Editing]]></VALUE>
+<!--FF8081812EB3E4F7012EB3EBFDC6000A-->  <MSGTEXT><![CDATA[Editing]]></MSGTEXT>
+<!--FF8081812EB3E4F7012EB3EBFDC6000A-->  <MSGTYPE><![CDATA[I]]></MSGTYPE>
+<!--FF8081812EB3E4F7012EB3EBFDC6000A-->  
<AD_MODULE_ID><![CDATA[9BA0836A3CD74EE4AB48753A47211BCC]]></AD_MODULE_ID>
+<!--FF8081812EB3E4F7012EB3EBFDC6000A--></AD_MESSAGE>
+
 </data>
diff -r d20645b0d001 -r e8e557291969 
modules/org.openbravo.client.application/web/org.openbravo.client.application/js/ob-standard-view.js
--- 
a/modules/org.openbravo.client.application/web/org.openbravo.client.application/js/ob-standard-view.js
      Mon Mar 14 11:46:31 2011 +0100
+++ 
b/modules/org.openbravo.client.application/web/org.openbravo.client.application/js/ob-standard-view.js
      Mon Mar 14 11:50:44 2011 +0100
@@ -503,7 +503,6 @@
         (childView.isAcctTab && OB.PropertyStore.get('ShowAcct', 
this.windowId) !== 'Y')){
       return;
     }
-    
     this.standardWindow.addView(childView);
     
     childView.parentView = this;
@@ -588,7 +587,16 @@
     return this.standardWindow.activeView === this;
   },
     
-  setAsActiveView: function(){
+  setAsActiveView: function(autoSaveDone){
+    if (!autoSaveDone && this.standardWindow.activeView && 
this.standardWindow.activeView !== this) {
+      var actionObject = {
+          target: this,
+          method: this.setAsActiveView,
+          parameters: [true]
+        };
+      this.standardWindow.doActionAfterAutoSave(actionObject, true);
+      return;
+    }
     this.standardWindow.setActiveView(this);
   },
   
diff -r d20645b0d001 -r e8e557291969 
modules/org.openbravo.client.application/web/org.openbravo.client.application/js/ob-standard-window.js
--- 
a/modules/org.openbravo.client.application/web/org.openbravo.client.application/js/ob-standard-window.js
    Mon Mar 14 11:46:31 2011 +0100
+++ 
b/modules/org.openbravo.client.application/web/org.openbravo.client.application/js/ob-standard-window.js
    Mon Mar 14 11:50:44 2011 +0100
@@ -217,21 +217,26 @@
   autoSaveConfirmAction: function(){
     var action = this.autoSaveAction, me = this;
     this.autoSaveAction = null;
-    if (!action) {
-      return;
-    }
 
     // clean up everything
     me.cleanUpAutoSaveProperties();
 
     var callback = function(ok){
       if (ok) {
-        me.getDirtyEditForm().resetForm();
-        OB.Utilities.callAction(action);
+        if (me.getDirtyEditForm()) {
+          me.getDirtyEditForm().resetForm();
+        }
+        if (action) {
+          OB.Utilities.callAction(action);
+        }
       } else {
         // and focus to the first error field
-        me.getDirtyEditForm().setFocusInErrorField(true);
-        me.getDirtyEditForm().focus();
+        if (!me.getDirtyEditForm()) {
+          me.view.setAsActiveView();
+        } else {
+          me.getDirtyEditForm().setFocusInErrorField(true);
+          me.getDirtyEditForm().focus();
+        }
       }
     };
     isc.ask(OB.I18N.getLabel('OBUIAPP_AutoSaveNotPossibleExecuteAction'), 
callback);
@@ -249,6 +254,7 @@
   // is called from the main app tabset
   tabDeselected: function(tabNum, tabPane, ID, tab, newTab){
     this.wasDeselected = true;
+    this.disableKeyBoardShortCuts();
   },
   
   closeClick: function(tab, tabSet){
@@ -331,6 +337,7 @@
   },
   
   doHandleClick: function(){
+    this.enableKeyBoardShortCuts();
     // happens when we are getting selected
     // then don't change state
     if (this.wasDeselected) {
@@ -338,10 +345,24 @@
       return;
     }
     this.setActiveView(this.view);
-    this.view.doHandleClick();
+    this.view.doHandleClick();    
+  },
+  
+  disableKeyBoardShortCuts: function() {
+    OB.KeyboardManager.KS.set('StandardWindow_MoveFocus', function() { return 
true; });
+  },
+  
+  enableKeyBoardShortCuts: function() {
+    var standardWindow = this;
+    var moveFocusAction = function(){
+      // standardWindow
+//      console.log('-->' + standardWindow.tabTitle);
+    };
+    OB.KeyboardManager.KS.set('StandardWindow_MoveFocus', moveFocusAction);
   },
   
   doHandleDoubleClick: function(){
+    this.enableKeyBoardShortCuts();
     // happens when we are getting selected
     // then don't change state
     if (this.wasDeselected) {
diff -r d20645b0d001 -r e8e557291969 
modules/org.openbravo.client.application/web/org.openbravo.client.application/js/ob-view-form.js
--- 
a/modules/org.openbravo.client.application/web/org.openbravo.client.application/js/ob-view-form.js
  Mon Mar 14 11:46:31 2011 +0100
+++ 
b/modules/org.openbravo.client.application/web/org.openbravo.client.application/js/ob-view-form.js
  Mon Mar 14 11:50:44 2011 +0100
@@ -96,7 +96,7 @@
     this.hasChanged = value;
     this.view.updateTabTitle();
     if (value && !this.isNew) {
-      this.view.statusBar.setStateLabel('OBUIAPP_Modified', 
this.view.statusBar.newIcon);
+      this.view.statusBar.setStateLabel('OBUIAPP_Editing', 
this.view.statusBar.newIcon);
     }
     
     if (value) {

------------------------------------------------------------------------------
Colocation vs. Managed Hosting
A question and answer guide to determining the best fit
for your organization - today and in the future.
http://p.sf.net/sfu/internap-sfd2d
_______________________________________________
Openbravo-commits mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/openbravo-commits

Reply via email to