Author: adrianc Date: Tue Jun 18 07:58:25 2013 New Revision: 1494057 URL: http://svn.apache.org/r1494057 Log: Form widget sort field improvement - add the ability to specify help text on column headers.
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/csvFormMacroLibrary.ftl ofbiz/trunk/framework/widget/templates/foFormMacroLibrary.ftl ofbiz/trunk/framework/widget/templates/htmlFormMacroLibrary.ftl ofbiz/trunk/framework/widget/templates/textFormMacroLibrary.ftl ofbiz/trunk/framework/widget/templates/xmlFormMacroLibrary.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=1494057&r1=1494056&r2=1494057&view=diff ============================================================================== --- ofbiz/trunk/framework/widget/dtd/widget-form.xsd (original) +++ ofbiz/trunk/framework/widget/dtd/widget-form.xsd Tue Jun 18 07:58:25 2013 @@ -628,6 +628,12 @@ under the License. </xs:documentation> </xs:annotation> </xs:attribute> + <xs:attribute type="xs:string" name="sort-field-help-text"> + <xs:annotation> + <xs:documentation>Help text to be displayed when the mouse hovers over the column heading. + </xs:documentation> + </xs:annotation> + </xs:attribute> <xs:attribute type="xs:string" name="sort-field-asc-style"> <xs:annotation> <xs:documentation>The name of a style (like a CSS class) to apply to the sort field link ordered ascending. 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=1494057&r1=1494056&r2=1494057&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 Jun 18 07:58:25 2013 @@ -2751,6 +2751,10 @@ public class MacroFormRenderer implement sr.append(linkUrl); sr.append("\" ajaxEnabled="); sr.append(Boolean.toString(ajaxEnabled)); + String tooltip = modelFormField.getSortFieldHelpText(context); + if (!tooltip.isEmpty()) { + sr.append(" tooltip=\"").append(tooltip).append("\""); + } sr.append(" />"); executeMacro(writer, sr.toString()); } 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=1494057&r1=1494056&r2=1494057&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 Tue Jun 18 07:58:25 2013 @@ -114,6 +114,7 @@ public class ModelFormField { protected boolean separateColumn = false; protected Boolean requiredField = null; protected Boolean sortField = null; + protected String sortFieldHelpText; protected String headerLink; protected String headerLinkStyle; @@ -123,7 +124,7 @@ public class ModelFormField { protected List<UpdateArea> onClickUpdateAreas; // ===== CONSTRUCTORS ===== - /** Default Constructor */ + /** Copy Constructor */ public ModelFormField(ModelForm modelForm) { this.modelForm = modelForm; } @@ -159,6 +160,7 @@ public class ModelFormField { this.separateColumn = "true".equals(fieldElement.getAttribute("separate-column")); this.requiredField = fieldElement.hasAttribute("required-field") ? "true".equals(fieldElement.getAttribute("required-field")) : null; this.sortField = fieldElement.hasAttribute("sort-field") ? "true".equals(fieldElement.getAttribute("sort-field")) : null; + this.sortFieldHelpText = fieldElement.getAttribute("sort-field-help-text"); this.headerLink = fieldElement.getAttribute("header-link"); this.headerLinkStyle = fieldElement.getAttribute("header-link-style"); @@ -242,6 +244,7 @@ public class ModelFormField { if (UtilValidate.isNotEmpty(overrideFormField.tooltip)) this.tooltip = overrideFormField.tooltip; if (overrideFormField.requiredField != null) this.requiredField = overrideFormField.requiredField; if (overrideFormField.sortField != null) this.sortField = overrideFormField.sortField; + if (!overrideFormField.sortFieldHelpText.isEmpty()) this.sortFieldHelpText = overrideFormField.sortFieldHelpText; if (UtilValidate.isNotEmpty(overrideFormField.titleAreaStyle)) this.titleAreaStyle = overrideFormField.titleAreaStyle; if (UtilValidate.isNotEmpty(overrideFormField.widgetAreaStyle)) this.widgetAreaStyle = overrideFormField.widgetAreaStyle; if (UtilValidate.isNotEmpty(overrideFormField.titleStyle)) this.titleStyle = overrideFormField.titleStyle; @@ -1243,6 +1246,10 @@ public class ModelFormField { this.requiredField = required; } + public String getSortFieldHelpText(Map<String, Object> context) { + return FlexibleStringExpander.expandString(this.sortFieldHelpText, context); + } + public boolean isSortField() { return this.sortField != null && this.sortField.booleanValue(); } Modified: ofbiz/trunk/framework/widget/templates/csvFormMacroLibrary.ftl URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/widget/templates/csvFormMacroLibrary.ftl?rev=1494057&r1=1494056&r2=1494057&view=diff ============================================================================== --- ofbiz/trunk/framework/widget/templates/csvFormMacroLibrary.ftl (original) +++ ofbiz/trunk/framework/widget/templates/csvFormMacroLibrary.ftl Tue Jun 18 07:58:25 2013 @@ -113,7 +113,7 @@ under the License. <#macro renderFieldGroupClose style id title></#macro> <#macro renderHyperlinkTitle name title showSelectAll="N"></#macro> -<#macro renderSortField style title linkUrl ajaxEnabled><@renderFieldTitle style title /></#macro> +<#macro renderSortField style title linkUrl ajaxEnabled tooltip=""><@renderFieldTitle style title /></#macro> <#macro formatBoundaryComment boundaryType widgetType widgetName></#macro> <#macro makeHiddenFormLinkAnchor linkStyle hiddenFormName event action imgSrc description><@renderField description /></#macro> <#macro makeHyperlinkString linkStyle hiddenFormName event action imgSrc title alternate linkUrl targetWindow description confirmation><@renderField description />,<#rt/></#macro> Modified: ofbiz/trunk/framework/widget/templates/foFormMacroLibrary.ftl URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/widget/templates/foFormMacroLibrary.ftl?rev=1494057&r1=1494056&r2=1494057&view=diff ============================================================================== --- ofbiz/trunk/framework/widget/templates/foFormMacroLibrary.ftl (original) +++ ofbiz/trunk/framework/widget/templates/foFormMacroLibrary.ftl Tue Jun 18 07:58:25 2013 @@ -133,7 +133,7 @@ under the License. <#macro renderFieldGroupClose style id title></#macro> <#macro renderHyperlinkTitle name title showSelectAll="N"></#macro> -<#macro renderSortField style title linkUrl ajaxEnabled><@renderFieldTitle style title /></#macro> +<#macro renderSortField style title linkUrl ajaxEnabled tooltip=""><@renderFieldTitle style title /></#macro> <#macro formatBoundaryComment boundaryType widgetType widgetName></#macro> <#macro makeHiddenFormLinkAnchor linkStyle hiddenFormName event action imgSrc description><@renderField description /></#macro> <#macro makeHyperlinkString linkStyle hiddenFormName event action imgSrc title alternate linkUrl targetWindow description confirmation><@makeBlock linkStyle description /></#macro> Modified: ofbiz/trunk/framework/widget/templates/htmlFormMacroLibrary.ftl URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/widget/templates/htmlFormMacroLibrary.ftl?rev=1494057&r1=1494056&r2=1494057&view=diff ============================================================================== --- ofbiz/trunk/framework/widget/templates/htmlFormMacroLibrary.ftl (original) +++ ofbiz/trunk/framework/widget/templates/htmlFormMacroLibrary.ftl Tue Jun 18 07:58:25 2013 @@ -811,9 +811,11 @@ Parameter: lastViewName, String, optiona <#if title?has_content>${title}<br /></#if> <#if showSelectAll="Y"><input type="checkbox" name="selectAll" value="Y" onclick="javascript:toggleAll(this, '${name}');"/></#if> </#macro> -<#macro renderSortField style title linkUrl ajaxEnabled> - <a<#if style?has_content> class="${style}"</#if> href="<#if ajaxEnabled?has_content && ajaxEnabled>javascript:ajaxUpdateAreas('${linkUrl}')<#else>${linkUrl}</#if>">${title}</a> + +<#macro renderSortField style title linkUrl ajaxEnabled tooltip=""> + <a<#if style?has_content> class="${style}"</#if> href="<#if ajaxEnabled?has_content && ajaxEnabled>javascript:ajaxUpdateAreas('${linkUrl}')<#else>${linkUrl}</#if>"<#if tooltip?has_content> title="${tooltip}"</#if>>${title}</a> </#macro> + <#macro formatBoundaryComment boundaryType widgetType widgetName><!-- ${boundaryType} ${widgetType} ${widgetName} --></#macro> <#macro renderTooltip tooltip tooltipStyle> Modified: ofbiz/trunk/framework/widget/templates/textFormMacroLibrary.ftl URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/widget/templates/textFormMacroLibrary.ftl?rev=1494057&r1=1494056&r2=1494057&view=diff ============================================================================== --- ofbiz/trunk/framework/widget/templates/textFormMacroLibrary.ftl (original) +++ ofbiz/trunk/framework/widget/templates/textFormMacroLibrary.ftl Tue Jun 18 07:58:25 2013 @@ -113,7 +113,7 @@ under the License. <#macro renderFieldGroupClose style id title></#macro> <#macro renderHyperlinkTitle name title showSelectAll="N"></#macro> -<#macro renderSortField style title linkUrl ajaxEnabled><@renderFieldTitle style title /></#macro> +<#macro renderSortField style title linkUrl ajaxEnabled tooltip=""><@renderFieldTitle style title /></#macro> <#macro formatBoundaryComment boundaryType widgetType widgetName></#macro> <#macro makeHiddenFormLinkAnchor linkStyle hiddenFormName event action imgSrc description><@renderField description /></#macro> <#macro makeHyperlinkString linkStyle hiddenFormName event action imgSrc alternate linkUrl targetWindow description><@renderField description /></#macro> \ No newline at end of file Modified: ofbiz/trunk/framework/widget/templates/xmlFormMacroLibrary.ftl URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/widget/templates/xmlFormMacroLibrary.ftl?rev=1494057&r1=1494056&r2=1494057&view=diff ============================================================================== --- ofbiz/trunk/framework/widget/templates/xmlFormMacroLibrary.ftl (original) +++ ofbiz/trunk/framework/widget/templates/xmlFormMacroLibrary.ftl Tue Jun 18 07:58:25 2013 @@ -106,7 +106,7 @@ under the License. <#macro renderFieldGroupClose style id title></#macro> <#macro renderHyperlinkTitle name title showSelectAll="N"></#macro> -<#macro renderSortField style title linkUrl ajaxEnabled></#macro> +<#macro renderSortField style title linkUrl ajaxEnabled tooltip=""></#macro> <#macro formatBoundaryComment boundaryType widgetType widgetName></#macro> <#macro makeHiddenFormLinkAnchor linkStyle hiddenFormName event action imgSrc description confirmation><@renderField description /></#macro> <#macro makeHyperlinkString linkStyle hiddenFormName event action imgSrc title alternate linkUrl targetWindow description confirmation><@renderField description /></#macro>