Author: amarkhel
Date: 2009-05-28 08:36:13 -0400 (Thu, 28 May 2009)
New Revision: 14386
Modified:
branches/community/3.3.X/ui/menu-components/src/main/java/org/richfaces/renderkit/html/MenuItemRendererBase.java
Log:
Fix RF-7203 RF-4508
Modified:
branches/community/3.3.X/ui/menu-components/src/main/java/org/richfaces/renderkit/html/MenuItemRendererBase.java
===================================================================
---
branches/community/3.3.X/ui/menu-components/src/main/java/org/richfaces/renderkit/html/MenuItemRendererBase.java 2009-05-28
11:40:15 UTC (rev 14385)
+++
branches/community/3.3.X/ui/menu-components/src/main/java/org/richfaces/renderkit/html/MenuItemRendererBase.java 2009-05-28
12:36:13 UTC (rev 14386)
@@ -40,6 +40,7 @@
import org.ajax4jsf.renderkit.AjaxRendererUtils;
import org.ajax4jsf.renderkit.ComponentVariables;
import org.ajax4jsf.renderkit.ComponentsVariableResolver;
+import org.ajax4jsf.renderkit.RendererUtils.HTML;
import org.richfaces.component.MenuComponent;
import org.richfaces.component.UIMenuItem;
import org.richfaces.component.util.ViewUtil;
@@ -185,7 +186,7 @@
String attrStr = "";
if (!(menuItem.getParent() instanceof MenuComponent))
{
- String styleClass = (String)
menuItem.getAttributes().get("styleClass");
+ String styleClass = (String)
menuItem.getAttributes().get(HTML.STYLE_CLASS_ATTR);
String str = "";
attr.append(",{");
if (null!=styleClass && styleClass.length()>0) {
@@ -193,7 +194,7 @@
attr.append(ScriptUtils.toScript(styleClass));
str = ",";
}
- String onselect = (String) menuItem.getAttributes().get("onselect");
+ String onselect = (String)
menuItem.getAttributes().get(HTML.onselect_ATTRIBUTE);
if (null!=onselect && onselect.length()>0) {
attr.append(str);
attr.append("onselect:function(event){");
@@ -222,8 +223,19 @@
scriptValue.append("RichFaces.Menu.updateItem(event,this");
scriptValue.append(attrStr);
scriptValue.append(");");
- scriptValue.append(AjaxRendererUtils.buildOnClick(
- menuItem, context).toString());
+ String event = null;
+ Object onclick = menuItem.getAttributes().get(HTML.onclick_ATTRIBUTE);
+ if(onclick != null && onclick.toString().length()>0){
+ event = HTML.onclick_ATTRIBUTE;
+ }else{
+ Object onselect = menuItem.getAttributes().get(HTML.onselect_ATTRIBUTE);
+ if(onselect != null && onselect.toString().length()>0){
+ event = HTML.onselect_ATTRIBUTE;
+ }
+ }
+ scriptValue.append(AjaxRendererUtils.buildOnEvent(
+ menuItem, context, event).toString());
+ menuItem.getAttributes().put(HTML.onselect_ATTRIBUTE, null);
} else if (MenuComponent.MODE_SERVER.equalsIgnoreCase(mode)) {
/*
@@ -257,6 +269,11 @@
scriptValue.append(",");
scriptValue.append("params);return false;");
*/
+ Object onclick = menuItem.getAttributes().get(HTML.onclick_ATTRIBUTE);
+ if(onclick != null && onclick.toString().length()>0){
+ scriptValue.append(onclick.toString());
+ scriptValue.append(";");
+ }
scriptValue.append("RichFaces.Menu.submitForm(event,this");
String params = encodeParamsAsObject(context, menuItem);
if (null!=params) {
@@ -276,10 +293,10 @@
scriptValue.append("RichFaces.Menu.updateItem(event,this");
scriptValue.append(attrStr);
scriptValue.append(");");
- scriptValue.append(getStringAttributeOrEmptyString(menuItem,
"onclick"));
+ scriptValue.append(getStringAttributeOrEmptyString(menuItem,
HTML.onclick_ATTRIBUTE));
}
if (resource.length() > 0) {
- variables.setVariable("onclick", scriptValue.toString());
+ variables.setVariable(HTML.onclick_ATTRIBUTE, scriptValue.toString());
}
//-------------------------------
}
Show replies by date