org.richfaces.renderkit
Class AbstractExtendedTableRenderer

java.lang.Object
  extended by javax.faces.render.Renderer
      extended by org.ajax4jsf.renderkit.RendererBase
          extended by org.ajax4jsf.renderkit.HeaderResourcesRendererBase
              extended by org.richfaces.renderkit.AbstractExtendedRowsRenderer
                  extended by org.richfaces.renderkit.AbstractExtendedTableRenderer
All Implemented Interfaces:
org.ajax4jsf.model.DataVisitor, org.ajax4jsf.renderkit.ChameleonRenderer, org.ajax4jsf.renderkit.HeaderResourceProducer, org.ajax4jsf.renderkit.HeaderResourceProducer2, org.ajax4jsf.resource.ResourceProduser
Direct Known Subclasses:
ExtendedDataTableRenderer

public abstract class AbstractExtendedTableRenderer
extends AbstractExtendedRowsRenderer

Author:
shura

Nested Class Summary
protected  class AbstractExtendedTableRenderer.G3HeaderEncodeStrategy
           
protected  class AbstractExtendedTableRenderer.RichHeaderEncodeStrategy
           
protected  class AbstractExtendedTableRenderer.SimpleHeaderEncodeStrategy
           
 
Nested classes/interfaces inherited from class org.richfaces.renderkit.AbstractExtendedRowsRenderer
AbstractExtendedRowsRenderer.CompositeRendererEnabler
 
Field Summary
 
Fields inherited from class org.richfaces.renderkit.AbstractExtendedRowsRenderer
CELL_CLASS_KEY, composite, MENU_ID, ROW_CLASS_KEY, SKIN_CELL_CLASS_KEY, SKIN_FIRST_ROW_CLASS_KEY, SKIN_ROW_CLASS_KEY, TABLE_EVENT_ATTRS
 
Fields inherited from class org.ajax4jsf.renderkit.RendererBase
JAVASCRIPT_NAMESPACE
 
Constructor Summary
AbstractExtendedTableRenderer()
           
 
Method Summary
protected  void addInplaceInput(javax.faces.context.FacesContext context, javax.faces.component.UIComponent column)
           
protected  java.lang.String buildAjaxFunction(javax.faces.context.FacesContext context, javax.faces.component.UIComponent column, boolean sortable, org.ajax4jsf.javascript.JSFunctionDefinition onAjaxCompleteFunction)
           
protected  int calculateRowColumns(java.util.Iterator<javax.faces.component.UIComponent> col)
          Calculate max number of columns per row.
 void contributorsEncodeHere(javax.faces.context.FacesContext context, UIDataTable table)
           
 java.lang.String createClientDataTable(javax.faces.context.FacesContext context, UIExtendedDataTable table)
           
protected  void doDecode(javax.faces.context.FacesContext context, javax.faces.component.UIComponent component)
           
 void encodeBegin(javax.faces.context.FacesContext context, javax.faces.component.UIComponent component)
           
 void encodeColumns(javax.faces.context.FacesContext context, UIExtendedDataTable table)
          Encode all table structure - colgroups definitions, caption, header, footer
 java.lang.String encodeDragDropChildScripts(javax.faces.context.FacesContext context, UIDataTable component)
           
 void encodeEnd(javax.faces.context.FacesContext context, javax.faces.component.UIComponent component)
           
 void encodeFooter(javax.faces.context.FacesContext context, UIExtendedDataTable table)
           
 void encodeHeader(javax.faces.context.FacesContext context, UIExtendedDataTable table)
           
protected  void encodeHeaderFacets(javax.faces.context.FacesContext context, javax.faces.context.ResponseWriter writer, UIDataTable table, java.util.Iterator<UIColumn> headers, java.lang.String skinCellClass, java.lang.String headerClass, java.lang.String facetName, java.lang.String element, int colCount)
           
 void encodeNamespace(javax.faces.context.FacesContext context, javax.faces.component.UIComponent component)
           
 void encodeNoDataRow(javax.faces.context.FacesContext context, javax.faces.component.UIComponent component)
           
 void encodeOneRow(javax.faces.context.FacesContext context, ExtendedTableHolder holder)
           
protected  void encodeRowId(javax.faces.context.FacesContext context, javax.faces.context.ResponseWriter writer, UIDataTable table, int rowId)
          Row ID generator
protected  void encodeRowStart(javax.faces.context.FacesContext context, java.lang.String skinClass, java.lang.String rowClass, UIDataTable table, TableHolder holder, javax.faces.context.ResponseWriter writer)
           
