You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ofbiz.apache.org by ja...@apache.org on 2009/12/29 19:36:07 UTC

svn commit: r894460 - in /ofbiz/trunk/framework: common/webcommon/includes/lookup.ftl widget/src/org/ofbiz/widget/form/MacroFormRenderer.java widget/templates/htmlFormMacroLibrary.ftl

Author: jaz
Date: Tue Dec 29 18:36:01 2009
New Revision: 894460

URL: http://svn.apache.org/viewvc?rev=894460&view=rev
Log:
implemented the disabled flag on text and lookup fields; implmented event/action elements for hidden and lookup fields; added code to lookup.ftl (javascript) to invoke onchange events which normally only invoke when the field is manually changed


Modified:
    ofbiz/trunk/framework/common/webcommon/includes/lookup.ftl
    ofbiz/trunk/framework/widget/src/org/ofbiz/widget/form/MacroFormRenderer.java
    ofbiz/trunk/framework/widget/templates/htmlFormMacroLibrary.ftl

Modified: ofbiz/trunk/framework/common/webcommon/includes/lookup.ftl
URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/common/webcommon/includes/lookup.ftl?rev=894460&r1=894459&r2=894460&view=diff
==============================================================================
--- ofbiz/trunk/framework/common/webcommon/includes/lookup.ftl (original)
+++ ofbiz/trunk/framework/common/webcommon/includes/lookup.ftl Tue Dec 29 18:36:01 2009
@@ -89,6 +89,9 @@
                 if (!obj_caller) return;
                 setSourceColor(obj_caller.target);
                 obj_caller.target.value = value;
+                if (obj_caller.target.onchange != null) {
+                    obj_caller.target.onchange();                       
+                }
                 window.close();
         }
         // function passing selected value to calling window
@@ -98,6 +101,9 @@
                 if (obj_caller.target2 == null) return;
                 setSourceColor(obj_caller.target2);
                 obj_caller.target2.value = value2;
+                if (obj_caller.target2.onchange != null) {
+                    obj_caller.target2.onchange();
+                }
         }
         function set_multivalues(value) {
             obj_caller.target.value = value;

Modified: ofbiz/trunk/framework/widget/src/org/ofbiz/widget/form/MacroFormRenderer.java
URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/widget/src/org/ofbiz/widget/form/MacroFormRenderer.java?rev=894460&r1=894459&r2=894460&view=diff
==============================================================================
--- ofbiz/trunk/framework/widget/src/org/ofbiz/widget/form/MacroFormRenderer.java (original)
+++ ofbiz/trunk/framework/widget/src/org/ofbiz/widget/form/MacroFormRenderer.java Tue Dec 29 18:36:01 2009
@@ -365,7 +365,8 @@
         }
 
         String ajaxUrl = createAjaxParamsFromUpdateAreas(updateAreas, null, context);
-
+        boolean disabled = textField.disabled;
+        
         StringWriter sr = new StringWriter();
         sr.append("<@renderTextField ");
         sr.append("name=\"");
@@ -390,7 +391,10 @@
         if (action != null) {
             sr.append(action);
         }
-        sr.append("\" clientAutocomplete=\"");
+        sr.append("\" disabled=");
+        sr.append(Boolean.toString(disabled));
+        
+        sr.append(" clientAutocomplete=\"");
         sr.append(clientAutocomplete);
         sr.append("\" ajaxUrl=\"");
         sr.append(ajaxUrl);
@@ -1099,12 +1103,26 @@
 
     public void renderHiddenField(Appendable writer, Map<String, Object> context, ModelFormField modelFormField, String value) throws IOException {
         String name = modelFormField.getParameterName(context);
+        String action = modelFormField.getAction(context);
+        String event = modelFormField.getEvent();
+        String id = modelFormField.getIdName();
+        
         StringWriter sr = new StringWriter();
         sr.append("<@renderHiddenField ");
         sr.append(" name=\"");
         sr.append(name);
         sr.append("\" value=\"");
         sr.append(value);
+        sr.append("\" id=\"");
+        sr.append(id);
+        sr.append("\" event=\"");
+        if (event != null) {
+            sr.append(event);
+        }
+        sr.append("\" action=\"");
+        if (action != null) {
+            sr.append(action);
+        }
         sr.append("\" />");
         executeMacro(sr.toString());
     }
@@ -1883,7 +1901,11 @@
         if (!lookupField.getClientAutocompleteField() || ajaxEnabled) {
             autocomplete = "off";
         }
-
+        
+        String event = modelFormField.getEvent();
+        String action = modelFormField.getAction(context);       
+        boolean disabled = lookupField.disabled;
+        
         // add lookup pop-up button
         String descriptionFieldName = lookupField.getDescriptionFieldName();
         String formName = modelFormField.getModelForm().getCurrentFormName(context);
