JBoss Rich Faces SVN: r18651 - trunk/ui/input/ui/src/main/resources/META-INF/resources/org.richfaces.
by richfaces-svn-commits@lists.jboss.org
Author: abelevich
Date: 2010-08-16 06:48:28 -0400 (Mon, 16 Aug 2010)
New Revision: 18651
Modified:
trunk/ui/input/ui/src/main/resources/META-INF/resources/org.richfaces/inplaceInput.ecss
Log:
Modified: trunk/ui/input/ui/src/main/resources/META-INF/resources/org.richfaces/inplaceInput.ecss
===================================================================
--- trunk/ui/input/ui/src/main/resources/META-INF/resources/org.richfaces/inplaceInput.ecss 2010-08-16 09:08:32 UTC (rev 18650)
+++ trunk/ui/input/ui/src/main/resources/META-INF/resources/org.richfaces/inplaceInput.ecss 2010-08-16 10:48:28 UTC (rev 18651)
@@ -151,12 +151,5 @@
}
.rf-ii-none {
-
- <!--[if lte IE 8]>
- <style>
- clip:rect(0px 0px 1px 1px);
- </style>
- <![endif]-->
-
clip:rect(0px, 0px, 1px, 1px);
}
15 years, 9 months
JBoss Rich Faces SVN: r18650 - in trunk/ui/dist: richfaces-components-ui and 1 other directory.
by richfaces-svn-commits@lists.jboss.org
Author: Alex.Kolonitsky
Date: 2010-08-16 05:08:32 -0400 (Mon, 16 Aug 2010)
New Revision: 18650
Modified:
trunk/ui/dist/richfaces-components-api/pom.xml
trunk/ui/dist/richfaces-components-ui/pom.xml
Log:
add input module to ui-components jar
Modified: trunk/ui/dist/richfaces-components-api/pom.xml
===================================================================
--- trunk/ui/dist/richfaces-components-api/pom.xml 2010-08-16 08:17:29 UTC (rev 18649)
+++ trunk/ui/dist/richfaces-components-api/pom.xml 2010-08-16 09:08:32 UTC (rev 18650)
@@ -56,6 +56,10 @@
<groupId>org.richfaces.ui.output</groupId>
<artifactId>richfaces-ui-output-api</artifactId>
</dependency>
+ <dependency>
+ <groupId>org.richfaces.ui.input</groupId>
+ <artifactId>richfaces-ui-input-api</artifactId>
+ </dependency>
<!-- for javadoc generation -->
<dependency>
Modified: trunk/ui/dist/richfaces-components-ui/pom.xml
===================================================================
--- trunk/ui/dist/richfaces-components-ui/pom.xml 2010-08-16 08:17:29 UTC (rev 18649)
+++ trunk/ui/dist/richfaces-components-ui/pom.xml 2010-08-16 09:08:32 UTC (rev 18650)
@@ -61,6 +61,10 @@
<groupId>org.richfaces.ui.output</groupId>
<artifactId>richfaces-ui-output-ui</artifactId>
</dependency>
+ <dependency>
+ <groupId>org.richfaces.ui.input</groupId>
+ <artifactId>richfaces-ui-input-ui</artifactId>
+ </dependency>
<!-- for javadoc generation -->
<dependency>
15 years, 9 months
JBoss Rich Faces SVN: r18649 - trunk/bom.
by richfaces-svn-commits@lists.jboss.org
Author: nbelaevski
Date: 2010-08-16 04:17:29 -0400 (Mon, 16 Aug 2010)
New Revision: 18649
Modified:
trunk/bom/pom.xml
Log:
Added ui:richfaces-core-api to BoM
Modified: trunk/bom/pom.xml
===================================================================
--- trunk/bom/pom.xml 2010-08-16 06:25:19 UTC (rev 18648)
+++ trunk/bom/pom.xml 2010-08-16 08:17:29 UTC (rev 18649)
@@ -75,6 +75,11 @@
</dependency>
<dependency>
<groupId>org.richfaces.ui.core</groupId>
+ <artifactId>richfaces-ui-core-api</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.richfaces.ui.core</groupId>
<artifactId>richfaces-ui-core-ui</artifactId>
<version>${project.version}</version>
</dependency>
15 years, 9 months
JBoss Rich Faces SVN: r18648 - in branches/development/docs/Component_Reference/src/main/docbook/en-US: extras and 1 other directory.
by richfaces-svn-commits@lists.jboss.org
Author: SeanRogers
Date: 2010-08-16 02:25:19 -0400 (Mon, 16 Aug 2010)
New Revision: 18648
Added:
branches/development/docs/Component_Reference/src/main/docbook/en-US/extras/exam-Component_Reference-richcolumn-Basic_column_example.xml_sample
branches/development/docs/Component_Reference/src/main/docbook/en-US/extras/exam-Component_Reference-richcolumn-Column_spanning_example.xml_sample
branches/development/docs/Component_Reference/src/main/docbook/en-US/extras/exam-Component_Reference-richcolumn-Row_spanning_example.xml_sample
branches/development/docs/Component_Reference/src/main/docbook/en-US/extras/exam-Component_Reference-richcolumnGroup-Complex_headers_using_column_groups.xml_sample
branches/development/docs/Component_Reference/src/main/docbook/en-US/extras/exam-Component_Reference-richcolumns-Basic_columns_example.xml_sample
branches/development/docs/Component_Reference/src/main/docbook/en-US/extras/exam-Component_Reference-richcolumns-Using_richcolumns_and_richcolumn_together.xml_sample
branches/development/docs/Component_Reference/src/main/docbook/en-US/extras/exam-Component_Reference-richdataGrid-ajaxKeys_example.xml_sample
Modified:
branches/development/docs/Component_Reference/src/main/docbook/en-US/chap-Component_Reference-Tables_and_grids.xml
Log:
Updated tables and lists (RF-8859)
Modified: branches/development/docs/Component_Reference/src/main/docbook/en-US/chap-Component_Reference-Tables_and_grids.xml
===================================================================
--- branches/development/docs/Component_Reference/src/main/docbook/en-US/chap-Component_Reference-Tables_and_grids.xml 2010-08-16 04:06:16 UTC (rev 18647)
+++ branches/development/docs/Component_Reference/src/main/docbook/en-US/chap-Component_Reference-Tables_and_grids.xml 2010-08-16 06:25:19 UTC (rev 18648)
@@ -15,428 +15,367 @@
This chapter covers all components related to the display of tables and grids.
</para>
+ <!--<a4j:repeat>-->
<section id="sect-Component_Reference-Actions-a4jrepeat">
<title><sgmltag><a4j:repeat></sgmltag></title>
- <itemizedlist>
- <listitem>
- <para>
- <parameter>component-type</parameter>: <classname>org.ajax4jsf.Repeat</classname>
- </para>
- </listitem>
- <listitem>
- <para>
- <parameter>component-class</parameter>: <classname>org.ajax4jsf.component.html.HtmlAjaxRepeat</classname>
- </para>
- </listitem>
- <listitem>
- <para>
- <parameter>component-family</parameter>: <classname>javax.faces.Data</classname>
- </para>
- </listitem>
- <listitem>
- <para>
- <parameter>renderer-type</parameter>: <classname>org.ajax4jsf.components.RepeatRenderer</classname>
- </para>
- </listitem>
- </itemizedlist>
<para>
The <sgmltag><a4j:repeat></sgmltag> component is used to iterate changes through a repeated collection of components. It allows specific rows of items to be updated without sending Ajax requests for the entire collection. The <sgmltag><a4j:repeat></sgmltag> component forms the basis for many of the tabular components detailed in <xref linkend="chap-Component_Reference-Tables_and_grids" />.
</para>
- <para>
- The contents of the collection are determined using Expression Language (<acronym>EL</acronym>). The data model for the contents is specified with the <varname>value</varname> attribute. The <varname>var</varname> attribute names the object to use when iterating through the collection. This object is then referenced in the relevant child components. After an Ajax request, only the rows specified with the <varname>ajaxKeys</varname> attribute are updated rather than the entire collection. <xref linkend="exam-Component_Reference-a4jrepeat-a4jrepeat_example" /> shows how to use <sgmltag><a4j:repeat></sgmltag> to maintain a simple table.
- </para>
- <example id="exam-Component_Reference-a4jrepeat-a4jrepeat_example">
- <title><sgmltag><a4j:repeat></sgmltag> example</title>
-
-<programlisting language="XML" role="XML"><xi:include href="extras/exam-Component_Reference-Tables_and_grids-a4jrepeat_example.xml_sample" parse="text" xmlns:xi="http://www.w3.org/2001/XInclude" />
-</programlisting>
+
+ <section id="sect-Component_Reference-a4jrepeat-Basic_usage">
+ <title>Basic usage</title>
<para>
- Each row of a table contains two cells: one showing the item code, and the other showing the item price. The table is generated by iterating through items in the <code>repeatBeans.items</code> data model.
+ The contents of the collection are determined using Expression Language (<acronym>EL</acronym>). The data model for the contents is specified with the <varname>value</varname> attribute. The <varname>var</varname> attribute names the object to use when iterating through the collection. This object is then referenced in the relevant child components. After an Ajax request, only the rows specified with the <varname>ajaxKeys</varname> attribute are updated rather than the entire collection. <xref linkend="exam-Component_Reference-a4jrepeat-a4jrepeat_example" /> shows how to use <sgmltag><a4j:repeat></sgmltag> to maintain a simple table.
</para>
- </example>
- <para>
- The <sgmltag><a4j:repeat></sgmltag> component uses other attributes common to iteration components, such as the <varname>first</varname> attribute for specifying the first item for iteration, and the <varname>rows</varname> attribute for specifying the number of rows of items to display.
- </para>
+ <example id="exam-Component_Reference-a4jrepeat-a4jrepeat_example">
+ <title><sgmltag><a4j:repeat></sgmltag> example</title>
+ <programlisting language="XML" role="XML"><xi:include href="extras/exam-Component_Reference-Tables_and_grids-a4jrepeat_example.xml_sample" parse="text" xmlns:xi="http://www.w3.org/2001/XInclude" /></programlisting>
+ <para>
+ Each row of a table contains two cells: one showing the item code, and the other showing the item price. The table is generated by iterating through items in the <code>repeatBeans.items</code> data model.
+ </para>
+ </example>
+ <para>
+ The <sgmltag><a4j:repeat></sgmltag> component uses other attributes common to iteration components, such as the <varname>first</varname> attribute for specifying the first item for iteration, and the <varname>rows</varname> attribute for specifying the number of rows of items to display.
+ </para>
+ </section>
+
+ <section id="sect-Component_Reference-a4jrepeat-Reference_data">
+ <title>Reference data</title>
+ <itemizedlist>
+ <listitem>
+ <para>
+ <parameter>component-type</parameter>: <classname>org.ajax4jsf.Repeat</classname>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <parameter>component-class</parameter>: <classname>org.ajax4jsf.component.html.HtmlAjaxRepeat</classname>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <parameter>component-family</parameter>: <classname>javax.faces.Data</classname>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <parameter>renderer-type</parameter>: <classname>org.ajax4jsf.components.RepeatRenderer</classname>
+ </para>
+ </listitem>
+ </itemizedlist>
+ </section>
</section>
+ <!--<rich:column>-->
<section id="sect-Component_Reference-Tables_and_grids-richcolumn">
<title><sgmltag><rich:column></sgmltag></title>
- <itemizedlist>
- <listitem>
- <para>
- <parameter>component-type</parameter>: <classname>org.richfaces.Column</classname>
- </para>
- </listitem>
- <listitem>
- <para>
- <parameter>component-class</parameter>: <classname>org.richfaces.component.html.HtmlColumn</classname>
- </para>
- </listitem>
- <listitem>
- <para>
- <parameter>component-family</parameter>: <classname>org.richfaces.Column</classname>
- </para>
- </listitem>
- <listitem>
- <para>
- <parameter>renderer-type</parameter>: <classname>org.richfaces.renderkit.CellRenderer</classname>
- </para>
- </listitem>
- <listitem>
- <para>
- <parameter>tag-class</parameter>: <classname>org.richfaces.taglib.ColumnTag</classname>
- </para>
- </listitem>
- </itemizedlist>
<para>
The <sgmltag><rich:column></sgmltag> component facilitates columns in a table or other <classname>UIData</classname> component. It supports merging columns and rows, sorting, filtering, and customized skinning.
</para>
- <para>
- In general usage, the <sgmltag><rich:column></sgmltag> component is used in the same was as the JavaServer Faces (<acronym>JSF</acronym>) <sgmltag><h:column></sgmltag> component. It requires no extra attributes for basic usage, as shown in <xref linkend="exam-Component_Reference-richcolumn-Basic_column_example" />.
- </para>
- <example id="exam-Component_Reference-richcolumn-Basic_column_example">
- <title>Basic column example</title>
-
-<programlisting language="XML" role="XML"><rich:dataTable value="#{capitalsBean.capitals}" var="cap" rows="5">
- <rich:column>
- <f:facet name="header">State Flag</f:facet>
- <h:graphicImage value="#{cap.stateFlag}"/>
- </rich:column>
- <rich:column>
- <f:facet name="header">State Name</f:facet>
- <h:outputText value="#{cap.state}"/>
- </rich:column>
- <rich:column >
- <f:facet name="header">State Capital</f:facet>
- <h:outputText value="#{cap.name}"/>
- </rich:column>
- <rich:column>
- <f:facet name="header">Time Zone</f:facet>
- <h:outputText value="#{cap.timeZone}"/>
- </rich:column>
-</rich:dataTable>
-</programlisting>
- <blockquote>
- <figure id="figu-Component_Reference-Basic_column_example-Basic_column_example">
- <title>Basic column example</title>
- <mediaobject>
- <imageobject>
- <imagedata fileref="images/figu-Component_Reference-richcolumn-Basic_column_example.png" format="PNG" />
- </imageobject>
- <textobject>
- <para>
- The result of the basic column example, displaying a table with a header row and four columns.
- </para>
- </textobject>
- </mediaobject>
- </figure>
- </blockquote>
- </example>
- <para>
- Columns can be merged by using the <varname>colspan</varname> attribute to specify how many normal columns to span. The <varname>colspan</varname> attribute is used in conjunction with the <varname>breakBefore</varname> attribute on the next column to determine how the merged columns are laid out. <xref linkend="exam-Component_Reference-richcolumn-Column_spanning_example" />.
- </para>
- <example id="exam-Component_Reference-richcolumn-Column_spanning_example">
- <title>Column spanning example</title>
-
-<programlisting language="XML" role="XML"><rich:dataTable value="#{capitalsBean.capitals}" var="cap" rows="5">
- <rich:column colspan="3">
- <h:graphicImage value="#{cap.stateFlag}"/>
- </rich:column>
- <rich:column breakBefore="true">
- <h:outputText value="#{cap.state}"/>
- </rich:column>
- <rich:column >
- <h:outputText value="#{cap.name}"/>
- </rich:column>
- <rich:column>
- <h:outputText value="#{cap.timeZone}"/>
- </rich:column>
-</rich:dataTable>
-</programlisting>
- <blockquote>
- <figure id="figu-Component_Reference-Column_spanning_example-Column_spanning_example">
- <title>Column spanning example</title>
- <mediaobject>
- <imageobject>
- <imagedata fileref="images/figu-Component_Reference-richcolumn-Column_spanning_example.png" format="PNG" />
- </imageobject>
- <textobject>
- <para>
- The result of the column spanning example, showing the first column (the state flag column) spanning a width of three columns, with the others broken onto the following line.
- </para>
- </textobject>
- </mediaobject>
- </figure>
- </blockquote>
- </example>
- <para>
- Similarly, the <varname>rowspan</varname> attribute can be used to merge and span rows. Again the <varname>breakBefore</varname> attribute needs to be used on related <sgmltag><rich:column></sgmltag> components to define the layout. <xref linkend="exam-Component_Reference-richcolumn-Row_spanning_example" /> and the resulting <xref linkend="figu-Component_Reference-Complex_headers_using_column_groups-Complex_headers_using_column_groups" /> show the first column of the table spanning three rows.
- </para>
- <example id="exam-Component_Reference-richcolumn-Row_spanning_example">
- <title>Row spanning example</title>
-
-<programlisting language="XML" role="XML"><rich:dataTable value="#{capitalsBean.capitals}" var="cap" rows="5">
- <rich:column rowspan="3">
- <f:facet name="header">State Flag</f:facet>
- <h:graphicImage value="#{cap.stateFlag}"/>
- </rich:column>
- <rich:column>
- <f:facet name="header">State Info</f:facet>
- <h:outputText value="#{cap.state}"/>
- </rich:column>
- <rich:column breakBefore="true">
- <h:outputText value="#{cap.name}"/>
- </rich:column>
- <rich:column breakBefore="true">
- <h:outputText value="#{cap.timeZone}"/>
- </rich:column>
-</rich:dataTable>
-</programlisting>
- <blockquote>
- <figure id="figu-Component_Reference-Row_spanning_example-Row_spanning_example">
- <title>Row spanning example</title>
- <mediaobject>
- <imageobject>
- <imagedata fileref="images/figu-Component_Reference-richcolumn-Row_spanning_example.png" format="PNG" />
- </imageobject>
- <textobject>
- <para>
- The result of the row spanning example, showing the first column of the table spanning three rows.
- </para>
- </textobject>
- </mediaobject>
- </figure>
- </blockquote>
- </example>
- <para>
- For details on filtering and sorting columns, refer to <xref linkend="sect-Component_Reference-Tables_and_grids-Table_filtering" /> and <xref linkend="sect-Component_Reference-Tables_and_grids-Table_sorting" />.
- </para>
+
+ <section id="sect-Component_Reference-richcolumn-Basic_usage">
+ <title>Basic usage</title>
+ <para>
+ In general usage, the <sgmltag><rich:column></sgmltag> component is used in the same was as the JavaServer Faces (<acronym>JSF</acronym>) <sgmltag><h:column></sgmltag> component. It requires no extra attributes for basic usage, as shown in <xref linkend="exam-Component_Reference-richcolumn-Basic_column_example" />.
+ </para>
+ <example id="exam-Component_Reference-richcolumn-Basic_column_example">
+ <title>Basic column example</title>
+ <programlisting language="XML" role="XML"><xi:include parse="text" href="extras/exam-Component_Reference-richcolumn-Basic_column_example.xml_sample" xmlns:xi="http://www.w3.org/2001/XInclude" /></programlisting>
+ <blockquote>
+ <figure id="figu-Component_Reference-Basic_column_example-Basic_column_example">
+ <title>Basic column example</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/figu-Component_Reference-richcolumn-Basic_column_example.png" format="PNG" />
+ </imageobject>
+ <textobject>
+ <para>
+ The result of the basic column example, displaying a table with a header row and four columns.
+ </para>
+ </textobject>
+ </mediaobject>
+ </figure>
+ </blockquote>
+ </example>
+ </section>
+
+ <section id="sect-Component_Reference-richcolumn-Spanning_columns">
+ <title>Spanning columns</title>
+ <para>
+ Columns can be merged by using the <varname>colspan</varname> attribute to specify how many normal columns to span. The <varname>colspan</varname> attribute is used in conjunction with the <varname>breakBefore</varname> attribute on the next column to determine how the merged columns are laid out. <xref linkend="exam-Component_Reference-richcolumn-Column_spanning_example" />.
+ </para>
+ <example id="exam-Component_Reference-richcolumn-Column_spanning_example">
+ <title>Column spanning example</title>
+ <programlisting language="XML" role="XML"><xi:include parse="text" href="extras/exam-Component_Reference-richcolumn-Column_spanning_example.xml_sample" xmlns:xi="http://www.w3.org/2001/XInclude" /></programlisting>
+ <blockquote>
+ <figure id="figu-Component_Reference-Column_spanning_example-Column_spanning_example">
+ <title>Column spanning example</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/figu-Component_Reference-richcolumn-Column_spanning_example.png" format="PNG" />
+ </imageobject>
+ <textobject>
+ <para>
+ The result of the column spanning example, showing the first column (the state flag column) spanning a width of three columns, with the others broken onto the following line.
+ </para>
+ </textobject>
+ </mediaobject>
+ </figure>
+ </blockquote>
+ </example>
+ </section>
+
+ <section id="sect-Component_Reference-richcolumn-Spanning_rows">
+ <title>Spanning rows</title>
+ <para>
+ Similarly, the <varname>rowspan</varname> attribute can be used to merge and span rows. Again the <varname>breakBefore</varname> attribute needs to be used on related <sgmltag><rich:column></sgmltag> components to define the layout. <xref linkend="exam-Component_Reference-richcolumn-Row_spanning_example" /> and the resulting <xref linkend="figu-Component_Reference-Complex_headers_using_column_groups-Complex_headers_using_column_groups" /> show the first column of the table spanning three rows.
+ </para>
+ <example id="exam-Component_Reference-richcolumn-Row_spanning_example">
+ <title>Row spanning example</title>
+ <programlisting language="XML" role="XML"><xi:include parse="text" href="extras/exam-Component_Reference-richcolumn-Row_spanning_example.xml_sample" xmlns:xi="http://www.w3.org/2001/XInclude" /></programlisting>
+ <blockquote>
+ <figure id="figu-Component_Reference-Row_spanning_example-Row_spanning_example">
+ <title>Row spanning example</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/figu-Component_Reference-richcolumn-Row_spanning_example.png" format="PNG" />
+ </imageobject>
+ <textobject>
+ <para>
+ The result of the row spanning example, showing the first column of the table spanning three rows.
+ </para>
+ </textobject>
+ </mediaobject>
+ </figure>
+ </blockquote>
+ </example>
+ <para>
+ For details on filtering and sorting columns, refer to <xref linkend="sect-Component_Reference-Tables_and_grids-Table_filtering" /> and <xref linkend="sect-Component_Reference-Tables_and_grids-Table_sorting" />.
+ </para>
+ </section>
+
+ <section id="sect-Component_Reference-richcolumn-Reference_data">
+ <title>Reference data</title>
+ <itemizedlist>
+ <listitem>
+ <para>
+ <parameter>component-type</parameter>: <classname>org.richfaces.Column</classname>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <parameter>component-class</parameter>: <classname>org.richfaces.component.html.HtmlColumn</classname>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <parameter>component-family</parameter>: <classname>org.richfaces.Column</classname>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <parameter>renderer-type</parameter>: <classname>org.richfaces.renderkit.CellRenderer</classname>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <parameter>tag-class</parameter>: <classname>org.richfaces.taglib.ColumnTag</classname>
+ </para>
+ </listitem>
+ </itemizedlist>
+ </section>
</section>
+ <!--<rich:columnGroup>-->
<section id="sect-Component_Reference-Tables_and_grids-richcolumnGroup">
<title><sgmltag><rich:columnGroup></sgmltag></title>
- <itemizedlist>
- <listitem>
- <para>
- <parameter>component-type</parameter>: <classname>org.richfaces.ColumnGroup</classname>
- </para>
- </listitem>
- <listitem>
- <para>
- <parameter>component-class</parameter>: <classname>org.richfaces.component.html.HtmlColumnGroup</classname>
- </para>
- </listitem>
- <listitem>
- <para>
- <parameter>component-family</parameter>: <classname>org.richfaces.ColumnGroup</classname>
- </para>
- </listitem>
- <listitem>
- <para>
- <parameter>renderer-type</parameter>: <classname>org.richfaces.ColumnGroupRenderer</classname>
- </para>
- </listitem>
- <listitem>
- <para>
- <parameter>tag-class</parameter>: <classname>org.richfaces.taglib.ColumnGroupTag</classname>
- </para>
- </listitem>
- </itemizedlist>
<para>
The <sgmltag><rich:columnGroup></sgmltag> component combines multiple columns in a single row to organize complex parts of a table. The resulting effect is similar to using the <varname>breakBefore</varname> attribute of the <sgmltag><rich:column></sgmltag> component, but is clearer and easier to follow in the source code.
</para>
- <para>
- The <sgmltag><rich:columnGroup></sgmltag> can also be used to create complex headers in a table. <xref linkend="exam-Component_Reference-richcolumnGroup-Complex_headers_using_column_groups" /> and the resulting <xref linkend="figu-Component_Reference-Complex_headers_using_column_groups-Complex_headers_using_column_groups" /> demonstrate how complex headers can be achieved.
- </para>
- <example id="exam-Component_Reference-richcolumnGroup-Complex_headers_using_column_groups">
- <title>Complex headers using column groups</title>
-
-<programlisting language="XML" role="XML"><rich:dataTable value="#{capitalsBean.capitals}" var="cap" rows="5" id="sublist">
- <f:facet name="header">
- <rich:columnGroup>
- <rich:column rowspan="2">
- <h:outputText value="State Flag"/>
- </rich:column>
- <rich:column colspan="3">
- <h:outputText value="State Info"/>
- </rich:column>
- <rich:column breakBefore="true">
- <h:outputText value="State Name"/>
- </rich:column>
- <rich:column>
- <h:outputText value="State Capital"/>
- </rich:column>
- <rich:column>
- <h:outputText value="Time Zone"/>
- </rich:column>
- </rich:columnGroup>
- </f:facet>
- <rich:column>
- <h:graphicImage value="#{cap.stateFlag}"/>
- </rich:column>
- <rich:column>
- <h:outputText value="#{cap.state}"/>
- </rich:column>
- <rich:column>
- <h:outputText value="#{cap.name}"/>
- </rich:column>
- <rich:column>
- <h:outputText value="#{cap.timeZone}"/>
- </rich:column>
-</rich:dataTable>
-</programlisting>
- <blockquote>
- <figure id="figu-Component_Reference-Complex_headers_using_column_groups-Complex_headers_using_column_groups">
- <title>Complex headers using column groups</title>
- <mediaobject>
- <imageobject>
- <imagedata fileref="images/figu-Component_Reference-richcolumnGroup-Complex_headers_using_column_groups.png" format="PNG" />
- </imageobject>
- <textobject>
- <para>
- A table with a complex header, where three of the columns are grouped together under a common title.
- </para>
- </textobject>
- </mediaobject>
- </figure>
- </blockquote>
- </example>
+ <section id="sect-Component_Reference-richcolumnGroup-Complex_headers">
+ <title>Complex headers</title>
+ <para>
+ The <sgmltag><rich:columnGroup></sgmltag> can also be used to create complex headers in a table. <xref linkend="exam-Component_Reference-richcolumnGroup-Complex_headers_using_column_groups" /> and the resulting <xref linkend="figu-Component_Reference-Complex_headers_using_column_groups-Complex_headers_using_column_groups" /> demonstrate how complex headers can be achieved.
+ </para>
+ <example id="exam-Component_Reference-richcolumnGroup-Complex_headers_using_column_groups">
+ <title>Complex headers using column groups</title>
+ <programlisting language="XML" role="XML"><xi:include parse="text" href="extras/exam-Component_Reference-richcolumnGroup-Complex_headers_using_column_groups.xml_sample" xmlns:xi="http://www.w3.org/2001/XInclude" /></programlisting>
+ <blockquote>
+ <figure id="figu-Component_Reference-Complex_headers_using_column_groups-Complex_headers_using_column_groups">
+ <title>Complex headers using column groups</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/figu-Component_Reference-richcolumnGroup-Complex_headers_using_column_groups.png" format="PNG" />
+ </imageobject>
+ <textobject>
+ <para>
+ A table with a complex header, where three of the columns are grouped together under a common title.
+ </para>
+ </textobject>
+ </mediaobject>
+ </figure>
+ </blockquote>
+ </example>
+ </section>
+
+ <section id="sect-Component_Reference-richcolumnGroup-Reference_data">
+ <title>Reference data</title>
+ <itemizedlist>
+ <listitem>
+ <para>
+ <parameter>component-type</parameter>: <classname>org.richfaces.ColumnGroup</classname>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <parameter>component-class</parameter>: <classname>org.richfaces.component.html.HtmlColumnGroup</classname>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <parameter>component-family</parameter>: <classname>org.richfaces.ColumnGroup</classname>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <parameter>renderer-type</parameter>: <classname>org.richfaces.ColumnGroupRenderer</classname>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <parameter>tag-class</parameter>: <classname>org.richfaces.taglib.ColumnGroupTag</classname>
+ </para>
+ </listitem>
+ </itemizedlist>
+ </section>
</section>
+ <!--<rich:columns>-->
<section id="sect-Component_Reference-Tables_and_grids-richcolumns">
<title><sgmltag><rich:columns></sgmltag></title>
- <itemizedlist>
- <listitem>
- <para>
- <parameter>component-type</parameter>: <classname>org.richfaces.Column</classname>
- </para>
- </listitem>
- <listitem>
- <para>
- <parameter>tag-class</parameter>: <classname>org.richfaces.taglib.ColumnsTagHandler</classname>
- </para>
- </listitem>
- </itemizedlist>
<para>
The <sgmltag><rich:columns></sgmltag> component allows for dynamic sets of columns for tables. Columns and rows can be merged, and the look and feel can be highly customized. The component gets a list from a data model and creates a corresponding set of columns in a <sgmltag><rich:dataTable></sgmltag> component. The <sgmltag><rich:columns></sgmltag> component also supports <literal>header</literal> and <literal>footer</literal> facets.
</para>
- <para>
- Basic usage of the <sgmltag><rich:columns></sgmltag> component requires the <varname>value</varname> attribute, which points to the data model; the <varname>var</varname> attribute, which holds the current variable for the collection of data; and the <varname>index</varname> attribute, which holds the current counter. The <varname>id</varname> attribute is used for when the individuals rows require identifiers for Ajax events.
- </para>
- <example id="exam-Component_Reference-richcolumns-Basic_columns_example">
- <title>Basic columns example</title>
-
-<programlisting language="XML" role="XML"><rich:dataTable value="#{dataTableScrollerBean.model}" var="model" width="750">
- <rich:columns value="#{dataTableScrollerBean.columns}" var="columns" index="ind" id="column#{ind}">
- <f:facet name="header">
- <h:outputText value="#{columns.header}" />
- </f:facet>
- <h:outputText value="#{model[ind].model} " />
- <h:outputText value="#{model[ind].mileage} miles " />
- <h:outputText value="#{model[ind].price}$" />
- </rich:columns>
-</rich:dataTable>
-</programlisting>
- </example>
- <para>
- The output can be customized to display specific columns and rows. The <varname>columns</varname> attribute specifies the number of columns. The <varname>rowspan</varname> attribute specifies the number of rows to display; if the attribute is set to <literal>0</literal>, all remaining rows in the table are displayed. The <varname>begin</varname> and <varname>end</varname> attributes are used to specify the first and last zero-based iteration items to display in the table. Columns can be adjusted using the <varname>colspan</varname>, <varname>rowspan</varname>, and <varname>breakBefore</varname> attributes the same as with the <sgmltag><rich:column></sgmltag> component.
- </para>
- <para>
- The <sgmltag><rich:columns></sgmltag> component can be used alongside <sgmltag><rich:column></sgmltag> components.
- </para>
- <example id="exam-Component_Reference-richcolumns-Using_richcolumns_and_richcolumn_together">
+ <section id="sect-Component_Reference-richcolumns-Basic_usage">
+ <title>Basic usage</title>
+ <para>
+ Basic usage of the <sgmltag><rich:columns></sgmltag> component requires the <varname>value</varname> attribute, which points to the data model; the <varname>var</varname> attribute, which holds the current variable for the collection of data; and the <varname>index</varname> attribute, which holds the current counter. The <varname>id</varname> attribute is used for when the individuals rows require identifiers for Ajax events.
+ </para>
+ <example id="exam-Component_Reference-richcolumns-Basic_columns_example">
+ <title>Basic columns example</title>
+ <programlisting language="XML" role="XML"><xi:include parse="text" href="extras/exam-Component_Reference-richcolumns-Basic_columns_example.xml_sample" xmlns:xi="http://www.w3.org/2001/XInclude" /></programlisting>
+ </example>
+ </section>
+
+ <section id="sect-Component_Reference-richcolumns-Customizing_the_view">
+ <title>Customizing the view</title>
+ <para>
+ The output can be customized to display specific columns and rows. The <varname>columns</varname> attribute specifies the number of columns. The <varname>rowspan</varname> attribute specifies the number of rows to display; if the attribute is set to <literal>0</literal>, all remaining rows in the table are displayed. The <varname>begin</varname> and <varname>end</varname> attributes are used to specify the first and last zero-based iteration items to display in the table. Columns can be adjusted using the <varname>colspan</varname>, <varname>rowspan</varname>, and <varname>breakBefore</varname> attributes the same as with the <sgmltag><rich:column></sgmltag> component.
+ </para>
+ </section>
+
+ <section id="sect-Component_Reference-richcolumns-Using_richcolumns_and_richcolumn_together">
<title>Using <sgmltag><rich:columns></sgmltag> and <sgmltag><rich:column></sgmltag> together</title>
-
-<programlisting language="XML" role="XML"><rich:dataTable value="#{dataTableScrollerBean.model}" var="model" width="500px" rows="5">
- <f:facet name="header">
- <h:outputText value="Cars Available"></h:outputText>
- </f:facet>
- <rich:columns value="#{dataTableScrollerBean.columns}" var="columns" index="ind">
- <f:facet name="header">
- <h:outputText value="#{columns.header}" />
- </f:facet>
- <h:outputText value="#{model[ind].model} " />
- </rich:columns>
- <rich:column>
- <f:facet name="header">
- <h:outputText value="Price" />
- </f:facet>
- <h:outputText value="Price" />
- </rich:column>
- <rich:columns value="#{dataTableScrollerBean.columns}" var="columns" index="ind">
- <f:facet name="header">
- <h:outputText value="#{columns.header}" />
- </f:facet>
- <h:outputText value="#{model[ind].mileage}$" />
- </rich:columns>
-</rich:dataTable>
-</programlisting>
- </example>
- <para>
- For details on filtering and sorting columns, refer to <xref linkend="sect-Component_Reference-Tables_and_grids-Table_filtering" /> and <xref linkend="sect-Component_Reference-Tables_and_grids-Table_sorting" />.
- </para>
+ <para>
+ The <sgmltag><rich:columns></sgmltag> component can be used alongside one or more <sgmltag><rich:column></sgmltag> components.
+ </para>
+ <example id="exam-Component_Reference-richcolumns-Using_richcolumns_and_richcolumn_together">
+ <title>Using <sgmltag><rich:columns></sgmltag> and <sgmltag><rich:column></sgmltag> together</title>
+ <programlisting language="XML" role="XML"><xi:include parse="text" href="extras/exam-Component_Reference-richcolumns-Using_richcolumns_and_richcolumn_together.xml_sample" xmlns:xi="http://www.w3.org/2001/XInclude" /></programlisting>
+ </example>
+ <para>
+ For details on filtering and sorting columns, refer to <xref linkend="sect-Component_Reference-Tables_and_grids-Table_filtering" /> and <xref linkend="sect-Component_Reference-Tables_and_grids-Table_sorting" />.
+ </para>
+ </section>
+
+ <section id="sect-Component_Reference-richcolumns-Reference_data">
+ <title>Reference data</title>
+ <itemizedlist>
+ <listitem>
+ <para>
+ <parameter>component-type</parameter>: <classname>org.richfaces.Column</classname>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <parameter>tag-class</parameter>: <classname>org.richfaces.taglib.ColumnsTagHandler</classname>
+ </para>
+ </listitem>
+ </itemizedlist>
+ </section>
</section>
- <!-- TODO not in M2 -->
- <!--
+ <!--<rich:dataDefinitionList>-->
<section id="sect-Component_Reference-Tables_and_grids-richdataDefinitionList">
<title><sgmltag><rich:dataDefinitionList></sgmltag></title>
- <itemizedlist>
- <listitem>
- <para>
- <parameter>component-type</parameter>: <classname>org.richfaces.DataDefinitionList</classname>
- </para>
- </listitem>
- <listitem>
- <para>
- <parameter>component-class</parameter>: <classname>org.richfaces.component.html.HtmlDataDefinitionList</classname>
- </para>
- </listitem>
- <listitem>
- <para>
- <parameter>component-family</parameter>: <classname>org.richfaces.DataDefinitionList</classname>
- </para>
- </listitem>
- <listitem>
- <para>
- <parameter>renderer-type</parameter>: <classname>org.richfaces.DataDefinitionListRenderer</classname>
- </para>
- </listitem>
- <listitem>
- <para>
- <parameter>tag-class</parameter>: <classname>org.richfaces.taglib.DataDefinitionListTag</classname>
- </para>
- </listitem>
- </itemizedlist>
<para>
The <sgmltag><rich:dataDefinitionList></sgmltag> component renders a list of items with definitions. The component uses a data model for managing the list items, which can be updated dynamically.
</para>
- <para>
- The <varname>var</varname> attribute names a variable for iterating through the items in the data model. The items to iterate through are determined with the <varname>value</varname> attribute by using EL (Expression Lanugage). The <varname>first</varname> attribute specifies which item in the data model to start from, and the <varname>rows</varname> attribute specifies the number of items to list. The <varname>title</varname> attribute is used for a floating tool-tip. <xref linkend="exam-Component_Reference-richdataDefinitionList-richdataDefinitionList_example" /> shows a simple example using the <sgmltag><rich:dataDefinitionList></sgmltag> component.
- </para>
- <example id="exam-Component_Reference-richdataDefinitionList-richdataDefinitionList_example">
- <title><sgmltag><rich:dataDefinitionList></sgmltag> example</title>
-
-<programlisting language="XML" role="XML"><xi:include href="extras/exam-Component_Reference-Tables_and_grids-richdataDefinitionList_example.xml_sample" parse="text" xmlns:xi="http://www.w3.org/2001/XInclude" />
-</programlisting>
- <blockquote>
- <figure id="figu-Component_Reference-richdataDefinitionList_example-richdataDefinitionList_example">
- <title><sgmltag><rich:dataDefinitionList></sgmltag> example</title>
- <mediaobject>
- <imageobject>
- <imagedata fileref="images/figu-Component_Reference-Tables_and_grids-richdataDefinitionList_example.png" format="PNG" />
- </imageobject>
- <textobject>
- <para>
- A list of cars with their price and mileage displayed as a data definition.
- </para>
- </textobject>
- </mediaobject>
- </figure>
- </blockquote>
- </example>
+
+ <section id="sect-Component_Reference-richdataDefinitionList-Basic_usage">
+ <title>Basic usage</title>
+ <para>
+ The <varname>var</varname> attribute names a variable for iterating through the items in the data model. The items to iterate through are determined with the <varname>value</varname> attribute by using EL (Expression Lanugage).
+ </para>
+ </section>
+
+ <section id="sect-Component_Reference-richdataDefinitionList-Customizing_the_list">
+ <title>Customizing the list</title>
+ <para>
+ The <varname>first</varname> attribute specifies which item in the data model to start from, and the <varname>rows</varname> attribute specifies the number of items to list. The <varname>title</varname> attribute is used for a floating tool-tip. <xref linkend="exam-Component_Reference-richdataDefinitionList-richdataDefinitionList_example" /> shows a simple example using the <sgmltag><rich:dataDefinitionList></sgmltag> component.
+ </para>
+ <example id="exam-Component_Reference-richdataDefinitionList-richdataDefinitionList_example">
+ <title><sgmltag><rich:dataDefinitionList></sgmltag> example</title>
+ <programlisting language="XML" role="XML"><xi:include href="extras/exam-Component_Reference-Tables_and_grids-richdataDefinitionList_example.xml_sample" parse="text" xmlns:xi="http://www.w3.org/2001/XInclude" /></programlisting>
+ <blockquote>
+ <figure id="figu-Component_Reference-richdataDefinitionList_example-richdataDefinitionList_example">
+ <title><sgmltag><rich:dataDefinitionList></sgmltag> example</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/figu-Component_Reference-Tables_and_grids-richdataDefinitionList_example.png" format="PNG" />
+ </imageobject>
+ <textobject>
+ <para>
+ A list of cars with their price and mileage displayed as a data definition.
+ </para>
+ </textobject>
+ </mediaobject>
+ </figure>
+ </blockquote>
+ </example>
+ </section>
+
+ <section id="sect-Component_Reference-richdataDefinitionList-Reference_data">
+ <title>Reference data</title>
+ <itemizedlist>
+ <listitem>
+ <para>
+ <parameter>component-type</parameter>: <classname>org.richfaces.DataDefinitionList</classname>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <parameter>component-class</parameter>: <classname>org.richfaces.component.html.HtmlDataDefinitionList</classname>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <parameter>component-family</parameter>: <classname>org.richfaces.DataDefinitionList</classname>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <parameter>renderer-type</parameter>: <classname>org.richfaces.DataDefinitionListRenderer</classname>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <parameter>tag-class</parameter>: <classname>org.richfaces.taglib.DataDefinitionListTag</classname>
+ </para>
+ </listitem>
+ </itemizedlist>
+ </section>
</section>
- -->
<!-- TODO not in M2 -->
<!--
@@ -505,35 +444,9 @@
</section>
-->
+ <!--<rich:dataGrid>-->
<section id="sect-Component_Reference-Tables_and_grids-richdataGrid">
<title><sgmltag><rich:dataGrid></sgmltag></title>
- <itemizedlist>
- <listitem>
- <para>
- <parameter>component-type</parameter>: <classname>org.richfaces.DataGrid</classname>
- </para>
- </listitem>
- <listitem>
- <para>
- <parameter>component-class</parameter>: <classname>org.richfaces.component.html.HtmlDataGrid</classname>
- </para>
- </listitem>
- <listitem>
- <para>
- <parameter>component-family</parameter>: <classname>org.richfaces.DataGrid</classname>
- </para>
- </listitem>
- <listitem>
- <para>
- <parameter>renderer-type</parameter>: <classname>org.richfaces.DataGridRenderer</classname>
- </para>
- </listitem>
- <listitem>
- <para>
- <parameter>tag-class</parameter>: <classname>org.richfaces.taglib.DataGridTag</classname>
- </para>
- </listitem>
- </itemizedlist>
<para>
The <sgmltag><rich:dataGrid></sgmltag> component is used to arrange data objects in a grid. Values in the grid can be updated dynamically from the data model, and Ajax updates can be limited to specific rows. The component supports <literal>header</literal>, <literal>footer</literal>, and <literal>caption</literal> facets.
</para>
@@ -550,244 +463,317 @@
</textobject>
</mediaobject>
</figure>
- <para>
- The <sgmltag><rich:dataGrid></sgmltag> component requires the <varname>value</varname> attribute, which points to the data model, and the <varname>var</varname> attribute, which holds the current variable for the collection of data. The number of columns for the grid is specifed with the <varname>columns</varname> attribute, and the number of elements to layout among the columns is determined with the <varname>elements</varname> attribute. The <varname>first</varname> attribute references the zero-based element in the data model from which the grid starts.
- </para>
- <example id="exam-Component_Reference-richdataGrid-richdataGrid_example">
- <title><sgmltag><rich:dataGrid></sgmltag> example</title>
-
-<programlisting language="XML" role="XML">
-<xi:include href="extras/exam-Component_Reference-richdataGrid-richdataGrid_example.xml_sample" parse="text" xmlns:xi="http://www.w3.org/2001/XInclude" />
-</programlisting>
- <blockquote>
- <figure id="figu-Component_Reference-richdataGrid_example-richdataGrid_example">
- <title><sgmltag><rich:dataGrid></sgmltag> example</title>
- <mediaobject>
- <imageobject>
- <imagedata fileref="images/figu-Component_Reference-richdataGrid-richdataGrid_example.png" format="PNG" />
- </imageobject>
- <textobject>
- <para>
- The result of the <sgmltag><rich:dataGrid></sgmltag> example, with the <literal>header</literal> facet, <literal>footer</literal> facet, and first element annotated.
- </para>
- </textobject>
- </mediaobject>
- </figure>
- </blockquote>
- </example>
+
+ <section id="sect-Component_Reference-richdataGrid-Basic_usage">
+ <title>Basic usage</title>
+ <para>
+ The <sgmltag><rich:dataGrid></sgmltag> component requires the <varname>value</varname> attribute, which points to the data model, and the <varname>var</varname> attribute, which holds the current variable for the collection of data.
+ </para>
+ </section>
+
+ <section id="sect-Component_Reference-richdataGrid-Customizing_the_grid">
+ <title>Customizing the grid</title>
+ <para>
+ The number of columns for the grid is specifed with the <varname>columns</varname> attribute, and the number of elements to layout among the columns is determined with the <varname>elements</varname> attribute. The <varname>first</varname> attribute references the zero-based element in the data model from which the grid starts.
+ </para>
+ <example id="exam-Component_Reference-richdataGrid-richdataGrid_example">
+ <title><sgmltag><rich:dataGrid></sgmltag> example</title>
+ <programlisting language="XML" role="XML"><xi:include href="extras/exam-Component_Reference-richdataGrid-richdataGrid_example.xml_sample" parse="text" xmlns:xi="http://www.w3.org/2001/XInclude" /></programlisting>
+ <blockquote>
+ <figure id="figu-Component_Reference-richdataGrid_example-richdataGrid_example">
+ <title><sgmltag><rich:dataGrid></sgmltag> example</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/figu-Component_Reference-richdataGrid-richdataGrid_example.png" format="PNG" />
+ </imageobject>
+ <textobject>
+ <para>
+ The result of the <sgmltag><rich:dataGrid></sgmltag> example, with the <literal>header</literal> facet, <literal>footer</literal> facet, and first element annotated.
+ </para>
+ </textobject>
+ </mediaobject>
+ </figure>
+ </blockquote>
+ </example>
+ </section>
+
<!-- TODO
- <para>
- The <sgmltag><rich:dataGrid></sgmltag> component can be used with the <sgmltag><rich:dataScroller></sgmltag> component to display multiple pages of grids. Refer to <xref linkend="sect-Component_Reference-Tables_and_grids-richdataScroller" /> for details on the <sgmltag><rich:dataScroller></sgmltag> component.
- </para>
- -->
- <para>
- As the component is based on the <sgmltag><a4j:repeat></sgmltag> component, it can be partially updated with Ajax. The <varname>ajaxKeys</varname> attribute allows row keys to be defined, which are updated after an Ajax request.
- </para>
- <example id="exam-Component_Reference-richdataGrid-ajaxKeys_example">
- <title><varname>ajaxKeys</varname> example</title>
-
-<programlisting language="XML" role="XML">
-<rich:dataGrid value="#{dataTableScrollerBean.allCars}" var="car" ajaxKeys="#{listBean.list}" binding="#{listBean.dataGrid}" id="grid" elements="4" columns="2">
- ...
-</rich:dataGrid>
-...
-<a4j:commandButton action="#{listBean.action}" reRender="grid" value="Submit"/>
-</programlisting>
- </example>
+ <section id="sect-Component_Reference-richdataGrid-Multiple-page_grids">
+ <title>Multiple-page grids</title>
+ <para>
+ The <sgmltag><rich:dataGrid></sgmltag> component can be used with the <sgmltag><rich:dataScroller></sgmltag> component to display multiple pages of grids. Refer to <xref linkend="sect-Component_Reference-Tables_and_grids-richdataScroller" /> for details on the <sgmltag><rich:dataScroller></sgmltag> component.
+ </para>
+ </section>
+ -->
+
+ <section id="sect-Component_Reference-richdataGrid-Patial_updates">
+ <title>Patial updates</title>
+ <para>
+ As the component is based on the <sgmltag><a4j:repeat></sgmltag> component, it can be partially updated with Ajax. The <varname>ajaxKeys</varname> attribute allows row keys to be defined, which are updated after an Ajax request.
+ </para>
+ <example id="exam-Component_Reference-richdataGrid-ajaxKeys_example">
+ <title><varname>ajaxKeys</varname> example</title>
+ <programlisting language="XML" role="XML"><xi:include parse="text" href="extras/exam-Component_Reference-richdataGrid-ajaxKeys_example.xml_sample" xmlns:xi="http://www.w3.org/2001/XInclude" /></programlisting>
+ </example>
+ </section>
+
+ <section id="sect-Component_Reference-richdataGrid-Reference_data">
+ <title>Reference data</title>
+ <itemizedlist>
+ <listitem>
+ <para>
+ <parameter>component-type</parameter>: <classname>org.richfaces.DataGrid</classname>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <parameter>component-class</parameter>: <classname>org.richfaces.component.html.HtmlDataGrid</classname>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <parameter>component-family</parameter>: <classname>org.richfaces.DataGrid</classname>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <parameter>renderer-type</parameter>: <classname>org.richfaces.DataGridRenderer</classname>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <parameter>tag-class</parameter>: <classname>org.richfaces.taglib.DataGridTag</classname>
+ </para>
+ </listitem>
+ </itemizedlist>
+ </section>
</section>
- <!-- TODO not in M2 -->
- <!--
+ <!--<rich:dataOrderedList>-->
<section id="sect-Component_Reference-Tables_and_grids-richdataList">
<title><sgmltag><rich:dataList></sgmltag></title>
- <itemizedlist>
- <listitem>
- <para>
- <parameter>component-type</parameter>: <classname>org.richfaces.DataList</classname>
- </para>
- </listitem>
- <listitem>
- <para>
- <parameter>component-class</parameter>: <classname>org.richfaces.component.html.HtmlDataList</classname>
- </para>
- </listitem>
- <listitem>
- <para>
- <parameter>component-family</parameter>: <classname>org.richfaces.DataList</classname>
- </para>
- </listitem>
- <listitem>
- <para>
- <parameter>renderer-type</parameter>: <classname>org.richfaces.DataListRenderer</classname>
- </para>
- </listitem>
- <listitem>
- <para>
- <parameter>tag-class</parameter>: <classname>org.richfaces.taglib.DataListTag</classname>
- </para>
- </listitem>
- </itemizedlist>
<para>
The <sgmltag><rich:dataList></sgmltag> component renders an unordered list of items. The component uses a data model for managing the list items, which can be updated dynamically.
</para>
- <para>
- The <varname>type</varname> attribute refers to the appearance of the bullet points. The values of the attribute correspond to the <varname>type</varname> parameter for the <sgmltag><ul></sgmltag> HTML element:
- </para>
- <variablelist>
- <varlistentry>
- <term><literal>circle</literal></term>
+
+ <section id="sect-Component_Reference-richdataList-Basic_usage">
+ <title>Basic usage</title>
+ <para>
+ The <varname>var</varname> attribute names a variable for iterating through the items in the data model. The items to iterate through are determined with the <varname>value</varname> attribute by using EL (Expression Lanugage).
+ </para>
+ </section>
+
+ <section id="sect-Component_Reference-richdataList-Bullet_point_type">
+ <title>Bullet point type</title>
+ <para>
+ The <varname>type</varname> attribute refers to the appearance of the bullet points. The values of the attribute correspond to the <varname>type</varname> parameter for the <sgmltag><ul></sgmltag> HTML element:
+ </para>
+ <variablelist>
+ <varlistentry>
+ <term><literal>circle</literal></term>
+ <listitem>
+ <para>
+ Displays an unfilled circle as a bullet point.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><literal>disc</literal></term>
+ <listitem>
+ <para>
+ Displays a filled disc as a bullet point.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><literal>square</literal></term>
+ <listitem>
+ <para>
+ Displays a square as a bullet point.
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </section>
+
+ <section id="sect-Component_Reference-richdataList-Customizing_the_list">
+ <title>Customizing the list</title>
+ <para>
+ The <varname>first</varname> attribute specifies which item in the data model to start from, and the <varname>rows</varname> attribute specifies the number of items to list. The <varname>title</varname> attribute is used for a floating tool-tip. <xref linkend="exam-Component_Reference-richdataDefinitionList-richdataDefinitionList_example" /> shows a simple example using the <sgmltag><rich:dataDefinitionList></sgmltag> component.
+ </para>
+ <example id="exam-Component_Reference-richdataList-richdataList_example">
+ <title><sgmltag><rich:dataList></sgmltag> example</title>
+ <programlisting language="XML" role="XML"><xi:include href="extras/exam-Component_Reference-richdataList-richdataList_example.xml_sample" parse="text" xmlns:xi="http://www.w3.org/2001/XInclude" /></programlisting>
+ <blockquote>
+ <figure id="figu-Component_Reference-richdataList_example-richdataList_example">
+ <title><sgmltag><rich:dataList></sgmltag> example</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/figu-Component_Reference-richdataList-richdataList_example.png" format="PNG" />
+ </imageobject>
+ <textobject>
+ <para>
+ A list of cars displayed in a list with bullet points.
+ </para>
+ </textobject>
+ </mediaobject>
+ </figure>
+ </blockquote>
+ </example>
+ </section>
+
+ <section id="sect-Component_Reference-richdataList-Reference_data">
+ <title>Reference data</title>
+ <itemizedlist>
<listitem>
<para>
- Displays an unfilled circle as a bullet point.
+ <parameter>component-type</parameter>: <classname>org.richfaces.DataList</classname>
</para>
</listitem>
- </varlistentry>
- <varlistentry>
- <term><literal>disc</literal></term>
<listitem>
<para>
- Displays a filled disc as a bullet point.
+ <parameter>component-class</parameter>: <classname>org.richfaces.component.html.HtmlDataList</classname>
</para>
</listitem>
- </varlistentry>
- <varlistentry>
- <term><literal>square</literal></term>
<listitem>
<para>
- Displays a square as a bullet point.
+ <parameter>component-family</parameter>: <classname>org.richfaces.DataList</classname>
</para>
</listitem>
- </varlistentry>
- </variablelist>
- <para>
- The <varname>var</varname> attribute names a variable for iterating through the items in the data model. The items to iterate through are determined with the <varname>value</varname> attribute by using EL (Expression Lanugage). The <varname>first</varname> attribute specifies which item in the data model to start from, and the <varname>rows</varname> attribute specifies the number of items to list. The <varname>title</varname> attribute is used for a floating tool-tip. <xref linkend="exam-Component_Reference-richdataDefinitionList-richdataDefinitionList_example" /> shows a simple example using the <sgmltag><rich:dataDefinitionList></sgmltag> component.
- </para>
- <example id="exam-Component_Reference-richdataList-richdataList_example">
- <title><sgmltag><rich:dataList></sgmltag> example</title>
-
-<programlisting language="XML" role="XML"><xi:include href="extras/exam-Component_Reference-richdataList-richdataList_example.xml_sample" parse="text" xmlns:xi="http://www.w3.org/2001/XInclude" />
-</programlisting>
- <blockquote>
- <figure id="figu-Component_Reference-richdataList_example-richdataList_example">
- <title><sgmltag><rich:dataList></sgmltag> example</title>
- <mediaobject>
- <imageobject>
- <imagedata fileref="images/figu-Component_Reference-richdataList-richdataList_example.png" format="PNG" />
- </imageobject>
- <textobject>
- <para>
- A list of cars displayed in a list with bullet points.
- </para>
- </textobject>
- </mediaobject>
- </figure>
- </blockquote>
- </example>
+ <listitem>
+ <para>
+ <parameter>renderer-type</parameter>: <classname>org.richfaces.DataListRenderer</classname>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <parameter>tag-class</parameter>: <classname>org.richfaces.taglib.DataListTag</classname>
+ </para>
+ </listitem>
+ </itemizedlist>
+ </section>
</section>
+ <!--<rich:dataOrderedList>-->
<section id="sect-Component_Reference-Tables_and_grids-richdataOrderedList">
<title><sgmltag><rich:dataOrderedList></sgmltag></title>
- <itemizedlist>
- <listitem>
- <para>
- <parameter>component-type</parameter>: <classname>org.richfaces.DataOrderedList</classname>
- </para>
- </listitem>
- <listitem>
- <para>
- <parameter>component-class</parameter>: <classname>org.richfaces.component.html.HtmlDataOrderedList</classname>
- </para>
- </listitem>
- <listitem>
- <para>
- <parameter>component-family</parameter>: <classname>org.richfaces.DataOrderedList</classname>
- </para>
- </listitem>
- <listitem>
- <para>
- <parameter>renderer-type</parameter>: <classname>org.richfaces.DataOrderedListRenderer</classname>
- </para>
- </listitem>
- <listitem>
- <para>
- <parameter>tag-class</parameter>: <classname>org.richfaces.taglib.DataOrderedListTag</classname>
- </para>
- </listitem>
- </itemizedlist>
<para>
The <sgmltag><rich:dataOrderedList></sgmltag> component renders an ordered list of items from a data model. Specific rows can be updated dynamically without updating the entire list.
</para>
- <para>
- The <varname>type</varname> attribute defines the appearance of the numerating list markers for the list. The possible values for the <varname>type</varname> attribute are as follows:
- </para>
- <variablelist>
- <varlistentry>
- <term><literal>A</literal></term>
+
+ <section id="sect-Component_Reference-richdataOrderedList-Basic_usage">
+ <title>Basic usage</title>
+ <para>
+ The <varname>var</varname> attribute names a variable for iterating through the items in the data model. The items to iterate through are determined with the <varname>value</varname> attribute by using EL (Expression Lanugage).
+ </para>
+ </section>
+
+ <section id="sect-Component_Reference-richdataOrderedList-Numeration_type">
+ <title>Numeration type</title>
+ <para>
+ The <varname>type</varname> attribute defines the appearance of the numerating list markers for the list. The possible values for the <varname>type</varname> attribute are as follows:
+ </para>
+ <variablelist>
+ <varlistentry>
+ <term><literal>A</literal></term>
+ <listitem>
+ <para>
+ Numerates the list items as <wordasword>A</wordasword>, <wordasword>B</wordasword>, <wordasword>C</wordasword>, etc.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><literal>a</literal></term>
+ <listitem>
+ <para>
+ Numerates the list items as <wordasword>a</wordasword>, <wordasword>b</wordasword>, <wordasword>c</wordasword>, etc.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><literal>I</literal></term>
+ <listitem>
+ <para>
+ Numerates the list items as <wordasword>I</wordasword>, <wordasword>II</wordasword>, <wordasword>III</wordasword>, etc.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><literal>i</literal></term>
+ <listitem>
+ <para>
+ Numerates the list items as <wordasword>i</wordasword>, <wordasword>ii</wordasword>, <wordasword>iii</wordasword>, etc.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><literal>1</literal></term>
+ <listitem>
+ <para>
+ Numerates the list items as <wordasword>1</wordasword>, <wordasword>2</wordasword>, <wordasword>3</wordasword>, etc.
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </section>
+
+ <section id="sect-Component_Reference-richdataOrderedList-Customizing_the_list">
+ <title>Customizing the list</title>
+ <para>
+ The <varname>first</varname> attribute specifies which item in the data model to start from, and the <varname>rows</varname> attribute specifies the number of items to list. The <varname>title</varname> attribute defines a pop-up title. To only update a sub-set of the rows in the list, use the <varname>ajaxKeys</varname> attribute, which points to an object that contains the specified rows.
+ </para>
+ <example id="exam-Component_Reference-richdataOrderedList-richdataOrderedList_example">
+ <title><sgmltag><rich:dataOrderedList></sgmltag> example</title>
+ <programlisting language="XML" role="XML"><xi:include href="extras/exam-Component_Reference-Tables_and_grids-richdataOrderedList_example.xml_sample" parse="text" xmlns:xi="http://www.w3.org/2001/XInclude" /></programlisting>
+ <blockquote>
+ <figure id="figu-Component_Reference-richdataOrderedList_example-richdataOrderedList_example">
+ <title><sgmltag><rich:dataOrderedList></sgmltag> example</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/figu-Component_Reference-Tables_and_grids-richdataOrderedList_example.png" format="PNG" />
+ </imageobject>
+ <textobject>
+ <para>
+ A list of cars displayed in a numbered list.
+ </para>
+ </textobject>
+ </mediaobject>
+ </figure>
+ </blockquote>
+ </example>
+ </section>
+
+ <section id="sect-Component_Reference-richdataOrderedList-Reference_data">
+ <title>Reference data</title>
+ <itemizedlist>
<listitem>
<para>
- Numerates the list items as <wordasword>A</wordasword>, <wordasword>B</wordasword>, <wordasword>C</wordasword>, etc.
+ <parameter>component-type</parameter>: <classname>org.richfaces.DataOrderedList</classname>
</para>
</listitem>
- </varlistentry>
- <varlistentry>
- <term><literal>a</literal></term>
<listitem>
<para>
- Numerates the list items as <wordasword>a</wordasword>, <wordasword>b</wordasword>, <wordasword>c</wordasword>, etc.
+ <parameter>component-class</parameter>: <classname>org.richfaces.component.html.HtmlDataOrderedList</classname>
</para>
</listitem>
- </varlistentry>
- <varlistentry>
- <term><literal>I</literal></term>
<listitem>
<para>
- Numerates the list items as <wordasword>I</wordasword>, <wordasword>II</wordasword>, <wordasword>III</wordasword>, etc.
+ <parameter>component-family</parameter>: <classname>org.richfaces.DataOrderedList</classname>
</para>
</listitem>
- </varlistentry>
- <varlistentry>
- <term><literal>i</literal></term>
<listitem>
<para>
- Numerates the list items as <wordasword>i</wordasword>, <wordasword>ii</wordasword>, <wordasword>iii</wordasword>, etc.
+ <parameter>renderer-type</parameter>: <classname>org.richfaces.DataOrderedListRenderer</classname>
</para>
</listitem>
- </varlistentry>
- <varlistentry>
- <term><literal>1</literal></term>
<listitem>
<para>
- Numerates the list items as <wordasword>1</wordasword>, <wordasword>2</wordasword>, <wordasword>3</wordasword>, etc.
+ <parameter>tag-class</parameter>: <classname>org.richfaces.taglib.DataOrderedListTag</classname>
</para>
</listitem>
- </varlistentry>
- </variablelist>
- <para>
- The <varname>first</varname> attribute specifies which item in the data model to start from, and the <varname>rows</varname> attribute specifies the number of items to list. The <varname>title</varname> attribute defines a pop-up title. To only update a sub-set of the rows in the list, use the <varname>ajaxKeys</varname> attribute, which points to an object that contains the specified rows.
- </para>
- <example id="exam-Component_Reference-richdataOrderedList-richdataOrderedList_example">
- <title><sgmltag><rich:dataOrderedList></sgmltag> example</title>
-
-<programlisting language="XML" role="XML"><xi:include href="extras/exam-Component_Reference-Tables_and_grids-richdataOrderedList_example.xml_sample" parse="text" xmlns:xi="http://www.w3.org/2001/XInclude" />
-</programlisting>
- <blockquote>
- <figure id="figu-Component_Reference-richdataOrderedList_example-richdataOrderedList_example">
- <title><sgmltag><rich:dataOrderedList></sgmltag> example</title>
- <mediaobject>
- <imageobject>
- <imagedata fileref="images/figu-Component_Reference-Tables_and_grids-richdataOrderedList_example.png" format="PNG" />
- </imageobject>
- <textobject>
- <para>
- A list of cars displayed in a numbered list.
- </para>
- </textobject>
- </mediaobject>
- </figure>
- </blockquote>
- </example>
+ </itemizedlist>
+ </section>
</section>
- -->
<!-- TODO not in M2 -->
<!--
@@ -826,35 +812,9 @@
</section>
-->
+ <!--<rich:dataTable>-->
<section id="sect-Component_Reference-Tables_and_grids-richdataTable">
<title><sgmltag><rich:dataTable></sgmltag></title>
- <itemizedlist>
- <listitem>
- <para>
- <parameter>component-type</parameter>: <classname>org.richfaces.DataTable</classname>
- </para>
- </listitem>
- <listitem>
- <para>
- <parameter>component-class</parameter>: <classname>org.richfaces.component.html.HtmlDataTable</classname>
- </para>
- </listitem>
- <listitem>
- <para>
- <parameter>component-family</parameter>: <classname>org.richfaces.DataTable</classname>
- </para>
- </listitem>
- <listitem>
- <para>
- <parameter>renderer-type</parameter>: <classname>org.richfaces.DataTableRenderer</classname>
- </para>
- </listitem>
- <listitem>
- <para>
- <parameter>tag-class</parameter>: <classname>org.richfaces.taglib.DataTableTag</classname>
- </para>
- </listitem>
- </itemizedlist>
<para>
The <sgmltag><rich:dataTable></sgmltag> component is used to render a table, including the table's header and footer. It works in conjunction with the <sgmltag><rich:column></sgmltag>, <sgmltag><rich:columnGroup></sgmltag>, and <sgmltag><rich:columns></sgmltag> components to list the contents of a data model.
</para>
@@ -864,67 +824,87 @@
The <sgmltag><rich:dataTable></sgmltag> component does not include extended table features, such as data scrolling, row selection, and column reordering. These features are available as part of the <sgmltag><rich:extendedDataTable></sgmltag> component; refer to <xref linkend="sect-Component_Reference-Tables_and_grids-richextendedDataTable" /> for further details.
</para>
</note>
- <para>
- The <varname>value</varname> attribute points to the data model, and the <varname>var</varname> attribute specifies a variable to use when iterating through the data model. The <varname>first</varname> attribute specifies which item in the data model to start from, and the <varname>rows</varname> attribute specifies the number of items to list. The <literal>header</literal>, <literal>footer</literal>, and <literal>caption</literal> facets can be used to display text, and to customize the appearance of the table through skinning. demonstrates a simple table implementation.
- </para>
- <example id="exam-Component_Reference-richdataTable-richdataTable_example">
- <title><sgmltag><rich:dataTable></sgmltag> example</title>
+
+ <section id="sect-Component_Reference-richdataTable-Basic_usage">
+ <title>Basic usage</title>
+ <para>
+ The <varname>value</varname> attribute points to the data model, and the <varname>var</varname> attribute specifies a variable to use when iterating through the data model.
+ </para>
+ </section>
+
+ <section id="sect-Component_Reference-richdataTable-Customizing_the_table">
+ <title>Customizing the table</title>
+ <para>
+ The <varname>first</varname> attribute specifies which item in the data model to start from, and the <varname>rows</varname> attribute specifies the number of items to list. The <literal>header</literal>, <literal>footer</literal>, and <literal>caption</literal> facets can be used to display text, and to customize the appearance of the table through skinning. demonstrates a simple table implementation.
+ </para>
+ <example id="exam-Component_Reference-richdataTable-richdataTable_example">
+ <title><sgmltag><rich:dataTable></sgmltag> example</title>
-<programlisting language="XML" role="XML"><xi:include href="extras/exam-Component_Reference-Tables_and_grids-richdataTable_example.xml_sample" parse="text" xmlns:xi="http://www.w3.org/2001/XInclude" />
-</programlisting>
- <blockquote>
- <figure id="figu-Component_Reference-richdataTable_example-richdataTable_example">
- <title><sgmltag><rich:dataTable></sgmltag> example</title>
- <mediaobject>
- <imageobject>
- <imagedata fileref="images/figu-Component_Reference-richdataTable_example.png" format="PNG" />
- </imageobject>
- <textobject>
- <para>
- A data table made using the <sgmltag><rich:dataTable></sgmltag> component.
- </para>
- </textobject>
- </mediaobject>
- </figure>
- </blockquote>
- </example>
- <para>
- The <sgmltag><rich:dataTable></sgmltag> component is based on the <sgmltag><a4j:repeat></sgmltag> component, and as such it can be partially updated using Ajax. The <varname>ajaxKeys</varname> attribute defines the rows to be updated during an Ajax request.
- </para>
- <para>
- For details on filtering and sorting data tables, refer to <xref linkend="sect-Component_Reference-Tables_and_grids-Table_filtering" /> and <xref linkend="sect-Component_Reference-Tables_and_grids-Table_sorting" />.
- </para>
+ <programlisting language="XML" role="XML"><xi:include href="extras/exam-Component_Reference-Tables_and_grids-richdataTable_example.xml_sample" parse="text" xmlns:xi="http://www.w3.org/2001/XInclude" />
+ </programlisting>
+ <blockquote>
+ <figure id="figu-Component_Reference-richdataTable_example-richdataTable_example">
+ <title><sgmltag><rich:dataTable></sgmltag> example</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/figu-Component_Reference-richdataTable_example.png" format="PNG" />
+ </imageobject>
+ <textobject>
+ <para>
+ A data table made using the <sgmltag><rich:dataTable></sgmltag> component.
+ </para>
+ </textobject>
+ </mediaobject>
+ </figure>
+ </blockquote>
+ </example>
+ <para>
+ For details on filtering and sorting data tables, refer to <xref linkend="sect-Component_Reference-Tables_and_grids-Table_filtering" /> and <xref linkend="sect-Component_Reference-Tables_and_grids-Table_sorting" />.
+ </para>
+ </section>
+
+ <section id="sect-Component_Reference-richdataTable-Partial_updates">
+ <title>Partial updates</title>
+ <para>
+ The <sgmltag><rich:dataTable></sgmltag> component is based on the <sgmltag><a4j:repeat></sgmltag> component, and as such it can be partially updated using Ajax. The <varname>ajaxKeys</varname> attribute defines the rows to be updated during an Ajax request.
+ </para>
+ </section>
+
+ <section id="sect-Component_Reference-richdataTable-Reference_data">
+ <title>Reference data</title>
+ <itemizedlist>
+ <listitem>
+ <para>
+ <parameter>component-type</parameter>: <classname>org.richfaces.DataTable</classname>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <parameter>component-class</parameter>: <classname>org.richfaces.component.html.HtmlDataTable</classname>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <parameter>component-family</parameter>: <classname>org.richfaces.DataTable</classname>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <parameter>renderer-type</parameter>: <classname>org.richfaces.DataTableRenderer</classname>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <parameter>tag-class</parameter>: <classname>org.richfaces.taglib.DataTableTag</classname>
+ </para>
+ </listitem>
+ </itemizedlist>
+ </section>
</section>
+ <!--<rich:extendedDataTable>-->
<section id="sect-Component_Reference-Tables_and_grids-richextendedDataTable">
<title><sgmltag><rich:extendedDataTable></sgmltag></title>
- <itemizedlist>
- <listitem>
- <para>
- <parameter>component-type</parameter>: <classname>org.richfaces.ExtendedDataTable</classname>
- </para>
- </listitem>
- <listitem>
- <para>
- <parameter>component-class</parameter>: <classname>org.richfaces.component.html.HtmlExtendedDataTable</classname>
- </para>
- </listitem>
- <listitem>
- <para>
- <parameter>component-family</parameter>: <classname>org.richfaces.ExtendedDataTable</classname>
- </para>
- </listitem>
- <listitem>
- <para>
- <parameter>renderer-type</parameter>: <classname>org.richfaces.ExtendedDataTableRenderer</classname>
- </para>
- </listitem>
- <listitem>
- <para>
- <parameter>tag-class</parameter>: <classname>org.richfaces.taglib.ExtendedDataTableTag</classname>
- </para>
- </listitem>
- </itemizedlist>
<para>
The <sgmltag><rich:extendedDataTable></sgmltag> component builds on the functionality of the <sgmltag><rich:dataTable></sgmltag> component, adding features such as data scrolling, row and column selection, and rearranging of columns.
</para>
@@ -964,125 +944,194 @@
</para>
</listitem>
</itemizedlist>
- <para>
- Basic use of the <sgmltag><rich:extendedDataTable></sgmltag> component requires the <varname>value</varname> and <varname>var</varname> attributes, the same as with the <sgmltag><rich:dataTable></sgmltag> component. Refer to <xref linkend="sect-Component_Reference-Tables_and_grids-richdataTable" /> for details.
- </para>
- <para>
- The <varname>height</varname> attribute is mandatory, and defines the height of the table on the page. This is set to <literal>500px</literal> by default. The width of the table can be set by using the <varname>width</varname> attribute. As with the <sgmltag><rich:dataTable></sgmltag> component, the look of the <sgmltag><rich:extendedDataTable></sgmltag> component can be customized and skinned using the <literal>header</literal>, <literal>footer</literal>, and <literal>caption</literal> facets.
- </para>
- <example id="exam-Component_Reference-richextendedDataTable-richextendedDataTable_example">
- <title><sgmltag><rich:extendedDataTable></sgmltag> example</title>
+ <section id="sect-Component_Reference-richextendedDataTable-Basic_usage">
+ <title>Basic usage</title>
+ <para>
+ Basic use of the <sgmltag><rich:extendedDataTable></sgmltag> component requires the <varname>value</varname> and <varname>var</varname> attributes, the same as with the <sgmltag><rich:dataTable></sgmltag> component. Refer to <xref linkend="sect-Component_Reference-Tables_and_grids-richdataTable" /> for details.
+ </para>
+ </section>
+
+ <section id="sect-Component_Reference-richextendedDataTable-Table_appearance">
+ <title>Table appearance</title>
+ <para>
+ The <varname>height</varname> attribute defines the height of the table on the page. This is set to <literal>500px</literal> by default. The width of the table can be set by using the <varname>width</varname> attribute. As with the <sgmltag><rich:dataTable></sgmltag> component, the look of the <sgmltag><rich:extendedDataTable></sgmltag> component can be customized and skinned using the <literal>header</literal>, <literal>footer</literal>, and <literal>caption</literal> facets.
+ </para>
+ </section>
+
+ <section id="sect-Component_Reference-richextendedDataTable-Extended_features">
+ <title>Extended features</title>
+ <example id="exam-Component_Reference-richextendedDataTable-richextendedDataTable_example">
+ <title><sgmltag><rich:extendedDataTable></sgmltag> example</title>
+ <programlisting language="XML" role="XML"><xi:include href="extras/exam-Component_Reference-Tables_and_grids-richextendedDataTable_example.xml_sample" parse="text" xmlns:xi="http://www.w3.org/2001/XInclude" /></programlisting>
+ <blockquote>
+ <figure id="figu-Component_Reference-richextendedDataTable_example-richextendedDataTable_example">
+ <title><sgmltag><rich:extendedDataTable></sgmltag> example</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/figu-Component_Reference-Tables_and_grids-richextendedDataTable_example.png" format="PNG" width="444" />
+ </imageobject>
+ <textobject>
+ <para>
+ A data table made using the <sgmltag><rich:extendedDataTable></sgmltag> component. It features scrolling data, column sorting, and a column filter.
+ </para>
+ </textobject>
+ </mediaobject>
+ </figure>
+ </blockquote>
+ </example>
+ <para>
+ <xref linkend="exam-Component_Reference-richextendedDataTable-richextendedDataTable_example" /> shows an example extended data table. The implementation features a scrolling data table, selection of one or more rows, sorting by columns, grouping by column, and a filter on the <guilabel>Name</guilabel> column.
+ </para>
-<programlisting language="XML" role="XML"><xi:include href="extras/exam-Component_Reference-Tables_and_grids-richextendedDataTable_example.xml_sample" parse="text" xmlns:xi="http://www.w3.org/2001/XInclude" />
-</programlisting>
- <blockquote>
- <figure id="figu-Component_Reference-richextendedDataTable_example-richextendedDataTable_example">
- <title><sgmltag><rich:extendedDataTable></sgmltag> example</title>
+ <section id="sect-Component_Reference-richextendedDataTable-Row_selection">
+ <title>Row selection</title>
+ <para>
+ Row selection is determined by the <varname>selectionMode</varname> attribute. Setting the attribute to <literal>none</literal> allows for no row selection capability. Setting the <varname>selectionMode</varname> attribute to <literal>single</literal> allows the user to select a single row at a time using the mouse. With the <varname>selectionMode</varname> attribute set to <literal>multi</literal>, the user can select multiple rows by holding down the <keycap function="shift">Shift</keycap> or <keycap function="control">Ctrl</keycap> keys while clicking. The <varname>selection</varname> attribute points to the object that tracks which rows are selected. <xref linkend="figu-Component_Reference-richextendedDataTable-Selecting_multiple_rows" /> shows the table from the example with multiple rows selected.
+ </para>
+ <figure id="figu-Component_Reference-richextendedDataTable-Selecting_multiple_rows">
+ <title>Selecting multiple rows</title>
<mediaobject>
<imageobject>
- <imagedata fileref="images/figu-Component_Reference-Tables_and_grids-richextendedDataTable_example.png" format="PNG" width="444" />
+ <imagedata fileref="images/figu-Component_Reference-Tables_and_grids-Selecting_multiple_rows.png" format="PNG" width="444" />
</imageobject>
<textobject>
<para>
- A data table made using the <sgmltag><rich:extendedDataTable></sgmltag> component. It features scrolling data, column sorting, and a column filter.
+ The example table with rows numbered 1, 2, 3, and 5 selected.
</para>
</textobject>
</mediaobject>
</figure>
- </blockquote>
- </example>
- <para>
- <xref linkend="exam-Component_Reference-richextendedDataTable-richextendedDataTable_example" /> shows an example extended data table. The implementation features a scrolling data table, selection of one or more rows, sorting by columns, grouping by column, and a filter on the <guilabel>Name</guilabel> column.
- </para>
- <para>
- Row selection is determined by the <varname>selectionMode</varname> attribute. Setting the attribute to <literal>none</literal> allows for no row selection capability. Setting the <varname>selectionMode</varname> attribute to <literal>single</literal> allows the user to select a single row at a time using the mouse. With the <varname>selectionMode</varname> attribute set to <literal>multi</literal>, the user can select multiple rows by holding down the <keycap function="shift">Shift</keycap> or <keycap function="control">Ctrl</keycap> keys while clicking. The <varname>selection</varname> attribute points to the object that tracks which rows are selected. <xref linkend="figu-Component_Reference-richextendedDataTable-Selecting_multiple_rows" /> shows the table from the example with multiple rows selected.
- </para>
- <figure id="figu-Component_Reference-richextendedDataTable-Selecting_multiple_rows">
- <title>Selecting multiple rows</title>
- <mediaobject>
- <imageobject>
- <imagedata fileref="images/figu-Component_Reference-Tables_and_grids-Selecting_multiple_rows.png" format="PNG" width="444" />
- </imageobject>
- <textobject>
+ </section>
+
+ <section id="sect-Component_Reference-richextendedDataTable-Filtering">
+ <title>Filtering</title>
+ <para>
+ The example uses the <literal>filter</literal> facet of the <sgmltag><rich:column></sgmltag> component to display the text field. A user can type their criteria into the text field to customize the filter of the column below. For full details on filtering tables, refer to <xref linkend="sect-Component_Reference-Tables_and_grids-Table_filtering" />.
+ </para>
+ </section>
+
+ <section id="sect-Component_Reference-richextendedDataTable-Sorting">
+ <title>Sorting</title>
+ <para>
+ When hovering the mouse over a column header, a menu button appears to the right-hand side, as shown in <xref linkend="figu-Component_Reference-richextendedDataTable-Column_menu" />. This menu allows the user to sort the contents of the column, group the table by the column, or hide and show columns.
+ </para>
+ <figure id="figu-Component_Reference-richextendedDataTable-Column_menu">
+ <title>Column menu</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/figu-Component_Reference-Tables_and_grids-Column_menu.png" format="PNG" width="444" />
+ </imageobject>
+ <textobject>
+ <para>
+ The menu for sorting, grouping, and hiding or showing columns.
+ </para>
+ </textobject>
+ </mediaobject>
+ </figure>
+ <para>
+ Each column can allow sorting by setting the <sgmltag><rich:column></sgmltag> component's <varname>sortable</varname> attribute to <literal>true</literal>. The value of the data model to sort by is specified with the <varname>sortBy</varname> attribute. In addition to using the menu for sorting, columns can be quickly sorted either ascending or descending by clicking on the directional icon next to the column title. The directional icons are defined in each <sgmltag><rich:column></sgmltag> component with the <varname>sortIconAscending</varname> and <varname>sortIconDescending</varname> attributes, for ascending and descending icons respectively. For full details on sorting tables, refer to <xref linkend="sect-Component_Reference-Tables_and_grids-Table_sorting" />.
+ </para>
+ </section>
+
+ <section id="sect-Component_Reference-richextendedDataTable-Grouping">
+ <title>Grouping</title>
+ <para>
+ Grouping the table's entries by a column will organize the table into collapsible sections, as shown in <xref linkend="figu-Component_Reference-richextendedDataTable-Grouping_table_entries_by_column" />.
+ </para>
+ <figure id="figu-Component_Reference-richextendedDataTable-Grouping_table_entries_by_column">
+ <title>Grouping table entries by column</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/figu-Component_Reference-Tables_and_grids-Grouping_table_entries_by_column.png" format="PNG" width="444" />
+ </imageobject>
+ <textobject>
+ <para>
+ A table with entries grouped by the <guilabel>Group</guilabel> column.
+ </para>
+ </textobject>
+ </mediaobject>
+ </figure>
+ </section>
+
+ <section id="sect-Component_Reference-richextendedDataTable-Hiding_columns">
+ <title>Hiding columns</title>
+ <para>
+ The checkboxes in the column menu under the <guisubmenu>Columns</guisubmenu> sub-menu will hide or show the respective columns, as shown in <xref linkend="figu-Component_Reference-richextendedDataTable-Hiding_columns" />.
+ </para>
+ <figure id="figu-Component_Reference-richextendedDataTable-Hiding_columns">
+ <title>Hiding columns</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/figu-Component_Reference-Tables_and_grids-Hiding_columns.png" format="PNG" width="444" />
+ </imageobject>
+ <textobject>
+ <para>
+ The <guilabel>Date</guilabel> and <guilabel>Group</guilabel> columns are hidden from the table.
+ </para>
+ </textobject>
+ </mediaobject>
+ </figure>
+ </section>
+
+ <section id="sect-Component_Reference-richextendedDataTable-Rearranging_columns">
+ <title>Rearranging columns</title>
+ <para>
+ Columns in a <sgmltag><rich:extendedDataTable></sgmltag> component can be rearranged by the user by dragging each column to a different position. The <varname>label</varname> attribute for the <sgmltag><rich:column></sgmltag> component is displayed during dragging, as shown in
+ </para>
+ <figure id="figu-Component_Reference-richextendedDataTable-Dragging_columns">
+ <title>Dragging columns</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/figu-Component_Reference-Tables_and_grids-Dragging_columns.png" format="PNG" width="444" />
+ </imageobject>
+ <textobject>
+ <para>
+ Dragging the <guilabel>Name</guilabel> column rearranges the order of the columns.
+ </para>
+ </textobject>
+ </mediaobject>
+ </figure>
+ </section>
+
+ <section id="sect-Component_Reference-richextendedDataTable-Saving_the_state">
+ <title>Saving the state</title>
+ <para>
+ Once the contents of the table have been rearranged and customized by the user, the <varname>tableState</varname> attribute can be used to preserve the customization so it can be restored later. The <varname>tableState</varname> attribute points to a backing-bean property which can in turn be saved to a database separate from standard JSF state-saving mechanisms.
+ </para>
+ </section>
+
+ </section>
+
+ <section id="sect-Component_Reference-richextendedDataTable-Reference_data">
+ <title>Reference data</title>
+ <itemizedlist>
+ <listitem>
<para>
- The example table with rows numbered 1, 2, 3, and 5 selected.
+ <parameter>component-type</parameter>: <classname>org.richfaces.ExtendedDataTable</classname>
</para>
- </textobject>
- </mediaobject>
- </figure>
- <para>
- The example uses the <literal>filter</literal> facet of the <sgmltag><rich:column></sgmltag> component to display the text field. A user can type their criteria into the text field to customize the filter of the column below. For full details on filtering tables, refer to <xref linkend="sect-Component_Reference-Tables_and_grids-Table_filtering" />.
- </para>
- <para>
- When hovering the mouse over a column header, a menu button appears to the right-hand side, as shown in <xref linkend="figu-Component_Reference-richextendedDataTable-Column_menu" />. This menu allows the user to sort the contents of the column, group the table by the column, or hide and show columns.
- </para>
- <figure id="figu-Component_Reference-richextendedDataTable-Column_menu">
- <title>Column menu</title>
- <mediaobject>
- <imageobject>
- <imagedata fileref="images/figu-Component_Reference-Tables_and_grids-Column_menu.png" format="PNG" width="444" />
- </imageobject>
- <textobject>
+ </listitem>
+ <listitem>
<para>
- The menu for sorting, grouping, and hiding or showing columns.
+ <parameter>component-class</parameter>: <classname>org.richfaces.component.html.HtmlExtendedDataTable</classname>
</para>
- </textobject>
- </mediaobject>
- </figure>
- <para>
- Each column can allow sorting by setting the <sgmltag><rich:column></sgmltag> component's <varname>sortable</varname> attribute to <literal>true</literal>. The value of the data model to sort by is specified with the <varname>sortBy</varname> attribute. In addition to using the menu for sorting, columns can be quickly sorted either ascending or descending by clicking on the directional icon next to the column title. The directional icons are defined in each <sgmltag><rich:column></sgmltag> component with the <varname>sortIconAscending</varname> and <varname>sortIconDescending</varname> attributes, for ascending and descending icons respectively. For full details on sorting tables, refer to <xref linkend="sect-Component_Reference-Tables_and_grids-Table_sorting" />.
- </para>
- <para>
- Grouping the table's entries by a column will organize the table into collapsible sections, as shown in <xref linkend="figu-Component_Reference-richextendedDataTable-Grouping_table_entries_by_column" />.
- </para>
- <figure id="figu-Component_Reference-richextendedDataTable-Grouping_table_entries_by_column">
- <title>Grouping table entries by column</title>
- <mediaobject>
- <imageobject>
- <imagedata fileref="images/figu-Component_Reference-Tables_and_grids-Grouping_table_entries_by_column.png" format="PNG" width="444" />
- </imageobject>
- <textobject>
+ </listitem>
+ <listitem>
<para>
- A table with entries grouped by the <guilabel>Group</guilabel> column.
+ <parameter>component-family</parameter>: <classname>org.richfaces.ExtendedDataTable</classname>
</para>
- </textobject>
- </mediaobject>
- </figure>
- <para>
- The checkboxes in the column menu under the <guisubmenu>Columns</guisubmenu> sub-menu will hide or show the respective columns, as shown in <xref linkend="figu-Component_Reference-richextendedDataTable-Hiding_columns" />.
- </para>
- <figure id="figu-Component_Reference-richextendedDataTable-Hiding_columns">
- <title>Hiding columns</title>
- <mediaobject>
- <imageobject>
- <imagedata fileref="images/figu-Component_Reference-Tables_and_grids-Hiding_columns.png" format="PNG" width="444" />
- </imageobject>
- <textobject>
+ </listitem>
+ <listitem>
<para>
- The <guilabel>Date</guilabel> and <guilabel>Group</guilabel> columns are hidden from the table.
+ <parameter>renderer-type</parameter>: <classname>org.richfaces.ExtendedDataTableRenderer</classname>
</para>
- </textobject>
- </mediaobject>
- </figure>
- <para>
- Columns in a <sgmltag><rich:extendedDataTable></sgmltag> component can be rearranged by the user by dragging each column to a different position. The <varname>label</varname> attribute for the <sgmltag><rich:column></sgmltag> component is displayed during dragging, as shown in
- </para>
- <figure id="figu-Component_Reference-richextendedDataTable-Dragging_columns">
- <title>Dragging columns</title>
- <mediaobject>
- <imageobject>
- <imagedata fileref="images/figu-Component_Reference-Tables_and_grids-Dragging_columns.png" format="PNG" width="444" />
- </imageobject>
- <textobject>
+ </listitem>
+ <listitem>
<para>
- Dragging the <guilabel>Name</guilabel> column rearranges the order of the columns.
+ <parameter>tag-class</parameter>: <classname>org.richfaces.taglib.ExtendedDataTableTag</classname>
</para>
- </textobject>
- </mediaobject>
- </figure>
- <para>
- Once the contents of the table have been rearranged and customized by the user, the <varname>tableState</varname> attribute can be used to preserve the customization so it can be restored later. The <varname>tableState</varname> attribute points to a backing-bean property which can in turn be saved to a database separate from standard JSF state-saving mechanisms.
- </para>
+ </listitem>
+ </itemizedlist>
+ </section>
</section>
<!-- TODO
Added: branches/development/docs/Component_Reference/src/main/docbook/en-US/extras/exam-Component_Reference-richcolumn-Basic_column_example.xml_sample
===================================================================
--- branches/development/docs/Component_Reference/src/main/docbook/en-US/extras/exam-Component_Reference-richcolumn-Basic_column_example.xml_sample (rev 0)
+++ branches/development/docs/Component_Reference/src/main/docbook/en-US/extras/exam-Component_Reference-richcolumn-Basic_column_example.xml_sample 2010-08-16 06:25:19 UTC (rev 18648)
@@ -0,0 +1,18 @@
+<rich:dataTable value="#{capitalsBean.capitals}" var="cap" rows="5">
+ <rich:column>
+ <f:facet name="header">State Flag</f:facet>
+ <h:graphicImage value="#{cap.stateFlag}"/>
+ </rich:column>
+ <rich:column>
+ <f:facet name="header">State Name</f:facet>
+ <h:outputText value="#{cap.state}"/>
+ </rich:column>
+ <rich:column >
+ <f:facet name="header">State Capital</f:facet>
+ <h:outputText value="#{cap.name}"/>
+ </rich:column>
+ <rich:column>
+ <f:facet name="header">Time Zone</f:facet>
+ <h:outputText value="#{cap.timeZone}"/>
+ </rich:column>
+</rich:dataTable>
Added: branches/development/docs/Component_Reference/src/main/docbook/en-US/extras/exam-Component_Reference-richcolumn-Column_spanning_example.xml_sample
===================================================================
--- branches/development/docs/Component_Reference/src/main/docbook/en-US/extras/exam-Component_Reference-richcolumn-Column_spanning_example.xml_sample (rev 0)
+++ branches/development/docs/Component_Reference/src/main/docbook/en-US/extras/exam-Component_Reference-richcolumn-Column_spanning_example.xml_sample 2010-08-16 06:25:19 UTC (rev 18648)
@@ -0,0 +1,14 @@
+<rich:dataTable value="#{capitalsBean.capitals}" var="cap" rows="5">
+ <rich:column colspan="3">
+ <h:graphicImage value="#{cap.stateFlag}"/>
+ </rich:column>
+ <rich:column breakBefore="true">
+ <h:outputText value="#{cap.state}"/>
+ </rich:column>
+ <rich:column >
+ <h:outputText value="#{cap.name}"/>
+ </rich:column>
+ <rich:column>
+ <h:outputText value="#{cap.timeZone}"/>
+ </rich:column>
+</rich:dataTable>
Added: branches/development/docs/Component_Reference/src/main/docbook/en-US/extras/exam-Component_Reference-richcolumn-Row_spanning_example.xml_sample
===================================================================
--- branches/development/docs/Component_Reference/src/main/docbook/en-US/extras/exam-Component_Reference-richcolumn-Row_spanning_example.xml_sample (rev 0)
+++ branches/development/docs/Component_Reference/src/main/docbook/en-US/extras/exam-Component_Reference-richcolumn-Row_spanning_example.xml_sample 2010-08-16 06:25:19 UTC (rev 18648)
@@ -0,0 +1,16 @@
+<rich:dataTable value="#{capitalsBean.capitals}" var="cap" rows="5">
+ <rich:column rowspan="3">
+ <f:facet name="header">State Flag</f:facet>
+ <h:graphicImage value="#{cap.stateFlag}"/>
+ </rich:column>
+ <rich:column>
+ <f:facet name="header">State Info</f:facet>
+ <h:outputText value="#{cap.state}"/>
+ </rich:column>
+ <rich:column breakBefore="true">
+ <h:outputText value="#{cap.name}"/>
+ </rich:column>
+ <rich:column breakBefore="true">
+ <h:outputText value="#{cap.timeZone}"/>
+ </rich:column>
+</rich:dataTable>
Added: branches/development/docs/Component_Reference/src/main/docbook/en-US/extras/exam-Component_Reference-richcolumnGroup-Complex_headers_using_column_groups.xml_sample
===================================================================
--- branches/development/docs/Component_Reference/src/main/docbook/en-US/extras/exam-Component_Reference-richcolumnGroup-Complex_headers_using_column_groups.xml_sample (rev 0)
+++ branches/development/docs/Component_Reference/src/main/docbook/en-US/extras/exam-Component_Reference-richcolumnGroup-Complex_headers_using_column_groups.xml_sample 2010-08-16 06:25:19 UTC (rev 18648)
@@ -0,0 +1,33 @@
+<rich:dataTable value="#{capitalsBean.capitals}" var="cap" rows="5" id="sublist">
+ <f:facet name="header">
+ <rich:columnGroup>
+ <rich:column rowspan="2">
+ <h:outputText value="State Flag"/>
+ </rich:column>
+ <rich:column colspan="3">
+ <h:outputText value="State Info"/>
+ </rich:column>
+ <rich:column breakBefore="true">
+ <h:outputText value="State Name"/>
+ </rich:column>
+ <rich:column>
+ <h:outputText value="State Capital"/>
+ </rich:column>
+ <rich:column>
+ <h:outputText value="Time Zone"/>
+ </rich:column>
+ </rich:columnGroup>
+ </f:facet>
+ <rich:column>
+ <h:graphicImage value="#{cap.stateFlag}"/>
+ </rich:column>
+ <rich:column>
+ <h:outputText value="#{cap.state}"/>
+ </rich:column>
+ <rich:column>
+ <h:outputText value="#{cap.name}"/>
+ </rich:column>
+ <rich:column>
+ <h:outputText value="#{cap.timeZone}"/>
+ </rich:column>
+</rich:dataTable>
Added: branches/development/docs/Component_Reference/src/main/docbook/en-US/extras/exam-Component_Reference-richcolumns-Basic_columns_example.xml_sample
===================================================================
--- branches/development/docs/Component_Reference/src/main/docbook/en-US/extras/exam-Component_Reference-richcolumns-Basic_columns_example.xml_sample (rev 0)
+++ branches/development/docs/Component_Reference/src/main/docbook/en-US/extras/exam-Component_Reference-richcolumns-Basic_columns_example.xml_sample 2010-08-16 06:25:19 UTC (rev 18648)
@@ -0,0 +1,10 @@
+<rich:dataTable value="#{dataTableScrollerBean.model}" var="model" width="750">
+ <rich:columns value="#{dataTableScrollerBean.columns}" var="columns" index="ind" id="column#{ind}">
+ <f:facet name="header">
+ <h:outputText value="#{columns.header}" />
+ </f:facet>
+ <h:outputText value="#{model[ind].model} " />
+ <h:outputText value="#{model[ind].mileage} miles " />
+ <h:outputText value="#{model[ind].price}$" />
+ </rich:columns>
+</rich:dataTable>
Added: branches/development/docs/Component_Reference/src/main/docbook/en-US/extras/exam-Component_Reference-richcolumns-Using_richcolumns_and_richcolumn_together.xml_sample
===================================================================
--- branches/development/docs/Component_Reference/src/main/docbook/en-US/extras/exam-Component_Reference-richcolumns-Using_richcolumns_and_richcolumn_together.xml_sample (rev 0)
+++ branches/development/docs/Component_Reference/src/main/docbook/en-US/extras/exam-Component_Reference-richcolumns-Using_richcolumns_and_richcolumn_together.xml_sample 2010-08-16 06:25:19 UTC (rev 18648)
@@ -0,0 +1,23 @@
+<rich:dataTable value="#{dataTableScrollerBean.model}" var="model" width="500px" rows="5">
+ <f:facet name="header">
+ <h:outputText value="Cars Available"></h:outputText>
+ </f:facet>
+ <rich:columns value="#{dataTableScrollerBean.columns}" var="columns" index="ind">
+ <f:facet name="header">
+ <h:outputText value="#{columns.header}" />
+ </f:facet>
+ <h:outputText value="#{model[ind].model} " />
+ </rich:columns>
+ <rich:column>
+ <f:facet name="header">
+ <h:outputText value="Price" />
+ </f:facet>
+ <h:outputText value="Price" />
+ </rich:column>
+ <rich:columns value="#{dataTableScrollerBean.columns}" var="columns" index="ind">
+ <f:facet name="header">
+ <h:outputText value="#{columns.header}" />
+ </f:facet>
+ <h:outputText value="#{model[ind].mileage}$" />
+ </rich:columns>
+</rich:dataTable>
Added: branches/development/docs/Component_Reference/src/main/docbook/en-US/extras/exam-Component_Reference-richdataGrid-ajaxKeys_example.xml_sample
===================================================================
--- branches/development/docs/Component_Reference/src/main/docbook/en-US/extras/exam-Component_Reference-richdataGrid-ajaxKeys_example.xml_sample (rev 0)
+++ branches/development/docs/Component_Reference/src/main/docbook/en-US/extras/exam-Component_Reference-richdataGrid-ajaxKeys_example.xml_sample 2010-08-16 06:25:19 UTC (rev 18648)
@@ -0,0 +1,5 @@
+<rich:dataGrid value="#{dataTableScrollerBean.allCars}" var="car" ajaxKeys="#{listBean.list}" binding="#{listBean.dataGrid}" id="grid" elements="4" columns="2">
+ ...
+</rich:dataGrid>
+...
+<a4j:commandButton action="#{listBean.action}" reRender="grid" value="Submit"/>
15 years, 9 months
JBoss Rich Faces SVN: r18647 - in branches/development/docs/Component_Reference/src/main/docbook/en-US: extras and 1 other directories.
by richfaces-svn-commits@lists.jboss.org
Author: SeanRogers
Date: 2010-08-16 00:06:16 -0400 (Mon, 16 Aug 2010)
New Revision: 18647
Added:
branches/development/docs/Component_Reference/src/main/docbook/en-US/extras/exam-Component_Reference-richinplaceSelect-Defining_list_items_for_richinplaceSelect.xml_sample
branches/development/docs/Component_Reference/src/main/docbook/en-US/extras/exam-Component_Reference-richpanel-Adding_a_header-0.xml_sample
branches/development/docs/Component_Reference/src/main/docbook/en-US/extras/exam-Component_Reference-richpanel-Adding_a_header-1.xml_sample
branches/development/docs/Component_Reference/src/main/docbook/en-US/extras/exam-Component_Reference-richtogglePanel-State_order_example.xml_sample
branches/development/docs/Component_Reference/src/main/docbook/en-US/images/figu-Component_Reference-richpanel-Adding_a_header.png
branches/development/docs/Component_Reference/src/main/docbook/en-US/images/figu-Component_Reference-richpanel-richpanel.png
branches/development/docs/Component_Reference/src/main/docbook/en-US/images/figu-Component_Reference-richpanelBar-richpanelBar.png
Modified:
branches/development/docs/Component_Reference/src/main/docbook/en-US/chap-Component_Reference-Panels_and_containers.xml
branches/development/docs/Component_Reference/src/main/docbook/en-US/chap-Component_Reference-Rich_inputs.xml
Log:
Updated panels (RF-8804, RF-8795) and inputs (RF-9036)
Modified: branches/development/docs/Component_Reference/src/main/docbook/en-US/chap-Component_Reference-Panels_and_containers.xml
===================================================================
--- branches/development/docs/Component_Reference/src/main/docbook/en-US/chap-Component_Reference-Panels_and_containers.xml 2010-08-15 21:03:21 UTC (rev 18646)
+++ branches/development/docs/Component_Reference/src/main/docbook/en-US/chap-Component_Reference-Panels_and_containers.xml 2010-08-16 04:06:16 UTC (rev 18647)
@@ -48,28 +48,156 @@
</section>
-->
- <!-- TODO not in M2 -->
- <!--
<section id="sect-Component_Reference-Panels_and_containers-richpanel">
<title><sgmltag><rich:panel></sgmltag></title>
<para>
The <sgmltag><rich:panel></sgmltag> component is a bordered panel with an optional header.
</para>
- <para>
- No attributes need to be listed for basic usage. To add a header to the panel, use the <code>header</code> attribute to specify the text to appear in the header. Alternatively the header can be constructed using a header facet.
- </para>
+ <figure id="figu-Component_Reference-richpanel-richpanel">
+ <title><sgmltag><rich:panel></sgmltag></title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/figu-Component_Reference-richpanel-richpanel.png" format="PNG" />
+ </imageobject>
+ <textobject>
+ <para>
+ A <sgmltag><rich:Panel></sgmltag> component displaying details on a camera model.
+ </para>
+ </textobject>
+ </mediaobject>
+ </figure>
+ <section id="sect-Component_Reference-richpanel-Basic_usage">
+ <title>Basic usage</title>
+ <para>
+ No attributes need to be listed for basic usage. a <sgmltag><rich:panel></sgmltag> without any attributes defined renders a bordered region with no header.
+ </para>
+ </section>
+ <section id="sect-Component_Reference-richpanel-Adding_a_header">
+ <title>Adding a header</title>
+ <para>
+ To add a header to the panel, use the <varname>header</varname> attribute to specify the text to appear in the header. Alternatively the header can be constructed using a header facet. <xref linkend="exam-Component_Reference-richpanel-Adding_a_header" /> demonstrates the two different approaches.
+ </para>
+ <example id="exam-Component_Reference-richpanel-Adding_a_header">
+ <title>Adding a header</title>
+ <programlisting language="XML" role="XML"><xi:include parse="text" href="extras/exam-Component_Reference-richpanel-Adding_a_header-0.xml_sample" xmlns:xi="http://www.w3.org/2001/XInclude" /></programlisting>
+ <programlisting language="XML" role="XML"><xi:include parse="text" href="extras/exam-Component_Reference-richpanel-Adding_a_header-1.xml_sample" xmlns:xi="http://www.w3.org/2001/XInclude" /></programlisting>
+ </example>
+ <para>
+ Both the examples render an identical panel.
+ </para>
+ <blockquote>
+ <figure id="figu-Component_Reference-richpanel-Adding_a_header">
+ <title>Adding a header</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/figu-Component_Reference-richpanel-Adding_a_header.png" format="PNG" />
+ </imageobject>
+ <textobject>
+ <para>
+ A panel with a header that reads <phrase>"This is the panel header"</phrase> and content that reads <phrase>"This is the panel content"</phrase>.
+ </para>
+ </textobject>
+ </mediaobject>
+ </figure>
+ </blockquote>
+ </section>
+
+ <section id="sect-Component_Reference-richpanel-Reference_data">
+ <title>Reference data</title>
+ <itemizedlist>
+ <listitem>
+ <para>
+ <parameter>component-type</parameter>: <classname>org.richfaces.panel</classname>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <parameter>component-class</parameter>: <classname>org.richfaces.component.html.HtmlPanel</classname>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <parameter>component-family</parameter>: <classname>org.richfaces.panel</classname>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <parameter>renderer-type</parameter>: <classname>org.richfaces.panelRenderer</classname>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <parameter>tag-class</parameter>: <classname>org.richfaces.taglib.panelTag</classname>
+ </para>
+ </listitem>
+ </itemizedlist>
+ </section>
</section>
- -->
- <!-- TODO not in M2 -->
- <!--
<section id="sect-Component_Reference-Panels_and_containers-richpanelBar">
<title><sgmltag><rich:panelBar></sgmltag></title>
<para>
- The <sgmltag><rich:panelBar></sgmltag> is a series of panels stacked on top of each other, each collapsed such that only the header of the panel is showing. When the header of a panel is clicked, it is expanded to show the content of the panel. Clicking on a different header will collapse the previous panel and epand the selected one. Another name for the component is "accordion". Each panel in contained in a <sgmltag><rich:panelBar></sgmltag> component is a <sgmltag><rich:panelBarItem></sgmltag> component.
+ The <sgmltag><rich:panelBar></sgmltag> is a series of panels stacked on top of each other, each collapsed such that only the header of the panel is showing. When the header of a panel is clicked, it is expanded to show the content of the panel. Clicking on a different header will collapse the previous panel and epand the selected one. Similar controls are sometimes known as "accordion" controls. Each panel contained in a <sgmltag><rich:panelBar></sgmltag> component is a <sgmltag><rich:panelBarItem></sgmltag> component.
</para>
+ <figure id="figu-Component_Reference-richpanelBar-richpanelBar">
+ <title><sgmltag><rich:panelBar></sgmltag></title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/figu-Component_Reference-richpanelBar-richpanelBar.png" format="PNG" />
+ </imageobject>
+ <textobject>
+ <para>
+ A <sgmltag><rich:panelBar></sgmltag> component displaying details on different cameras. Only the first panel is expanded.
+ </para>
+ </textobject>
+ </mediaobject>
+ </figure>
+
+ <section id="sect-Component_Reference-richpanelBar-Basic_usage">
+ <title>Basic usage</title>
+ <para>
+ The <sgmltag><rich:panelBar></sgmltag> component requires no attributes for basic usage. The component can contain any number of <sgmltag><rich:panelBarItem></sgmltag> components as children. The headers of the <sgmltag><rich:panelBarItem></sgmltag> components control the expanding and collapsing when clicked. Only a single <sgmltag><rich:panelBarItem></sgmltag> can be displayed at a time.
+ </para>
+ </section>
+
+ <section id="sect-Component_Reference-richpanelBar-Controlling_panel_size">
+ <title>Controlling panel size</title>
+ <para>
+ Unlike the <sgmltag><rich:panel></sgmltag> component, the size of the <sgmltag><rich:panelBar></sgmltag> can be specified using <varname>width</varname> and <varname>height</varname> attributes. If unspecified, these values default to 100%.
+ </para>
+ </section>
+
+ <section id="sect-Component_Reference-richpanelBar-Reference_data">
+ <title>Reference data</title>
+ <itemizedlist>
+ <listitem>
+ <para>
+ <parameter>component-type</parameter>: <classname>org.richfaces.panelBar</classname>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <parameter>component-class</parameter>: <classname>org.richfaces.component.html.HtmlPanelBar</classname>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <parameter>component-family</parameter>: <classname>org.richfaces.panelBar</classname>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <parameter>renderer-type</parameter>: <classname>org.richfaces.panelBarRenderer</classname>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <parameter>tag-class</parameter>: <classname>org.richfaces.taglib.panelBarTag</classname>
+ </para>
+ </listitem>
+ </itemizedlist>
+ </section>
</section>
- -->
<!-- TODO not in M2 -->
<!--
@@ -117,6 +245,28 @@
</section>
-->
+ <!-- TODO not in M2 -->
+ <!--
+ <section id="sect-Component_Reference-Panels_and_containers-richtab">
+ <title><sgmltag><rich:tab></sgmltag></title>
+ <para>
+ The <sgmltag><rich:tab></sgmltag> component represents an individual tab inside a <sgmltag><rich:tabPanel></sgmltag> component, including the tab's content. Clicking on the tab header will bring its corresponding content to the front of other tabs.
+ </para>
+ <para>
+ Basic usage of the <sgmltag><rich:tab></sgmltag> component requires the <code>label</code> attribute, which provides the text on the tab header. The content of the tab is then detailed inside the <sgmltag><rich:tab></sgmltag> tags.
+ </para>
+ <para>
+ An individual tab can be disabled by setting <code>disabled="true"</code>. Disabled tabs cannot be activated or switched to.
+ </para>
+ <para>
+ The switching mode for performing submissions can be inherited from <code>switchMode</code> attribute of the parent <sgmltag><rich:tabPanel></sgmltag> component, or set individually for each <sgmltag><rich:tab></sgmltag> component. Refer to <xref linkend="sect-Component_Reference-Panels_and_containers-richtabPanel" /> for details on the <code>switchMode</code> attribute.
+ </para>
+ <para>
+ There are two event handlers that are unique to the <sgmltag><rich:tab></sgmltag> component. The <code>ontabenter</code> attribute points to the function to perform when the mouse enters the tab, while the <code>ontableave</code> attribute points to the function to perform when the mouse leaves the tab.
+ </para>
+ </section>
+ -->
+
<section id="sect-Component_Reference-Panels_and_containers-richtabPanel">
<title><sgmltag><rich:tabPanel></sgmltag></title>
<para>
@@ -194,28 +344,6 @@
</section>
</section>
- <!-- TODO not in M2 -->
- <!--
- <section id="sect-Component_Reference-Panels_and_containers-richtab">
- <title><sgmltag><rich:tab></sgmltag></title>
- <para>
- The <sgmltag><rich:tab></sgmltag> component represents an individual tab inside a <sgmltag><rich:tabPanel></sgmltag> component, including the tab's content. Clicking on the tab header will bring its corresponding content to the front of other tabs.
- </para>
- <para>
- Basic usage of the <sgmltag><rich:tab></sgmltag> component requires the <code>label</code> attribute, which provides the text on the tab header. The content of the tab is then detailed inside the <sgmltag><rich:tab></sgmltag> tags.
- </para>
- <para>
- An individual tab can be disabled by setting <code>disabled="true"</code>. Disabled tabs cannot be activated or switched to.
- </para>
- <para>
- The switching mode for performing submissions can be inherited from <code>switchMode</code> attribute of the parent <sgmltag><rich:tabPanel></sgmltag> component, or set individually for each <sgmltag><rich:tab></sgmltag> component. Refer to <xref linkend="sect-Component_Reference-Panels_and_containers-richtabPanel" /> for details on the <code>switchMode</code> attribute.
- </para>
- <para>
- There are two event handlers that are unique to the <sgmltag><rich:tab></sgmltag> component. The <code>ontabenter</code> attribute points to the function to perform when the mouse enters the tab, while the <code>ontableave</code> attribute points to the function to perform when the mouse leaves the tab.
- </para>
- </section>
- -->
-
<section id="sect-Component_Reference-Panels_and_containers-richtogglePanel">
<title><sgmltag><rich:togglePanel></sgmltag></title>
<para>
@@ -232,18 +360,7 @@
</para>
<example id="exam-Component_Reference-richtogglePanel-State_order_example">
<title>State order example</title>
- <programlisting language="XML" role="XML"><rich:togglePanel id="panel" initialState="panelB" switchType="client" stateOrder="panelA,panelB,panelC">
- <f:facet name="panelA">
- ...
- </f:facet>
- <f:facet name="panelB">
- ...
- </f:facet>
- <f:facet name="panelC">
- ...
- </f:facet>
- </rich:togglePanel>
- <rich:toggleControl for="panel" value="Switch"/></programlisting>
+ <programlisting language="XML" role="XML"><xi:include parse="text" href="extras/exam-Component_Reference-richtogglePanel-State_order_example.xml_sample" xmlns:xi="http://www.w3.org/2001/XInclude" /></programlisting>
</example>
</section>
Modified: branches/development/docs/Component_Reference/src/main/docbook/en-US/chap-Component_Reference-Rich_inputs.xml
===================================================================
--- branches/development/docs/Component_Reference/src/main/docbook/en-US/chap-Component_Reference-Rich_inputs.xml 2010-08-15 21:03:21 UTC (rev 18646)
+++ branches/development/docs/Component_Reference/src/main/docbook/en-US/chap-Component_Reference-Rich_inputs.xml 2010-08-16 04:06:16 UTC (rev 18647)
@@ -270,197 +270,241 @@
<section id="sect-Component_Reference-Rich_inputs-richinplaceInput">
<title><sgmltag><rich:inplaceInput></sgmltag></title>
- <itemizedlist>
- <listitem>
- <para>
- <parameter>component-type</parameter>: <classname>org.richfaces.inplaceInput</classname>
- </para>
- </listitem>
- <listitem>
- <para>
- <parameter>component-class</parameter>: <classname>org.richfaces.component.html.HtmlInplaceInput</classname>
- </para>
- </listitem>
- <listitem>
- <para>
- <parameter>component-family</parameter>: <classname>org.richfaces.inplaceInput</classname>
- </para>
- </listitem>
- <listitem>
- <para>
- <parameter>renderer-type</parameter>: <classname>org.richfaces.renderkit.inplaceInputRenderer</classname>
- </para>
- </listitem>
- <listitem>
- <para>
- <parameter>tag-class</parameter>: <classname>org.richfaces.taglib.inplaceInputTag</classname>
- </para>
- </listitem>
- </itemizedlist>
<para>
The <sgmltag><rich:inplaceInput></sgmltag> component allows information to be entered in-line in blocks of text, improving readability of the text. Changes can be rendered either in-line or for the whole block, and inputs can be focused with keyboard navigation. The component has three functional states: the "view" state, where the component displays its initial setting, such as "click to edit"; the "edit" state, where the user can input text; and the "changed" state, where the new value for the component has been confirmed but can be edited again if required.
</para>
- <para>
- When in the initial "view" state, the starting label can be set using the <varname>defaultLabel</varname> attribute, such as <code>defaultLabel="click to edit"</code>.
- </para>
- <para>
- Basic usage requires the <varname>value</varname> attribute to point to the expression for the current value of the component.
- </para>
- <para>
- By default, the event to switch the component to the "edit" state is a single mouse click. This can be changed using the <varname>editEvent</varname> attribute to specify a different event. When switching to "edit" mode, the existing text can be automatically highlighted to make editing easier by setting <code>selectOnEdit="true"</code>.
- </para>
- <para>
- The user can confirm and save their input by pressing the <keycap>Enter</keycap> key or cancel by pressing the <keycap>Esc</keycap> key. Alternatively, buttons for confirming or canceling can be added to the component by setting <code>showControls="true"</code>. These buttons can be positioned using the <varname>controlsHorizontalPosition</varname> attribute with settings of <literal>left</literal>, <literal>right</literal>, or <literal>center</literal>, and the <varname>controlsVerticalPosition</varname> attribute with settings <literal>bottom</literal>, <literal>center</literal>, or <literal>top</literal>. The confirmation control icons can be altered using the <varname>saveControlIcon</varname> and <varname>cancelControlIcon</varname>. Further customization is possible through the use of facets.
- </para>
- <para>
- There are several event handlers that are specific to the <sgmltag><rich:inplaceInput></sgmltag> component:
- </para>
- <itemizedlist>
- <listitem>
- <para>
- <varname>oneditactivation</varname> is triggered before the "edit" state is activated.
- </para>
- </listitem>
- <listitem>
- <para>
- <varname>oneditactivated</varname> is triggered after the "edit" state is activated.
- </para>
- </listitem>
- <listitem>
- <para>
- <varname>onviewactivation</varname> is triggered before the "view" or "changed" state is activated.
- </para>
- </listitem>
- <listitem>
- <para>
- <varname>onviewactivated</varname> is triggered after the "view" or "changed" state is activated.
- </para>
- </listitem>
- </itemizedlist>
+
+ <section id="sect-Component_Reference-richinplaceInput-Basic_usage">
+ <title>Basic usage</title>
+ <para>
+ Basic usage requires the <varname>value</varname> attribute to point to the expression for the current value of the component.
+ </para>
+ </section>
+
+ <section id="sect-Component_Reference-richinplaceInput-Interactivity_options">
+ <title>Interactivity options</title>
+ <para>
+ When in the initial "view" state, the starting label can be set using the <varname>defaultLabel</varname> attribute, such as <code><varname>defaultLabel</varname>="click to edit"</code>.
+ </para>
+
+ <para>
+ By default, the event to switch the component to the "edit" state is a single mouse click. This can be changed using the <varname>editEvent</varname> attribute to specify a different event. When switching to "edit" mode, the existing text can be automatically highlighted to make editing easier by setting <code><varname>selectOnEdit</varname>="true"</code>.
+ </para>
+ <para>
+ The user can confirm and save their input by pressing the <keycap>Enter</keycap> key or cancel by pressing the <keycap>Esc</keycap> key. Alternatively, buttons for confirming or canceling can be added to the component by setting <code>showControls="true"</code>. These buttons can be positioned using the <varname>controlsHorizontalPosition</varname> attribute with settings of <literal>left</literal>, <literal>right</literal>, or <literal>center</literal>, and the <varname>controlsVerticalPosition</varname> attribute with settings <literal>bottom</literal>, <literal>center</literal>, or <literal>top</literal>. The confirmation control icons can be altered using the <varname>saveControlIcon</varname> and <varname>cancelControlIcon</varname>. Further customization is possible through the use of facets.
+ </para>
+ </section>
+
+ <section id="sect-Component_Reference-richinplaceInput-richinplaceInput_events">
+ <title><sgmltag><rich:inplaceInput></sgmltag> events</title>
+ <para>
+ There are several event handlers that are specific to the <sgmltag><rich:inplaceInput></sgmltag> component:
+ </para>
+ <itemizedlist>
+ <listitem>
+ <para>
+ <varname>oneditactivation</varname> is triggered before the "edit" state is activated.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <varname>oneditactivated</varname> is triggered after the "edit" state is activated.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <varname>onviewactivation</varname> is triggered before the "view" or "changed" state is activated.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <varname>onviewactivated</varname> is triggered after the "view" or "changed" state is activated.
+ </para>
+ </listitem>
+ </itemizedlist>
+ </section>
+
+ <section id="sect-Component_Reference-richinplaceInput-Reference_data">
+ <title>Reference data</title>
+ <itemizedlist>
+ <listitem>
+ <para>
+ <parameter>component-type</parameter>: <classname>org.richfaces.inplaceInput</classname>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <parameter>component-class</parameter>: <classname>org.richfaces.component.html.HtmlInplaceInput</classname>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <parameter>component-family</parameter>: <classname>org.richfaces.inplaceInput</classname>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <parameter>renderer-type</parameter>: <classname>org.richfaces.renderkit.inplaceInputRenderer</classname>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <parameter>tag-class</parameter>: <classname>org.richfaces.taglib.inplaceInputTag</classname>
+ </para>
+ </listitem>
+ </itemizedlist>
+ </section>
</section>
<section id="sect-Component_Reference-Rich_inputs-richinplaceSelect">
<title><sgmltag><rich:inplaceSelect></sgmltag></title>
- <itemizedlist>
- <listitem>
- <para>
- <parameter>component-type</parameter>: <classname>org.richfaces.inplaceSelect</classname>
- </para>
- </listitem>
- <listitem>
- <para>
- <parameter>component-class</parameter>: <classname>org.richfaces.component.html.HtmlInplaceSelect</classname>
- </para>
- </listitem>
- <listitem>
- <para>
- <parameter>component-family</parameter>: <classname>org.richfaces.inplaceSelect</classname>
- </para>
- </listitem>
- <listitem>
- <para>
- <parameter>renderer-type</parameter>: <classname>org.richfaces.renderkit.inplaceSelectRenderer</classname>
- </para>
- </listitem>
- <listitem>
- <para>
- <parameter>tag-class</parameter>: <classname>org.richfaces.taglib.inplaceSelectTag</classname>
- </para>
- </listitem>
- </itemizedlist>
<para>
- The <sgmltag><rich:inplaceSelect></sgmltag> component is similar to the <sgmltag><rich:inplaceInput></sgmltag> component, but the uses a drop-down selection box to enter text instead of a regular text field. Changes can be rendered either in-line or for the whole block, and inputs can be focused with keyboard navigation. The component has three functional states: the "view" state, where the component displays its initial setting, such as "click to edit"; the "edit" state, where the user can select a value from a drop-down list; and the "changed" state, where the new value for the component has been confirmed but can be edited again if required.
+ The <sgmltag><rich:inplaceSelect></sgmltag> component is similar to the <sgmltag><rich:inplaceInput></sgmltag> component, except that the <sgmltag><rich:inplaceSelect></sgmltag> component uses a drop-down selection box to enter text instead of a regular text field. Changes can be rendered either in-line or for the whole block, and inputs can be focused with keyboard navigation. The component has three functional states: the "view" state, where the component displays its initial setting, such as "click to edit"; the "edit" state, where the user can select a value from a drop-down list; and the "changed" state, where the new value for the component has been confirmed but can be edited again if required.
</para>
- <para>
- When in the initial "view" state, the starting label can be set using the <varname>defaultLabel</varname> attribute, such as <code>defaultLabel="click to edit"</code>.
- </para>
- <para>
- Basic usage requires the <varname>value</varname> attribute to point to the expression for the current value of the component and a list of items. The list of items can be defined using the JSF components <sgmltag><f:selectItem/></sgmltag> and <sgmltag><f:selectItems/></sgmltag>.
- </para>
- <example id="exam-Component_Reference-richinplaceSelect-Defining_list_items_for_richinplaceSelect">
- <title>Defining list items for <sgmltag><rich:inplaceSelect></sgmltag></title>
-
-<programlisting language="XML" role="XML">
-<rich:inplaceSelect value="#{bean.inputValue}" defaultLabel="click to edit" >
- <f:selectItems value="#{bean.selectItems}" />
- <f.selectItem itemValue="1" itemLabel="Item 1" />
- <f.selectItem itemValue="2" itemLabel="Item 2" />
- <f.selectItem itemValue="3" itemLabel="Item 3" />
- <f.selectItem itemValue="4" itemLabel="Item 4" />
-</rich:comboBox>
-</programlisting>
- </example>
- <para>
- By default, the event to switch the component to the "edit" state is a single mouse click. This can be changed using the <varname>editEvent</varname> attribute to specify a different event. When switching to "edit" mode, the drop-down list of possible values will automatically be displayed; this can be deactivated by setting <code>openOnEdit="false"</code>.
- </para>
- <para>
- Once the user selects an option from the drop-down list, the item becomes the new value for the component and the state is switched to the "changed" state. Alternatively, buttons for confirming or canceling can be added to the component by setting <code>showControls="true"</code>. These buttons can be positioned using the <varname>controlsHorizontalPosition</varname> attribute with settings of <literal>left</literal>, <literal>right</literal>, or <literal>center</literal>, and the <varname>controlsVerticalPosition</varname> attribute with settings <literal>bottom</literal>, <literal>center</literal>, or <literal>top</literal>. The confirmation control icons can be altered using the <varname>saveControlIcon</varname> and <varname>cancelControlIcon</varname>. Further customization is possible through the use of facets.
- </para>
- <para>
- There are several event handlers that are specific to the <sgmltag><rich:inplaceSelect></sgmltag> component:
- </para>
- <itemizedlist>
- <listitem>
- <para>
- <varname>oneditactivation</varname> is triggered before the "edit" state is activated.
- </para>
- </listitem>
- <listitem>
- <para>
- <varname>oneditactivated</varname> is triggered after the "edit" state is activated.
- </para>
- </listitem>
- <listitem>
- <para>
- <varname>onviewactivation</varname> is triggered before the "view" or "changed" state is activated.
- </para>
- </listitem>
- <listitem>
- <para>
- <varname>onviewactivated</varname> is triggered after the "view" or "changed" state is activated.
- </para>
- </listitem>
- </itemizedlist>
+
+ <section id="sect-Component_Reference-richinplaceSelect-Basic_usage">
+ <title>Basic usage</title>
+ <para>
+ Basic usage requires the <varname>value</varname> attribute to point to the expression for the current value of the component and a list of items. The list of items can be defined using the JSF components <sgmltag><f:selectItem/></sgmltag> and <sgmltag><f:selectItems/></sgmltag>.
+ </para>
+ <example id="exam-Component_Reference-richinplaceSelect-Defining_list_items_for_richinplaceSelect">
+ <title>Defining list items for <sgmltag><rich:inplaceSelect></sgmltag></title>
+ <programlisting language="XML" role="XML"><xi:include parse="text" href="extras/exam-Component_Reference-richinplaceSelect-Defining_list_items_for_richinplaceSelect.xml_sample" xmlns:xi="http://www.w3.org/2001/XInclude" /></programlisting>
+ </example>
+ </section>
+
+ <section id="sect-Component_Reference-richinplaceSelect-Interactivity_options">
+ <title>Interactivity options</title>
+ <para>
+ When in the initial "view" state, the starting label can be set using the <varname>defaultLabel</varname> attribute, such as <code>defaultLabel="click to edit"</code>.
+ </para>
+ <para>
+ By default, the event to switch the component to the "edit" state is a single mouse click. This can be changed using the <varname>editEvent</varname> attribute to specify a different event. When switching to "edit" mode, the drop-down list of possible values will automatically be displayed; this can be deactivated by setting <code><varname>openOnEdit</varname>="false"</code>.
+ </para>
+ <para>
+ Once the user selects an option from the drop-down list, the item becomes the new value for the component and the state is switched to the "changed" state. Alternatively, buttons for confirming or canceling can be added to the component by setting <code>showControls="true"</code>. These buttons can be positioned using the <varname>controlsHorizontalPosition</varname> attribute with settings of <literal>left</literal>, <literal>right</literal>, or <literal>center</literal>, and the <varname>controlsVerticalPosition</varname> attribute with settings <literal>bottom</literal>, <literal>center</literal>, or <literal>top</literal>. The confirmation control icons can be altered using the <varname>saveControlIcon</varname> and <varname>cancelControlIcon</varname>. Further customization is possible through the use of facets.
+ </para>
+ </section>
+
+ <section id="sect-Component_Reference-richinplaceInput-richinplaceSelect_events">
+ <title><sgmltag><rich:inplaceSelect></sgmltag> events</title>
+ <para>
+ There are several event handlers that are specific to the <sgmltag><rich:inplaceSelect></sgmltag> component:
+ </para>
+ <itemizedlist>
+ <listitem>
+ <para>
+ <varname>oneditactivation</varname> is triggered before the "edit" state is activated.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <varname>oneditactivated</varname> is triggered after the "edit" state is activated.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <varname>onviewactivation</varname> is triggered before the "view" or "changed" state is activated.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <varname>onviewactivated</varname> is triggered after the "view" or "changed" state is activated.
+ </para>
+ </listitem>
+ </itemizedlist>
+ </section>
+
+ <section id="sect-Component_Reference-richinplaceSelect-Reference_data">
+ <title>Reference data</title>
+ <itemizedlist>
+ <listitem>
+ <para>
+ <parameter>component-type</parameter>: <classname>org.richfaces.inplaceSelect</classname>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <parameter>component-class</parameter>: <classname>org.richfaces.component.html.HtmlInplaceSelect</classname>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <parameter>component-family</parameter>: <classname>org.richfaces.inplaceSelect</classname>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <parameter>renderer-type</parameter>: <classname>org.richfaces.renderkit.inplaceSelectRenderer</classname>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <parameter>tag-class</parameter>: <classname>org.richfaces.taglib.inplaceSelectTag</classname>
+ </para>
+ </listitem>
+ </itemizedlist>
+ </section>
</section>
<section id="sect-Component_Reference-Rich_inputs-richinputNumberSlider">
<title><sgmltag><rich:inputNumberSlider></sgmltag></title>
- <itemizedlist>
- <listitem>
- <para>
- <parameter>component-type</parameter>: <classname>org.richfaces.inputNumberSlider</classname>
- </para>
- </listitem>
- <listitem>
- <para>
- <parameter>component-class</parameter>: <classname>org.richfaces.component.html.HtmlInputNumberSlider</classname>
- </para>
- </listitem>
- <listitem>
- <para>
- <parameter>component-family</parameter>: <classname>org.richfaces.inputNumberSlider</classname>
- </para>
- </listitem>
- <listitem>
- <para>
- <parameter>renderer-type</parameter>: <classname>org.richfaces.renderkit.inputNumberSliderRenderer</classname>
- </para>
- </listitem>
- <listitem>
- <para>
- <parameter>tag-class</parameter>: <classname>org.richfaces.taglib.inputNumberSliderTag</classname>
- </para>
- </listitem>
- </itemizedlist>
<para>
The <sgmltag><rich:inputNumberSlider></sgmltag> component provides a slider for changing numerical values. Optional features include a tool-tip to display the value while sliding, and a text field for typing the numerical value which can then be validated against the slider's range.
</para>
- <para>
- Basic use of the component with no attributes specified will render a slider with a minimum value of 0, a maximum of 100, and a gradient step of 1, together with a text field for typing the desired numerical value. The text field can be removed by setting <code>showInput="false"</code>, and the properties of the slider can be set with the attributes <varname>minValue</varname>, <varname>maxValue</varname>, and <varname>step</varname>. The slider is labeled with the minimum and maximum boundary values, and a tool-tip showing the current value is shown while sliding the slider; these items can be turned off by setting <code>showBoundaryValues="false"</code> and <code>showToolTip="false"</code> respectively.
- </para>
- <para>
- Arrow controls can be added to either side of the slider to adjust the value incrementally by setting <code>showArrows="true"</code>. Clicking the arrows move the slider indicator in that direction by the gradient step, and clicking and holding the arrows moves the indicator continuously. The time delay for each step when updating continuously can be defined using the <varname>delay</varname> attribute.
- </para>
+ <section id="sect-Component_Reference-richinputNumberSlider-Basic_usage">
+ <title>Basic usage</title>
+ <para>
+ Basic use of the component with no attributes specified will render a slider with a minimum value of 0, a maximum of 100, and a gradient step of 1, together with a text field for typing the desired numerical value. The slider is labeled with the minimum and maximum boundary values, and a tool-tip showing the current value is shown while sliding the slider.
+ </para>
+ </section>
+
+ <section id="sect-Component_Reference-richinputNumberSlider-Interactivity_options">
+ <title>Interactivity options</title>
+ <para>
+ The text field can be removed by setting <code>showInput="false"</code>.
+ </para>
+ <para>
+ The properties of the slider can be set with the attributes <varname>minValue</varname>, <varname>maxValue</varname>, and <varname>step</varname>.
+ </para>
+ <para>
+ The minimum and maximum labels on the slider can be hidden by setting <code><varname>showBoundaryValues</varname>="false"</code>. The tool-tip showing the current value can be hidden by setting <code><varname>showToolTip</varname>="false"</code>.
+ </para>
+ <para>
+ Arrow controls can be added to either side of the slider to adjust the value incrementally by setting <code>showArrows="true"</code>. Clicking the arrows move the slider indicator in that direction by the gradient step, and clicking and holding the arrows moves the indicator continuously. The time delay for each step when updating continuously can be defined using the <varname>delay</varname> attribute.
+ </para>
+ </section>
+
+ <section id="sect-Component_Reference-richinputNumberSlider-Reference_data">
+ <title>Reference data</title>
+ <itemizedlist>
+ <listitem>
+ <para>
+ <parameter>component-type</parameter>: <classname>org.richfaces.inputNumberSlider</classname>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <parameter>component-class</parameter>: <classname>org.richfaces.component.html.HtmlInputNumberSlider</classname>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <parameter>component-family</parameter>: <classname>org.richfaces.inputNumberSlider</classname>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <parameter>renderer-type</parameter>: <classname>org.richfaces.renderkit.inputNumberSliderRenderer</classname>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <parameter>tag-class</parameter>: <classname>org.richfaces.taglib.inputNumberSliderTag</classname>
+ </para>
+ </listitem>
+ </itemizedlist>
+ </section>
</section>
<!-- TODO not in M2 -->
Added: branches/development/docs/Component_Reference/src/main/docbook/en-US/extras/exam-Component_Reference-richinplaceSelect-Defining_list_items_for_richinplaceSelect.xml_sample
===================================================================
--- branches/development/docs/Component_Reference/src/main/docbook/en-US/extras/exam-Component_Reference-richinplaceSelect-Defining_list_items_for_richinplaceSelect.xml_sample (rev 0)
+++ branches/development/docs/Component_Reference/src/main/docbook/en-US/extras/exam-Component_Reference-richinplaceSelect-Defining_list_items_for_richinplaceSelect.xml_sample 2010-08-16 04:06:16 UTC (rev 18647)
@@ -0,0 +1,7 @@
+<rich:inplaceSelect value="#{bean.inputValue}" defaultLabel="click to edit" >
+ <f:selectItems value="#{bean.selectItems}" />
+ <f.selectItem itemValue="1" itemLabel="Item 1" />
+ <f.selectItem itemValue="2" itemLabel="Item 2" />
+ <f.selectItem itemValue="3" itemLabel="Item 3" />
+ <f.selectItem itemValue="4" itemLabel="Item 4" />
+</rich:comboBox>
Added: branches/development/docs/Component_Reference/src/main/docbook/en-US/extras/exam-Component_Reference-richpanel-Adding_a_header-0.xml_sample
===================================================================
--- branches/development/docs/Component_Reference/src/main/docbook/en-US/extras/exam-Component_Reference-richpanel-Adding_a_header-0.xml_sample (rev 0)
+++ branches/development/docs/Component_Reference/src/main/docbook/en-US/extras/exam-Component_Reference-richpanel-Adding_a_header-0.xml_sample 2010-08-16 04:06:16 UTC (rev 18647)
@@ -0,0 +1,3 @@
+<rich:panel header="This is the panel header">
+ <h:outputText value="This is the panel content" />
+</rich:panel>
Added: branches/development/docs/Component_Reference/src/main/docbook/en-US/extras/exam-Component_Reference-richpanel-Adding_a_header-1.xml_sample
===================================================================
--- branches/development/docs/Component_Reference/src/main/docbook/en-US/extras/exam-Component_Reference-richpanel-Adding_a_header-1.xml_sample (rev 0)
+++ branches/development/docs/Component_Reference/src/main/docbook/en-US/extras/exam-Component_Reference-richpanel-Adding_a_header-1.xml_sample 2010-08-16 04:06:16 UTC (rev 18647)
@@ -0,0 +1,6 @@
+<rich:panel>
+ <f:facet name="header">
+ <h:outputText value="This is the panel header">
+ </f:facet>
+ <h:outputText value="This is the panel content" />
+</rich:panel>
Added: branches/development/docs/Component_Reference/src/main/docbook/en-US/extras/exam-Component_Reference-richtogglePanel-State_order_example.xml_sample
===================================================================
--- branches/development/docs/Component_Reference/src/main/docbook/en-US/extras/exam-Component_Reference-richtogglePanel-State_order_example.xml_sample (rev 0)
+++ branches/development/docs/Component_Reference/src/main/docbook/en-US/extras/exam-Component_Reference-richtogglePanel-State_order_example.xml_sample 2010-08-16 04:06:16 UTC (rev 18647)
@@ -0,0 +1,12 @@
+<rich:togglePanel id="panel" initialState="panelB" switchType="client" stateOrder="panelA,panelB,panelC">
+ <f:facet name="panelA">
+ ...
+ </f:facet>
+ <f:facet name="panelB">
+ ...
+ </f:facet>
+ <f:facet name="panelC">
+ ...
+ </f:facet>
+</rich:togglePanel>
+<rich:toggleControl for="panel" value="Switch"/>
Added: branches/development/docs/Component_Reference/src/main/docbook/en-US/images/figu-Component_Reference-richpanel-Adding_a_header.png
===================================================================
(Binary files differ)
Property changes on: branches/development/docs/Component_Reference/src/main/docbook/en-US/images/figu-Component_Reference-richpanel-Adding_a_header.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: branches/development/docs/Component_Reference/src/main/docbook/en-US/images/figu-Component_Reference-richpanel-richpanel.png
===================================================================
(Binary files differ)
Property changes on: branches/development/docs/Component_Reference/src/main/docbook/en-US/images/figu-Component_Reference-richpanel-richpanel.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: branches/development/docs/Component_Reference/src/main/docbook/en-US/images/figu-Component_Reference-richpanelBar-richpanelBar.png
===================================================================
(Binary files differ)
Property changes on: branches/development/docs/Component_Reference/src/main/docbook/en-US/images/figu-Component_Reference-richpanelBar-richpanelBar.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
15 years, 9 months
JBoss Rich Faces SVN: r18646 - trunk/bom.
by richfaces-svn-commits@lists.jboss.org
Author: jbalunas(a)redhat.com
Date: 2010-08-15 17:03:21 -0400 (Sun, 15 Aug 2010)
New Revision: 18646
Modified:
trunk/bom/pom.xml
Log:
Fixed build issue with new ui-core-api in bom
Modified: trunk/bom/pom.xml
===================================================================
--- trunk/bom/pom.xml 2010-08-15 19:39:18 UTC (rev 18645)
+++ trunk/bom/pom.xml 2010-08-15 21:03:21 UTC (rev 18646)
@@ -79,6 +79,11 @@
<version>${project.version}</version>
</dependency>
<dependency>
+ <groupId>org.richfaces.ui.core</groupId>
+ <artifactId>richfaces-ui-core-api</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
<groupId>org.richfaces.ui.iteration</groupId>
<artifactId>richfaces-ui-iteration-ui</artifactId>
<version>${project.version}</version>
15 years, 9 months
JBoss Rich Faces SVN: r18645 - in sandbox/trunk: examples/richfaces-showcase-gae/src/main/webapp/WEB-INF and 1 other directory.
by richfaces-svn-commits@lists.jboss.org
Author: nbelaevski
Date: 2010-08-15 15:39:18 -0400 (Sun, 15 Aug 2010)
New Revision: 18645
Modified:
sandbox/trunk/cdk/maven-resources-plugin/src/main/java/org/richfaces/cdk/ProcessMojo.java
sandbox/trunk/examples/richfaces-showcase-gae/src/main/webapp/WEB-INF/appengine-web.xml
Log:
Latest changes in maven-resources-plugin
Increased version f richfaces-showcase-gae
Modified: sandbox/trunk/cdk/maven-resources-plugin/src/main/java/org/richfaces/cdk/ProcessMojo.java
===================================================================
--- sandbox/trunk/cdk/maven-resources-plugin/src/main/java/org/richfaces/cdk/ProcessMojo.java 2010-08-15 19:37:53 UTC (rev 18644)
+++ sandbox/trunk/cdk/maven-resources-plugin/src/main/java/org/richfaces/cdk/ProcessMojo.java 2010-08-15 19:39:18 UTC (rev 18645)
@@ -51,7 +51,6 @@
import org.apache.maven.plugin.MojoExecutionException;
import org.apache.maven.plugin.MojoFailureException;
import org.apache.maven.project.MavenProject;
-import org.reflections.util.ClasspathHelper;
import org.richfaces.cdk.concurrent.CountingExecutorCompletionService;
import org.richfaces.cdk.faces.FacesImpl;
import org.richfaces.cdk.naming.FileNameMapperImpl;
@@ -111,11 +110,11 @@
} catch (MalformedURLException e) {
getLog().error("Bad URL in classpath", e);
}
-
+
return null;
};
};
-
+
/**
* @parameter
* @required
@@ -160,16 +159,16 @@
* @parameter expression="${basedir}/src/main/webapp"
*/
private String webRoot;
-
+
//TODO handle resource locales
private Locale resourceLocales;
-
+
private Collection<ResourceKey> foundResources = Sets.newHashSet();
-
+
private Collection<ResourceProcessor> resourceProcessors = Arrays.<ResourceProcessor>asList(
new JavaScriptResourceProcessor(getLog()),
new CSSResourceProcessor());
-
+
// TODO executor parameters
private static ExecutorService createExecutorService() {
return Executors.newFixedThreadPool(Runtime.getRuntime().availableProcessors());
@@ -189,16 +188,16 @@
if (!result.exists()) {
return null;
}
-
+
return result.toURI().toURL();
}
-
+
private void scanDynamicResources(Collection<VFSRoot> cpFiles) throws Exception {
ResourcesScanner scanner = new DynamicResourcesScanner(cpFiles);
scanner.scan();
foundResources.addAll(scanner.getResources());
}
-
+
private void scanStaticResources(Collection<VirtualFile> resourceRoots) throws Exception {
ResourcesScanner scanner = new StaticResourcesScanner(resourceRoots);
scanner.scan();
@@ -207,12 +206,12 @@
private Collection<VFSRoot> fromUrls(Iterable<URL> urls) throws URISyntaxException, IOException {
Collection<VFSRoot> result = Lists.newArrayList();
-
+
for (URL url : urls) {
if (url == null) {
continue;
}
-
+
VFSRoot vfsRoot = VFS.getRoot(url);
vfsRoot.initialize();
result.add(vfsRoot);
@@ -220,16 +219,16 @@
return result;
}
-
- private Collection<VFSRoot> getClasspathVfs() throws URISyntaxException, IOException {
- return fromUrls(ClasspathHelper.getUrlsForCurrentClasspath());
+
+ private Collection<VFSRoot> getClasspathVfs(URL[] urls) throws URISyntaxException, IOException {
+ return fromUrls(Arrays.asList(urls));
}
-
+
private Collection<VFSRoot> getWebrootVfs() throws URISyntaxException, IOException {
return fromUrls(Collections.singletonList(resolveWebRoot()));
}
-
- protected URL[] getProjectClasspath() {
+
+ protected URL[] getProjectClassPath() {
try {
List<String> classpath = Constraints.constrainedList(Lists.<String>newArrayList(), MoreConstraints.cast(String.class));
classpath.addAll((List<String>) project.getCompileClasspathElements());
@@ -244,41 +243,47 @@
return new URL[0];
}
+ protected ClassLoader createProjectClassLoader(URL[] cp) {
+ ClassLoader classLoader = Thread.currentThread().getContextClassLoader();
+ classLoader = new URLClassLoader(cp, classLoader);
+ return classLoader;
+ }
+
@Override
public void execute() throws MojoExecutionException, MojoFailureException {
ClassLoader contextCL = Thread.currentThread().getContextClassLoader();
Faces faces = null;
ExecutorService executorService = null;
-
+
Collection<VFSRoot> webResources = null;
Collection<VFSRoot> cpResources = null;
-
+
try {
- URL[] projectCP = getProjectClasspath();
- ClassLoader projectCL = new URLClassLoader(projectCP, contextCL);
+ URL[] projectCP = getProjectClassPath();
+ ClassLoader projectCL = createProjectClassLoader(projectCP);
Thread.currentThread().setContextClassLoader(projectCL);
webResources = getWebrootVfs();
- cpResources = getClasspathVfs();
+ cpResources = getClasspathVfs(projectCP);
Collection<VirtualFile> resourceRoots = ResourceUtil.getResourceRoots(cpResources, webResources);
-
+
scanDynamicResources(cpResources);
scanStaticResources(resourceRoots);
-
+
File resourceOutputDir = new File(outputDir);
if (!resourceOutputDir.exists()) {
resourceOutputDir = new File(project.getBuild().getDirectory(), outputDir);
}
File resourceMappingDir = new File(project.getBuild().getOutputDirectory());
-
+
ResourceHandler resourceHandler = new DynamicResourceHandler(new StaticResourceHandler(resourceRoots));
-
+
// TODO set webroot
faces = new FacesImpl(null, new FileNameMapperImpl(Maps.fromProperties(fileNameMappings)), resourceHandler);
faces.start();
-
+
ResourceWriterImpl resourceWriter = new ResourceWriterImpl(resourceOutputDir, resourceMappingDir, resourceProcessors);
ResourceTaskFactoryImpl taskFactory = new ResourceTaskFactoryImpl(faces);
taskFactory.setResourceWriter(resourceWriter);
@@ -305,12 +310,12 @@
break;
}
}
-
+
resourceWriter.writeProcessedResourceMappings();
} catch (Exception e) {
throw new MojoExecutionException(e.getMessage(), e);
} finally {
-
+
if (cpResources != null) {
for (VFSRoot vfsRoot : cpResources) {
try {
@@ -321,7 +326,7 @@
}
}
}
-
+
if (webResources != null) {
for (VFSRoot vfsRoot : webResources) {
try {
@@ -332,7 +337,7 @@
}
}
}
-
+
// TODO review finally block
if (executorService != null) {
executorService.shutdown();
Modified: sandbox/trunk/examples/richfaces-showcase-gae/src/main/webapp/WEB-INF/appengine-web.xml
===================================================================
--- sandbox/trunk/examples/richfaces-showcase-gae/src/main/webapp/WEB-INF/appengine-web.xml 2010-08-15 19:37:53 UTC (rev 18644)
+++ sandbox/trunk/examples/richfaces-showcase-gae/src/main/webapp/WEB-INF/appengine-web.xml 2010-08-15 19:39:18 UTC (rev 18645)
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<appengine-web-app xmlns="http://appengine.google.com/ns/1.0">
<application>richfaces-showcase-gae</application>
- <version>8</version>
+ <version>9</version>
<sessions-enabled>true</sessions-enabled>
<system-properties>
15 years, 9 months
JBoss Rich Faces SVN: r18644 - in sandbox/trunk: ui/inputs and 1 other directory.
by richfaces-svn-commits@lists.jboss.org
Author: nbelaevski
Date: 2010-08-15 15:37:53 -0400 (Sun, 15 Aug 2010)
New Revision: 18644
Removed:
sandbox/trunk/examples/components/inputnumberslider-demo/
sandbox/trunk/ui/inputs/inputnumberslider/
Modified:
sandbox/trunk/examples/components/pom.xml
sandbox/trunk/ui/inputs/pom.xml
Log:
InputNumberSlider: moving to main area
Modified: sandbox/trunk/examples/components/pom.xml
===================================================================
--- sandbox/trunk/examples/components/pom.xml 2010-08-15 19:33:31 UTC (rev 18643)
+++ sandbox/trunk/examples/components/pom.xml 2010-08-15 19:37:53 UTC (rev 18644)
@@ -17,7 +17,6 @@
<modules>
<module>combobox-demo</module>
- <module>inputnumberslider-demo</module>
</modules>
<dependencies>
Modified: sandbox/trunk/ui/inputs/pom.xml
===================================================================
--- sandbox/trunk/ui/inputs/pom.xml 2010-08-15 19:33:31 UTC (rev 18643)
+++ sandbox/trunk/ui/inputs/pom.xml 2010-08-15 19:37:53 UTC (rev 18644)
@@ -37,7 +37,6 @@
<modules>
<module>parent</module>
<module>combobox</module>
- <module>inputnumberslider</module>
</modules>
<scm>
15 years, 9 months
JBoss Rich Faces SVN: r18643 - in trunk/examples/input-demo/src/main: webapp and 1 other directories.
by richfaces-svn-commits@lists.jboss.org
Author: nbelaevski
Date: 2010-08-15 15:33:31 -0400 (Sun, 15 Aug 2010)
New Revision: 18643
Added:
trunk/examples/input-demo/src/main/java/org/richfaces/demo/InputNumberSliderBean.java
trunk/examples/input-demo/src/main/webapp/inputNumberSlider.xhtml
Modified:
trunk/examples/input-demo/src/main/java/org/richfaces/demo/SkinBean.java
trunk/examples/input-demo/src/main/webapp/WEB-INF/web.xml
trunk/examples/input-demo/src/main/webapp/index.xhtml
Log:
InputNumberSlider: moving to main area
Copied: trunk/examples/input-demo/src/main/java/org/richfaces/demo/InputNumberSliderBean.java (from rev 18636, sandbox/trunk/examples/components/inputnumberslider-demo/src/main/java/org/richfaces/demo/Bean.java)
===================================================================
--- trunk/examples/input-demo/src/main/java/org/richfaces/demo/InputNumberSliderBean.java (rev 0)
+++ trunk/examples/input-demo/src/main/java/org/richfaces/demo/InputNumberSliderBean.java 2010-08-15 19:33:31 UTC (rev 18643)
@@ -0,0 +1,163 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright ${year}, Red Hat, Inc. and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.richfaces.demo;
+
+import javax.faces.bean.ManagedBean;
+import javax.faces.bean.SessionScoped;
+
+import org.richfaces.component.InputNumberSliderInputPosition;
+
+@ManagedBean(name = "inputNumberSliderBean")
+@SessionScoped
+public class InputNumberSliderBean {
+
+ private double value;
+ private String accesskey;
+ private int delay = 200;
+ private boolean disabled = false;
+ private boolean enableManualInput = true;
+ private InputNumberSliderInputPosition inputPosition = InputNumberSliderInputPosition.right;
+ private int inputSize = 3;
+ private double maxValue = 100;
+ private double minValue = 0;
+ private boolean showArrows = false;
+ private boolean showBoundaryValues = true;
+ private boolean showInput = true;
+ private boolean showToolTip = true;
+ private double step = 1;
+
+ public void setValue(double value) {
+ this.value = value;
+ }
+
+ public double getValue() {
+ return value;
+ }
+
+ public void setAccesskey(String accesskey) {
+ this.accesskey = accesskey;
+ }
+
+ public String getAccesskey() {
+ return accesskey;
+ }
+
+ public int getDelay() {
+ return delay;
+ }
+
+ public void setDelay(int delay) {
+ this.delay = delay;
+ }
+
+ public void setEnableManualInput(boolean enableManualInput) {
+ this.enableManualInput = enableManualInput;
+ }
+
+ public boolean getEnableManualInput() {
+ return enableManualInput;
+ }
+
+ public void setInputPosition(InputNumberSliderInputPosition inputPosition) {
+ this.inputPosition = inputPosition;
+ }
+
+ public InputNumberSliderInputPosition getInputPosition() {
+ return inputPosition;
+ }
+
+ public InputNumberSliderInputPosition[] getPositionTypes() {
+ return InputNumberSliderInputPosition.values();
+ }
+
+ public double getMaxValue() {
+ return maxValue;
+ }
+
+ public void setMaxValue(double maxValue) {
+ this.maxValue = maxValue;
+ }
+
+ public double getMinValue() {
+ return minValue;
+ }
+
+ public void setMinValue(double minValue) {
+ this.minValue = minValue;
+ }
+
+ public boolean isShowArrows() {
+ return showArrows;
+ }
+
+ public void setShowArrows(boolean showArrows) {
+ this.showArrows = showArrows;
+ }
+
+ public boolean isShowBoundaryValues() {
+ return showBoundaryValues;
+ }
+
+ public void setShowBoundaryValues(boolean showBoundaryValues) {
+ this.showBoundaryValues = showBoundaryValues;
+ }
+
+ public boolean isShowInput() {
+ return showInput;
+ }
+
+ public void setShowInput(boolean showInput) {
+ this.showInput = showInput;
+ }
+
+ public boolean isShowToolTip() {
+ return showToolTip;
+ }
+
+ public void setShowToolTip(boolean showToolTip) {
+ this.showToolTip = showToolTip;
+ }
+
+ public double getStep() {
+ return step;
+ }
+
+ public void setStep(double step) {
+ this.step = step;
+ }
+
+ public void setDisabled(boolean disabled) {
+ this.disabled = disabled;
+ }
+
+ public boolean isDisabled() {
+ return disabled;
+ }
+
+ public void setInputSize(int inputSize) {
+ this.inputSize = inputSize;
+ }
+
+ public int getInputSize() {
+ return inputSize;
+ }
+}
Modified: trunk/examples/input-demo/src/main/java/org/richfaces/demo/SkinBean.java
===================================================================
--- trunk/examples/input-demo/src/main/java/org/richfaces/demo/SkinBean.java 2010-08-15 19:31:56 UTC (rev 18642)
+++ trunk/examples/input-demo/src/main/java/org/richfaces/demo/SkinBean.java 2010-08-15 19:33:31 UTC (rev 18643)
@@ -6,6 +6,10 @@
@ManagedBean(name = "skinBean")
@SessionScoped
public class SkinBean {
+
+ private static final String[] SKINS = {"blueSky", "deepMarine", "emeraldTown", "NULL", "ruby", "classic",
+ "DEFAULT", "japanCherry", "plain", "wine" };
+
private String skin = "blueSky";
public SkinBean() {
@@ -18,4 +22,8 @@
public void setSkin(String skin) {
this.skin = skin;
}
+
+ public String[] getSkins() {
+ return SKINS;
+ }
}
Modified: trunk/examples/input-demo/src/main/webapp/WEB-INF/web.xml
===================================================================
--- trunk/examples/input-demo/src/main/webapp/WEB-INF/web.xml 2010-08-15 19:31:56 UTC (rev 18642)
+++ trunk/examples/input-demo/src/main/webapp/WEB-INF/web.xml 2010-08-15 19:33:31 UTC (rev 18643)
@@ -40,7 +40,7 @@
<description></description>
<context-param>
<param-name>org.richfaces.skin</param-name>
- <param-value>blueSky</param-value>
+ <param-value>#{skinBean.skin}</param-value>
</context-param>
<context-param>
Modified: trunk/examples/input-demo/src/main/webapp/index.xhtml
===================================================================
--- trunk/examples/input-demo/src/main/webapp/index.xhtml 2010-08-15 19:31:56 UTC (rev 18642)
+++ trunk/examples/input-demo/src/main/webapp/index.xhtml 2010-08-15 19:33:31 UTC (rev 18643)
@@ -9,6 +9,7 @@
<h4>Input Components Sample</h4>
<ul>
<li><h:link outcome="inplaceInput">rich:inplaceInput</h:link></li>
+ <li><h:link outcome="inputNumberSlider">rich:inputNumberSlider</h:link></li>
</ul>
<h:form>
Copied: trunk/examples/input-demo/src/main/webapp/inputNumberSlider.xhtml (from rev 18636, sandbox/trunk/examples/components/inputnumberslider-demo/src/main/webapp/index.xhtml)
===================================================================
--- trunk/examples/input-demo/src/main/webapp/inputNumberSlider.xhtml (rev 0)
+++ trunk/examples/input-demo/src/main/webapp/inputNumberSlider.xhtml 2010-08-15 19:33:31 UTC (rev 18643)
@@ -0,0 +1,116 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"
+ xmlns:h="http://java.sun.com/jsf/html"
+ xmlns:f="http://java.sun.com/jsf/core"
+ xmlns:ui="http://java.sun.com/jsf/facelets"
+ xmlns:ins="http://richfaces.org/input">
+<!--
+JBoss, Home of Professional Open Source
+Copyright ${year}, Red Hat, Inc. and individual contributors
+by the @authors tag. See the copyright.txt in the distribution for a
+full listing of individual contributors.
+
+
+This is free software; you can redistribute it and/or modify it
+under the terms of the GNU Lesser General Public License as
+published by the Free Software Foundation; either version 2.1 of
+the License, or (at your option) any later version.
+
+
+This software is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+Lesser General Public License for more details.
+
+
+You should have received a copy of the GNU Lesser General Public
+License along with this software; if not, write to the Free
+Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+02110-1301 USA, or see the FSF site: http://www.fsf.org.
+-->
+ <h:head>
+ <title>Richfaces InputNumberSlider Demo</title>
+ </h:head>
+ <h:body>
+ <h:form id="form">
+ <h:outputText value="Skin: "/>
+ <h:selectOneMenu value="#{skinBean.skin}" onchange="submit();">
+ <f:selectItems value="#{skinBean.skins}"/>
+ </h:selectOneMenu>
+ <br />
+ <ins:inputNumberSlider id="ins" value="#{inputNumberSliderBean.value}" accesskey="#{inputNumberSliderBean.accesskey}" delay="#{inputNumberSliderBean.delay}"
+ disabled="#{inputNumberSliderBean.disabled}" enableManualInput="#{inputNumberSliderBean.enableManualInput}"
+ inputPosition="#{inputNumberSliderBean.inputPosition}" inputSize="#{inputNumberSliderBean.inputSize}" showArrows="#{inputNumberSliderBean.showArrows}"
+ showBoundaryValues="#{inputNumberSliderBean.showBoundaryValues}" showInput="#{inputNumberSliderBean.showInput}"
+ showToolTip="#{inputNumberSliderBean.showToolTip}" maxValue="#{inputNumberSliderBean.maxValue}" minValue="#{inputNumberSliderBean.minValue}"
+ step="#{inputNumberSliderBean.step}" />
+ <br />
+ <h:outputText value="Accesskey: "/>
+ <h:inputText value="#{inputNumberSliderBean.accesskey}">
+ <f:ajax render="ins"/>
+ </h:inputText>
+ <br />
+ <h:outputText value="EnableManualInput: "/>
+ <h:selectBooleanCheckbox value="#{inputNumberSliderBean.enableManualInput}">
+ <f:ajax render="ins"/>
+ </h:selectBooleanCheckbox>
+ <br />
+ <h:outputText value="Disabled "/>
+ <h:selectBooleanCheckbox value="#{inputNumberSliderBean.disabled}">
+ <f:ajax render="ins"/>
+ </h:selectBooleanCheckbox>
+ <br />
+ <h:outputText value="Delay: "/>
+ <h:inputText value="#{inputNumberSliderBean.delay}">
+ <f:ajax render="ins"/>
+ </h:inputText>
+ <br />
+ <h:outputText value="InputPosition: "/>
+ <h:selectOneMenu value="#{inputNumberSliderBean.inputPosition}">
+ <f:selectItems value="#{inputNumberSliderBean.positionTypes}"/>
+ <f:ajax render="ins"/>
+ </h:selectOneMenu>
+ <br />
+ <h:outputText value="InputSize: "/>
+ <h:inputText value="#{inputNumberSliderBean.inputSize}">
+ <f:ajax render="ins"/>
+ </h:inputText>
+ <br />
+ <h:outputText value="MaxValue: "/>
+ <h:inputText value="#{inputNumberSliderBean.maxValue}">
+ <f:ajax render="ins"/>
+ </h:inputText>
+ <br />
+ <h:outputText value="MinValue: "/>
+ <h:inputText value="#{inputNumberSliderBean.minValue}">
+ <f:ajax render="ins"/>
+ </h:inputText>
+ <br />
+ <h:outputText value="ShowArrows: "/>
+ <h:selectBooleanCheckbox value="#{inputNumberSliderBean.showArrows}">
+ <f:ajax render="ins"/>
+ </h:selectBooleanCheckbox>
+ <br />
+ <h:outputText value="ShowBoundaryValues: "/>
+ <h:selectBooleanCheckbox value="#{inputNumberSliderBean.showBoundaryValues}">
+ <f:ajax render="ins"/>
+ </h:selectBooleanCheckbox>
+ <br />
+ <h:outputText value="ShowInput: "/>
+ <h:selectBooleanCheckbox value="#{inputNumberSliderBean.showInput}">
+ <f:ajax render="ins"/>
+ </h:selectBooleanCheckbox>
+ <br />
+ <h:outputText value="ShowToolTip: "/>
+ <h:selectBooleanCheckbox value="#{inputNumberSliderBean.showToolTip}">
+ <f:ajax render="ins"/>
+ </h:selectBooleanCheckbox>
+ <br />
+ <h:outputText value="Step: "/>
+ <h:inputText value="#{inputNumberSliderBean.step}">
+ <f:ajax render="ins"/>
+ </h:inputText>
+ </h:form>
+ </h:body>
+</html>
15 years, 9 months
JBoss Rich Faces SVN: r18642 - in trunk/ui/input: ui/src/main and 5 other directories.
by richfaces-svn-commits@lists.jboss.org
Author: nbelaevski
Date: 2010-08-15 15:31:56 -0400 (Sun, 15 Aug 2010)
New Revision: 18642
Added:
trunk/ui/input/api/src/main/java/org/richfaces/component/InputNumberSliderInputPosition.java
trunk/ui/input/ui/src/main/config/
trunk/ui/input/ui/src/main/config/faces-config.xml
trunk/ui/input/ui/src/main/java/org/richfaces/renderkit/InputNumberSliderRendererBase.java
trunk/ui/input/ui/src/main/java/org/richfaces/renderkit/html/images/SliderArrowBase.java
trunk/ui/input/ui/src/main/java/org/richfaces/renderkit/html/images/SliderArrowBottom.java
trunk/ui/input/ui/src/main/java/org/richfaces/renderkit/html/images/SliderArrowLeft.java
trunk/ui/input/ui/src/main/java/org/richfaces/renderkit/html/images/SliderArrowRight.java
trunk/ui/input/ui/src/main/java/org/richfaces/renderkit/html/images/SliderDisabledArrowBottom.java
trunk/ui/input/ui/src/main/java/org/richfaces/renderkit/html/images/SliderDisabledArrowLeft.java
trunk/ui/input/ui/src/main/java/org/richfaces/renderkit/html/images/SliderDisabledArrowRight.java
trunk/ui/input/ui/src/main/java/org/richfaces/renderkit/html/images/SliderSelectedArrowBottom.java
trunk/ui/input/ui/src/main/java/org/richfaces/renderkit/html/images/SliderSelectedArrowLeft.java
trunk/ui/input/ui/src/main/java/org/richfaces/renderkit/html/images/SliderSelectedArrowRight.java
trunk/ui/input/ui/src/main/resources/META-INF/resources/org.richfaces/bg.gif
trunk/ui/input/ui/src/main/resources/META-INF/resources/org.richfaces/inputNumberSlider.ecss
trunk/ui/input/ui/src/main/resources/META-INF/resources/org.richfaces/inputNumberSlider.js
trunk/ui/input/ui/src/main/templates/input.template.inc
trunk/ui/input/ui/src/main/templates/inputnumberslider.template.xml
Log:
InputNumberSlider: moving to main area
Copied: trunk/ui/input/api/src/main/java/org/richfaces/component/InputNumberSliderInputPosition.java (from rev 18639, sandbox/trunk/ui/inputs/inputnumberslider/src/main/java/org/richfaces/component/InputNumberSliderInputPosition.java)
===================================================================
--- trunk/ui/input/api/src/main/java/org/richfaces/component/InputNumberSliderInputPosition.java (rev 0)
+++ trunk/ui/input/api/src/main/java/org/richfaces/component/InputNumberSliderInputPosition.java 2010-08-15 19:31:56 UTC (rev 18642)
@@ -0,0 +1,28 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc. and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.richfaces.component;
+
+public enum InputNumberSliderInputPosition {
+ top, right, bottom, left;
+
+ public static final InputNumberSliderInputPosition DEFAULT = right;
+}
Copied: trunk/ui/input/ui/src/main/config/faces-config.xml (from rev 18639, sandbox/trunk/ui/inputs/inputnumberslider/src/main/config/faces-config.xml)
===================================================================
--- trunk/ui/input/ui/src/main/config/faces-config.xml (rev 0)
+++ trunk/ui/input/ui/src/main/config/faces-config.xml 2010-08-15 19:31:56 UTC (rev 18642)
@@ -0,0 +1,246 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+JBoss, Home of Professional Open Source
+Copyright ${year}, Red Hat, Inc. and individual contributors
+by the @authors tag. See the copyright.txt in the distribution for a
+full listing of individual contributors.
+
+
+This is free software; you can redistribute it and/or modify it
+under the terms of the GNU Lesser General Public License as
+published by the Free Software Foundation; either version 2.1 of
+the License, or (at your option) any later version.
+
+
+This software is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+Lesser General Public License for more details.
+
+
+You should have received a copy of the GNU Lesser General Public
+License along with this software; if not, write to the Free
+Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+02110-1301 USA, or see the FSF site: http://www.fsf.org.
+-->
+<faces-config version="2.0"
+ xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-facesconfig_2_0.xsd"
+ xmlns="http://java.sun.com/xml/ns/javaee" xmlns:cdk="http://richfaces.org/cdk/extensions"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+ <component>
+ <component-type>org.richfaces.InputNumberSlider</component-type>
+ <component-class>org.richfaces.component.html.HtmlInputNumberSlider</component-class>
+ <property>
+ <property-name>accesskey</property-name>
+ <property-class>java.lang.String</property-class>
+ <property-extension>
+ <cdk:generate>true</cdk:generate>
+ </property-extension>
+ </property>
+ <property>
+ <property-name>decreaseClass</property-name>
+ <property-class>java.lang.String</property-class>
+ <property-extension>
+ <cdk:generate>true</cdk:generate>
+ </property-extension>
+ </property>
+ <property>
+ <property-name>decreaseSelectedClass</property-name>
+ <property-class>java.lang.String</property-class>
+ <property-extension>
+ <cdk:generate>true</cdk:generate>
+ </property-extension>
+ </property>
+ <property>
+ <property-name>delay</property-name>
+ <property-class>int</property-class>
+ <default-value>200</default-value>
+ <property-extension>
+ <cdk:generate>true</cdk:generate>
+ </property-extension>
+ </property>
+ <property>
+ <property-name>disabled</property-name>
+ <property-class>boolean</property-class>
+ <default-value>false</default-value>
+ <property-extension>
+ <cdk:generate>true</cdk:generate>
+ </property-extension>
+ </property>
+ <property>
+ <property-name>enableManualInput</property-name>
+ <property-class>boolean</property-class>
+ <default-value>true</default-value>
+ <property-extension>
+ <cdk:generate>true</cdk:generate>
+ </property-extension>
+ </property>
+ <property>
+ <property-name>handleClass</property-name>
+ <property-class>java.lang.String</property-class>
+ <property-extension>
+ <cdk:generate>true</cdk:generate>
+ </property-extension>
+ </property>
+ <property>
+ <property-name>handleSelectedClass</property-name>
+ <property-class>java.lang.String</property-class>
+ <property-extension>
+ <cdk:generate>true</cdk:generate>
+ </property-extension>
+ </property>
+ <property>
+ <property-name>increaseClass</property-name>
+ <property-class>java.lang.String</property-class>
+ <property-extension>
+ <cdk:generate>true</cdk:generate>
+ </property-extension>
+ </property>
+ <property>
+ <property-name>increaseSelectedClass</property-name>
+ <property-class>java.lang.String</property-class>
+ <property-extension>
+ <cdk:generate>true</cdk:generate>
+ </property-extension>
+ </property>
+ <property>
+ <property-name>inputClass</property-name>
+ <property-class>java.lang.String</property-class>
+ <property-extension>
+ <cdk:generate>true</cdk:generate>
+ </property-extension>
+ </property>
+ <property>
+ <property-name>inputPosition</property-name>
+ <property-class>org.richfaces.component.InputNumberSliderInputPosition</property-class>
+ <default-value>InputNumberSliderInputPosition.DEFAULT</default-value>
+ <property-extension>
+ <cdk:generate>true</cdk:generate>
+ </property-extension>
+ </property>
+ <property>
+ <property-name>inputSize</property-name>
+ <property-class>int</property-class>
+ <default-value>3</default-value>
+ <property-extension>
+ <cdk:generate>true</cdk:generate>
+ </property-extension>
+ </property>
+ <property>
+ <property-name>maxValue</property-name>
+ <property-class>java.lang.Number</property-class>
+ <default-value>100</default-value>
+ <property-extension>
+ <cdk:generate>true</cdk:generate>
+ </property-extension>
+ </property>
+ <property>
+ <property-name>maxlength</property-name>
+ <property-class>int</property-class>
+ <default-value>Integer.MIN_VALUE</default-value>
+ <property-extension>
+ <cdk:generate>true</cdk:generate>
+ </property-extension>
+ </property>
+ <property>
+ <property-name>minValue</property-name>
+ <property-class>java.lang.Number</property-class>
+ <default-value>0</default-value>
+ <property-extension>
+ <cdk:generate>true</cdk:generate>
+ </property-extension>
+ </property>
+ <property>
+ <property-name>showArrows</property-name>
+ <property-class>boolean</property-class>
+ <default-value>false</default-value>
+ <property-extension>
+ <cdk:generate>true</cdk:generate>
+ </property-extension>
+ </property>
+ <property>
+ <property-name>showBoundaryValues</property-name>
+ <property-class>boolean</property-class>
+ <default-value>true</default-value>
+ <property-extension>
+ <cdk:generate>true</cdk:generate>
+ </property-extension>
+ </property>
+ <property>
+ <property-name>showInput</property-name>
+ <property-class>boolean</property-class>
+ <default-value>true</default-value>
+ <property-extension>
+ <cdk:generate>true</cdk:generate>
+ </property-extension>
+ </property>
+ <property>
+ <property-name>showToolTip</property-name>
+ <property-class>boolean</property-class>
+ <default-value>true</default-value>
+ <property-extension>
+ <cdk:generate>true</cdk:generate>
+ </property-extension>
+ </property>
+ <property>
+ <property-name>step</property-name>
+ <property-class>java.lang.Number</property-class>
+ <default-value>1</default-value>
+ <property-extension>
+ <cdk:generate>true</cdk:generate>
+ </property-extension>
+ </property>
+ <property>
+ <property-name>style</property-name>
+ <property-class>java.lang.String</property-class>
+ <property-extension>
+ <cdk:generate>true</cdk:generate>
+ </property-extension>
+ </property>
+ <property>
+ <property-name>styleClass</property-name>
+ <property-class>java.lang.String</property-class>
+ <property-extension>
+ <cdk:generate>true</cdk:generate>
+ </property-extension>
+ </property>
+ <property>
+ <property-name>tabindex</property-name>
+ <property-class>int</property-class>
+ <default-value>Integer.MIN_VALUE</default-value>
+ <property-extension>
+ <cdk:generate>true</cdk:generate>
+ </property-extension>
+ </property>
+ <property>
+ <property-name>toolTipClass</property-name>
+ <property-class>java.lang.String</property-class>
+ <property-extension>
+ <cdk:generate>true</cdk:generate>
+ </property-extension>
+ </property>
+ <property>
+ <property-name>trackClass</property-name>
+ <property-class>java.lang.String</property-class>
+ <property-extension>
+ <cdk:generate>true</cdk:generate>
+ </property-extension>
+ </property>
+ <component-extension>
+ <cdk:generate>true</cdk:generate>
+ <cdk:base-class>javax.faces.component.UIInput</cdk:base-class>
+ <cdk:component-family>javax.faces.Input</cdk:component-family>
+ <cdk:renderer-type>org.richfaces.InputNumberSliderRenderer</cdk:renderer-type>
+ <cdk:tag>
+ <cdk:tag-name>inputNumberSlider</cdk:tag-name>
+ <cdk:tag-type>Facelets</cdk:tag-type>
+ </cdk:tag>
+ </component-extension>
+ </component>
+ <faces-config-extension>
+ <cdk:taglib>
+ <cdk:shortName>input</cdk:shortName>
+ <cdk:uri>http://richfaces.org/input</cdk:uri>
+ </cdk:taglib>
+ </faces-config-extension>
+</faces-config>
Copied: trunk/ui/input/ui/src/main/java/org/richfaces/renderkit/InputNumberSliderRendererBase.java (from rev 18639, sandbox/trunk/ui/inputs/inputnumberslider/src/main/java/org/richfaces/renderkit/InputNumberSliderRendererBase.java)
===================================================================
--- trunk/ui/input/ui/src/main/java/org/richfaces/renderkit/InputNumberSliderRendererBase.java (rev 0)
+++ trunk/ui/input/ui/src/main/java/org/richfaces/renderkit/InputNumberSliderRendererBase.java 2010-08-15 19:31:56 UTC (rev 18642)
@@ -0,0 +1,43 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc. and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.richfaces.renderkit;
+
+import javax.faces.component.UIComponent;
+
+import org.richfaces.component.InputNumberSliderInputPosition;
+
+/**
+ * @author Nick Belaevski
+ *
+ */
+public abstract class InputNumberSliderRendererBase extends InputRendererBase {
+
+ protected boolean isInputPosition(UIComponent component, String name) {
+ InputNumberSliderInputPosition type = (InputNumberSliderInputPosition) component.getAttributes().get("inputPosition");
+ if (type == null) {
+ type = InputNumberSliderInputPosition.DEFAULT;
+ }
+
+ return type == InputNumberSliderInputPosition.valueOf(name);
+ }
+
+}
Copied: trunk/ui/input/ui/src/main/java/org/richfaces/renderkit/html/images/SliderArrowBase.java (from rev 18636, sandbox/trunk/ui/inputs/inputnumberslider/src/main/java/org/richfaces/renderkit/html/images/SliderArrowBase.java)
===================================================================
--- trunk/ui/input/ui/src/main/java/org/richfaces/renderkit/html/images/SliderArrowBase.java (rev 0)
+++ trunk/ui/input/ui/src/main/java/org/richfaces/renderkit/html/images/SliderArrowBase.java 2010-08-15 19:31:56 UTC (rev 18642)
@@ -0,0 +1,98 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright ${year}, Red Hat, Inc. and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+
+package org.richfaces.renderkit.html.images;
+
+import java.awt.Color;
+import java.awt.Dimension;
+import java.awt.Graphics2D;
+import java.awt.RenderingHints;
+import java.io.DataInput;
+import java.io.DataOutput;
+import java.io.IOException;
+import java.util.Date;
+import java.util.Map;
+
+import javax.faces.context.FacesContext;
+
+import org.richfaces.resource.DynamicResource;
+import org.richfaces.resource.ImageType;
+import org.richfaces.resource.Java2DUserResource;
+import org.richfaces.resource.StateHolderResource;
+import org.richfaces.skin.Skin;
+import org.richfaces.skin.SkinFactory;
+
+/**
+ * @author Konstantin Mishin
+ *
+ */
+@DynamicResource
+public abstract class SliderArrowBase implements Java2DUserResource, StateHolderResource {
+
+ private Dimension dimension = new Dimension(7, 7);
+ private int color;
+ private String colorName = Skin.GENERAL_TEXT_COLOR;
+
+ private void initialize() {
+ FacesContext context = FacesContext.getCurrentInstance();
+ Skin skin = SkinFactory.getInstance(context).getSkin(context);
+ this.color = skin.getColorParameter(context, colorName);
+ }
+
+ protected final void setColorName(String colorName) {
+ this.colorName = colorName;
+ }
+
+ public Dimension getDimension() {
+ return dimension;
+ }
+ public void paint(Graphics2D graphics2d, Dimension dimension) {
+ graphics2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
+ graphics2d.setColor(new Color(color));
+ }
+
+ public void writeState(FacesContext context, DataOutput dataOutput) throws IOException {
+ initialize();
+ dataOutput.writeInt(this.color);
+ }
+
+ public void readState(FacesContext context, DataInput dataInput) throws IOException {
+ this.color = dataInput.readInt();
+ }
+
+ public Map<String, String> getResponseHeaders() {
+ return null;
+ }
+
+ public Date getLastModified() {
+ return null;
+ }
+
+ public ImageType getImageType() {
+ return ImageType.PNG;
+ }
+
+ public boolean isTransient() {
+ return false;
+ }
+
+}
Copied: trunk/ui/input/ui/src/main/java/org/richfaces/renderkit/html/images/SliderArrowBottom.java (from rev 18636, sandbox/trunk/ui/inputs/inputnumberslider/src/main/java/org/richfaces/renderkit/html/images/SliderArrowBottom.java)
===================================================================
--- trunk/ui/input/ui/src/main/java/org/richfaces/renderkit/html/images/SliderArrowBottom.java (rev 0)
+++ trunk/ui/input/ui/src/main/java/org/richfaces/renderkit/html/images/SliderArrowBottom.java 2010-08-15 19:31:56 UTC (rev 18642)
@@ -0,0 +1,42 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright ${year}, Red Hat, Inc. and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+
+package org.richfaces.renderkit.html.images;
+
+import java.awt.Dimension;
+import java.awt.Graphics2D;
+
+/**
+ * @author Konstantin Mishin
+ *
+ */
+public class SliderArrowBottom extends SliderArrowBase {
+
+ @Override
+ public void paint(Graphics2D graphics2d, Dimension dimension) {
+ super.paint(graphics2d, dimension);
+ graphics2d.drawLine(0, 1, 6, 1);
+ graphics2d.drawLine(1, 2, 5, 2);
+ graphics2d.drawLine(2, 3, 4, 3);
+ graphics2d.drawLine(3, 4, 3, 4);
+ }
+}
Copied: trunk/ui/input/ui/src/main/java/org/richfaces/renderkit/html/images/SliderArrowLeft.java (from rev 18636, sandbox/trunk/ui/inputs/inputnumberslider/src/main/java/org/richfaces/renderkit/html/images/SliderArrowLeft.java)
===================================================================
--- trunk/ui/input/ui/src/main/java/org/richfaces/renderkit/html/images/SliderArrowLeft.java (rev 0)
+++ trunk/ui/input/ui/src/main/java/org/richfaces/renderkit/html/images/SliderArrowLeft.java 2010-08-15 19:31:56 UTC (rev 18642)
@@ -0,0 +1,42 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright ${year}, Red Hat, Inc. and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+
+package org.richfaces.renderkit.html.images;
+
+import java.awt.Dimension;
+import java.awt.Graphics2D;
+
+/**
+ * @author Konstantin Mishin
+ *
+ */
+public class SliderArrowLeft extends SliderArrowBase {
+
+ @Override
+ public void paint(Graphics2D graphics2d, Dimension dimension) {
+ super.paint(graphics2d, dimension);
+ graphics2d.drawLine(4, 0, 4, 6);
+ graphics2d.drawLine(3, 1, 3, 5);
+ graphics2d.drawLine(2, 2, 2, 4);
+ graphics2d.drawLine(1, 3, 1, 3);
+ }
+}
Copied: trunk/ui/input/ui/src/main/java/org/richfaces/renderkit/html/images/SliderArrowRight.java (from rev 18636, sandbox/trunk/ui/inputs/inputnumberslider/src/main/java/org/richfaces/renderkit/html/images/SliderArrowRight.java)
===================================================================
--- trunk/ui/input/ui/src/main/java/org/richfaces/renderkit/html/images/SliderArrowRight.java (rev 0)
+++ trunk/ui/input/ui/src/main/java/org/richfaces/renderkit/html/images/SliderArrowRight.java 2010-08-15 19:31:56 UTC (rev 18642)
@@ -0,0 +1,42 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright ${year}, Red Hat, Inc. and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+
+package org.richfaces.renderkit.html.images;
+
+import java.awt.Dimension;
+import java.awt.Graphics2D;
+
+/**
+ * @author Konstantin Mishin
+ *
+ */
+public class SliderArrowRight extends SliderArrowBase {
+
+ @Override
+ public void paint(Graphics2D graphics2d, Dimension dimension) {
+ super.paint(graphics2d, dimension);
+ graphics2d.drawLine(2, 0, 2, 6);
+ graphics2d.drawLine(3, 1, 3, 5);
+ graphics2d.drawLine(4, 2, 4, 4);
+ graphics2d.drawLine(5, 3, 5, 3);
+ }
+}
Copied: trunk/ui/input/ui/src/main/java/org/richfaces/renderkit/html/images/SliderDisabledArrowBottom.java (from rev 18636, sandbox/trunk/ui/inputs/inputnumberslider/src/main/java/org/richfaces/renderkit/html/images/SliderDisabledArrowBottom.java)
===================================================================
--- trunk/ui/input/ui/src/main/java/org/richfaces/renderkit/html/images/SliderDisabledArrowBottom.java (rev 0)
+++ trunk/ui/input/ui/src/main/java/org/richfaces/renderkit/html/images/SliderDisabledArrowBottom.java 2010-08-15 19:31:56 UTC (rev 18642)
@@ -0,0 +1,35 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright ${year}, Red Hat, Inc. and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+
+package org.richfaces.renderkit.html.images;
+
+
+/**
+ * @author Konstantin Mishin
+ *
+ */
+public class SliderDisabledArrowBottom extends SliderArrowBottom {
+
+ public SliderDisabledArrowBottom() {
+ setColorName("tabDisabledTextColor");
+ }
+}
Copied: trunk/ui/input/ui/src/main/java/org/richfaces/renderkit/html/images/SliderDisabledArrowLeft.java (from rev 18636, sandbox/trunk/ui/inputs/inputnumberslider/src/main/java/org/richfaces/renderkit/html/images/SliderDisabledArrowLeft.java)
===================================================================
--- trunk/ui/input/ui/src/main/java/org/richfaces/renderkit/html/images/SliderDisabledArrowLeft.java (rev 0)
+++ trunk/ui/input/ui/src/main/java/org/richfaces/renderkit/html/images/SliderDisabledArrowLeft.java 2010-08-15 19:31:56 UTC (rev 18642)
@@ -0,0 +1,35 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright ${year}, Red Hat, Inc. and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+
+package org.richfaces.renderkit.html.images;
+
+
+/**
+ * @author Konstantin Mishin
+ *
+ */
+public class SliderDisabledArrowLeft extends SliderArrowLeft {
+
+ public SliderDisabledArrowLeft() {
+ setColorName("tabDisabledTextColor");
+ }
+}
Copied: trunk/ui/input/ui/src/main/java/org/richfaces/renderkit/html/images/SliderDisabledArrowRight.java (from rev 18636, sandbox/trunk/ui/inputs/inputnumberslider/src/main/java/org/richfaces/renderkit/html/images/SliderDisabledArrowRight.java)
===================================================================
--- trunk/ui/input/ui/src/main/java/org/richfaces/renderkit/html/images/SliderDisabledArrowRight.java (rev 0)
+++ trunk/ui/input/ui/src/main/java/org/richfaces/renderkit/html/images/SliderDisabledArrowRight.java 2010-08-15 19:31:56 UTC (rev 18642)
@@ -0,0 +1,35 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright ${year}, Red Hat, Inc. and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+
+package org.richfaces.renderkit.html.images;
+
+
+/**
+ * @author Konstantin Mishin
+ *
+ */
+public class SliderDisabledArrowRight extends SliderArrowRight {
+
+ public SliderDisabledArrowRight() {
+ setColorName("tabDisabledTextColor");
+ }
+}
Copied: trunk/ui/input/ui/src/main/java/org/richfaces/renderkit/html/images/SliderSelectedArrowBottom.java (from rev 18636, sandbox/trunk/ui/inputs/inputnumberslider/src/main/java/org/richfaces/renderkit/html/images/SliderSelectedArrowBottom.java)
===================================================================
--- trunk/ui/input/ui/src/main/java/org/richfaces/renderkit/html/images/SliderSelectedArrowBottom.java (rev 0)
+++ trunk/ui/input/ui/src/main/java/org/richfaces/renderkit/html/images/SliderSelectedArrowBottom.java 2010-08-15 19:31:56 UTC (rev 18642)
@@ -0,0 +1,35 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright ${year}, Red Hat, Inc. and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+
+package org.richfaces.renderkit.html.images;
+
+
+/**
+ * @author Konstantin Mishin
+ *
+ */
+public class SliderSelectedArrowBottom extends SliderArrowBottom {
+
+ public SliderSelectedArrowBottom() {
+ setColorName("tipBorderColor");
+ }
+}
Copied: trunk/ui/input/ui/src/main/java/org/richfaces/renderkit/html/images/SliderSelectedArrowLeft.java (from rev 18636, sandbox/trunk/ui/inputs/inputnumberslider/src/main/java/org/richfaces/renderkit/html/images/SliderSelectedArrowLeft.java)
===================================================================
--- trunk/ui/input/ui/src/main/java/org/richfaces/renderkit/html/images/SliderSelectedArrowLeft.java (rev 0)
+++ trunk/ui/input/ui/src/main/java/org/richfaces/renderkit/html/images/SliderSelectedArrowLeft.java 2010-08-15 19:31:56 UTC (rev 18642)
@@ -0,0 +1,35 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright ${year}, Red Hat, Inc. and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+
+package org.richfaces.renderkit.html.images;
+
+
+/**
+ * @author Konstantin Mishin
+ *
+ */
+public class SliderSelectedArrowLeft extends SliderArrowLeft {
+
+ public SliderSelectedArrowLeft() {
+ setColorName("tipBorderColor");
+ }
+}
Copied: trunk/ui/input/ui/src/main/java/org/richfaces/renderkit/html/images/SliderSelectedArrowRight.java (from rev 18636, sandbox/trunk/ui/inputs/inputnumberslider/src/main/java/org/richfaces/renderkit/html/images/SliderSelectedArrowRight.java)
===================================================================
--- trunk/ui/input/ui/src/main/java/org/richfaces/renderkit/html/images/SliderSelectedArrowRight.java (rev 0)
+++ trunk/ui/input/ui/src/main/java/org/richfaces/renderkit/html/images/SliderSelectedArrowRight.java 2010-08-15 19:31:56 UTC (rev 18642)
@@ -0,0 +1,35 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright ${year}, Red Hat, Inc. and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+
+package org.richfaces.renderkit.html.images;
+
+
+/**
+ * @author Konstantin Mishin
+ *
+ */
+public class SliderSelectedArrowRight extends SliderArrowRight {
+
+ public SliderSelectedArrowRight() {
+ setColorName("tipBorderColor");
+ }
+}
Copied: trunk/ui/input/ui/src/main/resources/META-INF/resources/org.richfaces/bg.gif (from rev 18636, sandbox/trunk/ui/inputs/inputnumberslider/src/main/resources/META-INF/resources/bg.gif)
===================================================================
(Binary files differ)
Copied: trunk/ui/input/ui/src/main/resources/META-INF/resources/org.richfaces/inputNumberSlider.ecss (from rev 18636, sandbox/trunk/ui/inputs/inputnumberslider/src/main/resources/META-INF/resources/inputNumberSlider.ecss)
===================================================================
--- trunk/ui/input/ui/src/main/resources/META-INF/resources/org.richfaces/inputNumberSlider.ecss (rev 0)
+++ trunk/ui/input/ui/src/main/resources/META-INF/resources/org.richfaces/inputNumberSlider.ecss 2010-08-15 19:31:56 UTC (rev 18642)
@@ -0,0 +1,128 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright ${year}, Red Hat, Inc. and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+.rf-ins, .rf-ins-ta {
+ display: inline-block;
+}
+
+.rf-ins {
+ white-space: nowrap;
+}
+
+.rf-ins-ta {
+ width: 200px; /*TODO remove it*/
+ vertical-align: top;
+}
+
+.rf-ins-mn, .rf-ins-mx, input.rf-ins-i, .rf-ins-tt {
+ font-size: 11px;
+ font-family: arial;
+ color: #000000;
+}
+
+.rf-ins-mn, .rf-ins-mx {
+ display: block;
+ margin-bottom: 3px;
+}
+
+.rf-ins-mn {
+ border-left: 1px solid #c0c0c0;
+ padding-left: 3px;
+ float: left;
+}
+
+.rf-ins-mx {
+ border-right: 1px solid #c0c0c0;
+ padding-right: 3px;
+ float: right;
+ text-align: right;
+}
+
+.rf-ins-ci {
+ margin: 0px;
+ vertical-align: bottom;
+}
+
+input.rf-ins-i {
+ background: url("#{resource['org.richfaces.renderkit.html.images.InputBackgroundImage']}") top repeat-x #fff;
+ border: 1px inset #C0C0C0;
+ margin: 0px 10px 0px 10px;
+}
+
+.rf-ins-tt {
+ position: absolute;
+ display: none;
+ /* TODO padding: 2px;
+ border: 1px solid '#{richSkin.tipBorderColor}';
+ background-color: '#{richSkin.tipBackgroundColor}';*/
+}
+
+.rf-ins-t {
+ background: url("#{resource['org.richfaces:bg.gif']}") 1px 1px repeat-x #FFFFFF;
+ border: 1px solid #C0C0C0;
+ display: block;
+ height: 6px;
+ clear: both;
+ vertical-align: top;
+}
+
+.rf-ins-h, .rf-ins-db, .rf-ins-ib, .rf-ins-h-d, .rf-ins-db-d, .rf-ins-ib-d {
+ display: inline-block;
+ width: 7px;
+ height: 7px;
+ vertical-align: top;
+}
+
+.rf-ins-h {
+ background-image: url("#{resource['org.richfaces.renderkit.html.images.SliderArrowBottom']}");
+}
+
+.rf-ins-h-s {
+ background-image: url("#{resource['org.richfaces.renderkit.html.images.SliderSelectedArrowBottom']}");
+}
+
+.rf-ins-h-d {
+ background-image: url("#{resource['org.richfaces.renderkit.html.images.SliderDisabledArrowBottom']}");
+}
+
+.rf-ins-db {
+ background-image: url("#{resource['org.richfaces.renderkit.html.images.SliderArrowLeft']}");
+}
+
+.rf-ins-db-s {
+ background-image: url("#{resource['org.richfaces.renderkit.html.images.SliderSelectedArrowLeft']}");
+}
+
+.rf-ins-db-d {
+ background-image: url("#{resource['org.richfaces.renderkit.html.images.SliderDisabledArrowLeft']}");
+}
+
+.rf-ins-ib {
+ background-image: url("#{resource['org.richfaces.renderkit.html.images.SliderArrowRight']}");
+}
+
+.rf-ins-ib-s {
+ background-image: url("#{resource['org.richfaces.renderkit.html.images.SliderSelectedArrowRight']}");
+}
+
+.rf-ins-ib-d {
+ background-image: url("#{resource['org.richfaces.renderkit.html.images.SliderDisabledArrowRight']}");
+}
\ No newline at end of file
Copied: trunk/ui/input/ui/src/main/resources/META-INF/resources/org.richfaces/inputNumberSlider.js (from rev 18636, sandbox/trunk/ui/inputs/inputnumberslider/src/main/resources/META-INF/resources/inputNumberSlider.js)
===================================================================
--- trunk/ui/input/ui/src/main/resources/META-INF/resources/org.richfaces/inputNumberSlider.js (rev 0)
+++ trunk/ui/input/ui/src/main/resources/META-INF/resources/org.richfaces/inputNumberSlider.js 2010-08-15 19:31:56 UTC (rev 18642)
@@ -0,0 +1,176 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright ${year}, Red Hat, Inc. and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+(function(richfaces, jQuery) {
+ richfaces.ui = richfaces.ui || {};
+
+ richfaces.ui.InputNumberSlider = richfaces.BaseComponent.extendClass({
+
+ name: "InputNumberSlider",
+
+ delay: 200,
+ maxValue: 100,
+ minValue: 0,
+ step: 1,
+ tabIndex: 0,
+
+ decreaseSelectedClass: "rf-ins-db-s",
+ handleSelectedClass: "rf-ins-h-s",
+ increaseSelectedClass: "rf-ins-ib-s",
+
+ init: function (id, options, selectedClasses) {
+ jQuery.extend(this, options);
+ this.range = this.maxValue - this.minValue;
+ this.id = id;
+ this.element = jQuery(this.attachToDom());
+ this.input = this.element.children(".rf-ins-i");
+ this.track = this.element.children(".rf-ins-ta").children(".rf-ins-t");
+ this.handle = this.track.children(".rf-ins-h, .rf-ins-h-d");
+ this.tooltip = this.element.children(".rf-ins-tt");
+
+ this.__inputHandler();
+
+ if (!this.disabled) {
+ this.decreaseButton = this.element.children(".rf-ins-db");
+ this.increaseButton = this.element.children(".rf-ins-ib");
+
+ this.track[0].tabIndex = this.tabIndex;
+
+ for (var i in selectedClasses) {
+ this[i] += " " + selectedClasses[i];
+ }
+ var proxy = jQuery.proxy(this.__inputHandler, this)
+ this.input.change(proxy);
+ this.input.submit(proxy);
+ this.track.keydown(jQuery.proxy(this.__keydownHandler, this));
+ this.decreaseButton.mousedown(jQuery.proxy(this.__decreaseHandler, this));
+ this.increaseButton.mousedown(jQuery.proxy(this.__increaseHandler, this));
+ this.track.mousedown(jQuery.proxy(this.__mousedownHandler, this));
+ }
+ },
+
+ decrease: function (event) {
+ this.setValue(this.value - this.step);
+ },
+
+ increase: function (event) {
+ this.setValue(this.value + this.step);
+ },
+
+ setValue: function (value) {
+ if (!this.disabled) {
+ this.__setValue(value);
+ }
+ },
+
+ __setValue: function (value) {
+ if (!isNaN(value)) {
+ value = Math.round(value / this.step) * this.step; //TODO Add normal support of float values. E.g. '0.3' should be instead of '0.30000000000000004'.
+ if (value > this.maxValue) {
+ value = this.maxValue;
+ } else if (value < this.minValue) {
+ value = this.minValue;
+ }
+ if (value != this.value) {
+ this.input.val(value);
+ var left = (value - this.minValue) * (this.track.width() - this.handle.width()) / this.range;
+ this.handle.css("margin-left", left + "px");
+ this.tooltip.text(value);
+ this.tooltip.setPosition(this.handle,{from: 'LT', offset: [0, -3]}); //TODO Seems offset doesn't work now.
+ this.value = value;
+ }
+ }
+ },
+
+ __inputHandler: function () {
+ var value = Number(this.input.val());
+ if (isNaN(value)) {
+ this.input.val(this.value);
+ } else {
+ this.__setValue(value);
+ }
+ },
+
+ __keydownHandler: function (event) {
+ if (event.keyCode == 37) { //LEFT
+ this.__setValue(Number(this.input.val()) - this.step);
+ event.preventDefault();
+ } else if (event.keyCode == 39) { //RIGHT
+ this.__setValue(Number(this.input.val()) + this.step);
+ event.preventDefault();
+ }
+ },
+
+ __decreaseHandler: function (event) {
+ var component = this;
+ component.decrease();
+ this.intervalId = window.setInterval(function() {
+ component.decrease();
+ }, this.delay);
+ jQuery(document).one("mouseup", true, jQuery.proxy(this.__clearInterval, this));
+ this.decreaseButton.addClass(this.decreaseSelectedClass);
+ event.preventDefault();
+ },
+
+ __increaseHandler: function (event) {
+ var component = this;
+ component.increase();
+ this.intervalId = window.setInterval(function() {
+ component.increase();
+ }, this.delay);
+ jQuery(document).one("mouseup",jQuery.proxy(this.__clearInterval, this));
+ this.increaseButton.addClass(this.increaseSelectedClass);
+ event.preventDefault();
+ },
+
+ __clearInterval: function (event) {
+ window.clearInterval(this.intervalId);
+ if (event.data) { // decreaseButton
+ this.decreaseButton.removeClass(this.decreaseSelectedClass);
+ } else {
+ this.increaseButton.removeClass(this.increaseSelectedClass);
+ }
+ },
+
+ __mousedownHandler: function (event) {
+ this.__mousemoveHandler(event);
+ this.track.focus();
+ var jQueryDocument = jQuery(document);
+ jQueryDocument.mousemove(jQuery.proxy(this.__mousemoveHandler, this));
+ jQueryDocument.one("mouseup", jQuery.proxy(this.__mouseupHandler, this));
+ this.handle.addClass(this.handleSelectedClass);
+ this.tooltip.show();
+ },
+
+ __mousemoveHandler: function (event) {
+ var value = this.range * (event.pageX - this.track.position().left) / (this.track.width()
+ - this.handle.width()) + this.minValue;
+ this.__setValue(value);
+ event.preventDefault();
+ },
+
+ __mouseupHandler: function () {
+ this.handle.removeClass(this.handleSelectedClass);
+ this.tooltip.hide();
+ jQuery(document).unbind("mousemove", this.__mousemoveHandler);
+ }
+ });
+}(window.RichFaces, jQuery));
\ No newline at end of file
Copied: trunk/ui/input/ui/src/main/templates/input.template.inc (from rev 18636, sandbox/trunk/ui/inputs/inputnumberslider/src/main/templates/input.template.inc)
===================================================================
--- trunk/ui/input/ui/src/main/templates/input.template.inc (rev 0)
+++ trunk/ui/input/ui/src/main/templates/input.template.inc 2010-08-15 19:31:56 UTC (rev 18642)
@@ -0,0 +1,30 @@
+<!--
+JBoss, Home of Professional Open Source
+Copyright ${year}, Red Hat, Inc. and individual contributors
+by the @authors tag. See the copyright.txt in the distribution for a
+full listing of individual contributors.
+
+
+This is free software; you can redistribute it and/or modify it
+under the terms of the GNU Lesser General Public License as
+published by the Free Software Foundation; either version 2.1 of
+the License, or (at your option) any later version.
+
+
+This software is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+Lesser General Public License for more details.
+
+
+You should have received a copy of the GNU Lesser General Public
+License along with this software; if not, write to the Free
+Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+02110-1301 USA, or see the FSF site: http://www.fsf.org.
+-->
+<span class="rf-ins-ci">
+ <input xmlns:cdk="http://richfaces.org/cdk/core" name="#{clientId}" type="text"
+ class="rf-ins-i #{component.attributes['inputClass']}" value="#{getInputValue(facesContext, component)}"
+ cdk:passThrough="accesskey disabled maxlength size:inputSize tabindex" readonly="#{!component.attributes['enableManualInput']}"
+ style="#{component.attributes['showInput'] ? null : 'display: none;'}" />
+</span>
\ No newline at end of file
Copied: trunk/ui/input/ui/src/main/templates/inputnumberslider.template.xml (from rev 18638, sandbox/trunk/ui/inputs/inputnumberslider/src/main/templates/inputnumberslider.template.xml)
===================================================================
--- trunk/ui/input/ui/src/main/templates/inputnumberslider.template.xml (rev 0)
+++ trunk/ui/input/ui/src/main/templates/inputnumberslider.template.xml 2010-08-15 19:31:56 UTC (rev 18642)
@@ -0,0 +1,88 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+JBoss, Home of Professional Open Source
+Copyright ${year}, Red Hat, Inc. and individual contributors
+by the @authors tag. See the copyright.txt in the distribution for a
+full listing of individual contributors.
+
+
+This is free software; you can redistribute it and/or modify it
+under the terms of the GNU Lesser General Public License as
+published by the Free Software Foundation; either version 2.1 of
+the License, or (at your option) any later version.
+
+
+This software is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+Lesser General Public License for more details.
+
+
+You should have received a copy of the GNU Lesser General Public
+License along with this software; if not, write to the Free
+Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+02110-1301 USA, or see the FSF site: http://www.fsf.org.
+-->
+<cdk:root xmlns="http://richfaces.org/cdk/xhtml-el" xmlns:cdk="http://richfaces.org/cdk/core"
+ xmlns:cc="http://richfaces.org/cdk/jsf/composite" xmlns:c="http://richfaces.org/cdk/jstl/core"
+ xmlns:xi="http://www.w3.org/2001/XInclude">
+ <cc:interface>
+ <cdk:class>org.richfaces.renderkit.html.InputNumberSliderRenderer</cdk:class>
+ <cdk:superclass>org.richfaces.renderkit.InputNumberSliderRendererBase</cdk:superclass>
+ <cdk:component-family>javax.faces.Input</cdk:component-family>
+ <cdk:renderer-type>org.richfaces.InputNumberSliderRenderer</cdk:renderer-type>
+ <cdk:resource-dependency library="org.richfaces" name="inputNumberSlider.ecss" />
+ <cdk:resource-dependency library="javax.faces" name="jsf.js" />
+ <cdk:resource-dependency name="jquery.js" />
+ <cdk:resource-dependency name="jquery.position.js" />
+ <cdk:resource-dependency name="richfaces.js" />
+ <cdk:resource-dependency name="richfaces-base-component.js" />
+ <cdk:resource-dependency library="org.richfaces" name="inputNumberSlider.js" />
+ </cc:interface>
+ <cc:implementation>
+ <span id="#{clientId}" class="rf-ins #{component.attributes['styleClass']}" cdk:passThroughWithExclusions="id class">
+ <c:if test="#{isInputPosition(component, 'left') || isInputPosition(component, 'top')}">
+ <xi:include xpointer="xpointer(/*)" href="input.template.inc" />
+ <c:if test="#{isInputPosition(component, 'top') and component.attributes['showInput']}">
+ <br />
+ </c:if>
+ </c:if>
+ <c:if test="#{component.attributes['showArrows']}">
+ <span class="rf-ins-db#{component.attributes['disabled'] ? '-d' : ''} #{component.attributes['decreaseClass']}" />
+ </c:if>
+ <span class="rf-ins-ta">
+ <c:if test="#{component.attributes['showBoundaryValues']}">
+ <span class="rf-ins-mn">#{component.attributes['minValue']}</span>
+ <span class="rf-ins-mx">#{component.attributes['maxValue']}</span>
+ </c:if>
+ <span class="rf-ins-t #{component.attributes['trackClass']}">
+ <span class="rf-ins-h#{component.attributes['disabled'] ? '-d' : ''} #{component.attributes['handleClass']}" />
+ </span>
+ </span>
+ <c:if test="#{component.attributes['showArrows']}">
+ <span class="rf-ins-ib#{component.attributes['disabled'] ? '-d' : ''} #{component.attributes['increaseClass']}" />
+ </c:if>
+ <c:if test="#{isInputPosition(component, 'right') || isInputPosition(component, 'bottom')}">
+ <c:if test="#{isInputPosition(component, 'bottom') and component.attributes['showInput']}">
+ <br />
+ </c:if>
+ <xi:include xpointer="xpointer(/*)" href="input.template.inc" />
+ </c:if>
+ <c:if test="#{component.attributes['showToolTip']}">
+ <span class="rf-ins-tt #{component.attributes['toolTipClass']}">#{getInputValue(facesContext, component)}</span>
+ </c:if>
+ <script type="text/javascript">new RichFaces.ui.InputNumberSlider('#{clientId}', {
+ delay: #{component.attributes['delay']},
+ disabled: #{component.attributes['disabled']},
+ maxValue: #{component.attributes['maxValue']},
+ minValue: #{component.attributes['minValue']},
+ step: #{component.attributes['step']},
+ tabIndex: #{RenderKitUtils.shouldRenderAttribute(component.attributes['tabindex']) ? component.attributes['tabindex'] : 'null'}
+ }, {
+ decreaseSelectedClass: '#{component.attributes['decreaseSelectedClass']}',
+ handleSelectedClass: '#{component.attributes['handleSelectedClass']}',
+ increaseSelectedClass: '#{component.attributes['increaseSelectedClass']}'
+ });</script>
+ </span>
+ </cc:implementation>
+</cdk:root>
15 years, 9 months