details:   /erp/devel/pi/rev/a1ddca98e0a7
changeset: 10007:a1ddca98e0a7
user:      Martin Taal <martin.taal <at> openbravo.com>
date:      Fri Jan 21 06:52:41 2011 +0100
summary:   Added empty grid messages

details:   /erp/devel/pi/rev/1e7288cf4d22
changeset: 10008:1e7288cf4d22
user:      Martin Taal <martin.taal <at> openbravo.com>
date:      Fri Jan 21 06:53:28 2011 +0100
summary:   Loading message done using plain html

details:   /erp/devel/pi/rev/99a740f44c7a
changeset: 10009:99a740f44c7a
user:      Martin Taal <martin.taal <at> openbravo.com>
date:      Fri Jan 21 06:57:37 2011 +0100
summary:   Removed fixed width for string column

details:   /erp/devel/pi/rev/4736026349de
changeset: 10010:4736026349de
user:      Martin Taal <martin.taal <at> openbravo.com>
date:      Fri Jan 21 06:58:21 2011 +0100
summary:   Show save button enabled in new mode

details:   /erp/devel/pi/rev/6c29ca4d31cd
changeset: 10011:6c29ca4d31cd
user:      Martin Taal <martin.taal <at> openbravo.com>
date:      Fri Jan 21 06:59:07 2011 +0100
summary:   Added more advanced empty messages

diffstat:

 
modules/org.openbravo.client.application/src-db/database/sourcedata/AD_MESSAGE.xml
                                                                                
    |  44 ++++
 
modules/org.openbravo.client.application/web/org.openbravo.client.application/index.html
                                                                              | 
 94 ++++++---
 
modules/org.openbravo.client.application/web/org.openbravo.client.application/js/ob-grid.js
                                                                           |  
16 +-
 
modules/org.openbravo.client.application/web/org.openbravo.client.application/js/ob-standard-view.js
                                                                  |   2 +-
 
modules/org.openbravo.client.application/web/org.openbravo.client.application/js/ob-view-grid.js
                                                                      |  47 
++++-
 
modules/org.openbravo.client.application/web/org.openbravo.userinterface.smartclient/openbravo/skins/3.00/org.openbravo.client.application/ob-main-content-styles.css
 |  14 -
 
modules/org.openbravo.client.kernel/src/org/openbravo/client/kernel/reference/UIDefinition.java
                                                                       |   3 +-
 7 files changed, 158 insertions(+), 62 deletions(-)

diffs (truncated from 352 to 300 lines):

diff -r 8c3e4bbb68ba -r 6c29ca4d31cd 
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
        Thu Jan 20 23:42:03 2011 +0100
+++ 
b/modules/org.openbravo.client.application/src-db/database/sourcedata/AD_MESSAGE.xml
        Fri Jan 21 06:59:07 2011 +0100
@@ -838,4 +838,48 @@
 <!--FF8081812DA37EE2012DA38E84E4000F-->  
<AD_MODULE_ID><![CDATA[9BA0836A3CD74EE4AB48753A47211BCC]]></AD_MODULE_ID>
 <!--FF8081812DA37EE2012DA38E84E4000F--></AD_MESSAGE>
 
