details:   /erp/devel/pi/rev/e99d7f19209a
changeset: 12527:e99d7f19209a
user:      Iván Perdomo <ivan.perdomo <at> openbravo.com>
date:      Fri May 27 18:45:40 2011 +0200
summary:   Fixes issue 17378: Disable reload button when editing and in new 
state

diffstat:

 
modules/org.openbravo.client.application/web/org.openbravo.client.application/js/main/ob-standard-view.js
 |  24 ++++++-
 
modules/org.openbravo.client.application/web/org.openbravo.client.application/js/toolbar/ob-toolbar.js
    |  34 +--------
 2 files changed, 28 insertions(+), 30 deletions(-)

diffs (92 lines):

diff -r 9ac98e7a7d1c -r e99d7f19209a 
modules/org.openbravo.client.application/web/org.openbravo.client.application/js/main/ob-standard-view.js
--- 
a/modules/org.openbravo.client.application/web/org.openbravo.client.application/js/main/ob-standard-view.js
 Fri May 27 18:21:35 2011 +0200
+++ 
b/modules/org.openbravo.client.application/web/org.openbravo.client.application/js/main/ob-standard-view.js
 Fri May 27 18:45:40 2011 +0200
@@ -1290,7 +1290,29 @@
     this.getDataSource().fetchData(criteria, callback);
     this.refreshParentRecord(callBackFunction);
   },
-  
+
+  hasNotChanged: function() {
+    var view = this, form = view.viewForm, grid = view.viewGrid, hasErrors = 
false, editRow, i;
+    if (view.isShowingForm) {
+      if(form.isNew) {
+        return false;
+      }
+      return form.isSaving || form.readOnly || !view.hasValidState() || 
!form.hasChanged;
+    } else if (view.isEditingGrid) {
+      editRow = view.viewGrid.getEditRow();
+      hasErrors = view.viewGrid.rowHasErrors(editRow);
+      form = grid.getEditForm();
+      return !form.isNew && !hasErrors && (form.isSaving || form.readOnly || 
!view.hasValidState() || !form.hasChanged);
+    } else {
+      var selectedRecords = grid.getSelectedRecords(), allRowsHaveErrors = 
true;
+      for (i = 0; i < selectedRecords.length; i++) {
+        var rowNum = grid.getRecordIndex(selectedRecords[i]);
+        allRowsHaveErrors = allRowsHaveErrors && grid.rowHasErrors(rowNum);
+      }
+      return selectedRecords.length === 0 || !allRowsHaveErrors;
+    }
+  },
+
   saveRow: function(){
     if (this.isEditingGrid) {
       this.viewGrid.endEditing();
diff -r 9ac98e7a7d1c -r e99d7f19209a 
modules/org.openbravo.client.application/web/org.openbravo.client.application/js/toolbar/ob-toolbar.js
--- 
a/modules/org.openbravo.client.application/web/org.openbravo.client.application/js/toolbar/ob-toolbar.js
    Fri May 27 18:21:35 2011 +0200
+++ 
b/modules/org.openbravo.client.application/web/org.openbravo.client.application/js/toolbar/ob-toolbar.js
    Fri May 27 18:45:40 2011 +0200
@@ -178,12 +178,7 @@
     buttonType: 'refresh',
     prompt: OB.I18N.getLabel('OBUIAPP_RefreshData'),
     updateState: function(){
-      var view = this.view, form = view.viewForm;
-      if (view.isShowingForm) {
-        this.setDisabled(form.isSaving || form.isNew || !view.hasValidState());
-      } else {
-        this.setDisabled(!view.hasValidState());
-      }
+      this.setDisabled(!this.view.hasNotChanged());
     },
     keyboardShortcutId: 'ToolBar_Refresh'
   },
@@ -194,27 +189,9 @@
     disabled: true,
     buttonType: 'undo',
     prompt: OB.I18N.getLabel('OBUIAPP_CancelEdit'),
-    updateState: function(){
-      var view = this.view, form = view.viewForm, grid = view.viewGrid, 
hasErrors = false, editRow, i;
-      if (view.isShowingForm) {
-        this.setDisabled(form.isSaving || form.readOnly || 
!view.hasValidState() ||
-        !form.hasChanged);
-      } else if (view.isEditingGrid) {
-        editRow = view.viewGrid.getEditRow();
-        hasErrors = view.viewGrid.rowHasErrors(editRow);
-        form = grid.getEditForm();
-        this.setDisabled(!form.isNew && !hasErrors &&
-        (form.isSaving || form.readOnly ||
-        !view.hasValidState() ||
-        !form.hasChanged));
-      } else {
-        var selectedRecords = grid.getSelectedRecords(), allRowsHaveErrors = 
true;
-        for (i = 0; i < selectedRecords.length; i++) {
-          var rowNum = grid.getRecordIndex(selectedRecords[i]);
-          allRowsHaveErrors = allRowsHaveErrors && grid.rowHasErrors(rowNum);
-        }
-        this.setDisabled(selectedRecords.length === 0 || !allRowsHaveErrors);
-      }
+    updateState: function() {
+      console.log(this.view.hasNotChanged());
+      this.setDisabled(this.view.hasNotChanged());
     },
     keyboardShortcutId: 'ToolBar_Undo'
   },
@@ -551,8 +528,7 @@
     
     this.Super('addMembers', [newMembers]);
   },
- 
-  
+
   addMems: function(m) {
       this.Super('addMembers', m );
    },

------------------------------------------------------------------------------
vRanger cuts backup time in half-while increasing security.
With the market-leading solution for virtual backup and recovery, 
you get blazing-fast, flexible, and affordable data protection.
Download your free trial now. 
http://p.sf.net/sfu/quest-d2dcopy1
_______________________________________________
Openbravo-commits mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/openbravo-commits

Reply via email to