@@ -1925,7 +1947,18 @@
         sr.append((maxlength != null? Integer.toString(maxlength): ""));
         sr.append("\" id=\"");
         sr.append(id);
-        sr.append("\" autocomplete=\"");
+        sr.append("\" event=\"");
+        if (event != null) {
+            sr.append(event);
+        }
+        sr.append("\" action=\"");
+        if (action != null) {
+            sr.append(action);
+        }
+        sr.append("\" disabled=");
+        sr.append(Boolean.toString(disabled));
+        
+        sr.append(" autocomplete=\"");
         sr.append(autocomplete);
         sr.append("\" descriptionFieldName=\"");
         sr.append(descriptionFieldName);

Modified: ofbiz/trunk/framework/widget/templates/htmlFormMacroLibrary.ftl
URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/widget/templates/htmlFormMacroLibrary.ftl?rev=894460&r1=894459&r2=894460&view=diff
==============================================================================
--- ofbiz/trunk/framework/widget/templates/htmlFormMacroLibrary.ftl (original)
+++ ofbiz/trunk/framework/widget/templates/htmlFormMacroLibrary.ftl Tue Dec 29 18:36:01 2009
@@ -43,12 +43,13 @@
 </#macro>
 <#macro renderHyperlinkField></#macro>
 
-<#macro renderTextField name className alert value textSize maxlength id event action clientAutocomplete ajaxUrl ajaxEnabled>
+<#macro renderTextField name className alert value textSize maxlength id event action disabled clientAutocomplete ajaxUrl ajaxEnabled>
     <input type="text" name="${name?default("")?html}"<#t/>
     <@renderClass className alert />
     <#if value?has_content> value="${value}"</#if><#rt/>
     <#if textSize?has_content> size="${textSize}"</#if><#rt/>
     <#if maxlength?has_content> maxlength="${maxlength}"</#if><#rt/>
+    <#if disabled?has_content && disabled> disabled="disabled"</#if><#rt/>    
     <#if id?has_content> id="${id}"</#if><#rt/>
     <#if event?has_content && action?has_content> ${event}="${action}"</#if><#rt/>
     <#if clientAutocomplete?has_content && clientAutocomplete=="false"> autocomplete="off"</#if><#rt/>
@@ -183,8 +184,8 @@
     <input type="reset" <@renderClass className alert /> name="${name}"<#if title?has_content> value="${title}"</#if>/>
 </#macro>
 
-<#macro renderHiddenField name value>
-    <input type="hidden" name="${name}"<#if value?has_content> value="${value}"</#if>/>
+<#macro renderHiddenField name value id event action>
+    <input type="hidden" name="${name}"<#if value?has_content> value="${value}"</#if><#if id?has_content> id="${id}"</#if><#if event?has_content && action?has_content> ${event}="${action}"</#if>/>
 </#macro>
 
 <#macro renderIgnoredField></#macro>
@@ -407,9 +408,9 @@
 </#if>
 </#macro>
 
-<#macro renderLookupField className alert name value size maxlength id autocomplete descriptionFieldName formName lookupFieldFormName targetParameterIter imgSrc ajaxUrl ajaxEnabled>
+<#macro renderLookupField className alert name value size maxlength id event action disabled autocomplete descriptionFieldName formName lookupFieldFormName targetParameterIter imgSrc ajaxUrl ajaxEnabled>
 <div class="field-lookup"><ul>
-<li><input type="text" <@renderClass className alert /><#if name?has_content> name="${name}"</#if><#if value?has_content> value="${value}"</#if><#if size?has_content> size="${size}"</#if><#if maxlength?has_content> maxlength="${maxlength}"</#if><#if id?has_content> id="${id}"</#if><#rt/><#if autocomplete?has_content> autocomplete="off"</#if>/><#rt/></li>
+<li><input type="text" <@renderClass className alert /><#if name?has_content> name="${name}"</#if><#if value?has_content> value="${value}"</#if><#if size?has_content> size="${size}"</#if><#if maxlength?has_content> maxlength="${maxlength}"</#if><#if id?has_content> id="${id}"</#if><#rt/><#if disabled?has_content && disabled> disabled="disabled"</#if><#rt/><#if event?has_content && action?has_content> ${event}="${action}"</#if><#rt/><#if autocomplete?has_content> autocomplete="off"</#if>/><#rt/></li>
 <li><#if descriptionFieldName?has_content>
  <a href="javascript:call_fieldlookup3(document.${formName?html}.${name?html}, document.${formName?html}.${descriptionFieldName},<#rt/>
  <#else>