protected  void encodeRowStart(javax.faces.context.FacesContext context, java.lang.String rowClass, UIDataTable table, TableHolder holder, javax.faces.context.ResponseWriter writer)
           
 void encodeScriptIfNecessary(javax.faces.context.FacesContext context, UIExtendedDataTable table)
           
 void encodeTableMenu(javax.faces.context.FacesContext context, UIExtendedDataTable table)
           
protected  java.lang.String getCellSkinClass()
           
protected  org.ajax4jsf.javascript.JSFunction getChangeColumnVisibilityFunction(javax.faces.context.FacesContext context, UIDataTable table)
           
protected  int getColumnsCount(UIDataTable table)
          Calculate total number of columns in table.
protected  java.lang.String getFirstRowSkinClass()
           
protected  org.ajax4jsf.javascript.JSFunction getGroupFunction(javax.faces.context.FacesContext context, UIDataTable table)
           
protected  org.ajax4jsf.javascript.JSFunctionDefinition getGroupFunctionDef(javax.faces.context.FacesContext context, UIDataTable table)
           
static java.lang.String getJavaScriptVarName(javax.faces.context.FacesContext context, UIDataTable grid)
           
protected  org.ajax4jsf.javascript.JSFunctionDefinition getOnAjaxCompleteFunction(javax.faces.context.FacesContext context, UIDataTable table)
           
protected  org.ajax4jsf.javascript.JSFunctionDefinition getOnGroupToggleFunctionDef(javax.faces.context.FacesContext context, UIDataTable table)
           
protected  org.ajax4jsf.javascript.JSFunctionDefinition getOnResizeFunctionDef(javax.faces.context.FacesContext context, UIDataTable table)
           
protected  org.ajax4jsf.javascript.JSFunction getPreSendAjaxRequestFunction(javax.faces.context.FacesContext context, UIDataTable table)
           
protected  java.lang.String getRowSkinClass()
           
protected  java.lang.String getScriptContributions(javax.faces.context.FacesContext context, UIDataTable grid)
           
protected  org.ajax4jsf.javascript.JSFunctionDefinition getShowMenuFunction(javax.faces.context.FacesContext context, UIDataTable table)
           
protected  org.ajax4jsf.javascript.JSFunction getSortFunction(javax.faces.context.FacesContext context, UIDataTable table)
           
protected  org.ajax4jsf.javascript.JSFunctionDefinition getSortFunctionDef(javax.faces.context.FacesContext context, UIDataTable table)
           
protected  org.ajax4jsf.javascript.JSFunctionDefinition getSortFunctionDef(javax.faces.context.FacesContext context, UIDataTable table, java.lang.Boolean asc)
           
 boolean isColumnFacetPresent(UIDataTable table, java.lang.String facetName)
           
protected  boolean isColumnRendered(javax.faces.component.UIComponent component)
           
 void renderDragSupport(javax.faces.context.FacesContext context, UIColumn column, java.lang.String dragSourceId, java.lang.String indicatorId, java.lang.String dragLabel)
           
 void renderDropSupport(javax.faces.context.FacesContext context, UIColumn column, java.lang.String dropTargetId, boolean before)
           
protected  boolean rowGroupChanged(javax.faces.context.FacesContext context, ExtendedTableHolder holder)
           
 
Methods inherited from class org.richfaces.renderkit.AbstractExtendedRowsRenderer
doCleanup, encodeCaption, encodeCellChildren, encodeChildren, encodeRowEvents, encodeRows, encodeRows, encodeStyle, encodeStyleClass, encodeTableHeaderFacet, getRendersChildren, getScripts, getStyles, process
 
Methods inherited from class org.ajax4jsf.renderkit.HeaderResourcesRendererBase
encodeResourcesArray, encodeToHead, getHeaderScripts, getHeaderStyles
 
Methods inherited from class org.ajax4jsf.renderkit.RendererBase
addResource, decode, doEncodeBegin, doEncodeChildren, doEncodeEnd, getComponentClass, getResource, getSkin, getUtils, preDecode, preEncodeBegin, renderChild, renderChildren
 
Methods inherited from class javax.faces.render.Renderer
convertClientId, getConvertedValue
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

AbstractExtendedTableRenderer

public AbstractExtendedTableRenderer()
Method Detail

encodeColumns

public void encodeColumns(javax.faces.context.FacesContext context,
                          UIExtendedDataTable table)
                   throws java.io.IOException
