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.TreeRenderer 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.component.SwitchType;
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.TreeRendererBase;
@ResourceDependencies ({@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="tree.js" ,library="org.richfaces" ,target="" ),@ResourceDependency (name="tree.ecss" ,library="org.richfaces" ,target="" )})
public class TreeRenderer extends TreeRendererBase {
private static final Attributes PASS_THROUGH_ATTRIBUTES16 = 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("style" ,"style" )
.generic("title" ,"title" )
;
private static final Attributes ATTRIBUTES_FOR_SCRIPT_HASH8 = attributes()
.generic("toggleType" ,"toggleType" )
;
private static final Attributes ATTRIBUTES_FOR_SCRIPT_HASH9 = attributes()
.generic("onselectionchange" ,"onselectionchange" ,"selectionchange" )
.generic("onbeforeselectionchange" ,"onbeforeselectionchange" ,"beforeselectionchange" )
.generic("toggleNodeEvent" ,"toggleNodeEvent" )
;
@Override
public void encodeBegin (FacesContext facesContext, UIComponent component)
throws IOException
{
ResponseWriter responseWriter = facesContext.getResponseWriter();
String clientId = component.getClientId(facesContext);
responseWriter.startElement("div" , component);
{
Object value = this .concatClasses("rf-tr" ,component.getAttributes().get("styleClass" ));
if (null != value &&
shouldRenderAttribute(value)
) {
responseWriter.writeAttribute("class" ,value,null );
}
}
{
String value = clientId;
if (null != value &&
value.length()>0
) {
responseWriter.writeAttribute("id" ,value,null );
}
}
renderPassThroughAttributes(facesContext, component,
PASS_THROUGH_ATTRIBUTES16);
createTreeRenderingContext(facesContext, component);
}
@Override
public void encodeChildren (FacesContext facesContext, UIComponent component)
throws IOException
{
ResponseWriter responseWriter = facesContext.getResponseWriter();
String clientId = component.getClientId(facesContext);
encodeTree(facesContext, component);
}
private static String convertToString (Object object)
{
return object != null ? object.toString() : "" ;
}
@Override
public void encodeEnd (FacesContext facesContext, UIComponent component)
throws IOException
{
ResponseWriter responseWriter = facesContext.getResponseWriter();
String clientId = component.getClientId(facesContext);
Object clientEventHandlers = this .getClientEventHandlers(facesContext);
deleteTreeRenderingContext(facesContext);
encodeSelectionStateInput(facesContext, component);
responseWriter.startElement("script" , component);
responseWriter.writeAttribute("type" ,"text/javascript" ,null );
Map options = new LinkedHashMap();
addToScriptHash(options, facesContext, component, ATTRIBUTES_FOR_SCRIPT_HASH8, null );
addToScriptHash(options, "selectionType" , this .getSelectionType(facesContext,component), SwitchType.client, null );
addToScriptHash(options, "ajaxSubmitFunction" , this .getAjaxSubmitFunction(facesContext,component), null , null );
addToScriptHash(options, facesContext, component, ATTRIBUTES_FOR_SCRIPT_HASH9, null );
addToScriptHash(options, "clientEventHandlers" , clientEventHandlers, null , null );
{
Object text = "new RichFaces.ui.Tree(" + convertToString(toScriptArgs(clientId,options)) + ");" ;
if (text != null ) {
responseWriter.writeText(text, null );
}
}
responseWriter.endElement("script" );
responseWriter.endElement("div" );
}
@Override
public boolean getRendersChildren ()
{
return true ;
}
}