details:   /erp/devel/pi/rev/4e4473fffff4
changeset: 10472:4e4473fffff4
user:      Iván Perdomo <ivan.perdomo <at> openbravo.com>
date:      Wed Feb 09 16:22:33 2011 +0100
summary:   Support for out-fields in selector item

diffstat:

 
modules/org.openbravo.userinterface.selector/src/org/openbravo/userinterface/selector/templates/selector.ftl
 |   5 +-
 
modules/org.openbravo.userinterface.selector/web/org.openbravo.userinterface.selector/js/ob-selector-item.js
 |  26 +++++++--
 2 files changed, 22 insertions(+), 9 deletions(-)

diffs (77 lines):

diff -r e6ffe83b821a -r 4e4473fffff4 
modules/org.openbravo.userinterface.selector/src/org/openbravo/userinterface/selector/templates/selector.ftl
--- 
a/modules/org.openbravo.userinterface.selector/src/org/openbravo/userinterface/selector/templates/selector.ftl
      Wed Feb 09 15:50:36 2011 +0100
+++ 
b/modules/org.openbravo.userinterface.selector/src/org/openbravo/userinterface/selector/templates/selector.ftl
      Wed Feb 09 16:22:33 2011 +0100
@@ -43,12 +43,13 @@
     ],
     outFields : {
     <#list data.outFields as selectorOutField>
-    '${selectorOutField.outFieldName}':'${selectorOutField.tabFieldName}'<#if 
selectorOutField_has_next>,</#if>
+    '${selectorOutField.outFieldName}': 
{'fieldName':'${selectorOutField.tabFieldName}', 'suffix': 
'${selectorOutField.outSuffix}'}<#if selectorOutField_has_next>,</#if>
     </#list>
     },
     extraSearchFields: [${data.extraSearchFields}],
     optionDataSource: ${data.dataSourceJavascript},
-    whereClause : '${data.whereClause?js_string}'
+    whereClause : '${data.whereClause?js_string}',
+    outHiddenInputPrefix: '${data.outHiddenInputPrefix}'
 <#else>
 /* jslint */
 <#list data.hiddenInputs?keys as key>
diff -r e6ffe83b821a -r 4e4473fffff4 
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
      Wed Feb 09 15:50:36 2011 +0100
+++ 
b/modules/org.openbravo.userinterface.selector/web/org.openbravo.userinterface.selector/js/ob-selector-item.js
      Wed Feb 09 16:22:33 2011 +0100
@@ -249,35 +249,47 @@
       if (!selected) {
         for (i in outFields) {
           if (outFields.hasOwnProperty(i)) {
-            if (!outFields[i]) {
+            if (!outFields[i].fieldName) {
               // skip id and _identifier and other columns without
               // associated tab field
               continue;
             }
-            fld = form.getFieldFromInpColumnName(outFields[i]);
+
+            if(outFields[i].suffix) {
+                form.hiddenInputs[this.selector.outHiddenInputPrefix +
+                                  outFields[i].suffix] = null;
+            }
+
+            fld = form.getFieldFromInpColumnName(outFields[i].fieldName);
             if (fld) {
               fld.clearValue();
             } else {
-              form.hiddenInputs[outFields[i]] = null;
+              form.hiddenInputs[outFields[i].fieldName] = null;
             }
           }
         }
         return;
       }
     } else {
-    
+
       for (i in outFields) {
         if (outFields.hasOwnProperty(i)) {
-          if (!outFields[i]) {
+          if (!outFields[i].fieldName) {
             // skip id and _identifier and other columns without
             // associated tab field
             continue;
           }
-          fld = form.getFieldFromInpColumnName(outFields[i]);
+
+          if(outFields[i].suffix) {
+            form.hiddenInputs[this.selector.outHiddenInputPrefix +
+                              outFields[i].suffix] = record[i];
+          }
+
+          fld = form.getFieldFromInpColumnName(outFields[i].fieldName);
           if (fld) {
             fld.setValue(record[i]);
           } else {
-            form.hiddenInputs[outFields[i]] = record[i];
+            form.hiddenInputs[outFields[i].fieldName] = record[i];
           }
         }
       }

------------------------------------------------------------------------------
The ultimate all-in-one performance toolkit: Intel(R) Parallel Studio XE:
Pinpoint memory and threading errors before they happen.
Find and fix more than 250 security defects in the development cycle.
Locate bottlenecks in serial and parallel code that limit performance.
http://p.sf.net/sfu/intel-dev2devfeb
_______________________________________________
Openbravo-commits mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/openbravo-commits

Reply via email to