+<!--FF8081812DA54F20012DA70AEBC9006B--><AD_MESSAGE>
+<!--FF8081812DA54F20012DA70AEBC9006B-->  
<AD_MESSAGE_ID><![CDATA[FF8081812DA54F20012DA70AEBC9006B]]></AD_MESSAGE_ID>
+<!--FF8081812DA54F20012DA70AEBC9006B-->  
<AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
+<!--FF8081812DA54F20012DA70AEBC9006B-->  <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
+<!--FF8081812DA54F20012DA70AEBC9006B-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
+<!--FF8081812DA54F20012DA70AEBC9006B-->  
<VALUE><![CDATA[OBUIAPP_GridFilterNoResults]]></VALUE>
+<!--FF8081812DA54F20012DA70AEBC9006B-->  <MSGTEXT><![CDATA[The applied filter 
resulted in 0 results.]]></MSGTEXT>
+<!--FF8081812DA54F20012DA70AEBC9006B-->  <MSGTYPE><![CDATA[I]]></MSGTYPE>
+<!--FF8081812DA54F20012DA70AEBC9006B-->  
<AD_MODULE_ID><![CDATA[9BA0836A3CD74EE4AB48753A47211BCC]]></AD_MODULE_ID>
+<!--FF8081812DA54F20012DA70AEBC9006B--></AD_MESSAGE>
+
+<!--FF8081812DA54F20012DA70BBB56006F--><AD_MESSAGE>
+<!--FF8081812DA54F20012DA70BBB56006F-->  
<AD_MESSAGE_ID><![CDATA[FF8081812DA54F20012DA70BBB56006F]]></AD_MESSAGE_ID>
+<!--FF8081812DA54F20012DA70BBB56006F-->  
<AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
+<!--FF8081812DA54F20012DA70BBB56006F-->  <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
+<!--FF8081812DA54F20012DA70BBB56006F-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
+<!--FF8081812DA54F20012DA70BBB56006F-->  
<VALUE><![CDATA[OBUIAPP_GridClearFilter]]></VALUE>
+<!--FF8081812DA54F20012DA70BBB56006F-->  <MSGTEXT><![CDATA[Clear 
Filter(s)]]></MSGTEXT>
+<!--FF8081812DA54F20012DA70BBB56006F-->  <MSGTYPE><![CDATA[I]]></MSGTYPE>
+<!--FF8081812DA54F20012DA70BBB56006F-->  
<AD_MODULE_ID><![CDATA[9BA0836A3CD74EE4AB48753A47211BCC]]></AD_MODULE_ID>
+<!--FF8081812DA54F20012DA70BBB56006F--></AD_MESSAGE>
+
+<!--FF8081812DA54F20012DA70C104A0072--><AD_MESSAGE>
+<!--FF8081812DA54F20012DA70C104A0072-->  
<AD_MESSAGE_ID><![CDATA[FF8081812DA54F20012DA70C104A0072]]></AD_MESSAGE_ID>
+<!--FF8081812DA54F20012DA70C104A0072-->  
<AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
+<!--FF8081812DA54F20012DA70C104A0072-->  <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
+<!--FF8081812DA54F20012DA70C104A0072-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
+<!--FF8081812DA54F20012DA70C104A0072-->  
<VALUE><![CDATA[OBUIAPP_GridNoRecords]]></VALUE>
+<!--FF8081812DA54F20012DA70C104A0072-->  <MSGTEXT><![CDATA[No records 
yet.]]></MSGTEXT>
+<!--FF8081812DA54F20012DA70C104A0072-->  <MSGTYPE><![CDATA[I]]></MSGTYPE>
+<!--FF8081812DA54F20012DA70C104A0072-->  
<AD_MODULE_ID><![CDATA[9BA0836A3CD74EE4AB48753A47211BCC]]></AD_MODULE_ID>
+<!--FF8081812DA54F20012DA70C104A0072--></AD_MESSAGE>
+
+<!--FF8081812DA54F20012DA70C468C0075--><AD_MESSAGE>
+<!--FF8081812DA54F20012DA70C468C0075-->  
<AD_MESSAGE_ID><![CDATA[FF8081812DA54F20012DA70C468C0075]]></AD_MESSAGE_ID>
+<!--FF8081812DA54F20012DA70C468C0075-->  
<AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
+<!--FF8081812DA54F20012DA70C468C0075-->  <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
+<!--FF8081812DA54F20012DA70C468C0075-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
+<!--FF8081812DA54F20012DA70C468C0075-->  
<VALUE><![CDATA[OBUIAPP_GridCreateOne]]></VALUE>
+<!--FF8081812DA54F20012DA70C468C0075-->  <MSGTEXT><![CDATA[Create 
One]]></MSGTEXT>
+<!--FF8081812DA54F20012DA70C468C0075-->  <MSGTYPE><![CDATA[I]]></MSGTYPE>
+<!--FF8081812DA54F20012DA70C468C0075-->  
<AD_MODULE_ID><![CDATA[9BA0836A3CD74EE4AB48753A47211BCC]]></AD_MODULE_ID>
+<!--FF8081812DA54F20012DA70C468C0075--></AD_MESSAGE>
+
 </data>
