details: /erp/devel/pi/rev/fb0ec3d5e010
changeset: 11904:fb0ec3d5e010
user: Iván Perdomo <ivan.perdomo <at> openbravo.com>
date: Tue May 03 19:43:03 2011 +0200
summary: Issue 16955: Reset width value when non visible
details: /erp/devel/pi/rev/4ec6d821e3a1
changeset: 11905:4ec6d821e3a1
user: Iván Perdomo <ivan.perdomo <at> openbravo.com>
date: Tue May 03 19:46:55 2011 +0200
summary: Fixes issue 16955: Ability to add non visible fields to status bar
- When a field is not visible but shown in status bar a HiddenItem is used
- The OBViewFormComponent is not filtering anymore by display = true
- If a section has all its fields non displayed, the visibility is set to
false
- Fixes some JSLint warnings based on new version
diffstat:
modules/org.openbravo.client.application/src/org/openbravo/client/application/templates/ob-view-field.js.ftl
| 12 ++-
modules/org.openbravo.client.application/src/org/openbravo/client/application/window/OBViewFormComponent.java
| 32 +++++++-
modules/org.openbravo.client.application/web/org.openbravo.client.application/js/ob-view-form.js
| 39 ++++++---
modules/org.openbravo.client.kernel/src/org/openbravo/client/kernel/reference/UIDefinition.java
| 3 +
4 files changed, 66 insertions(+), 20 deletions(-)
diffs (286 lines):
diff -r 870e06068e41 -r 4ec6d821e3a1
modules/org.openbravo.client.application/src/org/openbravo/client/application/templates/ob-view-field.js.ftl
---
a/modules/org.openbravo.client.application/src/org/openbravo/client/application/templates/ob-view-field.js.ftl
Tue May 03 17:42:44 2011 +0200
+++
b/modules/org.openbravo.client.application/src/org/openbravo/client/application/templates/ob-view-field.js.ftl
Tue May 03 19:46:55 2011 +0200
@@ -34,15 +34,18 @@
inpColumnName: '${fieldDefinition.inpColumnName?string}',
referencedKeyColumnName:
'${fieldDefinition.referencedKeyColumnName?string}',
targetEntity: '${fieldDefinition.targetEntity?string}',
+ <#if !fieldDefinition.displayed>
+ editorType: 'HiddenItem',
+ </#if>
required: ${fieldDefinition.required?string},
- <#if fieldDefinition.redrawOnChange?string = "true" >
+ <#if fieldDefinition.redrawOnChange?string = "true" &&
fieldDefinition.displayed>
redrawOnChange: true,
changed: function(form, item, value) {
this.Super('changed', arguments);
form.onFieldChanged(form, item, value);
},
</#if>
- <#if fieldDefinition.showIf != "">
+ <#if fieldDefinition.showIf != "" && fieldDefinition.displayed>
showIf: function(item, value, form, values) {
var context = form.view.getContextInfo(false, true, true),
currentValues = values || form.view.getCurrentValues();
@@ -62,6 +65,9 @@
</#if>
</#if>
<#if fieldDefinition.type = "OBSectionItem" || fieldDefinition.type =
"OBNoteSectionItem" || fieldDefinition.type = "OBLinkedItemSectionItem" >
+ <#if !fieldDefinition.displayed>
+ visible: false,
+ </#if>
sectionExpanded: ${fieldDefinition.expanded?string},
defaultValue: '${fieldDefinition.label?js_string}',
itemIds: [
@@ -71,6 +77,6 @@
],
</#if>
${fieldDefinition.fieldProperties}
- dummy: "dummy"
+ dummy: ''
}
</#macro>
\ No newline at end of file
diff -r 870e06068e41 -r 4ec6d821e3a1
modules/org.openbravo.client.application/src/org/openbravo/client/application/window/OBViewFormComponent.java
---
a/modules/org.openbravo.client.application/src/org/openbravo/client/application/window/OBViewFormComponent.java
Tue May 03 17:42:44 2011 +0200
+++
b/modules/org.openbravo.client.application/src/org/openbravo/client/application/window/OBViewFormComponent.java
Tue May 03 19:46:55 2011 +0200
@@ -171,7 +171,8 @@
int colNum = 1;
for (Field field : adFields) {
- if (field.getColumn() == null || !field.isDisplayed() ||
!field.isActive()) {
+ if (field.getColumn() == null || !field.isActive()
+ || (!field.isDisplayed() && !field.isShownInStatusBar())) {
continue;
}
@@ -194,7 +195,6 @@
viewField.setShowIf(displayLogicMap.get(field) != null ?
displayLogicMap.get(field) : "");
viewField.setReadOnlyIf(readOnlyLogicMap.get(field) != null ?
readOnlyLogicMap.get(field)
: "");
-
// Positioning some fields in odd-columns
if (colNum % 2 == 0 && (field.isStartinoddcolumn() ||
viewField.getColSpan() == 2)) {
final OBViewFieldSpacer spacer = new OBViewFieldSpacer();
@@ -300,6 +300,8 @@
public String getShowIf();
public String getReadOnlyIf();
+
+ public boolean isDisplayed();
}
public class OBViewFieldAudit implements OBViewFieldDefinition {
@@ -428,6 +430,10 @@
public boolean isSearchField() {
return !refEntity.isEmpty();
}
+
+ public boolean isDisplayed() {
+ return true;
+ }
}
public class OBViewField implements OBViewFieldDefinition {
@@ -474,6 +480,9 @@
}
public String getType() {
+ if (field.isDisplayed() != null && !field.isDisplayed()) {
+ return "text";
+ }
return getUIDefinition().getName();
}
@@ -632,6 +641,10 @@
public String getReadOnlyIf() {
return readOnlyIf;
}
+
+ public boolean isDisplayed() {
+ return field.isDisplayed() != null && field.isDisplayed();
+ }
}
public class DefaultVirtualField implements OBViewFieldDefinition {
@@ -708,6 +721,9 @@
return "";
}
+ public boolean isDisplayed() {
+ return true;
+ }
}
public class OBViewFieldGroup extends DefaultVirtualField {
@@ -764,6 +780,14 @@
this.expanded = expanded;
}
+ public boolean isDisplayed() {
+ for (OBViewFieldDefinition child : children) {
+ if (child.isDisplayed()) {
+ return true;
+ }
+ }
+ return false;
+ }
}
public class LinkedItemsField extends DefaultVirtualField {
@@ -977,6 +1001,10 @@
return "";
}
+ public boolean isDisplayed() {
+ return true;
+ }
+
}
public static class FormFieldComparator implements Comparator<Field> {
diff -r 870e06068e41 -r 4ec6d821e3a1
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
Tue May 03 17:42:44 2011 +0200
+++
b/modules/org.openbravo.client.application/web/org.openbravo.client.application/js/ob-view-form.js
Tue May 03 19:46:55 2011 +0200
@@ -104,7 +104,7 @@
},
getStatusBarFields: function() {
- var statusBarFields = [[],[]], i, item, value;
+ var statusBarFields = [[],[]], i, item, value, tmpValue;
for(i = 0; i < this.statusBarFields.length; i++) {
item = this.getItem(this.statusBarFields[i]);
value = item.getDisplayValue();
@@ -118,6 +118,13 @@
}
}
+ if(item.editorType === 'HiddenItem') {
+ tmpValue = this.getValue(item.name + '._identifier');
+ if(typeof tmpValue !== 'undefined') {
+ value = tmpValue;
+ }
+ }
+
statusBarFields[0].push(item.getTitle());
statusBarFields[1].push(value);
}
@@ -289,7 +296,7 @@
},
resetFocusItem: function() {
- var items = this.getItems(), length = items.length, item;
+ var items = this.getItems(), length = items.length, item, i;
var errorFld = this.getFirstErrorItem();
if (errorFld) {
@@ -325,7 +332,7 @@
}
if (items) {
- for (var i = 0; i < length; i++) {
+ for (i = 0; i < length; i++) {
item = items[i];
if (item.getCanFocus() && !item.isDisabled()) {
this.setFocusInItem(item);
@@ -345,7 +352,7 @@
setFindNewFocusItem: function() {
var focusItem = this.getFocusItem(), item, items = this.getItems(),
- length = items.length;
+ length = items.length, i;
// used when double clicking a specific cell in a record
if (this.forceFocusedField) {
@@ -372,7 +379,7 @@
}
if (items) {
- for (var i = 0; i < length; i++) {
+ for (i = 0; i < length; i++) {
item = items[i];
if (item.getCanFocus() && !item.isDisabled()) {
this.setFocusInItem(item, true);
@@ -382,10 +389,11 @@
}
},
- getFieldFromInpColumnName: function(inpColumnName){
+ getFieldFromInpColumnName: function(inpColumnName) {
+ var i;
if (!this.fieldsByInpColumnName) {
var localResult = [], fields = this.getFields();
- for (var i = 0; i < fields.length; i++) {
+ for (i = 0; i < fields.length; i++) {
if (fields[i].inpColumnName) {
localResult[fields[i].inpColumnName.toLowerCase()] = fields[i];
}
@@ -395,10 +403,11 @@
return this.fieldsByInpColumnName[inpColumnName.toLowerCase()];
},
- getFieldFromColumnName: function(columnName){
+ getFieldFromColumnName: function(columnName) {
+ var i;
if (!this.fieldsByColumnName) {
var localResult = [], fields = this.getFields();
- for (var i = 0; i < fields.length; i++) {
+ for (i = 0; i < fields.length; i++) {
if (fields[i].columnName) {
localResult[fields[i].columnName.toLowerCase()] = fields[i];
}
@@ -579,7 +588,7 @@
section.visible = false;
for(j = 0; j < section.itemIds.length; j++) {
item = this.getItem(section.itemIds[j]);
- if(item && item.visible) {
+ if(item && item.visible && item.editorType !== 'HiddenItem') {
section.visible = true;
break;
}
@@ -627,7 +636,7 @@
},
setDisabled: function(state) {
- var previousAllItemsDisabled = this.allItemsDisabled;
+ var previousAllItemsDisabled = this.allItemsDisabled, i;
this.allItemsDisabled = state;
if (previousAllItemsDisabled !== this.allItemsDisabled) {
@@ -640,7 +649,7 @@
this.redraw();
this.view.viewGrid.refreshEditRow();
// reset the canfocus
- for (var i = 0; i < this.getFields().length; i++) {
+ for (i = 0; i < this.getFields().length; i++) {
delete this.getFields()[i].canFocus;
}
if (this.view.isActiveView()) {
@@ -1120,11 +1129,11 @@
},
handleFieldErrors: function(errors){
- var msg = OB.I18N.getLabel('OBUIAPP_ErrorInFields');
- var additionalMsg = '';
+ var msg = OB.I18N.getLabel('OBUIAPP_ErrorInFields'),
+ additionalMsg = '', err;
if (errors) {
this.setErrors(errors, true);
- for (var err in errors) {
+ for (err in errors) {
if (errors.hasOwnProperty(err)) {
var fld = this.getField(err);
if (!fld || !fld.visible) {
diff -r 870e06068e41 -r 4ec6d821e3a1
modules/org.openbravo.client.kernel/src/org/openbravo/client/kernel/reference/UIDefinition.java
---
a/modules/org.openbravo.client.kernel/src/org/openbravo/client/kernel/reference/UIDefinition.java
Tue May 03 17:42:44 2011 +0200
+++
b/modules/org.openbravo.client.kernel/src/org/openbravo/client/kernel/reference/UIDefinition.java
Tue May 03 19:46:55 2011 +0200
@@ -126,6 +126,9 @@
* @return a JSONObject string which is used to initialize the formitem.
*/
public String getFieldProperties(Field field) {
+ if (field.isDisplayed() != null && !field.isDisplayed()) {
+ return "{width: ''}"; // Not displayed fields use HiddenItem
+ }
return "{width: '*'}";
}
------------------------------------------------------------------------------
WhatsUp Gold - Download Free Network Management Software
The most intuitive, comprehensive, and cost-effective network
management toolset available today. Delivers lowest initial
acquisition cost and overall TCO of any competing solution.
http://p.sf.net/sfu/whatsupgold-sd
_______________________________________________
Openbravo-commits mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/openbravo-commits