|
Author: erwan
Date: Tue Jun 5 19:10:37 2012 New Revision: 1346538 URL: http://svn.apache.org/viewvc?rev=1346538&view=rev Log: Adding OFBIZ-4891 to portlet widget branch Modified: ofbiz/branches/20120329_portletWidget/framework/images/webapp/images/selectall.js ofbiz/branches/20120329_portletWidget/framework/widget/dtd/widget-form.xsd ofbiz/branches/20120329_portletWidget/framework/widget/src/org/ofbiz/widget/form/MacroFormRenderer.java ofbiz/branches/20120329_portletWidget/framework/widget/src/org/ofbiz/widget/form/ModelForm.java ofbiz/branches/20120329_portletWidget/framework/widget/templates/htmlFormMacroLibrary.ftl Modified: ofbiz/branches/20120329_portletWidget/framework/images/webapp/images/selectall.js URL: http://svn.apache.org/viewvc/ofbiz/branches/20120329_portletWidget/framework/images/webapp/images/selectall.js?rev=1346538&r1=1346537&r2=1346538&view=diff ============================================================================== --- ofbiz/branches/20120329_portletWidget/framework/images/webapp/images/selectall.js (original) +++ ofbiz/branches/20120329_portletWidget/framework/images/webapp/images/selectall.js Tue Jun 5 19:10:37 2012 @@ -845,6 +845,21 @@ function waitSpinnerHide() { jQuery("#wait-spinner").hide() } +// #Bam# validate-form +function clickLink(linkDivId) { + var div = document.getElementById(linkDivId); + if(!div ) return; + var aNodeList = div.getElementsByTagName("A"); + link = aNodeList.item(0); + target =link.href; + if(target.match(new RegExp("javascript:.*"))){ + eval(target); + } else { + window.location.href = target; + } +} +// #Eam# validate-form + /** * Reads the requiered uiLabels from the uiLabelXml Files * @param requiredLabels JSON Object {resource : [label1, label2 ...], resource2 : [label1, label2, ...]} Modified: ofbiz/branches/20120329_portletWidget/framework/widget/dtd/widget-form.xsd URL: http://svn.apache.org/viewvc/ofbiz/branches/20120329_portletWidget/framework/widget/dtd/widget-form.xsd?rev=1346538&r1=1346537&r2=1346538&view=diff ============================================================================== --- ofbiz/branches/20120329_portletWidget/framework/widget/dtd/widget-form.xsd (original) +++ ofbiz/branches/20120329_portletWidget/framework/widget/dtd/widget-form.xsd Tue Jun 5 19:10:37 2012 @@ -230,6 +230,19 @@ under the License. </xs:annotation> </xs:attribute> --> + <xs:attribute name="validate-link-on-enter" default="false"> + <xs:annotation><xs:documentation>in some case, a single form doest not include a submit button, instead it includes an hypperlink. setting this attribute to true wil result in click on the link when enter button is pressed on any form other input</xs:documentation></xs:annotation> + <xs:simpleType> + <xs:restriction base="xs:token"> + <xs:enumeration value="true"/> + <xs:enumeration value="false"/> + </xs:restriction> + </xs:simpleType> + </xs:attribute> + <xs:attribute name="validate-link-id" default="submit"> + <xs:annotation><xs:documentation>in some case, a single form doest not include a submit button, instead it includes an hypperlink. setting this attribute to true wil result in click on the link when enter button is pressed on any form other input</xs:documentation></xs:annotation> + </xs:attribute> + </xs:attributeGroup> <xs:element name="alt-target"> <xs:complexType> Modified: ofbiz/branches/20120329_portletWidget/framework/widget/src/org/ofbiz/widget/form/MacroFormRenderer.java URL: http://svn.apache.org/viewvc/ofbiz/branches/20120329_portletWidget/framework/widget/src/org/ofbiz/widget/form/MacroFormRenderer.java?rev=1346538&r1=1346537&r2=1346538&view=diff ============================================================================== --- ofbiz/branches/20120329_portletWidget/framework/widget/src/org/ofbiz/widget/form/MacroFormRenderer.java (original) +++ ofbiz/branches/20120329_portletWidget/framework/widget/src/org/ofbiz/widget/form/MacroFormRenderer.java Tue Jun 5 19:10:37 2012 @@ -334,6 +334,7 @@ public class MacroFormRenderer implement public void renderTextField(Appendable writer, Map<String, Object> context, TextField textField) throws IOException { ModelFormField modelFormField = textField.getModelFormField(); String name = modelFormField.getParameterName(context); + boolean validateLinkOnEnter = modelFormField.getModelForm().getValidateLinkOnEnter(); // #Eam# validate-form String className = ""; String alert = "false"; String mask = ""; @@ -405,6 +406,18 @@ public class MacroFormRenderer implement sr.append(" clientAutocomplete=\""); sr.append(clientAutocomplete); + // #Bam# validate-form + if (validateLinkOnEnter) { + sr.append("\" validateLinkOnEnter="); + sr.append(Boolean.toString(validateLinkOnEnter)); + sr.append(" validateLinkId=\""); + sr.append(modelFormField.getModelForm().getValidateLinkId()); + } else{ + sr.append("\" validateLinkOnEnter="); + sr.append(Boolean.toString(false)); + sr.append(" validateLinkId=\""); + } + // #Eam# validate-form sr.append("\" ajaxUrl=\""); sr.append(ajaxUrl); sr.append("\" ajaxEnabled="); @@ -1759,6 +1772,7 @@ public class MacroFormRenderer implement public void renderTextFindField(Appendable writer, Map<String, Object> context, TextFindField textFindField) throws IOException { ModelFormField modelFormField = textFindField.getModelFormField(); + boolean validateLinkOnEnter = modelFormField.getModelForm().getValidateLinkOnEnter(); // #Eam# validate-form String defaultOption = textFindField.getDefaultOption(); String className = ""; String alert = "false"; @@ -1834,6 +1848,19 @@ public class MacroFormRenderer implement sr.append(maxlength); sr.append("\" autocomplete=\""); sr.append(autocomplete); + // #Bam# validate-form + if (validateLinkOnEnter) { + sr.append("\" validateLinkOnEnter="); + sr.append(Boolean.toString(validateLinkOnEnter)); + sr.append(" validateLinkId=\""); + sr.append(modelFormField.getModelForm().getValidateLinkId()); + } + else { + sr.append("\" validateLinkOnEnter="); + sr.append(Boolean.toString(false)); + sr.append(" validateLinkId=\""); + } + // #Eam# validate-form sr.append("\" titleStyle=\""); sr.append(titleStyle); sr.append("\" hideIgnoreCase="); @@ -3186,6 +3213,10 @@ public class MacroFormRenderer implement sr.append(event); sr.append("\" action=\""); sr.append(action); + // #Bam# validate-form + sr.append("\" id=\""); + sr.append(modelFormField.getIdName()); + // #Eam# validate-form sr.append("\" imgSrc=\""); sr.append(imgSrc); sr.append("\" title=\""); Modified: ofbiz/branches/20120329_portletWidget/framework/widget/src/org/ofbiz/widget/form/ModelForm.java URL: http://svn.apache.org/viewvc/ofbiz/branches/20120329_portletWidget/framework/widget/src/org/ofbiz/widget/form/ModelForm.java?rev=1346538&r1=1346537&r2=1346538&view=diff ============================================================================== --- ofbiz/branches/20120329_portletWidget/framework/widget/src/org/ofbiz/widget/form/ModelForm.java (original) +++ ofbiz/branches/20120329_portletWidget/framework/widget/src/org/ofbiz/widget/form/ModelForm.java Tue Jun 5 19:10:37 2012 @@ -89,6 +89,7 @@ public class ModelForm extends ModelWidg protected String tooltip; protected String listName; protected String listEntryName; + protected String validateLinkId; // #Eam# validateForm protected FlexibleMapAccessor<Map<String, ? extends Object>> defaultMapName; protected String defaultEntityName; protected String defaultServiceName; @@ -115,6 +116,7 @@ public class ModelForm extends ModelWidg protected boolean separateColumns = false; protected boolean groupColumns = true; protected boolean useRowSubmit = false; + protected boolean validateLinkOnEnter = false; // #Eam# validateForm protected FlexibleStringExpander targetWindowExdr; protected String defaultRequiredFieldStyle; protected String defaultSortFieldStyle; @@ -273,6 +275,7 @@ public class ModelForm extends ModelWidg this.tooltip = parent.tooltip; this.listName = parent.listName; this.listEntryName = parent.listEntryName; + this.validateLinkId = parent.validateLinkId;// #Eam# validateForm this.tooltip = parent.tooltip; this.defaultEntityName = parent.defaultEntityName; this.defaultServiceName = parent.defaultServiceName; @@ -487,6 +490,15 @@ public class ModelForm extends ModelWidg this.rowCountExdr = FlexibleStringExpander.getInstance(formElement.getAttribute("row-count")); } + //#Bam# : validateForm + if (this.validateLinkId == null || formElement.hasAttribute("validate-link-id")) { + this.validateLinkId = formElement.getAttribute("validate-link-id"); + } + if ( formElement.hasAttribute("validate-link-on-enter")) { + this.validateLinkOnEnter = "true".equalsIgnoreCase(formElement.getAttribute("validate-link-on-enter")); + } + //#Eam# : validateForm + //alt-row-styles for (Element altRowStyleElement : UtilXml.childElementList(formElement, "alt-row-style")) { AltRowStyle altRowStyle = new AltRowStyle(altRowStyleElement); @@ -2728,6 +2740,16 @@ public class ModelForm extends ModelWidg return this.useRowSubmit; } + //#Bam# : validateForm + public boolean getValidateLinkOnEnter() { + return this.validateLinkOnEnter; + } + + public String getValidateLinkId() { + return this.validateLinkId; + } + //#Eam# : validateForm + public List<ModelFormField> getMultiSubmitFields() { return this.multiSubmitFields; } Modified: ofbiz/branches/20120329_portletWidget/framework/widget/templates/htmlFormMacroLibrary.ftl URL: http://svn.apache.org/viewvc/ofbiz/branches/20120329_portletWidget/framework/widget/templates/htmlFormMacroLibrary.ftl?rev=1346538&r1=1346537&r2=1346538&view=diff ============================================================================== --- ofbiz/branches/20120329_portletWidget/framework/widget/templates/htmlFormMacroLibrary.ftl (original) +++ ofbiz/branches/20120329_portletWidget/framework/widget/templates/htmlFormMacroLibrary.ftl Tue Jun 5 19:10:37 2012 @@ -55,7 +55,11 @@ under the License. <a <#if linkStyle?has_content>class="${linkStyle}"</#if> href='javascript:refrshPortlet("${target}", "${areaId}", "${params}", "${formName}", "${appendFormParams}", "${collapse}", <#if (collapse== "true" || markSelected=="true" ) && id?has_content>"${id}_div"<#else>""</#if>,"${markSelected}" )' <#if action?has_content && event?has_content> ${event}="${action}"</#if><#if imgSrc?length == 0 && title?has_content> title="${title}"</#if>><#if imgSrc?has_content><img src="${imgSrc}" alt="${alternate}" title="${title}"/></#if>${description}</a><#if id?has_content></div></#if> </#macro> +<#--#Bam# validate-form <#macro renderTextField name className alert value textSize maxlength id event action disabled clientAutocomplete ajaxUrl ajaxEnabled mask> +--> +<#macro renderTextField name className alert value textSize maxlength id event action disabled clientAutocomplete validateLinkOnEnter validateLinkId ajaxUrl ajaxEnabled mask> +<#--#Eam# validate-form --> <#if mask?has_content> <script type="text/javascript"> jQuery(function($){jQuery("#${id}").mask("${mask}");}); @@ -68,6 +72,7 @@ under the License. <#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 validateLinkOnEnter?has_content && validateLinkOnEnter && validateLinkId?has_content>onkeydown="if ((window.event && window.event.keyCode == 13) || (event && event.keyCode == 13)) clickLink('${validateLinkId}_div')"</#if> <#--#Eam# validate-form --> <#if event?has_content && action?has_content> ${event}="${action}"</#if><#rt/> <#if clientAutocomplete?has_content && clientAutocomplete=="false"> autocomplete="off"</#if><#rt/> /><#t/> @@ -448,7 +453,11 @@ ${item.description}</span> <#macro renderFormatEmptySpace> </#macro> +<#--#Bam# validate-form <#macro renderTextFindField name value defaultOption opEquals opBeginsWith opContains opIsEmpty opNotEqual className alert size maxlength autocomplete titleStyle hideIgnoreCase ignCase ignoreCase> +--> +<#macro renderTextFindField name value defaultOption opEquals opBeginsWith opContains opIsEmpty opNotEqual className alert size maxlength autocomplete validateLinkOnEnter validateLinkId titleStyle hideIgnoreCase ignCase ignoreCase> +<#--#Eam# validate-form --> <#if opEquals?has_content> <select <#if name?has_content>name="${name}_op"</#if> class="selectBox"><#rt/> <option value="equals"<#if defaultOption=="equals"> selected="selected"</#if>>${opEquals}</option><#rt/> @@ -460,7 +469,11 @@ ${item.description}</span> <#else> <input type="hidden" name=<#if name?has_content> "${name}_op"</#if> value="${defaultOption}"/><#rt/> </#if> +<#--#Bam# validate-form <input type="text" <@renderClass className alert /> name="${name}"<#if value?has_content> value="${value}"</#if><#if size?has_content> size="${size}"</#if><#if maxlength?has_content> maxlength="${maxlength}"</#if><#if autocomplete?has_content> autocomplete="off"</#if>/><#rt/> +--> + <input type="text" <@renderClass className alert /> <#if validateLinkOnEnter?has_content && validateLinkOnEnter && validateLinkId?has_content>onkeydown="if ((window.event && window.event.keyCode == 13) || (event && event.keyCode == 13)) clickLink('${validateLinkId}_div')"</#if> name="${name}"<#if value?has_content> value="${value}"</#if><#if size?has_content> size="${size}"</#if><#if maxlength?has_content> maxlength="${maxlength}"</#if><#if autocomplete?has_content> autocomplete="off"</#if>/><#rt/> +<#--#Eam# validate-form --> <#if titleStyle?has_content><span class="${titleStyle}" ><#rt/></#if> <#if hideIgnoreCase> <input type="hidden" name="${name}_ic" value=<#if ignCase>"Y"<#else> ""</#if>/><#rt/> @@ -760,4 +773,8 @@ Parameter: lastViewName, String, optiona <#macro makeHiddenFormLinkForm actionUrl name parameters targetWindow><form method="post" action="${actionUrl}" <#if targetWindow?has_content>target="${targetWindow}"</#if> onsubmit="javascript:submitFormDisableSubmits(this)" name="${name}"><#list parameters as parameter><input name="${parameter.name}" value="${parameter.value}" type="hidden"/></#list></form></#macro> <#macro makeHiddenFormLinkAnchor linkStyle hiddenFormName event action imgSrc description confirmation><a <#if linkStyle?has_content>class="${linkStyle}"</#if> href="javascript:document.${hiddenFormName}.submit()"<#if action?has_content && event?has_content> ${event}="${action}"</#if><#if confirmation?has_content> onclick="return confirm('${confirmation?js_string}')"</#if>><#if imgSrc?has_content><img src="${imgSrc}" alt=""/></#if>${description}</a></#macro> +<#--#Bam# validate-form <#macro makeHyperlinkString linkStyle hiddenFormName event action imgSrc title alternate linkUrl targetWindow description confirmation><a <#if linkStyle?has_content>class="${linkStyle}"</#if> href="${linkUrl}"<#if targetWindow?has_content> target="${targetWindow}"</#if><#if action?has_content && event?has_content> ${event}="${action}"</#if><#if confirmation?has_content> onclick="return confirm('${confirmation?js_string}')"</#if><#if imgSrc?length == 0 && title?has_content> title="${title}"</#if>><#if imgSrc?has_content><img src="${imgSrc}" alt="${alternate}" title="${title}"/></#if>${description}</a></#macro> +--> +<#macro makeHyperlinkString linkStyle hiddenFormName event action id imgSrc title alternate linkUrl targetWindow description confirmation><#if id?has_content><div id="${id}_div"></#if><a <#if linkStyle?has_content>class="${linkStyle}"</#if> href="${linkUrl}"<#if targetWindow?has_content> target="${targetWindow}"</#if><#if action?has_content && event?has_content> ${event}="${action}"</#if><#if confirmation?has_content> onclick="return confirm('${confirmation?js_string}')"</#if><#if imgSrc?length == 0 && title?has_content> title="${title}"</#if>><#if imgSrc?has_content><img src="${imgSrc}" alt="${alternate}" title="${title}"/></#if>${description}</a><#if id?has_content></div></#if></#macro> +<#--#Eam# validate-form --> |
| Free forum by Nabble | Edit this page |
