Author: erwan
Date: Mon Mar 22 09:10:24 2010 New Revision: 926006 URL: http://svn.apache.org/viewvc?rev=926006&view=rev Log: Adding alternate tag when using hyperlink in forms. If the image is not found, then the alternate text will be displayed Modified: ofbiz/trunk/framework/widget/dtd/widget-form.xsd ofbiz/trunk/framework/widget/src/org/ofbiz/widget/form/MacroFormRenderer.java ofbiz/trunk/framework/widget/src/org/ofbiz/widget/form/ModelFormField.java ofbiz/trunk/framework/widget/templates/htmlFormMacroLibrary.ftl Modified: ofbiz/trunk/framework/widget/dtd/widget-form.xsd URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/widget/dtd/widget-form.xsd?rev=926006&r1=926005&r2=926006&view=diff ============================================================================== --- ofbiz/trunk/framework/widget/dtd/widget-form.xsd (original) +++ ofbiz/trunk/framework/widget/dtd/widget-form.xsd Mon Mar 22 09:10:24 2010 @@ -836,6 +836,9 @@ under the License. <xs:annotation><xs:documentation>Specifies the string to display, can use the ${} syntax to insert context values; if empty the value of the field will be printed for a default.</xs:documentation></xs:annotation> </xs:attribute> <xs:attribute type="xs:string" name="target-window"/> + <xs:attribute type="xs:string" name="alternate"> + <xs:annotation><xs:documentation>Alternate text if the image is not found at image-location</xs:documentation></xs:annotation> + </xs:attribute> <xs:attribute type="xs:string" name="image-location"/> <xs:attribute name="request-confirmation" default="false"> <xs:annotation><xs:documentation>If true then the user is presented with a dialog box, if confirmation-message is empty, use default</xs:documentation></xs:annotation> 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=926006&r1=926005&r2=926006&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 Mon Mar 22 09:10:24 2010 @@ -332,6 +332,8 @@ public class MacroFormRenderer implement this.request.setAttribute("image", hyperlinkField.getImage()); ModelFormField modelFormField = hyperlinkField.getModelFormField(); + String encodedAlternate = encode(hyperlinkField.getAlternate(context), modelFormField, context); + this.request.setAttribute("alternate", encodedAlternate); makeHyperlinkByType(writer, hyperlinkField.getLinkType(), modelFormField.getWidgetStyle(), hyperlinkField.getTargetType(), hyperlinkField.getTarget(context), hyperlinkField.getParameterList(), hyperlinkField.getDescription(context), hyperlinkField.getTargetWindow(context), hyperlinkField.getConfirmation(context), modelFormField, this.request, this.response, context); @@ -2841,6 +2843,7 @@ public class MacroFormRenderer implement String event = ""; String action = ""; String imgSrc = ""; + String alt = ""; String hiddenFormName = WidgetWorker.makeLinkHiddenFormName(context, modelFormField); if (UtilValidate.isNotEmpty(modelFormField.getEvent()) && UtilValidate.isNotEmpty(modelFormField.getAction(context))) { @@ -2850,6 +2853,7 @@ public class MacroFormRenderer implement if (UtilValidate.isNotEmpty(request.getAttribute("image"))) { imgSrc = request.getAttribute("image").toString(); + alt = request.getAttribute("alternate").toString(); } StringWriter sr = new StringWriter(); @@ -2864,6 +2868,8 @@ public class MacroFormRenderer implement sr.append(action); sr.append("\" imgSrc=\""); sr.append(imgSrc); + sr.append("\" alternate=\""); + sr.append(alt); sr.append("\" linkUrl=\""); sr.append(linkUrl.toString()); sr.append("\" targetWindow=\""); Modified: ofbiz/trunk/framework/widget/src/org/ofbiz/widget/form/ModelFormField.java URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/widget/src/org/ofbiz/widget/form/ModelFormField.java?rev=926006&r1=926005&r2=926006&view=diff ============================================================================== --- ofbiz/trunk/framework/widget/src/org/ofbiz/widget/form/ModelFormField.java (original) +++ ofbiz/trunk/framework/widget/src/org/ofbiz/widget/form/ModelFormField.java Mon Mar 22 09:10:24 2010 @@ -2251,6 +2251,7 @@ public class ModelFormField { protected String image; protected FlexibleStringExpander target; protected FlexibleStringExpander description; + protected FlexibleStringExpander alternate; protected FlexibleStringExpander targetWindowExdr; protected List<WidgetWorker.Parameter> parameterList = FastList.newInstance(); @@ -2272,6 +2273,7 @@ public class ModelFormField { super(element, modelFormField); this.setDescription(element.getAttribute("description")); + this.setAlternate(element.getAttribute("alternate")); this.setTarget(element.getAttribute("target")); this.alsoHidden = !"false".equals(element.getAttribute("also-hidden")); this.linkType = element.getAttribute("link-type"); @@ -2337,6 +2339,10 @@ public class ModelFormField { return this.description.expandString(context); } + public String getAlternate(Map<String, Object> context) { + return this.alternate.expandString(context); + } + public String getTarget(Map<String, Object> context) { return this.target.expandString(context); } @@ -2373,6 +2379,13 @@ public class ModelFormField { /** * @param string */ + public void setAlternate(String string) { + this.alternate = FlexibleStringExpander.getInstance(string); + } + + /** + * @param string + */ public void setTarget(String string) { this.target = FlexibleStringExpander.getInstance(string); } Modified: ofbiz/trunk/framework/widget/templates/htmlFormMacroLibrary.ftl URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/widget/templates/htmlFormMacroLibrary.ftl?rev=926006&r1=926005&r2=926006&view=diff ============================================================================== --- ofbiz/trunk/framework/widget/templates/htmlFormMacroLibrary.ftl (original) +++ ofbiz/trunk/framework/widget/templates/htmlFormMacroLibrary.ftl Mon Mar 22 09:10:24 2010 @@ -526,4 +526,4 @@ ${item.description}</div> <#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}"/></#if>${description}</a></#macro> -<#macro makeHyperlinkString linkStyle hiddenFormName event action imgSrc 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?has_content><img src="${imgSrc}"/></#if>${description}</a></#macro> +<#macro makeHyperlinkString linkStyle hiddenFormName event action imgSrc 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?has_content><img src="${imgSrc}" alt="${alternate}"/></#if>${description}</a></#macro> |
Free forum by Nabble | Edit this page |