Please wait. This can take some minutes ...
Many resources are needed to download a project. Please understand that we have to compensate our server costs. Thank you in advance.
Project price only 1 $
You can buy this project and download/modify it how often you want.
org.richfaces.renderkit.html.MenuItemRenderer Maven / Gradle / Ivy
package org.richfaces.renderkit.html;
import java.io.IOException;
import java.util.LinkedHashMap;
import java.util.Map;
import javax.faces.application.ResourceDependencies;
import javax.faces.application.ResourceDependency;
import javax.faces.component.UIComponent;
import javax.faces.context.FacesContext;
import javax.faces.context.ResponseWriter;
import org.richfaces.renderkit.RenderKitUtils;
import static org.richfaces.renderkit.RenderKitUtils.*;
import org.richfaces.renderkit.RenderKitUtils.Attributes;
import org.richfaces.renderkit.RenderKitUtils.ScriptHashVariableWrapper;
import org.richfaces.renderkit.html.MenuItemRendererBase;
import org.richfaces.renderkit.util.RendererUtils;
@ResourceDependencies({@ResourceDependency(name="dropdownmenu.ecss" ,library="org.richfaces" ,target="" ),@ResourceDependency(name="ajax.reslib" ,library="org.richfaces" ,target="" ),@ResourceDependency(name="base-component.reslib" ,library="org.richfaces" ,target="" ),@ResourceDependency(name="richfaces-event.js" ,library="" ,target="" ),@ResourceDependency(name="menuitem.js" ,library="org.richfaces" ,target="" )})
public class MenuItemRenderer extends MenuItemRendererBase {
private static final Attributes PASS_THROUGH_ATTRIBUTES30 = attributes()
.generic("align" ,"align" )
.generic("dir" ,"dir" )
.generic("lang" ,"lang" )
.generic("onclick" ,"onclick" ,"click" )
.generic("ondblclick" ,"ondblclick" ,"dblclick" )
.generic("onkeydown" ,"onkeydown" ,"keydown" )
.generic("onkeypress" ,"onkeypress" ,"keypress" )
.generic("onkeyup" ,"onkeyup" ,"keyup" )
.generic("onmousedown" ,"onmousedown" ,"mousedown" )
.generic("onmousemove" ,"onmousemove" ,"mousemove" )
.generic("onmouseout" ,"onmouseout" ,"mouseout" )
.generic("onmouseover" ,"onmouseover" ,"mouseover" )
.generic("onmouseup" ,"onmouseup" ,"mouseup" )
.generic("title" ,"title" )
;
private static String convertToString (Object object )
{
return object != null ? object .toString() : "" ;
}
private static boolean convertToBoolean (Object object )
{
if (object == null ) {
return false ;
}
if (object instanceof Boolean) {
return Boolean.TRUE.equals (object );
}
return Boolean.valueOf(object .toString());
}
private static boolean isEmpty (Object object )
{
return object == null || object .toString().length() == 0 ;
}
@Override
public void encodeEnd (FacesContext facesContext, UIComponent component )
throws IOException
{
ResponseWriter responseWriter = facesContext.getResponseWriter();
String clientId = component.getClientId(facesContext);
Object style = component.getAttributes().get ("style" );
String iconClass = this .getStyleClass(facesContext,component,"" ,"iconClass" ,"iconClass" );
String labelClass = this .getStyleClass(facesContext,component,"" ,"labelClass" ,"labelClass" );
String styleClass = this .getStyleClass(facesContext,component,"itemClass" ,"styleClass" ,"styleClass" );
String selectedClass = this .getStyleClass(facesContext,component,"selectedItemClass" ,"selectedClass" ,"selectedClass" );
String disabledClass = this .getStyleClass(facesContext,component,"disabledItemClass" ,"disabledClass" ,"disabledClass" );
boolean isDisabled = this .isDisabled(facesContext,component);
UIComponent iconFacet = this .getIconFacet(facesContext,component);
String iconAttribute = this .getIconAttribute(facesContext,component);
responseWriter.startElement("div" , component);
{
String value = "rf-ddm-itm " + convertToString((convertToBoolean(isDisabled) ? ("rf-ddm-itm-dis " + disabledClass) : ("rf-ddm-itm-unsel " + styleClass)));
if (null != value &&
value .length()>0
) {
responseWriter.writeAttribute("class" ,value ,null );
}
}
{
String value = clientId;
if (null != value &&
value .length()>0
) {
responseWriter.writeAttribute("id" ,value ,null );
}
}
{
Object value = style;
if (null != value &&
shouldRenderAttribute(value )
) {
responseWriter.writeAttribute("style" ,value ,null );
}
}
renderPassThroughAttributes(facesContext, component,
PASS_THROUGH_ATTRIBUTES30);
responseWriter.startElement("span" , component);
{
String value = "rf-ddm-itm-ic " + convertToString(iconClass);
if (null != value &&
value .length()>0
) {
responseWriter.writeAttribute("class" ,value ,null );
}
}
if (((iconFacet != null ) && convertToBoolean(iconFacet.isRendered()))) {
iconFacet.encodeAll(facesContext);
} else if ((!convertToBoolean(this .isStringEmpty(iconAttribute)))) {
responseWriter.startElement("img" , component);
responseWriter.writeAttribute("alt" ,"" ,null );
responseWriter.writeAttribute("height" ,"16" ,null );
{
Object value = RenderKitUtils.getResourceURL(iconAttribute,facesContext);
if (null != value && value .toString().length()>0 ) {
responseWriter.writeURIAttribute("src" ,value ,null );
}
}
responseWriter.writeAttribute("width" ,"16" ,null );
responseWriter.endElement("img" );
} else {
responseWriter.startElement("div" , component);
responseWriter.writeAttribute("class" ,"rf-ddm-emptyIcon" ,null );
responseWriter.endElement("div" );
}
responseWriter.endElement("span" );
if ((!convertToBoolean(isDisabled))) {
responseWriter.startElement("span" , component);
{
String value = "rf-ddm-itm-lbl " + convertToString(labelClass);
if (null != value &&
value .length()>0
) {
responseWriter.writeAttribute("class" ,value ,null );
}
}
if ((!isEmpty(component.getAttributes().get ("label" )))) {
{
Object text = component.getAttributes().get ("label" );
if (text != null ) {
responseWriter.writeText(text, null );
}
}
} else {
renderChildren(facesContext, component);;
}
responseWriter.endElement("span" );
} else {
if ((!isEmpty(component.getAttributes().get ("label" )))) {
{
Object text = component.getAttributes().get ("label" );
if (text != null ) {
responseWriter.writeText(text, null );
}
}
} else {
renderChildren(facesContext, component);;
}
}
if ((!convertToBoolean(isDisabled))) {
responseWriter.startElement("script" , component);
responseWriter.writeAttribute("type" ,"text/javascript" ,null );
Map options = new LinkedHashMap();
addToScriptHash(options, "params" , RendererUtils.getInstance().createParametersMap(facesContext,component), null , null );
addToScriptHash(options, "mode" , this .getSubmitMode(component), org.richfaces.component.Mode.server, null );
addToScriptHash(options, "submitFunction" , this .getOnClickFunction(facesContext,component), null , ScriptHashVariableWrapper.eventHandler);
{
Object text = "new RichFaces.ui.MenuItem(" + convertToString(toScriptArgs(clientId,options)) + ");" ;
if (text != null ) {
responseWriter.writeText(text, null );
}
}
responseWriter.endElement("script" );
} else {
}
responseWriter.endElement("div" );
}
@Override
public boolean getRendersChildren ( )
{
return true ;
}
}