details: /erp/devel/pi/rev/166b5bfd652e
changeset: 10860:166b5bfd652e
user: Martin Taal <martin.taal <at> openbravo.com>
date: Thu Feb 24 10:33:10 2011 +0100
summary: Solve undefined js error
details: /erp/devel/pi/rev/804521660761
changeset: 10861:804521660761
user: Martin Taal <martin.taal <at> openbravo.com>
date: Thu Feb 24 10:33:27 2011 +0100
summary: Solve show of db id in selector has link
details: /erp/devel/pi/rev/25524a2a7c47
changeset: 10862:25524a2a7c47
user: Martin Taal <martin.taal <at> openbravo.com>
date: Thu Feb 24 10:33:49 2011 +0100
summary: Solve duplicate width attribute
details: /erp/devel/pi/rev/be5823345242
changeset: 10863:be5823345242
user: Martin Taal <martin.taal <at> openbravo.com>
date: Thu Feb 24 10:34:11 2011 +0100
summary: Set width attribute as field property
diffstat:
modules/org.openbravo.client.application/src/org/openbravo/client/application/templates/ob-view-field.js.ftl
| 1 -
modules/org.openbravo.client.application/web/org.openbravo.client.application/js/ob-view-grid.js
| 4 +-
modules/org.openbravo.client.kernel/src/org/openbravo/client/kernel/reference/FKSearchUIDefinition.java
| 131 +++++----
modules/org.openbravo.client.kernel/src/org/openbravo/client/kernel/reference/UIDefinition.java
| 2 +-
modules/org.openbravo.userinterface.selector/src/org/openbravo/userinterface/selector/reference/FKSelectorUIDefinition.java
| 13 +-
modules/org.openbravo.userinterface.selector/web/org.openbravo.userinterface.selector/js/ob-selector-item.js
| 10 +-
6 files changed, 89 insertions(+), 72 deletions(-)
diffs (255 lines):
diff -r 9bbe067ee20c -r be5823345242
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
Thu Feb 24 09:31:30 2011 +0100
+++
b/modules/org.openbravo.client.application/src/org/openbravo/client/application/templates/ob-view-field.js.ftl
Thu Feb 24 10:34:11 2011 +0100
@@ -29,7 +29,6 @@
rowSpan: ${fieldDefinition.rowSpan},
startRow: ${fieldDefinition.startRow?string},
endRow: ${fieldDefinition.endRow?string},
- width: '*',
<#if fieldDefinition.standardField>
columnName: '${fieldDefinition.columnName?string}',
inpColumnName: '${fieldDefinition.inpColumnName?string}',
diff -r 9bbe067ee20c -r be5823345242
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 Feb 24 09:31:30 2011 +0100
+++
b/modules/org.openbravo.client.application/web/org.openbravo.client.application/js/ob-view-grid.js
Thu Feb 24 10:34:11 2011 +0100
@@ -1195,7 +1195,7 @@
me.Super('discardEdits', localArguments);
// remove the record if new
- if (record._new) {
+ if (record && record._new) {
me.data.handleUpdate('remove', [{
id: record.id
}]);
@@ -1206,7 +1206,7 @@
}
this.view.standardWindow.cleanUpAutoSaveProperties();
-
+
// update after removing the error msg
this.view.updateTabTitle();
this.view.toolBar.updateButtonState(true);
diff -r 9bbe067ee20c -r be5823345242
modules/org.openbravo.client.kernel/src/org/openbravo/client/kernel/reference/FKSearchUIDefinition.java
---
a/modules/org.openbravo.client.kernel/src/org/openbravo/client/kernel/reference/FKSearchUIDefinition.java
Thu Feb 24 09:31:30 2011 +0100
+++
b/modules/org.openbravo.client.kernel/src/org/openbravo/client/kernel/reference/FKSearchUIDefinition.java
Thu Feb 24 10:34:11 2011 +0100
@@ -18,6 +18,11 @@
*/
package org.openbravo.client.kernel.reference;
+import java.util.ArrayList;
+import java.util.List;
+
+import org.codehaus.jettison.json.JSONArray;
+import org.codehaus.jettison.json.JSONException;
import org.codehaus.jettison.json.JSONObject;
import org.openbravo.base.exception.OBException;
import org.openbravo.base.model.Property;
@@ -65,80 +70,76 @@
@Override
public String getFieldProperties(Field field) {
+ final String superJsonStr = super.getFieldProperties(field);
if (field == null) {
- return "";
+ return superJsonStr;
}
- final StringBuilder props = new StringBuilder();
- final Property prop =
KernelUtils.getInstance().getPropertyFromColumn(field.getColumn());
- final Reference reference = OBDal.getInstance().get(Reference.class,
- prop.getDomainType().getReference().getId());
- ModelImplementation modelImplementation = null;
- for (ModelImplementation localModelImplementation :
reference.getADModelImplementationList()) {
- if (localModelImplementation.isActive()) {
- modelImplementation = localModelImplementation;
- break;
- }
- }
- if (modelImplementation == null) {
- // TODO: warn
- return props.toString();
- }
- ModelImplementationMapping modelImplementationMapping = null;
- for (ModelImplementationMapping localModelImplementationMapping :
modelImplementation
- .getADModelImplementationMappingList()) {
- if (localModelImplementationMapping.isActive()) {
- if (modelImplementationMapping == null) {
- modelImplementationMapping = localModelImplementationMapping;
- } else if (localModelImplementationMapping.isDefault()) {
- modelImplementationMapping = localModelImplementationMapping;
+ try {
+ final JSONObject json = new JSONObject(
+ superJsonStr != null && superJsonStr.startsWith("{") ? superJsonStr
: "{}");
+ final Property prop =
KernelUtils.getInstance().getPropertyFromColumn(field.getColumn());
+ final Reference reference = OBDal.getInstance().get(Reference.class,
+ prop.getDomainType().getReference().getId());
+ ModelImplementation modelImplementation = null;
+ for (ModelImplementation localModelImplementation :
reference.getADModelImplementationList()) {
+ if (localModelImplementation.isActive()) {
+ modelImplementation = localModelImplementation;
break;
}
}
- }
- if (modelImplementationMapping == null) {
- // TODO: warn
- return getJsonObjectString(props.toString());
- }
- props.append("searchUrl: '" + modelImplementationMapping.getMappingName()
+ "'");
-
- Selector selector = null;
- for (Selector localSelector : reference.getADSelectorList()) {
- if (localSelector.isActive()) {
- selector = localSelector;
- break;
+ if (modelImplementation == null) {
+ return superJsonStr;
}
- }
- if (selector == null) {
- // TODO: warn
- return getJsonObjectString(props.toString());
- }
- final StringBuilder inFields = new StringBuilder();
- final StringBuilder outFields = new StringBuilder();
- for (SelectorColumn selectorColumn : selector.getADSelectorColumnList()) {
- if (selectorColumn.isActive()) {
- String columnName = selectorColumn.getDBColumnName()
- + (selectorColumn.getSuffix() != null ? selectorColumn.getSuffix()
: "");
- columnName = "inp" + Sqlc.TransformaNombreColumna(columnName);
- if (selectorColumn.getColumnType().equals("I")) {
- if (inFields.length() > 0) {
- inFields.append(",");
+ ModelImplementationMapping modelImplementationMapping = null;
+ for (ModelImplementationMapping localModelImplementationMapping :
modelImplementation
+ .getADModelImplementationMappingList()) {
+ if (localModelImplementationMapping.isActive()) {
+ if (modelImplementationMapping == null) {
+ modelImplementationMapping = localModelImplementationMapping;
+ } else if (localModelImplementationMapping.isDefault()) {
+ modelImplementationMapping = localModelImplementationMapping;
+ break;
}
- inFields.append("'" + columnName + "'");
- } else {
- if (outFields.length() > 0) {
- outFields.append(",");
- }
- outFields.append("'" + columnName + "'");
}
}
+ if (modelImplementationMapping == null) {
+ // TODO: warn
+ return superJsonStr;
+ }
+
+ json.put("searchUrl", modelImplementationMapping.getMappingName());
+
+ Selector selector = null;
+ for (Selector localSelector : reference.getADSelectorList()) {
+ if (localSelector.isActive()) {
+ selector = localSelector;
+ break;
+ }
+ }
+ if (selector == null) {
+ // TODO: warn
+ return superJsonStr;
+ }
+ final List<String> inFields = new ArrayList<String>();
+ final List<String> outFields = new ArrayList<String>();
+ for (SelectorColumn selectorColumn : selector.getADSelectorColumnList())
{
+ if (selectorColumn.isActive()) {
+ String columnName = selectorColumn.getDBColumnName()
+ + (selectorColumn.getSuffix() != null ?
selectorColumn.getSuffix() : "");
+ columnName = "inp" + Sqlc.TransformaNombreColumna(columnName);
+ if (selectorColumn.getColumnType().equals("I")) {
+ inFields.add(columnName);
+ } else {
+ outFields.add(columnName);
+ }
+ }
+ }
+ json.put("inFields", new JSONArray(inFields));
+ json.put("outFields", new JSONArray(outFields));
+
+ return json.toString();
+ } catch (JSONException e) {
+ throw new OBException("Exception when generating field properties for "
+ field, e);
}
- props.append(", inFields: [" + inFields.toString() + "]");
- props.append(", outFields: [" + outFields.toString() + "]");
-
- return getJsonObjectString(props.toString());
- }
-
- private String getJsonObjectString(String value) {
- return "{" + value.trim() + "}";
}
}
diff -r 9bbe067ee20c -r be5823345242
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
Thu Feb 24 09:31:30 2011 +0100
+++
b/modules/org.openbravo.client.kernel/src/org/openbravo/client/kernel/reference/UIDefinition.java
Thu Feb 24 10:34:11 2011 +0100
@@ -123,7 +123,7 @@
* @return a JSONObject string which is used to initialize the formitem.
*/
public String getFieldProperties(Field field) {
- return "";
+ return "{width: '*'}";
}
/**
diff -r 9bbe067ee20c -r be5823345242
modules/org.openbravo.userinterface.selector/src/org/openbravo/userinterface/selector/reference/FKSelectorUIDefinition.java
---
a/modules/org.openbravo.userinterface.selector/src/org/openbravo/userinterface/selector/reference/FKSelectorUIDefinition.java
Thu Feb 24 09:31:30 2011 +0100
+++
b/modules/org.openbravo.userinterface.selector/src/org/openbravo/userinterface/selector/reference/FKSelectorUIDefinition.java
Thu Feb 24 10:34:11 2011 +0100
@@ -73,6 +73,9 @@
}
public String getFieldProperties(Field field) {
+ if (field == null) {
+ return super.getFieldProperties(field);
+ }
final Selector selector = getSelector(field);
final String tableName = field.getColumn().getTable().getDBTableName();
final String columnName = field.getColumn().getDBColumnName();
@@ -88,7 +91,15 @@
parameters.put(SelectorConstants.PARAM_TARGET_PROPERTY_NAME,
property.getName());
selectorComponent.setId(selector.getId());
selectorComponent.setParameters(parameters);
- return selectorComponent.generate();
+
+ // append the super fields
+ final String selectorFields = selectorComponent.generate();
+ final String superJsonStr = super.getFieldProperties(field);
+ if (superJsonStr.trim().startsWith("{")) {
+ return selectorFields + ","
+ + superJsonStr.trim().substring(1, superJsonStr.trim().length() - 1);
+ }
+ return selectorFields;
}
private Selector getSelector(Field field) {
diff -r 9bbe067ee20c -r be5823345242
modules/org.openbravo.userinterface.selector/web/org.openbravo.userinterface.selector/js/ob-selector-item.js
---
a/modules/org.openbravo.userinterface.selector/web/org.openbravo.userinterface.selector/js/ob-selector-item.js
Thu Feb 24 09:31:30 2011 +0100
+++
b/modules/org.openbravo.userinterface.selector/web/org.openbravo.userinterface.selector/js/ob-selector-item.js
Thu Feb 24 10:34:11 2011 +0100
@@ -491,12 +491,18 @@
},
setValueFromRecord: function(record){
+ // note this.displayfield already contains the prefix of the property name
if (!record) {
this.setValue(null);
- this.form.setValue(this.name + '.' + this.displayField, null);
+ this.form.setValue(this.displayField, null);
} else {
this.setValue(record[this.gridValueField]);
- this.form.setValue(this.name + '.' + this.displayField,
record[this.gridDisplayField]);
+ this.form.setValue(this.displayField, record[this.gridDisplayField]);
+ if (!this.valueMap) {
+ this.valueMap = {};
+ }
+ this.valueMap[record[this.gridValueField]] =
record[this.gridDisplayField];
+ this.updateValueMap();
}
this.handleOutFields(record);
if (this.form && this.form.handleItemChange) {
------------------------------------------------------------------------------
Free Software Download: Index, Search & Analyze Logs and other IT data in
Real-Time with Splunk. Collect, index and harness all the fast moving IT data
generated by your applications, servers and devices whether physical, virtual
or in the cloud. Deliver compliance at lower cost and gain new business
insights. http://p.sf.net/sfu/splunk-dev2dev
_______________________________________________
Openbravo-commits mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/openbravo-commits