<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE components PUBLIC "-//AJAX4JSF//CDK Generator config/EN"  "https://ajax4jsf.dev.java.net/nonav/dtds/component-config.dtd" 

>

<components>
	<component>
		<name>org.richfaces.component.ScrollableDataTable</name>
		<family>org.richfaces.component.ScrollableDataTable</family>
	    <classname>
            org.richfaces.component.html.HtmlScrollableDataTable
        </classname>
        <superclass>org.richfaces.component.UIScrollableDataTable</superclass>
<!-- 
        <test>
			<classname>org.richfaces.component.html.HtmlScrollableGridTest</classname>
			<superclassname>org.ajax4jsf.tests.AbstractAjax4JsfTestCase</superclassname>
		</test>
-->
   		<description>
   			<![CDATA[ Scrollable Data Table  ]]>
   		</description>
		<test>
			<classname>org.richfaces.component.html.HtmlScrollableDataTableComponentTest</classname>
			<superclassname>org.richfaces.component.AbstractScrollableDataTableTestCase</superclassname>
		</test>

		<renderer generate="true" override="true">
			<name>org.richfaces.renderkit.html.ScrollableDataTableRenderer</name> 
			<template>org/richfaces/scrollable-data-table.jspx</template>
		</renderer>
		<tag>
			<name>scrollableDataTable</name>
			<classname>org.richfaces.taglib.ScrollableDataTableTag</classname>
			<superclass>
				org.ajax4jsf.webapp.taglib.HtmlComponentTagBase
			</superclass>
			<test>
				<classname>org.richfaces.taglib.ScrollableDataTableTagTest</classname>
				<superclassname>org.ajax4jsf.tests.AbstractAjax4JsfTestCase</superclassname>
			</test>
		</tag>
		
		<property>
			<name>frozenColCount</name>
			<classname>int</classname>
			<description>
			Defines the number of the fixed columns from the left side that will not be scrolled via horizontal scroll.
			Default value is '0'
			</description>
			<defaultvalue>0</defaultvalue>
		</property>		
		
		<property>
			<name>height</name>
			<classname>java.lang.String</classname>
			<description>Defines a height of the component. Default value is 500px</description>
			<defaultvalue>"500px"</defaultvalue>
		</property>		

		<property>
			<name>componentState</name>
			<classname>java.lang.String</classname>
			<description>It defines EL-binding  for a component state for saving or redefinition</description>
		</property>
		
		<property>
			<name>width</name>
			<classname>java.lang.String</classname>
			<description>Defines a width of the component. Default value is 700px</description>
			<defaultvalue>"700px"</defaultvalue>
		</property>	
		<property>
			<name>rows</name>
			<classname>int</classname>
			<defaultvalue>40</defaultvalue>
		</property>	
		
		<property>
			<name>selectedClass</name>
			<classname>java.lang.String</classname>
			<description>Name of the CSS class for a selected row</description>
		</property>	

    <property>
        <name>value</name>
        <classname>java.lang.Object</classname>
        <description>
            The current value for this component
        </description>
    </property>
		
		<property>
			<name>activeClass</name>
			<classname>java.lang.String</classname>
			<description>
			A CSS class to be applied to an active row
			</description>
		</property>		
		
		<property>
			<name>columnClasses</name>
			<classname>java.lang.String</classname>
		</property>	
			
		<property>
			<name>rowClasses</name>
			<classname>java.lang.String</classname>
		</property>		
		
		<property>
			<name>footerClass</name>
			<classname>java.lang.String</classname>
		</property>	
			
		<property>
			<name>captionClass</name>
			<classname>java.lang.String</classname>
			<description>Space-separated list of CSS style class(es) that are be applied to caption for this component</description>
		</property>		
		
		<property>
			<name>headerClass</name>
			<classname>java.lang.String</classname>
		</property>	
			
		<property>
			<name>styleClass</name>
			<classname>java.lang.String</classname>
		</property>		
		
		<property>
			<name>onselectionchange</name>
			<classname>java.lang.String</classname>
			<description>
			HTML: script expression to invoke on changing of rows selection 
			</description>
		</property>		

		<property attachedstate="true">
			<name>sortOrder</name>
			<classname>org.richfaces.model.SortOrder</classname>
			<description>
			ValueBinding pointing at a property of a class to manage rows sorting
			</description>
		</property>
		
		<property attachedstate="true">
			<name>selection</name>
			<classname>org.richfaces.model.selection.Selection</classname>
			<description>Value binding representing selected rows</description>
		</property>
		
		<property>
			<name>hideWhenScrolling</name>
			<classname>boolean</classname>
			<description>
			If 'true' data will be hidden during scrolling. Can be used for increase performance.
			Default value is 'false'
			</description>
			<defaultvalue>false</defaultvalue>
		</property>
		
		<property>
			<name>onRowClick</name>
			<classname>java.lang.String</classname>
			<description>HTML: a script expression; a pointer button is clicked on row
			</description>
		</property>	

		<property>
			<name>rowKeyVar</name>
			<classname>java.lang.String</classname>
			<description>The attribute provides access to a row key in a Request scope</description>
		</property>
		
		
		<property>
			<name>sortMode</name>
			<classname>java.lang.String</classname>
			<description>
			Defines mode of sorting. Possible values are 'single' for sorting of one column and 'multi' for some.
			</description>
		</property>
		
		<property>
			<name>rowKey</name>
			<classname>java.lang.String</classname>
			<description>The attribute is a representation of an identifier for a specific data row</description>
		</property>
		
		<property>
			<name>scriptVar</name>
			<classname>java.lang.String</classname>
			<description>Name of JavaScript variable corresponding to component
			</description>
		</property>
		
		<property>
			<name>onRowMouseDown</name>
			<classname>java.lang.String</classname>
			<description>HTML: script expression; a pointer button is pressed down on row</description>
		</property>	
			
		<property>
			<name>onRowMouseUp</name>
			<classname>java.lang.String</classname>
			<description>HTML: script expression; a pointer button is released on row</description>
		</property>	
			
		<property>
			<name>onRowDblClick</name>
			<classname>java.lang.String</classname>
			<description>HTML: a script expression; a pointer button is double-clicked on row
			</description>
		</property>	

		<property>
			<name>stateVar</name>
			<classname>java.lang.String</classname>
			<description>
				The attribute  provides access to a component state on the client side
			</description>
		</property>

		<property hidden="true">
            <name>sortListener</name>
            <classname>org.richfaces.event.sort.SortListener</classname>
	            
            <description>
                Value representing an scroll listener object that will be notified after sorting of rows
            </description>
        </property> 

		<property>
			<name>ajaxKeys</name>
			<classname>java.lang.String</classname>
			<description>This attribute defines rows that are updated after an AJAX request</description>
		</property>

		<property hidden="true">
			<name>scrollPos</name>
			<classname>java.lang.String</classname>
			<description>Component internal property serving mainly to determine vertical scroll position</description>
		</property>
		
		<property hidden="true">
			<name>responseData</name>
			<classname>java.util.Collection</classname>
			<description>Component internal property serving mainly to determine vertical scroll position</description>
		</property>

		<property hidden="true">
			<name>onbeforedomupdate</name>
			<classname>java.lang.String</classname>
		</property>
		
		&ajax_component_attributes;
		&ui_component_attributes;
		&ui_data_attributes;
		&spec_table_attributes;
		&html_style_attributes;
	</component>
	
	<renderer generate="true"> 
		<template>org/richfaces/scrollable-data-table-cell.jspx</template>
	</renderer>

	<renderer generate="true"> 
		<template>org/richfaces/scrollable-data-table-header-cell.jspx</template>
	</renderer>
	
	<renderer generate="true"> 
		<template>org/richfaces/scrollable-data-table-footer-cell.jspx</template>
	</renderer>

	<renderer generate="true"> 
		<template>org/richfaces/scrollable-data-table-header-itself.jspx</template>
	</renderer>
	
	<converter generate="false">
		<classname>org.richfaces.convert.selection.ClientSelectionConverter</classname>
		<forclass>org.richfaces.model.selection.ClientSelection</forclass>
	</converter>
	
	
</components>		