Author: F.antonov
Date: 2007-03-28 03:57:33 -0400 (Wed, 28 Mar 2007)
New Revision: 185
Modified:
trunk/richfaces/menu-components/src/main/java/org/richfaces/renderkit/html/MenuItemRendererBase.java
Log:
MenuItem component development.
Modified:
trunk/richfaces/menu-components/src/main/java/org/richfaces/renderkit/html/MenuItemRendererBase.java
===================================================================
---
trunk/richfaces/menu-components/src/main/java/org/richfaces/renderkit/html/MenuItemRendererBase.java 2007-03-28
07:56:33 UTC (rev 184)
+++
trunk/richfaces/menu-components/src/main/java/org/richfaces/renderkit/html/MenuItemRendererBase.java 2007-03-28
07:57:33 UTC (rev 185)
@@ -27,6 +27,7 @@
import javax.faces.component.UIForm;
import javax.faces.context.FacesContext;
+import org.ajax4jsf.framework.renderer.AjaxRendererUtils;
import org.ajax4jsf.framework.renderer.ComponentVariables;
import org.ajax4jsf.framework.renderer.ComponentsVariableResolver;
import org.ajax4jsf.framework.renderer.RendererUtils;
@@ -60,11 +61,11 @@
if (menuItem.isDisabled()) {
resource = "dr-menu-item dr-menu-item-disabled rich-menu-item
rich-menu-item-disabled "
- + additionalClass(menuItem, "styleClass");
+ + getStringAttributeOrEmptyString(menuItem, "styleClass");
variables.setVariable("class", resource);
resource = "dr-menu-icon dr-menu-icon-disabled rich-menu-item-icon
rich-menu-item-icon-disabled "
- + additionalClass(menuItem, "iconClass");
+ + getStringAttributeOrEmptyString(menuItem, "iconClass");
variables.setVariable("iconClass", resource);
resource = "dr-menu-label dr-menu-label-disabled rich-menu-item-label
rich-menu-item-label-disabled";
@@ -75,32 +76,32 @@
StringBuffer scriptValue = new StringBuffer();
scriptValue.append("this.className='dr-menu-item dr-menu-item-enabled
rich-menu-item rich-menu-item-enabled ")
- .append(additionalClass(menuItem, "styleClass") + "'; ");
+ .append(getStringAttributeOrEmptyString(menuItem, "styleClass") +
"'; ");
if (null == getIconFacet(menuItem)) {
scriptValue.append("document.getElementById('" +
menuItem.getClientId(context) + ":icon').className='dr-menu-icon
rich-menu-item-icon ")
- .append(additionalClass(menuItem, "iconClass") + "';
");
+ .append(getStringAttributeOrEmptyString(menuItem, "iconClass") +
"'; ");
}
scriptValue.append("document.getElementById('" +
menuItem.getClientId(context) + ":anchor').className='dr-menu-label
rich-menu-item-label'; ")
- .append(additionalClass(menuItem, "onmouseout"));
+ .append(getStringAttributeOrEmptyString(menuItem, "onmouseout"));
variables.setVariable("onmouseout", scriptValue);
scriptValue = new StringBuffer();
scriptValue.append("this.className='dr-menu-item dr-menu-item-hover
rich-menu-item rich-menu-item-hover ")
- .append(additionalClass(menuItem, "styleClass") + "'; ");
+ .append(getStringAttributeOrEmptyString(menuItem, "styleClass") +
"'; ");
if (null == getIconFacet(menuItem)) {
scriptValue.append("document.getElementById('" +
menuItem.getClientId(context) + ":icon').className='dr-menu-icon
dr-menu-icon-selected rich-menu-item-icon rich-menu-item-icon-selected ")
- .append(additionalClass(menuItem, "iconClass") + "';
");
+ .append(getStringAttributeOrEmptyString(menuItem, "iconClass") +
"'; ");
}
scriptValue.append("document.getElementById('" +
menuItem.getClientId(context) + ":anchor').className='dr-menu-label
dr-menu-label-selected rich-menu-item-label rich-menu-item-label-selected'; ")
- .append(additionalClass(menuItem, "onmouseout"));
+ .append(getStringAttributeOrEmptyString(menuItem, "onmouseout"));
variables.setVariable("onmouseover", scriptValue);
resource = "dr-menu-item dr-menu-item-enabled rich-menu-item
rich-menu-item-enabled "
- + additionalClass(menuItem, "styleClass");
+ + getStringAttributeOrEmptyString(menuItem, "styleClass");
variables.setVariable("class", resource);
resource = "dr-menu-icon rich-menu-item-icon "
- + additionalClass(menuItem, "iconClass");
+ + getStringAttributeOrEmptyString(menuItem, "iconClass");
variables.setVariable("iconClass", resource);
resource = "dr-menu-label rich-menu-item-label";
@@ -109,24 +110,32 @@
resource = null;
String mode = menuItem.getMode();
+ StringBuffer onClick = new StringBuffer();
if (mode.equalsIgnoreCase(UIMenuItem.MODE_AJAX)) {
- resource = "alert('Ajax submit mode');";
+ onClick.append(AjaxRendererUtils.buildOnClick(menuItem, context));
+ //resource = "alert('Ajax submit mode');";
} else if (mode.equalsIgnoreCase(UIMenuItem.MODE_SERVER)) {
UIForm form= rendererUtils.getNestingForm(context, menuItem);
- resource = "document.getElementById('" + form.getId() +
"').submit();";
+ //resource = "document.getElementById('" + form.getId() +
"').submit();";
+ onClick.append("document.getElementById('" + form.getId() +
"').submit();");
}
- if (resource != null) {
- variables.setVariable("onclick", resource);
+ //if (resource != null) {
+ // variables.setVariable("onclick", resource);
+ //}
+ if (onClick.length() > 0) {
+ variables.setVariable("onclick", onClick.toString());
}
}
}
- private String additionalClass(UIMenuItem menuItem, String className) {
- Object classObject = menuItem.getAttributes().get(className);
- if (null != classObject) {
- return (String) classObject;
+ protected String getStringAttributeOrEmptyString(UIComponent component, String
attributeName) {
+ String attributeValue = (String) component.getAttributes().get(attributeName);
+
+ if (null == attributeValue) {
+ attributeValue = "";
}
- return "";
+
+ return attributeValue;
}
protected UIComponent getIconFacet(UIMenuItem menuItem) {
@@ -136,10 +145,7 @@
} else {
iconFacet = menuItem.getFacet("icon");
}
- if (null != iconFacet) {
- return iconFacet;
- }
- return null;
+ return iconFacet;
}
}
Show replies by date