Encode all table structure - colgroups definitions, caption, header, footer

Parameters:
context -
table -
Throws:
java.io.IOException

encodeHeader

public void encodeHeader(javax.faces.context.FacesContext context,
                         UIExtendedDataTable table)
                  throws java.io.IOException
Throws:
java.io.IOException

isColumnFacetPresent

public boolean isColumnFacetPresent(UIDataTable table,
                                    java.lang.String facetName)

isColumnRendered

protected boolean isColumnRendered(javax.faces.component.UIComponent component)
Parameters:
component -
Returns:

encodeHeaderFacets

protected void encodeHeaderFacets(javax.faces.context.FacesContext context,
                                  javax.faces.context.ResponseWriter writer,
                                  UIDataTable table,
                                  java.util.Iterator<UIColumn> headers,
                                  java.lang.String skinCellClass,
                                  java.lang.String headerClass,
                                  java.lang.String facetName,
                                  java.lang.String element,
                                  int colCount)
                           throws java.io.IOException
Throws:
java.io.IOException

encodeFooter

public void encodeFooter(javax.faces.context.FacesContext context,
                         UIExtendedDataTable table)
                  throws java.io.IOException
Throws:
java.io.IOException

rowGroupChanged

protected boolean rowGroupChanged(javax.faces.context.FacesContext context,
                                  ExtendedTableHolder holder)

encodeOneRow

public void encodeOneRow(javax.faces.context.FacesContext context,
                         ExtendedTableHolder holder)
                  throws java.io.IOException
Specified by:
encodeOneRow in class AbstractExtendedRowsRenderer
Throws:
java.io.IOException

encodeRowStart

protected void encodeRowStart(javax.faces.context.FacesContext context,
                              java.lang.String rowClass,
                              UIDataTable table,
                              TableHolder holder,
                              javax.faces.context.ResponseWriter writer)
                       throws java.io.IOException
Throws:
java.io.IOException

encodeNoDataRow

public void encodeNoDataRow(javax.faces.context.FacesContext context,
                            javax.faces.component.UIComponent component)
                     throws java.io.IOException
Throws:
java.io.IOException

getRowSkinClass

protected java.lang.String getRowSkinClass()
Returns:

getFirstRowSkinClass

protected java.lang.String getFirstRowSkinClass()
Returns:

getCellSkinClass

protected java.lang.String getCellSkinClass()
Returns:

encodeRowStart

protected void encodeRowStart(javax.faces.context.FacesContext context,
                              java.lang.String skinClass,
                              java.lang.String rowClass,
                              UIDataTable table,
                              TableHolder holder,
                              javax.faces.context.ResponseWriter writer)
                       throws java.io.IOException
Throws:
java.io.IOException

encodeRowId

protected void encodeRowId(javax.faces.context.FacesContext context,
                           javax.faces.context.ResponseWriter writer,
                           UIDataTable table,
                           int rowId)
                    throws java.io.IOException
Row ID generator

Parameters:
context - current FacesContext
writer - ResponseWriter for FacesContext
table - table for which this row is being encoded
rowId - new rowId to encode
Throws:
java.io.IOException - if ResponseWriter fails

getColumnsCount

protected int getColumnsCount(UIDataTable table)
Calculate total number of columns in table.

Parameters:
context -
table -
Returns:

calculateRowColumns

protected int calculateRowColumns(java.util.Iterator<javax.faces.component.UIComponent> col)
Calculate max number of columns per row. For rows, recursive calculate max length.

Parameters:
col - - Iterator other all columns in table.
Returns:

encodeScriptIfNecessary

public void encodeScriptIfNecessary(javax.faces.context.FacesContext context,
                                    UIExtendedDataTable table)
                             throws java.io.IOException
Throws:
java.io.IOException

createClientDataTable

public java.lang.String createClientDataTable(javax.faces.context.FacesContext context,
                                              UIExtendedDataTable table)

getShowMenuFunction

protected org.ajax4jsf.javascript.JSFunctionDefinition getShowMenuFunction(javax.faces.context.FacesContext context,
                                                                           UIDataTable table)

getSortFunctionDef

protected org.ajax4jsf.javascript.JSFunctionDefinition getSortFunctionDef(javax.faces.context.FacesContext context,
                                                                          UIDataTable table)

getSortFunctionDef

protected org.ajax4jsf.javascript.JSFunctionDefinition getSortFunctionDef(javax.faces.context.FacesContext context,
                                                                          UIDataTable table,
                                                                          java.lang.Boolean asc)