diff -r 8c3e4bbb68ba -r 6c29ca4d31cd 
modules/org.openbravo.client.application/web/org.openbravo.client.application/index.html
--- 
a/modules/org.openbravo.client.application/web/org.openbravo.client.application/index.html
  Thu Jan 20 23:42:03 2011 +0100
+++ 
b/modules/org.openbravo.client.application/web/org.openbravo.client.application/index.html
  Fri Jan 21 06:59:07 2011 +0100
@@ -15,6 +15,58 @@
 
 <script type="text/javascript" 
src="../org.openbravo.client.kernel/js/LAB.min.js"></script>
 
+<!-- styles used during loading -->
+<style type="text/css">
+  html, body {
+      height: 100%;
+      width: 100%;
+  }
+  
+  .OBCenteredBox {
+      position: fixed;
+      z-index: 1000000;
+      top: 50%;
+      left: 50%;
+      margin: -25px 0 0 -150px;
+      width: 300px;
+      height: 50px;
+  }
+  
+  .OBLoadingPromptLabel {
+      font-family: 'Arial';
+      font-size: 12px;
+      color: #ccd0d4;
+  }
+  
+  .OBLoadingPromptModalMask {
+      left: 0;
+      top: 0;
+      width: 100%;
+      height: 100%;
+      background-color: #7f7f7f;
+  }
+</style>
+
+</head>
+<body>
+
+<!-- shows the loading div -->
+<div class="OBLoadingPromptModalMask" id="OBLoadingDiv">
+    <div class="OBCenteredBox">
+        <table>
+            <tr>
+                <td>
+                    <span class="OBLoadingPromptLabel">LOADING...</span>
+                </td>
+                <td>
+                    <img width="220" height="16" 
src="../org.openbravo.userinterface.smartclient/openbravo/skins/3.00/org.openbravo.client.application/images/system/windowLoading.gif"/>
+                </td>
+            </tr>
+        </table>
+    </div>
+</div>
+
+<!-- load the rest -->
 <script type="text/javascript">
 
 $LAB.setGlobalDefaults({AppendTo: 'body'})
@@ -24,49 +76,19 @@
 // starts the application is called as the last statement in the 
StaticResources part
 function OBStartApplication() {
   OB.Layout.draw();
+
   $LAB.script(document.location.protocol + 
OB.Application.butlerUtilsUrl).wait();
+
   OB.Layout.ViewManager.createAddStartTab();
-  OB_LoadingWindow.destroy();
+
+  // get rid of the loading stuff
+  document.body.removeChild(document.getElementById('OBLoadingDiv'));
+  
   OB.GlobalHiddenForm = document.forms.OBGlobalHiddenForm;
 }
 
 </script>
 <script type="text/javascript" 
src="../org.openbravo.userinterface.smartclient/isomorphic/ISC_Combined.js"></script>
-</head>
-<body>
-
-<script type="text/javascript">
-// create the loading message
-var OB_LoadingWindow = isc.Window.create({
-  width: 1,
-  height: 1,
-  overflow: 'visible',
-  showEdges:false, 
-  showHeader: false,
-  showFooter: false,
-  showModalMask: true,
-  canDragReposition: false,
-  autoCenter: true, 
-  isModal: true, 
-  modalMaskOpacity: 100,
-  modalMaskStyle: 'OBLoadingPromptModalMask',
-  backgroundColor: null,
-  bodyColor: 'transparent',
-  membersMargin: 10,
-  members: [isc.HLayout.create({
-    width: 1,
-    height: 1,
-    overflow: 'visible',
-    defaultLayoutAlign: 'center',
-    members: [
-      isc.Label.create({contents: 'LOADING... ', width: 1, height: 1, 
overflow: 'visible', styleName: 'OBLoadingPromptLabel'}),
-      isc.Img.create({width: 220, height: 16, src: 
'../../org.openbravo.userinterface.smartclient/openbravo/skins/3.00/org.openbravo.client.application/images/system/windowLoading.gif'})
-    ]
-  })]
-});
-
-OB_LoadingWindow.show();
-</script>
 
 <script type="text/javascript" 
