Author: cluts
Date: 2008-06-10 05:27:24 -0400 (Tue, 10 Jun 2008)
New Revision: 8967
Modified:
trunk/docs/faq/en/src/main/docbook/module/RFCfaq.xml
trunk/docs/faq/en/src/main/resources/css/html.css
trunk/docs/userguide/en/src/main/docbook/included/ajaxListener.xml
trunk/docs/userguide/en/src/main/docbook/included/columns.xml
trunk/docs/userguide/en/src/main/docbook/included/commandButton.xml
trunk/docs/userguide/en/src/main/docbook/included/componentControl.xml
trunk/docs/userguide/en/src/main/docbook/included/dataFilterSlider.xml
trunk/docs/userguide/en/src/main/docbook/included/dataOrderedList.xml
trunk/docs/userguide/en/src/main/docbook/included/dragIndicator.xml
trunk/docs/userguide/en/src/main/docbook/included/dragListener.xml
trunk/docs/userguide/en/src/main/docbook/included/dragSupport.xml
trunk/docs/userguide/en/src/main/docbook/included/dropListener.xml
trunk/docs/userguide/en/src/main/docbook/included/dropSupport.xml
trunk/docs/userguide/en/src/main/docbook/included/fileUpload.xml
trunk/docs/userguide/en/src/main/docbook/included/form.xml
trunk/docs/userguide/en/src/main/docbook/included/gmap.xml
trunk/docs/userguide/en/src/main/docbook/included/inputNumberSlider.xml
trunk/docs/userguide/en/src/main/docbook/included/inputNumberSpinner.xml
trunk/docs/userguide/en/src/main/docbook/included/loadScript.desc.xml
trunk/docs/userguide/en/src/main/docbook/included/loadScript.xml
trunk/docs/userguide/en/src/main/docbook/included/mediaOutput.xml
trunk/docs/userguide/en/src/main/docbook/included/outputPanel.xml
trunk/docs/userguide/en/src/main/docbook/included/region.xml
trunk/docs/userguide/en/src/main/docbook/included/repeat.xml
trunk/docs/userguide/en/src/main/docbook/included/support.xml
trunk/docs/userguide/en/src/main/docbook/included/virtualEarth.xml
trunk/docs/userguide/en/src/main/docbook/modules/AUGWADParams.xml
trunk/docs/userguide/en/src/main/docbook/modules/RFCSettings.xml
trunk/docs/userguide/en/src/main/docbook/modules/RFCarchitectover.xml
trunk/docs/userguide/en/src/main/resources/css/html.css
Log:
RF-3161 - css rules for tag <code> were added.
partly done for: "FAQ", " Web Application Descriptor Parameters",
" Basic concepts of the RichFaces Framework" chapters, some components:
column(s), ajaxListener, commandButton, componentControl, dataFilterSlider,
dataOrderedList, dragIndicator, drag(drop)Listener, drag(drop)Support, fileUpload,form,
gmap, inputNumberSlider, loadScript, mediaOutput, outputPanel, region, support,
virtualEarth.
Modified: trunk/docs/faq/en/src/main/docbook/module/RFCfaq.xml
===================================================================
--- trunk/docs/faq/en/src/main/docbook/module/RFCfaq.xml 2008-06-10 09:24:42 UTC (rev
8966)
+++ trunk/docs/faq/en/src/main/docbook/module/RFCfaq.xml 2008-06-10 09:27:24 UTC (rev
8967)
@@ -564,7 +564,7 @@
<para>
<emphasis role="bold">Example:</emphasis>
</para>
- <programlisting
role="JAVA"><![CDATA[.rich-datascr-button {
+ <programlisting
role="CSS"><![CDATA[.rich-datascr-button {
border: 0px;
}
.rich-dtascroller-table {
@@ -736,8 +736,7 @@
<title>How to set <rich:dataTable> border to
0px?</title>
<para>Add the following code to your css file:</para>
<programlisting role="CSS"><![CDATA[...
- .rich-table, .rich-table-header,.rich-table-headercell,
.rich-table-cell,
- .rich-subtable-cell, .rich-table-footercell,
.rich-subtable-footercell {
+ .rich-table, .rich-table-header,.rich-table-headercell, .rich-table-cell,
.rich-subtable-cell, .rich-table-footercell, .rich-subtable-footercell {
border-width:0px;
}
...
@@ -836,14 +835,11 @@
<property>"onsubmit"</property>
</emphasis>slightly differs from the standard one.
Do not return <emphasis>
<property>"true"</property>
- </emphasis> if you want to fire the request -
because <emphasis
- role="bold">
-
<property><xxx><a4j:support
+ </emphasis> if you want to fire the request -
because <code><xxx><a4j:support
event="onclick"
onsubmit="return
- true;"></property>
- </emphasis> is transformed into <xxx
onclick="return
- true; A4J.Submit(.... );" > and the
request
+ true;"></code> is
transformed into <code><xxx onclick="return
+ true; A4J.Submit(.... );" ></code>
and the request
isn't fired also in this case (but the standard
event
processing fired). You must only return <emphasis>
<property>"false"</property>
@@ -858,15 +854,13 @@
release 1.0?</title>
<para> To avoid differences with other JavaScript attributes, a
function placement
in a JavaScript call is changed, instead of simple inserting of
attribute
- content (..oncomplete :anotherFunction(this)..), it places
(oncomplete:
- function(){anotherFunction(this);}..) in anonymous function, to
allow put
+ content (<code>..oncomplete
:anotherFunction(this)..</code>), it places (<code>oncomplete:
+ function(){anotherFunction(this);}..</code>) in anonymous
function, to allow put
"chain" of statements in attribute.
</para>
<para> Since, <emphasis>
<property>"this"</property>
</emphasis> keyword will point to a parameters map instead
of a control
- element as it was before. You may use <emphasis>
-
<property>document.findElementById()</property>
- </emphasis>to get references to this object after a request
is processed as
+ element as it was before. You may use
<code>document.findElementById()</code>to get references to this object after
a request is processed as
when a page is updated in Ajax you will have reference to a
control, removed
from a DOM tree. </para>
<para> Or, if you are sure that your element is not updated, you
can add <emphasis>
@@ -875,21 +869,19 @@
<property><a4j:support></property>
</emphasis> (or onclick in <emphasis
role="bold">
<property><a4j:commandLink/Button></property>
- </emphasis>) to place reference to known variable
(<emphasis role="bold">
- <property><a4j:commandLink onclick="var
myControl=this;"
-
oncomplete="anotherFunction(myControl)"/></property>
- </emphasis>). </para>
+ </emphasis>) to place reference to known variable
(<code><a4j:commandLink onclick="var myControl=this;"
+
oncomplete="anotherFunction(myControl)"/></code>). </para>
<tip>
<title>Tip:</title>
<para>The onComplete syntax now is:</para>
<programlisting role="XML">
<![CDATA[<someAjaxActionComponent
...oncomplete="myFunc(req,event,data)".../>]]>
</programlisting>
- <para> where the <property>event</property> is
a variable where the JS event
+ <para> where the <code>event</code> is a
variable where the JS event
copy that fires the request is placed into. One may use
it to get
- the element instead of this. and
<property>data</property> is a
+ the element instead of this. and
<code>data</code> is a
variable that contains deserialized value from the
- <property>data</property> attribute.
</para>
+ <property>"data"</property>
attribute. </para>
</tip>
</section>
<section id="InvokeOnComponentUsingWithJSF1.2">
@@ -923,7 +915,7 @@
<title>How to avoid generating exception for
"keepAlive"
component?</title>
<para>To avoid exception, don't forget that the component
stores beans in
- serialized view, but your bean should implement
java.io.Serializable.</para>
+ serialized view, but your bean should implement
<code>java.io.Serializable</code>.</para>
</section>
<section
id="AFormIsNotSubmittedOrASetterIsNotCalledAfterAJAXrequest">
@@ -1077,7 +1069,7 @@
error happens because of the "reRender"
attribute of some
Ajax core Action Component is set on a component that depends on
rendered
properties, i.e. a component that is to be hidden/rendered is
tried to be
- updated. The problem is that if
rendered="false" in this
+ updated. The problem is that if
<code>rendered="false"</code> in this
moment, the component isn't in the DOM tree and
can't be
updated because of the general limitations described in the Ajax
Processing
chapter. </para>
@@ -1262,19 +1254,16 @@
</rich:modalPanel>
...]]></programlisting>
<para>In order to build this application, you can create a managed
bean like this
- one. Function <emphasis>
- <property>takeSelection()</property>
- </emphasis> fills the array
<property>selectedCars</property> with the data,
- got from the <property>selection</property>. Function
<emphasis>
- <property>getSelectedCars()</property>
- </emphasis> returns the array
<property>selectedCars</property>, which is
+ one. Function <code>takeSelection()</code> fills the
array <code>selectedCars</code> with the data,
+ got from the <property>selection</property>. Function
<code>getSelectedCars()</code>
+ returns the array <code>selectedCars</code>, which
is
used for filling <emphasis role="bold">
<property><rich:dataTable></property>
</emphasis> with selected row/rows data.</para>
<para>
<emphasis role="bold">Example:</emphasis>
</para>
- <programlisting role="XML"><![CDATA[...
+ <programlisting role="JAVA"><![CDATA[...
public class DataTableScrollerBean {
private SimpleSelection selection = new SimpleSelection();
private ArrayList<DemoInventoryItem> selectedCars = new
ArrayList<DemoInventoryItem>();
Modified: trunk/docs/faq/en/src/main/resources/css/html.css
===================================================================
--- trunk/docs/faq/en/src/main/resources/css/html.css 2008-06-10 09:24:42 UTC (rev 8966)
+++ trunk/docs/faq/en/src/main/resources/css/html.css 2008-06-10 09:27:24 UTC (rev 8967)
@@ -70,4 +70,9 @@
}
.css_string {
color:#2A00FF;
+}
+code {
+color:#000000;
+font-size:12px;
+font-family:courier;
}
\ No newline at end of file
Modified: trunk/docs/userguide/en/src/main/docbook/included/ajaxListener.xml
===================================================================
--- trunk/docs/userguide/en/src/main/docbook/included/ajaxListener.xml 2008-06-10 09:24:42
UTC (rev 8966)
+++ trunk/docs/userguide/en/src/main/docbook/included/ajaxListener.xml 2008-06-10 09:27:24
UTC (rev 8967)
@@ -80,7 +80,7 @@
a good place for update the list of re-rendered components, for example.
Ajax Listener is not invoked for non-Ajax request and when RichFaces works in "Ajax
Request generates
Non-Ajax Response" mode. Therefore, ajax Listener invocation is a good indicator
that Ajax response is going to be processed.
-Attribute
<emphasis><property>"type"</property></emphasis>
described in the following <link linkend="ajaxListener">
chapter</link>. It defines the fully qualified Java class name for listener.This
class implements org.ajax4jsf.framework.ajax.ajaxListener
+Attribute
<emphasis><property>"type"</property></emphasis>
described in the following <link linkend="ajaxListener">
chapter</link>. It defines the fully qualified Java class name for listener.This
class implements <code>org.ajax4jsf.framework.ajax.ajaxListener</code>
<ulink
url="http://labs.jboss.com/file-access/default/members/jbossrichface...;.
You can access to the source of the event (Ajax component) using event.getSource() call.
</para>
Modified: trunk/docs/userguide/en/src/main/docbook/included/columns.xml
===================================================================
--- trunk/docs/userguide/en/src/main/docbook/included/columns.xml 2008-06-10 09:24:42 UTC
(rev 8966)
+++ trunk/docs/userguide/en/src/main/docbook/included/columns.xml 2008-06-10 09:27:24 UTC
(rev 8967)
@@ -1,87 +1,116 @@
<?xml version="1.0" encoding="UTF-8"?>
<section>
- <sectioninfo>
- <keywordset>
- <keyword>rich:columns</keyword>
- <keyword>columns</keyword>
- </keywordset>
- </sectioninfo>
- <table>
- <title>Component identification parameters</title>
-
- <tgroup cols="2">
- <thead>
- <row>
- <entry>Name</entry>
- <entry>Value</entry>
- </row>
- </thead>
- <tbody>
- <row>
- <entry>component-type</entry>
- <entry>org.richfaces.Column</entry>
- </row>
- <!--row>
- <entry>component-class</entry>
- <entry></entry>
- </row>
- <row>
- <entry>component-family</entry>
- <entry></entry>
- </row>
- <row>
- <entry>renderer-type</entry>
- <entry></entry>
- </row-->
- <row>
- <entry>tag-class</entry>
- <entry>org.richfaces.taglib.ColumnsTagHandler</entry>
- </row>
- </tbody>
- </tgroup>
- </table>
- <section>
- <title>Creating the Component with a Page Tag</title>
- <para>To create the simplest variant on a page use the following
syntax:</para>
- <para>
- <emphasis role="bold">Example:</emphasis>
- </para>
- <programlisting role="XML"><![CDATA[...
+ <sectioninfo>
+ <keywordset>
+ <keyword>rich:columns</keyword>
+ <keyword>columns</keyword>
+ </keywordset>
+ </sectioninfo>
+ <table>
+ <title>Component identification parameters</title>
+
+ <tgroup cols="2">
+ <thead>
+ <row>
+ <entry>Name</entry>
+ <entry>Value</entry>
+ </row>
+ </thead>
+ <tbody>
+ <row>
+ <entry>component-type</entry>
+ <entry>org.richfaces.Column</entry>
+ </row>
+ <!--row>
+ <entry>component-class</entry>
+ <entry></entry>
+ </row>
+ <row>
+ <entry>component-family</entry>
+ <entry></entry>
+ </row>
+ <row>
+ <entry>renderer-type</entry>
+ <entry></entry>
+ </row-->
+ <row>
+ <entry>tag-class</entry>
+ <entry>
+ org.richfaces.taglib.ColumnsTagHandler
+ </entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </table>
+ <section>
+ <title>Creating the Component with a Page Tag</title>
+ <para>
+ To create the simplest variant on a page use the following
+ syntax:
+ </para>
+ <para>
+ <emphasis role="bold">Example:</emphasis>
+ </para>
+ <programlisting role="XML"><![CDATA[...
<rich:dataTable value="#{capitalsBean.capitals}" var="cap">
<rich:columns value="#{capitalsBean.labels}" var="col"
index="index">
<h:outputText value="#{cap[index]}" />
</rich:columns>
</rich:dataTable>
...]]></programlisting>
- </section>
- <section>
- <title>Creating the Component Dynamically Using Java</title>
- <para>
- <emphasis role="bold">Example:</emphasis>
- </para>
- <programlisting role="JAVA"><![CDATA[import
org.richfaces.component.html.HtmlColumns;
+ </section>
+ <section>
+ <title>Creating the Component Dynamically Using Java</title>
+ <para>
+ <emphasis role="bold">Example:</emphasis>
+ </para>
+ <programlisting role="JAVA"><![CDATA[import
org.richfaces.component.html.HtmlColumns;
...
HtmlColumns myColumns = new HtmlColumns();
...]]></programlisting>
- </section>
- <section>
- <title>Details of Usage</title>
- <para>The <emphasis role="bold">
- <property><rich:columns></property>
- </emphasis> component gets a list from data model and outputs corresponding
set of columns inside
- <emphasis
role="bold"><property><rich:dataTable></property></emphasis>
on a page.
- It is possible to use
<emphasis><property>"header"</property></emphasis>
and <emphasis><property>"footer"
</property></emphasis> facets
- with <emphasis
role="bold"><property><rich:columns></property></emphasis>
component.
- </para>
- <para>
- The
<emphasis><property>"value"</property></emphasis>
and
<emphasis><property>"var"</property></emphasis>attributes
- are used to access the values of collection.
- </para>
- <para>The simple example is placed below.</para>
- <para>
- <emphasis role="bold">Example:</emphasis>
- </para>
- <programlisting role="XML"><![CDATA[...
+ </section>
+ <section>
+ <title>Details of Usage</title>
+ <para>
+ The
+ <emphasis role="bold">
+ <property><rich:columns></property>
+ </emphasis>
+ component gets a list from data model and outputs
+ corresponding set of columns inside
+ <emphasis role="bold">
+ <property><rich:dataTable></property>
+ </emphasis>
+ on a page. It is possible to use
+ <emphasis>
+ <property>"header"</property>
+ </emphasis>
+ and
+ <emphasis>
+ <property>"footer"</property>
+ </emphasis>
+ facets with
+ <emphasis role="bold">
+ <property><rich:columns></property>
+ </emphasis>
+ component.
+ </para>
+ <para>
+ The
+ <emphasis>
+ <property>"value"</property>
+ </emphasis>
+ and
+ <emphasis>
+ <property>"var"</property>
+ </emphasis>
+ attributes are used to access the values of collection.
+ </para>
+ <para>The simple example is placed below.</para>
+ <para>
+ <emphasis role="bold">Example:</emphasis>
+ </para>
+ <programlisting role="XML"><![CDATA[...
<rich:dataTable value="#{capitalsBean.capitals}" var="cap">
<rich:columns value="#{capitalsBean.labels}" var="col"
index="index">
<f:facet name="header">
@@ -94,26 +123,46 @@
</rich:columns>
</rich:dataTable>
...]]></programlisting>
- <para>
- The
<emphasis><property>"columns"</property></emphasis>
attribute defines the count of columns.
- </para>
- <para>
- The
<emphasis><property>"rows"</property></emphasis>
attribute defines the number of rows to be displayed. If the value of this attribute is
zero,
- all remaining rows in the table are displayed on a page.
- </para>
- <para>
- The
<emphasis><property>"begin"</property></emphasis>
attribute contains the first iteration item. Note, that iteration begins from zero.
- </para>
- <para>
- The
<emphasis><property>"end"</property></emphasis>
attribute contains the last iteration item.
- </para>
- <para>
- With the help of the attributes described below you can customize the output,
i.e. define which columns and how many rows appear on a page.
- </para>
- <para>
- <emphasis role="bold">Example:</emphasis>
- </para>
- <programlisting role="XML"><![CDATA[...
+ <para>
+ The
+ <emphasis>
+ <property>"columns"</property>
+ </emphasis>
+ attribute defines the count of columns.
+ </para>
+ <para>
+ The
+ <emphasis>
+ <property>"rows"</property>
+ </emphasis>
+ attribute defines the number of rows to be displayed. If the
+ value of this attribute is zero, all remaining rows in the
+ table are displayed on a page.
+ </para>
+ <para>
+ The
+ <emphasis>
+ <property>"begin"</property>
+ </emphasis>
+ attribute contains the first iteration item. Note, that
+ iteration begins from zero.
+ </para>
+ <para>
+ The
+ <emphasis>
+ <property>"end"</property>
+ </emphasis>
+ attribute contains the last iteration item.
+ </para>
+ <para>
+ With the help of the attributes described below you can
+ customize the output, i.e. define which columns and how many
+ rows appear on a page.
+ </para>
+ <para>
+ <emphasis role="bold">Example:</emphasis>
+ </para>
+ <programlisting role="XML"><![CDATA[...
<rich:dataTable value="#{capitalsBean.capitals}" var="cap">
<rich:columns value="#{capitalsBean.labels}" var="col"
index="index" rows="0" columns="3" begin="1"
end="2">
<f:facet name="header">
@@ -123,30 +172,45 @@
</rich:columns>
</rich:dataTable>
...]]></programlisting>
- <para>
- In the example below, columns from first to second and all rows are shown in
the
- <emphasis
role="bold"><property><rich:dataTable></property></emphasis>.
- </para>
- <para>
- The result is:
- </para>
- <figure>
- <title>Generated <emphasis
role="bold"><property><rich:columns></property></emphasis>
with columns from first to second and all rows</title>
- <mediaobject>
- <imageobject>
- <imagedata fileref="images/columns2.png"/>
- </imageobject>
- </mediaobject>
- </figure>
- <para>
- The <emphasis
role="bold"><property><rich:columns></property></emphasis>
component does not prevent to use
- <emphasis
role="bold"><property><rich:column></property></emphasis>.
- In the following example one column renders in any way and another columns
could be picked from the model.
- </para>
- <para>
- <emphasis role="bold">Example:</emphasis>
- </para>
- <programlisting role="XML"><![CDATA[...
+ <para>
+ In the example below, columns from first to second and all
+ rows are shown in the
+ <emphasis role="bold">
+ <property><rich:dataTable></property>
+ </emphasis>
+ .
+ </para>
+ <para>The result is:</para>
+ <figure>
+ <title>
+ Generated
+ <emphasis role="bold">
+ <property><rich:columns></property>
+ </emphasis>
+ with columns from first to second and all rows
+ </title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/columns2.png" />
+ </imageobject>
+ </mediaobject>
+ </figure>
+ <para>
+ The
+ <emphasis role="bold">
+ <property><rich:columns></property>
+ </emphasis>
+ component does not prevent to use
+ <emphasis role="bold">
+ <property><rich:column></property>
+ </emphasis>
+ . In the following example one column renders in any way and
+ another columns could be picked from the model.
+ </para>
+ <para>
+ <emphasis role="bold">Example:</emphasis>
+ </para>
+ <programlisting role="XML"><![CDATA[...
<rich:dataTable value="#{rowBean.rows}" var="row">
<rich:column>
<h:outputText value ="#{row.columnValue}"/>
@@ -162,17 +226,24 @@
</rich:columns>
</rich:dataTable>
...]]></programlisting>
-
- <para>In order to group columns with text information into one row, use
- the <emphasis
><property>"colspan"</property></emphasis>
attribute, which is similar to an HTML one.
- In the following example the third column contains 3 columns.
- In addition, it's necessary to specify that the next column begins
from the first row with the help of the
- <emphasis
><property>"breakBefore"</property></emphasis>
attribute = true.
- </para>
- <para>
- <emphasis role="bold">Example:</emphasis>
- </para>
- <programlisting role="XML"><![CDATA[...
+
+ <para>
+ In order to group columns with text information into one
+ row, use the
+ <emphasis>
+ <property>"colspan"</property>
+ </emphasis>
+ attribute, which is similar to an HTML one. In the following
+ example the third column contains 3 columns. In addition,
+ it's necessary to specify that the next column begins
+ from the first row with the help of the
+ <code>breakBefore = "true"</code>
+ .
+ </para>
+ <para>
+ <emphasis role="bold">Example:</emphasis>
+ </para>
+ <programlisting role="XML"><![CDATA[...
<rich:dataTable value="#{columns.data1}" var="data">
<rich:column>
<h:outputText value="#{column.Item1}" />
@@ -189,24 +260,32 @@
</rich:dataTable>
...
]]></programlisting>
-
- <!--para>As a result the following structure is rendered:</para>
- <figure>
- <title><rich:column> modified with colspan and
breakbefore attributes</title>
- <mediaobject>
- <imageobject>
- <imagedata fileref="images/column3.png"/>
- </imageobject>
- </mediaobject>
- </figure-->
-
- <para>The same way is used for <property>columns</property>
grouping with the <emphasis
><property>"rowspan"</property></emphasis>
- attribute that is similar to an HTML. The only thing to add in the example is
an instruction to move onto the next row for each next after the second column.
- </para>
- <para>
- <emphasis role="bold">Example:</emphasis>
- </para>
- <programlisting role="XML"><![CDATA[...
+
+ <!--para>As a result the following structure is rendered:</para>
+ <figure>
+ <title><rich:column> modified with colspan and breakbefore
attributes</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/column3.png"/>
+ </imageobject>
+ </mediaobject>
+ </figure-->
+
+ <para>
+ The same way is used for
+ <property>columns</property>
+ grouping with the
+ <emphasis>
+ <property>"rowspan"</property>
+ </emphasis>
+ attribute that is similar to an HTML. The only thing to add
+ in the example is an instruction to move onto the next row
+ for each next after the second column.
+ </para>
+ <para>
+ <emphasis role="bold">Example:</emphasis>
+ </para>
+ <programlisting role="XML"><![CDATA[...
<rich:dataTable value="#{columns.data1}" var="data">
<rich:columns columns="2" rowspan="3">
<h:outputText value="#{data.str0}" />
@@ -223,129 +302,208 @@
</rich:dataTable>
...
]]></programlisting>
-
- <!--para>As a result:</para>
- <figure>
- <title><rich:column> generated with rowspan
attribute</title>
- <mediaobject>
- <imageobject>
- <imagedata fileref="images/column4.png"/>
- </imageobject>
- </mediaobject>
- </figure-->
- <para>Information about sorting and filtering you can find <link
linkend="sortAndFilter">here</link>.</para>
- </section>
-
- <section>
- <title>Look-and-Feel Customization</title>
-
- <para>For skinnability implementation, the components use a
<emphasis>
- <property>style class redefinition method.</property>
- </emphasis> Default style classes are mapped on <emphasis>
- <property>skin parameters.</property>
- </emphasis></para>
- <para>There are two ways to redefine the appearance of all <emphasis
role="bold">
- <property><rich:columns></property>
- </emphasis> components at once:</para>
- <itemizedlist>
- <listitem>
- <para>Redefine the corresponding skin parameters</para>
- </listitem>
- <listitem>
- <para>Add to your style sheets <emphasis>
- <property>style classes</property>
- </emphasis> used by a <emphasis role="bold">
- <property><rich:columns></property>
- </emphasis> component</para>
- </listitem>
- </itemizedlist>
- </section>
- <section>
- <title>Skin Parameters Redefinition</title>
-
- <para>Skin parameters redefinition for <emphasis
role="bold">
- <property><rich:columns></property>
- </emphasis> are the same as for the <emphasis role="bold">
- <property><rich:dataTable></property>
- </emphasis> <link
linkend="SPR">component</link>.</para>
- </section>
- <section>
- <title>Definition of Custom Style Classes</title>
-
- <para>Custom style classes for <emphasis role="bold">
- <property><rich:columns></property>
- </emphasis> are the same as for the <emphasis
role="bold">
- <property><rich:dataTable></property>
- </emphasis> <link linkend="DofCCS">component</link>.
- </para>
-
- <para>In order to redefine styles for all <emphasis
role="bold">
- <property><rich:columns></property>
- </emphasis> components on a page using CSS, it's enough to create
classes with the
- same names (possible classes could be found in the tables <link
linkend="SPR"> above</link>) and define necessary properties in them.
</para>
-
- <para>
- <emphasis role="bold">Example:</emphasis>
- </para>
- <programlisting role="CSS"><![CDATA[...
+ <!--para>As a result:</para>
+ <figure>
+ <title><rich:column> generated with rowspan
attribute</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/column4.png"/>
+ </imageobject>
+ </mediaobject>
+ </figure-->
+ <para>
+ Information about sorting and filtering you can find
+ <link linkend="sortAndFilter">here</link>
+ .
+ </para>
+
+ </section>
+
+ <section>
+ <title>Look-and-Feel Customization</title>
+
+ <para>
+ For skinnability implementation, the components use a
+ <emphasis>
+ <property>style class redefinition method.</property>
+ </emphasis>
+ Default style classes are mapped on
+ <emphasis>
+ <property>skin parameters.</property>
+ </emphasis>
+ </para>
+ <para>
+ There are two ways to redefine the appearance of all
+ <emphasis role="bold">
+ <property><rich:columns></property>
+ </emphasis>
+ components at once:
+ </para>
+ <itemizedlist>
+ <listitem>
+ <para>Redefine the corresponding skin parameters</para>
+ </listitem>
+ <listitem>
+ <para>
+ Add to your style sheets
+ <emphasis>
+ <property>style classes</property>
+ </emphasis>
+ used by a
+ <emphasis role="bold">
+ <property><rich:columns></property>
+ </emphasis>
+ component
+ </para>
+ </listitem>
+ </itemizedlist>
+ </section>
+ <section>
+ <title>Skin Parameters Redefinition</title>
+
+ <para>
+ Skin parameters redefinition for
+ <emphasis role="bold">
+ <property><rich:columns></property>
+ </emphasis>
+ are the same as for the
+ <emphasis role="bold">
+ <property><rich:dataTable></property>
+ </emphasis>
+ <link linkend="SPR">component</link>
+ .
+ </para>
+ </section>
+ <section>
+ <title>Definition of Custom Style Classes</title>
+
+ <para>
+ Custom style classes for
+ <emphasis role="bold">
+ <property><rich:columns></property>
+ </emphasis>
+ are the same as for the
+ <emphasis role="bold">
+ <property><rich:dataTable></property>
+ </emphasis>
+ <link linkend="DofCCS">component</link>
+ .
+ </para>
+
+ <para>
+ In order to redefine styles for all
+ <emphasis role="bold">
+ <property><rich:columns></property>
+ </emphasis>
+ components on a page using CSS, it's enough to create
+ classes with the same names (possible classes could be found
+ in the tables
+ <link linkend="SPR">above</link>
+ ) and define necessary properties in them.
+ </para>
+
+ <para>
+ <emphasis role="bold">Example:</emphasis>
+ </para>
+ <programlisting role="CSS"><![CDATA[...
.rich-table-subheadercell{
color: #a0a0a0;
}
-...]]></programlisting>
-
- <para>This is a result:</para>
-
- <figure>
- <title>Redefinition styles with predefined classes</title>
- <mediaobject>
- <imageobject>
- <imagedata fileref="images/columns_pc.png"/>
- </imageobject>
- </mediaobject>
- </figure>
-
- <para>In the example column header cells color was changed.</para>
-
- <para>Also it’s possible to change styles of particular <emphasis
role="bold"
-
><property><rich:columns></property></emphasis>
component. In this case you should create own style classes and use them in corresponding
<emphasis role="bold"
-
><property><rich:columns></property></emphasis>
<emphasis><property>styleClass</property></emphasis> attributes.
An example is placed below:</para>
-
- <para>
- <emphasis role="bold">Example:</emphasis>
- </para>
- <programlisting role="CSS"><![CDATA[...
+...]]></programlisting>
+
+ <para>This is a result:</para>
+
+ <figure>
+ <title>Redefinition styles with predefined classes</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/columns_pc.png" />
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <para>
+ In the example column header cells color was changed.
+ </para>
+
+ <para>
+ Also it’s possible to change styles of particular
+ <emphasis role="bold">
+ <property><rich:columns></property>
+ </emphasis>
+ component. In this case you should create own style classes
+ and use them in corresponding
+ <emphasis role="bold">
+ <property><rich:columns></property>
+ </emphasis>
+ <emphasis>
+ <property>styleClass</property>
+ </emphasis>
+ attributes. An example is placed below:
+ </para>
+
+ <para>
+ <emphasis role="bold">Example:</emphasis>
+ </para>
+ <programlisting role="CSS"><![CDATA[...
.myClass {
font-style: oblique;
}
-...]]></programlisting>
- <para>The
<emphasis><property>"styleClass"</property></emphasis>
attribute for <emphasis role="bold"
- ><property><rich:columns>
</property></emphasis> is defined as it’s shown in the example
below:</para>
-
- <para>
- <emphasis role="bold">Example:</emphasis>
- </para>
- <programlisting role="XML"><![CDATA[<rich:columns
styleClass="myClass">
-]]></programlisting>
-
- <para>This is a result:</para>
-
- <figure>
- <title>Redefinition styles with own classes and
<emphasis><property>styleClass</property></emphasis>
attributes</title>
- <mediaobject>
- <imageobject>
- <imagedata fileref="images/columns_oc.png"/>
- </imageobject>
- </mediaobject>
- </figure>
-
- <para>As it could be seen on the picture above, the font style for columns
was changed.</para>
- </section>
-
- <section>
- <title>Relevant Resources Links</title>
- <para><ulink
url="http://livedemo.exadel.com/richfaces-demo/richfaces/dataTable.j...
- >Here</ulink> you can found some additional information for
<emphasis role="bold"
-
><property><rich:columns></property></emphasis>
component usage. </para>
- </section>
- </section>
\ No newline at end of file
+...]]></programlisting>
+ <para>
+ The
+ <emphasis>
+ <property>"styleClass"</property>
+ </emphasis>
+ attribute for
+ <emphasis role="bold">
+ <property><rich:columns></property>
+ </emphasis>
+ is defined as it’s shown in the example below:
+ </para>
+
+ <para>
+ <emphasis role="bold">Example:</emphasis>
+ </para>
+ <programlisting role="XML"><![CDATA[<rich:columns
styleClass="myClass">
+]]></programlisting>
+
+ <para>This is a result:</para>
+
+ <figure>
+ <title>
+ Redefinition styles with own classes and
+ <emphasis>
+ <property>styleClass</property>
+ </emphasis>
+ attributes
+ </title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/columns_oc.png" />
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <para>
+ As it could be seen on the picture above, the font style for
+ columns was changed.
+ </para>
+ </section>
+
+ <section>
+ <title>Relevant Resources Links</title>
+ <para>
+ <ulink
+
url="http://livedemo.exadel.com/richfaces-demo/richfaces/dataTable.j...
+ Here
+ </ulink>
+ you can found some additional information for
+ <emphasis role="bold">
+ <property><rich:columns></property>
+ </emphasis>
+ component usage.
+ </para>
+ </section>
+</section>
\ No newline at end of file
Modified: trunk/docs/userguide/en/src/main/docbook/included/commandButton.xml
===================================================================
--- trunk/docs/userguide/en/src/main/docbook/included/commandButton.xml 2008-06-10
09:24:42 UTC (rev 8966)
+++ trunk/docs/userguide/en/src/main/docbook/included/commandButton.xml 2008-06-10
09:27:24 UTC (rev 8967)
@@ -60,12 +60,12 @@
<section>
<title>Key attributes and ways of usage</title>
<para><emphasis
role="bold"><property><a4j:commandButton></property></emphasis>
is used in the same way as <emphasis
role="bold"><property><h:commandButton></property></emphasis>,
but with definition of the area that is updated after the response comes back from the
server.</para>
- <para>This definition of the component provides a link, a click on the link
causes an Ajax form submit on the server, <property>action1</property> method
performance, and rendering of the component with <property>someData</property>
id after the response comes back from the server.</para>
+ <para>This definition of the component provides a link, a click on the link
causes an Ajax form submit on the server, <code>action1</code> method
performance, and rendering of the component with <code>someData</code> id
after the response comes back from the server.</para>
<para>The component <emphasis
role="bold"><property><a4j:commandButton></property></emphasis>
placed on a page generates the following HTML code:</para>
<programlisting role="XML"><![CDATA[...
<input type="submit" onclick="A4J.AJAX.Submit(...request
parameters);return false;" value="sort"/>
...]]></programlisting>
- <para>Hence, the utility method
<property>A4J.AJAX.Submit</property> is called on a click, the method performs
Ajax request as the <emphasis
role="bold"><property><a4j:support></property></emphasis>
component</para>
+ <para>Hence, the utility method <code>A4J.AJAX.Submit</code> is
called on a click, the method performs Ajax request as the <emphasis
role="bold"><property><a4j:support></property></emphasis>
component</para>
<note>
<title>Note:</title>
<para>AJAX support is built in and it's not necessary to add nested
<emphasis
role="bold"><property><a4j:support></property></emphasis>
to the component.</para>
Modified: trunk/docs/userguide/en/src/main/docbook/included/componentControl.xml
===================================================================
--- trunk/docs/userguide/en/src/main/docbook/included/componentControl.xml 2008-06-10
09:24:42 UTC (rev 8966)
+++ trunk/docs/userguide/en/src/main/docbook/included/componentControl.xml 2008-06-10
09:27:24 UTC (rev 8967)
@@ -102,9 +102,9 @@
<rich:componentControl name="ffunction" for="comp_ID"
operation="show"/>
...
]]></programlisting>
- <para>According to this code a function with name
<property>ffunction</property>
+ <para>According to this code a function with name
<code>ffunction</code>
is generated. It is used in JavaScript code to trigger an operation on the target
component
- with defined
<property>id</property>="comp_ID".</para>
+ with defined <code>id="comp_ID"</code>.</para>
<para>The generated function is shown below:</para>
<programlisting role="JAVA"><![CDATA[function ffunction (event) {
}
@@ -146,7 +146,7 @@
</emphasis> allows to transfer parameters. The <emphasis>
<property>"disableDefault"</property>
</emphasis> attribute with
<property>"true"</property> value is used instead
- of <property>onclick="return false;"</property> attribute for
<emphasis role="bold">
+ of <code>onclick="return false;"</code> attribute for
<emphasis role="bold">
<property><h:commandButton></property>
</emphasis> to avoid a problem with form submit and
<property>modalPanel</property> showing.</para>
<itemizedlist>
Modified: trunk/docs/userguide/en/src/main/docbook/included/dataFilterSlider.xml
===================================================================
--- trunk/docs/userguide/en/src/main/docbook/included/dataFilterSlider.xml 2008-06-10
09:24:42 UTC (rev 8966)
+++ trunk/docs/userguide/en/src/main/docbook/included/dataFilterSlider.xml 2008-06-10
09:27:24 UTC (rev 8967)
@@ -121,7 +121,7 @@
<property>"onSlide"</property>
</emphasis> attribute (<emphasis>
<property>"onChange"</property>
- </emphasis> is its alias). When the attribute definition = true, submission
on this event is
+ </emphasis> is its alias). When the attribute <code>definition =
"true"</code>, submission on this event is
defined.</para>
<para>
Information about the
<emphasis><property>"process"</property></emphasis>
attribute usage you can find <link linkend="process">here</link>.
Modified: trunk/docs/userguide/en/src/main/docbook/included/dataOrderedList.xml
===================================================================
--- trunk/docs/userguide/en/src/main/docbook/included/dataOrderedList.xml 2008-06-10
09:24:42 UTC (rev 8966)
+++ trunk/docs/userguide/en/src/main/docbook/included/dataOrderedList.xml 2008-06-10
09:27:24 UTC (rev 8967)
@@ -1,93 +1,122 @@
<?xml version='1.0' encoding='UTF-8'?>
<section>
- <sectioninfo>
- <keywordset>
- <keyword>rich:dataOrderedList</keyword>
- <keyword>HtmlDataOrderedList</keyword>
- <keyword>ordered list</keyword>
- </keywordset>
- </sectioninfo>
+ <sectioninfo>
+ <keywordset>
+ <keyword>rich:dataOrderedList</keyword>
+ <keyword>HtmlDataOrderedList</keyword>
+ <keyword>ordered list</keyword>
+ </keywordset>
+ </sectioninfo>
- <table>
- <title>Component identification parameters </title>
- <tgroup cols="2">
- <thead>
- <row>
- <entry>Name</entry>
- <entry>Value</entry>
- </row>
- </thead>
- <tbody>
- <row>
- <entry>component-type</entry>
- <entry>org.richfaces.DataOrderedList</entry>
- </row>
- <row>
- <entry>component-class</entry>
- <entry>org.richfaces.component.html.HtmlDataOrderedList</entry>
- </row>
- <row>
- <entry>component-family</entry>
- <entry>org.richfaces.DataOrderedList</entry>
- </row>
- <row>
- <entry>renderer-type</entry>
- <entry>org.richfaces.DataOrderedListRenderer</entry>
- </row>
- <row>
- <entry>tag-class</entry>
- <entry>org.richfaces.taglib.DataOrderedListTag</entry>
- </row>
- </tbody>
- </tgroup>
- </table>
+ <table>
+ <title>Component identification parameters</title>
+ <tgroup cols="2">
+ <thead>
+ <row>
+ <entry>Name</entry>
+ <entry>Value</entry>
+ </row>
+ </thead>
+ <tbody>
+ <row>
+ <entry>component-type</entry>
+ <entry>org.richfaces.DataOrderedList</entry>
+ </row>
+ <row>
+ <entry>component-class</entry>
+ <entry>
+ org.richfaces.component.html.HtmlDataOrderedList
+ </entry>
+ </row>
+ <row>
+ <entry>component-family</entry>
+ <entry>org.richfaces.DataOrderedList</entry>
+ </row>
+ <row>
+ <entry>renderer-type</entry>
+ <entry>org.richfaces.DataOrderedListRenderer</entry>
+ </row>
+ <row>
+ <entry>tag-class</entry>
+ <entry>
+ org.richfaces.taglib.DataOrderedListTag
+ </entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </table>
- <section>
- <title>Creating the Component with a Page Tag</title>
- <para>To create the simplest variant of
<property>dataOrderedList</property> on a page, use the
- following syntax:</para>
+ <section>
+ <title>Creating the Component with a Page Tag</title>
+ <para>
+ To create the simplest variant of
+ <property>dataOrderedList</property>
+ on a page, use the following syntax:
+ </para>
- <para>
- <emphasis role="bold">Example:</emphasis>
- </para>
- <programlisting role="XML"><![CDATA[...
+ <para>
+ <emphasis role="bold">Example:</emphasis>
+ </para>
+ <programlisting role="XML"><![CDATA[...
<rich:dataOrderedList var="car"
value="#{dataTableScrollerBean.allCars}" >
<h:outputText value="#{car.model}"/>
</rich:dataOrderedList>
...
]]></programlisting>
- </section>
- <section>
- <title>Creating the Component Dynamically Using Java</title>
+ </section>
+ <section>
+ <title>Creating the Component Dynamically Using Java</title>
- <para>
- <emphasis role="bold">Example:</emphasis>
- </para>
- <programlisting role="JAVA"><![CDATA[import
org.richfaces.component.html.HtmlDataOrderedList;
+ <para>
+ <emphasis role="bold">Example:</emphasis>
+ </para>
+ <programlisting role="JAVA"><![CDATA[import
org.richfaces.component.html.HtmlDataOrderedList;
...
HtmlDataOrderedList myList = new HtmlDataOrderedList();
...
]]></programlisting>
- </section>
- <section>
- <title>Details of Usage</title>
- <para>The <emphasis role="bold">
- <property><rich:dataOrderedList></property>
- </emphasis> component allows to generate an ordered list from a
model.</para>
- <para>The component has the <emphasis>
- <property>"type"</property>
- </emphasis> attribute, which corresponds to the <emphasis>
- <property>"type"</property>
- </emphasis> parameter for the <emphasis>
- <property>"OL"</property>
- </emphasis> HTML element and defines a marker type. Possible values for
<emphasis>
- <property>"type"</property>
- </emphasis> attribute are:
<property>"A"</property>,
- <property>"a"</property>,
<property>"I"</property>,
-
<property>"i"</property>,<property>"1"</property>.</para>
- <para>Here is an example:</para>
+ </section>
+ <section>
+ <title>Details of Usage</title>
+ <para>
+ The
+ <emphasis role="bold">
+ <property><rich:dataOrderedList></property>
+ </emphasis>
+ component allows to generate an ordered list from a model.
+ </para>
+ <para>
+ The component has the
+ <emphasis>
+ <property>"type"</property>
+ </emphasis>
+ attribute, which corresponds to the
+ <emphasis>
+ <property>"type"</property>
+ </emphasis>
+ parameter for the
+ <emphasis>
+ <property>"OL"</property>
+ </emphasis>
+ HTML element and defines a marker type. Possible values for
+ <emphasis>
+ <property>"type"</property>
+ </emphasis>
+ attribute are:
+ <code>"A"</code>
+ ,
+ <code>"a"</code>
+ ,
+ <code>"I"</code>
+ ,
+ <code>"i"</code>
+ ,
+ <code>"1"</code>
+ .
+ </para>
+ <para>Here is an example:</para>
- <programlisting role="XML"><![CDATA[...
+ <programlisting role="XML"><![CDATA[...
<h:form>
<rich:dataOrderedList var="car"
value="#{dataTableScrollerBean.allCars}" rows="5" type="1"
title="Car Store">
<h:outputText value="#{car.make} #{car.model}"/><br/>
@@ -100,42 +129,64 @@
...
]]></programlisting>
- <para>This is a result:</para>
-
- <figure>
- <title><emphasis role="bold">
- <property><rich:dataOrderedList></property>
- </emphasis> component with <emphasis>
- <property>"type"</property>
- </emphasis> attribute</title>
- <mediaobject>
- <imageobject>
- <imagedata fileref="images/dataOrderedList2.png"/>
- </imageobject>
- </mediaobject>
- </figure>
+ <para>This is a result:</para>
- <para>In the example the <emphasis>
- <property>"rows"</property>
- </emphasis> attribute limits number of output elements of the
list.</para>
-
- <para><emphasis>
- <property>"first"</property>
- </emphasis> attribute defines first element for output. <emphasis>
- <property>"title"</property>
- </emphasis> are used for popup title.</para>
-
- <para>The component was created basing on the <emphasis
role="bold">
- <property><a4j:repeat></property>
- </emphasis> component and as a result it could be partially updated with Ajax.
<emphasis>
- <property>"ajaxKeys"</property>
- </emphasis> attribute allows to define row keys that are updated after an Ajax
request.</para>
- <para>Here is an example:</para>
-
- <para>
- <emphasis role="bold">Example:</emphasis>
- </para>
- <programlisting role="XML"><![CDATA[...
+ <figure>
+ <title>
+ <emphasis role="bold">
+ <property><rich:dataOrderedList></property>
+ </emphasis>
+ component with
+ <emphasis>
+ <property>"type"</property>
+ </emphasis>
+ attribute
+ </title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/dataOrderedList2.png" />
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <para>
+ In the example the
+ <emphasis>
+ <property>"rows"</property>
+ </emphasis>
+ attribute limits number of output elements of the list.
+ </para>
+
+ <para>
+ <emphasis>
+ <property>"first"</property>
+ </emphasis>
+ attribute defines first element for output.
+ <emphasis>
+ <property>"title"</property>
+ </emphasis>
+ are used for popup title.
+ </para>
+
+ <para>
+ The component was created basing on the
+ <emphasis role="bold">
+ <property><a4j:repeat></property>
+ </emphasis>
+ component and as a result it could be partially updated with
+ Ajax.
+ <emphasis>
+ <property>"ajaxKeys"</property>
+ </emphasis>
+ attribute allows to define row keys that are updated after
+ an Ajax request.
+ </para>
+ <para>Here is an example:</para>
+
+ <para>
+ <emphasis role="bold">Example:</emphasis>
+ </para>
+ <programlisting role="XML"><![CDATA[...
<rich:dataOrderedList value="#{dataTableScrollerBean.allCars}"
var="car" ajaxKeys="#{listBean.list}"
binding="#{listBean.dataList}" id="list">
...
@@ -144,143 +195,212 @@
<a4j:commandButton action="#{listBean.action}" reRender="list"
value="Submit"/>
...
]]></programlisting>
-
- <para> In the example <emphasis>
- <property>"reRender"</property>
- </emphasis> attribute contains value of <emphasis>
- <property>"id"</property>
- </emphasis> attribute for <emphasis role="bold">
- <property><rich:dataOrderedList></property>
- </emphasis> component. As a result the component is updated after an Ajax
request.</para>
- </section>
- <section>
- <title>Look-and-Feel Customization</title>
- <para>For skinnability implementation, the components use a <emphasis>
- <property>style class redefinition method.</property>
- </emphasis> Default style classes are mapped on <emphasis>
- <property>skin parameters.</property>
- </emphasis></para>
+ <para>
+ In the example
+ <emphasis>
+ <property>"reRender"</property>
+ </emphasis>
+ attribute contains value of
+ <emphasis>
+ <property>"id"</property>
+ </emphasis>
+ attribute for
+ <emphasis role="bold">
+ <property><rich:dataOrderedList></property>
+ </emphasis>
+ component. As a result the component is updated after an
+ Ajax request.
+ </para>
+ </section>
+ <section>
+ <title>Look-and-Feel Customization</title>
- <para>There are two ways to redefine the appearance of all <emphasis
role="bold">
- <property><rich:dataOrderedList></property>
- </emphasis> components at once:</para>
+ <para>
+ For skinnability implementation, the components use a
+ <emphasis>
+ <property>style class redefinition method.</property>
+ </emphasis>
+ Default style classes are mapped on
+ <emphasis>
+ <property>skin parameters.</property>
+ </emphasis>
+ </para>
- <itemizedlist>
- <listitem>
- <para>Redefine the corresponding skin parameters</para>
- </listitem>
+ <para>
+ There are two ways to redefine the appearance of all
+ <emphasis role="bold">
+ <property><rich:dataOrderedList></property>
+ </emphasis>
+ components at once:
+ </para>
- <listitem>
- <para>Add to your style sheets <emphasis>
- <property>style classes</property>
- </emphasis> used by a <emphasis role="bold">
- <property><rich:dataOrderedList></property>
- </emphasis> component</para>
- </listitem>
- </itemizedlist>
- </section>
+ <itemizedlist>
+ <listitem>
+ <para>Redefine the corresponding skin parameters</para>
+ </listitem>
- <section>
- <title>Definition of Custom Style Classes</title>
+ <listitem>
+ <para>
+ Add to your style sheets
+ <emphasis>
+ <property>style classes</property>
+ </emphasis>
+ used by a
+ <emphasis role="bold">
+ <property>
+ <rich:dataOrderedList>
+ </property>
+ </emphasis>
+ component
+ </para>
+ </listitem>
+ </itemizedlist>
+ </section>
- <para>On the screenshot there are classes names that define styles for
component elements.</para>
+ <section>
+ <title>Definition of Custom Style Classes</title>
- <figure>
- <title>Style classes</title>
- <mediaobject>
- <imageobject>
- <imagedata fileref="images/dataOrderedList_cn.png"/>
- </imageobject>
- </mediaobject>
- </figure>
+ <para>
+ On the screenshot there are classes names that define styles
+ for component elements.
+ </para>
- <table id="tab_dOL">
- <title>Classes names that define a list appearance</title>
- <tgroup cols="2">
- <thead>
- <row>
- <entry>Class name</entry>
- <entry>Description</entry>
- </row>
- </thead>
- <tbody>
- <row>
- <entry>rich-orderedlist</entry>
- <entry>Defines styles for an html <ol>
element</entry>
- </row>
- <row>
- <entry>rich-list-item</entry>
- <entry>Defines styles for an html <li>
element</entry>
- </row>
- </tbody>
- </tgroup>
- </table>
+ <figure>
+ <title>Style classes</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/dataOrderedList_cn.png" />
+ </imageobject>
+ </mediaobject>
+ </figure>
- <para>In order to redefine styles for all <emphasis
role="bold">
- <property><rich:dataOrderedList></property>
- </emphasis> components on a page using CSS, it's enough to create
classes with the
- same names (possible classes could be found in the tables <link
linkend="tab_dOL"> above</link>) and define necessary properties in
them. </para>
-
- <para>
- <emphasis role="bold">Example:</emphasis>
- </para>
- <programlisting role="CSS"><![CDATA[...
+ <table id="tab_dOL">
+ <title>Classes names that define a list appearance</title>
+ <tgroup cols="2">
+ <thead>
+ <row>
+ <entry>Class name</entry>
+ <entry>Description</entry>
+ </row>
+ </thead>
+ <tbody>
+ <row>
+ <entry>rich-orderedlist</entry>
+ <entry>
+ Defines styles for an html <ol>
+ element
+ </entry>
+ </row>
+ <row>
+ <entry>rich-list-item</entry>
+ <entry>
+ Defines styles for an html <li>
+ element
+ </entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </table>
+
+ <para>
+ In order to redefine styles for all
+ <emphasis role="bold">
+ <property><rich:dataOrderedList></property>
+ </emphasis>
+ components on a page using CSS, it's enough to create
+ classes with the same names (possible classes could be found
+ in the tables
+ <link linkend="tab_dOL">above</link>
+ ) and define necessary properties in them.
+ </para>
+
+ <para>
+ <emphasis role="bold">Example:</emphasis>
+ </para>
+ <programlisting role="CSS"><![CDATA[...
.rich-orderedlist{
background-color: #ebf3fd;
}
-...]]></programlisting>
-
- <para>This is a result:</para>
-
- <figure>
- <title>Redefinition styles with predefined classes</title>
- <mediaobject>
- <imageobject>
- <imagedata fileref="images/dataOrderedList_pc.png"/>
- </imageobject>
- </mediaobject>
- </figure>
-
- <para>In the example background color was changed.</para>
-
- <para>Also it’s possible to change styles of particular <emphasis
role="bold"
-
><property><rich:dataOrderedList></property></emphasis>
component. In this case you should create own style classes and use them in corresponding
<emphasis role="bold"
-
><property><rich:dataOrderedList></property></emphasis>
<emphasis><property>styleClass</property></emphasis> attributes.
An example is placed below:</para>
-
- <para>
- <emphasis role="bold">Example:</emphasis>
- </para>
- <programlisting role="CSS"><![CDATA[...
+...]]></programlisting>
+
+ <para>This is a result:</para>
+
+ <figure>
+ <title>Redefinition styles with predefined classes</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/dataOrderedList_pc.png" />
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <para>In the example background color was changed.</para>
+
+ <para>
+ Also it’s possible to change styles of particular
+ <emphasis role="bold">
+ <property><rich:dataOrderedList></property>
+ </emphasis>
+ component. In this case you should create own style classes
+ and use them in corresponding
+ <emphasis role="bold">
+ <property><rich:dataOrderedList></property>
+ </emphasis>
+ <emphasis>
+ <property>styleClass</property>
+ </emphasis>
+ attributes. An example is placed below:
+ </para>
+
+ <para>
+ <emphasis role="bold">Example:</emphasis>
+ </para>
+ <programlisting role="CSS"><![CDATA[...
.myClass{
font-style: italic;
}
-...]]></programlisting>
- <para>
- <emphasis role="bold">Example:</emphasis>
- </para>
- <programlisting role="XML"><![CDATA[<rich:dataOrderedList ...
styleClass="myClass"/>
-]]></programlisting>
-
- <para>This is a result:</para>
-
- <figure>
- <title>Redefinition styles with own classes and
<emphasis><property>styleClass</property></emphasis>
attributes</title>
- <mediaobject>
- <imageobject>
- <imagedata fileref="images/dataOrderedList_oc.png"/>
- </imageobject>
- </mediaobject>
- </figure>
-
- <para>As it could be seen on the picture above, the font style was
changed.</para>
- </section>
- <section>
- <title>Relevant Resources Links</title>
- <para><ulink
-
url="http://livedemo.exadel.com/richfaces-demo/richfaces/dataLists.j...
- >Here</ulink> you can see the example of <emphasis
role="bold">
- <property><rich:dataOrderedList ></property>
- </emphasis> usage and sources for the given example. </para>
- </section>
+...]]></programlisting>
+ <para>
+ <emphasis role="bold">Example:</emphasis>
+ </para>
+ <programlisting role="XML"><![CDATA[<rich:dataOrderedList ...
styleClass="myClass"/>
+]]></programlisting>
+
+ <para>This is a result:</para>
+
+ <figure>
+ <title>
+ Redefinition styles with own classes and
+ <emphasis>
+ <property>styleClass</property>
+ </emphasis>
+ attributes
+ </title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/dataOrderedList_oc.png" />
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <para>
+ As it could be seen on the picture above, the font style was
+ changed.
+ </para>
+ </section>
+ <section>
+ <title>Relevant Resources Links</title>
+ <para>
+ <ulink
+
url="http://livedemo.exadel.com/richfaces-demo/richfaces/dataLists.j...
+ Here
+ </ulink>
+ you can see the example of
+ <emphasis role="bold">
+ <property><rich:dataOrderedList ></property>
+ </emphasis>
+ usage and sources for the given example.
+ </para>
+ </section>
</section>
Modified: trunk/docs/userguide/en/src/main/docbook/included/dragIndicator.xml
===================================================================
--- trunk/docs/userguide/en/src/main/docbook/included/dragIndicator.xml 2008-06-10
09:24:42 UTC (rev 8966)
+++ trunk/docs/userguide/en/src/main/docbook/included/dragIndicator.xml 2008-06-10
09:27:24 UTC (rev 8967)
@@ -177,7 +177,7 @@
</title>
<para>
If you use <emphasis
role="bold"><property><rich:dragIndicator></property></emphasis>
inside a form
- do not forget to use id like
<property>"formId:indicatorID"</property>
+ do not forget to use id like <code>formId:indicatorID</code>
defined in <emphasis
role="bold"><property><rich:dragSupport></property></emphasis>
indicator attribute.
</para>
</note>
Modified: trunk/docs/userguide/en/src/main/docbook/included/dragListener.xml
===================================================================
--- trunk/docs/userguide/en/src/main/docbook/included/dragListener.xml 2008-06-10 09:24:42
UTC (rev 8966)
+++ trunk/docs/userguide/en/src/main/docbook/included/dragListener.xml 2008-06-10 09:27:24
UTC (rev 8967)
@@ -1,91 +1,122 @@
<?xml version="1.0" encoding="UTF-8"?>
<chapter>
- <chapterinfo>
- <keywordset>
- <keyword>rich:dragListener</keyword>
- </keywordset>
- </chapterinfo>
- <table>
- <title>Component identification parameters </title>
- <tgroup cols="2">
- <thead>
- <row>
- <entry>Name</entry>
- <entry>Value</entry>
- </row>
- </thead>
- <tbody>
-
- <row>
- <entry>listener-class</entry>
- <entry>org.richfaces.event.DragListener</entry>
- </row>
- <row>
- <entry>event-class</entry>
- <entry>org.richfaces.event.DragEvent</entry>
- </row>
-
- <row>
- <entry>tag-class</entry>
- <entry>org.richfaces.taglib.DragListenerTag</entry>
- </row>
-
- </tbody>
- </tgroup>
- </table>
-
+ <chapterinfo>
+ <keywordset>
+ <keyword>rich:dragListener</keyword>
+ </keywordset>
+ </chapterinfo>
+ <table>
+ <title>Component identification parameters</title>
+ <tgroup cols="2">
+ <thead>
+ <row>
+ <entry>Name</entry>
+ <entry>Value</entry>
+ </row>
+ </thead>
+ <tbody>
- <section>
- <title>Creating the Component with a Page Tag</title>
- <para>To create the simplest variant on a page use the following
syntax:</para>
+ <row>
+ <entry>listener-class</entry>
+ <entry>org.richfaces.event.DragListener</entry>
+ </row>
+ <row>
+ <entry>event-class</entry>
+ <entry>org.richfaces.event.DragEvent</entry>
+ </row>
- <para>
- <emphasis role="bold">Example:</emphasis>
- </para>
+ <row>
+ <entry>tag-class</entry>
+ <entry>org.richfaces.taglib.DragListenerTag</entry>
+ </row>
- <programlisting role="XML"><![CDATA[...
+ </tbody>
+ </tgroup>
+ </table>
+
+
+ <section>
+ <title>Creating the Component with a Page Tag</title>
+ <para>
+ To create the simplest variant on a page use the following
+ syntax:
+ </para>
+
+ <para>
+ <emphasis role="bold">Example:</emphasis>
+ </para>
+
+ <programlisting role="XML"><![CDATA[...
<rich:dragListener type="demo.Bean"/>
...
-]]></programlisting>
- </section>
-
- <section>
- <title>Creating the Component Dynamically Using Java</title>
- <para>
- <emphasis role="bold">Example:</emphasis></para>
- <programlisting role="JAVA"><![CDATA[package demo;
+]]></programlisting>
+ </section>
+
+ <section>
+ <title>Creating the Component Dynamically Using Java</title>
+ <para>
+ <emphasis role="bold">Example:</emphasis>
+ </para>
+ <programlisting role="JAVA"><![CDATA[package demo;
public class ImplBean implements org.richfaces.event.DragListener{
...
}
]]></programlisting>
- <programlisting role="JAVA"><![CDATA[
+ <programlisting role="JAVA"><![CDATA[
import demo.ImplBean;
...
ImplBean myDragListener = new ImplBean();
...
]]></programlisting>
-
- </section>
- <section>
- <title>Details of Usage</title>
+ </section>
-<para>
-The <emphasis
role="bold"><property><rich:dragListener></property></emphasis>
is used as a nested tag with components like<emphasis role="bold">
-<property><rich:dragSupport></property></emphasis>,
<emphasis
role="bold"><property><rich:tree></property></emphasis>
and <emphasis
role="bold"><property><rich:treeNode></property></emphasis>.
-</para>
-<para>
-Attribute
<emphasis><property>"type"</property></emphasis>
defines the fully qualified Java class name for a listener.
- This class should implement org.richfaces.event.DragListener <ulink
url="http://labs.jboss.com/file-access/default/members/jbossrichface...;.
-</para>
-
- <para>
- <emphasis role="bold">The typical variant of
using:</emphasis>
- </para>
+ <section>
+ <title>Details of Usage</title>
- <programlisting role="XML"><![CDATA[...
+ <para>
+ The
+ <emphasis role="bold">
+ <property><rich:dragListener></property>
+ </emphasis>
+ is used as a nested tag with components like
+ <emphasis role="bold">
+ <property><rich:dragSupport></property>
+ </emphasis>
+ ,
+ <emphasis role="bold">
+ <property><rich:tree></property>
+ </emphasis>
+ and
+ <emphasis role="bold">
+ <property><rich:treeNode></property>
+ </emphasis>
+ .
+ </para>
+ <para>
+ Attribute
+ <emphasis>
+ <property>"type"</property>
+ </emphasis>
+ defines the fully qualified Java class name for a listener.
+ This class should implement
+ <code>org.richfaces.event.DropListener</code>
+ <ulink
+
url="http://labs.jboss.com/file-access/default/members/jbossrichface...
+ interface
+ </ulink>
+ .
+ </para>
+
+ <para>
+ <emphasis role="bold">
+ The typical variant of using:
+ </emphasis>
+ </para>
+
+ <programlisting role="XML"><![CDATA[...
<h:panelGrid id="dragPanel">
<rich:dragSupport dragType="item">
<rich:dragListener type="demo.ListenerBean"/>
@@ -93,13 +124,13 @@
<!--Some content to be dragged-->
</h:panelGrid>
...
-]]></programlisting>
+]]></programlisting>
- <para>
- <emphasis role="bold">Java bean source:</emphasis>
- </para>
+ <para>
+ <emphasis role="bold">Java bean source:</emphasis>
+ </para>
- <programlisting role="JAVA"><![CDATA[package demo;
+ <programlisting role="JAVA"><![CDATA[package demo;
import org.richfaces.event.DragEvent;
@@ -110,16 +141,20 @@
}
...
}
-]]></programlisting>
- </section>
-
- <section>
- <title>Look-and-Feel Customization</title>
-
- <para><emphasis role="bold">
- <property><rich:dragListener></property>
- </emphasis> has no skin parameters and custom <property>style
classes</property>, as the
- component isn't visual.</para>
- </section>
-
+]]></programlisting>
+ </section>
+
+ <section>
+ <title>Look-and-Feel Customization</title>
+
+ <para>
+ <emphasis role="bold">
+ <property><rich:dragListener></property>
+ </emphasis>
+ has no skin parameters and custom
+ <property>style classes</property>
+ , as the component isn't visual.
+ </para>
+ </section>
+
</chapter>
\ No newline at end of file
Modified: trunk/docs/userguide/en/src/main/docbook/included/dragSupport.xml
===================================================================
--- trunk/docs/userguide/en/src/main/docbook/included/dragSupport.xml 2008-06-10 09:24:42
UTC (rev 8966)
+++ trunk/docs/userguide/en/src/main/docbook/included/dragSupport.xml 2008-06-10 09:27:24
UTC (rev 8967)
@@ -1,107 +1,120 @@
<?xml version="1.0" encoding="UTF-8"?>
<section>
- <sectioninfo>
- <keywordset>
- <keyword>rich:dragSupport</keyword>
+ <sectioninfo>
+ <keywordset>
+ <keyword>rich:dragSupport</keyword>
- <keyword>HtmlDragSupport</keyword>
- </keywordset>
- </sectioninfo>
+ <keyword>HtmlDragSupport</keyword>
+ </keywordset>
+ </sectioninfo>
- <table>
- <title>Component identification parameters</title>
+ <table>
+ <title>Component identification parameters</title>
- <tgroup cols="2">
- <thead>
- <row>
- <entry>Name</entry>
+ <tgroup cols="2">
+ <thead>
+ <row>
+ <entry>Name</entry>
- <entry>Value</entry>
- </row>
- </thead>
+ <entry>Value</entry>
+ </row>
+ </thead>
- <tbody>
- <row>
- <entry>component-type</entry>
+ <tbody>
+ <row>
+ <entry>component-type</entry>
- <entry>org.richfaces.DragSupport</entry>
- </row>
+ <entry>org.richfaces.DragSupport</entry>
+ </row>
- <row>
- <entry>component-class</entry>
+ <row>
+ <entry>component-class</entry>
- <entry>org.richfaces.component.html.HtmlDragSupport</entry>
- </row>
+ <entry>
+ org.richfaces.component.html.HtmlDragSupport
+ </entry>
+ </row>
- <row>
- <entry>component-family</entry>
+ <row>
+ <entry>component-family</entry>
- <entry>org.richfaces.DragSupport</entry>
- </row>
+ <entry>org.richfaces.DragSupport</entry>
+ </row>
- <row>
- <entry>renderer-type</entry>
+ <row>
+ <entry>renderer-type</entry>
- <entry>org.richfaces.DragSupportRenderer</entry>
- </row>
+ <entry>org.richfaces.DragSupportRenderer</entry>
+ </row>
- <row>
- <entry>tag-class</entry>
+ <row>
+ <entry>tag-class</entry>
- <entry>org.richfaces.taglib.DragSupportTag</entry>
- </row>
- </tbody>
- </tgroup>
- </table>
+ <entry>org.richfaces.taglib.DragSupportTag</entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </table>
- <section>
- <title>Creating the Component with a Page Tag</title>
+ <section>
+ <title>Creating the Component with a Page Tag</title>
- <para>Here is a simple example as it could be used on a page:</para>
+ <para>
+ Here is a simple example as it could be used on a page:
+ </para>
- <para>
- <emphasis role="bold">Example:</emphasis>
- </para>
- <programlisting role="XML"><![CDATA[...
+ <para>
+ <emphasis role="bold">Example:</emphasis>
+ </para>
+ <programlisting role="XML"><![CDATA[...
<h:panelGrid id="drag1">
<rich:dragSupport dragType="item"/>
<!--Some content to be dragged-->
</h:panelGrid>
...
]]></programlisting>
- </section>
+ </section>
- <section>
- <title>Creating the Component Dynamically Using Java</title>
+ <section>
+ <title>Creating the Component Dynamically Using Java</title>
- <para>
- <emphasis role="bold">Example:</emphasis>
- </para>
- <programlisting role="JAVA"><![CDATA[import
org.richfaces.component.html.HtmlDragSupport;
+ <para>
+ <emphasis role="bold">Example:</emphasis>
+ </para>
+ <programlisting role="JAVA"><![CDATA[import
org.richfaces.component.html.HtmlDragSupport;
...
HtmlDragSupport myDragZone = new HtmlDragSupport();
...
]]></programlisting>
- </section>
+ </section>
- <section>
- <title>Details of Usage</title>
+ <section>
+ <title>Details of Usage</title>
- <para>The <property>dragSupport</property> tag inside a component
completely specifies the
- events and JavaScript required to use the component and it's children for
dragging as part of
- a drag-and-drop operation. In order to work, though,
<property>dragSupport</property> must be
- placed inside a wrapper component that outputs child components and that has the
right events
- defined on it. Thus, this example won't work, because the
<property>h:column</property> tag
- doesn't provide the necessary properties for redefining events on the
client:</para>
+ <para>
+ The
+ <property>dragSupport</property>
+ tag inside a component completely specifies the events and
+ JavaScript required to use the component and it's children
+ for dragging as part of a drag-and-drop operation. In order
+ to work, though,
+ <property>dragSupport</property>
+ must be placed inside a wrapper component that outputs child
+ components and that has the right events defined on it.
+ Thus, this example won't work, because the
+ <code>h:column</code>
+ tag doesn't provide the necessary properties for redefining
+ events on the client:
+ </para>
- <para>
- <emphasis role="bold">Example:</emphasis>
- </para>
- <programlisting role="XML"><![CDATA[...
+ <para>
+ <emphasis role="bold">Example:</emphasis>
+ </para>
+ <programlisting role="XML"><![CDATA[...
<h:column>
<rich:dragSupport dragIndicator=":form:iii"
dragType="text">
<a4j:actionParam value="#{caps.name}"
name="name"/>
@@ -111,14 +124,19 @@
...
]]></programlisting>
- <para>However, using <property>a4j:outputPanel</property> as a
wrapper inside
- <property>h:column</property>, the following code could be used
successfully:</para>
+ <para>
+ However, using
+ <property>a4j:outputPanel</property>
+ as a wrapper inside
+ <code>h:column</code>
+ , the following code could be used successfully:
+ </para>
- <para>
- <emphasis role="bold">Example:</emphasis>
- </para>
- <programlisting role="XML"><![CDATA[...
+ <para>
+ <emphasis role="bold">Example:</emphasis>
+ </para>
+ <programlisting role="XML"><![CDATA[...
<h:column>
<a4j:outputPanel>
<rich:dragSupport dragIndicator=":form:iii"
dragType="text">
@@ -130,18 +148,26 @@
...
]]></programlisting>
- <para>This code makes all rows of this column draggable.</para>
+ <para>This code makes all rows of this column draggable.</para>
- <para>One of the main attributes for
<property>dragSupport</property> is
-
<emphasis><property>"dragType"</property>,</emphasis>
which associates a name with the
- drag zone. Only drop zones with this name as an acceptable type can be used in
drag-and-drop
- operations. Here is an example:</para>
+ <para>
+ One of the main attributes for
+ <property>dragSupport</property>
+ is
+ <emphasis>
+ <property>"dragType"</property>
+ ,
+ </emphasis>
+ which associates a name with the drag zone. Only drop zones
+ with this name as an acceptable type can be used in
+ drag-and-drop operations. Here is an example:
+ </para>
- <para>
- <emphasis role="bold">Example:</emphasis>
- </para>
- <programlisting role="XML"><![CDATA[...
+ <para>
+ <emphasis role="bold">Example:</emphasis>
+ </para>
+ <programlisting role="XML"><![CDATA[...
<h:panelGrid id="drag1">
<rich:dragSupport dragType="singleItems" .../>
<!--Some content to be dragged-->
@@ -159,60 +185,117 @@
...
]]></programlisting>
- <para>In this example, the <property>drop1</property> panel grid is
a drop zone that invokes
- drag-and-drop for drops of items from the first
<property>drag1</property> panel grid, but not
- the second <property>drag2</property> panel grid. In the section about
- <property>dropSupport</property>, you will find an example that shows
more detailed
- information about moving data between tables with drag and drop.</para>
+ <para>
+ In this example, the
+ <code>drop1</code>
+ panel grid is a drop zone that invokes drag-and-drop for
+ drops of items from the first
+ <code>drag1</code>
+ panel grid, but not the second
+ <code>drag2</code>
+ panel grid. In the section about
+ <property>dropSupport</property>
+ , you will find an example that shows more detailed
+ information about moving data between tables with drag and
+ drop.
+ </para>
- <para>The <property>dragSupport</property> component also has a
<emphasis>
- <property>"value"</property>
- </emphasis> attribute for passing data into the processing after a drop
event.</para>
+ <para>
+ The
+ <property>dragSupport</property>
+ component also has a
+ <emphasis>
+ <property>"value"</property>
+ </emphasis>
+ attribute for passing data into the processing after a drop
+ event.
+ </para>
- <para>One more important attribute for <emphasis role="bold">
- <property><rich:dragSupport></property>
- </emphasis> is the <emphasis>
- <property>"dragIndicator"</property>
- </emphasis> attribute that point to the component id of the <emphasis
role="bold">
- <property><rich:dragIndicator></property>
- </emphasis> component to be used for dragged items from this drag zone. If it
isn't defined, a
- default indicator for drag operations is used.</para>
+ <para>
+ One more important attribute for
+ <emphasis role="bold">
+ <property><rich:dragSupport></property>
+ </emphasis>
+ is the
+ <emphasis>
+ <property>"dragIndicator"</property>
+ </emphasis>
+ attribute that point to the component id of the
+ <emphasis role="bold">
+ <property><rich:dragIndicator></property>
+ </emphasis>
+ component to be used for dragged items from this drag zone.
+ If it isn't defined, a default indicator for drag operations
+ is used.
+ </para>
- <para>Finally, the component has the following extra attributes for event
processing on the
- client:</para>
+ <para>
+ Finally, the component has the following extra attributes
+ for event processing on the client:
+ </para>
- <itemizedlist>
- <listitem><para>ondragenter</para></listitem>
+ <itemizedlist>
+ <listitem>
+ <para>ondragenter</para>
+ </listitem>
- <listitem><para>ondragexit</para></listitem>
- </itemizedlist>
+ <listitem>
+ <para>ondragexit</para>
+ </listitem>
+ </itemizedlist>
- <para>You can use your own custom JavaScript functions to handle these
events.</para>
-
-
- <note><title>Note:</title><para> If you define width for a
outputPanel, in Internet Explorer 6 you can
- perform a drag and drop operation, placing the mouse cursor on the text in the
outputPanel only.</para></note>
- <para>
- Information about the
<emphasis><property>"process"</property></emphasis>
attribute usage you can find <link linkend="process">here</link>.
- </para>
- </section>
+ <para>
+ You can use your own custom JavaScript functions to handle
+ these events.
+ </para>
- <section>
- <title>Look-and-Feel Customization</title>
- <para><emphasis role="bold">
- <property><rich:dragSupport></property>
- </emphasis> has no skin parameters and custom <property>style
classes</property>, as the
- component isn't visual.</para>
- </section>
-
- <section>
- <title>Relevant Resources Links</title>
- <para>
- <ulink
url="http://livedemo.exadel.com/richfaces-demo/richfaces/dragSupport...
- >Here</ulink> you can see the example of <emphasis
role="bold">
- <property><rich:dragSupport></property>
- </emphasis> usage and sources for the given example. </para>
- </section>
+ <note>
+ <title>Note:</title>
+ <para>
+ If you define width for a outputPanel, in Internet
+ Explorer 6 you can perform a drag and drop operation,
+ placing the mouse cursor on the text in the outputPanel
+ only.
+ </para>
+ </note>
+ <para>
+ Information about the
+ <emphasis>
+ <property>"process"</property>
+ </emphasis>
+ attribute usage you can find
+ <link linkend="process">here</link>
+ .
+ </para>
+ </section>
+ <section>
+ <title>Look-and-Feel Customization</title>
+
+ <para>
+ <emphasis role="bold">
+ <property><rich:dragSupport></property>
+ </emphasis>
+ has no skin parameters and custom
+ <property>style classes</property>
+ , as the component isn't visual.
+ </para>
+ </section>
+
+ <section>
+ <title>Relevant Resources Links</title>
+ <para>
+ <ulink
+
url="http://livedemo.exadel.com/richfaces-demo/richfaces/dragSupport...
+ Here
+ </ulink>
+ you can see the example of
+ <emphasis role="bold">
+ <property><rich:dragSupport></property>
+ </emphasis>
+ usage and sources for the given example.
+ </para>
+ </section>
+
</section>
Modified: trunk/docs/userguide/en/src/main/docbook/included/dropListener.xml
===================================================================
--- trunk/docs/userguide/en/src/main/docbook/included/dropListener.xml 2008-06-10 09:24:42
UTC (rev 8966)
+++ trunk/docs/userguide/en/src/main/docbook/included/dropListener.xml 2008-06-10 09:27:24
UTC (rev 8967)
@@ -1,91 +1,122 @@
<?xml version="1.0" encoding="UTF-8"?>
<chapter>
- <chapterinfo>
- <keywordset>
- <keyword>rich:dropListener</keyword>
- </keywordset>
- </chapterinfo>
- <table>
- <title>Component identification parameters </title>
- <tgroup cols="2">
- <thead>
- <row>
- <entry>Name</entry>
- <entry>Value</entry>
- </row>
- </thead>
- <tbody>
-
- <row>
- <entry>listener-class</entry>
- <entry>org.richfaces.event.DropListener</entry>
- </row>
- <row>
- <entry>event-class</entry>
- <entry>org.richfaces.event.DropEvent</entry>
- </row>
-
- <row>
- <entry>tag-class</entry>
- <entry>org.richfaces.taglib.DropListenerTag</entry>
- </row>
-
- </tbody>
- </tgroup>
- </table>
-
+ <chapterinfo>
+ <keywordset>
+ <keyword>rich:dropListener</keyword>
+ </keywordset>
+ </chapterinfo>
+ <table>
+ <title>Component identification parameters</title>
+ <tgroup cols="2">
+ <thead>
+ <row>
+ <entry>Name</entry>
+ <entry>Value</entry>
+ </row>
+ </thead>
+ <tbody>
- <section>
- <title>Creating the Component with a Page Tag</title>
- <para>To create the simplest variant on a page use the following
syntax:</para>
+ <row>
+ <entry>listener-class</entry>
+ <entry>org.richfaces.event.DropListener</entry>
+ </row>
+ <row>
+ <entry>event-class</entry>
+ <entry>org.richfaces.event.DropEvent</entry>
+ </row>
- <para>
- <emphasis role="bold">Example:</emphasis>
- </para>
+ <row>
+ <entry>tag-class</entry>
+ <entry>org.richfaces.taglib.DropListenerTag</entry>
+ </row>
- <programlisting role="XML"><![CDATA[...
+ </tbody>
+ </tgroup>
+ </table>
+
+
+ <section>
+ <title>Creating the Component with a Page Tag</title>
+ <para>
+ To create the simplest variant on a page use the following
+ syntax:
+ </para>
+
+ <para>
+ <emphasis role="bold">Example:</emphasis>
+ </para>
+
+ <programlisting role="XML"><![CDATA[...
<rich:dropListener type="demo.Bean"/>
...
-]]></programlisting>
- </section>
-
- <section>
- <title>Creating the Component Dynamically Using Java</title>
- <para>
- <emphasis role="bold">Example:</emphasis></para>
- <programlisting role="JAVA"><![CDATA[package demo;
+]]></programlisting>
+ </section>
+
+ <section>
+ <title>Creating the Component Dynamically Using Java</title>
+ <para>
+ <emphasis role="bold">Example:</emphasis>
+ </para>
+ <programlisting role="JAVA"><![CDATA[package demo;
public class ImplBean implements org.richfaces.event.DropListener{
...
}
]]></programlisting>
- <programlisting role="JAVA"><![CDATA[
+ <programlisting role="JAVA"><![CDATA[
import demo.ImplBean;
...
ImplBean myListener = new ImplBean();
...
]]></programlisting>
-
- </section>
- <section>
- <title>Details of Usage</title>
+ </section>
-<para>
-The <emphasis
role="bold"><property><rich:dropListener></property></emphasis>
is used as a nested tag with components like
-<emphasis
role="bold"><property><rich:dropSupport></property></emphasis>,
<emphasis
role="bold"><property><rich:tree></property></emphasis>
and <emphasis
role="bold"><property><rich:treeNode></property></emphasis>.
-</para>
-<para>
-Attribute
<emphasis><property>"type"</property></emphasis>
defines the fully qualified Java class name for the listener.
- This class should implement org.richfaces.event.DropListener <ulink
url="http://labs.jboss.com/file-access/default/members/jbossrichface...;.
-</para>
-
- <para>
- <emphasis role="bold">The typical variant of
using:</emphasis>
- </para>
+ <section>
+ <title>Details of Usage</title>
- <programlisting role="XML"><![CDATA[...
+ <para>
+ The
+ <emphasis role="bold">
+ <property><rich:dropListener></property>
+ </emphasis>
+ is used as a nested tag with components like
+ <emphasis role="bold">
+ <property><rich:dropSupport></property>
+ </emphasis>
+ ,
+ <emphasis role="bold">
+ <property><rich:tree></property>
+ </emphasis>
+ and
+ <emphasis role="bold">
+ <property><rich:treeNode></property>
+ </emphasis>
+ .
+ </para>
+ <para>
+ Attribute
+ <emphasis>
+ <property>"type"</property>
+ </emphasis>
+ defines the fully qualified Java class name for the
+ listener. This class should implement
+ <code>org.richfaces.event.DropListener</code>
+ <ulink
+
url="http://labs.jboss.com/file-access/default/members/jbossrichface...
+ interface
+ </ulink>
+ .
+ </para>
+
+ <para>
+ <emphasis role="bold">
+ The typical variant of using:
+ </emphasis>
+ </para>
+
+ <programlisting role="XML"><![CDATA[...
<rich:panel style="width:100px;height:100px;">
<f:facet name="header">Drop Zone</f:facet>
<rich:dropSupport acceptedTypes="text">
@@ -93,13 +124,13 @@
</rich:dropSupport>
</rich:panel>
...
-]]></programlisting>
+]]></programlisting>
- <para>
- <emphasis role="bold">Java bean source:</emphasis>
- </para>
+ <para>
+ <emphasis role="bold">Java bean source:</emphasis>
+ </para>
- <programlisting role="JAVA"><![CDATA[package demo;
+ <programlisting role="JAVA"><![CDATA[package demo;
import org.richfaces.event.DropEvent;
@@ -110,16 +141,20 @@
}
...
}
-]]></programlisting>
- </section>
-
- <section>
- <title>Look-and-Feel Customization</title>
-
- <para><emphasis role="bold">
- <property><rich:dropListener></property>
- </emphasis> has no skin parameters and custom <property>style
classes</property>, as the
- component isn't visual.</para>
- </section>
-
+]]></programlisting>
+ </section>
+
+ <section>
+ <title>Look-and-Feel Customization</title>
+
+ <para>
+ <emphasis role="bold">
+ <property><rich:dropListener></property>
+ </emphasis>
+ has no skin parameters and custom
+ <property>style classes</property>
+ , as the component isn't visual.
+ </para>
+ </section>
+
</chapter>
\ No newline at end of file
Modified: trunk/docs/userguide/en/src/main/docbook/included/dropSupport.xml
===================================================================
--- trunk/docs/userguide/en/src/main/docbook/included/dropSupport.xml 2008-06-10 09:24:42
UTC (rev 8966)
+++ trunk/docs/userguide/en/src/main/docbook/included/dropSupport.xml 2008-06-10 09:27:24
UTC (rev 8967)
@@ -1,118 +1,140 @@
<?xml version="1.0" encoding="UTF-8"?>
<section>
- <sectioninfo>
- <keywordset>
- <keyword>rich:dropSupport</keyword>
+ <sectioninfo>
+ <keywordset>
+ <keyword>rich:dropSupport</keyword>
- <keyword>HtmlDropSupport</keyword>
- </keywordset>
- </sectioninfo>
+ <keyword>HtmlDropSupport</keyword>
+ </keywordset>
+ </sectioninfo>
-
- <table>
- <title>Component identification parameters</title>
- <tgroup cols="2">
- <thead>
- <row>
- <entry>Name</entry>
+ <table>
+ <title>Component identification parameters</title>
- <entry>Value</entry>
- </row>
- </thead>
+ <tgroup cols="2">
+ <thead>
+ <row>
+ <entry>Name</entry>
- <tbody>
- <row>
- <entry>component-type</entry>
+ <entry>Value</entry>
+ </row>
+ </thead>
- <entry>org.richfaces.DropSupport</entry>
- </row>
+ <tbody>
+ <row>
+ <entry>component-type</entry>
- <row>
- <entry>component-class</entry>
+ <entry>org.richfaces.DropSupport</entry>
+ </row>
- <entry>org.richfaces.component.html.HtmlDropSupport</entry>
- </row>
+ <row>
+ <entry>component-class</entry>
- <row>
- <entry>component-family</entry>
+ <entry>
+ org.richfaces.component.html.HtmlDropSupport
+ </entry>
+ </row>
- <entry>org.richfaces.DropSupport</entry>
- </row>
+ <row>
+ <entry>component-family</entry>
- <row>
- <entry>renderer-type</entry>
+ <entry>org.richfaces.DropSupport</entry>
+ </row>
- <entry>org.richfaces.DropSupportRenderer</entry>
- </row>
+ <row>
+ <entry>renderer-type</entry>
- <row>
- <entry>tag-class</entry>
+ <entry>org.richfaces.DropSupportRenderer</entry>
+ </row>
- <entry>org.richfaces.taglib.DropSupportTag</entry>
- </row>
- </tbody>
- </tgroup>
- </table>
-
+ <row>
+ <entry>tag-class</entry>
- <section>
- <title>Creating the Component with a Page Tag</title>
+ <entry>org.richfaces.taglib.DropSupportTag</entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </table>
- <para>This simple example shows how to make a panel component a potential drop
target for
- drag-and-drop operations using "text" elements as the dragged
items.</para>
- <para>
- <emphasis role="bold">Example:</emphasis>
- </para>
- <programlisting role="XML"><![CDATA[...
+ <section>
+ <title>Creating the Component with a Page Tag</title>
+
+ <para>
+ This simple example shows how to make a panel component a
+ potential drop target for drag-and-drop operations using
+ "text" elements as the dragged items.
+ </para>
+
+ <para>
+ <emphasis role="bold">Example:</emphasis>
+ </para>
+ <programlisting role="XML"><![CDATA[...
<rich:panel>
<rich:dropSupport acceptedTypes="text"/>
</rich:panel>
...
]]></programlisting>
- </section>
+ </section>
- <section>
- <title>Creating the Component Dynamically Using Java</title>
+ <section>
+ <title>Creating the Component Dynamically Using Java</title>
- <para>
- <emphasis role="bold">Example:</emphasis>
- </para>
- <programlisting role="JAVA"><![CDATA[import
org.richfaces.component.html.HtmlDropSupport;
+ <para>
+ <emphasis role="bold">Example:</emphasis>
+ </para>
+ <programlisting role="JAVA"><![CDATA[import
org.richfaces.component.html.HtmlDropSupport;
...
HtmlDropSupport myDragZone = new HtmlDropSupport();
...
]]></programlisting>
- </section>
+ </section>
- <section>
- <title>Details of Usage</title>
+ <section>
+ <title>Details of Usage</title>
- <para>As shown in the example, the key attribute for <emphasis
role="bold">
- <property><rich:dropSupport></property>
- </emphasis> is <emphasis>
- <property>"acceptedTypes"</property>
- </emphasis>. This attribute defines the types of draggable items that can be
dropped onto the
- designated drop zone.</para>
+ <para>
+ As shown in the example, the key attribute for
+ <emphasis role="bold">
+ <property><rich:dropSupport></property>
+ </emphasis>
+ is
+ <emphasis>
+ <property>"acceptedTypes"</property>
+ </emphasis>
+ . This attribute defines the types of draggable items that
+ can be dropped onto the designated drop zone.
+ </para>
- <para>The second most important attribute for <emphasis
role="bold">
- <property><rich:dropSupport></property>
- </emphasis> is <emphasis>
- <property>"typeMapping"</property>
- </emphasis>. This attribute maps a specific type among the acceptable types
for draggable
- items to a specific <emphasis role="bold">
- <property><rich:dndParam></property>
- </emphasis> child element under <emphasis role="bold">
- <property><rich:dropSupport></property>
- </emphasis>.</para>
+ <para>
+ The second most important attribute for
+ <emphasis role="bold">
+ <property><rich:dropSupport></property>
+ </emphasis>
+ is
+ <emphasis>
+ <property>"typeMapping"</property>
+ </emphasis>
+ . This attribute maps a specific type among the acceptable
+ types for draggable items to a specific
+ <emphasis role="bold">
+ <property><rich:dndParam></property>
+ </emphasis>
+ child element under
+ <emphasis role="bold">
+ <property><rich:dropSupport></property>
+ </emphasis>
+ .
+ </para>
- <para>
- <emphasis role="bold">Example:</emphasis> </para>
-
- <programlisting role="XML"><![CDATA[...
+ <para>
+ <emphasis role="bold">Example:</emphasis>
+ </para>
+
+ <programlisting role="XML"><![CDATA[...
<rich:dropSupport acceptedTypes="[iconsDragged, textDragged]"
typeMapping="{iconsDragged: DropIcon}">
<rich:dndParam name="DropIcon">
<h:graphicImage value="/images/drop-icon.png"/>
@@ -120,23 +142,40 @@
...
]]></programlisting>
- <para>In this example, dropping a draggable item of an
<emphasis><property>"iconsDragged"</property></emphasis>
type
- will trigger the use a parameter named
<emphasis><property>"DropIcon"</property></emphasis>
in the event processing
- after a drop event. (Also, an Ajax request is sent, and the action and dropListener
defined
- for the component are called.)</para>
+ <para>
+ In this example, dropping a draggable item of an
+ <emphasis>
+ <property>"iconsDragged"</property>
+ </emphasis>
+ type will trigger the use a parameter named
+ <emphasis>
+ <property>"DropIcon"</property>
+ </emphasis>
+ in the event processing after a drop event. (Also, an Ajax
+ request is sent, and the action and dropListener defined for
+ the component are called.)
+ </para>
- <para>Here is an example of moving records between tables. The example
describes all the pieces
- for drag-and-drop. (To get extra information on these components, read the sections
for these
- components.)</para>
+ <para>
+ Here is an example of moving records between tables. The
+ example describes all the pieces for drag-and-drop. (To get
+ extra information on these components, read the sections for
+ these components.)
+ </para>
- <para>As draggable items, this table contains a list of such items designated
as being of type
- "text":</para>
+ <para>
+ As draggable items, this table contains a list of such items
+ designated as being of type
+ <code>"text"</code>
+ :
+ </para>
- <para>
- <emphasis role="bold">Example:</emphasis></para>
-
- <programlisting role="XML"><![CDATA[...
+ <para>
+ <emphasis role="bold">Example:</emphasis>
+ </para>
+
+ <programlisting role="XML"><![CDATA[...
<rich:dataTable value="#{capitalsBean.capitals}"
var="caps">
<f:facet name="caption">Capitals List</f:facet>
<h:column>
@@ -151,14 +190,21 @@
...
]]></programlisting>
- <para>As a drop zone, this panel will accept draggable items of type
"text" and then rerender an
- element with the ID of "box":</para>
+ <para>
+ As a drop zone, this panel will accept draggable items of
+ type
+ <code>text</code>
+ and then rerender an element with the ID of
+ <code>box</code>
+ :
+ </para>
- <para>
- <emphasis role="bold">Example:</emphasis> </para>
-
- <programlisting role="XML"><![CDATA[...
+ <para>
+ <emphasis role="bold">Example:</emphasis>
+ </para>
+
+ <programlisting role="XML"><![CDATA[...
<rich:panel style="width:100px;height:100px;">
<f:facet name="header">Drop Zone</f:facet>
<rich:dropSupport acceptedTypes="text" reRender="box"
@@ -167,14 +213,18 @@
...
]]></programlisting>
- <para>As a part of the page that can be updated in a partial page update, this
table has an ID
- of "box":</para>
+ <para>
+ As a part of the page that can be updated in a partial page
+ update, this table has an ID of
+ <code>box</code>
+ :
+ </para>
- <para>
- <emphasis role="bold">Example:</emphasis>
- </para>
- <programlisting role="XML"><![CDATA[...
+ <para>
+ <emphasis role="bold">Example:</emphasis>
+ </para>
+ <programlisting role="XML"><![CDATA[...
<rich:dataTable value="#{capitalsBean.capitals2}" var="cap2"
id="box">
<f:facet name="caption">Capitals chosen</f:facet>
<h:column>
@@ -183,13 +233,16 @@
</rich:dataTable>
...]]></programlisting>
- <para>And finally, as a listener, this listener will implement the dropped
element:</para>
+ <para>
+ And finally, as a listener, this listener will implement the
+ dropped element:
+ </para>
- <para>
- <emphasis role="bold">Example:</emphasis>
- </para>
- <programlisting role="JAVA"><![CDATA[...
+ <para>
+ <emphasis role="bold">Example:</emphasis>
+ </para>
+ <programlisting role="JAVA"><![CDATA[...
public void addCapital2(DropEvent event) {
FacesContext context = FacesContext.getCurrentInstance();
Capital cap = new Capital();
@@ -199,62 +252,115 @@
...
]]></programlisting>
- <para>Here is the result after a few drops of items from the first
table:</para>
+ <para>
+ Here is the result after a few drops of items from the first
+ table:
+ </para>
- <figure>
- <title>Results of drop actions</title>
+ <figure>
+ <title>Results of drop actions</title>
- <mediaobject>
- <imageobject>
- <imagedata fileref="images/dropSupport2.png"/>
- </imageobject>
- </mediaobject>
- </figure>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/dropSupport2.png" />
+ </imageobject>
+ </mediaobject>
+ </figure>
- <para>In this example, items are dragged element-by-element from the rendered
list in the first
- table and dropped on a panel in the middle. After each drop, a drop event is
generated and a
- common Ajax request is performed that renders results in the third
table.</para>
+ <para>
+ In this example, items are dragged element-by-element from
+ the rendered list in the first table and dropped on a panel
+ in the middle. After each drop, a drop event is generated
+ and a common Ajax request is performed that renders results
+ in the third table.
+ </para>
- <para>As with every Ajax action component, <emphasis
role="bold">
- <property><rich:dropSupport></property>
- </emphasis> has all the common attributes
(<emphasis><property>"timeout"</property>,</emphasis>
-
<emphasis><property>"limitToList"</property>,</emphasis>
-
<emphasis><property>"reRender"</property>,</emphasis>
etc.) for Ajax request customization.</para>
+ <para>
+ As with every Ajax action component,
+ <emphasis role="bold">
+ <property><rich:dropSupport></property>
+ </emphasis>
+ has all the common attributes (
+ <emphasis>
+ <property>"timeout"</property>
+ ,
+ </emphasis>
+ <emphasis>
+ <property>"limitToList"</property>
+ ,
+ </emphasis>
+ <emphasis>
+ <property>"reRender"</property>
+ ,
+ </emphasis>
+ etc.) for Ajax request customization.
+ </para>
- <para>Finally, the component has the following extra attributes for event
processing on the
- client:</para>
+ <para>
+ Finally, the component has the following extra attributes
+ for event processing on the client:
+ </para>
- <itemizedlist>
- <listitem><para>ondragenter</para></listitem>
+ <itemizedlist>
+ <listitem>
+ <para>ondragenter</para>
+ </listitem>
- <listitem><para>ondragexit</para></listitem>
+ <listitem>
+ <para>ondragexit</para>
+ </listitem>
- <listitem><para>ondrop</para></listitem>
+ <listitem>
+ <para>ondrop</para>
+ </listitem>
- <listitem><para>ondropend</para></listitem>
- </itemizedlist>
+ <listitem>
+ <para>ondropend</para>
+ </listitem>
+ </itemizedlist>
- <para>Developers can use their own custom JavaScript functions to handle these
events.</para>
- <para>
- Information about the
<emphasis><property>"process"</property></emphasis>
attribute usage you can find <link linkend="process">here</link>.
- </para>
- </section>
+ <para>
+ Developers can use their own custom JavaScript functions to
+ handle these events.
+ </para>
+ <para>
+ Information about the
+ <emphasis>
+ <property>"process"</property>
+ </emphasis>
+ attribute usage you can find
+ <link linkend="process">here</link>
+ .
+ </para>
+ </section>
- <section>
- <title>Look-and-Feel Customization</title>
+ <section>
+ <title>Look-and-Feel Customization</title>
- <para><emphasis role="bold">
- <property><rich:dropSupport></property>
- </emphasis> has no skin parameters and custom
<emphasis><property>style classes</property></emphasis>, as the
- component isn't visual.</para>
- </section>
- <section>
- <title>Relevant Resources Links</title>
- <para>
- <ulink
url="http://livedemo.exadel.com/richfaces-demo/richfaces/dragSupport...
- >Here</ulink> you can see the example of <emphasis
role="bold"
-
><property><rich:dropSupport></property></emphasis>
usage and sources for the given example.
- </para>
- </section>
+ <para>
+ <emphasis role="bold">
+ <property><rich:dropSupport></property>
+ </emphasis>
+ has no skin parameters and custom
+ <emphasis>
+ <property>style classes</property>
+ </emphasis>
+ , as the component isn't visual.
+ </para>
+ </section>
+ <section>
+ <title>Relevant Resources Links</title>
+ <para>
+ <ulink
+
url="http://livedemo.exadel.com/richfaces-demo/richfaces/dragSupport...
+ Here
+ </ulink>
+ you can see the example of
+ <emphasis role="bold">
+ <property><rich:dropSupport></property>
+ </emphasis>
+ usage and sources for the given example.
+ </para>
+ </section>
</section>
Modified: trunk/docs/userguide/en/src/main/docbook/included/fileUpload.xml
===================================================================
--- trunk/docs/userguide/en/src/main/docbook/included/fileUpload.xml 2008-06-10 09:24:42
UTC (rev 8966)
+++ trunk/docs/userguide/en/src/main/docbook/included/fileUpload.xml 2008-06-10 09:27:24
UTC (rev 8967)
@@ -170,7 +170,7 @@
</listitem>
<listitem>
<para>
- By <property> file size</property>, use the
<property>maxRequestSize</property> parameter(value in bytes) inside
<property>Ajax4jsf Filter</property> section
+ By <property> file size</property>, use the
<code>maxRequestSize</code> parameter(value in bytes) inside
<property>Ajax4jsf Filter</property> section
in <property>web.xml</property>:
</para>
<programlisting role="XML"><![CDATA[...
Modified: trunk/docs/userguide/en/src/main/docbook/included/form.xml
===================================================================
--- trunk/docs/userguide/en/src/main/docbook/included/form.xml 2008-06-10 09:24:42 UTC
(rev 8966)
+++ trunk/docs/userguide/en/src/main/docbook/included/form.xml 2008-06-10 09:27:24 UTC
(rev 8967)
@@ -67,7 +67,7 @@
<para>
If
<emphasis><property>"ajaxSubmit"</property></emphasis>
attribute is true,
it becomes possible to set Ajax submission way for any components inside,
- i.e. not a page URL is used as an
<emphasis><property>"action"</property></emphasis>
attribute, but the javascript:A4J.AJAX.Submit(...) call.
+ i.e. not a page URL is used as an
<emphasis><property>"action"</property></emphasis>
attribute, but the javascript: <code>A4J.AJAX.Submit(...)</code>call.
In this case, the
<emphasis><property>"reRender"</property></emphasis>
attribute contains a list of Ids of components defined for re-rendering.
If you have <emphasis
role="bold"><property><h:commandButton></property></emphasis>
or
<emphasis
role="bold"><property><h:commandLink></property></emphasis>
inside the form, they work as <emphasis
role="bold"><property><a4j:commandButton></property></emphasis>.
@@ -100,7 +100,7 @@
<para>
With the help of
<emphasis><property>"limitToList"</property></emphasis>
attribute you can limit areas, which are updated after the responses.
If
<emphasis><property>"limitToList"</property></emphasis>
is true, only the reRender attribute is taken in account.
- Therefore, if you use blocks of text wrapped with <emphasis
role="bold"><property><a4j:outputPanel></property></emphasis>
and
<emphasis><property>"ajaxRendered"</property></emphasis>=
<property>true</property>, blocks of text are ignored.
+ Therefore, if you use blocks of text wrapped with <emphasis
role="bold"><property><a4j:outputPanel></property></emphasis>
and <code>ajaxRendered= "true"</code>, blocks of text are
ignored.
</para>
<para>
Information about the
<emphasis><property>"process"</property></emphasis>
attribute usage you can find <link linkend="process">here</link>.
Modified: trunk/docs/userguide/en/src/main/docbook/included/gmap.xml
===================================================================
--- trunk/docs/userguide/en/src/main/docbook/included/gmap.xml 2008-06-10 09:24:42 UTC
(rev 8966)
+++ trunk/docs/userguide/en/src/main/docbook/included/gmap.xml 2008-06-10 09:27:24 UTC
(rev 8967)
@@ -1,271 +1,414 @@
<?xml version='1.0' encoding='UTF-8'?>
<section>
- <sectioninfo>
- <keywordset>
- <keyword>map</keyword>
- <keyword>gmapVar</keyword>
- <keyword>HtmlGmap</keyword>
- </keywordset>
- </sectioninfo>
+ <sectioninfo>
+ <keywordset>
+ <keyword>map</keyword>
+ <keyword>gmapVar</keyword>
+ <keyword>HtmlGmap</keyword>
+ </keywordset>
+ </sectioninfo>
- <table>
- <title>Component identification parameters </title>
- <tgroup cols="2">
- <thead>
- <row>
- <entry>Name</entry>
- <entry>Value</entry>
- </row>
- </thead>
- <tbody>
- <row>
- <entry>component-type</entry>
- <entry>org.richfaces.Gmap</entry>
- </row>
- <row>
- <entry>component-class</entry>
- <entry>org.richfaces.component.html.HtmlGmap</entry>
- </row>
- <row>
- <entry>component-family</entry>
- <entry>org.richfaces.Gmap</entry>
- </row>
- <row>
- <entry>renderer-type</entry>
- <entry>org.richfaces.GmapRenderer</entry>
- </row>
- <row>
- <entry>tag-class</entry>
- <entry>org.richfaces.taglib.GmapTag</entry>
- </row>
- </tbody>
- </tgroup>
- </table>
+ <table>
+ <title>Component identification parameters</title>
+ <tgroup cols="2">
+ <thead>
+ <row>
+ <entry>Name</entry>
+ <entry>Value</entry>
+ </row>
+ </thead>
+ <tbody>
+ <row>
+ <entry>component-type</entry>
+ <entry>org.richfaces.Gmap</entry>
+ </row>
+ <row>
+ <entry>component-class</entry>
+ <entry>org.richfaces.component.html.HtmlGmap</entry>
+ </row>
+ <row>
+ <entry>component-family</entry>
+ <entry>org.richfaces.Gmap</entry>
+ </row>
+ <row>
+ <entry>renderer-type</entry>
+ <entry>org.richfaces.GmapRenderer</entry>
+ </row>
+ <row>
+ <entry>tag-class</entry>
+ <entry>org.richfaces.taglib.GmapTag</entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </table>
- <section>
- <title>Creating the Component with a Page Tag</title>
- <para>To create the simplest variant on a page use the following
syntax:</para>
+ <section>
+ <title>Creating the Component with a Page Tag</title>
+ <para>
+ To create the simplest variant on a page use the following
+ syntax:
+ </para>
- <para>
- <emphasis role="bold">Example:</emphasis>
- </para>
- <programlisting role="XML"><![CDATA[...
+ <para>
+ <emphasis role="bold">Example:</emphasis>
+ </para>
+ <programlisting role="XML"><![CDATA[...
<rich:gmap gmapKey="..."/>
...
]]></programlisting>
- </section>
- <section>
- <title>Creating the Component Dynamically Using Java</title>
+ </section>
+ <section>
+ <title>Creating the Component Dynamically Using Java</title>
- <para>
- <emphasis role="bold">Example:</emphasis>
- </para>
- <programlisting role="JAVA"><![CDATA[import
org.richfaces.component.html.HtmlGmap;
+ <para>
+ <emphasis role="bold">Example:</emphasis>
+ </para>
+ <programlisting role="JAVA"><![CDATA[import
org.richfaces.component.html.HtmlGmap;
...
HtmlGmap myMap = new HtmlGmap();
...
]]></programlisting>
- </section>
- <section>
- <title>Details of Usage</title>
- <para>To use <emphasis>
- <property>Google Map</property>
- </emphasis> in your application, generate a key on <ulink
url="http://google.com/apis/maps"
- >Google Map official resource</ulink>. One key could be used for one
directory on the
- server.</para>
- <para>Here are the main settings of initial rendering performed with a
component
- <property>map</property> that are accessible with the following
attributes:</para>
- <itemizedlist>
- <listitem><para>
- <emphasis>
- <property>"zoom"</property>
- </emphasis> defines an approximation size (boundary values 1-18)
</para></listitem>
- <listitem><para>
- <emphasis>
- <property>"lat"</property>
- </emphasis> specifies an initial latitude coordinate in degrees, as a
number between -90 and
- +90 </para></listitem>
- <listitem><para>
- <emphasis>
- <property>"lng"</property>
- </emphasis> specifies an initial longitude coordinate in degrees, as a
number between -180
- and +180 </para></listitem>
- <listitem><para>
- <emphasis>
- <property>"mapType"</property>
- </emphasis> specifies a type of a rendered map (G_NORMAL_MAP,
G_SATELLITE_MAP (DEFAULT),
- G_HYBRID_MAP) </para></listitem>
- </itemizedlist>
- <para>For example, the city of Paris is shown after rendering with the
following initial
- settings: <emphasis>
- <property>"lat"</property>
- </emphasis>= 48.44, <emphasis>
- <property>"lng"</property>
- </emphasis>= 2.24 and <emphasis>
- <property>"zoom"</property>
- </emphasis>= 5.</para>
- <figure>
- <title><emphasis
role="bold"><property><rich:gmap></property></emphasis>
initial rendering</title>
- <mediaobject>
- <imageobject>
- <imagedata fileref="images/gmap2.png"/>
- </imageobject>
- </mediaobject>
- </figure>
- <para> It's also possible to set accessible controls on the
<property>map</property>
- with the help of the attributes:</para>
- <itemizedlist>
- <listitem><para>
- <emphasis>
- <property>"showGMapTypeControl"</property>
- </emphasis> determines whether the controls for a map type definition are
switched on </para></listitem>
- <listitem><para>
- <emphasis>
- <property>"showGScaleControl"</property>
- </emphasis> determines whether the controls for scaling are switched on
</para></listitem>
- <listitem><para>
- <emphasis>
- <property>"showGLargeMapControl"</property>
- </emphasis> determines whether the control for
<property>map</property> scale rendering is
- rendered </para></listitem>
- </itemizedlist>
- <figure>
- <title><emphasis
role="bold"><property><rich:gmap></property></emphasis>
accessible controls</title>
- <mediaobject>
- <imageobject>
- <imagedata fileref="images/gmap3.png"/>
- </imageobject>
- </mediaobject>
- </figure>
- <para>To set all these parameters and perform some activity (Zoom In/Out etc.)
is possible with
- your JavaScript, i.e. declare a name of an object on a
<property>map</property> in the <emphasis>
- <property>"gmapVar"</property>
- </emphasis> attribute and then call the object directly with API
<emphasis><property>Google
- Map</property>.</emphasis></para>
- <para>For example, to approximate a map for <emphasis>
- <property>"gmapVar"</property>
- </emphasis>= <property>"map"</property>
declared inside the component, call
- map.zoomIn() on an event.</para>
- <para>Moreover, to add e.g. some JavaScript effects, events defined on it are
used.</para>
- <itemizedlist>
- <listitem><para> onmouseover </para></listitem>
- <listitem><para> onclick </para></listitem>
- <listitem><para> onmouseout </para></listitem>
- <listitem><para> etc. </para></listitem>
- </itemizedlist>
-
- <note>
- <para>
- Google Map does not support XHTML format of the page.
- Thus, if you use Facelets and JSF 1.2, do not forget to put the following tags
somewhere on the page:
- </para>
- <programlisting role="XML"><![CDATA[...
+ </section>
+ <section>
+ <title>Details of Usage</title>
+ <para>
+ To use
+ <emphasis>
+ <property>Google Map</property>
+ </emphasis>
+ in your application, generate a key on
+ <ulink
url="http://google.com/apis/maps">
+ Google Map official resource
+ </ulink>
+ . One key could be used for one directory on the server.
+ </para>
+ <para>
+ Here are the main settings of initial rendering performed
+ with a component
+ <property>map</property>
+ that are accessible with the following attributes:
+ </para>
+ <itemizedlist>
+ <listitem>
+ <para>
+ <emphasis>
+ <property>"zoom"</property>
+ </emphasis>
+ defines an approximation size (boundary values 1-18)
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <emphasis>
+ <property>"lat"</property>
+ </emphasis>
+ specifies an initial latitude coordinate in degrees,
+ as a number between -90 and +90
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <emphasis>
+ <property>"lng"</property>
+ </emphasis>
+ specifies an initial longitude coordinate in
+ degrees, as a number between -180 and +180
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <emphasis>
+ <property>"mapType"</property>
+ </emphasis>
+ specifies a type of a rendered map (G_NORMAL_MAP,
+ G_SATELLITE_MAP (DEFAULT), G_HYBRID_MAP)
+ </para>
+ </listitem>
+ </itemizedlist>
+ <para>
+ For example, the city of Paris is shown after rendering with
+ the following initial settings:
+ <code>lat = "48.44"</code>
+ ,
+ <code>lng= "2.24"</code>
+ and
+ <code>zoom = "5"</code>
+ .
+ </para>
+ <figure>
+ <title>
+ <emphasis role="bold">
+ <property><rich:gmap></property>
+ </emphasis>
+ initial rendering
+ </title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/gmap2.png" />
+ </imageobject>
+ </mediaobject>
+ </figure>
+ <para>
+ It's also possible to set accessible controls on the
+ <property>map</property>
+ with the help of the attributes:
+ </para>
+ <itemizedlist>
+ <listitem>
+ <para>
+ <emphasis>
+ <property>
+ "showGMapTypeControl"
+ </property>
+ </emphasis>
+ determines whether the controls for a map type
+ definition are switched on
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <emphasis>
+ <property>
+ "showGScaleControl"
+ </property>
+ </emphasis>
+ determines whether the controls for scaling are
+ switched on
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <emphasis>
+ <property>
+ "showGLargeMapControl"
+ </property>
+ </emphasis>
+ determines whether the control for
+ <property>map</property>
+ scale rendering is rendered
+ </para>
+ </listitem>
+ </itemizedlist>
+ <figure>
+ <title>
+ <emphasis role="bold">
+ <property><rich:gmap></property>
+ </emphasis>
+ accessible controls
+ </title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/gmap3.png" />
+ </imageobject>
+ </mediaobject>
+ </figure>
+ <para>
+ To set all these parameters and perform some activity (Zoom
+ In/Out etc.) is possible with your JavaScript, i.e. declare
+ a name of an object on a
+ <property>map</property>
+ in the
+ <emphasis>
+ <property>"gmapVar"</property>
+ </emphasis>
+ attribute and then call the object directly with API
+ <emphasis>
+ <property>Google Map</property>
+ .
+ </emphasis>
+ </para>
+ <para>
+ For example, to approximate a map for
+ <code>gmapVar= "map"</code>
+ declared inside the component, call <code>map.zoomIn()</code> on an
+ event.
+ </para>
+ <para>
+ Moreover, to add e.g. some JavaScript effects, events
+ defined on it are used.
+ </para>
+ <itemizedlist>
+ <listitem>
+ <para>onmouseover</para>
+ </listitem>
+ <listitem>
+ <para>onclick</para>
+ </listitem>
+ <listitem>
+ <para>onmouseout</para>
+ </listitem>
+ <listitem>
+ <para>etc.</para>
+ </listitem>
+ </itemizedlist>
+
+ <note>
+ <para>
+ Google Map does not support XHTML format of the page.
+ Thus, if you use Facelets and JSF 1.2, do not forget to
+ put the following tags somewhere on the page:
+ </para>
+ <programlisting role="XML"><![CDATA[...
<f:view contentType="text/html">...</f:view>
...
]]></programlisting>
- </note>
-
- </section>
- <section>
- <title>Look-and-Feel Customization</title>
- <para><emphasis role="bold">
- <property><rich:gmap></property>
- </emphasis> component isn't tied to skin parameters, as there is no
additional
- elements on it, except the ones provided with
<emphasis><property>Google
- Map</property>.</emphasis></para>
- </section>
-
- <section>
- <title>Definition of Custom Style Classes</title>
- <table id="gC">
- <title>Classes names that define a component appearance</title>
- <tgroup cols="2">
- <thead>
- <row>
- <entry>Class name</entry>
- <entry>Description</entry>
- </row>
- </thead>
- <tbody>
- <row>
- <entry>rich-gmap</entry>
- <entry>Defines styles for a wrapper <div> element of a
component</entry>
- </row>
- </tbody>
- </tgroup>
- </table>
+ </note>
- <para>In order to redefine styles for all <emphasis
role="bold">
- <property><rich:gmap></property>
- </emphasis> components on a page using CSS, it's enough to create
classes with the
- same names (possible classes could be found in the tables <link
linkend="gC"> above</link>) and define necessary properties in them.
</para>
-
- <para>
- <emphasis role="bold">Example:</emphasis>
- </para>
- <programlisting role="CSS"><![CDATA[...
+ </section>
+ <section>
+ <title>Look-and-Feel Customization</title>
+ <para>
+ <emphasis role="bold">
+ <property><rich:gmap></property>
+ </emphasis>
+ component isn't tied to skin parameters, as there is no
+ additional elements on it, except the ones provided with
+ <emphasis>
+ <property>Google Map</property>
+ .
+ </emphasis>
+ </para>
+ </section>
+
+ <section>
+ <title>Definition of Custom Style Classes</title>
+ <table id="gC">
+ <title>
+ Classes names that define a component appearance
+ </title>
+ <tgroup cols="2">
+ <thead>
+ <row>
+ <entry>Class name</entry>
+ <entry>Description</entry>
+ </row>
+ </thead>
+ <tbody>
+ <row>
+ <entry>rich-gmap</entry>
+ <entry>
+ Defines styles for a wrapper <div>
+ element of a component
+ </entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </table>
+
+ <para>
+ In order to redefine styles for all
+ <emphasis role="bold">
+ <property><rich:gmap></property>
+ </emphasis>
+ components on a page using CSS, it's enough to create
+ classes with the same names (possible classes could be found
+ in the tables
+ <link linkend="gC">above</link>
+ ) and define necessary properties in them.
+ </para>
+
+ <para>
+ <emphasis role="bold">Example:</emphasis>
+ </para>
+ <programlisting role="CSS"><![CDATA[...
.rich-gmap{
font-style:italic;
}
-...]]></programlisting>
-
- <para>This is a result:</para>
-
- <figure>
- <title>Redefinition styles with predefined classes</title>
- <mediaobject>
- <imageobject>
- <imagedata fileref="images/gmap_pc.png"/>
- </imageobject>
- </mediaobject>
- </figure>
-
- <para>In the example the font style for buttons was changed.</para>
-
- <para>Also it’s possible to change styles of particular <emphasis
role="bold"
- ><property><rich:gmap></property></emphasis>
component. In this case you should create own style classes and use them in corresponding
<emphasis role="bold"
- ><property><rich:gmap></property></emphasis>
<property>styleClass</property> attributes. An example is placed
below:</para>
-
- <para>
- <emphasis role="bold">Example:</emphasis>
- </para>
- <programlisting role="CSS"><![CDATA[...
+...]]></programlisting>
+
+ <para>This is a result:</para>
+
+ <figure>
+ <title>Redefinition styles with predefined classes</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/gmap_pc.png" />
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <para>
+ In the example the font style for buttons was changed.
+ </para>
+
+ <para>
+ Also it’s possible to change styles of particular
+ <emphasis role="bold">
+ <property><rich:gmap></property>
+ </emphasis>
+ component. In this case you should create own style classes
+ and use them in corresponding
+ <emphasis role="bold">
+ <property><rich:gmap></property>
+ </emphasis>
+ <property>styleClass</property>
+ attributes. An example is placed below:
+ </para>
+
+ <para>
+ <emphasis role="bold">Example:</emphasis>
+ </para>
+ <programlisting role="CSS"><![CDATA[...
.myClass{
font-weight:bold;
}
-...]]></programlisting>
- <para>The
<emphasis><property>"styleClass"</property></emphasis>
attribute for <emphasis role="bold"
- ><property><rich:gmap></property></emphasis> is
defined as it’s shown in the example below:</para>
-
- <para>
- <emphasis role="bold">Example:</emphasis>
- </para>
- <programlisting role="XML"><![CDATA[<rich:gmap ...
styleClass="myClass"/>
-]]></programlisting>
-
- <para>This is a result:</para>
-
- <figure>
- <title>Redefinition styles with own classes and
<emphasis><property>"styleClass"</property></emphasis>
attributes</title>
- <mediaobject>
- <imageobject>
- <imagedata fileref="images/gmap_oc.png"/>
- </imageobject>
- </mediaobject>
- </figure>
-
- <para>As it could be seen on the picture above, the font weight for buttons was
changed.</para>
-
-
-
- </section>
- <section>
- <title>Relevant Resources Links</title>
- <para>
- <ulink
url="http://livedemo.exadel.com/richfaces-demo/richfaces/gmap.jsf?c=...
- you can see the example of <emphasis role="bold">
- <property><rich:gmap></property>
- </emphasis> usage and sources for the given example. </para>
- </section>
+...]]></programlisting>
+ <para>
+ The
+ <emphasis>
+ <property>"styleClass"</property>
+ </emphasis>
+ attribute for
+ <emphasis role="bold">
+ <property><rich:gmap></property>
+ </emphasis>
+ is defined as it’s shown in the example below:
+ </para>
+ <para>
+ <emphasis role="bold">Example:</emphasis>
+ </para>
+ <programlisting role="XML"><![CDATA[<rich:gmap ...
styleClass="myClass"/>
+]]></programlisting>
+
+ <para>This is a result:</para>
+
+ <figure>
+ <title>
+ Redefinition styles with own classes and
+ <emphasis>
+ <property>"styleClass"</property>
+ </emphasis>
+ attributes
+ </title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/gmap_oc.png" />
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <para>
+ As it could be seen on the picture above, the font weight
+ for buttons was changed.
+ </para>
+
+
+
+ </section>
+ <section>
+ <title>Relevant Resources Links</title>
+ <para>
+ <ulink
+
url="http://livedemo.exadel.com/richfaces-demo/richfaces/gmap.jsf?c=...
+ Here
+ </ulink>
+ you can see the example of
+ <emphasis role="bold">
+ <property><rich:gmap></property>
+ </emphasis>
+ usage and sources for the given example.
+ </para>
+ </section>
+
</section>
Modified: trunk/docs/userguide/en/src/main/docbook/included/inputNumberSlider.xml
===================================================================
--- trunk/docs/userguide/en/src/main/docbook/included/inputNumberSlider.xml 2008-06-10
09:24:42 UTC (rev 8966)
+++ trunk/docs/userguide/en/src/main/docbook/included/inputNumberSlider.xml 2008-06-10
09:27:24 UTC (rev 8967)
@@ -1,445 +1,600 @@
<?xml version='1.0' encoding='UTF-8'?>
<section>
- <sectioninfo>
- <keywordset>
- <keyword>dragged handle control</keyword>
- <keyword>rich:inputNumberSlider</keyword>
- <keyword>HtmlInputNumberSlider</keyword>
- </keywordset>
- </sectioninfo>
- <table>
- <title>Component identification parameters </title>
- <tgroup cols="2">
- <thead>
- <row>
- <entry>Name</entry>
- <entry>Value</entry>
- </row>
- </thead>
- <tbody>
- <row>
- <entry>component-type</entry>
- <entry>org.richfaces.inputNumberSlider</entry>
- </row>
- <row>
- <entry>component-class</entry>
- <entry>org.richfaces.component.html.HtmlInputNumberSlider</entry>
- </row>
- <row>
- <entry>component-family</entry>
- <entry>org.richfaces.inputNumberSlider</entry>
- </row>
- <row>
- <entry>renderer-type</entry>
- <entry>org.richfaces.InputNumberSliderRenderer</entry>
- </row>
- <row>
- <entry>tag-class</entry>
- <entry>org.richfaces.taglib.InputNumberSliderTag</entry>
- </row>
- </tbody>
- </tgroup>
- </table>
+ <sectioninfo>
+ <keywordset>
+ <keyword>dragged handle control</keyword>
+ <keyword>rich:inputNumberSlider</keyword>
+ <keyword>HtmlInputNumberSlider</keyword>
+ </keywordset>
+ </sectioninfo>
+ <table>
+ <title>Component identification parameters</title>
+ <tgroup cols="2">
+ <thead>
+ <row>
+ <entry>Name</entry>
+ <entry>Value</entry>
+ </row>
+ </thead>
+ <tbody>
+ <row>
+ <entry>component-type</entry>
+ <entry>org.richfaces.inputNumberSlider</entry>
+ </row>
+ <row>
+ <entry>component-class</entry>
+ <entry>
+ org.richfaces.component.html.HtmlInputNumberSlider
+ </entry>
+ </row>
+ <row>
+ <entry>component-family</entry>
+ <entry>org.richfaces.inputNumberSlider</entry>
+ </row>
+ <row>
+ <entry>renderer-type</entry>
+ <entry>
+ org.richfaces.InputNumberSliderRenderer
+ </entry>
+ </row>
+ <row>
+ <entry>tag-class</entry>
+ <entry>
+ org.richfaces.taglib.InputNumberSliderTag
+ </entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </table>
- <section>
- <title>Creating the Component with a Page Tag</title>
- <para>To create the simplest variant on a page use the following
syntax:</para>
+ <section>
+ <title>Creating the Component with a Page Tag</title>
+ <para>
+ To create the simplest variant on a page use the following
+ syntax:
+ </para>
- <para>
- <emphasis role="bold">Example:</emphasis>
- </para>
- <programlisting role="XML"><![CDATA[...
+ <para>
+ <emphasis role="bold">Example:</emphasis>
+ </para>
+ <programlisting role="XML"><![CDATA[...
<rich:inputNumberSlider minValue="0" maxValue="100"
step="1"/>
...
]]></programlisting>
- </section>
- <section>
- <title>Creating the Component Dynamically Using Java</title>
+ </section>
+ <section>
+ <title>Creating the Component Dynamically Using Java</title>
- <para>
- <emphasis role="bold">Example:</emphasis>
- </para>
- <programlisting role="JAVA"><![CDATA[import
org.richfaces.component.html.HtmlInputNumberSlider;
+ <para>
+ <emphasis role="bold">Example:</emphasis>
+ </para>
+ <programlisting role="JAVA"><![CDATA[import
org.richfaces.component.html.HtmlInputNumberSlider;
...
HtmlInputNumberSlider mySlider = new HtmlInputNumberSlider();
...
]]></programlisting>
- </section>
- <section>
- <title>Details of Usage</title>
- <para><emphasis role="bold">
- <property><rich:inputNumberSlider></property>
- </emphasis> is used to facilitate your data input with rich UI
Controls.</para>
- <para>Here is the simplest variant of a slider definition with
-
<emphasis><property>"minValue"</property>,</emphasis>
- <emphasis>
- <property>"maxValue"</property>
- </emphasis> and <emphasis>
- <property>"step"</property>
- </emphasis> (on default = "1") attributes, which define the
beginning and
- the end of a numerical area and a <property>slider</property> property
step.</para>
+ </section>
+ <section>
+ <title>Details of Usage</title>
+ <para>
+ <emphasis role="bold">
+ <property><rich:inputNumberSlider></property>
+ </emphasis>
+ is used to facilitate your data input with rich UI Controls.
+ </para>
+ <para>
+ Here is the simplest variant of a slider definition with
+ <emphasis>
+ <property>"minValue"</property>
+ ,
+ </emphasis>
+ <emphasis>
+ <property>"maxValue"</property>
+ </emphasis>
+ and
+ <emphasis>
+ <property>"step"</property>
+ </emphasis>
+ (on default = "1") attributes, which define the
+ beginning and the end of a numerical area and a
+ <property>slider</property>
+ property step.
+ </para>
- <para>
- <emphasis role="bold">Example:</emphasis>
- </para>
- <programlisting
role="XML"><![CDATA[<rich:inputNumberSlider></rich:inputNumberSlider>]]></programlisting>
+ <para>
+ <emphasis role="bold">Example:</emphasis>
+ </para>
+ <programlisting
role="XML"><![CDATA[<rich:inputNumberSlider></rich:inputNumberSlider>]]></programlisting>
- <para>It generates on a page:</para>
- <figure>
- <title>Generated <emphasis
role="bold"><property><rich:InputNumberSlider></property></emphasis></title>
- <mediaobject>
- <imageobject>
- <imagedata fileref="images/inputNumberSlider2.png"/>
- </imageobject>
- </mediaobject>
- </figure>
- <para> Using <emphasis>
- <property>"showInput"</property>
- </emphasis> (default is true) and <emphasis>
- <property>"enableManualInput"</property>
- </emphasis> (default value is true) attributes, it's possible to
output the input
- area near the slider, and make it read-only or editable.</para>
- <para>To remove input area use <emphasis>
- <property>"showInput="false"</property>
- </emphasis>:</para>
+ <para>It generates on a page:</para>
+ <figure>
+ <title>
+ Generated
+ <emphasis role="bold">
+ <property><rich:InputNumberSlider></property>
+ </emphasis>
+ </title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/inputNumberSlider2.png" />
+ </imageobject>
+ </mediaobject>
+ </figure>
+ <para>
+ Using
+ <emphasis>
+ <property>"showInput"</property>
+ </emphasis>
+ (default is true) and
+ <emphasis>
+ <property>"enableManualInput"</property>
+ </emphasis>
+ (default value is true) attributes, it's possible to
+ output the input area near the slider, and make it read-only
+ or editable.
+ </para>
+ <para>
+ To remove input area use
+ <code>showInput = "false"</code>
+ :
+ </para>
- <para>
- <emphasis role="bold">Example:</emphasis>
- </para>
- <programlisting role="XML"><![CDATA[<rich:inputNumberSlider
minValue="1" maxValue="100"
showInput="false"/>]]></programlisting>
- <para>It looks at page like:</para>
- <figure>
- <title><emphasis
role="bold"><property><rich:inputNumberSlider></property></emphasis>
without input field</title>
- <mediaobject>
- <imageobject>
- <imagedata fileref="images/inputNumberSlider3.png"/>
- </imageobject>
- </mediaobject>
- </figure>
- <para>It's also possible to switch off displaying of
"boundary
- values" and a toolTip showing on a handle drawing. This could be performed
with the
- help of the component defined attributes: <emphasis>
- <property>"showBoundaryValues"</property>
- </emphasis> which is responsible for "boundary values"
displaying (default
- is true) and <emphasis>
- <property>"showToolTip"</property>
- </emphasis> which is responsible for tooltTip displaying (default is
true).</para>
+ <para>
+ <emphasis role="bold">Example:</emphasis>
+ </para>
+ <programlisting role="XML"><![CDATA[<rich:inputNumberSlider
minValue="1" maxValue="100"
showInput="false"/>]]></programlisting>
+ <para>It looks at page like:</para>
+ <figure>
+ <title>
+ <emphasis role="bold">
+ <property><rich:inputNumberSlider></property>
+ </emphasis>
+ without input field
+ </title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/inputNumberSlider3.png" />
+ </imageobject>
+ </mediaobject>
+ </figure>
+ <para>
+ It's also possible to switch off displaying of
+ "boundary values" and a toolTip showing on a
+ handle drawing. This could be performed with the help of the
+ component defined attributes:
+ <emphasis>
+ <property>"showBoundaryValues"</property>
+ </emphasis>
+ which is responsible for "boundary values"
+ displaying (default is true) and
+ <emphasis>
+ <property>"showToolTip"</property>
+ </emphasis>
+ which is responsible for tooltTip displaying (default is
+ true).
+ </para>
- <para>Moreover, to add e.g. some JavaScript effects, events defined on it are
used.</para>
- <itemizedlist>
- <listitem><para> onchange </para></listitem>
- <listitem><para> onmouseover </para></listitem>
- <listitem><para> onclick </para></listitem>
- <listitem><para> onfocus </para></listitem>
- <listitem><para> onmouseout </para></listitem>
- <listitem><para> etc. </para></listitem>
- </itemizedlist>
- <para>
- The <emphasis>
- <property>"label"</property>
- </emphasis> attribute is a generic attribute.
- The <emphasis>
- <property>"label"</property>
- </emphasis> attribute provides an association between a component, and the
message that the component (indirectly) produced.
- This attribute defines the parameters of localized error and informational messages
that
- occur as a result of conversion, validation, or other application actions during
the request
- processing lifecycle. With the help of this attribute you can replace the
- last parameter substitution token shown in the messages. For example, {1} for
“DoubleRangeValidator.MAXIMUM”, {2}
- for “ShortConverter.SHORT”.
- </para>
+ <para>
+ Moreover, to add e.g. some JavaScript effects, events
+ defined on it are used.
+ </para>
+ <itemizedlist>
+ <listitem>
+ <para>onchange</para>
+ </listitem>
+ <listitem>
+ <para>onmouseover</para>
+ </listitem>
+ <listitem>
+ <para>onclick</para>
+ </listitem>
+ <listitem>
+ <para>onfocus</para>
+ </listitem>
+ <listitem>
+ <para>onmouseout</para>
+ </listitem>
+ <listitem>
+ <para>etc.</para>
+ </listitem>
+ </itemizedlist>
+ <para>
+ The
+ <emphasis>
+ <property>"label"</property>
+ </emphasis>
+ attribute is a generic attribute. The
+ <emphasis>
+ <property>"label"</property>
+ </emphasis>
+ attribute provides an association between a component, and
+ the message that the component (indirectly) produced. This
+ attribute defines the parameters of localized error and
+ informational messages that occur as a result of conversion,
+ validation, or other application actions during the request
+ processing lifecycle. With the help of this attribute you
+ can replace the last parameter substitution token shown in
+ the messages. For example, {1} for
+ <code>“DoubleRangeValidator.MAXIMUM”</code>
+ , {2} for
+ <code>“ShortConverter.SHORT”</code>
+ .
+ </para>
- </section>
- <section>
- <title>Look-and-Feel Customization</title>
-
- <para>For skinnability implementation, the components use a <emphasis>
- <property>style class redefinition method.</property>
- </emphasis> Default style classes are mapped on <emphasis>
- <property>skin parameters.</property>
- </emphasis></para>
-
- <para>There are two ways to redefine the appearance of all <emphasis
role="bold">
- <property><rich:inputNumberSlider></property>
- </emphasis> components at once:</para>
-
- <itemizedlist>
- <listitem>
- <para>Redefine the corresponding skin parameters</para>
- </listitem>
-
- <listitem>
- <para>Add to your style sheets <emphasis>
- <property>style classes</property>
- </emphasis> used by a <emphasis role="bold">
- <property><rich:imputNumberSlider></property>
- </emphasis> component</para>
- </listitem>
- </itemizedlist>
- </section>
-
- <section>
- <title>Skin Parameters Redefinition</title>
-
- <table>
- <title>Skin parameters redefinition for a bar</title>
- <tgroup cols="2">
- <thead>
- <row>
- <entry>Skin parameters</entry>
- <entry>CSS properties</entry>
- </row>
- </thead>
- <tbody>
- <row>
- <entry>controlBackgroundColor</entry>
- <entry>background-color</entry>
- </row>
- </tbody>
- </tgroup>
- </table>
-
- <table>
- <title>Skin parameters redefinition for numbers</title>
- <tgroup cols="2">
- <thead>
- <row>
- <entry>Skin parameters</entry>
- <entry>CSS properties</entry>
- </row>
- </thead>
- <tbody>
- <row>
- <entry>generalFamilyFont</entry>
- <entry>font-family</entry>
- </row>
- <row>
- <entry>generalSizeFont</entry>
- <entry>font-size</entry>
- </row>
- <row>
- <entry>generalTextColor</entry>
- <entry>color</entry>
- </row>
- <row>
- <entry>panelBorderColor</entry>
- <entry>border-color</entry>
- </row>
- <row>
- <entry>generalSizeFont</entry>
- <entry>line-height</entry>
- </row>
- </tbody>
- </tgroup>
- </table>
-
- <table>
- <title>Skin parameters redefinition for a text field</title>
- <tgroup cols="2">
- <thead>
- <row>
- <entry>Skin parameters</entry>
- <entry>CSS properties</entry>
- </row>
- </thead>
- <tbody>
- <row>
- <entry>controlBackgroundColor</entry>
- <entry>background-color</entry>
- </row>
- <row>
- <entry>generalFamilyFont</entry>
- <entry>font-family</entry>
- </row>
- <row>
- <entry>generalSizeFont</entry>
- <entry>font-size</entry>
- </row>
- <row>
- <entry>controlTextColor</entry>
- <entry>color</entry>
- </row>
- <row>
- <entry>panelBorderColor</entry>
- <entry>border-color</entry>
- </row>
- <row>
- <entry>subBorderColor</entry>
- <entry>border-bottom-color</entry>
- </row>
- <row>
- <entry>subBorderColor</entry>
- <entry>border-right-color</entry>
- </row>
- </tbody>
- </tgroup>
- </table>
-
- <table>
- <title>Skin parameters redefinition for a hint</title>
- <tgroup cols="2">
- <thead>
- <row>
- <entry>Skin parameters</entry>
- <entry>CSS properties</entry>
- </row>
- </thead>
- <tbody>
- <row>
- <entry>tipBackgroundColor</entry>
- <entry>background-color</entry>
- </row>
- <row>
- <entry>tipBorderColor</entry>
- <entry>border-color</entry>
- </row>
- <row>
- <entry>generalFamilyFont</entry>
- <entry>font-family</entry>
- </row>
- <row>
- <entry>generalSizeFont</entry>
- <entry>font-size</entry>
- </row>
- </tbody>
- </tgroup>
- </table>
-
- </section>
-
- <section>
- <title>Definition of Custom Style Classes</title>
-
- <para>On the screenshot there are classes names that define styles for
component elements.</para>
-
- <figure>
- <title>Style classes</title>
- <mediaobject>
- <imageobject>
- <imagedata fileref="images/inputNumberSlider_cn.png"/>
- </imageobject>
- </mediaobject>
- </figure>
-
- <table id="tab_cn">
- <title>Classes names that define a component appearance</title>
- <tgroup cols="2">
- <thead>
- <row>
- <entry>Class name</entry>
- <entry>Description</entry>
- </row>
- </thead>
- <tbody>
- <row>
- <entry>rich-slider</entry>
- <entry>Defines styles for a wrapper table element of a
component</entry>
- </row>
- <row>
- <entry>rich-inslider-track</entry>
- <entry>Defines styles for a bar</entry>
- </row>
- <row>
- <entry>rich-inslider-handler</entry>
- <entry>Defines styles for a slider handler</entry>
- </row>
- <row>
- <entry>rich-inslider-handler-selected</entry>
- <entry>Defines styles for a selected handler</entry>
- </row>
- <row>
- <entry>rich-inslider-field</entry>
- <entry>Defines styles for a text field</entry>
- </row>
- <row>
- <entry>rich-inslider-right-num</entry>
- <entry>Defines styles for the right number</entry>
- </row>
- <row>
- <entry>rich-inslider-left-num</entry>
- <entry>Defines styles for the left number</entry>
- </row>
- <row>
- <entry>rich-inslider-tip</entry>
- <entry>Defines styles for a hint</entry>
- </row>
- </tbody>
- </tgroup>
- </table>
- <para>In order to redefine styles for all <emphasis
role="bold">
- <property><rich:inputNumberSlider></property>
- </emphasis> components on a page using CSS, it's enough to create
classes with the
- same names (possible classes could be found in the table <link
linkend="tab_cn">above</link>) and define necessary properties in them.
An example is placed below:</para>
-
- <para>
- <emphasis role="bold">Example:</emphasis>
- </para>
- <programlisting role="CSS"><![CDATA[...
+ </section>
+ <section>
+ <title>Look-and-Feel Customization</title>
+
+ <para>
+ For skinnability implementation, the components use a
+ <emphasis>
+ <property>style class redefinition method.</property>
+ </emphasis>
+ Default style classes are mapped on
+ <emphasis>
+ <property>skin parameters.</property>
+ </emphasis>
+ </para>
+
+ <para>
+ There are two ways to redefine the appearance of all
+ <emphasis role="bold">
+ <property><rich:inputNumberSlider></property>
+ </emphasis>
+ components at once:
+ </para>
+
+ <itemizedlist>
+ <listitem>
+ <para>Redefine the corresponding skin parameters</para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Add to your style sheets
+ <emphasis>
+ <property>style classes</property>
+ </emphasis>
+ used by a
+ <emphasis role="bold">
+ <property>
+ <rich:imputNumberSlider>
+ </property>
+ </emphasis>
+ component
+ </para>
+ </listitem>
+ </itemizedlist>
+ </section>
+
+ <section>
+ <title>Skin Parameters Redefinition</title>
+
+ <table>
+ <title>Skin parameters redefinition for a bar</title>
+ <tgroup cols="2">
+ <thead>
+ <row>
+ <entry>Skin parameters</entry>
+ <entry>CSS properties</entry>
+ </row>
+ </thead>
+ <tbody>
+ <row>
+ <entry>controlBackgroundColor</entry>
+ <entry>background-color</entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </table>
+
+ <table>
+ <title>Skin parameters redefinition for numbers</title>
+ <tgroup cols="2">
+ <thead>
+ <row>
+ <entry>Skin parameters</entry>
+ <entry>CSS properties</entry>
+ </row>
+ </thead>
+ <tbody>
+ <row>
+ <entry>generalFamilyFont</entry>
+ <entry>font-family</entry>
+ </row>
+ <row>
+ <entry>generalSizeFont</entry>
+ <entry>font-size</entry>
+ </row>
+ <row>
+ <entry>generalTextColor</entry>
+ <entry>color</entry>
+ </row>
+ <row>
+ <entry>panelBorderColor</entry>
+ <entry>border-color</entry>
+ </row>
+ <row>
+ <entry>generalSizeFont</entry>
+ <entry>line-height</entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </table>
+
+ <table>
+ <title>Skin parameters redefinition for a text field</title>
+ <tgroup cols="2">
+ <thead>
+ <row>
+ <entry>Skin parameters</entry>
+ <entry>CSS properties</entry>
+ </row>
+ </thead>
+ <tbody>
+ <row>
+ <entry>controlBackgroundColor</entry>
+ <entry>background-color</entry>
+ </row>
+ <row>
+ <entry>generalFamilyFont</entry>
+ <entry>font-family</entry>
+ </row>
+ <row>
+ <entry>generalSizeFont</entry>
+ <entry>font-size</entry>
+ </row>
+ <row>
+ <entry>controlTextColor</entry>
+ <entry>color</entry>
+ </row>
+ <row>
+ <entry>panelBorderColor</entry>
+ <entry>border-color</entry>
+ </row>
+ <row>
+ <entry>subBorderColor</entry>
+ <entry>border-bottom-color</entry>
+ </row>
+ <row>
+ <entry>subBorderColor</entry>
+ <entry>border-right-color</entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </table>
+
+ <table>
+ <title>Skin parameters redefinition for a hint</title>
+ <tgroup cols="2">
+ <thead>
+ <row>
+ <entry>Skin parameters</entry>
+ <entry>CSS properties</entry>
+ </row>
+ </thead>
+ <tbody>
+ <row>
+ <entry>tipBackgroundColor</entry>
+ <entry>background-color</entry>
+ </row>
+ <row>
+ <entry>tipBorderColor</entry>
+ <entry>border-color</entry>
+ </row>
+ <row>
+ <entry>generalFamilyFont</entry>
+ <entry>font-family</entry>
+ </row>
+ <row>
+ <entry>generalSizeFont</entry>
+ <entry>font-size</entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </table>
+
+ </section>
+
+ <section>
+ <title>Definition of Custom Style Classes</title>
+
+ <para>
+ On the screenshot there are classes names that define styles
+ for component elements.
+ </para>
+
+ <figure>
+ <title>Style classes</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata
+ fileref="images/inputNumberSlider_cn.png" />
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <table id="tab_cn">
+ <title>
+ Classes names that define a component appearance
+ </title>
+ <tgroup cols="2">
+ <thead>
+ <row>
+ <entry>Class name</entry>
+ <entry>Description</entry>
+ </row>
+ </thead>
+ <tbody>
+ <row>
+ <entry>rich-slider</entry>
+ <entry>
+ Defines styles for a wrapper table element
+ of a component
+ </entry>
+ </row>
+ <row>
+ <entry>rich-inslider-track</entry>
+ <entry>Defines styles for a bar</entry>
+ </row>
+ <row>
+ <entry>rich-inslider-handler</entry>
+ <entry>
+ Defines styles for a slider handler
+ </entry>
+ </row>
+ <row>
+ <entry>rich-inslider-handler-selected</entry>
+ <entry>
+ Defines styles for a selected handler
+ </entry>
+ </row>
+ <row>
+ <entry>rich-inslider-field</entry>
+ <entry>Defines styles for a text field</entry>
+ </row>
+ <row>
+ <entry>rich-inslider-right-num</entry>
+ <entry>
+ Defines styles for the right number
+ </entry>
+ </row>
+ <row>
+ <entry>rich-inslider-left-num</entry>
+ <entry>
+ Defines styles for the left number
+ </entry>
+ </row>
+ <row>
+ <entry>rich-inslider-tip</entry>
+ <entry>Defines styles for a hint</entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </table>
+ <para>
+ In order to redefine styles for all
+ <emphasis role="bold">
+ <property><rich:inputNumberSlider></property>
+ </emphasis>
+ components on a page using CSS, it's enough to create
+ classes with the same names (possible classes could be found
+ in the table
+ <link linkend="tab_cn">above</link>
+ ) and define necessary properties in them. An example is
+ placed below:
+ </para>
+
+ <para>
+ <emphasis role="bold">Example:</emphasis>
+ </para>
+ <programlisting role="CSS"><![CDATA[...
.rich-inslider-tip{
background-color: #FFDAB9;
font-family: Arial Black;
}
-...]]></programlisting>
-
- <para>This is a result:</para>
-
- <figure>
- <title>Redefinition styles with predefined classes</title>
- <mediaobject>
- <imageobject>
- <imagedata fileref="images/inputNumberSlider_pc.png"/>
- </imageobject>
- </mediaobject>
- </figure>
-
- <para>In the example a tip background color and font family was
changed.</para>
-
- <para>Also it’s possible to change styles of particular <emphasis
role="bold"
-
><property><rich:inputNumberSlider></property></emphasis>
component. In this case you should create own style classes and use them in corresponding
<emphasis role="bold"
-
><property><rich:inputNumberSlider></property></emphasis>
<emphasis><property>styleClass</property></emphasis> attributes.
An example is placed below:</para>
-
- <para>
- <emphasis role="bold">Example:</emphasis>
- </para>
- <programlisting role="CSS"><![CDATA[...
+...]]></programlisting>
+
+ <para>This is a result:</para>
+
+ <figure>
+ <title>Redefinition styles with predefined classes</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata
+ fileref="images/inputNumberSlider_pc.png" />
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <para>
+ In the example a tip background color and font family was
+ changed.
+ </para>
+
+ <para>
+ Also it’s possible to change styles of particular
+ <emphasis role="bold">
+ <property><rich:inputNumberSlider></property>
+ </emphasis>
+ component. In this case you should create own style classes
+ and use them in corresponding
+ <emphasis role="bold">
+ <property><rich:inputNumberSlider></property>
+ </emphasis>
+ <emphasis>
+ <property>styleClass</property>
+ </emphasis>
+ attributes. An example is placed below:
+ </para>
+
+ <para>
+ <emphasis role="bold">Example:</emphasis>
+ </para>
+ <programlisting role="CSS"><![CDATA[...
.myClass{
font-style: italic;
font-weight:bold;
font-size:12px;
}
-...]]></programlisting>
- <para>The
<emphasis><property>"inputClass"</property></emphasis>
attribute for <emphasis role="bold"
- ><property><rich:inputNumberSlider>
</property></emphasis> is defined as it’s shown in the example
below:</para>
-
- <para>
- <emphasis role="bold">Example:</emphasis>
- </para>
- <programlisting role="XML"><![CDATA[<rich: inputNumberSlider
... inputClass="myClass"/>
-]]></programlisting>
-
- <para>This is a result:</para>
-
- <figure>
- <title>Redefinition styles with own classes and
<emphasis><property>styleClass</property></emphasis>
attributes</title>
- <mediaobject>
- <imageobject>
- <imagedata fileref="images/inputNumberSlider_oc.png"/>
- </imageobject>
- </mediaobject>
- </figure>
-
- <para>As it could be seen on the picture above, the font style for input text
was changed.</para>
-
-
- </section>
- <section>
- <title>Relevant Resources Links</title>
- <para>
- <ulink
-
url="http://livedemo.exadel.com/richfaces-demo/richfaces/inputNumber...
- >Here</ulink> you can see the example of <emphasis
role="bold"
-
><property><rich:inputNumberSlider></property></emphasis>
usage and sources for the given example.
- </para>
- </section>
+...]]></programlisting>
+ <para>
+ The
+ <emphasis>
+ <property>"inputClass"</property>
+ </emphasis>
+ attribute for
+ <emphasis role="bold">
+ <property><rich:inputNumberSlider></property>
+ </emphasis>
+ is defined as it’s shown in the example below:
+ </para>
+ <para>
+ <emphasis role="bold">Example:</emphasis>
+ </para>
+ <programlisting role="XML"><![CDATA[<rich: inputNumberSlider ...
inputClass="myClass"/>
+]]></programlisting>
+
+ <para>This is a result:</para>
+
+ <figure>
+ <title>
+ Redefinition styles with own classes and
+ <emphasis>
+ <property>styleClass</property>
+ </emphasis>
+ attributes
+ </title>
+ <mediaobject>
+ <imageobject>
+ <imagedata
+ fileref="images/inputNumberSlider_oc.png" />
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <para>
+ As it could be seen on the picture above, the font style for
+ input text was changed.
+ </para>
+
+
+ </section>
+ <section>
+ <title>Relevant Resources Links</title>
+ <para>
+ <ulink
+
url="http://livedemo.exadel.com/richfaces-demo/richfaces/inputNumber...
+ Here
+ </ulink>
+ you can see the example of
+ <emphasis role="bold">
+ <property><rich:inputNumberSlider></property>
+ </emphasis>
+ usage and sources for the given example.
+ </para>
+ </section>
+
</section>
Modified: trunk/docs/userguide/en/src/main/docbook/included/inputNumberSpinner.xml
===================================================================
--- trunk/docs/userguide/en/src/main/docbook/included/inputNumberSpinner.xml 2008-06-10
09:24:42 UTC (rev 8966)
+++ trunk/docs/userguide/en/src/main/docbook/included/inputNumberSpinner.xml 2008-06-10
09:27:24 UTC (rev 8967)
@@ -1,340 +1,492 @@
<?xml version='1.0' encoding='UTF-8'?>
<section>
- <sectioninfo>
- <keywordset>
- <keyword>input field</keyword>
- <keyword>rich:inputNumberSpinner</keyword>
- <keyword>HtmlInputNumberSpinner</keyword>
- </keywordset>
- </sectioninfo>
+ <sectioninfo>
+ <keywordset>
+ <keyword>input field</keyword>
+ <keyword>rich:inputNumberSpinner</keyword>
+ <keyword>HtmlInputNumberSpinner</keyword>
+ </keywordset>
+ </sectioninfo>
- <table>
- <title>Component identification parameters </title>
- <tgroup cols="2">
- <thead>
- <row>
- <entry>Name</entry>
- <entry>Value</entry>
- </row>
- </thead>
- <tbody>
- <row>
- <entry>component-type</entry>
- <entry>org.richfaces.inputNumberSpinner</entry>
- </row>
- <row>
- <entry>component-class</entry>
- <entry>org.richfaces.component.html.HtmlInputNumberSpinner</entry>
- </row>
- <row>
- <entry>component-family</entry>
- <entry>org.richfaces.inputNumberSpinner</entry>
- </row>
- <row>
- <entry>renderer-type</entry>
- <entry>org.richfaces.InputNumberSpinnerRenderer</entry>
- </row>
- <row>
- <entry>tag-class</entry>
- <entry>org.richfaces.taglib.InputNumberSpinnerTag</entry>
- </row>
- </tbody>
- </tgroup>
- </table>
+ <table>
+ <title>Component identification parameters</title>
+ <tgroup cols="2">
+ <thead>
+ <row>
+ <entry>Name</entry>
+ <entry>Value</entry>
+ </row>
+ </thead>
+ <tbody>
+ <row>
+ <entry>component-type</entry>
+ <entry>org.richfaces.inputNumberSpinner</entry>
+ </row>
+ <row>
+ <entry>component-class</entry>
+ <entry>
+ org.richfaces.component.html.HtmlInputNumberSpinner
+ </entry>
+ </row>
+ <row>
+ <entry>component-family</entry>
+ <entry>org.richfaces.inputNumberSpinner</entry>
+ </row>
+ <row>
+ <entry>renderer-type</entry>
+ <entry>
+ org.richfaces.InputNumberSpinnerRenderer
+ </entry>
+ </row>
+ <row>
+ <entry>tag-class</entry>
+ <entry>
+ org.richfaces.taglib.InputNumberSpinnerTag
+ </entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </table>
- <section>
- <title>Creating the Component with a Page Tag</title>
- <para>To create the simplest variant on a page use the following
syntax:</para>
+ <section>
+ <title>Creating the Component with a Page Tag</title>
+ <para>
+ To create the simplest variant on a page use the following
+ syntax:
+ </para>
- <para>
- <emphasis role="bold">Example:</emphasis>
- </para>
- <programlisting role="XML"><![CDATA[...
+ <para>
+ <emphasis role="bold">Example:</emphasis>
+ </para>
+ <programlisting role="XML"><![CDATA[...
<rich:inputNumberSpinner minValue="0" maxValue="100"
step="1"/>
...
]]></programlisting>
- </section>
- <section>
- <title>Creating the Component Dynamically Using Java</title>
+ </section>
+ <section>
+ <title>Creating the Component Dynamically Using Java</title>
- <para>
- <emphasis role="bold">Example:</emphasis>
- </para>
- <programlisting role="JAVA"><![CDATA[import
org.richfaces.component.html.HtmlInputNumberSpinner;
+ <para>
+ <emphasis role="bold">Example:</emphasis>
+ </para>
+ <programlisting role="JAVA"><![CDATA[import
org.richfaces.component.html.HtmlInputNumberSpinner;
...
HtmlInputNumberSpinner mySpinner = new HtmlInputNumberSpinner ();
...
]]></programlisting>
- </section>
- <section>
- <title>Details of Usage</title>
- <para><emphasis role="bold">
- <property><rich:inputNumberSpinner></property>
- </emphasis> is used to facilitate your data input with rich UI
Controls.</para>
- <para>Here is the simplest variant of <property>spinner</property>
definition with
-
<emphasis><property>"minValue"</property>,</emphasis>
- <emphasis>
- <property>"maxValue"</property>
- </emphasis> and <emphasis>
- <property>"step"</property>
- </emphasis> (on default = "1") attributes, which define the
beginning and
- the end of numerical area and a <property>spinner</property>
step.</para>
- <para>
- <emphasis role="bold">Example:</emphasis>
- </para>
- <programlisting role="XML"><![CDATA[...
+ </section>
+ <section>
+ <title>Details of Usage</title>
+ <para>
+ <emphasis role="bold">
+ <property><rich:inputNumberSpinner></property>
+ </emphasis>
+ is used to facilitate your data input with rich UI Controls.
+ </para>
+ <para>
+ Here is the simplest variant of
+ <property>spinner</property>
+ definition with
+ <emphasis>
+ <property>"minValue"</property>
+ ,
+ </emphasis>
+ <emphasis>
+ <property>"maxValue"</property>
+ </emphasis>
+ and
+ <emphasis>
+ <property>"step"</property>
+ </emphasis>
+ (on default = "1") attributes, which define the
+ beginning and the end of numerical area and a
+ <property>spinner</property>
+ step.
+ </para>
+ <para>
+ <emphasis role="bold">Example:</emphasis>
+ </para>
+ <programlisting role="XML"><![CDATA[...
<rich:inputNumberSpinner minValue="1" maxValue="100"/>
...
]]></programlisting>
- <para>It generates on a page:</para>
- <figure>
- <title>Generated <emphasis
role="bold"><property><rich:InputNumberSpinner></property></emphasis></title>
- <mediaobject>
- <imageobject>
- <imagedata fileref="images/inputNumberSpinner2.png"/>
- </imageobject>
- </mediaobject>
- </figure>
- <para>There are also several attributes to define functionality
peculiarities:</para>
- <itemizedlist>
- <listitem><para>
- <emphasis>
- <property>"cycled"</property>
- </emphasis> if the attribute is
<emphasis><property>"true"</property></emphasis>
after the current value reaches the
- border value it's be reversed to another border value after next
increasing/decreasing. In
- other case possibilities of next increasing/decreasing are locked
</para></listitem>
- <listitem><para>
- <emphasis>
- <property>"disabled"</property>
- </emphasis> is an attribute that defines whether a component is active on a
page </para></listitem>
- <listitem><para>
- <emphasis>
- <property>"manualInput"</property>
- </emphasis> is an attribute that defines whether a keyboard input is
possible or only UI
- controls could be used</para></listitem>
- </itemizedlist>
- <para>Moreover, to add e.g. some JavaScript effects, events defined on it are
used</para>
- <itemizedlist>
- <listitem><para> onchange </para></listitem>
- <listitem><para> onmouseover </para></listitem>
- <listitem><para> onclick </para></listitem>
- <listitem><para> onfocus </para></listitem>
- <listitem><para> onmouseout </para></listitem>
- <listitem><para> etc. </para></listitem>
- </itemizedlist>
- <para>
- The <emphasis>
- <property>"label"</property>
- </emphasis> attribute is a generic attribute.
- The <emphasis>
- <property>"label"</property>
- </emphasis> attribute provides an association between a component, and the
message that the component (indirectly) produced.
- This attribute defines the parameters of localized error and informational messages
that
- occur as a result of conversion, validation, or other application actions during
the request
- processing lifecycle. With the help of this attribute you can replace the
- last parameter substitution token shown in the messages. For example, {1} for
“DoubleRangeValidator.MAXIMUM”, {2}
- for “ShortConverter.SHORT”.
- </para>
- </section>
- <section>
- <title>Look-and-Feel Customization</title>
-
- <para>For skinnability implementation, the components use a <emphasis>
- <property>style class redefinition method.</property>
- </emphasis> Default style classes are mapped on <emphasis>
- <property>skin parameters.</property>
- </emphasis></para>
-
- <para>There are two ways to redefine the appearance of all <emphasis
role="bold">
- <property><rich:inputNumberSpinner></property>
- </emphasis> components at once:</para>
-
- <itemizedlist>
- <listitem>
- <para>Redefine the corresponding skin parameters</para>
- </listitem>
-
- <listitem>
- <para>Add to your style sheets <emphasis>
- <property>style classes</property>
- </emphasis> used by a <emphasis role="bold">
- <property><rich:inputNumberSpinner></property>
- </emphasis> component</para>
- </listitem>
- </itemizedlist>
- </section>
-
- <section>
- <title>Skin Parameters Redefinition</title>
- <table>
- <title>Skin parameters redefinition for a container</title>
- <tgroup cols="2">
- <thead>
- <row>
- <entry>Skin parameters</entry>
- <entry>CSS properties</entry>
- </row>
- </thead>
- <tbody>
- <row>
- <entry>controlBackgroundColor</entry>
- <entry>background-color</entry>
- </row>
- <row>
- <entry>panelBorderColor</entry>
- <entry>border-color</entry>
- </row>
- <row>
- <entry>subBorderColor</entry>
- <entry>border-bottom-color</entry>
- </row>
- <row>
- <entry>subBorderColor</entry>
- <entry>border-right-color</entry>
- </row>
- </tbody>
- </tgroup>
- </table>
- <table>
- <title>Skin parameters redefinition for an input field</title>
- <tgroup cols="2">
- <thead>
- <row>
- <entry>Skin parameters</entry>
- <entry>CSS properties</entry>
- </row>
- </thead>
- <tbody>
- <row>
- <entry>buttonSizeFont</entry>
- <entry>font-size</entry>
- </row>
- <row>
- <entry>buttonFamilyFont</entry>
- <entry>font-family</entry>
- </row>
- </tbody>
- </tgroup>
- </table>
-
- </section>
- <section>
- <title>Definition of Custom Style Classes</title>
- <para>On the screenshot there are classes names that define styles for
component elements.</para>
- <figure>
- <title>Style classes</title>
- <mediaobject>
- <imageobject>
- <imagedata fileref="images/inputNumberSpinner_cn.png"/>
- </imageobject>
- </mediaobject>
- </figure>
-
- <table id="tab_cn1">
- <title>Classes names that define a component appearance</title>
-
- <tgroup cols="2">
- <thead>
- <row>
- <entry>Class name</entry>
- <entry>Description</entry>
- </row>
- </thead>
- <tbody>
- <row>
- <entry>rich-spinner-c</entry>
- <entry>Defines styles for a wrapper table element of a
component</entry>
- </row>
- <row>
- <entry>rich-spinner-input-container</entry>
- <entry>Defines styles for a container</entry>
- </row>
- <row>
- <entry>rich-spinner-input</entry>
- <entry>Defines styles for a wrapper <td> element for
input fields</entry>
- </row>
- <row>
- <entry>rich-spinner-button</entry>
- <entry>Defines styles for a button</entry>
- </row>
- <row>
- <entry>rich-spinner-buttons</entry>
- <entry>Defines styles for all buttons</entry>
- </row>
- </tbody>
- </tgroup>
- </table>
-
- <para>In order to redefine styles for all <emphasis
role="bold">
- <property><rich:inputNumberSpinner></property>
- </emphasis> components on a page using CSS, it's enough to create
classes with the
- same names (possible classes could be found in the table <link
linkend="tab_cn1">above</link>) and define necessary properties in
them. An example is placed below:</para>
-
- <para>
- <emphasis role="bold">Example:</emphasis>
- </para>
- <programlisting role="CSS"><![CDATA[...
+ <para>It generates on a page:</para>
+ <figure>
+ <title>
+ Generated
+ <emphasis role="bold">
+ <property><rich:InputNumberSpinner></property>
+ </emphasis>
+ </title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/inputNumberSpinner2.png" />
+ </imageobject>
+ </mediaobject>
+ </figure>
+ <para>
+ There are also several attributes to define functionality
+ peculiarities:
+ </para>
+ <itemizedlist>
+ <listitem>
+ <para>
+ <emphasis>
+ <property>"cycled"</property>
+ </emphasis>
+ if the attribute is
+ <emphasis>
+ <property>"true"</property>
+ </emphasis>
+ after the current value reaches the border value
+ it's be reversed to another border value after next
+ increasing/decreasing. In other case possibilities
+ of next increasing/decreasing are locked
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <emphasis>
+ <property>"disabled"</property>
+ </emphasis>
+ is an attribute that defines whether a component is
+ active on a page
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <emphasis>
+ <property>"manualInput"</property>
+ </emphasis>
+ is an attribute that defines whether a keyboard
+ input is possible or only UI controls could be used
+ </para>
+ </listitem>
+ </itemizedlist>
+ <para>
+ Moreover, to add e.g. some JavaScript effects, events
+ defined on it are used
+ </para>
+ <itemizedlist>
+ <listitem>
+ <para>onchange</para>
+ </listitem>
+ <listitem>
+ <para>onmouseover</para>
+ </listitem>
+ <listitem>
+ <para>onclick</para>
+ </listitem>
+ <listitem>
+ <para>onfocus</para>
+ </listitem>
+ <listitem>
+ <para>onmouseout</para>
+ </listitem>
+ <listitem>
+ <para>etc.</para>
+ </listitem>
+ </itemizedlist>
+ <para>
+ The
+ <emphasis>
+ <property>"label"</property>
+ </emphasis>
+ attribute is a generic attribute. The
+ <emphasis>
+ <property>"label"</property>
+ </emphasis>
+ attribute provides an association between a component, and
+ the message that the component (indirectly) produced. This
+ attribute defines the parameters of localized error and
+ informational messages that occur as a result of conversion,
+ validation, or other application actions during the request
+ processing lifecycle. With the help of this attribute you
+ can replace the last parameter substitution token shown in
+ the messages. For example, {1} for
+ <code>“DoubleRangeValidator.MAXIMUM”</code>
+ , {2} for
+ <code>“ShortConverter.SHORT”</code>
+ .
+ </para>
+ </section>
+ <section>
+ <title>Look-and-Feel Customization</title>
+
+ <para>
+ For skinnability implementation, the components use a
+ <emphasis>
+ <property>style class redefinition method.</property>
+ </emphasis>
+ Default style classes are mapped on
+ <emphasis>
+ <property>skin parameters.</property>
+ </emphasis>
+ </para>
+
+ <para>
+ There are two ways to redefine the appearance of all
+ <emphasis role="bold">
+ <property><rich:inputNumberSpinner></property>
+ </emphasis>
+ components at once:
+ </para>
+
+ <itemizedlist>
+ <listitem>
+ <para>Redefine the corresponding skin parameters</para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Add to your style sheets
+ <emphasis>
+ <property>style classes</property>
+ </emphasis>
+ used by a
+ <emphasis role="bold">
+ <property>
+ <rich:inputNumberSpinner>
+ </property>
+ </emphasis>
+ component
+ </para>
+ </listitem>
+ </itemizedlist>
+ </section>
+
+ <section>
+ <title>Skin Parameters Redefinition</title>
+ <table>
+ <title>Skin parameters redefinition for a container</title>
+ <tgroup cols="2">
+ <thead>
+ <row>
+ <entry>Skin parameters</entry>
+ <entry>CSS properties</entry>
+ </row>
+ </thead>
+ <tbody>
+ <row>
+ <entry>controlBackgroundColor</entry>
+ <entry>background-color</entry>
+ </row>
+ <row>
+ <entry>panelBorderColor</entry>
+ <entry>border-color</entry>
+ </row>
+ <row>
+ <entry>subBorderColor</entry>
+ <entry>border-bottom-color</entry>
+ </row>
+ <row>
+ <entry>subBorderColor</entry>
+ <entry>border-right-color</entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </table>
+ <table>
+ <title>
+ Skin parameters redefinition for an input field
+ </title>
+ <tgroup cols="2">
+ <thead>
+ <row>
+ <entry>Skin parameters</entry>
+ <entry>CSS properties</entry>
+ </row>
+ </thead>
+ <tbody>
+ <row>
+ <entry>buttonSizeFont</entry>
+ <entry>font-size</entry>
+ </row>
+ <row>
+ <entry>buttonFamilyFont</entry>
+ <entry>font-family</entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </table>
+
+ </section>
+ <section>
+ <title>Definition of Custom Style Classes</title>
+ <para>
+ On the screenshot there are classes names that define styles
+ for component elements.
+ </para>
+ <figure>
+ <title>Style classes</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata
+ fileref="images/inputNumberSpinner_cn.png" />
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <table id="tab_cn1">
+ <title>
+ Classes names that define a component appearance
+ </title>
+
+ <tgroup cols="2">
+ <thead>
+ <row>
+ <entry>Class name</entry>
+ <entry>Description</entry>
+ </row>
+ </thead>
+ <tbody>
+ <row>
+ <entry>rich-spinner-c</entry>
+ <entry>
+ Defines styles for a wrapper table element
+ of a component
+ </entry>
+ </row>
+ <row>
+ <entry>rich-spinner-input-container</entry>
+ <entry>Defines styles for a container</entry>
+ </row>
+ <row>
+ <entry>rich-spinner-input</entry>
+ <entry>
+ Defines styles for a wrapper <td>
+ element for input fields
+ </entry>
+ </row>
+ <row>
+ <entry>rich-spinner-button</entry>
+ <entry>Defines styles for a button</entry>
+ </row>
+ <row>
+ <entry>rich-spinner-buttons</entry>
+ <entry>Defines styles for all buttons</entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </table>
+
+ <para>
+ In order to redefine styles for all
+ <emphasis role="bold">
+ <property><rich:inputNumberSpinner></property>
+ </emphasis>
+ components on a page using CSS, it's enough to create
+ classes with the same names (possible classes could be found
+ in the table
+ <link linkend="tab_cn1">above</link>
+ ) and define necessary properties in them. An example is
+ placed below:
+ </para>
+
+ <para>
+ <emphasis role="bold">Example:</emphasis>
+ </para>
+ <programlisting role="CSS"><![CDATA[...
.rich-spinner-input{
font-style:italic;
}
-...]]></programlisting>
-
- <para>This is a result:</para>
-
- <figure>
- <title>Redefinition styles with predefined classes</title>
- <mediaobject>
- <imageobject>
- <imagedata fileref="images/inputNumberSpinner_pc.png"/>
- </imageobject>
- </mediaobject>
- </figure>
-
- <para>In the example an input text font style was changed.</para>
-
- <para>Also it’s possible to change styles of particular <emphasis
role="bold"
-
><property><rich:inputNumberSpinner></property></emphasis>
component. In this case you should create own style classes and use them in corresponding
<emphasis role="bold"
-
><property><rich:inputNumberSpinner></property></emphasis>
<emphasis><property>styleClass</property></emphasis> attributes.
An example is placed below:</para>
-
- <para>
- <emphasis role="bold">Example:</emphasis>
- </para>
- <programlisting role="CSS"><![CDATA[...
+...]]></programlisting>
+
+ <para>This is a result:</para>
+
+ <figure>
+ <title>Redefinition styles with predefined classes</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata
+ fileref="images/inputNumberSpinner_pc.png" />
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <para>
+ In the example an input text font style was changed.
+ </para>
+
+ <para>
+ Also it’s possible to change styles of particular
+ <emphasis role="bold">
+ <property><rich:inputNumberSpinner></property>
+ </emphasis>
+ component. In this case you should create own style classes
+ and use them in corresponding
+ <emphasis role="bold">
+ <property><rich:inputNumberSpinner></property>
+ </emphasis>
+ <emphasis>
+ <property>styleClass</property>
+ </emphasis>
+ attributes. An example is placed below:
+ </para>
+
+ <para>
+ <emphasis role="bold">Example:</emphasis>
+ </para>
+ <programlisting role="CSS"><![CDATA[...
.myClass{
font-family: Arial Black;
}
-...]]></programlisting>
- <para>The
<emphasis><property>"inputClass"</property></emphasis>
attribute for <emphasis role="bold"
- ><property><rich:inputNumberSpinner>
</property></emphasis> is defined as it’s shown in the example
below:</para>
-
- <para>
- <emphasis role="bold">Example:</emphasis>
- </para>
- <programlisting role="XML"><![CDATA[<rich: inputNumberSpinner
... inputClass="myClass"/>
-]]></programlisting>
-
- <para>This is a result:</para>
-
- <figure>
- <title>Redefinition styles with own classes and
<emphasis><property> styleClass</property></emphasis>
attributes</title>
- <mediaobject>
- <imageobject>
- <imagedata fileref="images/inputNumberSpinner_oc.png"/>
- </imageobject>
- </mediaobject>
- </figure>
-
- <para>As it could be seen on the picture above, the font family for input text
was changed.</para>
-
- </section>
- <section>
- <title>Relevant Resources Links</title>
- <para>
- <ulink
-
url="http://livedemo.exadel.com/richfaces-demo/richfaces/inputNumber...
- >Here</ulink> you can see the example of <emphasis
role="bold"
-
><property><rich:inputNumberSpinner></property></emphasis>
usage and sources for the given example.
- </para>
- </section>
+...]]></programlisting>
+ <para>
+ The
+ <emphasis>
+ <property>"inputClass"</property>
+ </emphasis>
+ attribute for
+ <emphasis role="bold">
+ <property><rich:inputNumberSpinner></property>
+ </emphasis>
+ is defined as it’s shown in the example below:
+ </para>
+ <para>
+ <emphasis role="bold">Example:</emphasis>
+ </para>
+ <programlisting role="XML"><![CDATA[<rich: inputNumberSpinner ...
inputClass="myClass"/>
+]]></programlisting>
+
+ <para>This is a result:</para>
+
+ <figure>
+ <title>
+ Redefinition styles with own classes and
+ <emphasis>
+ <property>styleClass</property>
+ </emphasis>
+ attributes
+ </title>
+ <mediaobject>
+ <imageobject>
+ <imagedata
+ fileref="images/inputNumberSpinner_oc.png" />
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <para>
+ As it could be seen on the picture above, the font family
+ for input text was changed.
+ </para>
+
+ </section>
+ <section>
+ <title>Relevant Resources Links</title>
+ <para>
+ <ulink
+
url="http://livedemo.exadel.com/richfaces-demo/richfaces/inputNumber...
+ Here
+ </ulink>
+ you can see the example of
+ <emphasis role="bold">
+ <property><rich:inputNumberSpinner></property>
+ </emphasis>
+ usage and sources for the given example.
+ </para>
+ </section>
+
</section>
Modified: trunk/docs/userguide/en/src/main/docbook/included/loadScript.desc.xml
===================================================================
--- trunk/docs/userguide/en/src/main/docbook/included/loadScript.desc.xml 2008-06-10
09:24:42 UTC (rev 8966)
+++ trunk/docs/userguide/en/src/main/docbook/included/loadScript.desc.xml 2008-06-10
09:27:24 UTC (rev 8967)
@@ -10,7 +10,7 @@
<title>Description</title>
<para>
- Inserts script links to the head element. Render the value of the component , after
passing it to the getResourceURL() method of the ViewHandler for this application, and
passing the result through the encodeResourceURL() method of the ExternalContext.
+ Inserts script links to the head element. Render the value of the component , after
passing it to the <code>getResourceURL()</code> method of the ViewHandler for
this application, and passing the result through the
<code>encodeResourceURL()</code> method of the ExternalContext.
</para>
</section>
</root>
\ No newline at end of file
Modified: trunk/docs/userguide/en/src/main/docbook/included/loadScript.xml
===================================================================
--- trunk/docs/userguide/en/src/main/docbook/included/loadScript.xml 2008-06-10 09:24:42
UTC (rev 8966)
+++ trunk/docs/userguide/en/src/main/docbook/included/loadScript.xml 2008-06-10 09:27:24
UTC (rev 8967)
@@ -62,8 +62,8 @@
<para>
As it was mentioned <link linkend="loadScript">above</link>
this component returns its value as the value of
the
<emphasis><property>"src"</property></emphasis>
attribute passing it to the
- getResourceUR() method of the ViewHandler for this application, and passing
- the result through the encodeResourceURL() method of the ExternalContext.
+ <code>getResourceUR()</code> method of the ViewHandler for this
application, and passing
+ the result through the <code>encodeResourceURL()</code> method of the
ExternalContext.
</para>
<para>
It means that the Context is inserts automatically to the link. And calls
Modified: trunk/docs/userguide/en/src/main/docbook/included/mediaOutput.xml
===================================================================
--- trunk/docs/userguide/en/src/main/docbook/included/mediaOutput.xml 2008-06-10 09:24:42
UTC (rev 8966)
+++ trunk/docs/userguide/en/src/main/docbook/included/mediaOutput.xml 2008-06-10 09:27:24
UTC (rev 8967)
@@ -65,7 +65,7 @@
<section>
<title>Key attributes and ways of usage</title>
<para>To use the component it's necessary to define it on a page and
set Java methods for data keeping and data transmission to output stream. </para>
- <para>Here is the content of paintData that is a bean containing output
data</para>
+ <para>Here is the content of <code>paintData</code> that is a bean
containing output data</para>
<para>
<emphasis role="bold">Example:</emphasis>
</para>
@@ -77,7 +77,7 @@
Integer weight=50;
...
]]></programlisting>
- <para>The Paint method of the paintBean class is a method transmitting
graphical data into output stream.</para>
+ <para>The Paint method of the <code>paintBean</code> class is a
method transmitting graphical data into output stream.</para>
<para>
<emphasis role="bold">Example:</emphasis>
@@ -89,7 +89,7 @@
<para>As it was shown in the example above there are two main
components:</para>
<itemizedlist>
<listitem><para>
- <emphasis><property> "createContent"
</property></emphasis>specifies a method accepting 2 parameters. The first (of
java.io.OutputStream type) defines a stream, where any binary data is output. The second
(of java.lang.Object type) contains deserialized object with data specified in the
<emphasis >
+ <emphasis><property> "createContent"
</property></emphasis>specifies a method accepting 2 parameters. The first (of
<code>java.io.OutputStream</code> type) defines a stream, where any binary
data is output. The second (of <code>java.lang.Object</code> type) contains
deserialized object with data specified in the <emphasis >
<property>"value"</property>
</emphasis> attribute.
</para></listitem>
Modified: trunk/docs/userguide/en/src/main/docbook/included/outputPanel.xml
===================================================================
--- trunk/docs/userguide/en/src/main/docbook/included/outputPanel.xml 2008-06-10 09:24:42
UTC (rev 8966)
+++ trunk/docs/userguide/en/src/main/docbook/included/outputPanel.xml 2008-06-10 09:27:24
UTC (rev 8967)
@@ -1,52 +1,58 @@
<?xml version='1.0' encoding='UTF-8'?>
<chapter>
- <chapterinfo>
- <keywordset>
- <keyword>a4j:outputPanel</keyword>
- </keywordset>
- </chapterinfo>
- <table>
- <title>Component identification parameters </title>
- <tgroup cols="2">
- <thead>
- <row>
- <entry>Name</entry>
- <entry>Value</entry>
- </row>
- </thead>
- <tbody>
- <row>
- <entry>component-type</entry>
- <entry>org.ajax4jsf.OutputPanel</entry>
- </row>
- <row>
- <entry>component-family</entry>
- <entry>javax.faces.Panel</entry>
- </row>
- <row>
- <entry>component-type</entry>
- <entry>org.ajax4jsf.ajax.OutputPanel</entry>
- </row>
- <row>
- <entry>component-class</entry>
- <entry>org.ajax4jsf.component.html.HtmlAjaxOutputPanel</entry>
- </row>
- <row>
- <entry>renderer-type</entry>
- <entry>org.ajax4jsf.components.AjaxOutputPanelRenderer</entry>
- </row>
- </tbody>
- </tgroup>
- </table>
-
- <section>
- <title>Creating on a page</title>
- <para>Here is the simplest way for a component creation on a
page.</para>
+ <chapterinfo>
+ <keywordset>
+ <keyword>a4j:outputPanel</keyword>
+ </keywordset>
+ </chapterinfo>
+ <table>
+ <title>Component identification parameters</title>
+ <tgroup cols="2">
+ <thead>
+ <row>
+ <entry>Name</entry>
+ <entry>Value</entry>
+ </row>
+ </thead>
+ <tbody>
+ <row>
+ <entry>component-type</entry>
+ <entry>org.ajax4jsf.OutputPanel</entry>
+ </row>
+ <row>
+ <entry>component-family</entry>
+ <entry>javax.faces.Panel</entry>
+ </row>
+ <row>
+ <entry>component-type</entry>
+ <entry>org.ajax4jsf.ajax.OutputPanel</entry>
+ </row>
+ <row>
+ <entry>component-class</entry>
+ <entry>
+ org.ajax4jsf.component.html.HtmlAjaxOutputPanel
+ </entry>
+ </row>
+ <row>
+ <entry>renderer-type</entry>
+ <entry>
+ org.ajax4jsf.components.AjaxOutputPanelRenderer
+ </entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </table>
- <para>
- <emphasis role="bold">Example:</emphasis>
- </para>
- <programlisting role="XML"><![CDATA[
<a4j:outputPanel>
+ <section>
+ <title>Creating on a page</title>
+ <para>
+ Here is the simplest way for a component creation on a page.
+ </para>
+
+ <para>
+ <emphasis role="bold">Example:</emphasis>
+ </para>
+ <programlisting role="XML"><![CDATA[ <a4j:outputPanel>
<h:form>
<h:outputText value="Some text"/>
<h:inputText id="text1" label="text1"
value="#{rsBean.text1}">
@@ -54,30 +60,46 @@
</h:form>
</a4j:outputPanel>
]]></programlisting>
- </section>
- <section>
- <title>Creating the Component Dynamically Using Java</title>
+ </section>
+ <section>
+ <title>Creating the Component Dynamically Using Java</title>
- <para>
- <emphasis role="bold">Example:</emphasis>
- </para>
- <programlisting role="JAVA"><![CDATA[import
org.ajax4jsf.component.html.HtmlAjaxOutputPanel;
+ <para>
+ <emphasis role="bold">Example:</emphasis>
+ </para>
+ <programlisting role="JAVA"><![CDATA[import
org.ajax4jsf.component.html.HtmlAjaxOutputPanel;
...
HtmlAjaxOutputPanel myPanel = new HtmlAjaxOutputPanel();
]]></programlisting>
- </section>
- <section>
- <title>Key attributes and ways of usage</title>
- <para><emphasis
role="bold"><property><a4j:outputPanel></property></emphasis>
allows marking of a page area, which is updated on Ajax response. Anyway, <emphasis
role="bold">
- <property><a4j:outputPanel></property>
- </emphasis> usage is optional, as in RichFaces it's possible to
indicate any existing component id on a component view in order to define updating areas.
+ </section>
+ <section>
+ <title>Key attributes and ways of usage</title>
+ <para>
+ <emphasis role="bold">
+ <property><a4j:outputPanel></property>
+ </emphasis>
+ allows marking of a page area, which is updated on Ajax
+ response. Anyway,
+ <emphasis role="bold">
+ <property><a4j:outputPanel></property>
+ </emphasis>
+ usage is optional, as in RichFaces it's possible to
+ indicate any existing component id on a component view in
+ order to define updating areas.
-To speed up the performance, RichFaces updates only a component tree. <emphasis
role="bold">
- <property><a4j:outputPanel></property>
- </emphasis> usage is recommended for wrapping components that aren't
rendered during the primary non-ajax response, as the components don't present in
a component tree.
-</para>
- <para><emphasis
role="bold">Example:</emphasis></para>
- <programlisting role="XML"><![CDATA[<a4j:support ...
reRender="mypanel"/>
+ To speed up the performance, RichFaces updates only a
+ component tree.
+ <emphasis role="bold">
+ <property><a4j:outputPanel></property>
+ </emphasis>
+ usage is recommended for wrapping components that
+ aren't rendered during the primary non-ajax response,
+ as the components don't present in a component tree.
+ </para>
+ <para>
+ <emphasis role="bold">Example:</emphasis>
+ </para>
+ <programlisting role="XML"><![CDATA[<a4j:support ...
reRender="mypanel"/>
...
<a4j:outputPanel id="mypanel">
<h:panelGrid rendered="#{not empty foo.bar}">
@@ -85,36 +107,92 @@
</h:panelGrid>
</a4j:outputPanel>
]]></programlisting>
- <para>In addition to the areas directly indicated
in<emphasis><property> "reRender"
</property></emphasis>attribute of Ajax components, <emphasis
role="bold">
- <property><a4j:outputPanel></property>
- </emphasis> allows to update a part of a page basing on its own flag. The
flag is defined by the<emphasis><property> "ajaxRendered"
</property></emphasis>attribute. The flag is commonly used when a part of a
page must be updated or can be updated on any response.</para>
- <para><emphasis
role="bold">Example:</emphasis></para>
- <programlisting role="XML"><![CDATA[<a4j:outputPanel
ajaxRendered="true">
+ <para>
+ In addition to the areas directly indicated in
+ <emphasis>
+ <property>"reRender"</property>
+ </emphasis>
+ attribute of Ajax components,
+ <emphasis role="bold">
+ <property><a4j:outputPanel></property>
+ </emphasis>
+ allows to update a part of a page basing on its own flag.
+ The flag is defined by the
+ <emphasis>
+ <property>"ajaxRendered"</property>
+ </emphasis>
+ attribute. The flag is commonly used when a part of a page
+ must be updated or can be updated on any response.
+ </para>
+ <para>
+ <emphasis role="bold">Example:</emphasis>
+ </para>
+ <programlisting role="XML"><![CDATA[<a4j:outputPanel
ajaxRendered="true">
<h:messages/>
</a4j:outputPanel>
]]></programlisting>
- <para>On default <emphasis role="bold">
- <property><a4j:outputPanel></property>
- </emphasis> is output as a pair of opening and closing html <emphasis
role="bold"><property><span></property></emphasis>
tag, but with the help of the layout attribute this output way could be changed. There are
three variants for this component value:</para>
- <itemizedlist>
- <listitem><para>
- inline (default)
- </para></listitem>
- <listitem><para>
- block
- </para></listitem>
- <listitem><para>
- none
- </para></listitem>
- </itemizedlist>
- <para>If <emphasis><property> "layout"
</property></emphasis>=<property>"block"</property>
is chosen, the component is rendered as a pair of opening and closing <emphasis
role="bold"><property><div></property></emphasis>
tag, to which it's possible to apply any available style attributes available for
block tags. </para>
- <para><emphasis><property> "layout"
</property></emphasis>=<property>"none"</property>
helps to avoid an unnecessary tag round a context that could or couldn't be
rendered according to the defined
<emphasis><property>"rendered"</property></emphasis>
attribute conditions. If an inner context isn’t rendered, <emphasis
role="bold">
- <property><a4j:outputPanel></property>
- </emphasis> is rendered as a <emphasis
role="bold"><property><span></property></emphasis>
tag with the id equal to an id of a child component and
<property>display:none</property> style. If a child component is rendered,
<emphasis role="bold">
- <property><a4j:outputPanel></property>
- </emphasis> doesn't present at all in a final code.</para>
- <para><emphasis
role="bold">Example:</emphasis></para>
- <programlisting role="XML"><![CDATA[<a4j:support ....
reRender="mypanel"/>
+ <para>
+ On default
+ <emphasis role="bold">
+ <property><a4j:outputPanel></property>
+ </emphasis>
+ is output as a pair of opening and closing html
+ <emphasis role="bold">
+ <property><span></property>
+ </emphasis>
+ tag, but with the help of the layout attribute this output
+ way could be changed. There are three variants for this
+ component value:
+ </para>
+ <itemizedlist>
+ <listitem>
+ <para>inline (default)</para>
+ </listitem>
+ <listitem>
+ <para>block</para>
+ </listitem>
+ <listitem>
+ <para>none</para>
+ </listitem>
+ </itemizedlist>
+ <para>
+ If
+ <code>layout="block"</code>
+ is chosen, the component is rendered as a pair of opening
+ and closing
+ <emphasis role="bold">
+ <property><div></property>
+ </emphasis>
+ tag, to which it's possible to apply any available
+ style attributes available for block tags.
+ </para>
+ <para>
+ <code>layout ="none"</code>
+ helps to avoid an unnecessary tag round a context that could
+ or couldn't be rendered according to the defined
+ <emphasis>
+ <property>"rendered"</property>
+ </emphasis>
+ attribute conditions. If an inner context isn’t rendered,
+ <emphasis role="bold">
+ <property><a4j:outputPanel></property>
+ </emphasis>
+ is rendered as a
+ <emphasis role="bold">
+ <property><span></property>
+ </emphasis>
+ tag with the id equal to an id of a child component and
+ <code>display:none</code>
+ style. If a child component is rendered,
+ <emphasis role="bold">
+ <property><a4j:outputPanel></property>
+ </emphasis>
+ doesn't present at all in a final code.
+ </para>
+ <para>
+ <emphasis role="bold">Example:</emphasis>
+ </para>
+ <programlisting role="XML"><![CDATA[<a4j:support ....
reRender="mypanel"/>
...
<a4j:outputPanel layout="none">
<h:panelGrid id="mypanel" rendered="#{not empty foo.bar}">
@@ -122,31 +200,97 @@
</h:panelGrid>
</a4j:outputPanel>
]]></programlisting>
- <para>As you see, the code is very similar to the one shown above, but
<emphasis ><property>"reRender
"</property></emphasis> attribute refers directly to the updating
panelGrid and not to the framing outputPanel, and it's more semantically
correct.</para>
- <para><emphasis
role="bold"><property><a4j:outPanel></property></emphasis>
should be used for non-JSF component part framing, which is to be updated on Ajax
response, as RichFaces specifies the list of updating areas as a list of an existing JSF
component. </para>
- <para>On default non-JSF context isn't saved in a component tree, but
is rendered anew every time. To accelerate the processing speed and Ajax response input
speed, RichFaces saves non-JSF context in a component tree on default. This option could
be canceled by<emphasis><property> "keepTransient"
</property></emphasis>attribute that cancels transient flag forced setting for
child components. This flag setting keeps the current value set by child
components.</para>
- <note>
- <title>Note:</title>
- <para>In JSF 1.1 implementation and lower, where non-JSF context should be
framed with the <emphasis
role="bold"><property><f:verbatim></property></emphasis>
component, <emphasis role="bold">
- <property><a4j:outputPanel></property>
- </emphasis> doesn't improve this JSF implementation option in any way,
so you still have to use this tag where it's necessary without RichFaces usage.
</para>
- </note>
- <para>RichFaces allows setting Ajax responses rendering directly basing on
component tree nodes without referring to the JSP (XHTML) page code. It could be defined
by selfRendered attribute setting to
- <property>"true"</property>
-
- on <emphasis role="bold">
- <property><a4j:region></property>
- </emphasis> and could help considerably speed up a response output. However,
if a transient flag is kept as it is, this rapid processing could cause missing of
transient components that present on view and don’t come into a component tree. Hence, for
any particular case you could choose a way for you application optimization: speed up
processing or redundant memory for keeping tree part earlier defined a transient.
</para>
- </section>
- <section>
- <title>Relevant resources links</title>
- <para><ulink
url="http://livedemo.exadel.com/richfaces-demo/richfaces/outputPanel...
- >Here</ulink> you can see the example of <emphasis
role="bold"
-
><property><a4j:outputPanel></property></emphasis>
usage and sources for the given example.</para>
- <para>
- Some additional information about usage of component can be found
- <ulink
url="http://www.jboss.com/index.html?module=bb&op=viewtopic&...;.
-
- </para>
- </section>
+ <para>
+ As you see, the code is very similar to the one shown above,
+ but
+ <emphasis>
+ <property>"reRender "</property>
+ </emphasis>
+ attribute refers directly to the updating panelGrid and not
+ to the framing outputPanel, and it's more semantically
+ correct.
+ </para>
+ <para>
+ <emphasis role="bold">
+ <property><a4j:outPanel></property>
+ </emphasis>
+ should be used for non-JSF component part framing, which is
+ to be updated on Ajax response, as RichFaces specifies the
+ list of updating areas as a list of an existing JSF
+ component.
+ </para>
+ <para>
+ On default non-JSF context isn't saved in a component
+ tree, but is rendered anew every time. To accelerate the
+ processing speed and Ajax response input speed, RichFaces
+ saves non-JSF context in a component tree on default. This
+ option could be canceled by
+ <emphasis>
+ <property>"keepTransient"</property>
+ </emphasis>
+ attribute that cancels transient flag forced setting for
+ child components. This flag setting keeps the current value
+ set by child components.
+ </para>
+ <note>
+ <title>Note:</title>
+ <para>
+ In JSF 1.1 implementation and lower, where non-JSF
+ context should be framed with the
+ <emphasis role="bold">
+ <property><f:verbatim></property>
+ </emphasis>
+ component,
+ <emphasis role="bold">
+ <property><a4j:outputPanel></property>
+ </emphasis>
+ doesn't improve this JSF implementation option in
+ any way, so you still have to use this tag where
+ it's necessary without RichFaces usage.
+ </para>
+ </note>
+ <para>
+ RichFaces allows setting Ajax responses rendering directly
+ basing on component tree nodes without referring to the JSP
+ (XHTML) page code. It could be defined by selfRendered
+ attribute setting to
+ <property>"true"</property>
+
+ on
+ <emphasis role="bold">
+ <property><a4j:region></property>
+ </emphasis>
+ and could help considerably speed up a response output.
+ However, if a transient flag is kept as it is, this rapid
+ processing could cause missing of transient components that
+ present on view and don’t come into a component tree. Hence,
+ for any particular case you could choose a way for you
+ application optimization: speed up processing or redundant
+ memory for keeping tree part earlier defined a transient.
+ </para>
+ </section>
+ <section>
+ <title>Relevant resources links</title>
+ <para>
+ <ulink
+
url="http://livedemo.exadel.com/richfaces-demo/richfaces/outputPanel...
+ Here
+ </ulink>
+ you can see the example of
+ <emphasis role="bold">
+ <property><a4j:outputPanel></property>
+ </emphasis>
+ usage and sources for the given example.
+ </para>
+ <para>
+ Some additional information about usage of component can be
+ found
+ <ulink
+
url="http://www.jboss.com/index.html?module=bb&op=viewtopic&...
+ here
+ </ulink>
+ .
+
+ </para>
+ </section>
</chapter>
\ No newline at end of file
Modified: trunk/docs/userguide/en/src/main/docbook/included/region.xml
===================================================================
--- trunk/docs/userguide/en/src/main/docbook/included/region.xml 2008-06-10 09:24:42 UTC
(rev 8966)
+++ trunk/docs/userguide/en/src/main/docbook/included/region.xml 2008-06-10 09:27:24 UTC
(rev 8967)
@@ -79,7 +79,7 @@
<h:form>]]></programlisting>
<para>Hence, the <emphasis role="bold">
<property><a4j:commandLink></property>
- </emphasis> request generation causes full "form1" form
submission onto the server, the only difference is that a component tree part decoded on
the serve is the part included into the region.</para>
+ </emphasis> request generation causes full <code>form1</code>
form submission onto the server, the only difference is that a component tree part decoded
on the serve is the part included into the region.</para>
<para>The regions could be nested in any order, the server picks out and
decodes only the region, which contains a particular component that sends a
request.</para>
<para><emphasis
role="bold">Example:</emphasis></para>
<programlisting role="XML"><![CDATA[<a4j:region>
@@ -90,7 +90,7 @@
</a4j:region >
<!--..Some content that will be decoded on server after Ajax request.-->
</a4j:region >]]></programlisting>
- <para>Therefore, the external region is decoded for the
"link1" and the internal one is decoded for the
"link2".</para>
+ <para>Therefore, the external region is decoded for the
<code>link1</code> and the internal one is decoded for the
<code>link2</code>.</para>
<para>RichFaces allows setting Ajax responses rendering directly basing on
component tree nodes without referring to the JSP (XHTML) page code. It could be defined
by<emphasis><property> "selfRendered"
</property></emphasis>attribute setting to
<property>"true"</property> on <emphasis
role="bold">
<property><a4j:region></property>
</emphasis> and could help considerably speed up a response output. However,
this rapid processing could cause missing of transient components that present on view and
don't come into a component tree as well as omitting of <emphasis
role="bold">
@@ -121,7 +121,7 @@
<para>This example shows that one of the regions is decoded when a link is used
inside. Nevertheless,
if after processing the "link1" is clicked, the first region passes
into Encode as a root
region and encode performance time is reduced. This optimization doesn't
allow data update out of the
- region and should be implemented very carefully. The data out of the region described
with<emphasis><property>
"renderRegionOnly"</property></emphasis>=<property>"false"</property>
is updated successfully.</para>
+ region and should be implemented very carefully. The data out of the region described
with <code>renderRegionOnly="false"</code> is updated
successfully.</para>
</section>
<section>
<title>Relevant resources links</title>
Modified: trunk/docs/userguide/en/src/main/docbook/included/repeat.xml
===================================================================
--- trunk/docs/userguide/en/src/main/docbook/included/repeat.xml 2008-06-10 09:24:42 UTC
(rev 8966)
+++ trunk/docs/userguide/en/src/main/docbook/included/repeat.xml 2008-06-10 09:27:24 UTC
(rev 8967)
@@ -44,8 +44,8 @@
<h:outputText value="#{detail.someProperty}"/>
</a4j:repeat>]]></programlisting>
<para>The output is generated according to a collection contained in
- <property>bean.props</property>
- with the <property>detail</property> key passed to child
components.</para>
+ <code>bean.props</code>
+ with the <code>detail</code> key passed to child
components.</para>
</section>
<section>
<title>Creating the Component Dynamically Using Java</title>
@@ -83,14 +83,14 @@
]]></programlisting>
<para>Thus, a list with a table structure from
- <property>bean.props</property>
+ <code>bean.props</code>
is output.</para>
<para>In the above-mentioned example the component <emphasis
role="bold">
<property><a4j:poll></property>
</emphasis> sends Ajax requests every second, calling the
- <property>action</property>
+ <code>action</code>
method of the
- <property>repeater</property>
+ <code>repeater</code>
bean.
</para>
<note>
@@ -103,7 +103,7 @@
<property>"ajaxKeys"</property>
</emphasis> attribute </para>
<para>The set could be defined during the action method processing using data
on a model from the property
- <property>repeater.myRepeat</property>
+ <code>repeater.myRepeat</code>
</para>
</note>
<para>One more benefit of this component is absence of strictly defined
markup as JSF HTML DataTable and TOMAHAWK DataTable has, hence the components could be
used more flexibly anywhere where it's necessary to output the results of
selection from some collection.</para>
Modified: trunk/docs/userguide/en/src/main/docbook/included/support.xml
===================================================================
--- trunk/docs/userguide/en/src/main/docbook/included/support.xml 2008-06-10 09:24:42 UTC
(rev 8966)
+++ trunk/docs/userguide/en/src/main/docbook/included/support.xml 2008-06-10 09:27:24 UTC
(rev 8967)
@@ -48,7 +48,7 @@
</h:inputText>
<h:outputText id="repeater"
value="#{bean.text}"/>]]></programlisting>
<para>On every keyup event generated by an input field, a form is submitted on
the server with the help of Ajax and
- on a response coming from the server, element with
<property>repeater</property> id, founded in a DOM tree is
+ on a response coming from the server, element with <code>repeater</code>
id, founded in a DOM tree is
redrawn according to a new data from the response.</para>
</section>
<section>
@@ -125,7 +125,7 @@
</h:inputText>
<h:inputText value="#{person.middleName}"/>
</form>]]></programlisting>
- <para>In this example the request contains only the input component causes the
request generation, not all the components contained on a form, because of
<emphasis><property>"ajaxSingle"</property></emphasis>=<property>"true"</property>
usage. </para>
+ <para>In this example the request contains only the input component causes the
request generation, not all the components contained on a form, because of
<code>ajaxSingle="true"</code> usage. </para>
<para><emphasis role="bold">Example
2:</emphasis></para>
<programlisting role="XML"><![CDATA[<h:form>
<a4j:outputPanel ajaxRendered="true">
@@ -136,7 +136,7 @@
</h:inputText>
<h:outputText value="#{person.name}" id="test"/>
</form>]]></programlisting>
- <para>In this example the component <emphasis
role="bold"><property><h:messages></property></emphasis>
is always updated (as it capturing all Ajax requests, located in ajaxRendered <emphasis
role="bold"><property><a4j:outputPanel></property></emphasis>),
except the case when a response is sent from the input component from the example. On
sending this component marks that updating area is limited to the defined in it
components, it means that on its usage with<emphasis><property>
"limitToList"</property></emphasis>=<property>"true"</property>
the only component updated is the one with
<emphasis><property>"id"</property></emphasis>=<property>"test"</property>.</para>
+ <para>In this example the component <emphasis
role="bold"><property><h:messages></property></emphasis>
is always updated (as it capturing all Ajax requests, located in ajaxRendered <emphasis
role="bold"><property><a4j:outputPanel></property></emphasis>),
except the case when a response is sent from the input component from the example. On
sending this component marks that updating area is limited to the defined in it
components, it means that on its usage
with<code>limitToList="true"</code> the only component
updated is the one with
<code>id="test"</code>.</para>
<itemizedlist>
<listitem><para>
<emphasis role="bold">Limitation of requests frequency and
updates quantity after the responses. </emphasis></para>
Modified: trunk/docs/userguide/en/src/main/docbook/included/virtualEarth.xml
===================================================================
--- trunk/docs/userguide/en/src/main/docbook/included/virtualEarth.xml 2008-06-10 09:24:42
UTC (rev 8966)
+++ trunk/docs/userguide/en/src/main/docbook/included/virtualEarth.xml 2008-06-10 09:27:24
UTC (rev 8967)
@@ -1,196 +1,281 @@
<?xml version='1.0' encoding='UTF-8'?>
<section>
- <sectioninfo>
- <keywordset>
- <keyword>map</keyword>
- <keyword>Virtual Earth</keyword>
- </keywordset>
- </sectioninfo>
+ <sectioninfo>
+ <keywordset>
+ <keyword>map</keyword>
+ <keyword>Virtual Earth</keyword>
+ </keywordset>
+ </sectioninfo>
- <table>
- <title>Component identification parameters </title>
- <tgroup cols="2">
- <thead>
- <row>
- <entry>Name</entry>
- <entry>Value</entry>
- </row>
- </thead>
- <tbody>
- <row>
- <entry>component-type</entry>
- <entry>org.richfaces.VirtualEarth</entry>
- </row>
- <row>
- <entry>component-class</entry>
- <entry>org.richfaces.component.html.HtmlVirtualEarth</entry>
- </row>
- <row>
- <entry>component-family</entry>
- <entry>org.richfaces.VirtualEarth</entry>
- </row>
- <row>
- <entry>renderer-type</entry>
- <entry>org.richfaces.VirtualEarthRenderer</entry>
- </row>
- <row>
- <entry>tag-class</entry>
- <entry>org.richfaces.taglib.VirtualEarthTag</entry>
- </row>
- </tbody>
- </tgroup>
- </table>
+ <table>
+ <title>Component identification parameters</title>
+ <tgroup cols="2">
+ <thead>
+ <row>
+ <entry>Name</entry>
+ <entry>Value</entry>
+ </row>
+ </thead>
+ <tbody>
+ <row>
+ <entry>component-type</entry>
+ <entry>org.richfaces.VirtualEarth</entry>
+ </row>
+ <row>
+ <entry>component-class</entry>
+ <entry>
+ org.richfaces.component.html.HtmlVirtualEarth
+ </entry>
+ </row>
+ <row>
+ <entry>component-family</entry>
+ <entry>org.richfaces.VirtualEarth</entry>
+ </row>
+ <row>
+ <entry>renderer-type</entry>
+ <entry>org.richfaces.VirtualEarthRenderer</entry>
+ </row>
+ <row>
+ <entry>tag-class</entry>
+ <entry>org.richfaces.taglib.VirtualEarthTag</entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </table>
- <section>
- <title>Creating the Component with a Page Tag</title>
- <para>To create the simplest variant on a page use the following
syntax:</para>
+ <section>
+ <title>Creating the Component with a Page Tag</title>
+ <para>
+ To create the simplest variant on a page use the following
+ syntax:
+ </para>
- <para>
- <emphasis role="bold">Example:</emphasis>
- </para>
- <programlisting role="XML"><![CDATA[...
+ <para>
+ <emphasis role="bold">Example:</emphasis>
+ </para>
+ <programlisting role="XML"><![CDATA[...
<rich:virtualEarth lat="..." lng="..."/>
...
]]></programlisting>
- </section>
- <section>
- <title>Creating the Component Dynamically Using Java</title>
+ </section>
+ <section>
+ <title>Creating the Component Dynamically Using Java</title>
- <para>
- <emphasis role="bold">Example:</emphasis>
- </para>
- <programlisting role="JAVA"><![CDATA[import
org.richfaces.component.html.HtmlVirtualEarth;
+ <para>
+ <emphasis role="bold">Example:</emphasis>
+ </para>
+ <programlisting role="JAVA"><![CDATA[import
org.richfaces.component.html.HtmlVirtualEarth;
...
HtmlVirtualEarth myMap = new HtmlVirtualEarth();
...
]]></programlisting>
- </section>
- <section>
- <title>Details of Usage</title>
+ </section>
+ <section>
+ <title>Details of Usage</title>
- <para>Here are the main settings of initial rendering performed with a
component
- <property>map</property> that are accessible with the following
attributes:</para>
- <itemizedlist>
- <listitem><para>
- <emphasis>
- <property>"zoom"</property>
- </emphasis> defines an approximation size (boundary values 1-18)
</para></listitem>
- <listitem><para>
- <emphasis>
- <property>"lat"</property>
- </emphasis> specifies an initial latitude coordinate in degrees, as a
number between -90 and
- +90 </para></listitem>
- <listitem><para>
- <emphasis>
- <property>"lng"</property>
- </emphasis> specifies an initial longitude coordinate in degrees, as a
number between -180
- and +180 </para></listitem>
- <listitem><para>
- <emphasis>
- <property>"dashboardSize"</property>
- </emphasis>specifies a type of a rendered map (Normal, Small,
Tiny)</para></listitem>
- </itemizedlist>
- <para>For example, the city of Paris is shown after rendering with the
following initial
- settings: <emphasis>
- <property>"lat"</property>
- </emphasis>= 48.833, <emphasis>
- <property>"lng"</property>
- </emphasis>= 2.40 and <emphasis>
- <property>"zoom"</property>
- </emphasis>= 11.</para>
- <figure>
- <title><emphasis
role="bold"><property><rich:virtualEarth></property></emphasis>
initial rendering</title>
- <mediaobject>
- <imageobject>
- <imagedata fileref="images/virtualEarth2.png"/>
- </imageobject>
- </mediaobject>
- </figure>
- <para>Code for this example is placed below:</para>
- <para>
- <emphasis role="bold">Example:</emphasis>
- </para>
- <programlisting role="XML"><![CDATA[...
+ <para>
+ Here are the main settings of initial rendering performed
+ with a component
+ <property>map</property>
+ that are accessible with the following attributes:
+ </para>
+ <itemizedlist>
+ <listitem>
+ <para>
+ <emphasis>
+ <property>"zoom"</property>
+ </emphasis>
+ defines an approximation size (boundary values 1-18)
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <emphasis>
+ <property>"lat"</property>
+ </emphasis>
+ specifies an initial latitude coordinate in degrees,
+ as a number between -90 and +90
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <emphasis>
+ <property>"lng"</property>
+ </emphasis>
+ specifies an initial longitude coordinate in
+ degrees, as a number between -180 and +180
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <emphasis>
+ <property>"dashboardSize"</property>
+ </emphasis>
+ specifies a type of a rendered map (Normal, Small,
+ Tiny)
+ </para>
+ </listitem>
+ </itemizedlist>
+ <para>
+ For example, the city of Paris is shown after rendering with
+ the following initial settings:
+ <code>lat = "48.833"</code>
+ ,
+ <code>lng = "2.40"</code>
+ and
+ <code>zoom = "11"</code>
+ .
+ </para>
+ <figure>
+ <title>
+ <emphasis role="bold">
+ <property><rich:virtualEarth></property>
+ </emphasis>
+ initial rendering
+ </title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/virtualEarth2.png" />
+ </imageobject>
+ </mediaobject>
+ </figure>
+ <para>Code for this example is placed below:</para>
+ <para>
+ <emphasis role="bold">Example:</emphasis>
+ </para>
+ <programlisting role="XML"><![CDATA[...
<rich:virtualEarth style="width:800px;" id="vm"
lat="48.833" lng="2.40"
dashboardSize="Normal"
zoom="11" mapStyle="Hybrid" var="map" />
...
]]></programlisting>
- <para>To set all these parameters and perform some activity (Zoom In/Out etc.)
is possible with
- your JavaScript, i.e. declare a name of an object on a
<property>map</property> in the <emphasis>
- <property>"var"</property>
- </emphasis> attribute and then call the object directly with API
<emphasis><property>Microsoft
- Virtual Earth map</property>.</emphasis></para>
- <para>For example, to approximate a map for <emphasis>
- <property>"var"</property>
- </emphasis>= <property>"map"</property>
declared inside the component, call
- map.ZoomIn() on an event.</para>
- <para>Moreover, to add e.g. some JavaScript effects, events defined on it are
used.</para>
- <itemizedlist>
- <listitem><para> onmouseover </para></listitem>
- <listitem><para> onclick </para></listitem>
- <listitem><para> onmouseout </para></listitem>
- <listitem><para> etc. </para></listitem>
- </itemizedlist>
-
- <note>
- <para>
- Virtual Earth does not support XHTML format of the page.
- Thus, if you use Facelets and JSF 1.2, do not forget to put the following tags
somewhere on the page:
- </para>
- <programlisting role="XML"><![CDATA[...
+ <para>
+ To set all these parameters and perform some activity (Zoom
+ In/Out etc.) is possible with your JavaScript, i.e. declare
+ a name of an object on a
+ <property>map</property>
+ in the
+ <emphasis>
+ <property>"var"</property>
+ </emphasis>
+ attribute and then call the object directly with API
+ <emphasis>
+ <property>Microsoft Virtual Earth map</property>
+ .
+ </emphasis>
+ </para>
+ <para>
+ For example, to approximate a map for
+ <code>var = "map"</code>
+ declared inside the component, call
+ <code>map.ZoomIn()</code>
+ on an event.
+ </para>
+ <para>
+ Moreover, to add e.g. some JavaScript effects, events
+ defined on it are used.
+ </para>
+ <itemizedlist>
+ <listitem>
+ <para>onmouseover</para>
+ </listitem>
+ <listitem>
+ <para>onclick</para>
+ </listitem>
+ <listitem>
+ <para>onmouseout</para>
+ </listitem>
+ <listitem>
+ <para>etc.</para>
+ </listitem>
+ </itemizedlist>
+
+ <note>
+ <para>
+ Virtual Earth does not support XHTML format of the page.
+ Thus, if you use Facelets and JSF 1.2, do not forget to
+ put the following tags somewhere on the page:
+ </para>
+ <programlisting role="XML"><![CDATA[...
<f:view contentType="text/html">...</f:view>
...
]]></programlisting>
- </note>
-
- </section>
- <section>
- <title>Look-and-Feel Customization</title>
- <para><emphasis role="bold">
- <property><rich:virtualEarth></property>
- </emphasis> component isn't tied to skin parameters, as there is no
additional
- elements on it, except the ones provided with
<emphasis><property>Virtual Earth
- map</property>.</emphasis></para>
- </section>
-
- <section>
- <title>Definition of Custom Style Classes</title>
- <table>
- <title>Classes names that define a component appearance</title>
- <tgroup cols="2">
- <thead>
- <row>
- <entry>Class name</entry>
- <entry>Description</entry>
- </row>
- </thead>
- <tbody>
- <row>
- <entry>rich-virtualEarth</entry>
- <entry>Defines styles for a wrapper <div> element of a
- component</entry>
- </row>
- </tbody>
- </tgroup>
- </table>
+ </note>
- <para>In order to redefine styles for all <emphasis
role="bold">
- <property><rich:virtualEarth></property>
- </emphasis> components on a page using CSS, it's enough to create
class with the same
- name and define necessary properties in it.</para>
+ </section>
+ <section>
+ <title>Look-and-Feel Customization</title>
+ <para>
+ <emphasis role="bold">
+ <property><rich:virtualEarth></property>
+ </emphasis>
+ component isn't tied to skin parameters, as there is no
+ additional elements on it, except the ones provided with
+ <emphasis>
+ <property>Virtual Earth map</property>
+ .
+ </emphasis>
+ </para>
+ </section>
- <para>To change styles of particular <emphasis role="bold">
- <property><rich:virtualEarth></property>
- </emphasis> components, define your own style class in the corresponding
<emphasis role="bold">
- <property><rich:virtualEarth></property>
- </emphasis>attribute.</para>
- </section>
- <section>
- <title>Relevant Resources Links</title>
- <para>
- <ulink
url="http://msdn2.microsoft.com/en-us/library/bb429619.aspx">...
you can found
- additional information about Microsoft <property>Virtual Earth
map</property>.</para>
- </section>
+ <section>
+ <title>Definition of Custom Style Classes</title>
+ <table>
+ <title>
+ Classes names that define a component appearance
+ </title>
+ <tgroup cols="2">
+ <thead>
+ <row>
+ <entry>Class name</entry>
+ <entry>Description</entry>
+ </row>
+ </thead>
+ <tbody>
+ <row>
+ <entry>rich-virtualEarth</entry>
+ <entry>
+ Defines styles for a wrapper <div>
+ element of a component
+ </entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </table>
+ <para>
+ In order to redefine styles for all
+ <emphasis role="bold">
+ <property><rich:virtualEarth></property>
+ </emphasis>
+ components on a page using CSS, it's enough to create
+ class with the same name and define necessary properties in
+ it.
+ </para>
+
+ <para>
+ To change styles of particular
+ <emphasis role="bold">
+ <property><rich:virtualEarth></property>
+ </emphasis>
+ components, define your own style class in the corresponding
+ <emphasis role="bold">
+ <property><rich:virtualEarth></property>
+ </emphasis>
+ attribute.
+ </para>
+ </section>
+ <section>
+ <title>Relevant Resources Links</title>
+ <para>
+ <ulink
+
url="http://msdn2.microsoft.com/en-us/library/bb429619.aspx">
+ Here
+ </ulink>
+ you can found additional information about Microsoft
+ <property>Virtual Earth map</property>
+ .
+ </para>
+ </section>
+
</section>
Modified: trunk/docs/userguide/en/src/main/docbook/modules/AUGWADParams.xml
===================================================================
--- trunk/docs/userguide/en/src/main/docbook/modules/AUGWADParams.xml 2008-06-10 09:24:42
UTC (rev 8966)
+++ trunk/docs/userguide/en/src/main/docbook/modules/AUGWADParams.xml 2008-06-10 09:27:24
UTC (rev 8967)
@@ -33,7 +33,7 @@
<entry>Is a name of a skin used in an application. It can be a literal
string with a
skin name, or the <emphasis>
<property>EL</property>
- </emphasis> expression (#{...}) pointed to a <emphasis>
+ </emphasis> expression (<code>#{...}</code>) pointed to a
<emphasis>
<property>String</property>
</emphasis> property (skin name) or a property of a
org.richfaces.framework.skin type.
Skin in last case, this instance is used as a current skin</entry>
@@ -154,7 +154,7 @@
<note>
<title>Note:</title>
- <para>org.richfaces.SKIN is used in the same way as
org.ajax4jsf.SKIN</para>
+ <para><code>org.richfaces.SKIN</code> is used in the same way as
<code>org.ajax4jsf.SKIN</code></para>
</note>
<para>
Modified: trunk/docs/userguide/en/src/main/docbook/modules/RFCSettings.xml
===================================================================
--- trunk/docs/userguide/en/src/main/docbook/modules/RFCSettings.xml 2008-06-10 09:24:42
UTC (rev 8966)
+++ trunk/docs/userguide/en/src/main/docbook/modules/RFCSettings.xml 2008-06-10 09:27:24
UTC (rev 8967)
@@ -1,97 +1,167 @@
<?xml version='1.0' encoding='UTF-8'?>
-<chapter id="SettingsForDifferentEnvironments"
xreflabel="SettingsForDifferentEnvironments">
- <?dbhtml filename="SettingsForDifferentEnvironments.html"?>
- <chapterinfo>
- <keywordset>
- <keyword>MyFaces</keyword>
+<chapter id="SettingsForDifferentEnvironments"
+ xreflabel="SettingsForDifferentEnvironments">
+ <?dbhtml filename="SettingsForDifferentEnvironments.html"?>
+ <chapterinfo>
+ <keywordset>
+ <keyword>MyFaces</keyword>
- <keyword>JSF</keyword>
+ <keyword>JSF</keyword>
- <keyword>RichFaces</keyword>
+ <keyword>RichFaces</keyword>
- </keywordset>
- </chapterinfo>
-
- <title>Settings for different environments</title>
- <para>RichFaces comes with support for all tags (components) included in the
JavaServer Faces
- specification. To add RichFaces capabilities to the existing JSF project you should
just put the
- RichFaces libraries into the lib folder of the project and add filter mapping. The
behavior of
- the existing project doesn't change just because of RichFaces.</para>
- &wadParams;
- <section id="SunJSFRI">
- <?dbhtml filename="SunJSFRI.html"?>
- <title>Sun JSF RI</title>
- <para>RichFaces works with implementation of
<property>JSF</property> (JSF
- 1.2) and with most <property>JSF</property> component libraries without
any additional
- settings. For more information look at:</para>
+ </keywordset>
+ </chapterinfo>
- <simplelist>
- <member>
- <ulink
url="http://java.sun.com/javaee/javaserverfaces/">java.sun.c...
- </member>
- </simplelist>
+ <title>Settings for different environments</title>
+ <para>
+ RichFaces comes with support for all tags (components) included
+ in the JavaServer Faces specification. To add RichFaces
+ capabilities to the existing JSF project you should just put the
+ RichFaces libraries into the lib folder of the project and add
+ filter mapping. The behavior of the existing project
+ doesn't change just because of RichFaces.
+ </para>
+ &wadParams;
+ <section id="SunJSFRI">
+ <?dbhtml filename="SunJSFRI.html"?>
+ <title>Sun JSF RI</title>
+ <para>
+ RichFaces works with implementation of
+ <property>JSF</property>
+ (JSF 1.2) and with most
+ <property>JSF</property>
+ component libraries without any additional settings. For
+ more information look at:
+ </para>
- </section>
- <section id="ApacheMyFaces">
- <?dbhtml filename="ApacheMyFaces.html"?>
- <title>Apache MyFaces</title>
- <para>RichFaces works with <property>Apache MyFaces</property> 1.2
version
- including specific libraries like TOMAHAWK Sandbox and Trinidad (the previous ADF
Faces).
- However, there are some considerations to take into account for configuring
applications to
- work with <property>MyFaces</property> and RichFaces.</para>
- <para>There are some problems with different filters defined in the web.xml
file clashing. To
- avoid these problems, the RichFaces filter must be the first one among other
filters in the
- web.xml configuration file.</para>
- <para>For more information look at:<ulink
url="http://myfaces.apache.org"
- >http://myfaces.apache.org</ulink></para>
- <para> There's one more problem while using <property>MyFaces +
Seam</property>. If you
- use this combination you should use <emphasis role="bold">
- <property><a4j:page></property>
- </emphasis> inside<emphasis role="bold">
- <property><f:view></property>
- </emphasis>(right after it in your code) wrapping another content inside your
pages because of
- some problems in realization of <emphasis role="bold">
- <property><f:view></property>
- </emphasis> in myFaces. </para>
- <para>The problem is to be overcome in the nearest future.</para>
- </section>
- <section id="FaceletsSupport">
- <?dbhtml filename="FaceletsSupport.html"?>
- <title>Facelets Support</title>
- <para>A high-level support for <property>Facelets</property> is one
of our main support
- features. When working with RichFaces, there is no difference what release of
- <property>Facelets</property> is used. </para>
- <para>You should also take into account that some JSF frameworks such as
- <property>Facelets</property> use their own ViewHandler and need to
have it first in the chain
- of ViewHandlers and the RichFaces AjaxViewHandler is not an exception. At first
RichFaces
- installs its ViewHandler in any case, so in case of two frameworks, for example
RichFaces +
- Facelets, no changes in settings are required. Although, when more then one
framework (except
- RichFaces) is used, it's possible to use the VIEW_HANDLERS parameter defining
these frameworks
- view handlers according to its usage order in it. For example, the
declaration:</para>
+ <simplelist>
+ <member>
+ <ulink
+
url="http://java.sun.com/javaee/javaserverfaces/">
+
java.sun.com
+ </ulink>
+ </member>
+ </simplelist>
- <para>
- <emphasis role="bold">Example:</emphasis>
- </para>
- <programlisting role="XML"> <context-param>
- <param-name>org.ajax4jsf.VIEW_HANDLERS</param-name>
-
<param-value>com.sun.facelets.FaceletViewHandler</param-value>
- </context-param></programlisting>
- <para>says that <property>Facelets</property> will officially be
the first, however
- AjaxViewHandler will be a little ahead temporarily to do some small, but very
important job. </para>
- <note>
- <title>Note:</title>
- <para>In this case you don't have to define
<property>FaceletViewHandler</property>
- in the WEB-INF/faces-config.xml.</para>
- </note>
- </section>
- <section id="JBossSeamSupport">
- <?dbhtml filename="JBossSeamSupport.html"?>
- <title>JBoss Seam Support</title>
- <para>RichFaces now works out-of-the-box with <property>JBoss Seam
</property>and Facelets
- running inside JBoss AS 4.0.4 and higher. There is no more shared JAR files needed.
You just
- have to package the RichFaces library with your application. </para>
- <para> Your web.xml for <property>Seam 1.2</property> must be like
this: </para>
- <programlisting role="XML"><![CDATA[<?xml
version="1.0" ?>
+ </section>
+ <section id="ApacheMyFaces">
+ <?dbhtml filename="ApacheMyFaces.html"?>
+ <title>Apache MyFaces</title>
+ <para>
+ RichFaces works with
+ <property>Apache MyFaces</property>
+ 1.2 version including specific libraries like TOMAHAWK
+ Sandbox and Trinidad (the previous ADF Faces). However,
+ there are some considerations to take into account for
+ configuring applications to work with
+ <property>MyFaces</property>
+ and RichFaces.
+ </para>
+ <para>
+ There are some problems with different filters defined in
+ the web.xml file clashing. To avoid these problems, the
+ RichFaces filter must be the first one among other filters
+ in the web.xml configuration file.
+ </para>
+ <para>
+ For more information look at:
+ <ulink url="http://myfaces.apache.org">
+
http://myfaces.apache.org
+ </ulink>
+ </para>
+ <para>
+ There's one more problem while using
+ <property>MyFaces + Seam</property>
+ . If you use this combination you should use
+ <emphasis role="bold">
+ <property><a4j:page></property>
+ </emphasis>
+ inside
+ <emphasis role="bold">
+ <property><f:view></property>
+ </emphasis>
+ (right after it in your code) wrapping another content
+ inside your pages because of some problems in realization of
+ <emphasis role="bold">
+ <property><f:view></property>
+ </emphasis>
+ in myFaces.
+ </para>
+ <para>
+ The problem is to be overcome in the nearest future.
+ </para>
+ </section>
+ <section id="FaceletsSupport">
+ <?dbhtml filename="FaceletsSupport.html"?>
+ <title>Facelets Support</title>
+ <para>
+ A high-level support for
+ <property>Facelets</property>
+ is one of our main support features. When working with
+ RichFaces, there is no difference what release of
+ <property>Facelets</property>
+ is used.
+ </para>
+ <para>
+ You should also take into account that some JSF frameworks
+ such as
+ <property>Facelets</property>
+ use their own
+ <code>ViewHandler</code>
+ and need to have it first in the chain of ViewHandlers and
+ the RichFaces AjaxViewHandler is not an exception. At first
+ RichFaces installs its ViewHandler in any case, so in case
+ of two frameworks, for example RichFaces + Facelets, no
+ changes in settings are required. Although, when more then
+ one framework (except RichFaces) is used, it's possible to
+ use the
+ <code>VIEW_HANDLERS</code>
+ parameter defining these frameworks view handlers according
+ to its usage order in it. For example, the declaration:
+ </para>
+
+ <para>
+ <emphasis role="bold">Example:</emphasis>
+ </para>
+ <programlisting role="XML">
+ <context-param>
+ <param-name>org.ajax4jsf.VIEW_HANDLERS</param-name>
+ <param-value>com.sun.facelets.FaceletViewHandler</param-value>
+ </context-param>
+ </programlisting>
+ <para>
+ says that
+ <property>Facelets</property>
+ will officially be the first, however <code>AjaxViewHandler</code> will
+ be a little ahead temporarily to do some small, but very
+ important job.
+ </para>
+ <note>
+ <title>Note:</title>
+ <para>
+ In this case you don't have to define
+ <code>FaceletViewHandler</code>
+ in the WEB-INF/faces-config.xml.
+ </para>
+ </note>
+ </section>
+ <section id="JBossSeamSupport">
+ <?dbhtml filename="JBossSeamSupport.html"?>
+ <title>JBoss Seam Support</title>
+ <para>
+ RichFaces now works out-of-the-box with
+ <property>JBoss Seam</property>
+ and Facelets running inside JBoss AS 4.0.4 and higher. There
+ is no more shared JAR files needed. You just have to package
+ the RichFaces library with your application.
+ </para>
+ <para>
+ Your web.xml for
+ <property>Seam 1.2</property>
+ must be like this:
+ </para>
+ <programlisting role="XML"><![CDATA[<?xml version="1.0"
?>
<web-app
xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
@@ -171,9 +241,13 @@
</servlet-mapping>
</web-app>]]></programlisting>
- <para> <property>Seam 2</property> supports RichFaces Filter. Thus
your web.xml for Seam 2 must be like this:</para>
-
- <programlisting role="XML"><![CDATA[<?xml
version="1.0" encoding="UTF-8"?>
+ <para>
+ <property>Seam 2</property>
+ supports RichFaces Filter. Thus your web.xml for Seam 2 must
+ be like this:
+ </para>
+
+ <programlisting role="XML"><![CDATA[<?xml version="1.0"
encoding="UTF-8"?>
<web-app version="2.5"
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
@@ -234,24 +308,33 @@
</servlet-mapping>
</web-app>]]></programlisting>
-
- <para>Only one issue still persists while using
<property>Seam</property> with MyFaces. Look at
- myFaces part of this section.</para>
- </section>
- <section id="PortletSupport">
- <title>Portlet Support</title>
- <para><property>JBoss Portlets</property> have support since
version Ajax4jsf 1.1.1. This support is
- improved in Richfaces 3.2.1. Provide your feedback on compatible with RichFaces if
you face
- some problems.</para>
- </section>
- <section id="SybaseEAServer">
- <title>Sybase EAServer</title>
- <para>The load-on-startup for the Faces Servlet had to be set to 0 in
web.xml.</para>
- <para>
- <emphasis role="bold">Example:</emphasis>
- </para>
- <programlisting role="XML"><![CDATA[...
+ <para>
+ Only one issue still persists while using
+ <property>Seam</property>
+ with MyFaces. Look at myFaces part of this section.
+ </para>
+ </section>
+ <section id="PortletSupport">
+ <title>Portlet Support</title>
+ <para>
+ <property>JBoss Portlets</property>
+ have support since version Ajax4jsf 1.1.1. This support is
+ improved in Richfaces 3.2.1. Provide your feedback on
+ compatible with RichFaces if you face some problems.
+ </para>
+ </section>
+ <section id="SybaseEAServer">
+ <title>Sybase EAServer</title>
+ <para>
+ The load-on-startup for the Faces Servlet had to be set to 0
+ in web.xml.
+ </para>
+
+ <para>
+ <emphasis role="bold">Example:</emphasis>
+ </para>
+ <programlisting role="XML"><![CDATA[...
<servlet>
<servlet-name>Faces Servlet</servlet-name>
<servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
@@ -259,20 +342,30 @@
</servlet>
...
]]></programlisting>
- <para> This is because, EAServer calls servlet init() before the
ServletContextInitializer. Not
- an EAServer bug, this is in Servlet 2.3 spec.</para>
- </section>
- <section id="OracleAS_OC4J">
- <title>Oracle AS/OC4J</title>
- <para>In order to deploy your project with RichFaces components to an
<property>Oracle AS</property> you just have to
- prevent the application's class loader from importing the Oracle XML parser.
- Use the following notation in
<property>orion-application.xml</property>:</para>
- <programlisting role="XML"><![CDATA[...
+ <para>
+ This is because, EAServer calls servlet init() before the
+ ServletContextInitializer. Not an EAServer bug, this is in
+ Servlet 2.3 spec.
+ </para>
+ </section>
+ <section id="OracleAS_OC4J">
+ <title>Oracle AS/OC4J</title>
+ <para>
+ In order to deploy your project with RichFaces components to
+ an
+ <property>Oracle AS</property>
+ you just have to prevent the application's class loader
+ from importing the Oracle XML parser. Use the following
+ notation in
+ <property>orion-application.xml</property>
+ :
+ </para>
+ <programlisting role="XML"><![CDATA[...
<imported-shared-libraries>
<remove-inherited name="oracle.xml"/>
<remove-inherited name="oracle.xml.security"/>
</imported-shared-libraries>
...
]]></programlisting>
- </section>
+ </section>
</chapter>
Modified: trunk/docs/userguide/en/src/main/docbook/modules/RFCarchitectover.xml
===================================================================
--- trunk/docs/userguide/en/src/main/docbook/modules/RFCarchitectover.xml 2008-06-10
09:24:42 UTC (rev 8966)
+++ trunk/docs/userguide/en/src/main/docbook/modules/RFCarchitectover.xml 2008-06-10
09:27:24 UTC (rev 8967)
@@ -1,169 +1,268 @@
<?xml version="1.0" encoding="UTF-8"?>
<chapter id="ArchitectureOverview"
xreflabel="ArchitecturalOverview">
- <?dbhtml filename="ArchitectureOverview.html"?>
+ <?dbhtml filename="ArchitectureOverview.html"?>
- <chapterinfo>
- <keywordset>
- <keyword>RichFaces</keyword>
+ <chapterinfo>
+ <keywordset>
+ <keyword>RichFaces</keyword>
- <keyword>CSS</keyword>
+ <keyword>CSS</keyword>
- <keyword>skin</keyword>
- </keywordset>
- </chapterinfo>
- <title>Basic concepts of the RichFaces Framework</title>
- <section id="introToBasics">
- <?dbhtml filename="introToBasics.html"?>
- <title>Introduction</title>
- <para>The framework is implemented as a component library which adds Ajax
capability into
- existing pages, so you don't need to write any JavaScript code or to
replace existing
- components with new Ajax widgets. <property>RichFaces</property>
enables page-wide Ajax
- support instead of the traditional component-wide support. Hence, you can define
the event on
- the page that invokes an Ajax request and the areas of the page that should be
synchronized
- with the JSF Component Tree after the Ajax request changes the data on the server
according to
- the events fired on the client.</para>
- <para>Next Figure shows how it works:</para>
- <figure>
- <title>Request Processing flow</title>
-
- <mediaobject>
- <imageobject>
- <imagedata fileref="images/newpic1.png" scalefit="1"/>
- </imageobject>
- </mediaobject>
- </figure>
- <para><property>RichFaces</property> allows to define (by means of
JSF tags) different parts of
- a JSF page you wish to update with an Ajax request and provide a few options to
send Ajax
- requests to the server. Also JSF page doesn't change from a
- "regular" JSF page and you don't need to write any
JavaScript or
- XMLHttpRequest objects by hands, everything is done automatically.</para>
- </section>
- <section id="RichFacesArchitectureOverview">
- <?dbhtml filename="RichFacesArchitectureOverview.html"?>
- <title>RichFaces Architecture Overview</title>
- <para>Next figure lists several important elements of the
<property>RichFaces</property>
- framework</para>
- <figure>
- <title>Core Ajax component structure</title>
-
- <mediaobject>
- <imageobject>
- <imagedata fileref="images/newpic2.png"/>
- </imageobject>
- </mediaobject>
- </figure>
- <formalpara>
- <title>Ajax Filter.</title>
- <para>To get all benefits of <property>RichFaces</property>, you
should register a Filter in
- web.xml file of your application. The Filter recognizes multiple request types.
Necessary
- information about Filter configuration can be found in the <link
- linkend="FilterConfiguration">"Filter
configuration"</link> section. The
- sequence diagram on Figure 3 shows the difference in processing of a
- "regular" JSF request and an Ajax request.</para>
- </formalpara>
- <para>In the first case the whole JSF tree will be encoded, in the second one
option it depends
- on the "size" of the Ajax region. As you can see, in the second
case the
- filter parses the content of an Ajax response before sending it to the client
side.</para>
- <para>Have a look at the next picture to understand these two
ways:</para>
- <figure>
- <title>Request Processing sequence diagram</title>
-
- <mediaobject>
- <imageobject>
- <imagedata fileref="images/newpic3.png" scalefit="1"/>
- </imageobject>
- </mediaobject>
- </figure>
- <para>In both cases, the information about required static or dynamic resources
that your
- application requests is registered in the ResourseBuilder class.</para>
- <para>When a request for a resource comes (Figure 4), the RichFaces filter
checks the Resource
- Cache for this resource and if it is there, the resource is sent to the client.
Otherwise, the
- filter searches for the resource among those that are registered by the
ResourceBuilder. If
- the resource is registered, the RichFaces filter will send a request to the
ResourceBuilder to
- create (deliver) the resource.</para>
- <para>Next Figure shows the ways of resource request processing.</para>
- <figure>
- <title>Resource request sequence diagram</title>
-
- <mediaobject>
- <imageobject>
- <imagedata fileref="images/newpic4.png" scalefit="1"/>
- </imageobject>
- </mediaobject>
- </figure>
- <formalpara>
- <title>AJAX Action Components</title>
- <para> There are Ajax Action Components: AjaxCommandButton, AjaxCommandLink,
AjaxPoll and
- AjaxSupport and etc. You can use them to send Ajax requests from the client side.
</para>
- </formalpara>
- <formalpara>
- <title>AJAX Containers</title>
- <para> AjaxContainer is an interface that describes an area on your JSF page
that should be
- decoded during an Ajax request. AjaxViewRoot and AjaxRegion are implementations
of this
- interface. </para>
- </formalpara>
- <formalpara>
- <title>JavaScript Engine</title>
- <para><property>RichFaces</property> JavaScript Engine runs on
the client-side. It knows how
- to update different areas on your JSF page based on the information from the Ajax
response.
- Do not use this JavaScript code directly, as it is available automatically.
</para>
- </formalpara>
- </section>
- <section id="LimitationsAndRules">
- <?dbhtml filename="LimitationAndRules.html"?>
- <title>Limitations and Rules</title>
- <para>In order to create RichFaces applications properly, keep the following
points in mind:</para>
- <itemizedlist>
- <listitem><para> Any Ajax framework should not append or delete, but
only replace elements on the
- page. For successful updates, an element with the same ID as in the response must
exist on
- the page. If you'd like to append any code to a page, put in a
placeholder for it
- (any empty element). For the same reason, it's recommended to place
messages in the<emphasis>
- <property>"AjaxOutput"</property>
- </emphasis> component (as no messages is also a message).
</para></listitem>
- <listitem><para> Don't use <emphasis
role="bold">
- <property><f:verbatim></property>
- </emphasis> for self-rendered containers, since this component is transient
and not saved in
- the tree. </para></listitem>
- <listitem><para> Ajax requests are made by XMLHttpRequest functions in
XML format, but this XML
- bypasses most validations and the corrections that might be made in a browser.
Thus, create
- only a strict standards-compliant code for HTML and XHTML, without skipping any
required
- elements or attributes. Any necessary XML corrections are automatically made by
the XML
- filter on the server, but lot's of unexpected effects can be produced by
an
- incorrect HTML code. </para></listitem>
- </itemizedlist>
- </section>
+ <keyword>skin</keyword>
+ </keywordset>
+ </chapterinfo>
+ <title>Basic concepts of the RichFaces Framework</title>
+ <section id="introToBasics">
+ <?dbhtml filename="introToBasics.html"?>
+ <title>Introduction</title>
+ <para>
+ The framework is implemented as a component library which
+ adds Ajax capability into existing pages, so you don't
+ need to write any JavaScript code or to replace existing
+ components with new Ajax widgets.
+ <property>RichFaces</property>
+ enables page-wide Ajax support instead of the traditional
+ component-wide support. Hence, you can define the event on
+ the page that invokes an Ajax request and the areas of the
+ page that should be synchronized with the JSF Component Tree
+ after the Ajax request changes the data on the server
+ according to the events fired on the client.
+ </para>
+ <para>Next Figure shows how it works:</para>
+ <figure>
+ <title>Request Processing flow</title>
- <section id="AjaxRequestOptimization">
- <?dbhtml filename="AjaxRequestOptimization.html"?>
- <title>Ajax Request Optimization</title>
- <section id="Re-Rendering">
- <?dbhtml filename="Re-Rendering.html"?>
- <title>Re-Rendering</title>
- <para>Ajax attributes are common for Ajax components such as <emphasis
role="bold">
- <property><a4j:support></property>
- </emphasis>, <emphasis role="bold">
- <property><a4j:commandButton></property>
- </emphasis>, <emphasis role="bold">
- <property><a4j:jsFunction></property>
- </emphasis>, <emphasis role="bold">
- <property><a4j:poll></property>
- </emphasis>, <emphasis role="bold">
- <property><a4j:push></property>
- </emphasis> and so on. Also, most RichFaces components with built-in Ajax
support have these
- attributes for a similar purpose. Ajax components attributes help RichFaces to
expose its
- features. Most of the attributes have default values. Thus, you can start working
with
- RichFaces without knowing the usage of these attribute. However, their usage
allows to tune
- the required Ajax behavior very smoothly.</para>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/newpic1.png"
+ scalefit="1" />
+ </imageobject>
+ </mediaobject>
+ </figure>
+ <para>
+ <property>RichFaces</property>
+ allows to define (by means of JSF tags) different parts of a
+ JSF page you wish to update with an Ajax request and provide
+ a few options to send Ajax requests to the server. Also JSF
+ page doesn't change from a "regular" JSF page
+ and you don't need to write any JavaScript or
+ XMLHttpRequest objects by hands, everything is done
+ automatically.
+ </para>
+ </section>
+ <section id="RichFacesArchitectureOverview">
+ <?dbhtml filename="RichFacesArchitectureOverview.html"?>
+ <title>RichFaces Architecture Overview</title>
+ <para>
+ Next figure lists several important elements of the
+ <property>RichFaces</property>
+ framework
+ </para>
+ <figure>
+ <title>Core Ajax component structure</title>
- <para><emphasis>
- <property>"reRender"</property>
- </emphasis> is a key attribute. The attribute allows to point to area(s) on
a page that
- should be updated as a response on Ajax interaction. The value of the
<emphasis>
- <property>"reRender"</property>
- </emphasis> attribute is an id of the JSF component or an id list.
</para>
- <para>A simple example is placed below:</para>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/newpic2.png" />
+ </imageobject>
+ </mediaobject>
+ </figure>
+ <formalpara>
+ <title>Ajax Filter.</title>
+ <para>
+ To get all benefits of
+ <property>RichFaces</property>
+ , you should register a Filter in web.xml file of your
+ application. The Filter recognizes multiple request
+ types. Necessary information about Filter configuration
+ can be found in the
+ <link linkend="FilterConfiguration">
+ "Filter configuration"
+ </link>
+ section. The sequence diagram on Figure 3 shows the
+ difference in processing of a "regular" JSF
+ request and an Ajax request.
+ </para>
+ </formalpara>
+ <para>
+ In the first case the whole JSF tree will be encoded, in the
+ second one option it depends on the "size" of the
+ Ajax region. As you can see, in the second case the filter
+ parses the content of an Ajax response before sending it to
+ the client side.
+ </para>
+ <para>
+ Have a look at the next picture to understand these two
+ ways:
+ </para>
+ <figure>
+ <title>Request Processing sequence diagram</title>
- <programlisting role="XML"><![CDATA[...
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/newpic3.png"
+ scalefit="1" />
+ </imageobject>
+ </mediaobject>
+ </figure>
+ <para>
+ In both cases, the information about required static or
+ dynamic resources that your application requests is
+ registered in the ResourseBuilder class.
+ </para>
+ <para>
+ When a request for a resource comes (Figure 4), the
+ RichFaces filter checks the Resource Cache for this resource
+ and if it is there, the resource is sent to the client.
+ Otherwise, the filter searches for the resource among those
+ that are registered by the ResourceBuilder. If the resource
+ is registered, the RichFaces filter will send a request to
+ the ResourceBuilder to create (deliver) the resource.
+ </para>
+ <para>
+ Next Figure shows the ways of resource request processing.
+ </para>
+ <figure>
+ <title>Resource request sequence diagram</title>
+
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/newpic4.png"
+ scalefit="1" />
+ </imageobject>
+ </mediaobject>
+ </figure>
+ <formalpara>
+ <title>AJAX Action Components</title>
+ <para>
+ There are Ajax Action Components: AjaxCommandButton,
+ AjaxCommandLink, AjaxPoll and AjaxSupport and etc. You
+ can use them to send Ajax requests from the client side.
+ </para>
+ </formalpara>
+ <formalpara>
+ <title>AJAX Containers</title>
+ <para>
+ AjaxContainer is an interface that describes an area on
+ your JSF page that should be decoded during an Ajax
+ request. AjaxViewRoot and AjaxRegion are implementations
+ of this interface.
+ </para>
+ </formalpara>
+ <formalpara>
+ <title>JavaScript Engine</title>
+ <para>
+ <property>RichFaces</property>
+ JavaScript Engine runs on the client-side. It knows how
+ to update different areas on your JSF page based on the
+ information from the Ajax response. Do not use this
+ JavaScript code directly, as it is available
+ automatically.
+ </para>
+ </formalpara>
+ </section>
+ <section id="LimitationsAndRules">
+ <?dbhtml filename="LimitationAndRules.html"?>
+ <title>Limitations and Rules</title>
+ <para>
+ In order to create RichFaces applications properly, keep the
+ following points in mind:
+ </para>
+ <itemizedlist>
+ <listitem>
+ <para>
+ Any Ajax framework should not append or delete, but
+ only replace elements on the page. For successful
+ updates, an element with the same ID as in the
+ response must exist on the page. If you'd like
+ to append any code to a page, put in a placeholder
+ for it (any empty element). For the same reason,
+ it's recommended to place messages in the
+ <emphasis>
+ <property>"AjaxOutput"</property>
+ </emphasis>
+ component (as no messages is also a message).
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Don't use
+ <emphasis role="bold">
+ <property><f:verbatim></property>
+ </emphasis>
+ for self-rendered containers, since this component
+ is transient and not saved in the tree.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Ajax requests are made by XMLHttpRequest functions
+ in XML format, but this XML bypasses most
+ validations and the corrections that might be made
+ in a browser. Thus, create only a strict
+ standards-compliant code for HTML and XHTML, without
+ skipping any required elements or attributes. Any
+ necessary XML corrections are automatically made by
+ the XML filter on the server, but lot's of
+ unexpected effects can be produced by an incorrect
+ HTML code.
+ </para>
+ </listitem>
+ </itemizedlist>
+ </section>
+
+ <section id="AjaxRequestOptimization">
+ <?dbhtml filename="AjaxRequestOptimization.html"?>
+ <title>Ajax Request Optimization</title>
+ <section id="Re-Rendering">
+ <?dbhtml filename="Re-Rendering.html"?>
+ <title>Re-Rendering</title>
+ <para>
+ Ajax attributes are common for Ajax components such as
+ <emphasis role="bold">
+ <property><a4j:support></property>
+ </emphasis>
+ ,
+ <emphasis role="bold">
+ <property><a4j:commandButton></property>
+ </emphasis>
+ ,
+ <emphasis role="bold">
+ <property><a4j:jsFunction></property>
+ </emphasis>
+ ,
+ <emphasis role="bold">
+ <property><a4j:poll></property>
+ </emphasis>
+ ,
+ <emphasis role="bold">
+ <property><a4j:push></property>
+ </emphasis>
+ and so on. Also, most RichFaces components with built-in
+ Ajax support have these attributes for a similar
+ purpose. Ajax components attributes help RichFaces to
+ expose its features. Most of the attributes have default
+ values. Thus, you can start working with RichFaces
+ without knowing the usage of these attribute. However,
+ their usage allows to tune the required Ajax behavior
+ very smoothly.
+ </para>
+
+ <para>
+ <emphasis>
+ <property>"reRender"</property>
+ </emphasis>
+ is a key attribute. The attribute allows to point to
+ area(s) on a page that should be updated as a response
+ on Ajax interaction. The value of the
+ <emphasis>
+ <property>"reRender"</property>
+ </emphasis>
+ attribute is an id of the JSF component or an id list.
+ </para>
+ <para>A simple example is placed below:</para>
+
+ <programlisting role="XML"><![CDATA[...
<a4j:commandButton value="update"
reRender="infoBlock"/>
...
<h:panelGrid id="infoBlock">
@@ -172,31 +271,54 @@
...
]]></programlisting>
- <para>The value of <emphasis>
- <property>"reRender"</property>
- </emphasis> attribute of the <emphasis role="bold">
- <property><a4j:commandButton></property>
- </emphasis> tag defines which part(s) of your page is (are) to be updated.
In this case, the
- only part of the page to update is the <emphasis role="bold">
- <property><h:panelGrid></property>
- </emphasis> tag because its ID value matches to the value of
<emphasis>
- <property>"reRender"</property>
- </emphasis> attribute. As you see, it's not difficult to update
multiple elements
- on the page, only list their IDs as the value of <emphasis>
- <property>"reRender"</property>
- </emphasis>.</para>
+ <para>
+ The value of
+ <emphasis>
+ <property>"reRender"</property>
+ </emphasis>
+ attribute of the
+ <emphasis role="bold">
+ <property><a4j:commandButton></property>
+ </emphasis>
+ tag defines which part(s) of your page is (are) to be
+ updated. In this case, the only part of the page to
+ update is the
+ <emphasis role="bold">
+ <property><h:panelGrid></property>
+ </emphasis>
+ tag because its ID value matches to the value of
+ <emphasis>
+ <property>"reRender"</property>
+ </emphasis>
+ attribute. As you see, it's not difficult to update
+ multiple elements on the page, only list their IDs as
+ the value of
+ <emphasis>
+ <property>"reRender"</property>
+ </emphasis>
+ .
+ </para>
- <para><emphasis>
- <property>"reRender"</property>
- </emphasis> uses <ulink
-
url="http://java.sun.com/javaee/javaserverfaces/1.2_MR1/docs/api/jav...
- >UIComponent.findComponent() algorithm</ulink> (with some additional
exceptions) to find
- the component in the component tree. As can you see, the algorithm presumes
several steps.
- Each other step is used if the previous step is not successful. Therefore, you
can define
- how fast the component is found mentioning it more precisely. The following
example shows
- the difference in approaches (both buttons will work successfully):</para>
+ <para>
+ <emphasis>
+ <property>"reRender"</property>
+ </emphasis>
+ uses
+ <ulink
+
url="http://java.sun.com/javaee/javaserverfaces/1.2_MR1/docs/api/jav...
+ UIComponent.findComponent() algorithm
+ </ulink>
+ (with some additional exceptions) to find the component
+ in the component tree. As can you see, the algorithm
+ presumes several steps. Each other step is used if the
+ previous step is not successful. Therefore, you can
+ define how fast the component is found mentioning it
+ more precisely. The following example shows the
+ difference in approaches (both buttons will work
+ successfully):
+ </para>
- <programlisting role="XML"><![CDATA[...
+ <programlisting role="XML"><![CDATA[...
<h:form id="form1">
...
<a4j: commandButton value="Usual Way" reRender="infoBlock,
infoBlock2" />
@@ -216,57 +338,94 @@
...
]]></programlisting>
- <para>It's also possible to use JSF EL expression as a value of the
reRender
- attribute. It might be a property of types Set, Collection, Array or simple
String. The EL
- for reRender is resolved right before the Render Response phase. Hence, you can
calculate
- what should be re-rendered on any previous phase during the Ajax request
processing.</para>
+ <para>
+ It's also possible to use JSF EL expression as a
+ value of the reRender attribute. It might be a property
+ of types Set, Collection, Array or simple String. The EL
+ for reRender is resolved right before the Render
+ Response phase. Hence, you can calculate what should be
+ re-rendered on any previous phase during the Ajax
+ request processing.
+ </para>
- <para>Most common problem with using reRender is pointing it to the component
that has a <emphasis>
- <property>"rendered"</property>
- </emphasis> attribute. Note, that JSF does not mark the place in the
browser DOM where the
- outcome of the component should be placed in case the <emphasis>
- <property>"rendered"</property>
- </emphasis> condition returns false. Therefore, after the component becomes
rendered during
- the Ajax request, RichFaces delivers the rendered code to the client, but does
not update a
- page, because the place for update is unknown. You need to point to one of the
parent
- components that has no <emphasis>
- <property>"rendered"</property>
- </emphasis> attribute. As an alternative, you can wrap the component with
<emphasis
- role="bold">
- <property><a4j:outputPanel></property>
- </emphasis>
layout=<property>"none"</property>.</para>
+ <para>
+ Most common problem with using reRender is pointing it
+ to the component that has a
+ <emphasis>
+ <property>"rendered"</property>
+ </emphasis>
+ attribute. Note, that JSF does not mark the place in the
+ browser DOM where the outcome of the component should be
+ placed in case the
+ <emphasis>
+ <property>"rendered"</property>
+ </emphasis>
+ condition returns false. Therefore, after the component
+ becomes rendered during the Ajax request, RichFaces
+ delivers the rendered code to the client, but does not
+ update a page, because the place for update is unknown.
+ You need to point to one of the parent components that
+ has no
+ <emphasis>
+ <property>"rendered"</property>
+ </emphasis>
+ attribute. As an alternative, you can wrap the component
+ with
+ <emphasis role="bold">
+ <property><a4j:outputPanel></property>
+ </emphasis>
+ <code>layout="none"</code>
+ .
+ </para>
- <para><emphasis>
- <property>"ajaxRendered" </property>
- </emphasis> attribute of the <emphasis role="bold">
- <property><a4j:outputPanel></property>
- </emphasis> set to
<property>"true"</property> allows to define the area
- of the page that will be re-rendered even if it is not pointed in the reRender
attribute
- explicitly. It might be useful if you have an area on a page that should be
updated as a
- response on any Ajax request. For example, the following code allows to output
error
- messages regardless of what Ajax request causes the Validation phase failed.
</para>
- <programlisting role="XML"><![CDATA[...
+ <para>
+ <emphasis>
+ <property>"ajaxRendered"</property>
+ </emphasis>
+ attribute of the
+ <emphasis role="bold">
+ <property><a4j:outputPanel></property>
+ </emphasis>
+ set to
+ <property>"true"</property>
+ allows to define the area of the page that will be
+ re-rendered even if it is not pointed in the reRender
+ attribute explicitly. It might be useful if you have an
+ area on a page that should be updated as a response on
+ any Ajax request. For example, the following code allows
+ to output error messages regardless of what Ajax request
+ causes the Validation phase failed.
+ </para>
+ <programlisting role="XML"><![CDATA[...
<a4j:outputPanel ajaxRendered="true">
<h:messages />
</a4j:outputPanel>
...
]]></programlisting>
- <para><emphasis>
- <property>"limitToList"</property>
- </emphasis> attribute allows to dismiss the behavior of the <emphasis
role="bold">
- <property><a4j:outputPanel></property>
- </emphasis>
- <emphasis>
- <property>"ajaxRendered" </property>
- </emphasis> attribute. "limitToList" =
- <property>"false"</property> means to update only
the area(s) that
- mentioned in the
<emphasis><property>"reRender"</property></emphasis>
attribute explicitly.
- All output panels with
-
"ajaxRendered"=<property>"true"</property>is
ignored. An
- example is placed below:</para>
+ <para>
+ <emphasis>
+ <property>"limitToList"</property>
+ </emphasis>
+ attribute allows to dismiss the behavior of the
+ <emphasis role="bold">
+ <property><a4j:outputPanel></property>
+ </emphasis>
+ <emphasis>
+ <property>"ajaxRendered"</property>
+ </emphasis>
+ attribute.
+ <code>limitToList = "false"</code>
+ means to update only the area(s) that mentioned in the
+ <emphasis>
+ <property>"reRender"</property>
+ </emphasis>
+ attribute explicitly. All output panels with
+ <code>ajaxRendered="true"</code>
+ is ignored. An example is placed below:
+ </para>
- <programlisting role="XML"><![CDATA[...
+ <programlisting role="XML"><![CDATA[...
<h:form>
<h:inputText value="#{person.name}">
<a4j:support event="onkeyup" reRender="test"
limitToList="true"/>
@@ -276,95 +435,161 @@
...
]]></programlisting>
- </section>
+ </section>
- <section id="QueueandTrafficFloodProtection">
- <?dbhtml filename="QueueandTrafficFloodProtection.html"?>
- <title>Queue and Traffic Flood Protection</title>
- <para><emphasis>
- <property>"eventsQueue"</property>
- </emphasis> attribute defines the name of the queue that will be used to
order upcoming Ajax
- requests. By default, RichFaces does not queue Ajax requests. If events are
produced
- simultaneously, they will come to the server simultaneously. JSF implementations
- (especially, the very first ones) does not guaranty that the request that comes
first will
- be served or passed into the JSF lifecycle first. The order how the server side
data will be
- modified in case of simultaneous request might be unpredictable. Usage of
eventsQueue
- attribute allows to avoid possible mess. Define the queue name explicitly, if you
expect
- intensive Ajax traffic in your application.</para>
- <para>The next request posted in the same queue will wait until the previos
one is not
- processed and Ajax Response is returned back if the <emphasis>
- <property>"eventsQueue"</property>
- </emphasis> attribute is defined. In addition, Richfaces starts to remove
from the queue
- "similar" requests. "Similar'"requests
are the requests
- produced by the same event. For example, according to the following code, only
the newest
- request will be sent to the server if you type very fast and has typed the
several
- characters already before the previous Ajax Response is back.</para>
+ <section id="QueueandTrafficFloodProtection">
+ <?dbhtml filename="QueueandTrafficFloodProtection.html"?>
+ <title>Queue and Traffic Flood Protection</title>
+ <para>
+ <emphasis>
+ <property>"eventsQueue"</property>
+ </emphasis>
+ attribute defines the name of the queue that will be
+ used to order upcoming Ajax requests. By default,
+ RichFaces does not queue Ajax requests. If events are
+ produced simultaneously, they will come to the server
+ simultaneously. JSF implementations (especially, the
+ very first ones) does not guaranty that the request that
+ comes first will be served or passed into the JSF
+ lifecycle first. The order how the server side data will
+ be modified in case of simultaneous request might be
+ unpredictable. Usage of eventsQueue attribute allows to
+ avoid possible mess. Define the queue name explicitly,
+ if you expect intensive Ajax traffic in your
+ application.
+ </para>
+ <para>
+ The next request posted in the same queue will wait
+ until the previos one is not processed and Ajax Response
+ is returned back if the
+ <emphasis>
+ <property>"eventsQueue"</property>
+ </emphasis>
+ attribute is defined. In addition, Richfaces starts to
+ remove from the queue "similar" requests.
+ "Similar'"requests are the requests produced
+ by the same event. For example, according to the
+ following code, only the newest request will be sent to
+ the server if you type very fast and has typed the
+ several characters already before the previous Ajax
+ Response is back.
+ </para>
- <programlisting role="XML"><![CDATA[...
+ <programlisting role="XML"><![CDATA[...
<h:inputText value="#{userBean.name}">
<a4j:support event="onkeyup" eventsQueue="foo"
reRender="bar" />
</h:inputText>
...
]]></programlisting>
- <para><emphasis>
- <property>"requestDelay"</property>
- </emphasis> attribute defines the time (in ms) that the request will be
wait in the queue
- before it is ready to send. When the delay time is over, the request will be sent
to the
- server or removed if the newest "similar" request is in a queue
already .</para>
- <para><emphasis>
- <property>"ignoreDupResponses"</property>
- </emphasis> attribute orders to ignore the Ajax Response produced by the
request if the
- newest "similar" request is in a queue already.
-
"ignoreDupResponses"=<property>"true"</property>
does
- not cancel the request while it is processed on the server, but just allows to
avoid
- unnecessary updates on the client side if the response loses the
actuality.</para>
- <para>Defining the <emphasis>
- <property>"eventsQueue"</property>
- </emphasis> along with <emphasis>
- <property>"requestDelay"</property>
- </emphasis> allows to protect against unnecessary traffic flood and
synchronizes Ajax
- requests order. If you have several sources of Ajax requests, you can define the
same queue
- name there. This might be very helpful if you have Ajax components that invoke
request
- asynchronously from the ones produced by events from users. For example,
<emphasis
- role="bold">
- <property><a4j:poll></property>
- </emphasis> or <emphasis role="bold">
- <property><a4j:push></property>
- </emphasis>. In case the requests from such components modify the same
data, the
- synchronization might be very helpful.</para>
+ <para>
+ <emphasis>
+ <property>"requestDelay"</property>
+ </emphasis>
+ attribute defines the time (in ms) that the request will
+ be wait in the queue before it is ready to send. When
+ the delay time is over, the request will be sent to the
+ server or removed if the newest "similar"
+ request is in a queue already .
+ </para>
+ <para>
+ <emphasis>
+ <property>"ignoreDupResponses"</property>
+ </emphasis>
+ attribute orders to ignore the Ajax Response produced by
+ the request if the newest "similar" request is
+ in a queue already.
+ <code>ignoreDupResponses"="true"</code>
+ does not cancel the request while it is processed on the
+ server, but just allows to avoid unnecessary updates on
+ the client side if the response loses the actuality.
+ </para>
+ <para>
+ Defining the
+ <emphasis>
+ <property>"eventsQueue"</property>
+ </emphasis>
+ along with
+ <emphasis>
+ <property>"requestDelay"</property>
+ </emphasis>
+ allows to protect against unnecessary traffic flood and
+ synchronizes Ajax requests order. If you have several
+ sources of Ajax requests, you can define the same queue
+ name there. This might be very helpful if you have Ajax
+ components that invoke request asynchronously from the
+ ones produced by events from users. For example,
+ <emphasis role="bold">
+ <property><a4j:poll></property>
+ </emphasis>
+ or
+ <emphasis role="bold">
+ <property><a4j:push></property>
+ </emphasis>
+ . In case the requests from such components modify the
+ same data, the synchronization might be very helpful.
+ </para>
- <para>More information can be found on the <ulink
-
url="http://jboss.com/index.html?module=bb&op=viewtopic&...
- >RichFaces Users Forum</ulink>.</para>
+ <para>
+ More information can be found on the
+ <ulink
+
url="http://jboss.com/index.html?module=bb&op=viewtopic&...
+ RichFaces Users Forum
+ </ulink>
+ .
+ </para>
- <para><emphasis>
- <property>"timeout"</property>
- </emphasis> attribute is used for setting response waiting time on a
particular request. If
- a response is not received during this time, the request is
aborted.</para>
- </section>
+ <para>
+ <emphasis>
+ <property>"timeout"</property>
+ </emphasis>
+ attribute is used for setting response waiting time on a
+ particular request. If a response is not received during
+ this time, the request is aborted.
+ </para>
+ </section>
- <section id="DataProcessingOptions">
- <?dbhtml filename="DataProcessingOptions.html"?>
- <title>Data Processing Options</title>
- <para>RichFaces uses form based approach for Ajax request sending. This means
each time, when
- you click an Ajax button or <emphasis role="bold">
- <property><a4j:poll></property>
- </emphasis> produces an asynchronous request, the data from the closest JSF
form is
- submitted with the XMLHTTPRequest object. The form data contains the values from
the form
- input element and auxiliary information such as state saving data.</para>
- <para>When <emphasis>
- <property>"ajaxSingle"</property>
- </emphasis> attribute value is
<property>"true"</property>, it orders to
- include only a value of the current component (along with <emphasis
role="bold">
- <property><f:param></property>
- </emphasis> or <emphasis role="bold">
- <property><a4j:action></property>
- </emphasis> param values if any) to the request map. In case of
<emphasis role="bold">
- <property><a4j:support></property>
- </emphasis>, it is a value of the parent component. An example is placed
below:</para>
+ <section id="DataProcessingOptions">
+ <?dbhtml filename="DataProcessingOptions.html"?>
+ <title>Data Processing Options</title>
+ <para>
+ RichFaces uses form based approach for Ajax request
+ sending. This means each time, when you click an Ajax
+ button or
+ <emphasis role="bold">
+ <property><a4j:poll></property>
+ </emphasis>
+ produces an asynchronous request, the data from the
+ closest JSF form is submitted with the XMLHTTPRequest
+ object. The form data contains the values from the form
+ input element and auxiliary information such as state
+ saving data.
+ </para>
+ <para>
+ When
+ <emphasis>
+ <property>"ajaxSingle"</property>
+ </emphasis>
+ attribute value is
+ <property>"true"</property>
+ , it orders to include only a value of the current
+ component (along with
+ <emphasis role="bold">
+ <property><f:param></property>
+ </emphasis>
+ or
+ <emphasis role="bold">
+ <property><a4j:action></property>
+ </emphasis>
+ param values if any) to the request map. In case of
+ <emphasis role="bold">
+ <property><a4j:support></property>
+ </emphasis>
+ , it is a value of the parent component. An example is
+ placed below:
+ </para>
- <programlisting role="XML"><![CDATA[...
+ <programlisting role="XML"><![CDATA[...
<h:form>
<h:inputText value="#{person.name}">
<a4j:support event="onkeyup" reRender="test"
ajaxSingle="true"/>
@@ -373,172 +598,330 @@
</form>
...
]]></programlisting>
- <para>In this example the request contains only the input component causes
the request
- generation, not all the components contained on a form, because of
-
"ajaxSingle"=<property>"true"</property>
usage.</para>
- <para>Note, that
"ajaxSingle"=<property>"true"</property>
- reduces the upcoming traffic, but does not prevent decoding other input
components on the
- server side. Some JSF components, such as <emphasis role="bold">
- <property><h:selectOneMenu></property>
- </emphasis> do recognize the missing data in the request map value as a
null value and try
- to pass the validation process with a failed result. Thus, use <emphasis
role="bold">
- <property><a4j:region></property>
- </emphasis> to limit a part of the component tree that will be processed on
the server side
- when it is required.</para>
- <para><emphasis>
- <property>"immediate"</property>
- </emphasis> attribute has the same purpose as any other non-JSF component.
The default <emphasis>
- <property>"ActionListener"</property>
- </emphasis> should be executed immediately (i.e. during the Apply Request
Values phase of a
- request processing lifecycle), rather than waiting until the Invoke Application
phase. Using
- immediate=<property>"true"</property> is one of
the ways to have some
- data model values updated when other cannot be updated because of a problem with
passing the
- Validation phase successfully. This might be important inside the <emphasis
role="bold">
- <property><h:dataTable></property>
- </emphasis> like components where using <emphasis
role="bold">
- <property><a4j:region></property>
- </emphasis> is impossible due to the <emphasis
role="bold">
- <property><h:dataTable></property>
- </emphasis> component architecture.</para>
+ <para>
+ In this example the request contains only the input
+ component causes the request generation, not all the
+ components contained on a form, because of
+ <code>ajaxSingle="true"</code>
+ usage.
+ </para>
+ <para>
+ Note, that
+ <code>ajaxSingle="true"</code>
+ reduces the upcoming traffic, but does not prevent
+ decoding other input components on the server side. Some
+ JSF components, such as
+ <emphasis role="bold">
+ <property><h:selectOneMenu></property>
+ </emphasis>
+ do recognize the missing data in the request map value
+ as a null value and try to pass the validation process
+ with a failed result. Thus, use
+ <emphasis role="bold">
+ <property><a4j:region></property>
+ </emphasis>
+ to limit a part of the component tree that will be
+ processed on the server side when it is required.
+ </para>
+ <para>
+ <emphasis>
+ <property>"immediate"</property>
+ </emphasis>
+ attribute has the same purpose as any other non-JSF
+ component. The default
+ <emphasis>
+ <property>"ActionListener"</property>
+ </emphasis>
+ should be executed immediately (i.e. during the Apply
+ Request Values phase of a request processing lifecycle),
+ rather than waiting until the Invoke Application phase.
+ Using
+ <code>immediate="true"</code>
+ is one of the ways to have some data model values
+ updated when other cannot be updated because of a
+ problem with passing the Validation phase successfully.
+ This might be important inside the
+ <emphasis role="bold">
+ <property><h:dataTable></property>
+ </emphasis>
+ like components where using
+ <emphasis role="bold">
+ <property><a4j:region></property>
+ </emphasis>
+ is impossible due to the
+ <emphasis role="bold">
+ <property><h:dataTable></property>
+ </emphasis>
+ component architecture.
+ </para>
- <para><emphasis>
- <property>"bypassUpdates"</property>
- </emphasis> attribute allows to bypass the Update Model phase. It might be
useful if you
- need to check your input against the available validator, but not to update the
model with
- those data. Note, that an action will be invoked at the end of the Validation
phase only if
- the Validation phase is passed successfully. The listeners of the Application
phase will not
- be invoked in any case.</para>
- </section>
+ <para>
+ <emphasis>
+ <property>"bypassUpdates"</property>
+ </emphasis>
+ attribute allows to bypass the Update Model phase. It
+ might be useful if you need to check your input against
+ the available validator, but not to update the model
+ with those data. Note, that an action will be invoked at
+ the end of the Validation phase only if the Validation
+ phase is passed successfully. The listeners of the
+ Application phase will not be invoked in any case.
+ </para>
+ </section>
- <section id="ActionandNavigation">
- <?dbhtml filename="ActionandNavigation.html"?>
- <title>Action and Navigation</title>
- <para>Ajax component is similar to any other non-Ajax JSF component like
<emphasis role="bold">
- <property><h:commandButton></property>
- </emphasis>. It allows to submit the form. You can use <emphasis>
- <property>"action"</property>
- </emphasis> and <emphasis>
- <property>"actionListener"</property>
- </emphasis> attribute to invoke the action method and define the action
event.</para>
- <para><emphasis>
- <property>"action"</property>
- </emphasis> method must return null if you want to have an Ajax Response
with a partual page
- update. This is regular mode called "Ajax request generates Ajax
Response". In case of
- action does not return null, but the action outcome that matches one of
navigation rules,
- RichFaces starts to work in "Ajax request generates Non-Ajax Response"
mode. This mode might
- be helpful in two major cases:</para>
- <itemizedlist>
- <listitem><para>RichFaces allows to organize a page flow inside the
<emphasis role="bold">
- <property><a4j:include></property>
- </emphasis> component. This is a typical scenario for Wizard like
behavior. The new
- content is rendered inside the <emphasis role="bold">
- <property><a4j:include></property>
- </emphasis> area. The content is taken from the navigation rule of the
faces configuration
- file (usually, the faces-config.xml). Note, that the content of the
"wizard" is not
- isolated from the rest of the page. The included page should not have own
<emphasis
- role="bold">
- <property><f:view></property>
- </emphasis> (it does not matter if you use facelets). You need to have an
Ajax component
- inside the <emphasis role="bold">
- <property><a4j:include></property>
- </emphasis> to navigate between the wizard pages. Otherwize, the whole
page update will be
- performed.</para></listitem>
- <listitem><para>If you want to involve the server side validators and
navigate to the next page
- only if the Validation phase is passed successfully, you can replace
<emphasis role="bold">
- <property><h:commandButton></property>
- </emphasis> with <emphasis role="bold">
- <property><a4j:commandButton></property>
- </emphasis> and point to the action method that navigates to the next
page. If Validation
- process fails, the partial page update will occur and you will see an error
message.
- Otherwize, the application proceeds to the next page. Make sure, you define
- <redirect/> option for the navigation rule to avoid memory
leaks.</para></listitem>
- </itemizedlist>
- <para> </para>
- </section>
+ <section id="ActionandNavigation">
+ <?dbhtml filename="ActionandNavigation.html"?>
+ <title>Action and Navigation</title>
+ <para>
+ Ajax component is similar to any other non-Ajax JSF
+ component like
+ <emphasis role="bold">
+ <property><h:commandButton></property>
+ </emphasis>
+ . It allows to submit the form. You can use
+ <emphasis>
+ <property>"action"</property>
+ </emphasis>
+ and
+ <emphasis>
+ <property>"actionListener"</property>
+ </emphasis>
+ attribute to invoke the action method and define the
+ action event.
+ </para>
+ <para>
+ <emphasis>
+ <property>"action"</property>
+ </emphasis>
+ method must return null if you want to have an Ajax
+ Response with a partual page update. This is regular
+ mode called "Ajax request generates Ajax Response". In
+ case of action does not return null, but the action
+ outcome that matches one of navigation rules, RichFaces
+ starts to work in "Ajax request generates Non-Ajax
+ Response" mode. This mode might be helpful in two major
+ cases:
+ </para>
+ <itemizedlist>
+ <listitem>
+ <para>
+ RichFaces allows to organize a page flow inside
+ the
+ <emphasis role="bold">
+ <property><a4j:include></property>
+ </emphasis>
+ component. This is a typical scenario for Wizard
+ like behavior. The new content is rendered
+ inside the
+ <emphasis role="bold">
+ <property><a4j:include></property>
+ </emphasis>
+ area. The content is taken from the navigation
+ rule of the faces configuration file (usually,
+ the faces-config.xml). Note, that the content of
+ the "wizard" is not isolated from the rest of
+ the page. The included page should not have own
+ <emphasis role="bold">
+ <property><f:view></property>
+ </emphasis>
+ (it does not matter if you use facelets). You
+ need to have an Ajax component inside the
+ <emphasis role="bold">
+ <property><a4j:include></property>
+ </emphasis>
+ to navigate between the wizard pages. Otherwize,
+ the whole page update will be performed.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ If you want to involve the server side
+ validators and navigate to the next page only if
+ the Validation phase is passed successfully, you
+ can replace
+ <emphasis role="bold">
+ <property><h:commandButton></property>
+ </emphasis>
+ with
+ <emphasis role="bold">
+ <property>
+ <a4j:commandButton>
+ </property>
+ </emphasis>
+ and point to the action method that navigates to
+ the next page. If Validation process fails, the
+ partial page update will occur and you will see
+ an error message. Otherwize, the application
+ proceeds to the next page. Make sure, you define
+ <redirect/> option for the navigation rule
+ to avoid memory leaks.
+ </para>
+ </listitem>
+ </itemizedlist>
+ <para></para>
+ </section>
- <section id="JavascriptInteractions">
- <?dbhtml filename="JavascriptInteractions.html"?>
- <title>JavaScript Interactions</title>
- <para>RichFaces allows writing Ajax-enabled JSF application without writing
any Javascript
- code. However, you can still invoke the javascript code if you need. There are
several ajax
- attributes that helps to do it.</para>
- <para><emphasis>
- <property>"onsubmit"</property>
- </emphasis> attribute allows to invoke JavaScript code before an Ajax
request is sent. If <emphasis>
- <property>"onsubmit"</property>
- </emphasis> returns
<property>"false"</property>, the Ajax request is
- canceled. The code of <emphasis>
- <property>"onsubmit"</property>
- </emphasis> is inserted before the RichFaces Ajax call. Hence, the
<emphasis>
- <property>"onsubmit"</property>
- </emphasis> should not has a "return" statement if you
want the Ajax
- request to be sent. If you are going to invoke a JavaScript function that
returns
- <property>"true"</property> or
- <property>"false"</property>, use the conditional
statement to return
- something only when you need to cancel the request. For example: </para>
- <programlisting role="XML"><![CDATA[...
+ <section id="JavascriptInteractions">
+ <?dbhtml filename="JavascriptInteractions.html"?>
+ <title>JavaScript Interactions</title>
+ <para>
+ RichFaces allows writing Ajax-enabled JSF application
+ without writing any Javascript code. However, you can
+ still invoke the javascript code if you need. There are
+ several ajax attributes that helps to do it.
+ </para>
+ <para>
+ <emphasis>
+ <property>"onsubmit"</property>
+ </emphasis>
+ attribute allows to invoke JavaScript code before an
+ Ajax request is sent. If
+ <emphasis>
+ <property>"onsubmit"</property>
+ </emphasis>
+ returns
+ <property>"false"</property>
+ , the Ajax request is canceled. The code of
+ <emphasis>
+ <property>"onsubmit"</property>
+ </emphasis>
+ is inserted before the RichFaces Ajax call. Hence, the
+ <emphasis>
+ <property>"onsubmit"</property>
+ </emphasis>
+ should not has a "return" statement if you
+ want the Ajax request to be sent. If you are going to
+ invoke a JavaScript function that returns
+ <property>"true"</property>
+ or
+ <property>"false"</property>
+ , use the conditional statement to return something only
+ when you need to cancel the request. For example:
+ </para>
+ <programlisting role="XML"><![CDATA[...
onsubmit="if (mynosendfunct()==false){return false}"
...
]]></programlisting>
- <para><emphasis>
- <property>"onclick"</property>
- </emphasis> attribute is similar to the <emphasis>
- <property>"onsubmit"</property>
- </emphasis>, but for clickable components such as <emphasis
role="bold">
- <property><a4j:commandLink></property>
- </emphasis> and <emphasis role="bold">
- <property><a4j:commandButton></property>
- </emphasis>. If it returns
<property>"false"</property>, the Ajax request
- is canceled also.</para>
- <para><emphasis>
- <property>"oncomplete"</property>
- </emphasis> attribute allows to invoke the JavaScript code right after the
Ajax Response is
- returned back and the DOM tree of the browser is updated. Richfaces registers the
code for
- further invocation of XMLHTTP request object before an Ajax request is sent. This
means the
- code will not be changed during processing of the request on the server if you
use JSF EL
- value binding. Also, you cannot use "this'" inside the
code, because it
- will not point the component where Ajax request was initiated.</para>
+ <para>
+ <emphasis>
+ <property>"onclick"</property>
+ </emphasis>
+ attribute is similar to the
+ <emphasis>
+ <property>"onsubmit"</property>
+ </emphasis>
+ , but for clickable components such as
+ <emphasis role="bold">
+ <property><a4j:commandLink></property>
+ </emphasis>
+ and
+ <emphasis role="bold">
+ <property><a4j:commandButton></property>
+ </emphasis>
+ . If it returns
+ <property>"false"</property>
+ , the Ajax request is canceled also.
+ </para>
+ <para>
+ <emphasis>
+ <property>"oncomplete"</property>
+ </emphasis>
+ attribute allows to invoke the JavaScript code right
+ after the Ajax Response is returned back and the DOM
+ tree of the browser is updated. Richfaces registers the
+ code for further invocation of XMLHTTP request object
+ before an Ajax request is sent. This means the code will
+ not be changed during processing of the request on the
+ server if you use JSF EL value binding. Also, you cannot
+ use "this'" inside the code, because it will
+ not point the component where Ajax request was
+ initiated.
+ </para>
- <para><emphasis>
- <property>"onbeforedomupdate"</property>
- </emphasis> attrubute defines JavaScript code for call after Ajax response
receiving and
- before updating DOM on a client side.</para>
+ <para>
+ <emphasis>
+ <property>"onbeforedomupdate"</property>
+ </emphasis>
+ attrubute defines JavaScript code for call after Ajax
+ response receiving and before updating DOM on a client
+ side.
+ </para>
- <para><emphasis>
- <property>"data"</property>
- </emphasis> attribute allows to get the additional data from the server
during an Ajax call.
- You can use JSF EL to point the property of the managed bean and its value will
be
- serialized in JSON format and be available on the client side. You can refer to
it using the <emphasis>
- <property>"data"</property>
- </emphasis> variable. For example:</para>
- <programlisting role="XML"><![CDATA[...
+ <para>
+ <emphasis>
+ <property>"data"</property>
+ </emphasis>
+ attribute allows to get the additional data from the
+ server during an Ajax call. You can use JSF EL to point
+ the property of the managed bean and its value will be
+ serialized in JSON format and be available on the client
+ side. You can refer to it using the
+ <emphasis>
+ <property>"data"</property>
+ </emphasis>
+ variable. For example:
+ </para>
+ <programlisting role="XML"><![CDATA[...
<a4j:commandButton value="Update" data="#{userBean.name}"
oncomplete="showTheName(data.name)" />
...
]]></programlisting>
- <para>Richfaces allows to serialize not only primitive types into JSON
format, but also
- complex types including arrays and collections. The beans should be serializable
to be
- refered with <emphasis>
- <property>"data"</property>
- </emphasis>.</para>
- <para>There is a number of useful functions which can be used in
JavaScript:</para>
- <itemizedlist>
- <listitem><para>rich:clientId('id') - returns client id by
short id or null if the component with the id specified hasn't been found
</para></listitem>
- <listitem><para>rich:element('id') - is a shortcut for
document.getElementById(#{rich:clientId('id')}) </para></listitem>
- <listitem><para>rich:component('id') - is a shortcut for
#{rich:clientId('id')}.component</para></listitem>
- </itemizedlist>
- </section>
+ <para>
+ Richfaces allows to serialize not only primitive types
+ into JSON format, but also complex types including
+ arrays and collections. The beans should be serializable
+ to be refered with
+ <emphasis>
+ <property>"data"</property>
+ </emphasis>
+ .
+ </para>
+ <para>
+ There is a number of useful functions which can be used
+ in JavaScript:
+ </para>
+ <itemizedlist>
+ <listitem>
+ <para>
+ <code>rich:clientId('id')</code>
+ - returns client id by short id or null if the
+ component with the id specified hasn't been
+ found
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <code>rich:element('id')</code>
+ - is a shortcut for
+ <code>
+ document.getElementById(#{rich:clientId('id')})
+ </code>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <code>rich:component('id')</code>
+ - is a shortcut for
+ <code>#{rich:clientId('id')}.component</code>
+ </para>
+ </listitem>
+ </itemizedlist>
+ </section>
- <section id="IterationcomponentsAjaxattributes">
- <?dbhtml filename="IterationcomponentsAjaxattributes.html"?>
- <title>Iteration components Ajax attributes</title>
- <para><emphasis>
- <property>"ajaxKeys"</property>
- </emphasis> attribute defines strings that are updated after an Ajax
request. It provides
- possibility to update several child components separately without updating the
whole page.</para>
+ <section id="IterationcomponentsAjaxattributes">
+ <?dbhtml filename="IterationcomponentsAjaxattributes.html"?>
+ <title>Iteration components Ajax attributes</title>
+ <para>
+ <emphasis>
+ <property>"ajaxKeys"</property>
+ </emphasis>
+ attribute defines strings that are updated after an Ajax
+ request. It provides possibility to update several child
+ components separately without updating the whole page.
+ </para>
- <programlisting role="XML"><![CDATA[...
+ <programlisting role="XML"><![CDATA[...
<a4j:poll intervall="1000" action="#{repeater.action}"
reRender="text">
<table>
<tbody>
@@ -555,25 +938,36 @@
...
]]></programlisting>
- </section>
+ </section>
- <section id="Otherusefulattributes">
- <?dbhtml filename="Otherusefulattributes.html"?>
- <title>Other useful attributes</title>
- <para><emphasis>
- <property>"status"</property>
- </emphasis> attribute for Ajax components (such as <emphasis
role="bold">
- <property><a4j:commandButton></property>
- </emphasis>, <emphasis role="bold">
- <property><a4j:poll></property>
- </emphasis>, etc.) points to an ID of <emphasis
role="bold">
- <property><a4j:status></property>
- </emphasis> component. Use this attribute if you want to share <emphasis
role="bold">
- <property><a4j:status></property>
- </emphasis> component between different Ajax components from different
regions. The
- following example shows it. </para>
+ <section id="Otherusefulattributes">
+ <?dbhtml filename="Otherusefulattributes.html"?>
+ <title>Other useful attributes</title>
+ <para>
+ <emphasis>
+ <property>"status"</property>
+ </emphasis>
+ attribute for Ajax components (such as
+ <emphasis role="bold">
+ <property><a4j:commandButton></property>
+ </emphasis>
+ ,
+ <emphasis role="bold">
+ <property><a4j:poll></property>
+ </emphasis>
+ , etc.) points to an ID of
+ <emphasis role="bold">
+ <property><a4j:status></property>
+ </emphasis>
+ component. Use this attribute if you want to share
+ <emphasis role="bold">
+ <property><a4j:status></property>
+ </emphasis>
+ component between different Ajax components from
+ different regions. The following example shows it.
+ </para>
- <programlisting role="XML"><![CDATA[...
+ <programlisting role="XML"><![CDATA[...
<a4j:region id="extr">
<h:form>
<h:outputText value="Status:" />
@@ -604,194 +998,324 @@
...
]]></programlisting>
- <para>In the example <emphasis role="bold">
- <property><a4j:support></property>
- </emphasis> and <emphasis role="bold">
- <property><a4j:commandButton></property>
- </emphasis> are defined in different regions. Values of <emphasis>
- <property>"status"</property>
- </emphasis> attribute for these components points to an ID of <emphasis
role="bold">
- <property><a4j:support></property>
- </emphasis>.Thus, the <emphasis role="bold">
- <property><a4j:support></property>
- </emphasis> component is shared between two components from different
regions.</para>
+ <para>
+ In the example
+ <emphasis role="bold">
+ <property><a4j:support></property>
+ </emphasis>
+ and
+ <emphasis role="bold">
+ <property><a4j:commandButton></property>
+ </emphasis>
+ are defined in different regions. Values of
+ <emphasis>
+ <property>"status"</property>
+ </emphasis>
+ attribute for these components points to an ID of
+ <emphasis role="bold">
+ <property><a4j:support></property>
+ </emphasis>
+ .Thus, the
+ <emphasis role="bold">
+ <property><a4j:support></property>
+ </emphasis>
+ component is shared between two components from
+ different regions.
+ </para>
- <para>More information could be found <ulink
-
url="http://livedemo.exadel.com/richfaces-demo/richfaces/status.jsf?...
- >here</ulink>.</para>
+ <para>
+ More information could be found
+ <ulink
+
url="http://livedemo.exadel.com/richfaces-demo/richfaces/status.jsf?...
+ here
+ </ulink>
+ .
+ </para>
- <para>Other useful attribute is <emphasis>
- <property>"focus"</property>
- </emphasis>. It points to an ID of a component where focus will be set
after an Ajax
- request.</para>
+ <para>
+ Other useful attribute is
+ <emphasis>
+ <property>"focus"</property>
+ </emphasis>
+ . It points to an ID of a component where focus will be
+ set after an Ajax request.
+ </para>
- </section>
+ </section>
- </section>
+ </section>
- <section id="HowTo...">
- <?dbhtml filename="HowTo.html"?>
- <title>How To...</title>
- <section id="SendAnAJAXRequest">
- <?dbhtml filename="SendAnAJAXRequest.html"?>
- <title>Send an Ajax request</title>
- <para>There are different ways to send Ajax requests from your JSF page. For
example you can
- use <emphasis role="bold">
- <property><a4j:commandButton></property>
- </emphasis>, <emphasis role="bold">
- <property><a4j:commandLink></property>, <emphasis
role="bold">
- <property><a4j:poll></property>
- </emphasis>
- </emphasis> or <emphasis role="bold">
- <property><a4j:support></property>
- </emphasis> tags or any other. </para>
- <para>All these tags hide the usual JavaScript activities that are required
for an
- XMHttpRequest object building and an Ajax request sending. Also, they allow you
to decide
- which components of your JSF page are to be re-rendered as a result of the Ajax
response
- (you can list the IDs of these components in the "reRender"
attribute). </para>
- <para>
- <emphasis role="bold">
- <property><a4j:commandButton></property>
- </emphasis> and <emphasis role="bold">
- <property><a4j:commandLink></property>
- </emphasis> tags are used to send an Ajax request on
"onclick" JavaScript
- event. </para>
- <para>
- <emphasis role="bold">
- <property><a4j:poll></property>
- </emphasis> tag is used to send an Ajax request periodically using a timer.
</para>
- <para>The <emphasis role="bold">
- <property><a4j:support></property>
- </emphasis> tag allows you to add Ajax functionality to standard JSF
components and send
- Ajax request onto a chosen JavaScript event: "onkeyup",
- "onmouseover", etc. </para>
- <!--para>Most important attributes of components that provide Ajax request
calling features are:</para>
- <itemizedlist>
- <listitem>
- <emphasis>
- <property>"reRender"</property>
- </emphasis>attribute as it was mentioned <link
linkend="SendAnAJAXRequest">before</link>
- specifies components to be reRendered after Ajax response. The attribute can be
specified
- using EL expression and formed dynamicaly on the server side (see <ulink
- url="index.html#FAQ">FAQ chapter</ulink>).
</listitem>
- <listitem>
- <emphasis>
- <property>"RequestDelay"</property>
- </emphasis> attribute is used for a requests frequency regulation.
</listitem>
- </itemizedlist>
- <programlisting role="XML"><![CDATA[<h:inputText
size="50" value="#{bean.text}">
- <a4j:support event="onkeyup" RequestDelay="3"/>
-</h:inputText>]]></programlisting>
- <para>So every next request from the frequent keyboard events will be delayed
on 3 ms to
- reduce the number of requests. </para>
- <itemizedlist>
- <listitem>
- <emphasis>
- <property>"EventsQueue"</property>
- </emphasis> is a queue that stores the next request. </listitem>
- <listitem>
- <emphasis>
- <property>"LimitToList"</property>
- </emphasis> attribute is used to regulate updatable regions. Setting it
to true limits the
- updatable areas only to ones specified in a reRender list, in other case all
Output Panels
- of the region are updated. </listitem>
- <listitem>
- <emphasis>
- <property>"ajaxSingle"</property>
- </emphasis> attributes specify regions to be sent with a request, if
- "false" it is a full region, in other case it's is
only a
- control caused event. </listitem>
+ <section id="HowTo...">
+ <?dbhtml filename="HowTo.html"?>
+ <title>How To...</title>
+ <section id="SendAnAJAXRequest">
+ <?dbhtml filename="SendAnAJAXRequest.html"?>
+ <title>Send an Ajax request</title>
+ <para>
+ There are different ways to send Ajax requests from your
+ JSF page. For example you can use
+ <emphasis role="bold">
+ <property><a4j:commandButton></property>
+ </emphasis>
+ ,
+ <emphasis role="bold">
+ <property><a4j:commandLink></property>
+ ,
+ <emphasis role="bold">
+ <property><a4j:poll></property>
+ </emphasis>
+ </emphasis>
+ or
+ <emphasis role="bold">
+ <property><a4j:support></property>
+ </emphasis>
+ tags or any other.
+ </para>
+ <para>
+ All these tags hide the usual JavaScript activities that
+ are required for an XMHttpRequest object building and an
+ Ajax request sending. Also, they allow you to decide
+ which components of your JSF page are to be re-rendered
+ as a result of the Ajax response (you can list the IDs
+ of these components in the "reRender"
+ attribute).
+ </para>
+ <para>
+ <emphasis role="bold">
+ <property><a4j:commandButton></property>
+ </emphasis>
+ and
+ <emphasis role="bold">
+ <property><a4j:commandLink></property>
+ </emphasis>
+ tags are used to send an Ajax request on
+ "onclick" JavaScript event.
+ </para>
+ <para>
+ <emphasis role="bold">
+ <property><a4j:poll></property>
+ </emphasis>
+ tag is used to send an Ajax request periodically using a
+ timer.
+ </para>
+ <para>
+ The
+ <emphasis role="bold">
+ <property><a4j:support></property>
+ </emphasis>
+ tag allows you to add Ajax functionality to standard JSF
+ components and send Ajax request onto a chosen
+ JavaScript event: "onkeyup",
+ "onmouseover", etc.
+ </para>
+ <!--para>Most important attributes of components that provide Ajax request
calling features are:</para>
+ <itemizedlist>
+ <listitem>
+ <emphasis>
+ <property>"reRender"</property>
+ </emphasis>attribute as it was mentioned <link
linkend="SendAnAJAXRequest">before</link>
+ specifies components to be reRendered after Ajax response. The attribute can be
specified
+ using EL expression and formed dynamicaly on the server side (see <ulink
+ url="index.html#FAQ">FAQ chapter</ulink>). </listitem>
+ <listitem>
+ <emphasis>
+ <property>"RequestDelay"</property>
+ </emphasis> attribute is used for a requests frequency regulation.
</listitem>
+ </itemizedlist>
+ <programlisting role="XML"><![CDATA[<h:inputText
size="50" value="#{bean.text}">
+ <a4j:support event="onkeyup" RequestDelay="3"/>
+ </h:inputText>]]></programlisting>
+ <para>So every next request from the frequent keyboard events will be delayed
on 3 ms to
+ reduce the number of requests. </para>
+ <itemizedlist>
+ <listitem>
+ <emphasis>
+ <property>"EventsQueue"</property>
+ </emphasis> is a queue that stores the next request. </listitem>
+ <listitem>
+ <emphasis>
+ <property>"LimitToList"</property>
+ </emphasis> attribute is used to regulate updatable regions. Setting it to true
limits the
+ updatable areas only to ones specified in a reRender list, in other case all Output
Panels
+ of the region are updated. </listitem>
+ <listitem>
+ <emphasis>
+ <property>"ajaxSingle"</property>
+ </emphasis> attributes specify regions to be sent with a request, if
+ "false" it is a full region, in other case it's is only a
+ control caused event. </listitem>
+
+ <listitem>
+ <emphasis>
+ <property>"timeout"</property>
+ </emphasis>attribute is used for response waiting time on a particular request.
If a
+ response is not received during this time, the request is aborted. </listitem>
+
+ <listitem>
+ <emphasis>
+ <property>"ignoreDupResponses"</property>
+ </emphasis> is used to abort unfinished request on new event.
</listitem>
+ </itemizedlist-->
- <listitem>
- <emphasis>
- <property>"timeout"</property>
- </emphasis>attribute is used for response waiting time on a particular
request. If a
- response is not received during this time, the request is aborted.
</listitem>
- <listitem>
- <emphasis>
- <property>"ignoreDupResponses"</property>
- </emphasis> is used to abort unfinished request on new event.
</listitem>
- </itemizedlist-->
-
-
- </section>
+ </section>
- <section id="DecideWhatToSend">
- <?dbhtml filename="DecideWhatToSend.html"?>
- <title>Decide What to Send</title>
- <para>You may describe a region on the page you wish to send to the server,
in this way you
- can control what part of the JSF View is decoded on the server side when you send
an Ajax
- request. </para>
- <para>The easiest way to describe an Ajax region on your JSF page is to do
nothing, because
- the content between the <emphasis role="bold">
- <property><f:view></property>
- </emphasis> and <emphasis role="bold">
- <property></f:view></property>
- </emphasis> tags is considered the default Ajax region. </para>
- <para>You may define multiple Ajax regions on the JSF page (they can even be
nested) by using
- the <emphasis role="bold">
- <property><a4j:region></property>
- </emphasis> tag. </para>
- <para>If you wish to render the content of an Ajax response outside of the
active region then
- the value of the "renderRegionOnly" attribute should be set to
- "false" ("false" is default value).
Otherwise, your Ajax
- updates are limited to elements of the active region. </para>
- </section>
+ <section id="DecideWhatToSend">
+ <?dbhtml filename="DecideWhatToSend.html"?>
+ <title>Decide What to Send</title>
+ <para>
+ You may describe a region on the page you wish to send
+ to the server, in this way you can control what part of
+ the JSF View is decoded on the server side when you send
+ an Ajax request.
+ </para>
+ <para>
+ The easiest way to describe an Ajax region on your JSF
+ page is to do nothing, because the content between the
+ <emphasis role="bold">
+ <property><f:view></property>
+ </emphasis>
+ and
+ <emphasis role="bold">
+ <property></f:view></property>
+ </emphasis>
+ tags is considered the default Ajax region.
+ </para>
+ <para>
+ You may define multiple Ajax regions on the JSF page
+ (they can even be nested) by using the
+ <emphasis role="bold">
+ <property><a4j:region></property>
+ </emphasis>
+ tag.
+ </para>
+ <para>
+ If you wish to render the content of an Ajax response
+ outside of the active region then the value of the
+ "renderRegionOnly" attribute should be set to
+ "false" ("false" is default value).
+ Otherwise, your Ajax updates are limited to elements of
+ the active region.
+ </para>
+ </section>
- <section id="DecideWhatToChange">
- <?dbhtml filename="DecideWhatToChange.html"?>
- <title>Decide What to Change</title>
- <para>Using IDs in the "reRender" attribute to define
"AJAX
- zones" for update works fine in many cases. </para>
- <para>But you can not use this approach if your page contains, e.g. a
<emphasis role="bold">
- <property><f:verbatim></property>
- </emphasis> tag and you wish to update its content on an Ajax response.
</para>
- <para>The problem with the <emphasis role="bold">
- <property><f:verbatim/></property>
- </emphasis> tag as described above is related to the value of the
transientFlag of JSF
- components. If the value of this flag is true, the component must not participate
in state
- saving or restoring of process. </para>
- <para>In order to provide a solution to this kind of problems, RichFaces uses
the concept of
- an output panel that is defined by the <emphasis role="bold">
- <property><a4j:outputPanel></property>
- </emphasis> tag. If you put a <emphasis role="bold">
- <property><f:verbatim></property>
- </emphasis> tag inside of the output panel, then the content of the
<emphasis role="bold">
- <property><f:verbatim/></property>
- </emphasis> tag and content of other panel's child tags could be
updated on Ajax
- response. There are two ways to control this: <itemizedlist>
- <listitem><para> By setting the "ajaxRendered"
attribute value to
- "true". </para></listitem>
- <listitem><para> By setting the "reRender"
attribute value of an Action
- Component to the output panel ID. </para></listitem>
- </itemizedlist>
- </para>
- </section>
- <section id="process">
- <title>Decide what to process</title>
- <para>
- In order to process defined components you could use the
<emphasis><property>"process"</property></emphasis>
- attribute. </para>
- <para>
- The
<emphasis><property>"process"</property></emphasis>
attribute defines the ids of the components to be processed
- together with the component which contains this attribute. In order to define
processed components you could set theirs ids into the value of the
-
<emphasis><property>"process"</property></emphasis>
attribute.
- </para>
- <para>The
<emphasis><property>"process"</property></emphasis>
attribute has two limitations:</para>
- <itemizedlist>
- <listitem><para>
- it works only if
<emphasis><property>"ajaxSingle"</property></emphasis>
equals to "true" for given command component
- </para></listitem>
- <listitem><para>
- you do not have to point this attribute to one of the own parent components
to avoid processing of command component twice
- </para></listitem>
- </itemizedlist>
- <para><emphasis
role="bold">Example:</emphasis></para>
- <programlisting role="XML"><![CDATA[...
+ <section id="DecideWhatToChange">
+ <?dbhtml filename="DecideWhatToChange.html"?>
+ <title>Decide What to Change</title>
+ <para>
+ Using IDs in the "reRender" attribute to
+ define "AJAX zones" for update works fine in
+ many cases.
+ </para>
+ <para>
+ But you can not use this approach if your page contains,
+ e.g. a
+ <emphasis role="bold">
+ <property><f:verbatim></property>
+ </emphasis>
+ tag and you wish to update its content on an Ajax
+ response.
+ </para>
+ <para>
+ The problem with the
+ <emphasis role="bold">
+ <property><f:verbatim/></property>
+ </emphasis>
+ tag as described above is related to the value of the
+ transientFlag of JSF components. If the value of this
+ flag is true, the component must not participate in
+ state saving or restoring of process.
+ </para>
+ <para>
+ In order to provide a solution to this kind of problems,
+ RichFaces uses the concept of an output panel that is
+ defined by the
+ <emphasis role="bold">
+ <property><a4j:outputPanel></property>
+ </emphasis>
+ tag. If you put a
+ <emphasis role="bold">
+ <property><f:verbatim></property>
+ </emphasis>
+ tag inside of the output panel, then the content of the
+ <emphasis role="bold">
+ <property><f:verbatim/></property>
+ </emphasis>
+ tag and content of other panel's child tags could
+ be updated on Ajax response. There are two ways to
+ control this:
+ <itemizedlist>
+ <listitem>
+ <para>
+ By setting the "ajaxRendered"
+ attribute value to "true".
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ By setting the "reRender"
+ attribute value of an Action Component to
+ the output panel ID.
+ </para>
+ </listitem>
+ </itemizedlist>
+ </para>
+ </section>
+ <section id="process">
+ <title>Decide what to process</title>
+ <para>
+ In order to process defined components you could use the
+ <emphasis>
+ <property>"process"</property>
+ </emphasis>
+ attribute.
+ </para>
+ <para>
+ The
+ <emphasis>
+ <property>"process"</property>
+ </emphasis>
+ attribute defines the ids of the components to be
+ processed together with the component which contains
+ this attribute. In order to define processed components
+ you could set theirs ids into the value of the
+ <emphasis>
+ <property>"process"</property>
+ </emphasis>
+ attribute.
+ </para>
+ <para>
+ The
+ <emphasis>
+ <property>"process"</property>
+ </emphasis>
+ attribute has two limitations:
+ </para>
+ <itemizedlist>
+ <listitem>
+ <para>
+ it works only if
+ <emphasis>
+ <property>"ajaxSingle"</property>
+ </emphasis>
+ equals to "true" for given command component
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ you do not have to point this attribute to one
+ of the own parent components to avoid processing
+ of command component twice
+ </para>
+ </listitem>
+ </itemizedlist>
+ <para>
+ <emphasis role="bold">Example:</emphasis>
+ </para>
+ <programlisting role="XML"><![CDATA[...
<h:form>
<h:inputText id="oneA" value="#{bean.width}"/>
<br/>
@@ -803,31 +1327,62 @@
<br/>
<h:outputText id="three2" value="#{bean.text}"/>
...]]></programlisting>
- <para>
- In the example above after you click on the <emphasis
role="bold"><property><a4j:commandButton></property></emphasis>
- <property>only</property> <emphasis
role="bold"><property><h:inputText></property></emphasis>
with "oneB" id is processed and entered data appears into the <emphasis
role="bold"><property><h:outputText></property></emphasis>
with "three2" id.
- If you doesn't use this attribute <property>both</property>
<emphasis
role="bold"><property><h:inputText></property></emphasis>
is processed and entered data appears into the <property>both</property>
<emphasis
role="bold"><property><h:outputText></property></emphasis>.
- </para>
- </section>
- </section>
-
+ <para>
+ In the example above after you click on the
+ <emphasis role="bold">
+ <property><a4j:commandButton></property>
+ </emphasis>
+ <property>only</property>
+ <emphasis role="bold">
+ <property><h:inputText></property>
+ </emphasis>
+ with
+ <code>"oneB"</code>
+ id is processed and entered data appears into the
+ <emphasis role="bold">
+ <property><h:outputText></property>
+ </emphasis>
+ with
+ <code>"three2"</code>
+ id. If you doesn't use this attribute
+ <property>both</property>
+ <emphasis role="bold">
+ <property><h:inputText></property>
+ </emphasis>
+ is processed and entered data appears into the
+ <property>both</property>
+ <emphasis role="bold">
+ <property><h:outputText></property>
+ </emphasis>
+ .
+ </para>
+ </section>
+ </section>
- <section id="FilterConfiguration">
- <?dbhtml filename="FilterConfiguration.html"?>
- <title>Filter Configuration</title>
- <para>RichFaces uses a filter for a correction of code received on an Ajax
request. In case of a
- "regular" JSF request a browser makes correction independently.
In case of
- Ajax request in order to prevent layout destruction it's needed to use a
filter,
- because a received code could differ from a code validated by a browser and a
browser doesn't
- make any corrections.</para>
- <para>An example of how to set a Filter in a web.xml file of your application
is placed below.</para>
+ <section id="FilterConfiguration">
+ <?dbhtml filename="FilterConfiguration.html"?>
+ <title>Filter Configuration</title>
+ <para>
+ RichFaces uses a filter for a correction of code received on
+ an Ajax request. In case of a "regular" JSF
+ request a browser makes correction independently. In case of
+ Ajax request in order to prevent layout destruction
+ it's needed to use a filter, because a received code
+ could differ from a code validated by a browser and a
+ browser doesn't make any corrections.
+ </para>
- <para>
- <emphasis role="bold">Example:</emphasis>
- </para>
+ <para>
+ An example of how to set a Filter in a web.xml file of your
+ application is placed below.
+ </para>
- <programlisting role="XML"><![CDATA[...
+ <para>
+ <emphasis role="bold">Example:</emphasis>
+ </para>
+
+ <programlisting role="XML"><![CDATA[...
<filter>
<display-name>RichFaces Filter</display-name>
<filter-name>richfaces</filter-name>
@@ -836,53 +1391,70 @@
...
]]></programlisting>
- <note>
- <title>Note:</title><para>Fast Filter is deprecated and available
only for backward compatibility
- with previous RichFaces versions. Fast Filter usage isn't recomended,
because there
- is another way to use its functionality by means of <link
linkend="Neko">Neko filter
- type</link>.</para></note>
+ <note>
+ <title>Note:</title>
+ <para>
+ Fast Filter is deprecated and available only for
+ backward compatibility with previous RichFaces versions.
+ Fast Filter usage isn't recomended, because there
+ is another way to use its functionality by means of
+ <link linkend="Neko">Neko filter type</link>
+ .
+ </para>
+ </note>
- <para>In RichFaces 3.2 filter configuration becomes more flexible.
It's possible to
- configure different filters for different sets of pages for the same
application.</para>
+ <para>
+ In RichFaces 3.2 filter configuration becomes more flexible.
+ It's possible to configure different filters for
+ different sets of pages for the same application.
+ </para>
- <para>The possible filter types are:</para>
+ <para>The possible filter types are:</para>
- <itemizedlist>
- <listitem>
- <para>TIDY</para>
- </listitem>
- </itemizedlist>
+ <itemizedlist>
+ <listitem>
+ <para>TIDY</para>
+ </listitem>
+ </itemizedlist>
- <para>"TIDY" filter type based on the Tidy parser. This
filter is recommended
- for applications with complicated or non-standard markup when all necessary code
corrections
- are made by the filter when a response comes from the server.</para>
+ <para>
+ "TIDY" filter type based on the Tidy parser. This
+ filter is recommended for applications with complicated or
+ non-standard markup when all necessary code corrections are
+ made by the filter when a response comes from the server.
+ </para>
- <itemizedlist>
- <listitem>
- <para id="Neko">NEKO</para>
- </listitem>
- </itemizedlist>
+ <itemizedlist>
+ <listitem>
+ <para id="Neko">NEKO</para>
+ </listitem>
+ </itemizedlist>
- <para>"NEKO" filter type corresponds to the former
"Fast
- Filter" and it's based on the Neko parser. In case of using this
filter code
- isn't strictly verified. Use this one if you are sure that your
application markup is
- really strict for this filter. Otherwise it could cause lot's of errors
and corrupt a
- layout as a result. This filter considerably accelerates all Ajax requests
processing.</para>
+ <para>
+ "NEKO" filter type corresponds to the former
+ "Fast Filter" and it's based on the Neko
+ parser. In case of using this filter code isn't
+ strictly verified. Use this one if you are sure that your
+ application markup is really strict for this filter.
+ Otherwise it could cause lot's of errors and corrupt a
+ layout as a result. This filter considerably accelerates all
+ Ajax requests processing.
+ </para>
- <itemizedlist>
- <listitem>
- <para>NONE</para>
- </listitem>
- </itemizedlist>
+ <itemizedlist>
+ <listitem>
+ <para>NONE</para>
+ </listitem>
+ </itemizedlist>
- <para>No correction.</para>
+ <para>No correction.</para>
- <para>An example of configuration is placed below.</para>
- <para>
- <emphasis role="bold">Example:</emphasis>
- </para>
+ <para>An example of configuration is placed below.</para>
+ <para>
+ <emphasis role="bold">Example:</emphasis>
+ </para>
- <programlisting role="XML"><![CDATA[...
+ <programlisting role="XML"><![CDATA[...
<context-param>
<param-name>org.ajax4jsf.xmlparser.ORDER</param-name>
<param-value>NONE,NEKO,TIDY</param-value>
@@ -914,806 +1486,1202 @@
...
]]></programlisting>
- <para>The example shows that ORDER parameter defines the order in which
particular filter types
- are used for pages code correction. </para>
- <para> First of all "NONE" type is specified for the filter.
Then two
- different sets of pages are defined for which two filter types (NONE and NEKO) are
used
- correspondingly. If a page relates to the first set that is defined in the
following way: </para>
+ <para>
+ The example shows that ORDER parameter defines the order in
+ which particular filter types are used for pages code
+ correction.
+ </para>
+ <para>
+ First of all "NONE" type is specified for the
+ filter. Then two different sets of pages are defined for
+ which two filter types (NONE and NEKO) are used
+ correspondingly. If a page relates to the first set that is
+ defined in the following way:
+ </para>
- <programlisting
role="XML"><![CDATA[<param-value>/pages/performance\.xhtml,/pages/default.*\.xhtml</param-value>,
+ <programlisting
role="XML"><![CDATA[<param-value>/pages/performance\.xhtml,/pages/default.*\.xhtml</param-value>,
]]></programlisting>
- <para> it's not corrected, because filter type for this page is
defined as
- "NONE". If a page is not from the first set, then
"NEKO"
- type is set.</para>
- <para>If a page relates to the second set that is defined in the following
way:</para>
+ <para>
+ it's not corrected, because filter type for this page
+ is defined as "NONE". If a page is not from the
+ first set, then "NEKO" type is set.
+ </para>
+ <para>
+ If a page relates to the second set that is defined in the
+ following way:
+ </para>
- <programlisting
role="XML"><![CDATA[<param-value>/pages/repeat\.xhtml</param-value>,
+ <programlisting
role="XML"><![CDATA[<param-value>/pages/repeat\.xhtml</param-value>,
]]></programlisting>
- <para>then "NEKO" filter type is used for correction. If
it's not
- related to the second set, "TIDY" type is set for the filter
- ("TIDY" filter type is used for code correction). </para>
+ <para>
+ then "NEKO" filter type is used for correction. If
+ it's not related to the second set, "TIDY"
+ type is set for the filter ("TIDY" filter type is
+ used for code correction).
+ </para>
- </section>
- <section id="ScriptsandStylesLoadStrategy">
- <?dbhtml filename="ScriptsandStylesLoadStrategy" ?>
- <title>Scripts and Styles Load Strategy</title>
- <para>Before the version 3.1.3, RichFaces loaded styles and script on demand.
I.e. files are
- loaded only if they are required on a particular page. Since RichFaces 3.1.3,
it's
- possible to manage how the RichFaces script and style files are loaded to
application. </para>
- <para>
- <emphasis role="bold">org.richfaces.LoadScriptStrategy
</emphasis>
- </para>
- <para>The following declaration in your web.xml allows loading the integrated
script files.</para>
- <programlisting role="XML"><![CDATA[...
+ </section>
+ <section id="ScriptsandStylesLoadStrategy">
+ <?dbhtml filename="ScriptsandStylesLoadStrategy" ?>
+ <title>Scripts and Styles Load Strategy</title>
+ <para>
+ Before the version 3.1.3, RichFaces loaded styles and script
+ on demand. I.e. files are loaded only if they are required
+ on a particular page. Since RichFaces 3.1.3, it's
+ possible to manage how the RichFaces script and style files
+ are loaded to application.
+ </para>
+ <para>
+ <code>org.richfaces.LoadScriptStrategy</code>
+ </para>
+ <para>
+ The following declaration in your web.xml allows loading the
+ integrated script files.
+ </para>
+ <programlisting role="XML"><![CDATA[...
<context-param>
<param-name>org.richfaces.LoadScriptStrategy</param-name>
<param-value>ALL</param-value>
</context-param>
...
]]></programlisting>
- <para>If you do not declare the
<property>org.richfaces.LoadScriptStrategy</property> in the
- web.xml, it equals to:</para>
- <programlisting role="XML"><![CDATA[...
+ <para>
+ If you do not declare the
+ <code>org.richfaces.LoadScriptStrategy</code>
+ in the web.xml, it equals to:
+ </para>
+ <programlisting role="XML"><![CDATA[...
<context-param>
<param-name>org.richfaces.LoadScriptStrategy</param-name>
<param-value>DEFAULT</param-value>
</context-param>
...
]]></programlisting>
- <para>The third possible value is "NONE". You have no a
special reason to
- use it unless you obtain the newest (or modified) version of the script and want to
include
- it manually in a page header. </para>
-
- <note>
- <title>Note:</title>
- <para>
- If you use <property>ALL</property> value of Scripts Load Strategy,
the JavaScript files compression turns off!
- </para>
- <!--programlisting role="XML"><![CDATA[...
-<context-param>
- <param-name>org.ajax4jsf.COMPRESS_SCRIPT</param-name>
- <param-value>false</param-value>
-</context-param>
-...
-]]></programlisting-->
- </note>
-
- <para>
- <emphasis
role="bold">org.richfaces.LoadStyleStrategy</emphasis>
- </para>
-
- <para> The following declaration allows to load only one integrated style sheet
file.</para>
- <programlisting role="XML"><![CDATA[...
+ <para>
+ The third possible value is "NONE". You have no a
+ special reason to use it unless you obtain the newest (or
+ modified) version of the script and want to include it
+ manually in a page header.
+ </para>
+
+ <note>
+ <title>Note:</title>
+ <para>
+ If you use
+ <property>ALL</property>
+ value of Scripts Load Strategy, the JavaScript files
+ compression turns off!
+ </para>
+ <!--programlisting role="XML"><![CDATA[...
+ <context-param>
+ <param-name>org.ajax4jsf.COMPRESS_SCRIPT</param-name>
+ <param-value>false</param-value>
+ </context-param>
+ ...
+ ]]></programlisting-->
+ </note>
+
+ <para>
+ <code>org.richfaces.LoadStyleStrategy</code>
+ </para>
+
+ <para>
+ The following declaration allows to load only one integrated
+ style sheet file.
+ </para>
+ <programlisting role="XML"><![CDATA[...
<context-param>
<param-name>org.richfaces.LoadStyleStrategy</param-name>
<param-value>ALL</param-value>
</context-param>
...
]]></programlisting>
- <para>The integrated style sheet contains style for all shipped components. The
skinnability
- feature still works. </para>
- <para>The "DEFAULT" value is a classical on-demand variant.
</para>
- <para>The "NONE" stops loading the styles at all. The earlier
introduced
- plain skin resets all color and font parameters to null. The
"NONE" value
- for <property>org.richfaces.LoadStyleStrategy</property> means that
predefined styles for
- RichFaces are not used.</para>
- <para>For more information see <ulink
-
url="http://www.jboss.com/index.html?module=bb&op=viewtopic&...
- >RichFaces User Forum</ulink>.</para>
- </section>
+ <para>
+ The integrated style sheet contains style for all shipped
+ components. The skinnability feature still works.
+ </para>
+ <para>
+ The "DEFAULT" value is a classical on-demand
+ variant.
+ </para>
+ <para>
+ The "NONE" stops loading the styles at all. The
+ earlier introduced plain skin resets all color and font
+ parameters to null. The "NONE" value for
+ <code>org.richfaces.LoadStyleStrategy</code>
+ means that predefined styles for RichFaces are not used.
+ </para>
+ <para>
+ For more information see
+ <ulink
+
url="http://www.jboss.com/index.html?module=bb&op=viewtopic&...
+ RichFaces User Forum
+ </ulink>
+ .
+ </para>
+ </section>
- <section id="RequestErrorsAndSessionExpirationHandling">
- <?dbhtml filename="RequestErrorsAndSessionExpirationHandling.html"?>
- <title>Request Errors and Session Expiration Handling</title>
- <para>RichFaces allows to redefine standard handlers responsible for processing
of different
- exceptional situations. It helps to define own JavaScript, which is executed when
these
- situations occur.</para>
- <section id="RequestErrorsHandling">
- <?dbhtml filename="RequestErrorsHandling.html"?>
- <title>Request Errors Handling</title>
- <para>To execute your own code on the client in case of an error during Ajax
request,
- it's necessary to redefine the standard
"A4J.AJAX.onError"
- method:</para>
- <programlisting role="JAVA"><![CDATA[A4J.AJAX.onError =
function(req,status,message) {
+ <section id="RequestErrorsAndSessionExpirationHandling">
+ <?dbhtml filename="RequestErrorsAndSessionExpirationHandling.html"?>
+ <title>Request Errors and Session Expiration Handling</title>
+ <para>
+ RichFaces allows to redefine standard handlers responsible
+ for processing of different exceptional situations. It helps
+ to define own JavaScript, which is executed when these
+ situations occur.
+ </para>
+ <section id="RequestErrorsHandling">
+ <?dbhtml filename="RequestErrorsHandling.html"?>
+ <title>Request Errors Handling</title>
+ <para>
+ To execute your own code on the client in case of an
+ error during Ajax request, it's necessary to
+ redefine the standard
+ <code>"A4J.AJAX.onError"</code>
+ method:
+ </para>
+ <programlisting role="JAVA"><![CDATA[A4J.AJAX.onError =
function(req,status,message) {
// Custom Developer Code
};]]></programlisting>
- <para>The function defined this way accepts as parameters:</para>
- <itemizedlist>
- <listitem><para>req - a params string of a request that calls an
error</para></listitem>
- <listitem><para>status - the number of an error returned by the
server</para></listitem>
- <listitem><para>message - a default message for the given
error</para></listitem>
- </itemizedlist>
- <para>Thus, it's possible to create your own handler that is called
on timeouts,
- inner server errors, and etc.</para>
- </section>
- <section id="SessionExpiredHandling">
- <?dbhtml filename="SessionExpiredHandling.html"?>
- <title>Session Expired Handling</title>
- <para>It's possible to redefine also the <emphasis>
- <property>"onExpired"</property>
- </emphasis> framework method that is called on the <emphasis>
- <property>"Session Expiration"</property>
- </emphasis> event.</para>
+ <para>
+ The function defined this way accepts as parameters:
+ </para>
+ <itemizedlist>
+ <listitem>
+ <para>
+ <code>req</code>
+ - a params string of a request that calls an
+ error
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <code>status</code>
+ - the number of an error returned by the server
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <code>message</code>
+ - a default message for the given error
+ </para>
+ </listitem>
+ </itemizedlist>
+ <para>
+ Thus, it's possible to create your own handler that
+ is called on timeouts, inner server errors, and etc.
+ </para>
+ </section>
+ <section id="SessionExpiredHandling">
+ <?dbhtml filename="SessionExpiredHandling.html"?>
+ <title>Session Expired Handling</title>
+ <para>
+ It's possible to redefine also the
+ <emphasis>
+ <property>"onExpired"</property>
+ </emphasis>
+ framework method that is called on the
+ <emphasis>
+ <property>"Session Expiration"</property>
+ </emphasis>
+ event.
+ </para>
- <para>
- <emphasis role="bold">Example:</emphasis>
- </para>
+ <para>
+ <emphasis role="bold">Example:</emphasis>
+ </para>
- <programlisting role="JAVA"><![CDATA[A4J.AJAX.onExpired =
function(loc,expiredMsg){
+ <programlisting role="JAVA"><![CDATA[A4J.AJAX.onExpired =
function(loc,expiredMsg){
// Custom Developer Code
};
]]></programlisting>
- <para>Here the function receives in params:</para>
- <itemizedlist>
- <listitem><para>loc - URL of the current page (on demand can be
updated) </para></listitem>
- <listitem><para>expiredMsg - a default message on <emphasis>
- <property>"Session Expiration"</property>
- </emphasis>event.</para></listitem>
- </itemizedlist>
- <!--note>
-<title>Note:</title>
-Until the version 1.0.5 the method can't be redefined on <emphasis >
- <property>"Session Expiration"</property>,
- </emphasis> a confirmation dialog with a request for view reloading was always
called.
-</note-->
- </section>
- </section>
+ <para>Here the function receives in params:</para>
+ <itemizedlist>
+ <listitem>
+ <para>
+ <code>
+ loc
+ </code> - URL of the current page (on demand can be
+ updated)
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <code>
+ expiredMsg
+ </code>- a default message on
+ <emphasis>
+ <property>
+ "Session Expiration"
+ </property>
+ </emphasis>
+ event.
+ </para>
+ </listitem>
+ </itemizedlist>
+ <!--note>
+ <title>Note:</title>
+ Until the version 1.0.5 the method can't be redefined on <emphasis >
+ <property>"Session Expiration"</property>,
+ </emphasis> a confirmation dialog with a request for view reloading was always
called.
+ </note-->
+ </section>
+ </section>
- <section id="Skinnability">
- <?dbhtml filename="Skinnability.html"?>
- <title>Skinnability</title>
+ <section id="Skinnability">
+ <?dbhtml filename="Skinnability.html"?>
+ <title>Skinnability</title>
- <section id="WhySkinnability">
- <?dbhtml filename="WhySkinnability.html"?>
- <title>Why Skinnability</title>
+ <section id="WhySkinnability">
+ <?dbhtml filename="WhySkinnability.html"?>
+ <title>Why Skinnability</title>
- <para>If you have a look at a CSS file in an enterprise application, for
example, the one
- you're working on now, you'll see how often the same color is
noted in it.
- Standard CSS has no way to define a particular color abstractly for defining as a
panel
- header color, a background color of an active pop-up menu item, a separator
color, etc. To
- define common interface styles, you have to copy the same values over and over
again and the
- more interface elements you have the more copy-and-paste activity that needs to
be
- performed.</para>
+ <para>
+ If you have a look at a CSS file in an enterprise
+ application, for example, the one you're working on
+ now, you'll see how often the same color is noted
+ in it. Standard CSS has no way to define a particular
+ color abstractly for defining as a panel header color, a
+ background color of an active pop-up menu item, a
+ separator color, etc. To define common interface styles,
+ you have to copy the same values over and over again and
+ the more interface elements you have the more
+ copy-and-paste activity that needs to be performed.
+ </para>
- <para>Hence, if you want to change the application palette, you have to
change all
- interrelating values, otherwise your interface can appear a bit clumsy. The
chances of such
- an interface coming about is very high, as CSS editing usually becomes the duty
of a general
- developer who doesn't necessarily have much knowledge of user interface
design.</para>
+ <para>
+ Hence, if you want to change the application palette,
+ you have to change all interrelating values, otherwise
+ your interface can appear a bit clumsy. The chances of
+ such an interface coming about is very high, as CSS
+ editing usually becomes the duty of a general developer
+ who doesn't necessarily have much knowledge of user
+ interface design.
+ </para>
- <para>Moreover, if a customer wishes to have an interface look-and-feel that
can be adjusted
- on-the-fly by an end user, your work is multiplied, as you have to deal with
several CSS
- files variants, each of which contains the same values repeated numerous
times.</para>
+ <para>
+ Moreover, if a customer wishes to have an interface
+ look-and-feel that can be adjusted on-the-fly by an end
+ user, your work is multiplied, as you have to deal with
+ several CSS files variants, each of which contains the
+ same values repeated numerous times.
+ </para>
- <para>These problems can be solved with the
<property>skinnability</property> system built
- into theRichFaces project and realized fully in RichFaces. Every named skin has
some
- skin-parameters for the definition of a palette and the other parameters of the
user
- interface. By changing just a few parameters, you can alter the appearance of
dozens of
- components in an application in a synchronized fashion without messing up user
interface
- consistency.</para>
+ <para>
+ These problems can be solved with the
+ <property>skinnability</property>
+ system built into theRichFaces project and realized
+ fully in RichFaces. Every named skin has some
+ skin-parameters for the definition of a palette and the
+ other parameters of the user interface. By changing just
+ a few parameters, you can alter the appearance of dozens
+ of components in an application in a synchronized
+ fashion without messing up user interface consistency.
+ </para>
- <para>The <property>skinnability</property> feature
can't completely replace standard
- CSS and certainly doesn't eliminate its usage.
<property>Skinnability</property> is
- a high-level extension of standard CSS, which can be used together with regular
CSS
- declarations. You can also refer to skin parameters in CSS via JSF Expression
Language. You
- have the complete ability to synchronize the appearance of all the elements in
your
- pages.</para>
- </section>
+ <para>
+ The
+ <property>skinnability</property>
+ feature can't completely replace standard CSS and
+ certainly doesn't eliminate its usage.
+ <property>Skinnability</property>
+ is a high-level extension of standard CSS, which can be
+ used together with regular CSS declarations. You can
+ also refer to skin parameters in CSS via JSF Expression
+ Language. You have the complete ability to synchronize
+ the appearance of all the elements in your pages.
+ </para>
+ </section>
- <section id="UsingSkinnability">
- <?dbhtml filename="UsingSkinnability.html"?>
- <title>Using Skinnability</title>
+ <section id="UsingSkinnability">
+ <?dbhtml filename="UsingSkinnability.html"?>
+ <title>Using Skinnability</title>
- <para>RichFaces <property>skinnability</property> is designed for
mixed usage with:</para>
+ <para>
+ RichFaces
+ <property>skinnability</property>
+ is designed for mixed usage with:
+ </para>
- <itemizedlist>
- <listitem>
- <para>Skin parameters defined in the RichFaces framework</para>
- </listitem>
+ <itemizedlist>
+ <listitem>
+ <para>
+ Skin parameters defined in the RichFaces
+ framework
+ </para>
+ </listitem>
- <listitem>
- <para>Predefined CSS classes for components</para>
- </listitem>
+ <listitem>
+ <para>Predefined CSS classes for components</para>
+ </listitem>
- <listitem>
- <para>User style classes</para>
- </listitem>
- </itemizedlist>
+ <listitem>
+ <para>User style classes</para>
+ </listitem>
+ </itemizedlist>
- <para>The color scheme of the component can be applied to its elements using
any of three
- style classes:</para>
+ <para>
+ The color scheme of the component can be applied to its
+ elements using any of three style classes:
+ </para>
- <itemizedlist>
- <listitem>
- <para>A default style class inserted into the framework</para>
+ <itemizedlist>
+ <listitem>
+ <para>
+ A default style class inserted into the
+ framework
+ </para>
- <para>This contains style parameters linked to some constants from a
skin. It is defined
- for every component and specifies a default representation level. Thus, an
application
- interface could be modified by changing the values of skin
parameters.</para>
- </listitem>
+ <para>
+ This contains style parameters linked to some
+ constants from a skin. It is defined for every
+ component and specifies a default representation
+ level. Thus, an application interface could be
+ modified by changing the values of skin
+ parameters.
+ </para>
+ </listitem>
- <listitem>
- <para>A style class of skin extension</para>
+ <listitem>
+ <para>A style class of skin extension</para>
- <para>This class name is defined for every component element and inserted
into the
- framework to allow defining a class with the same name into its CSS files.
Hence, the
- appearance of all components that use this class is extended.</para>
- </listitem>
+ <para>
+ This class name is defined for every component
+ element and inserted into the framework to allow
+ defining a class with the same name into its CSS
+ files. Hence, the appearance of all components
+ that use this class is extended.
+ </para>
+ </listitem>
- <listitem>
- <para>User style class</para>
+ <listitem>
+ <para>User style class</para>
- <para>It's possible to use one of the styleClass parameters for
component
- elements and define your own class in it. As a result, the appearance of one
particular
- component is changed according to a CSS style parameter specified in the
class.</para>
- </listitem>
- </itemizedlist>
- </section>
+ <para>
+ It's possible to use one of the styleClass
+ parameters for component elements and define
+ your own class in it. As a result, the
+ appearance of one particular component is
+ changed according to a CSS style parameter
+ specified in the class.
+ </para>
+ </listitem>
+ </itemizedlist>
+ </section>
- <section id="Example">
- <title>Example</title>
+ <section id="Example">
+ <title>Example</title>
- <para>Here is a simple panel component:</para>
+ <para>Here is a simple panel component:</para>
- <para>
- <emphasis role="bold">Example:</emphasis>
- </para>
- <programlisting role="XML"><rich:panel>
-...
-</rich:panel></programlisting>
+ <para>
+ <emphasis role="bold">Example:</emphasis>
+ </para>
+ <programlisting role="XML">
+ <rich:panel> ... </rich:panel>
+ </programlisting>
- <para>The code generates a panel component on a page, which consists of two
elements: a
- wrapper <emphasis role="bold">
- <property><div></property>
- </emphasis> element and a <emphasis role="bold">
- <property><div></property>
- </emphasis> element for the panel body with the particular style
properties. The wrapper
- <emphasis role="bold">
- <property><div></property>
- </emphasis> element looks like:</para>
+ <para>
+ The code generates a panel component on a page, which
+ consists of two elements: a wrapper
+ <emphasis role="bold">
+ <property><div></property>
+ </emphasis>
+ element and a
+ <emphasis role="bold">
+ <property><div></property>
+ </emphasis>
+ element for the panel body with the particular style
+ properties. The wrapper
+ <emphasis role="bold">
+ <property><div></property>
+ </emphasis>
+ element looks like:
+ </para>
- <para>
- <emphasis role="bold">Example:</emphasis>
- </para>
- <programlisting role="XML"><div class="dr-pnl
rich-panel">
-...
-</div></programlisting>
+ <para>
+ <emphasis role="bold">Example:</emphasis>
+ </para>
+ <programlisting role="XML">
+ <div class="dr-pnl rich-panel"> ... </div>
+ </programlisting>
- <para>dr-pnl is a CSS class specified in the framework via skin
parameters:</para>
+ <para>
+ dr-pnl is a CSS class specified in the framework via
+ skin parameters:
+ </para>
- <itemizedlist>
- <listitem>
- <para><property>background-color</property> is defined with
- <property>generalBackgroundColor</property></para>
- </listitem>
+ <itemizedlist>
+ <listitem>
+ <para>
+ <property>background-color</property>
+ is defined with
+ <property>generalBackgroundColor</property>
+ </para>
+ </listitem>
- <listitem>
- <para><property>border-color</property> is defined with
- <property>panelBorderColor</property></para>
- </listitem>
- </itemizedlist>
+ <listitem>
+ <para>
+ <property>border-color</property>
+ is defined with
+ <property>panelBorderColor</property>
+ </para>
+ </listitem>
+ </itemizedlist>
- <para>It's possible to change all colors for all panels on all pages
by changing
- these skin parameters.</para>
+ <para>
+ It's possible to change all colors for all panels
+ on all pages by changing these skin parameters.
+ </para>
- <para>However, if a <emphasis role="bold">
- <property><rich-panel></property>
- </emphasis> class is specified somewhere on the page, its parameters are
also acquired by
- all panels on this page.</para>
+ <para>
+ However, if a
+ <emphasis role="bold">
+ <property><rich-panel></property>
+ </emphasis>
+ class is specified somewhere on the page, its parameters
+ are also acquired by all panels on this page.
+ </para>
- <para>A developer may also change the style properties for a particular
panel. The following
- definition:</para>
+ <para>
+ A developer may also change the style properties for a
+ particular panel. The following definition:
+ </para>
- <para>
- <emphasis role="bold">Example:</emphasis>
- </para>
- <programlisting role="XML"><rich:panel
styleClass="customClass">
-...
-</rich:panel></programlisting>
+ <para>
+ <emphasis role="bold">Example:</emphasis>
+ </para>
+ <programlisting role="XML">
+ <rich:panel styleClass="customClass"> ...
+ </rich:panel>
+ </programlisting>
- <para>could add some style properties from customClass to one particular
panel, as a result we
- get three styles:</para>
+ <para>
+ Could add some style properties from customClass to one
+ particular panel, as a result we get three styles:
+ </para>
- <para>
- <emphasis role="bold">Example:</emphasis>
- </para>
- <programlisting role="XML"><div class="dr_pnl
rich-panel customClass">
-...
-</div></programlisting>
- </section>
+ <para>
+ <emphasis role="bold">Example:</emphasis>
+ </para>
+ <programlisting role="XML">
+ <div class="dr_pnl rich-panel customClass"> ...
+ </div>
+ </programlisting>
+ </section>
- <section id="SkinParametersTablesInRichFaces">
- <?dbhtml filename="SkinParametersTablesInRichFaces.html"?>
+ <section id="SkinParametersTablesInRichFaces">
+ <?dbhtml filename="SkinParametersTablesInRichFaces.html"?>
- <title>Skin Parameters Tables in RichFaces</title>
+ <title>Skin Parameters Tables in RichFaces</title>
- <para>RichFaces provides eight predefined skin parameters (skins) at the
simplest level of
- common customization:</para>
+ <para>
+ RichFaces provides eight predefined skin parameters
+ (skins) at the simplest level of common customization:
+ </para>
- <itemizedlist>
- <listitem><para> DEFAULT </para></listitem>
+ <itemizedlist>
+ <listitem>
+ <para>DEFAULT</para>
+ </listitem>
- <listitem><para> plain </para></listitem>
+ <listitem>
+ <para>plain</para>
+ </listitem>
- <listitem><para> emeraldTown </para></listitem>
+ <listitem>
+ <para>emeraldTown</para>
+ </listitem>
- <listitem><para> blueSky </para></listitem>
+ <listitem>
+ <para>blueSky</para>
+ </listitem>
- <listitem><para> wine </para></listitem>
+ <listitem>
+ <para>wine</para>
+ </listitem>
- <listitem><para> japanCherry </para></listitem>
+ <listitem>
+ <para>japanCherry</para>
+ </listitem>
- <listitem><para> ruby </para></listitem>
+ <listitem>
+ <para>ruby</para>
+ </listitem>
- <listitem><para> classic </para></listitem>
+ <listitem>
+ <para>classic</para>
+ </listitem>
- <listitem><para> deepMarine </para></listitem>
- </itemizedlist>
+ <listitem>
+ <para>deepMarine</para>
+ </listitem>
+ </itemizedlist>
- <para>To plug one in, it's necessary to specify a skin name in the
<emphasis>
- <property>"org.richfaces.SKIN"</property>
- </emphasis> context-param.</para>
+ <para>
+ To plug one in, it's necessary to specify a skin
+ name in the
+ <emphasis>
+ <code>org.richfaces.SKIN</code>
+ </emphasis>
+ context-param.
+ </para>
- <para>Here is an example of a table with values for one of the main skins,
- <property>"blueSky"</property>.</para>
+ <para>
+ Here is an example of a table with values for one of the
+ main skins,
+ <property>"blueSky"</property>
+ .
+ </para>
- <table>
- <title>Colors</title>
+ <table>
+ <title>Colors</title>
- <tgroup cols="2">
- <thead>
- <row>
- <entry>Parameter name</entry>
+ <tgroup cols="2">
+ <thead>
+ <row>
+ <entry>Parameter name</entry>
- <entry>Default value</entry>
- </row>
- </thead>
+ <entry>Default value</entry>
+ </row>
+ </thead>
- <tbody>
- <row>
- <entry>headerBackgroundColor</entry>
+ <tbody>
+ <row>
+ <entry>headerBackgroundColor</entry>
- <entry>#BED6F8</entry>
- </row>
+ <entry>#BED6F8</entry>
+ </row>
- <row>
- <entry>headerGradientColor</entry>
+ <row>
+ <entry>headerGradientColor</entry>
- <entry>#F2F7FF</entry>
- </row>
+ <entry>#F2F7FF</entry>
+ </row>
- <row>
- <entry>headTextColor</entry>
+ <row>
+ <entry>headTextColor</entry>
- <entry>#000000</entry>
- </row>
+ <entry>#000000</entry>
+ </row>
- <row>
- <entry>headerWeightFont</entry>
+ <row>
+ <entry>headerWeightFont</entry>
- <entry>bold</entry>
- </row>
+ <entry>bold</entry>
+ </row>
- <row>
- <entry>generalBackgroundColor</entry>
+ <row>
+ <entry>generalBackgroundColor</entry>
- <entry>#FFFFFF</entry>
- </row>
+ <entry>#FFFFFF</entry>
+ </row>
- <row>
- <entry>generalTextColor</entry>
+ <row>
+ <entry>generalTextColor</entry>
- <entry>#000000</entry>
- </row>
+ <entry>#000000</entry>
+ </row>
- <row>
- <entry>generalSizeFont</entry>
+ <row>
+ <entry>generalSizeFont</entry>
- <entry>11px</entry>
- </row>
+ <entry>11px</entry>
+ </row>
- <row>
- <entry>generalFamilyFont</entry>
+ <row>
+ <entry>generalFamilyFont</entry>
- <entry>Arial, Verdana, sans-serif</entry>
- </row>
+ <entry>Arial, Verdana, sans-serif</entry>
+ </row>
- <row>
- <entry>controlTextColor</entry>
+ <row>
+ <entry>controlTextColor</entry>
- <entry>#000000</entry>
- </row>
+ <entry>#000000</entry>
+ </row>
- <row>
- <entry>controlBackgroundColor</entry>
+ <row>
+ <entry>controlBackgroundColor</entry>
- <entry>#ffffff</entry>
- </row>
+ <entry>#ffffff</entry>
+ </row>
- <row>
- <entry>additionalBackgroundColor</entry>
+ <row>
+ <entry>additionalBackgroundColor</entry>
- <entry>#ECF4FE</entry>
- </row>
+ <entry>#ECF4FE</entry>
+ </row>
- <row>
- <entry>shadowBackgroundColor</entry>
+ <row>
+ <entry>shadowBackgroundColor</entry>
- <entry>#000000</entry>
- </row>
+ <entry>#000000</entry>
+ </row>
- <row>
- <entry>shadowOpacity</entry>
+ <row>
+ <entry>shadowOpacity</entry>
- <entry>1</entry>
- </row>
+ <entry>1</entry>
+ </row>
- <row>
- <entry>panelBorderColor</entry>
+ <row>
+ <entry>panelBorderColor</entry>
- <entry>#BED6F8</entry>
- </row>
+ <entry>#BED6F8</entry>
+ </row>
- <row>
- <entry>subBorderColor</entry>
+ <row>
+ <entry>subBorderColor</entry>
- <entry>#ffffff</entry>
- </row>
+ <entry>#ffffff</entry>
+ </row>
- <row>
- <entry>tabBackgroundColor</entry>
+ <row>
+ <entry>tabBackgroundColor</entry>
- <entry>#C6DEFF</entry>
- </row>
+ <entry>#C6DEFF</entry>
+ </row>
- <row>
- <entry>tabDisabledTextColor</entry>
+ <row>
+ <entry>tabDisabledTextColor</entry>
- <entry>#8DB7F3</entry>
- </row>
+ <entry>#8DB7F3</entry>
+ </row>
- <row>
- <entry>trimColor</entry>
+ <row>
+ <entry>trimColor</entry>
- <entry>#D6E6FB</entry>
- </row>
+ <entry>#D6E6FB</entry>
+ </row>
- <row>
- <entry>tipBackgroundColor</entry>
+ <row>
+ <entry>tipBackgroundColor</entry>
- <entry>#FAE6B0</entry>
- </row>
+ <entry>#FAE6B0</entry>
+ </row>
- <row>
- <entry>tipBorderColor</entry>
+ <row>
+ <entry>tipBorderColor</entry>
- <entry>#E5973E</entry>
- </row>
+ <entry>#E5973E</entry>
+ </row>
- <row>
- <entry>selectControlColor</entry>
+ <row>
+ <entry>selectControlColor</entry>
- <entry>#E79A00</entry>
- </row>
+ <entry>#E79A00</entry>
+ </row>
- <row>
- <entry>generalLinkColor</entry>
+ <row>
+ <entry>generalLinkColor</entry>
- <entry>#0078D0</entry>
- </row>
+ <entry>#0078D0</entry>
+ </row>
- <row>
- <entry>hoverLinkColor</entry>
+ <row>
+ <entry>hoverLinkColor</entry>
- <entry>#0090FF</entry>
- </row>
+ <entry>#0090FF</entry>
+ </row>
- <row>
- <entry>visitedLinkColor</entry>
+ <row>
+ <entry>visitedLinkColor</entry>
- <entry>#0090FF</entry>
- </row>
- </tbody>
- </tgroup>
- </table>
+ <entry>#0090FF</entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </table>
- <table>
- <title>Fonts</title>
+ <table>
+ <title>Fonts</title>
- <tgroup cols="2">
- <thead>
- <row>
- <entry>Parameter name</entry>
+ <tgroup cols="2">
+ <thead>
+ <row>
+ <entry>Parameter name</entry>
- <entry>Default value</entry>
- </row>
- </thead>
+ <entry>Default value</entry>
+ </row>
+ </thead>
- <tbody>
- <row>
- <entry>headerSizeFont</entry>
+ <tbody>
+ <row>
+ <entry>headerSizeFont</entry>
- <entry>11px</entry>
- </row>
+ <entry>11px</entry>
+ </row>
- <row>
- <entry>headerFamilyFont</entry>
+ <row>
+ <entry>headerFamilyFont</entry>
- <entry>Arial, Verdana, sans-serif</entry>
- </row>
+ <entry>Arial, Verdana, sans-serif</entry>
+ </row>
- <row>
- <entry>tabSizeFont</entry>
+ <row>
+ <entry>tabSizeFont</entry>
- <entry>11px</entry>
- </row>
+ <entry>11px</entry>
+ </row>
- <row>
- <entry>tabFamilyFont</entry>
+ <row>
+ <entry>tabFamilyFont</entry>
- <entry>Arial, Verdana, sans-serif</entry>
- </row>
+ <entry>Arial, Verdana, sans-serif</entry>
+ </row>
- <row>
- <entry>buttonSizeFont</entry>
+ <row>
+ <entry>buttonSizeFont</entry>
- <entry>11px</entry>
- </row>
+ <entry>11px</entry>
+ </row>
- <row>
- <entry>buttonFamilyFont</entry>
+ <row>
+ <entry>buttonFamilyFont</entry>
- <entry>Arial, Verdana, sans-serif</entry>
- </row>
+ <entry>Arial, Verdana, sans-serif</entry>
+ </row>
- <row>
- <entry>tableBackgroundColor</entry>
+ <row>
+ <entry>tableBackgroundColor</entry>
- <entry>#FFFFFF</entry>
- </row>
+ <entry>#FFFFFF</entry>
+ </row>
- <row>
- <entry>tableFooterBackgroundColor</entry>
+ <row>
+ <entry>tableFooterBackgroundColor</entry>
- <entry>#cccccc</entry>
- </row>
+ <entry>#cccccc</entry>
+ </row>
- <row>
- <entry>tableSubfooterBackgroundColor</entry>
+ <row>
+ <entry>tableSubfooterBackgroundColor</entry>
- <entry>#f1f1f1</entry>
- </row>
+ <entry>#f1f1f1</entry>
+ </row>
- <row>
- <entry>tableBorderColor</entry>
+ <row>
+ <entry>tableBorderColor</entry>
- <entry>#C0C0C0</entry>
- </row>
- </tbody>
- </tgroup>
- </table>
+ <entry>#C0C0C0</entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </table>
- <para> Skin "plain" was added from 3.0.2 version. It doesn't
have any parameters. It's
- necessary for embedding RichFaces components into existing projecst which have
its own
- styles. </para>
+ <para>
+ Skin "plain" was added from 3.0.2 version. It doesn't
+ have any parameters. It's necessary for embedding
+ RichFaces components into existing projecst which have
+ its own styles.
+ </para>
- <para>To get detailed information on particular parameter possibilities, see
the <link
- linkend="RichFacesComponentsLibrary">chapter</link> where
each component has skin
- parameters described corresponding to its elements.</para>
- </section>
+ <para>
+ To get detailed information on particular parameter
+ possibilities, see the
+ <link linkend="RichFacesComponentsLibrary">
+ chapter
+ </link>
+ where each component has skin parameters described
+ corresponding to its elements.
+ </para>
+ </section>
- <section id="CreatingAndUsingYourOwnSkinFile">
- <?dbhtml filename="CreatingAndUsingYourOwnSkinFile.html"?>
- <title>Creating and Using Your Own Skin File</title>
+ <section id="CreatingAndUsingYourOwnSkinFile">
+ <?dbhtml filename="CreatingAndUsingYourOwnSkinFile.html"?>
+ <title>Creating and Using Your Own Skin File</title>
- <para>In order to create your own skin file, do the following:</para>
+ <para>
+ In order to create your own skin file, do the following:
+ </para>
- <itemizedlist>
- <listitem>
- <para>Create a file and define in it skin constants which are used by
style classes (see
- section <link
linkend="SkinParametersTablesInRichFaces">"Skin Parameters Tables
- in RichFaces"</link>). The name of skin file should
correspond to the
- following format:
<property><name>.skin.properties</property>. As an
- example of such file you can see RichFaces predefined skin parameters
(skins): blueSky,
- classic, deepMarine, etc. These files are located in the
richfaces-impl-xxxxx.jar inside
- the /META-INF/skins folder.</para>
- </listitem>
+ <itemizedlist>
+ <listitem>
+ <para>
+ Create a file and define in it skin constants
+ which are used by style classes (see section
+ <link
+ linkend="SkinParametersTablesInRichFaces">
+ "Skin Parameters Tables in
+ RichFaces"
+ </link>
+ ). The name of skin file should correspond to
+ the following format:
+ <code><name>.skin.properties</code>
+ . As an example of such file you can see
+ RichFaces predefined skin parameters (skins):
+ blueSky, classic, deepMarine, etc. These files
+ are located in the
+ <code>richfaces-impl-xxxxx.jar</code>
+ inside the /META-INF/skins folder.
+ </para>
+ </listitem>
- <listitem>
- <para>Add a skin definition <contex-param> to the web.xml
of your
- application. An example is placed below:</para>
- <para>
- <emphasis role="bold">Example:</emphasis>
- </para>
- <programlisting role="XML"><![CDATA[...
+ <listitem>
+ <para>
+ Add a skin definition <contex-param> to
+ the web.xml of your application. An example is
+ placed below:
+ </para>
+ <para>
+ <emphasis role="bold">Example:</emphasis>
+ </para>
+ <programlisting role="XML"><![CDATA[...
<context-param>
<param-name>org.richfaces.SKIN</param-name>
<param-value>name</param-value>
</context-param>
...
]]></programlisting>
- </listitem>
+ </listitem>
- <listitem>
- <para>Put your
<property><name>.skin.properties</property> file in one of
- the following classpath elements: META-INF/skins/ or classpath folder (e.g.
- WEB-INF/classes).</para>
- </listitem>
- </itemizedlist>
- </section>
- <section>
- <title>Built-in skinnability in RichFaces</title>
- <para>RichFaces gives an opportunity to incorporate
<property>skinnability</property> into UI
- design. With this framework you can easily use named skin parameters in
properties files to
- control the appearance of the skins that are applied consistently to a whole set
of
- components. You can look at examples of predefined skins at:</para>
- <simplelist>
- <member>
- <ulink
url="http://livedemo.exadel.com/richfaces-demo/"
- >http://livedemo.exadel.com/richfaces-demo/</ulink>
- </member>
- </simplelist>
- <para> You may simply control the look-and-feel of your application by using
the
- <property>skinnability</property> service of the RichFaces
framework. With the means of
- this service you can define the same style for rendering standard JSF components
and custom
- JSF components built with the help of RichFaces. </para>
- <para>To find out more on <property>skinnability</property>
possibilities, follow these steps:</para>
- <itemizedlist>
- <listitem><para> Create a custom render kit and register it in the
faces-config.xml like this: </para><programlisting
role="XML"><![CDATA[<render-kit>
+ <listitem>
+ <para>
+ Put your
+ <code><name>.skin.properties</code>
+ file in one of the following classpath elements:
+ META-INF/skins/ or classpath folder (e.g.
+ WEB-INF/classes).
+ </para>
+ </listitem>
+ </itemizedlist>
+ </section>
+ <section>
+ <title>Built-in skinnability in RichFaces</title>
+ <para>
+ RichFaces gives an opportunity to incorporate
+ <property>skinnability</property>
+ into UI design. With this framework you can easily use
+ named skin parameters in properties files to control the
+ appearance of the skins that are applied consistently to
+ a whole set of components. You can look at examples of
+ predefined skins at:
+ </para>
+ <simplelist>
+ <member>
+ <ulink
+
url="http://livedemo.exadel.com/richfaces-demo/">
+
http://livedemo.exadel.com/richfaces-demo/
+ </ulink>
+ </member>
+ </simplelist>
+ <para>
+ You may simply control the look-and-feel of your
+ application by using the
+ <property>skinnability</property>
+ service of the RichFaces framework. With the means of
+ this service you can define the same style for rendering
+ standard JSF components and custom JSF components built
+ with the help of RichFaces.
+ </para>
+ <para>
+ To find out more on
+ <property>skinnability</property>
+ possibilities, follow these steps:
+ </para>
+ <itemizedlist>
+ <listitem>
+ <para>
+ Create a custom render kit and register it in
+ the faces-config.xml like this:
+ </para>
+ <programlisting role="XML"><![CDATA[<render-kit>
<render-kit-id>NEW_SKIN</render-kit-id>
<render-kit-class>
org.ajax4jsf.framework.renderer.ChameleonRenderKitImpl
</render-kit-class>
</render-kit>]]></programlisting>
- </listitem>
- <listitem><para> Then you need to create and register custom
renderers for the component based on
- the look-and-feel predefined variables: </para><programlisting
role="XML"><![CDATA[<renderer>
+ </listitem>
+ <listitem>
+ <para>
+ Then you need to create and register custom
+ renderers for the component based on the
+ look-and-feel predefined variables:
+ </para>
+ <programlisting role="XML"><![CDATA[<renderer>
<component-family>javax.faces.Command</component-family>
<renderer-type>javax.faces.Link</renderer-type>
<renderer-class>
newskin.HtmlCommandLinkRenderer
</renderer-class>
</renderer>]]></programlisting>
- </listitem>
- <listitem><para> Finally, you need to place a properties file with
skin parameters into the class
- path root. There are two requirements for the properties file:
</para><itemizedlist>
- <listitem><para> The file must be named <emphasis
role="bold">
- <property><skinName></property>
- </emphasis>.skin.properties, in this case, it would be called
- <filename>newskin.skin.properties</filename>.
</para></listitem>
- <listitem><para> The first line in this file should be
render.kit= <emphasis role="bold"
-
><property><render-kit-id></property>,</emphasis> in
this case, it
- would be called render.kit=NEW_SKIN. </para></listitem>
- </itemizedlist>
- </listitem>
- </itemizedlist>
- <para>Extra information on custom renderers creation can be found
at:</para>
- <simplelist>
- <member>
- <ulink
url="http://java.sun.com/javaee/javaserverfaces/reference/docs/index...
-
>http://java.sun.com/javaee/javaserverfaces/reference/docs/index.html</ulink>
- </member>
- </simplelist>
- </section>
-
- <section id="StControlsSkinning">
- <title>Standard controls skinning</title>
- <para>The feature is designed to unify the look and feel of standard HTML
element and RichFaces components.
- Skinning can be applied to all controls on a page basing on elements'
- name and attribute type (where applicable). Also this feature
- provides a set of CSS styles so that skinning can be applied
- assigning rich-* classes to particular elements or to container of elements that
nests controls.
- </para>
-
-
- <para>
- Standard controls skinning feature provides 2 levels of skinning - standard and
extended, while skinning is based on detecting browser user agent. If user agent is not
detected, Advanced level is used.
- </para>
- <itemizedlist>
- <listitem>
- <para>
- <emphasis><property>Standard</property></emphasis>
provides customization only basic style properties.
- </para>
- <para>
- To the following browsers Basic level of skinning is applied:
- </para>
- <itemizedlist>
- <listitem><para>Internet Explorer 6
</para></listitem>
- <listitem><para>Internet Explorer 7 in BackCompat mode (see
<ulink
url="http://msdn2.microsoft.com/en-us/library/ms533687(VS.85).aspx&q...
property in MSDN</ulink>) </para></listitem>
- <listitem><para>Opera </para></listitem>
- <listitem><para>Safari</para></listitem>
- </itemizedlist>
- </listitem>
-
- <listitem>
- <para>
-
-
<emphasis><property>Extended</property></emphasis> extends basic
level introducing broader
- number of style properties and is applied to browsers with rich visual
styling capability of controls
- </para>
- <para>
- The following browsers support Advanced level of skinning:
- </para>
- <itemizedlist>
- <listitem><para>Mozilla Firefox</para></listitem>
- <listitem><para>Internet Explorer 7 in Standards-compliant mode
(CSS1Compat mode)</para></listitem>
- </itemizedlist>
-
- </listitem>
- </itemizedlist>
-
-
- <para>
-
- These are the elements that affected by skinning:
- </para>
- <itemizedlist>
-
<listitem><para><property>input</property></para></listitem>
-
<listitem><para><property>select</property></para></listitem>
-
<listitem><para><property>textarea</property></para></listitem>
-
<listitem><para><property>keygen</property></para></listitem>
-
<listitem><para><property>isindex</property></para></listitem>
-
<listitem><para><property>legend</property></para></listitem>
-
<listitem><para><property>fieldset</property></para></listitem>
-
<listitem><para><property>hr</property></para></listitem>
- <listitem><para><property>a (together with a:hover, a:visited
"pseudo"-elements)</property></para></listitem>
+ </listitem>
+ <listitem>
+ <para>
+ Finally, you need to place a properties file
+ with skin parameters into the class path root.
+ There are two requirements for the properties
+ file:
+ </para>
+ <itemizedlist>
+ <listitem>
+ <para>
+ The file must be named
+ <emphasis role="bold">
+ <property>
+ <skinName>
+ </property>
+ </emphasis>
+ .skin.properties, in this case, it would
+ be called
+ <code>newskin.skin.properties</code>
+ .
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ The first line in this file should be
+ <code>
+ render.kit= <render-kit-id>
+ </code>
+ in this case, it would be called
+ <code>render.kit=NEW_SKIN</code>
+ .
+ </para>
+ </listitem>
+ </itemizedlist>
+ </listitem>
+ </itemizedlist>
+ <para>
+ Extra information on custom renderers creation can be
+ found at:
+ </para>
+ <simplelist>
+ <member>
+ <ulink
+
url="http://java.sun.com/javaee/javaserverfaces/reference/docs/index...
+
http://java.sun.com/javaee/javaserverfaces/reference/docs/index.html
+ </ulink>
+ </member>
+ </simplelist>
+ </section>
- </itemizedlist>
-
+ <section id="StControlsSkinning">
+ <title>Standard controls skinning</title>
+ <para>
+ The feature is designed to unify the look and feel of
+ standard HTML element and RichFaces components. Skinning
+ can be applied to all controls on a page basing on
+ elements' name and attribute type (where
+ applicable). Also this feature provides a set of CSS
+ styles so that skinning can be applied assigning rich-*
+ classes to particular elements or to container of
+ elements that nests controls.
+ </para>
- <para>Skinning can be initialized in two ways: </para>
- <itemizedlist>
- <listitem>
- <para>
- adding org.richfaces.CONTROL_SKINNING parmeter to web.xml. Values:
"enable" and "disable".
- This way implies that skinning style classes are applied to elements by element
name and type attribute (where applicable). No additional steps required from an
application developer.
- Please find below the table that contains the list of element to which skinning a
applicable.
- </para>
- </listitem>
- <listitem>
- <para>
- adding org.richfaces.CONTROL_SKINNING_CLASSES parameter to web.xml file.
Possible values "enable" and "disable".
- Implementation of this method implies the provision of several style classes for
different types of elements.
- The style classes have predefined names. Application developer should manually
assign classes to controls that needs skinning or assign class to an element that contains
controls.
- </para>
- </listitem>
- </itemizedlist>
-
- <para>
- By setting org.richfaces.CONTROL_SKINNING_CLASSES to "enable"
you are provided with style classes applicable to:
- </para>
-
- <itemizedlist>
- <listitem>
- <para>
- Basic elements nested inside element having rich-container class, e.g.:
- </para>
- <para>
- <emphasis role="bold">Example:</emphasis>
- </para>
- <programlisting role="CSS"><![CDATA[...
+
+ <para>
+ Standard controls skinning feature provides 2 levels of
+ skinning - standard and extended, while skinning is
+ based on detecting browser user agent. If user agent is
+ not detected, Advanced level is used.
+ </para>
+ <itemizedlist>
+ <listitem>
+ <para>
+ <emphasis>
+ <property>Standard</property>
+ </emphasis>
+ provides customization only basic style
+ properties.
+ </para>
+ <para>
+ To the following browsers Basic level of
+ skinning is applied:
+ </para>
+ <itemizedlist>
+ <listitem>
+ <para>Internet Explorer 6</para>
+ </listitem>
+ <listitem>
+ <para>
+ Internet Explorer 7 in BackCompat mode
+ (see
+ <ulink
+
url="http://msdn2.microsoft.com/en-us/library/ms533687(VS.85).aspx&q...
+ document.compatMode property in MSDN
+ </ulink>
+ )
+ </para>
+ </listitem>
+ <listitem>
+ <para>Opera</para>
+ </listitem>
+ <listitem>
+ <para>Safari</para>
+ </listitem>
+ </itemizedlist>
+ </listitem>
+
+ <listitem>
+ <para>
+
+ <emphasis>
+ <property>Extended</property>
+ </emphasis>
+ extends basic level introducing broader number
+ of style properties and is applied to browsers
+ with rich visual styling capability of controls
+ </para>
+ <para>
+ The following browsers support Advanced level of
+ skinning:
+ </para>
+ <itemizedlist>
+ <listitem>
+ <para>Mozilla Firefox</para>
+ </listitem>
+ <listitem>
+ <para>
+ Internet Explorer 7 in
+ Standards-compliant mode (CSS1Compat
+ mode)
+ </para>
+ </listitem>
+ </itemizedlist>
+
+ </listitem>
+ </itemizedlist>
+
+
+ <para>
+
+ These are the elements that affected by skinning:
+ </para>
+ <itemizedlist>
+ <listitem>
+ <para>
+ <property>input</property>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <property>select</property>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <property>textarea</property>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <property>keygen</property>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <property>isindex</property>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <property>legend</property>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <property>fieldset</property>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <property>hr</property>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <property>
+ a (together with a:hover, a:visited
+ "pseudo"-elements)
+ </property>
+ </para>
+ </listitem>
+
+ </itemizedlist>
+
+
+ <para>Skinning can be initialized in two ways:</para>
+ <itemizedlist>
+ <listitem>
+ <para>
+ adding
+ <code>org.richfaces.CONTROL_SKINNING</code>
+ parmeter to web.xml. Values: "enable"
+ and "disable". This way implies that
+ skinning style classes are applied to elements
+ by element name and type attribute (where
+ applicable). No additional steps required from
+ an application developer. Please find below the
+ table that contains the list of element to which
+ skinning a applicable.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ adding
+ <code>
+ org.richfaces.CONTROL_SKINNING_CLASSES
+ </code>
+ parameter to web.xml file. Possible values
+ "enable" and "disable".
+ Implementation of this method implies the
+ provision of several style classes for different
+ types of elements. The style classes have
+ predefined names. Application developer should
+ manually assign classes to controls that needs
+ skinning or assign class to an element that
+ contains controls.
+ </para>
+ </listitem>
+ </itemizedlist>
+
+ <para>
+ By setting
+ <code>org.richfaces.CONTROL_SKINNING_CLASSES</code>
+ to "enable" you are provided with style
+ classes applicable to:
+ </para>
+
+ <itemizedlist>
+ <listitem>
+ <para>
+ Basic elements nested inside element having
+ rich-container class, e.g.:
+ </para>
+ <para>
+ <emphasis role="bold">Example:</emphasis>
+ </para>
+ <programlisting role="CSS"><![CDATA[...
.rich-container select {
//class content
}
...]]></programlisting>
- </listitem>
- <listitem>
- <para>
- Elements that has class name corresponding to one of the basic elements
name/type mapped by the following scheme
- rich-<elementName>[-<elementType>]. See the
example:
- </para>
- <para>
- <emphasis role="bold">Example:</emphasis>
- </para>
- <programlisting role="CSS"><![CDATA[...
+ </listitem>
+ <listitem>
+ <para>
+ Elements that has class name corresponding to
+ one of the basic elements name/type mapped by
+ the following scheme
+ <code>
+ rich-<elementName>[-<elementType>]
+ </code>
+ . See the example:
+ </para>
+ <para>
+ <emphasis role="bold">Example:</emphasis>
+ </para>
+ <programlisting role="CSS"><![CDATA[...
.rich-select {
//class content
}
@@ -1722,27 +2690,36 @@
//class content
}
-...]]></programlisting>
-
- <note>
- <title>Note:</title>
- <para>
- a elements have classes based on "link" and pseudo class
name, e.g.: rich-link, rich-link-hover, rich-link-visited
-
-
-
- </para>
- </note>
- </listitem>
- </itemizedlist>
-
-
- <para>Additionally, the predefined rich CSS classes that we provide can be used
not only as classes for basic HTML
- elements but also as classes for creation of complex elements .</para>
- <para>There is a snippet with some of them for example:</para>
-
-
- <programlisting role="XML"><![CDATA[...
+...]]></programlisting>
+
+ <note>
+ <title>Note:</title>
+ <para>
+ a elements have classes based on
+ "link" and pseudo class name,
+ e.g.: rich-link, rich-link-hover,
+ rich-link-visited
+
+
+
+ </para>
+ </note>
+ </listitem>
+ </itemizedlist>
+
+
+ <para>
+ Additionally, the predefined rich CSS classes that we
+ provide can be used not only as classes for basic HTML
+ elements but also as classes for creation of complex
+ elements .
+ </para>
+ <para>
+ There is a snippet with some of them for example:
+ </para>
+
+
+ <programlisting role="XML"><![CDATA[...
<u:selector name=".rich-box-bgcolor-header">
<u:style name="background-color" skin="headerBackgroundColor"
/>
</u:selector>
@@ -1766,750 +2743,861 @@
</u:style>
<u:style name="background-repeat" value="repeat-x" />
</u:selector>
-...]]></programlisting>
-
-
- <para>To get a better idea of standard component skinning we recommend to
explore CSS files located in ui/core/src/main/resources/org/richfaces/ folder
- of Richfaces svn.</para>
-
-
- <section id="Standard">
- <?dbhtml filename="BasicLevel.html"?>
- <title>Standard level</title>
-
- <table>
- <title>Html Elements Skin Bindings for input, select, textarea, button,
keygen, isindex, legend</title>
- <tgroup cols="2">
- <thead>
- <row>
- <entry>CSS Properties</entry>
- <entry>Skin parameters</entry>
- </row>
- </thead>
- <tbody>
-
- <row>
- <entry>font-size</entry>
- <entry>generalSizeFont</entry>
- </row>
- <row>
- <entry>font-family</entry>
- <entry>generalFamilyFont</entry>
- </row>
- <row>
- <entry>color</entry>
- <entry>controlTextColor</entry>
- </row>
- </tbody>
- </tgroup>
- </table>
-
-
- <table>
- <title>Html Elements Skin Bindings for fieldset</title>
- <tgroup cols="2">
- <thead>
- <row>
- <entry>CSS Properties</entry>
- <entry>Skin parameters</entry>
- </row>
- </thead>
- <tbody>
+...]]></programlisting>
-
- <row>
- <entry>border-color</entry>
- <entry>panelBorderColor</entry>
- </row>
- </tbody>
- </tgroup>
- </table>
-
-
-
- <table>
- <title>Html Elements Skin Bindings for hr</title>
- <tgroup cols="2">
- <thead>
- <row>
- <entry>CSS Properties</entry>
- <entry>Skin parameters</entry>
- </row>
- </thead>
- <tbody>
-
- <row>
- <entry>border-color</entry>
- <entry>panelBorderColor</entry>
- </row>
- </tbody>
- </tgroup>
- </table>
-
- <table>
- <title>Html Elements Skin Bindings for a</title>
- <tgroup cols="2">
- <thead>
- <row>
- <entry>CSS Properties</entry>
- <entry>Skin parameters</entry>
- </row>
- </thead>
- <tbody>
-
-
- <row>
- <entry>color</entry>
- <entry>generalLinkColor</entry>
- </row>
-
- </tbody>
- </tgroup>
- </table>
-
- <table>
- <title>Html Elements Skin Bindings for a:hover</title>
- <tgroup cols="2">
- <thead>
- <row>
- <entry>CSS Properties</entry>
- <entry>Skin parameters</entry>
- </row>
- </thead>
- <tbody>
-
- <row>
- <entry>color</entry>
- <entry>hoverLinkColorgeneralLinkColor</entry>
- </row>
- </tbody>
- </tgroup>
- </table>
-
-
- <table>
- <title>Html Elements Skin Bindings for a:visited</title>
- <tgroup cols="2">
- <thead>
- <row>
- <entry>CSS Properties</entry>
- <entry>Skin parameters</entry>
- </row>
- </thead>
- <tbody>
-
- <row>
- <entry>color</entry>
- <entry>visitedLinkColor</entry>
- </row>
- </tbody>
- </tgroup>
- </table>
-
-
-
-
- <table>
- <title>Rich Elements Skin Bindings for .rich-input, .rich-select,
.rich-textarea, .rich-button, .rich-keygen, .rich-isindex, .rich-legend,
.rich-link</title>
- <tgroup cols="2">
- <thead>
- <row>
- <entry>CSS Properties</entry>
- <entry>Skin parameters</entry>
- </row>
- </thead>
- <tbody>
+ <para>
+ To get a better idea of standard component skinning we
+ recommend to explore CSS files located in
+ ui/core/src/main/resources/org/richfaces/ folder of
+ Richfaces svn.
+ </para>
- <row>
- <entry>font-size</entry>
- <entry>generalSizeFont</entry>
- </row>
- <row>
- <entry>font-family</entry>
- <entry>generalFamilyFont</entry>
- </row>
- <row>
- <entry>color</entry>
- <entry>controlTextColor</entry>
- </row>
- </tbody>
- </tgroup>
- </table>
-
-
-
-
- <table>
- <title>Rich Elements Skin Bindings for .rich-fieldset</title>
- <tgroup cols="2">
- <thead>
- <row>
- <entry>CSS Properties</entry>
- <entry>Skin parameters</entry>
- </row>
- </thead>
- <tbody>
- <row>
- <entry>border-color</entry>
- <entry>panelBorderColor</entry>
- </row>
- </tbody>
- </tgroup>
- </table>
-
-
- <table>
- <title>Rich Elements Skin Bindings for .rich-hr</title>
- <tgroup cols="2">
- <thead>
- <row>
- <entry>CSS Properties</entry>
- <entry>Skin parameters</entry>
- </row>
- </thead>
- <tbody>
- <row>
- <entry>border-color</entry>
- <entry>panelBorderColor</entry>
- </row>
- </tbody>
- </tgroup>
- </table>
-
-
- <table>
- <title>Rich Elements Skin Bindings for .rich-link</title>
- <tgroup cols="2">
- <thead>
- <row>
- <entry>CSS Properties</entry>
- <entry>Skin parameters</entry>
- </row>
- </thead>
- <tbody>
-
- <row>
- <entry>color</entry>
- <entry>generalLinkColor</entry>
- </row>
- </tbody>
- </tgroup>
- </table>
-
-
-
-
- <table>
- <title>Rich Elements Skin Bindings for .rich-link:hover</title>
- <tgroup cols="2">
- <thead>
- <row>
- <entry>CSS Properties</entry>
- <entry>Skin parameters</entry>
- </row>
- </thead>
- <tbody>
-
- <row>
- <entry>color</entry>
- <entry>hoverLinkColor</entry>
- </row>
-
- </tbody>
- </tgroup>
- </table>
-
-
-
- <table>
- <title>Rich Elements Skin Bindings for .rich-link:visited</title>
- <tgroup cols="2">
- <thead>
- <row>
- <entry>CSS Properties</entry>
- <entry>Skin parameters</entry>
- </row>
- </thead>
- <tbody>
+ <section id="Standard">
+ <?dbhtml filename="BasicLevel.html"?>
+ <title>Standard level</title>
-
- <row>
- <entry>color</entry>
- <entry>visitedLinkColor</entry>
- </row>
-
- </tbody>
- </tgroup>
- </table>
-
- </section>
-
-
- <section id="AdvancedLevel">
- <?dbhtml filename="AdvancedLevel.html"?>
- <title>Extended level</title>
-
- <table>
+ <table>
+ <title>
+ Html Elements Skin Bindings for input, select,
+ textarea, button, keygen, isindex, legend
+ </title>
+ <tgroup cols="2">
+ <thead>
+ <row>
+ <entry>CSS Properties</entry>
+ <entry>Skin parameters</entry>
+ </row>
+ </thead>
+ <tbody>
- <title>Html Elements Skin Bindings for input, select, textarea, button,
keygen, isindex</title>
- <tgroup cols="2">
- <thead>
- <row>
- <entry>CSS properties</entry>
- <entry>Skin parameters</entry>
- </row>
- </thead>
- <tbody>
- <row>
- <entry>border-width</entry>
- <entry>1px</entry>
- </row>
- <row>
- <entry>border-color</entry>
- <entry>panelBorderColor</entry>
- </row>
- <row>
- <entry>color</entry>
- <entry>controlTextColor</entry>
- </row>
-
-
-
-
- </tbody>
- </tgroup>
- </table>
-
-
- <table>
- <title>Html Elements Skin Bindings for *|button</title>
- <tgroup cols="2">
- <thead>
- <row>
- <entry>CSS properties</entry>
- <entry>Skin parameters</entry>
- </row>
- </thead>
- <tbody>
-
-
- <row>
- <entry>border-color</entry>
- <entry>panelBorderColor</entry>
- </row>
-
- <row>
- <entry>font-size</entry>
- <entry>generalSizeFont</entry>
- </row>
-
- <row>
- <entry>font-family</entry>
- <entry>generalFamilyFont</entry>
- </row>
-
- <row>
- <entry>color</entry>
- <entry>headerTextColor</entry>
- </row>
-
- <row>
- <entry>background-color</entry>
- <entry>headerBackgroundColor</entry>
- </row>
-
- <row>
- <entry>background-image</entry>
-
<entry>org.richfaces.renderkit.html.images.ButtonBackgroundImage</entry>
- </row>
-
-
- </tbody>
- </tgroup>
- </table>
-
-
-
- <table>
- <title>Html Elements Skin Bindings for button[type=button],
button[type=reset], button[type=submit], input[type=reset], input[type=submit],
input[type=button]</title>
- <tgroup cols="2">
- <thead>
- <row>
- <entry>CSS properties</entry>
- <entry>Skin parameters</entry>
- </row>
- </thead>
- <tbody>
-
- <row>
- <entry>border-color</entry>
- <entry>panelBorderColor</entry>
- </row>
-
- <row>
- <entry>font-size</entry>
- <entry>generalSizeFont</entry>
- </row>
-
-
-
- <row>
- <entry>font-family</entry>
- <entry>generalFamilyFont</entry>
- </row>
-
- <row>
- <entry>color</entry>
- <entry>headerTextColor</entry>
- </row>
-
-
- <row>
- <entry>background-color</entry>
- <entry>headerBackgroundColor</entry>
- </row>
-
- <row>
- <entry>background-image</entry>
-
<entry>org.richfaces.renderkit.html.images.ButtonBackgroundImage</entry>
- </row>
- </tbody>
- </tgroup>
- </table>
-
-
- <table>
- <title>Html Elements Skin Bindings for *|button[disabled], .rich-container
*|button[disabled], .rich-button-disabled</title>
- <tgroup cols="2">
- <thead>
- <row>
- <entry>CSS properties</entry>
- <entry>Skin parameters</entry>
- </row>
- </thead>
- <tbody>
+ <row>
+ <entry>font-size</entry>
+ <entry>generalSizeFont</entry>
+ </row>
+ <row>
+ <entry>font-family</entry>
+ <entry>generalFamilyFont</entry>
+ </row>
+ <row>
+ <entry>color</entry>
+ <entry>controlTextColor</entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </table>
- <row>
- <entry>color</entry>
- <entry>tabDisabledTextColor</entry>
- </row>
-
- <row>
- <entry>border-color</entry>
- <entry>tableFooterBackgroundColor</entry>
- </row>
-
- <row>
- <entry>background-color</entry>
- <entry>tableFooterBackgroundColor</entry>
- </row>
- <row>
- <entry>background-image</entry>
-
<entry>org.richfaces.renderkit.html.images.ButtonDisabledBackgroundImage</entry>
- </row>
-
- </tbody>
- </tgroup>
- </table>
-
-
-
-
- <table>
- <title>Html Elements Skin Bindings for .rich-button-disabled,
- .rich-container button[type="button"][disabled],
.rich-button-button-disabled,
- .rich-container button[type="reset"][disabled],
.rich-button-reset-disabled,
- .rich-container button[type="submit"][disabled],
.rich-button-submit-disabled,
- .rich-container input[type="reset"][disabled],
.rich-input-reset-disabled,
- .rich-container input[type="submit"][disabled],
.rich-input-submit-disabled,
- .rich-container input[type="button"][disabled],
.rich-input-button-disabled
- </title>
- <tgroup cols="2">
- <thead>
- <row>
- <entry>CSS properties</entry>
- <entry>Skin parameters</entry>
- </row>
- </thead>
- <tbody>
-
- <row>
- <entry>color</entry>
- <entry>tabDisabledTextColor</entry>
- </row>
-
- <row>
- <entry>background-color</entry>
- <entry>tableFooterBackgroundColor</entry>
- </row>
-
- <row>
- <entry>border-color</entry>
- <entry>tableFooterBackgroundColor</entry>
- </row>
-
-
- <row>
- <entry>background-image</entry>
-
<entry>org.richfaces.renderkit.html.images.ButtonDisabledBackgroundImage</entry>
- </row>
-
- </tbody>
- </tgroup>
- </table>
-
-
-
-
-
-
- <table>
- <title>Html Elements Skin Bindings for
- *button[type="button"][disabled],
- button[type="reset"][disabled],
- button[type="submit"][disabled],
- input[type="reset"][disabled],
- input[type="submit"][disabled],
- input[type="button"][disabled]
- </title>
- <tgroup cols="2">
- <thead>
- <row>
- <entry>CSS properties</entry>
- <entry>Skin parameters</entry>
- </row>
- </thead>
- <tbody>
-
-
- <row>
- <entry>color</entry>
- <entry>tabDisabledTextColor</entry>
- </row>
-
- <row>
- <entry>border-color</entry>
- <entry>tableFooterBackgroundColor</entry>
- </row>
-
- <row>
- <entry>background-color</entry>
- <entry>tableFooterBackgroundColor</entry>
- </row>
-
-
- </tbody>
- </tgroup>
- </table>
-
-
-
+ <table>
+ <title>
+ Html Elements Skin Bindings for fieldset
+ </title>
+ <tgroup cols="2">
+ <thead>
+ <row>
+ <entry>CSS Properties</entry>
+ <entry>Skin parameters</entry>
+ </row>
+ </thead>
+ <tbody>
-
-
-
-
-
-
-
-
-
-
- <table>
- <title>Html Elements Skin Bindings for *|textarea</title>
- <tgroup cols="2">
- <thead>
- <row>
- <entry>CSS properties</entry>
- <entry>Skin parameters</entry>
- </row>
- </thead>
- <tbody>
- <row>
- <entry>border-color</entry>
- <entry>panelBorderColor</entry>
- </row>
-
- <row>
- <entry>font-size</entry>
- <entry>generalSizeFont</entry>
- </row>
-
- <row>
- <entry>font-family</entry>
- <entry>generalFamilyFont</entry>
- </row>
-
-
-
- <row>
- <entry>color</entry>
- <entry>controlTextColor</entry>
- </row>
-
- <row>
- <entry>background-color</entry>
- <entry>controlBackgroundColor</entry>
- </row>
-
-
-
- <row>
- <entry>background-image</entry>
-
<entry>org.richfaces.renderkit.html.images.InputBackgroundImage</entry>
- </row>
- </tbody>
- </tgroup>
- </table>
-
- <table>
- <title>Html Elements Skin Bindings for textarea[type=textarea],
input[type=text], input[type=password], select</title>
- <tgroup cols="2">
- <thead>
- <row>
- <entry>CSS properties</entry>
- <entry>Skin parameters</entry>
- </row>
- </thead>
- <tbody>
- <row>
- <entry>border-color</entry>
- <entry>panelBorderColor</entry>
- </row>
-
- <row>
- <entry>font-size</entry>
- <entry>generalSizeFont</entry>
- </row>
-
-
-
-
- <row>
- <entry>font-family</entry>
- <entry>generalFamilyFont</entry>
- </row>
-
- <row>
- <entry>color</entry>
- <entry>controlTextColor</entry>
- </row>
-
-
-
-
- <row>
- <entry>background-color</entry>
- <entry>controlBackgroundColor</entry>
- </row>
-
- <row>
- <entry>background-image</entry>
-
<entry>org.richfaces.renderkit.html.images.InputBackgroundImage</entry>
- </row>
-
- </tbody>
- </tgroup>
- </table>
-
- <table>
- <title>Html Elements Skin Bindings for *|textarea[disabled], .rich-container
*|textarea[disabled] </title>
- <tgroup cols="2">
- <thead>
- <row>
- <entry>CSS properties</entry>
- <entry>Skin parameters</entry>
- </row>
- </thead>
- <tbody>
-
- <row>
- <entry>color</entry>
- <entry>tableBorderColor</entry>
- </row>
-
- </tbody>
- </tgroup>
- </table>
-
-
-
- <table>
- <title> textarea[type="textarea"][disabled],
input[type="text"][disabled],
input[type="password"][disabled]</title>
- <tgroup cols="2">
- <thead>
- <row>
- <entry>CSS properties</entry>
- <entry>Skin parameters</entry>
- </row>
- </thead>
- <tbody>
-
- <row>
- <entry>color</entry>
- <entry>tableBorderColor</entry>
- </row>
-
- </tbody>
- </tgroup>
- </table>
-
-
-
+ <row>
+ <entry>border-color</entry>
+ <entry>panelBorderColor</entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </table>
-
-
- <table>
- <title> textarea[type="textarea"][disabled],
input[type="text"][disabled],
input[type="password"][disabled]</title>
- <tgroup cols="2">
- <thead>
- <row>
- <entry>CSS properties</entry>
- <entry>Skin parameters</entry>
- </row>
- </thead>
- <tbody>
-
- <row>
- <entry>color</entry>
- <entry>tableBorderColor</entry>
- </row>
-
- </tbody>
- </tgroup>
- </table>
-
-
-
-
- </section>
-
-</section>
-
- <section id="XCSSfileformat">
- <title>XCSS file format</title>
-
- <para>XCSS files are the core of Richfaces components skinnability.
</para>
- <para>XCSS is an XML formatted CSS that adds extra functionality to the
skinning process</para>
-
-
- <para>XCSS extends skinning possibilities by parsing the XCSS file that
contains all look-and-feel parameters of
- a particular component into a standard CSS file that a web browser can recognize.
</para>
-
-
-
-
- <para>XCSS file contains CSS properties and skin parameters
- mappings. Mapping of a CSS selector to a skin parameter
- is performed using < u:selector > and < u:style> XML
tags
- that form the mapping structure. Please study the example below.
- </para>
- <programlisting role="XML"><![CDATA[...
+
+ <table>
+ <title>Html Elements Skin Bindings for hr</title>
+ <tgroup cols="2">
+ <thead>
+ <row>
+ <entry>CSS Properties</entry>
+ <entry>Skin parameters</entry>
+ </row>
+ </thead>
+ <tbody>
+
+ <row>
+ <entry>border-color</entry>
+ <entry>panelBorderColor</entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </table>
+
+ <table>
+ <title>Html Elements Skin Bindings for a</title>
+ <tgroup cols="2">
+ <thead>
+ <row>
+ <entry>CSS Properties</entry>
+ <entry>Skin parameters</entry>
+ </row>
+ </thead>
+ <tbody>
+
+
+
+ <row>
+ <entry>color</entry>
+ <entry>generalLinkColor</entry>
+ </row>
+
+ </tbody>
+ </tgroup>
+ </table>
+
+ <table>
+ <title>
+ Html Elements Skin Bindings for a:hover
+ </title>
+ <tgroup cols="2">
+ <thead>
+ <row>
+ <entry>CSS Properties</entry>
+ <entry>Skin parameters</entry>
+ </row>
+ </thead>
+ <tbody>
+
+ <row>
+ <entry>color</entry>
+ <entry>
+ hoverLinkColorgeneralLinkColor
+ </entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </table>
+
+
+ <table>
+ <title>
+ Html Elements Skin Bindings for a:visited
+ </title>
+ <tgroup cols="2">
+ <thead>
+ <row>
+ <entry>CSS Properties</entry>
+ <entry>Skin parameters</entry>
+ </row>
+ </thead>
+ <tbody>
+
+ <row>
+ <entry>color</entry>
+ <entry>visitedLinkColor</entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </table>
+
+
+
+
+ <table>
+ <title>
+ Rich Elements Skin Bindings for .rich-input,
+ .rich-select, .rich-textarea, .rich-button,
+ .rich-keygen, .rich-isindex, .rich-legend,
+ .rich-link
+ </title>
+ <tgroup cols="2">
+ <thead>
+ <row>
+ <entry>CSS Properties</entry>
+ <entry>Skin parameters</entry>
+ </row>
+ </thead>
+ <tbody>
+
+ <row>
+ <entry>font-size</entry>
+ <entry>generalSizeFont</entry>
+ </row>
+ <row>
+ <entry>font-family</entry>
+ <entry>generalFamilyFont</entry>
+ </row>
+ <row>
+ <entry>color</entry>
+ <entry>controlTextColor</entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </table>
+
+
+
+
+ <table>
+ <title>
+ Rich Elements Skin Bindings for .rich-fieldset
+ </title>
+ <tgroup cols="2">
+ <thead>
+ <row>
+ <entry>CSS Properties</entry>
+ <entry>Skin parameters</entry>
+ </row>
+ </thead>
+ <tbody>
+ <row>
+ <entry>border-color</entry>
+ <entry>panelBorderColor</entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </table>
+
+
+ <table>
+ <title>
+ Rich Elements Skin Bindings for .rich-hr
+ </title>
+ <tgroup cols="2">
+ <thead>
+ <row>
+ <entry>CSS Properties</entry>
+ <entry>Skin parameters</entry>
+ </row>
+ </thead>
+ <tbody>
+
+ <row>
+ <entry>border-color</entry>
+ <entry>panelBorderColor</entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </table>
+
+
+ <table>
+ <title>
+ Rich Elements Skin Bindings for .rich-link
+ </title>
+ <tgroup cols="2">
+ <thead>
+ <row>
+ <entry>CSS Properties</entry>
+ <entry>Skin parameters</entry>
+ </row>
+ </thead>
+ <tbody>
+
+ <row>
+ <entry>color</entry>
+ <entry>generalLinkColor</entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </table>
+
+
+
+
+ <table>
+ <title>
+ Rich Elements Skin Bindings for .rich-link:hover
+ </title>
+ <tgroup cols="2">
+ <thead>
+ <row>
+ <entry>CSS Properties</entry>
+ <entry>Skin parameters</entry>
+ </row>
+ </thead>
+ <tbody>
+
+ <row>
+ <entry>color</entry>
+ <entry>hoverLinkColor</entry>
+ </row>
+
+ </tbody>
+ </tgroup>
+ </table>
+
+
+
+ <table>
+ <title>
+ Rich Elements Skin Bindings for
+ .rich-link:visited
+ </title>
+ <tgroup cols="2">
+ <thead>
+ <row>
+ <entry>CSS Properties</entry>
+ <entry>Skin parameters</entry>
+ </row>
+ </thead>
+ <tbody>
+
+
+ <row>
+ <entry>color</entry>
+ <entry>visitedLinkColor</entry>
+ </row>
+
+ </tbody>
+ </tgroup>
+ </table>
+
+ </section>
+
+
+ <section id="AdvancedLevel">
+ <?dbhtml filename="AdvancedLevel.html"?>
+ <title>Extended level</title>
+
+ <table>
+
+ <title>
+ Html Elements Skin Bindings for input, select,
+ textarea, button, keygen, isindex
+ </title>
+ <tgroup cols="2">
+ <thead>
+ <row>
+ <entry>CSS properties</entry>
+ <entry>Skin parameters</entry>
+ </row>
+ </thead>
+ <tbody>
+ <row>
+ <entry>border-width</entry>
+ <entry>1px</entry>
+ </row>
+ <row>
+ <entry>border-color</entry>
+ <entry>panelBorderColor</entry>
+ </row>
+ <row>
+ <entry>color</entry>
+ <entry>controlTextColor</entry>
+ </row>
+
+
+
+
+ </tbody>
+ </tgroup>
+ </table>
+
+
+ <table>
+ <title>
+ Html Elements Skin Bindings for *|button
+ </title>
+ <tgroup cols="2">
+ <thead>
+ <row>
+ <entry>CSS properties</entry>
+ <entry>Skin parameters</entry>
+ </row>
+ </thead>
+ <tbody>
+
+
+ <row>
+ <entry>border-color</entry>
+ <entry>panelBorderColor</entry>
+ </row>
+
+ <row>
+ <entry>font-size</entry>
+ <entry>generalSizeFont</entry>
+ </row>
+
+ <row>
+ <entry>font-family</entry>
+ <entry>generalFamilyFont</entry>
+ </row>
+
+ <row>
+ <entry>color</entry>
+ <entry>headerTextColor</entry>
+ </row>
+
+ <row>
+ <entry>background-color</entry>
+ <entry>headerBackgroundColor</entry>
+ </row>
+
+ <row>
+ <entry>background-image</entry>
+ <entry>
+ org.richfaces.renderkit.html.images.ButtonBackgroundImage
+ </entry>
+ </row>
+
+
+ </tbody>
+ </tgroup>
+ </table>
+
+
+
+ <table>
+ <title>
+ Html Elements Skin Bindings for
+ button[type=button], button[type=reset],
+ button[type=submit], input[type=reset],
+ input[type=submit], input[type=button]
+ </title>
+ <tgroup cols="2">
+ <thead>
+ <row>
+ <entry>CSS properties</entry>
+ <entry>Skin parameters</entry>
+ </row>
+ </thead>
+ <tbody>
+
+ <row>
+ <entry>border-color</entry>
+ <entry>panelBorderColor</entry>
+ </row>
+
+ <row>
+ <entry>font-size</entry>
+ <entry>generalSizeFont</entry>
+ </row>
+
+
+
+ <row>
+ <entry>font-family</entry>
+ <entry>generalFamilyFont</entry>
+ </row>
+
+ <row>
+ <entry>color</entry>
+ <entry>headerTextColor</entry>
+ </row>
+
+
+ <row>
+ <entry>background-color</entry>
+ <entry>headerBackgroundColor</entry>
+ </row>
+
+ <row>
+ <entry>background-image</entry>
+ <entry>
+ org.richfaces.renderkit.html.images.ButtonBackgroundImage
+ </entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </table>
+
+
+ <table>
+ <title>
+ Html Elements Skin Bindings for
+ *|button[disabled], .rich-container
+ *|button[disabled], .rich-button-disabled
+ </title>
+ <tgroup cols="2">
+ <thead>
+ <row>
+ <entry>CSS properties</entry>
+ <entry>Skin parameters</entry>
+ </row>
+ </thead>
+ <tbody>
+
+ <row>
+ <entry>color</entry>
+ <entry>tabDisabledTextColor</entry>
+ </row>
+
+ <row>
+ <entry>border-color</entry>
+ <entry>
+ tableFooterBackgroundColor
+ </entry>
+ </row>
+
+ <row>
+ <entry>background-color</entry>
+ <entry>
+ tableFooterBackgroundColor
+ </entry>
+ </row>
+
+ <row>
+ <entry>background-image</entry>
+ <entry>
+ org.richfaces.renderkit.html.images.ButtonDisabledBackgroundImage
+ </entry>
+ </row>
+
+ </tbody>
+ </tgroup>
+ </table>
+
+
+
+
+ <table>
+ <title>
+ Html Elements Skin Bindings for
+ .rich-button-disabled, .rich-container
+ button[type="button"][disabled],
+ .rich-button-button-disabled, .rich-container
+ button[type="reset"][disabled],
+ .rich-button-reset-disabled, .rich-container
+ button[type="submit"][disabled],
+ .rich-button-submit-disabled, .rich-container
+ input[type="reset"][disabled],
+ .rich-input-reset-disabled, .rich-container
+ input[type="submit"][disabled],
+ .rich-input-submit-disabled, .rich-container
+ input[type="button"][disabled],
+ .rich-input-button-disabled
+ </title>
+ <tgroup cols="2">
+ <thead>
+ <row>
+ <entry>CSS properties</entry>
+ <entry>Skin parameters</entry>
+ </row>
+ </thead>
+ <tbody>
+
+ <row>
+ <entry>color</entry>
+ <entry>tabDisabledTextColor</entry>
+ </row>
+
+ <row>
+ <entry>background-color</entry>
+ <entry>
+ tableFooterBackgroundColor
+ </entry>
+ </row>
+
+ <row>
+ <entry>border-color</entry>
+ <entry>
+ tableFooterBackgroundColor
+ </entry>
+ </row>
+
+
+ <row>
+ <entry>background-image</entry>
+ <entry>
+ org.richfaces.renderkit.html.images.ButtonDisabledBackgroundImage
+ </entry>
+ </row>
+
+ </tbody>
+ </tgroup>
+ </table>
+
+
+
+
+
+
+ <table>
+ <title>
+ Html Elements Skin Bindings for
+ *button[type="button"][disabled],
+ button[type="reset"][disabled],
+ button[type="submit"][disabled],
+ input[type="reset"][disabled],
+ input[type="submit"][disabled],
+ input[type="button"][disabled]
+ </title>
+ <tgroup cols="2">
+ <thead>
+ <row>
+ <entry>CSS properties</entry>
+ <entry>Skin parameters</entry>
+ </row>
+ </thead>
+ <tbody>
+
+
+ <row>
+ <entry>color</entry>
+ <entry>tabDisabledTextColor</entry>
+ </row>
+
+ <row>
+ <entry>border-color</entry>
+ <entry>
+ tableFooterBackgroundColor
+ </entry>
+ </row>
+
+ <row>
+ <entry>background-color</entry>
+ <entry>
+ tableFooterBackgroundColor
+ </entry>
+ </row>
+
+
+ </tbody>
+ </tgroup>
+ </table>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <table>
+ <title>
+ Html Elements Skin Bindings for *|textarea
+ </title>
+ <tgroup cols="2">
+ <thead>
+ <row>
+ <entry>CSS properties</entry>
+ <entry>Skin parameters</entry>
+ </row>
+ </thead>
+ <tbody>
+
+ <row>
+ <entry>border-color</entry>
+ <entry>panelBorderColor</entry>
+ </row>
+
+ <row>
+ <entry>font-size</entry>
+ <entry>generalSizeFont</entry>
+ </row>
+
+ <row>
+ <entry>font-family</entry>
+ <entry>generalFamilyFont</entry>
+ </row>
+
+
+
+ <row>
+ <entry>color</entry>
+ <entry>controlTextColor</entry>
+ </row>
+
+ <row>
+ <entry>background-color</entry>
+ <entry>controlBackgroundColor</entry>
+ </row>
+
+
+
+ <row>
+ <entry>background-image</entry>
+ <entry>
+ org.richfaces.renderkit.html.images.InputBackgroundImage
+ </entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </table>
+
+ <table>
+ <title>
+ Html Elements Skin Bindings for
+ textarea[type=textarea], input[type=text],
+ input[type=password], select
+ </title>
+ <tgroup cols="2">
+ <thead>
+ <row>
+ <entry>CSS properties</entry>
+ <entry>Skin parameters</entry>
+ </row>
+ </thead>
+ <tbody>
+ <row>
+ <entry>border-color</entry>
+ <entry>panelBorderColor</entry>
+ </row>
+
+ <row>
+ <entry>font-size</entry>
+ <entry>generalSizeFont</entry>
+ </row>
+
+
+
+
+ <row>
+ <entry>font-family</entry>
+ <entry>generalFamilyFont</entry>
+ </row>
+
+ <row>
+ <entry>color</entry>
+ <entry>controlTextColor</entry>
+ </row>
+
+
+
+
+ <row>
+ <entry>background-color</entry>
+ <entry>controlBackgroundColor</entry>
+ </row>
+
+ <row>
+ <entry>background-image</entry>
+ <entry>
+ org.richfaces.renderkit.html.images.InputBackgroundImage
+ </entry>
+ </row>
+
+ </tbody>
+ </tgroup>
+ </table>
+
+ <table>
+ <title>
+ Html Elements Skin Bindings for
+ *|textarea[disabled], .rich-container
+ *|textarea[disabled]
+ </title>
+ <tgroup cols="2">
+ <thead>
+ <row>
+ <entry>CSS properties</entry>
+ <entry>Skin parameters</entry>
+ </row>
+ </thead>
+ <tbody>
+
+ <row>
+ <entry>color</entry>
+ <entry>tableBorderColor</entry>
+ </row>
+
+ </tbody>
+ </tgroup>
+ </table>
+
+
+
+ <table>
+ <title>
+ textarea[type="textarea"][disabled],
+ input[type="text"][disabled],
+ input[type="password"][disabled]
+ </title>
+ <tgroup cols="2">
+ <thead>
+ <row>
+ <entry>CSS properties</entry>
+ <entry>Skin parameters</entry>
+ </row>
+ </thead>
+ <tbody>
+
+ <row>
+ <entry>color</entry>
+ <entry>tableBorderColor</entry>
+ </row>
+
+ </tbody>
+ </tgroup>
+ </table>
+
+
+
+
+
+
+ <table>
+ <title>
+ textarea[type="textarea"][disabled],
+ input[type="text"][disabled],
+ input[type="password"][disabled]
+ </title>
+ <tgroup cols="2">
+ <thead>
+ <row>
+ <entry>CSS properties</entry>
+ <entry>Skin parameters</entry>
+ </row>
+ </thead>
+ <tbody>
+
+ <row>
+ <entry>color</entry>
+ <entry>tableBorderColor</entry>
+ </row>
+
+ </tbody>
+ </tgroup>
+ </table>
+
+
+
+
+ </section>
+
+
+ </section>
+
+ <section id="XCSSfileformat">
+ <title>XCSS file format</title>
+
+ <para>
+ XCSS files are the core of Richfaces components
+ skinnability.
+ </para>
+ <para>
+ XCSS is an XML formatted CSS that adds extra
+ functionality to the skinning process
+ </para>
+
+
+ <para>
+ XCSS extends skinning possibilities by parsing the XCSS
+ file that contains all look-and-feel parameters of a
+ particular component into a standard CSS file that a web
+ browser can recognize.
+ </para>
+
+
+
+
+ <para>
+ XCSS file contains CSS properties and skin parameters
+ mappings. Mapping of a CSS selector to a skin parameter
+ is performed using
+ <code>< u:selector ></code>
+ and
+ <code>< u:style></code>
+ XML tags that form the mapping structure. Please study
+ the example below.
+ </para>
+ <programlisting role="XML"><![CDATA[...
<u:selector name=".rich-component-name">
<u:style name="background-color"
skin="additionalBackgroundColor" />
<u:style name="border-color" skin="tableBorderColor" />
@@ -2518,10 +3606,11 @@
</u:selector>
...
]]></programlisting>
- <para>
- During processing the code in the shown example will be parsed into a standard CSS
format.
- </para>
- <programlisting role="CSS"><![CDATA[...
+ <para>
+ During processing the code in the shown example will be
+ parsed into a standard CSS format.
+ </para>
+ <programlisting role="CSS"><![CDATA[...
.rich-component-name {
background-color: additionalBackgroundColor; /*the value of the constant defined by your
skin*/
border-color: tableBorderColor; /*the value of the constant defined by your skin*/
@@ -2530,47 +3619,74 @@
}
...
]]></programlisting>
-
- <para>
- The <property>name</property> attribute of <u:selector>
tag defines the CSS selector, while <property>name</property> attribute of
- the < u:style> tag defines what skin constant is mapped to a CSS
property.
- The <property>value</property> attribute of the <
u:style> tag can also be used to assign a value to a CSS property.
- </para>
-
-
- <para>CSS selectors with identical skinning properties can be set as a comma
separated list. </para>
- <programlisting role="XML"><![CDATA[...
+
+ <para>
+ The
+ <property>name</property>
+ attribute of <u:selector> tag defines the CSS
+ selector, while
+ <property>"name"</property>
+ attribute of the
+ <code><u:style></code>
+ tag defines what skin constant is mapped to a CSS
+ property. The
+ <property>value</property>
+ attribute of the
+ <code><u:style></code>
+ tag can also be used to assign a value to a CSS
+ property.
+ </para>
+
+
+ <para>
+ CSS selectors with identical skinning properties can be
+ set as a comma separated list.
+ </para>
+ <programlisting role="XML"><![CDATA[...
<u:selector name=".rich-ordering-control-disabled, .rich-ordering-control-top,
.rich-ordering-control-bottom, .rich-ordering-control-up,
.rich-ordering-control-down">
<u:style name="border-color" skin="tableBorderColor" />
</u:selector>
...
-]]></programlisting>
+]]></programlisting>
- </section>
-
- <section id="StPlug-n-Skin">
- <title>Plug-n-Skin</title>
-
- <para>
- Plug-n-Skin feature is designed to easily create a new custom skin which extends
and overrides a base skin,
- it allows to redefine the look of a set of components by taking the base skin as
basis and plugging-in custom styles
- as well as to unify the appearance of standard controls and RichFaces components.
-
- </para>
-
- <para>In order to create your own skin using Plug-n-Skin feature, you can
follow these step by step instructions.</para>
-
+ </section>
+ <section id="StPlug-n-Skin">
+ <title>Plug-n-Skin</title>
+ <para>
+ Plug-n-Skin feature is designed to easily create a new
+ custom skin which extends and overrides a base skin, it
+ allows to redefine the look of a set of components by
+ taking the base skin as basis and plugging-in custom
+ styles as well as to unify the appearance of standard
+ controls and RichFaces components.
- <para>First of all, you need to create a template for the new skin.
- Creation of the template can be performed using Maven build and deployment
tool. More information on how to configure Maven for RichFaces
- <ulink
url="http://wiki.jboss.org/wiki/HowToConfigureMavenForRichFaces"...;.
You can copy and paste these Maven instructions
- to command line and execute them.
- </para>
-
-
- <programlisting role="XML"><![CDATA[...
+ </para>
+
+ <para>
+ In order to create your own skin using Plug-n-Skin
+ feature, you can follow these step by step instructions.
+ </para>
+
+
+
+
+ <para>
+ First of all, you need to create a template for the new
+ skin. Creation of the template can be performed using
+ Maven build and deployment tool. More information on how
+ to configure Maven for RichFaces
+ <ulink
+
url="http://wiki.jboss.org/wiki/HowToConfigureMavenForRichFaces"...
+ here
+ </ulink>
+ . You can copy and paste these Maven instructions to
+ command line and execute them.
+ </para>
+
+
+ <programlisting role="XML"><![CDATA[...
mvn archetype:create
-DarchetypeGroupId=org.richfaces.cdk
-DarchetypeArtifactId=maven-archetype-plug-n-skin
@@ -2578,135 +3694,276 @@
-DartifactId=ARTIFACT-ID
-DgroupId=GROUP-ID -Dversion=VERSION
...
-]]></programlisting>
- <para>Primary keys for the command:</para>
- <itemizedlist>
- <listitem><para><property>DarchetypeVersion</property>
indicates the RichFaces version. For example,
"3.2.2-SNAPSHOT"</para></listitem>
- <listitem><para><property>DartifactId</property>
artifact id of the project</para></listitem>
- <listitem><para><property>DgroupId</property> group id
of the project</para></listitem>
- <listitem><para><property>Dversion</property> the
version of the project you create, by default it is
"1.0.-SNAPSHOT"</para></listitem>
- </itemizedlist>
-<para>
- After this operation, a folder with the name of your "ARTIFACT-ID"
appears.
- The folder contains a template of Maven project.
-</para>
+]]></programlisting>
+ <para>Primary keys for the command:</para>
+ <itemizedlist>
+ <listitem>
+ <para>
+ <code>DarchetypeVersion</code>
+ indicates the RichFaces version. For example,
+ <code>"3.2.2-SNAPSHOT"</code>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <code>DartifactId</code>
+ artifact id of the project
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <code>DgroupId</code>
+ group id of the project
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <code>Dversion</code>
+ the version of the project you create, by
+ default it is <code>"1.0.-SNAPSHOT"</code>
+ </para>
+ </listitem>
+ </itemizedlist>
+ <para>
+ After this operation, a folder with the name of your
+ <code>"ARTIFACT-ID"</code> appears. The folder contains
a
+ template of Maven project.
+ </para>
- <para>Next steps will guide you though creating of the skin itself.</para>
-
-
-
-<para>
-In the root folder of Maven project (the one that contains "pom.xml"
file)
-you should run the following command in the command line:
-</para>
-
- <programlisting role="XML"><![CDATA[...
+ <para>
+ Next steps will guide you though creating of the skin
+ itself.
+ </para>
+
+
+
+ <para>
+ In the root folder of Maven project (the one that
+ contains "pom.xml" file) you should run the
+ following command in the command line:
+ </para>
+
+ <programlisting role="XML"><![CDATA[...
mvn cdk:add-skin -Dname=SKIN-NAME -Dpackage=SKIN-PACKAGE
...
]]></programlisting>
-
-
- <para>Primary keys for the command:</para>
- <itemizedlist>
-
- <listitem><para>
- <property>Dname</property> defines the name of the new skin
- </para>
- </listitem>
-
- <listitem>
- <para>
- <property>Dpackage</property> base package of the skin. By default
"groupId" of the project is used.
- </para>
- </listitem>
- </itemizedlist>
-
- <para>
- Additional optional keys for the command:
- </para>
-
- <itemizedlist>
-
- <listitem>
-
- <para>
- <property>DbaseSkin</property> defines the name of the base skin.
- </para>
- </listitem>
-
- <listitem>
- <para>
- <property>DcreateExt</property> if set to "true",
extended CSS classes are added. For more information, please, see
- <link linkend="StControlsSkinning">"Standard controls
skinning"</link>
- </para>
- </listitem>
-</itemizedlist>
-
-
- <para>As a result of the performed operations the following files and folders
are created:</para>
-
- <itemizedlist>
- <listitem><para><property>BaseImage.java</property> - the
base class to store images. Location:
"\src\main\java\SKIN-PACKAGE\SKIN-NAME\images\"</para></listitem>
- <listitem><para><property>BaseImageTest.java</property> -
a test version of a class that stores images. Location:
"\src\test\java\SKIN-PACKAGE\SKIN-NAME\images\"
</para></listitem>
- <listitem><para><property>XCSS files</property> - XCSS
files define the new look of RichFaces components affected by the new skin. Location:
"\src\main\resources\SKIN-PACKAGE\SKIN-NAME\css\"
</para></listitem>
- <listitem><para><property>SKIN-NAME.properties
</property> - a XCSS file that contains properties of the new skin. Location:
"\src\main\resources\SKIN-PACKAGE\SKIN-NAME\css\" </para>
- <para>The following properties are used to configure the
SKIN-NAME.properties file:</para>
-
-
- <itemizedlist>
- <listitem>
- <para><property>baseSkin</property> – the name of the
base skin to be used as basis.
- The look of the skin you define will be affected by new style properties.
- </para>
- </listitem>
- <listitem>
- <para><property>generalStyleSheet</property> -
- a path to the style sheet (SKIN-NAME.xcss) that imports style sheets of
the components to be affected by the new skin.
- </para>
- </listitem>
- <listitem>
- <para><property>extendedStyleSheet</property> - a path
to a style sheet that is used to unify the appearance of RichFaces components and standard
HTML controls.
- For additional information please read <link
linkend="StControlsSkinning">"Standard controls
skinning"</link> chapter.
- </para></listitem>
- <listitem>
- <para><property>gradientType</property> is a predefined
property to set the type of gradient applied to the new skin. Possible values are glass,
plastic, plain. More information on gradient implementation you can find further in this
chapter.
- </para>
- </listitem>
- </itemizedlist>
- </listitem>
- <listitem><para><property>SKIN-NAME.xcss </property> - a
XCSS file that imports XCSS files of the components to be affected by the new skin.
Location: "src\main\resources\META-INF\skins "
</para></listitem>
- <listitem><para><property>XCSS files</property> If the
command is executed with the "DcreateExt" key set to
"true", XCSS files that define style for standard controls will be
created. Location: "\src\main\resources\SKIN-PACKAGE\SKIN-NAME\css\".
</para></listitem>
- <listitem><para><property>SKIN-NAME-ext.xcss </property>
If the command is executed with the "DcreateExt" key set to
"true", the configuration SKIN-NAME-ext.xcss file that imports XCSS file
defining styles for the standard controls will be created. Location:
"src\main\resources\META-INF\skins ". </para></listitem>
-
<listitem><para><property>SKIN-NAME-resources.xml</property> -
the file contains the description of all listed above files. Location:
"src\main\config\resources ". </para></listitem>
- </itemizedlist>
-
-
-
- <para>Having performed the previous steps you can proceed to building the new
skin. This can be done by executing the given below command in the command line in the
root folder of you skin project (the one that contains pom.xml file). </para>
-<programlisting role="XML"><![CDATA[...
+
+ <para>Primary keys for the command:</para>
+ <itemizedlist>
+
+ <listitem>
+ <para>
+ <property>Dname</property>
+ defines the name of the new skin
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <property>Dpackage</property>
+ base package of the skin. By default
+ "groupId" of the project is used.
+ </para>
+ </listitem>
+ </itemizedlist>
+
+ <para>Additional optional keys for the command:</para>
+
+ <itemizedlist>
+
+ <listitem>
+
+ <para>
+ <property>DbaseSkin</property>
+ defines the name of the base skin.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <property>DcreateExt</property>
+ if set to "true", extended CSS classes
+ are added. For more information, please, see
+ <link linkend="StControlsSkinning">
+ "Standard controls skinning"
+ </link>
+ </para>
+ </listitem>
+ </itemizedlist>
+
+
+ <para>
+ As a result of the performed operations the following
+ files and folders are created:
+ </para>
+
+ <itemizedlist>
+ <listitem>
+ <para>
+ <property>BaseImage.java</property>
+ - the base class to store images. Location:
+ "\src\main\java\SKIN-PACKAGE\SKIN-NAME\images\"
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <property>BaseImageTest.java</property>
+ - a test version of a class that stores images.
+ Location:
+ "\src\test\java\SKIN-PACKAGE\SKIN-NAME\images\"
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <property>XCSS files</property>
+ - XCSS files define the new look of RichFaces
+ components affected by the new skin. Location:
+ "\src\main\resources\SKIN-PACKAGE\SKIN-NAME\css\"
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <property>SKIN-NAME.properties</property>
+ - a XCSS file that contains properties of the
+ new skin. Location:
+ "\src\main\resources\SKIN-PACKAGE\SKIN-NAME\css\"
+ </para>
+ <para>
+ The following properties are used to configure
+ the SKIN-NAME.properties file:
+ </para>
+
+
+ <itemizedlist>
+ <listitem>
+ <para>
+ <property>baseSkin</property>
+ – the name of the base skin to be used
+ as basis. The look of the skin you
+ define will be affected by new style
+ properties.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <property>generalStyleSheet</property>
+ - a path to the style sheet
+ (SKIN-NAME.xcss) that imports style
+ sheets of the components to be affected
+ by the new skin.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <property>extendedStyleSheet</property>
+ - a path to a style sheet that is used
+ to unify the appearance of RichFaces
+ components and standard HTML controls.
+ For additional information please read
+ <link linkend="StControlsSkinning">
+ "Standard controls
+ skinning"
+ </link>
+ chapter.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <property>gradientType</property>
+ is a predefined property to set the type
+ of gradient applied to the new skin.
+ Possible values are glass, plastic,
+ plain. More information on gradient
+ implementation you can find further in
+ this chapter.
+ </para>
+ </listitem>
+ </itemizedlist>
+ </listitem>
+ <listitem>
+ <para>
+ <property>SKIN-NAME.xcss</property>
+ - a XCSS file that imports XCSS files of the
+ components to be affected by the new skin.
+ Location:
+ "src\main\resources\META-INF\skins "
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <property>XCSS files</property>
+ If the command is executed with the
+ "DcreateExt" key set to
+ "true", XCSS files that define style
+ for standard controls will be created. Location:
+ "\src\main\resources\SKIN-PACKAGE\SKIN-NAME\css\".
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <property>SKIN-NAME-ext.xcss</property>
+ If the command is executed with the
+ "DcreateExt" key set to
+ "true", the configuration
+ SKIN-NAME-ext.xcss file that imports XCSS file
+ defining styles for the standard controls will
+ be created. Location:
+ "src\main\resources\META-INF\skins ".
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <property>SKIN-NAME-resources.xml</property>
+ - the file contains the description of all
+ listed above files. Location:
+ "src\main\config\resources ".
+ </para>
+ </listitem>
+ </itemizedlist>
+
+
+
+ <para>
+ Having performed the previous steps you can proceed to
+ building the new skin. This can be done by executing the
+ given below command in the command line in the root
+ folder of you skin project (the one that contains
+ pom.xml file).
+ </para>
+
+ <programlisting role="XML"><![CDATA[...
mvn clean install
...
-]]></programlisting>
-
-
-
- <para>Now, you can use your newly-created skin in your project by adding your new
skin parameters to web.xml file.</para>
-
- <programlisting role="XML"><![CDATA[...
+]]></programlisting>
+
+
+
+ <para>
+ Now, you can use your newly-created skin in your project
+ by adding your new skin parameters to web.xml file.
+ </para>
+
+ <programlisting role="XML"><![CDATA[...
<context-param>
<param-name>org.ajax4jsf.SKIN</param-name>
<param-value>SKIN-NAME</param-value>
</context-param>
...
-]]></programlisting>
+]]></programlisting>
- <para>
- So, now having built your new skin you can start redefining style properties in the
corresponding XCSS files(located in
"\src\main\resources\SKIN-PACKAGE\SKIN-NAME\css\" folder).
- In the example below, it's shown how to redefine the style properties for the
"combobox" component.</para>
-
- <programlisting role="XML"><![CDATA[...
+ <para>
+ So, now having built your new skin you can start
+ redefining style properties in the corresponding XCSS
+ files(located in
+ "\src\main\resources\SKIN-PACKAGE\SKIN-NAME\css\"
+ folder). In the example below, it's shown how to
+ redefine the style properties for the
+ "combobox" component.
+ </para>
+
+ <programlisting role="XML"><![CDATA[...
<u:selector name=".rich-combobox-item-selected">
<u:style name="border-width" value="1px" />
<u:style name="border-style" value="solid" />
@@ -2723,23 +3980,46 @@
</u:selector>
...
]]></programlisting>
-
- <para>Please notice that <property>background-image</property>
can be used to set a predefined gradient by means of
- <property><f:resource
f:key="org.richfaces.renderkit.html.CustomizeableGradient"></property>
and the <property>gradientType</property> constant set to one of the possible
values.
- </para>
-
- <para>You can also apply these style properties to
<property>background-image</property>:</para>
- <itemizedlist>
-
- <listitem><para> baseColor</para></listitem>
- <listitem><para> gradientColor</para></listitem>
- <listitem><para> gradientHeight</para></listitem>
- <listitem><para> valign</para></listitem>
- <listitem><para> gradientType</para></listitem>
- </itemizedlist>
-
-
- </section>
- </section>
+ <para>
+ Please notice that
+ <property>background-image</property>
+ can be used to set a predefined gradient by means of
+ <code>
+ <f:resource
+ f:key="org.richfaces.renderkit.html.CustomizeableGradient">
+ </code>
+ and the
+ <property>gradientType</property>
+ constant set to one of the possible values.
+ </para>
+
+ <para>
+ You can also apply these style properties to
+ <property>background-image</property>
+ :
+ </para>
+ <itemizedlist>
+
+ <listitem>
+ <para>baseColor</para>
+ </listitem>
+ <listitem>
+ <para>gradientColor</para>
+ </listitem>
+ <listitem>
+ <para>gradientHeight</para>
+ </listitem>
+ <listitem>
+ <para>valign</para>
+ </listitem>
+ <listitem>
+ <para>gradientType</para>
+ </listitem>
+ </itemizedlist>
+
+
+ </section>
+
+ </section>
</chapter>
Modified: trunk/docs/userguide/en/src/main/resources/css/html.css
===================================================================
--- trunk/docs/userguide/en/src/main/resources/css/html.css 2008-06-10 09:24:42 UTC (rev
8966)
+++ trunk/docs/userguide/en/src/main/resources/css/html.css 2008-06-10 09:27:24 UTC (rev
8967)
@@ -1,73 +1,78 @@
-@import url("jbossorg.css");
-
-.expand_collapse_toc {
- float:left;
- width:20px;
- color:#6699CC;
- cursor:pointer;
-}
-body {
-background-image:url(../images/community/bkg_gradient.gif);
-background-repeat:repeat-x;
-color:#333333;
-font-family:'Lucida Grande',Geneva,Verdana,Arial,sans-serif;
-font-size:12px;
-line-height:150%;
-margin:0pt auto;
-max-width:80em;
-padding:0em 2em;
-text-align:justify;
-}
-
-/* Center all images and Figure/Table titles */
-div.mediaobject img {margin:auto;}
-
-p.title {text-align:center;}
-
-pre.CSS {line-height:8px;}
-
-.css_normal {
-line-height:0px;
-color:#000000;
-}
-.css_colon {
-color:#000000;
-}
-.css_semi_colon {
-color:#000000;
-}
-.css_curly_brace {
-color:#000000;
-}
-.css_comment {
-color:#3F5FBF;
-background-color:rgb(247,247,247);
-}
-.css_error {
-color:#BF3F3F;
-}
-.css_selector {
-color:#3F7F7F;
-}
-.css_null {
-color:rgb(0,0,0);
-}
-.css_property_name {
-font-weight:bold;
-color:#7F007F;
-}
-.css_property_value {
-color:#2A00FF;
-}
-.css_uri {
-color:#2A00FF;
-}
-.css_atmark_rule {
-color:#3F7F7F;
-}
-.css_media {
-color:#2A00FF;
-}
-.css_string {
-color:#2A00FF;
+@import url("jbossorg.css");
+
+.expand_collapse_toc {
+ float:left;
+ width:20px;
+ color:#6699CC;
+ cursor:pointer;
+}
+body {
+background-image:url(../images/community/bkg_gradient.gif);
+background-repeat:repeat-x;
+color:#333333;
+font-family:'Lucida Grande',Geneva,Verdana,Arial,sans-serif;
+font-size:12px;
+line-height:150%;
+margin:0pt auto;
+max-width:80em;
+padding:0em 2em;
+text-align:justify;
+}
+
+/* Center all images and Figure/Table titles */
+div.mediaobject img {margin:auto;}
+
+p.title {text-align:center;}
+
+pre.CSS {line-height:8px;}
+
+.css_normal {
+line-height:0px;
+color:#000000;
+}
+.css_colon {
+color:#000000;
+}
+.css_semi_colon {
+color:#000000;
+}
+.css_curly_brace {
+color:#000000;
+}
+.css_comment {
+color:#3F5FBF;
+background-color:rgb(247,247,247);
+}
+.css_error {
+color:#BF3F3F;
+}
+.css_selector {
+color:#3F7F7F;
+}
+.css_null {
+color:rgb(0,0,0);
+}
+.css_property_name {
+font-weight:bold;
+color:#7F007F;
+}
+.css_property_value {
+color:#2A00FF;
+}
+.css_uri {
+color:#2A00FF;
+}
+.css_atmark_rule {
+color:#3F7F7F;
+}
+.css_media {
+color:#2A00FF;
+}
+.css_string {
+color:#2A00FF;
+}
+code {
+color:#000000;
+font-size:12px;
+font-family:courier;
}
\ No newline at end of file