Author: adrianc
Date: Tue Mar 30 15:35:28 2010
New Revision: 929173
URL: http://svn.apache.org/viewvc?rev=929173&view=rev
Log:
A patch from Blas Rodriguez Somoza: XHTML validation errors (framework/widget)
- (https://issues.apache.org/jira/browse/OFBIZ-3623).
Modified:
ofbiz/trunk/framework/widget/src/org/ofbiz/widget/form/MacroFormRenderer.java
ofbiz/trunk/framework/widget/src/org/ofbiz/widget/html/HtmlFormRenderer.java
ofbiz/trunk/framework/widget/src/org/ofbiz/widget/html/HtmlMenuRenderer.java
ofbiz/trunk/framework/widget/src/org/ofbiz/widget/menu/ModelMenu.java
ofbiz/trunk/framework/widget/src/org/ofbiz/widget/menu/ModelMenuItem.java
ofbiz/trunk/framework/widget/templates/htmlFormMacroLibrary.ftl
ofbiz/trunk/framework/widget/templates/htmlScreenMacroLibrary.ftl
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=929173&r1=929172&r2=929173&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 Mar 30 15:35:28 2010
@@ -1928,9 +1928,9 @@ public class MacroFormRenderer implement
if (lookupFieldFormName.indexOf('?') == -1) {
autoCompleterTarget = lookupFieldFormName + "?";
} else {
- autoCompleterTarget = lookupFieldFormName + "&";
+ autoCompleterTarget = lookupFieldFormName + "&";
}
- autoCompleterTarget = autoCompleterTarget +
"ajaxLookup=Y&searchValueField=" +
lookupField.getModelFormField().getParameterName(context);
+ autoCompleterTarget = autoCompleterTarget +
"ajaxLookup=Y&searchValueField=" +
lookupField.getModelFormField().getParameterName(context);
updateAreas = FastList.newInstance();
updateAreas.add(new ModelForm.UpdateArea("change", id,
autoCompleterTarget));
}
@@ -2690,6 +2690,9 @@ public class MacroFormRenderer implement
String queryString = UtilHttp.stripNamedParamsFromQueryString(str,
paramName);
String urlPath = UtilHttp.removeQueryStringFromTarget(targetService);
String prepLinkText = UtilHttp.getQueryStringFromTarget(targetService);
+
+ queryString = UtilHttp.encodeAmpersands(queryString);
+
if (prepLinkText == null) {
prepLinkText = "";
}
Modified:
ofbiz/trunk/framework/widget/src/org/ofbiz/widget/html/HtmlFormRenderer.java
URL:
http://svn.apache.org/viewvc/ofbiz/trunk/framework/widget/src/org/ofbiz/widget/html/HtmlFormRenderer.java?rev=929173&r1=929172&r2=929173&view=diff
==============================================================================
---
ofbiz/trunk/framework/widget/src/org/ofbiz/widget/html/HtmlFormRenderer.java
(original)
+++
ofbiz/trunk/framework/widget/src/org/ofbiz/widget/html/HtmlFormRenderer.java
Tue Mar 30 15:35:28 2010
@@ -173,16 +173,16 @@ public class HtmlFormRenderer extends Ht
if (UtilValidate.isNotEmpty(modelFormField.getWidgetStyle()) ||
modelFormField.shouldBeRed(context)) {
str.append("<span class=\"");
str.append(modelFormField.getWidgetStyle());
+ // add a style of red if this is a date/time field and redWhen is
true
+ if (modelFormField.shouldBeRed(context)) {
+ str.append(" alert");
+ }
str.append('"');
if (UtilValidate.isNotEmpty(idName)) {
str.append(" id=\"");
str.append(idName);
str.append('"');
}
- // add a style of red if this is a date/time field and redWhen is
true
- if (modelFormField.shouldBeRed(context)) {
- str.append(" alert");
- }
str.append('>');
}
Modified:
ofbiz/trunk/framework/widget/src/org/ofbiz/widget/html/HtmlMenuRenderer.java
URL:
http://svn.apache.org/viewvc/ofbiz/trunk/framework/widget/src/org/ofbiz/widget/html/HtmlMenuRenderer.java?rev=929173&r1=929172&r2=929173&view=diff
==============================================================================
---
ofbiz/trunk/framework/widget/src/org/ofbiz/widget/html/HtmlMenuRenderer.java
(original)
+++
ofbiz/trunk/framework/widget/src/org/ofbiz/widget/html/HtmlMenuRenderer.java
Tue Mar 30 15:35:28 2010
@@ -262,29 +262,34 @@ public class HtmlMenuRenderer extends Ht
writer.append("<h2>").append(menuTitle).append("</h2>");
appendWhitespace(writer);
}
- writer.append("<ul>");
- appendWhitespace(writer);
- writer.append("<li>");
- appendWhitespace(writer);
- writer.append(" <ul>");
- appendWhitespace(writer);
+ if (modelMenu.renderedMenuItemCount(context) > 0) {
+ writer.append("<ul>");
+ appendWhitespace(writer);
+ writer.append("<li>");
+ appendWhitespace(writer);
+ writer.append(" <ul>");
+ appendWhitespace(writer);
+ }
}
/* (non-Javadoc)
* @see
org.ofbiz.widget.menu.MenuStringRenderer#renderMenuClose(java.io.Writer,
java.util.Map, org.ofbiz.widget.menu.ModelMenu)
*/
public void renderMenuClose(Appendable writer, Map<String, Object>
context, ModelMenu modelMenu) throws IOException {
+ // TODO: div can't be directly inside an UL
String fillStyle = modelMenu.getFillStyle();
if (UtilValidate.isNotEmpty(fillStyle)) {
writer.append("<div
class=\"").append(fillStyle).append("\"> </div>");
}
//String menuContainerStyle = modelMenu.getMenuContainerStyle(context);
- writer.append(" </ul>");
- appendWhitespace(writer);
- writer.append("</li>");
- appendWhitespace(writer);
- writer.append("</ul>");
- appendWhitespace(writer);
+ if (modelMenu.renderedMenuItemCount(context) > 0) {
+ writer.append(" </ul>");
+ appendWhitespace(writer);
+ writer.append("</li>");
+ appendWhitespace(writer);
+ writer.append("</ul>");
+ appendWhitespace(writer);
+ }
writer.append(" <br class=\"clear\"/>");
appendWhitespace(writer);
writer.append("</div>");
Modified: ofbiz/trunk/framework/widget/src/org/ofbiz/widget/menu/ModelMenu.java
URL:
http://svn.apache.org/viewvc/ofbiz/trunk/framework/widget/src/org/ofbiz/widget/menu/ModelMenu.java?rev=929173&r1=929172&r2=929173&view=diff
==============================================================================
--- ofbiz/trunk/framework/widget/src/org/ofbiz/widget/menu/ModelMenu.java
(original)
+++ ofbiz/trunk/framework/widget/src/org/ofbiz/widget/menu/ModelMenu.java Tue
Mar 30 15:35:28 2010
@@ -323,6 +323,16 @@ public class ModelMenu extends ModelWidg
//Debug.logInfo("in ModelMenu, buffer:" + buffer.toString(),
module);
}
+ public int renderedMenuItemCount(Map<String, Object> context)
+ {
+ int count = 0;
+ for (ModelMenuItem item : this.menuItemList) {
+ if (item.shouldBeRendered(context))
+ count++;
+ }
+ return count;
+ }
+
public void renderSimpleMenuString(Appendable writer, Map<String, Object>
context, MenuStringRenderer menuStringRenderer) throws IOException {
//Iterator menuItemIter = null;
//Set alreadyRendered = new TreeSet();
Modified:
ofbiz/trunk/framework/widget/src/org/ofbiz/widget/menu/ModelMenuItem.java
URL:
http://svn.apache.org/viewvc/ofbiz/trunk/framework/widget/src/org/ofbiz/widget/menu/ModelMenuItem.java?rev=929173&r1=929172&r2=929173&view=diff
==============================================================================
--- ofbiz/trunk/framework/widget/src/org/ofbiz/widget/menu/ModelMenuItem.java
(original)
+++ ofbiz/trunk/framework/widget/src/org/ofbiz/widget/menu/ModelMenuItem.java
Tue Mar 30 15:35:28 2010
@@ -257,6 +257,16 @@ public class ModelMenuItem {
}
+ public boolean shouldBeRendered(Map<String, Object> context) {
+ boolean passed = true;
+ if (this.condition != null) {
+ if (!this.condition.eval(context)) {
+ passed = false;
+ }
+ }
+ return passed;
+ }
+
public void renderMenuItemString(Appendable writer, Map<String, Object>
context, MenuStringRenderer menuStringRenderer) throws IOException {
boolean passed = true;
Modified: ofbiz/trunk/framework/widget/templates/htmlFormMacroLibrary.ftl
URL:
http://svn.apache.org/viewvc/ofbiz/trunk/framework/widget/templates/htmlFormMacroLibrary.ftl?rev=929173&r1=929172&r2=929173&view=diff
==============================================================================
--- ofbiz/trunk/framework/widget/templates/htmlFormMacroLibrary.ftl (original)
+++ ofbiz/trunk/framework/widget/templates/htmlFormMacroLibrary.ftl Tue Mar 30
15:35:28 2010
@@ -330,7 +330,7 @@ ${item.description}</div>
<#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/>
-<option value="like"<#if defaultOption=="like">
selected</#if>>${opBeginsWith}</option><#rt/>
+<option value="like"<#if defaultOption=="like">
selected="selected"</#if>>${opBeginsWith}</option><#rt/>
<option value="contains"<#if defaultOption=="contains">
selected="selected"</#if>>${opContains}</option><#rt/>
<option value="empty"<#rt/><#if defaultOption=="empty">
selected="selected"</#if>>${opIsEmpty}</option><#rt/>
<option value="notEqual"<#if defaultOption=="notEqual">
selected="selected"</#if>>${opNotEqual}</option><#rt/>
@@ -449,7 +449,7 @@ ${item.description}</div>
</#list>
</#if>
);">
-<#if ajaxEnabled?has_content && ajaxEnabled><span id="${id}_indicator"
style="display: none" class="indicator"><img /></span></#if>
+<#if ajaxEnabled?has_content && ajaxEnabled><span id="${id}_indicator"
style="display: none" class="indicator"><img src="" alt=""/></span></#if>
</a></li><#rt>
<#if disabled?has_content && disabled><li><a id="${id}_clear"
style="background:none;margin-left:-6px;margin-right:15px;" class="clearField"
href="javascript:void();"
onclick="javascript:document.${formName}.${name}.value='';<#if
descriptionFieldName?has_content>document.${formName}.${descriptionFieldName}.value='';</#if>">${clearText}</a></li></#if>
</ul></div>
Modified: ofbiz/trunk/framework/widget/templates/htmlScreenMacroLibrary.ftl
URL:
http://svn.apache.org/viewvc/ofbiz/trunk/framework/widget/templates/htmlScreenMacroLibrary.ftl?rev=929173&r1=929172&r2=929173&view=diff
==============================================================================
--- ofbiz/trunk/framework/widget/templates/htmlScreenMacroLibrary.ftl (original)
+++ ofbiz/trunk/framework/widget/templates/htmlScreenMacroLibrary.ftl Tue Mar
30 15:35:28 2010
@@ -140,7 +140,7 @@ collapsed"><a <#if javaScriptEnabled>onc
<#else>
expanded"><a <#if javaScriptEnabled>onclick="javascript:toggleScreenlet(this,
'${collapsibleAreaId}', '${saveCollapsed?string}', '${expandToolTip}',
'${collapseToolTip}');"<#else>href="${fullUrlString}"</#if><#if
expandToolTip?has_content> title="${expandToolTip}"</#if>
</#if>
-> </a></li>
+> </a></li>
</#if>
<#if !collapsed>
${menuString}