src="../org.openbravo.userinterface.smartclient/isomorphic/ISC_History.js"></script>
 
diff -r 8c3e4bbb68ba -r 6c29ca4d31cd 
modules/org.openbravo.client.application/web/org.openbravo.client.application/js/ob-grid.js
--- 
a/modules/org.openbravo.client.application/web/org.openbravo.client.application/js/ob-grid.js
       Thu Jan 20 23:42:03 2011 +0100
+++ 
b/modules/org.openbravo.client.application/web/org.openbravo.client.application/js/ob-grid.js
       Fri Jan 21 06:59:07 2011 +0100
@@ -186,16 +186,26 @@
   },
   
   checkShowFilterFunnelIcon: function (criteria) {
+    if (this.isGridFiltered(criteria)) {
+      this.filterImage.show(true);
+    } else {
+      this.filterImage.hide();
+    }
+  },
+  
+  isGridFiltered: function(criteria) {
+    if (!this.filterEditor) {
+      return false;
+    }
     for (var prop in criteria) {
       if (criteria.hasOwnProperty(prop)) {
         var field = this.filterEditor.getField(prop);
         if (this.isValidFilterField(field) && (criteria[prop] === false || 
criteria[prop])) {
-          this.filterImage.show(true);
-          return;
+          return true;
         }
       }
     }
-    this.filterImage.hide();
+    return false;
   },
   
   isValidFilterField: function(field){
diff -r 8c3e4bbb68ba -r 6c29ca4d31cd 
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
      Thu Jan 20 23:42:03 2011 +0100
+++ 
b/modules/org.openbravo.client.application/web/org.openbravo.client.application/js/ob-standard-view.js
      Fri Jan 21 06:59:07 2011 +0100
@@ -1011,7 +1011,7 @@
     if (this.isShowingForm) {
       // note on purpose checking form readonly
       toolBar.setLeftMemberDisabled(isc.OBToolbar.TYPE_NEW, form.isSaving || 
form.readOnly || this.singleRecord || !validData);
-      toolBar.setLeftMemberDisabled(isc.OBToolbar.TYPE_SAVE, form.isSaving || 
form.readOnly || !validData || !form.hasChanged);
+      toolBar.setLeftMemberDisabled(isc.OBToolbar.TYPE_SAVE, !form.isNew && 
(form.isSaving || form.readOnly || !validData || !form.hasChanged));
       toolBar.setLeftMemberDisabled(isc.OBToolbar.TYPE_UNDO,  form.isSaving || 
form.readOnly || !validData || !form.hasChanged);
       toolBar.setLeftMemberDisabled(isc.OBToolbar.TYPE_DELETE,  form.isSaving 
|| form.readOnly || this.singleRecord || !validData || form.isNew);
       toolBar.setLeftMemberDisabled(isc.OBToolbar.TYPE_REFRESH, form.isSaving 
|| form.isNew);
diff -r 8c3e4bbb68ba -r 6c29ca4d31cd 
modules/org.openbravo.client.application/web/org.openbravo.client.application/js/ob-view-grid.js
--- 
a/modules/org.openbravo.client.application/web/org.openbravo.client.application/js/ob-view-grid.js
  Thu Jan 20 23:42:03 2011 +0100
+++ 
b/modules/org.openbravo.client.application/web/org.openbravo.client.application/js/ob-view-grid.js
  Fri Jan 21 06:59:07 2011 +0100
@@ -211,7 +211,11 @@
       filterEditorType: 'StaticTextItem'
     });
     