getSortFunction

protected org.ajax4jsf.javascript.JSFunction getSortFunction(javax.faces.context.FacesContext context,
                                                             UIDataTable table)

getGroupFunction

protected org.ajax4jsf.javascript.JSFunction getGroupFunction(javax.faces.context.FacesContext context,
                                                              UIDataTable table)

getGroupFunctionDef

protected org.ajax4jsf.javascript.JSFunctionDefinition getGroupFunctionDef(javax.faces.context.FacesContext context,
                                                                           UIDataTable table)

getOnGroupToggleFunctionDef

protected org.ajax4jsf.javascript.JSFunctionDefinition getOnGroupToggleFunctionDef(javax.faces.context.FacesContext context,
                                                                                   UIDataTable table)

getOnResizeFunctionDef

protected org.ajax4jsf.javascript.JSFunctionDefinition getOnResizeFunctionDef(javax.faces.context.FacesContext context,
                                                                              UIDataTable table)

getChangeColumnVisibilityFunction

protected org.ajax4jsf.javascript.JSFunction getChangeColumnVisibilityFunction(javax.faces.context.FacesContext context,
                                                                               UIDataTable table)

getPreSendAjaxRequestFunction

protected org.ajax4jsf.javascript.JSFunction getPreSendAjaxRequestFunction(javax.faces.context.FacesContext context,
                                                                           UIDataTable table)

doDecode

protected void doDecode(javax.faces.context.FacesContext context,
                        javax.faces.component.UIComponent component)
Overrides:
doDecode in class org.ajax4jsf.renderkit.RendererBase

encodeBegin

public void encodeBegin(javax.faces.context.FacesContext context,
                        javax.faces.component.UIComponent component)
                 throws java.io.IOException
Overrides:
encodeBegin in class org.ajax4jsf.renderkit.RendererBase
Throws:
java.io.IOException

encodeEnd

public void encodeEnd(javax.faces.context.FacesContext context,
                      javax.faces.component.UIComponent component)
               throws java.io.IOException
Overrides:
encodeEnd in class org.ajax4jsf.renderkit.RendererBase
Throws:
java.io.IOException

addInplaceInput

protected void addInplaceInput(javax.faces.context.FacesContext context,
                               javax.faces.component.UIComponent column)
                        throws java.io.IOException
Throws:
java.io.IOException

buildAjaxFunction

protected java.lang.String buildAjaxFunction(javax.faces.context.FacesContext context,
                                             javax.faces.component.UIComponent column,
                                             boolean sortable,
                                             org.ajax4jsf.javascript.JSFunctionDefinition onAjaxCompleteFunction)

encodeDragDropChildScripts

public java.lang.String encodeDragDropChildScripts(javax.faces.context.FacesContext context,
                                                   UIDataTable component)
                                            throws java.io.IOException
Throws:
java.io.IOException

encodeNamespace

public void encodeNamespace(javax.faces.context.FacesContext context,
                            javax.faces.component.UIComponent component)
                     throws java.io.IOException
Throws:
java.io.IOException

renderDragSupport

public void renderDragSupport(javax.faces.context.FacesContext context,
                              UIColumn column,
                              java.lang.String dragSourceId,
                              java.lang.String indicatorId,
                              java.lang.String dragLabel)
                       throws java.io.IOException
Throws:
java.io.IOException

renderDropSupport

public void renderDropSupport(javax.faces.context.FacesContext context,
                              UIColumn column,
                              java.lang.String dropTargetId,
                              boolean before)
                       throws java.io.IOException
Throws:
java.io.IOException

getJavaScriptVarName

public static java.lang.String getJavaScriptVarName(javax.faces.context.FacesContext context,
                                                    UIDataTable grid)

getScriptContributions

protected java.lang.String getScriptContributions(javax.faces.context.FacesContext context,
                                                  UIDataTable grid)

getOnAjaxCompleteFunction

protected org.ajax4jsf.javascript.JSFunctionDefinition getOnAjaxCompleteFunction(javax.faces.context.FacesContext context,
                                                                                 UIDataTable table)

encodeTableMenu

public void encodeTableMenu(javax.faces.context.FacesContext context,
                            UIExtendedDataTable table)
                     throws java.io.IOException
Throws:
java.io.IOException

contributorsEncodeHere

public void contributorsEncodeHere(javax.faces.context.FacesContext context,
                                   UIDataTable table)
                            throws java.io.IOException
Throws:
java.io.IOException


Copyright © 2010. All Rights Reserved.