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>