-    this.Super('initWidget', arguments);
+    var ret = this.Super('initWidget', arguments);
+    
+    this.noDataEmptyMessage = OB.I18N.getLabel('OBUIAPP_GridNoRecords') + ' 
<span onclick="window[\'' + this.ID + '\'].createNew();" class="OBLabelLink">' 
+ OB.I18N.getLabel('OBUIAPP_GridCreateOne')+ '</span>';
+    this.filterNoRecordsEmptyMessage = 
OB.I18N.getLabel('OBUIAPP_GridFilterNoResults') + ' <span onclick="window[\'' + 
this.ID + '\'].clearFilter();" class="OBLabelLink">' + 
OB.I18N.getLabel('OBUIAPP_GridClearFilter')+ '</span>';    
+    return ret;
   },
   
   // overridden to support hover on the header for the checkbox field
@@ -241,6 +245,8 @@
     
     this.view.setToolBarButtonState();
 
+    this.resetEmptyMessage();
+
     return ret;
   },
   
@@ -297,12 +303,12 @@
   },
   
   refreshContents: function(callback){
+    this.resetEmptyMessage();
   
     // do not refresh if the parent is not selected and we have no data anyway
-    if (this.view.parentProperty && this.data && this.data.getLength && 
this.data.getLength() === 0) {
+    if (this.view.parentProperty && (!this.data || !this.data.getLength || 
this.data.getLength() === 0)) {
       selectedValues = this.view.parentView.viewGrid.getSelectedRecords();
       if (selectedValues.length === 0) {
-        this.emptyMessage = OB.I18N.getLabel('OBUIAPP_NoParentSelected');
         if (callback) {
           callback();
         }
@@ -496,16 +502,16 @@
       criteria._targetRecordId = this.targetRecordId;
     }
     
+    // note pass in criteria otherwise infinite looping!
+    this.resetEmptyMessage(criteria);
+    
     if (this.view.parentProperty) {
       selectedValues = this.view.parentView.viewGrid.getSelectedRecords();
       if (selectedValues.length === 0) {
         criteria[this.view.parentProperty] = '-1';
-        this.emptyMessage = OB.I18N.getLabel('OBUIAPP_NoParentSelected');
       } else if (selectedValues.length > 1) {
         criteria[this.view.parentProperty] = '-1';
-        this.emptyMessage = 
OB.I18N.getLabel('OBUIAPP_MultipleParentsSelected');
       } else {
-        this.emptyMessage = OB.I18N.getLabel('OBUIAPP_NoDataInGrid');
         criteria[this.view.parentProperty] = 
selectedValues[0][OB.Constants.ID];
       }
     }
@@ -537,6 +543,15 @@
     return criteria;
   },
   
+  createNew: function() {
+    this.view.editRecord();
+  },
+  
+  clearFilter: function() {
+    this.filterEditor.getEditForm().clearValues();
+    this.filterEditor.performAction();
+  },
+  
   // determine which field can be autoexpanded to use extra space  
   getAutoFitExpandField: function(){
     for (var i = 0; i < this.fields.length; i++) {
@@ -568,6 +583,26 @@
     this.view.autoSaveForm.setActionAfterAutoSave({target: target, method: 
method, parameters: parameters});
   },
   
+  resetEmptyMessage: function(criteria) {
+    criteria = criteria || this.getCriteria();
+    if (!this.view) {
+      this.emptyMessage = this.noDataEmptyMessage;
+    } else if (this.isGridFiltered(criteria)) {

------------------------------------------------------------------------------
Special Offer-- Download ArcSight Logger for FREE (a $49 USD value)!
Finally, a world-class log management solution at an even better price-free!
Download using promo code Free_Logger_4_Dev2Dev. Offer expires 
February 28th, so secure your free ArcSight Logger TODAY! 
http://p.sf.net/sfu/arcsight-sfd2d
_______________________________________________
Openbravo-commits mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/openbravo-commits

Reply via email to