From richfaces-svn-commits at lists.jboss.org Tue Jun 10 05:27:26 2008
Content-Type: multipart/mixed; boundary="===============7885898586084166447=="
MIME-Version: 1.0
From: richfaces-svn-commits at lists.jboss.org
To: richfaces-svn-commits at lists.jboss.org
Subject: [richfaces-svn-commits] JBoss Rich Faces SVN: r8967 - in trunk/docs:
faq/en/src/main/resources/css and 3 other directories.
Date: Tue, 10 Jun 2008 05:27:25 -0400
Message-ID:
--===============7885898586084166447==
Content-Type: text/plain; charset="utf-8"
MIME-Version: 1.0
Content-Transfer-Encoding: quoted-printable
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 were added.
partly done for: "FAQ", " Web Application Descriptor Parameters", " Basic c=
oncepts of the RichFaces Framework" chapters, some components: column(s), a=
jaxListener, commandButton, componentControl, dataFilterSlider, dataOrdered=
List, dragIndicator, drag(drop)Listener, drag(drop)Support, fileUpload,form=
, gmap, inputNumberSlider, loadScript, mediaOutput, outputPanel, region, su=
pport, virtualEarth.
Modified: trunk/docs/faq/en/src/main/docbook/module/RFCfaq.xml
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- trunk/docs/faq/en/src/main/docbook/module/RFCfaq.xml 2008-06-10 09:24:4=
2 UTC (rev 8966)
+++ trunk/docs/faq/en/src/main/docbook/module/RFCfaq.xml 2008-06-10 09:27:2=
4 UTC (rev 8967)
@@ -564,7 +564,7 @@
Example:
- How to set <rich:dataTable> border to 0px?
Add the following code to your css file:"onsubmit"
slightly differs from the stand=
ard one. Do not return "true"
- if you want to fire the reques=
t - because
- <xxx><a4j:suppo=
rt
+ if you want to fire the reques=
t - because <xxx><a4j:support
event=3D"onclick"
onsubmit=3D"return
- true;">
- is transformed into <xxx on=
click=3D"return
- true; A4J.Submit(.... );" > and th=
e request
+ true;"> is transfor=
med into <xxx onclick=3D"return
+ true; A4J.Submit(.... );" >=
and the request
isn't fired also in this case (but th=
e standard event
processing fired). You must only return "false"
@@ -858,15 +854,13 @@
release 1.0?
To avoid differences with other JavaScript attribut=
es, a function placement
in a JavaScript call is changed, instead of simple=
inserting of attribute
- content (..oncomplete :anotherFunction(this)..), i=
t places (oncomplete:
- function(){anotherFunction(this);}..) in anonymous=
function, to allow put
+ content (..oncomplete :anotherFunction(this)=
..), it places (oncomplete:
+ function(){anotherFunction(this);}..) in an=
onymous function, to allow put
"chain" of statements in attribute.
Since, "this" keyword will point to a parameters map=
instead of a control
- element as it was before. You may use
- document.findElementById()
- to get references to this object after =
a request is processed as
+ element as it was before. You may use docume=
nt.findElementById()to get references to this object after a request=
is processed as
when a page is updated in Ajax you will have refer=
ence to a control, removed
from a DOM tree. Or, if you are sure that your element is not update=
d, you can add
@@ -875,21 +869,19 @@
<a4j:support> (or onclick in <a4j:commandLink/Button>=
property>
- ) to place reference to known variable =
(
- <a4j:commandLink onclick=3D"v=
ar myControl=3Dthis;"
- oncomplete=3D"anotherFunction(myCo=
ntrol)"/>
- ).
+ ) to place reference to known variable =
(<a4j:commandLink onclick=3D"var myControl=3Dthis;"
+ oncomplete=3D"anotherFunction(myCo=
ntrol)"/>). Tip:The onComplete syntax now is:
]]>
- where the event is a v=
ariable where the JS event
+ where the event 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 data is a
+ the element instead of this. and dat=
a is a
variable that contains deserialized value =
from the
- data attribute.
+ "data" attr=
ibute.
@@ -923,7 +915,7 @@
How to avoid generating exception for "keepAli=
ve"
component?To avoid exception, don't forget that the compo=
nent stores beans in
- serialized view, but your bean should implement ja=
va.io.Serializable.
+ serialized view, but your bean should implement java.io.Serializable.
=
@@ -1077,7 +1069,7 @@
error happens because of the "reRender" =
attribute of some
Ajax core Action Component is set on a component t=
hat 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=3D"f=
alse" in this
+ updated. The problem is that if rendered=3D&=
quot;false" in this
moment, the component isn't in the DOM tree a=
nd can't be
updated because of the general limitations describ=
ed in the Ajax Processing
chapter.
@@ -1262,19 +1254,16 @@
...]]>
In order to build this application, you can create a=
managed bean like this
- one. Function
- takeSelection()
- fills the array selectedCars=
with the data,
- got from the selection. Funct=
ion
- getSelectedCars()
- returns the array selectedCa=
rs, which is
+ one. Function takeSelection() fills t=
he array selectedCars with the data,
+ got from the selection. Funct=
ion getSelectedCars()
+ returns the array selectedCars, which=
is
used for filling <rich:dataTable> with selected row/rows data.Example:
- selectedCars =3D new ArrayLis=
t(); =
Modified: trunk/docs/faq/en/src/main/resources/css/html.css
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- trunk/docs/faq/en/src/main/resources/css/html.css 2008-06-10 09:24:42 U=
TC (rev 8966)
+++ trunk/docs/faq/en/src/main/resources/css/html.css 2008-06-10 09:27:24 U=
TC (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
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- 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 ind=
icator that Ajax response is going to be processed. =
-Attribute "type" descr=
ibed in the following chapter. It d=
efines the fully qualified Java class name for listener.This class implemen=
ts org.ajax4jsf.framework.ajax.ajaxListener
+Attribute "type" descr=
ibed in the following chapter. It d=
efines the fully qualified Java class name for listener.This class implemen=
ts org.ajax4jsf.framework.ajax.ajaxListenerinterface. You c=
an access to the source of the event (Ajax component) using event.getSource=
() call. =
=
Modified: trunk/docs/userguide/en/src/main/docbook/included/columns.xml
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- trunk/docs/userguide/en/src/main/docbook/included/columns.xml 2008-06-1=
0 09:24:42 UTC (rev 8966)
+++ trunk/docs/userguide/en/src/main/docbook/included/columns.xml 2008-06-1=
0 09:27:24 UTC (rev 8967)
@@ -1,87 +1,116 @@
-
-
- rich:columns
- columns
-
-
-
-
- Creating the Component with a Page Tag
- To create the simplest variant on a page use the following s=
yntax:
-
- Example:
-
-
+
+ rich:columns
+ columns
+
+
+
+
+ Creating the Component with a Page Tag
+
+ To create the simplest variant on a page use the following
+ syntax:
+
+
+ Example:
+
+ =
...]]>
-
-
- Creating the Component Dynamically Using Java
-
- Example:
-
-
+
+ Creating the Component Dynamically Using Java
+
+ Example:
+
+
-
-
- Details of Usage
- The
- <rich:columns>
- component gets a list from data model and outputs corr=
esponding set of columns inside =
- <rich:dataTable> on a page. =
- It is possible to use "header"=
property> and "footer" =
facets
- with <rich:columns>
component.
-
-
- The "value" and "var"attributes =
- are used to access the values of collection.
-
- The simple example is placed below.
-
- Example:
-
-
+
+ Details of Usage
+
+ The
+
+ <rich:columns>
+
+ component gets a list from data model and outputs
+ corresponding set of columns inside
+
+ <rich:dataTable>
+
+ on a page. It is possible to use
+
+ "header"
+
+ and
+
+ "footer"
+
+ facets with
+
+ <rich:columns>
+
+ component.
+
+
+ The
+
+ "value"
+
+ and
+
+ "var"
+
+ attributes are used to access the values of collection.
+
+ The simple example is placed below.
+
+ Example:
+
+
@@ -94,26 +123,46 @@
=
...]]>
-
- The "columns" attribute defines the count of columns.
-
-
- The "rows"=
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.
-
-
- The "begin" attribute contains the first iteration item. Note, that iteration begins =
from zero.
-
-
- The "end" =
attribute contains the last iteration item.
-
-
- With the help of the attributes described below you can custom=
ize the output, i.e. define which columns and how many rows appear on a pag=
e.
-
-
- Example:
-
-
+ The
+
+ "columns"
+
+ attribute defines the count of columns.
+
+
+ The
+
+ "rows"
+
+ 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.
+
+
+ The
+
+ "begin"
+
+ attribute contains the first iteration item. Note, that
+ iteration begins from zero.
+
+
+ The
+
+ "end"
+
+ attribute contains the last iteration item.
+
+
+ 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.
+
+
+ Example:
+
+
@@ -123,30 +172,45 @@
=
...]]>
-
- In the example below, columns from first to second and all row=
s are shown in the =
- <rich:dataTable>. =
-
-
- The result is:
-
-
- Generated <rich:co=
lumns> with columns from first to second and all r=
ows
- =
-
-
-
-
-
-
- The <rich:columns> component does not prevent to use =
- <rich:column>. =
- In the following example one column renders in any way and ano=
ther columns could be picked from the model.
-
-
- Example:
-
-
+ In the example below, columns from first to second and all
+ rows are shown in the
+
+ <rich:dataTable>
+
+ .
+
+ The result is:
+
+
+ Generated
+
+ <rich:columns>
+
+ with columns from first to second and all rows
+
+
+
+
+
+
+
+
+ The
+
+ <rich:columns>
+
+ component does not prevent to use
+
+ <rich:column>
+
+ . In the following example one column renders in any way and
+ another columns could be picked from the model.
+
+
+ Example:
+
+
@@ -162,17 +226,24 @@
=
...]]>
- =
- In order to group columns with text information into one row=
, use
- the "colspan" 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 colu=
mn begins from the first row with the help of the
- "breakBefore" attribute =3D true.
-
-
- Example:
-
-
+ In order to group columns with text information into one
+ row, use the
+
+ "colspan"
+
+ 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
+ breakBefore =3D "true"
+ .
+
+
+ Example:
+
+
@@ -189,24 +260,32 @@
...
]]>
- =
-
- =
- The same way is used for columns groupi=
ng with the "rowspan" =
- 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 afte=
r the second column.
-
-
- Example:
-
- As a result the following structure is rendered:
+
+ <rich:column> modified with colspan and breakbefore attrib=
utes
+ =
+
+
+
+
+
+
+
+ The same way is used for
+ columns
+ grouping with the
+
+ "rowspan"
+
+ 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.
+
+
+ Example:
+
+ =
@@ -223,129 +302,208 @@
...
]]>
- =
- =
- Information about sorting and filtering you can find here. =
=
-
- =
-
- Look-and-Feel Customization
- =
- For skinnability implementation, the components use a
- style class redefinition method.
- Default style classes are mapped on
- skin parameters.
-
- There are two ways to redefine the appearance of all
- <rich:columns>
- components at once:
-
-
- Redefine the corresponding skin parameters
-
-
- Add to your style sheets
- style classes
- used by a
- <rich:columns>
- component
-
-
-
-
- Skin Parameters Redefinition
- =
- Skin parameters redefinition for
- <rich:columns>
- are the same as for the
- <rich:dataTable>
- component.
-
-
- Definition of Custom Style Classes
- =
- Custom style classes for
- <rich:columns>
- are the same as for the
- <rich:dataTable>
- component.
-
- =
- In order to redefine styles for all
- <rich:columns>
- components on a page using CSS, it's enough to cr=
eate classes with the
- same names (possible classes could be found in the tables above) and define necessary properties in them. <=
/para>
- =
-
- Example:
-
- As a result:
+
+ <rich:column> generated with rowspan attribute
+ =
+
+
+
+
+
+
+ Information about sorting and filtering you can find
+ here
+ .
+
+
+
+
+
+ Look-and-Feel Customization
+
+
+ For skinnability implementation, the components use a
+
+ style class redefinition method.
+
+ Default style classes are mapped on
+
+ skin parameters.
+
+
+
+ There are two ways to redefine the appearance of all
+
+ <rich:columns>
+
+ components at once:
+
+
+
+ Redefine the corresponding skin parameters
+
+
+
+ Add to your style sheets
+
+ style classes
+
+ used by a
+
+ <rich:columns>
+
+ component
+
+
+
+
+
+ Skin Parameters Redefinition
+
+
+ Skin parameters redefinition for
+
+ <rich:columns>
+
+ are the same as for the
+
+ <rich:dataTable>
+
+ component
+ .
+
+
+
+ Definition of Custom Style Classes
+
+
+ Custom style classes for
+
+ <rich:columns>
+
+ are the same as for the
+
+ <rich:dataTable>
+
+ component
+ .
+
+
+
+ In order to redefine styles for all
+
+ <rich:columns>
+
+ components on a page using CSS, it's enough to create
+ classes with the same names (possible classes could be found
+ in the tables
+ above
+ ) and define necessary properties in them.
+
+
+
+ Example:
+
+ =
- =
- This is a result:
- =
-
- Redefinition styles with predefined classes
-
-
-
-
-
-
- =
- In the example column header cells color was changed.
- =
- Also it=E2=80=99s possible to change styles of particular <rich:columns> componen=
t. In this case you should create own style classes and use them in corresp=
onding <rich:columns>styleClass attributes. An example is =
placed below:
- =
-
- Example:
-
-
+
+ This is a result:
+
+
+ Redefinition styles with predefined classes
+
+
+
+
+
+
+
+
+ In the example column header cells color was changed.
+
+
+
+ Also it=E2=80=99s possible to change styles of particular
+
+ <rich:columns>
+
+ component. In this case you should create own style classes
+ and use them in corresponding
+
+ <rich:columns>
+
+
+ styleClass
+
+ attributes. An example is placed below:
+
+
+
+ Example:
+
+ =
- The "styleClass" attribute for <rich:columns> is defi=
ned as it=E2=80=99s shown in the example below:
- =
-
- Example:
-
-
-]]> =
- =
- This is a result:
- =
-
- Redefinition styles with own classes and styleClass attributes
-
-
-
-
-
- =
- =
- As it could be seen on the picture above, the font style for=
columns was changed.
-
- =
-
- Relevant Resources Links
- Here you can found some additional information for <rich:columns> comp=
onent usage.
- =
-
\ No newline at end of file
+...]]>
+
+ The
+
+ "styleClass"
+
+ attribute for
+
+ <rich:columns>
+
+ is defined as it=E2=80=99s shown in the example below:
+
+
+
+ Example:
+
+
+]]>
+
+ This is a result:
+
+
+
+ Redefinition styles with own classes and
+
+ styleClass
+
+ attributes
+
+
+
+
+
+
+
+
+
+ As it could be seen on the picture above, the font style for
+ columns was changed.
+
+
+
+
+ Relevant Resources Links
+
+
+ Here
+
+ you can found some additional information for
+
+ <rich:columns>
+
+ component usage.
+
+
+
\ No newline at end of file
Modified: trunk/docs/userguide/en/src/main/docbook/included/commandButton.x=
ml
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- trunk/docs/userguide/en/src/main/docbook/included/commandButton.xml 200=
8-06-10 09:24:42 UTC (rev 8966)
+++ trunk/docs/userguide/en/src/main/docbook/included/commandButton.xml 200=
8-06-10 09:27:24 UTC (rev 8967)
@@ -60,12 +60,12 @@
Key attributes and ways of usage<a4j:commandButton> is used in the same way as <h:commandButton>, but with definition of=
the area that is updated after the response comes back from the server.
- This definition of the component provides a link, a click on t=
he link causes an Ajax form submit on the server, action1 method performance, and rendering of the component with someD=
ata id after the response comes back from the server.
+ This definition of the component provides a link, a click on t=
he link causes an Ajax form submit on the server, action1 meth=
od performance, and rendering of the component with someData i=
d after the response comes back from the server.The component <a4j:comman=
dButton> placed on a page generates the following =
HTML code:
...]]>
- Hence, the utility method A4J.AJAX.Submit=
is called on a click, the method performs Ajax request as the <a4j:support> component=
para>
+ Hence, the utility method A4J.AJAX.Submit is call=
ed on a click, the method performs Ajax request as the <a4j:support> componentNote:AJAX support is built in and it's not necessary to add ne=
sted <a4j:support> to the component.
Modified: trunk/docs/userguide/en/src/main/docbook/included/componentContro=
l.xml
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- 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 @@
...
]]>
- According to this code a function with name ffunction<=
/property>
+ According to this code a function with name ffunction
is generated. It is used in JavaScript code to trigger an operation =
on the target component
- with defined id=3D"comp_ID".
+ with defined id=3D"comp_ID".The generated function is shown below: allows to transfer parameters. The "disableDefault" attribute with "true" val=
ue is used instead
- of onclick=3D"return false;" attribute for
+ of onclick=3D"return false;" attribute for <h:commandButton> to avoid a problem with form submit and modalP=
anel showing.
Modified: trunk/docs/userguide/en/src/main/docbook/included/dataFilterSlide=
r.xml
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- 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 @@
"onSlide"
attribute ("onChange"
- is its alias). When the attribute definition =3D true, s=
ubmission on this event is
+ is its alias). When the attribute definition =3D &=
quot;true", submission on this event is
defined.
Information about the "process" attribute usage you can find here=
.
Modified: trunk/docs/userguide/en/src/main/docbook/included/dataOrderedList=
.xml
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- trunk/docs/userguide/en/src/main/docbook/included/dataOrderedList.xml 2=
008-06-10 09:24:42 UTC (rev 8966)
+++ trunk/docs/userguide/en/src/main/docbook/included/dataOrderedList.xml 2=
008-06-10 09:27:24 UTC (rev 8967)
@@ -1,93 +1,122 @@
-
-
- rich:dataOrderedList
- HtmlDataOrderedList
- ordered list
-
-
+
+
+ rich:dataOrderedList
+ HtmlDataOrderedList
+ ordered list
+
+
=
-
=
-
- Creating the Component with a Page Tag
- To create the simplest variant of dataOrderedList on a page, use the
- following syntax:
+
+ Creating the Component with a Page Tag
+
+ To create the simplest variant of
+ dataOrderedList
+ on a page, use the following syntax:
+
=
-
- Example:
-
-
+ Example:
+
+
...
]]>
-
-
- Creating the Component Dynamically Using Java
+
+
+ Creating the Component Dynamically Using Java
=
-
- Example:
-
-
+ Example:
+
+
-
-
- Details of Usage
- The
- <rich:dataOrderedList>
- component allows to generate an ordered list from a mode=
l.
- The component has the
- "type"
- attribute, which corresponds to the
- "type"
- parameter for the
- "OL"
- HTML element and defines a marker type. Possible values =
for
- "type"
- attribute are: "A",
- "a", "I",
- "i","1".
- Here is an example:
+
+
+ Details of Usage
+
+ The
+
+ <rich:dataOrderedList>
+
+ component allows to generate an ordered list from a model.
+
+
+ The component has the
+
+ "type"
+
+ attribute, which corresponds to the
+
+ "type"
+
+ parameter for the
+
+ "OL"
+
+ HTML element and defines a marker type. Possible values for
+
+ "type"
+
+ attribute are:
+ "A"
+ ,
+ "a"
+ ,
+ "I"
+ ,
+ "i"
+ ,
+ "1"
+ .
+
+ Here is an example:
=
-
@@ -100,42 +129,64 @@
...
]]>
=
- This is a result:
- =
-
-
- <rich:dataOrderedList>
- component with
- "type"
- attribute
-
-
-
-
-
-
+ This is a result:
=
- In the example the
- "rows"
- attribute limits number of output elements of the list.
- =
-
- "first"
- attribute defines first element for output.
- "title"
- are used for popup title.
- =
- The component was created basing on the
- <a4j:repeat>
- component and as a result it could be partially updated wi=
th Ajax.
- "ajaxKeys"
- attribute allows to define row keys that are updated after=
an Ajax request.
- Here is an example:
- =
-
- Example:
-
-
+
+
+ <rich:dataOrderedList>
+
+ component with
+
+ "type"
+
+ attribute
+
+
+
+
+
+
+
+
+
+ In the example the
+
+ "rows"
+
+ attribute limits number of output elements of the list.
+
+
+
+
+ "first"
+
+ attribute defines first element for output.
+
+ "title"
+
+ are used for popup title.
+
+
+
+ The component was created basing on the
+
+ <a4j:repeat>
+
+ component and as a result it could be partially updated with
+ Ajax.
+
+ "ajaxKeys"
+
+ attribute allows to define row keys that are updated after
+ an Ajax request.
+
+ Here is an example:
+
+
+ Example:
+
+
...
@@ -144,143 +195,212 @@
...
]]>
- =
- In the example
- "reRender"
- attribute contains value of
- "id"
- attribute for
- <rich:dataOrderedList>
- component. As a result the component is updated after an A=
jax request.
-
-
- Look-and-Feel Customization
=
- For skinnability implementation, the components use a
- style class redefinition method.
- Default style classes are mapped on
- skin parameters.
-
+
+ In the example
+
+ "reRender"
+
+ attribute contains value of
+
+ "id"
+
+ attribute for
+
+ <rich:dataOrderedList>
+
+ component. As a result the component is updated after an
+ Ajax request.
+
+
+
+ Look-and-Feel Customization
=
- There are two ways to redefine the appearance of all
- <rich:dataOrderedList>
- components at once:
+
+ For skinnability implementation, the components use a
+
+ style class redefinition method.
+
+ Default style classes are mapped on
+
+ skin parameters.
+
+
=
-
-
- Redefine the corresponding skin parameters
-
+
+ There are two ways to redefine the appearance of all
+
+ <rich:dataOrderedList>
+
+ components at once:
+
=
-
- Add to your style sheets
- style classes
- used by a
- <rich:dataOrderedList>
- component
-
-
-
+
+
+ Redefine the corresponding skin parameters
+
=
-
- Definition of Custom Style Classes
+
+
+ Add to your style sheets
+
+ style classes
+
+ used by a
+
+
+ <rich:dataOrderedList>
+
+
+ component
+
+
+
+
=
- On the screenshot there are classes names that define styles for=
component elements.
+
+ Definition of Custom Style Classes
=
-
- Style classes
-
-
-
-
-
-
+
+ On the screenshot there are classes names that define styles
+ for component elements.
+
=
-
- Classes names that define a list appearance
-
-
-
- Class name
- Description
-
-
-
-
- rich-orderedlist
- Defines styles for an html <ol> element
-
-
- rich-list-item
- Defines styles for an html <li> element
-
-
-
-
+
+ Style classes
+
+
+
+
+
+
=
- In order to redefine styles for all
- <rich:dataOrderedList>
- components on a page using CSS, it's enough to create=
classes with the
- same names (possible classes could be found in the tables above) and define necessary properties in them.
- =
-
- Example:
-
-
+ Classes names that define a list appearance
+
+
+
+ Class name
+ Description
+
+
+
+
+ rich-orderedlist
+
+ Defines styles for an html <ol>
+ element
+
+
+
+ rich-list-item
+
+ Defines styles for an html <li>
+ element
+
+
+
+
+
+
+
+ In order to redefine styles for all
+
+ <rich:dataOrderedList>
+
+ components on a page using CSS, it's enough to create
+ classes with the same names (possible classes could be found
+ in the tables
+ above
+ ) and define necessary properties in them.
+
+
+
+ Example:
+
+ =
- =
- This is a result:
- =
-
- Redefinition styles with predefined classes
-
-
-
-
-
-
- =
- In the example background color was changed.
- =
- Also it=E2=80=99s possible to change styles of particular <rich:dataOrderedList> compon=
ent. In this case you should create own style classes and use them in corre=
sponding <rich:dataOrderedList>styleClass attributes. An example is =
placed below:
- =
-
- Example:
-
-
+
+ This is a result:
+
+
+ Redefinition styles with predefined classes
+
+
+
+
+
+
+
+ In the example background color was changed.
+
+
+ Also it=E2=80=99s possible to change styles of particular
+
+ <rich:dataOrderedList>
+
+ component. In this case you should create own style classes
+ and use them in corresponding
+
+ <rich:dataOrderedList>
+
+
+ styleClass
+
+ attributes. An example is placed below:
+
+
+
+ Example:
+
+ =
-
- Example:
-
-
-]]> =
- =
- This is a result:
- =
-
- Redefinition styles with own classes and =
styleClass attributes
-
-
-
-
-
- =
- =
- As it could be seen on the picture above, the font style was cha=
nged.
-
-
- Relevant Resources Links
- Here you can see the example of
- <rich:dataOrderedList >
- usage and sources for the given example.
-
+...]]>
+
+ Example:
+
+
+]]>
+
+ This is a result:
+
+
+
+ Redefinition styles with own classes and
+
+ styleClass
+
+ attributes
+
+
+
+
+
+
+
+
+
+ As it could be seen on the picture above, the font style was
+ changed.
+
+
+
+ Relevant Resources Links
+
+
+ Here
+
+ you can see the example of
+
+ <rich:dataOrderedList >
+
+ usage and sources for the given example.
+
+
Modified: trunk/docs/userguide/en/src/main/docbook/included/dragIndicator.x=
ml
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- trunk/docs/userguide/en/src/main/docbook/included/dragIndicator.xml 200=
8-06-10 09:24:42 UTC (rev 8966)
+++ trunk/docs/userguide/en/src/main/docbook/included/dragIndicator.xml 200=
8-06-10 09:27:24 UTC (rev 8967)
@@ -177,7 +177,7 @@
If you use <rich:dragIndicato=
r> inside a form =
- do not forget to use id like "formId:indicatorID&qu=
ot; =
+ do not forget to use id like formId:indicatorID =
defined in <rich:dragSupport&=
gt; indicator attribute.
Modified: trunk/docs/userguide/en/src/main/docbook/included/dragListener.xml
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- 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 @@
-
-
- rich:dragListener
-
-
-
+ Component identification parameters
+
+
+
+ Name
+ Value
+
+
+
=
-
- Creating the Component with a Page Tag
- To create the simplest variant on a page use the following synta=
x:
+
+ listener-class
+ org.richfaces.event.DragListener
+
+
+ event-class
+ org.richfaces.event.DragEvent
+
=
-
- Example:
-
+
+ tag-class
+ org.richfaces.taglib.DragListenerTag
+
=
-
+
+
+
+
+
+ Creating the Component with a Page Tag
+
+ To create the simplest variant on a page use the following
+ syntax:
+
+
+
+ Example:
+
+
+
...
-]]> =
-
- =
-
- Creating the Component Dynamically Using Java
-
- Example: =
-
+
+
+
+ Creating the Component Dynamically Using Java
+
+ Example:
+
+
=
-
- =
-
=
-
- Details of Usage
+
=
-
-The <rich:dragListener>=
is used as a nested tag with components like
-<rich:dragSupport>, <rich:tree> and <rich:treeNode>.
-
-
-Attribute "type" defin=
es the fully qualified Java class name for a listener.
- This class should implement org.richfaces.event.DragListener interface.
-
- =
-
- The typical variant of using:
-
+
+ Details of Usage
=
-
+ The
+
+ <rich:dragListener>
+
+ is used as a nested tag with components like
+
+ <rich:dragSupport>
+
+ ,
+
+ <rich:tree>
+
+ and
+
+ <rich:treeNode>
+
+ .
+
+
+ Attribute
+
+ "type"
+
+ defines the fully qualified Java class name for a listener.
+ This class should implement
+ org.richfaces.event.DropListener
+
+ interface
+
+ .
+
+
+
+
+ The typical variant of using:
+
+
+
+ =
@@ -93,13 +124,13 @@
...
-]]> =
+]]>
=
-
- Java bean source:
-
+
+ Java bean source:
+
=
- =
- =
- =
-
- Look-and-Feel Customization
- =
-
- <rich:dragListener>
- has no skin parameters and custom style classes<=
/property>, as the
- component isn't visual.
-
- =
+]]>
+
+
+
+ Look-and-Feel Customization
+
+
+
+ <rich:dragListener>
+
+ has no skin parameters and custom
+ style classes
+ , as the component isn't visual.
+
+
+
\ No newline at end of file
Modified: trunk/docs/userguide/en/src/main/docbook/included/dragSupport.xml
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- 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 @@
-
-
- rich:dragSupport
+
+
+ rich:dragSupport
=
- HtmlDragSupport
-
-
+ HtmlDragSupport
+
+
=
=
-
=
=
-
- Creating the Component with a Page Tag
+
+ Creating the Component with a Page Tag
=
- Here is a simple example as it could be used on a page:
+
+ Here is a simple example as it could be used on a page:
+
=
=
-
- Example:
-
-
+ Example:
+
+
...
]]>
-
+
=
-
- Creating the Component Dynamically Using Java
+
+ Creating the Component Dynamically Using Java
=
-
- Example:
-
-
+ Example:
+
+
-
+
=
-
- Details of Usage
+
+ Details of Usage
=
- The dragSupport tag inside a component comp=
letely specifies the
- events and JavaScript required to use the component and it's childre=
n for dragging as part of
- a drag-and-drop operation. In order to work, though, dragS=
upport 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 =
h:column tag
- doesn't provide the necessary properties for redefining events on th=
e client:
+
+ The
+ dragSupport
+ 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,
+ dragSupport
+ 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
+ h:column
+ tag doesn't provide the necessary properties for redefining
+ events on the client:
+
=
=
-
- Example:
-
-
+ Example:
+
+
@@ -111,14 +124,19 @@
...
]]>
=
- However, using a4j:outputPanel as a wrapper=
inside
- h:column, the following code could be used succ=
essfully:
+
+ However, using
+ a4j:outputPanel
+ as a wrapper inside
+ h:column
+ , the following code could be used successfully:
+
=
=
-
- Example:
-
-
+ Example:
+
+
@@ -130,18 +148,26 @@
...
]]>
=
- This code makes all rows of this column draggable.
+ This code makes all rows of this column draggable.
=
- One of the main attributes for dragSupport =
is
- "dragType", which asso=
ciates 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:
+
+ One of the main attributes for
+ dragSupport
+ is
+
+ "dragType"
+ ,
+
+ 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:
+
=
=
-
- Example:
-
-
+ Example:
+
+
@@ -159,60 +185,117 @@
...
]]>
=
- In this example, the drop1 panel grid is a =
drop zone that invokes
- drag-and-drop for drops of items from the first drag1 panel grid, but not
- the second drag2 panel grid. In the section abo=
ut
- dropSupport, you will find an example that show=
s more detailed
- information about moving data between tables with drag and drop.
+
+ In this example, the
+ drop1
+ panel grid is a drop zone that invokes drag-and-drop for
+ drops of items from the first
+ drag1
+ panel grid, but not the second
+ drag2
+ panel grid. In the section about
+ dropSupport
+ , you will find an example that shows more detailed
+ information about moving data between tables with drag and
+ drop.
+
=
- The dragSupport component also has a
- "value"
- attribute for passing data into the processing after a d=
rop event.
+
+ The
+ dragSupport
+ component also has a
+
+ "value"
+
+ attribute for passing data into the processing after a drop
+ event.
+
=
- One more important attribute for
- <rich:dragSupport>
- is the
- "dragIndicator"
- attribute that point to the component id of the
- <rich:dragIndicator>
- component to be used for dragged items from this drag zo=
ne. If it isn't defined, a
- default indicator for drag operations is used.
+
+ One more important attribute for
+
+ <rich:dragSupport>
+
+ is the
+
+ "dragIndicator"
+
+ attribute that point to the component id of the
+
+ <rich:dragIndicator>
+
+ component to be used for dragged items from this drag zone.
+ If it isn't defined, a default indicator for drag operations
+ is used.
+
=
- Finally, the component has the following extra attributes for ev=
ent processing on the
- client:
+
+ Finally, the component has the following extra attributes
+ for event processing on the client:
+
=
-
- ondragenter
+
+
+ ondragenter
+
=
- ondragexit
-
+
+ ondragexit
+
+
=
- You can use your own custom JavaScript functions to handle these=
events.
- =
- =
- Note: 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 t=
ext in the outputPanel only.
-
- Information about the "process" attribute usage you can find here<=
/link>.
-
-
+
+ You can use your own custom JavaScript functions to handle
+ these events.
+
=
-
- Look-and-Feel Customization
=
-
- <rich:dragSupport>
- has no skin parameters and custom style classe=
s, as the
- component isn't visual.
-
- =
-
- Relevant Resources Links
-
- Here you can see the example of
- <rich:dragSupport>
- usage and sources for the given example.
-
+
+ Note:
+
+ 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.
+
+
+
+ Information about the
+
+ "process"
+
+ attribute usage you can find
+ here
+ .
+
+
=
+
+ Look-and-Feel Customization
+
+
+
+ <rich:dragSupport>
+
+ has no skin parameters and custom
+ style classes
+ , as the component isn't visual.
+
+
+
+
+ Relevant Resources Links
+
+
+ Here
+
+ you can see the example of
+
+ <rich:dragSupport>
+
+ usage and sources for the given example.
+
+
+
Modified: trunk/docs/userguide/en/src/main/docbook/included/dropListener.xml
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- 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 @@
-
-
- rich:dropListener
-
-
-
+ Component identification parameters
+
+
+
+ Name
+ Value
+
+
+
=
-
- Creating the Component with a Page Tag
- To create the simplest variant on a page use the following synta=
x:
+
+ listener-class
+ org.richfaces.event.DropListener
+
+
+ event-class
+ org.richfaces.event.DropEvent
+
=
-
- Example:
-
+
+ tag-class
+ org.richfaces.taglib.DropListenerTag
+
=
-
+
+
+
+
+
+ Creating the Component with a Page Tag
+
+ To create the simplest variant on a page use the following
+ syntax:
+
+
+
+ Example:
+
+
+
...
-]]> =
-
- =
-
- Creating the Component Dynamically Using Java
-
- Example: =
-
+
+
+
+ Creating the Component Dynamically Using Java
+
+ Example:
+
+
=
-
- =
-
=
-
- Details of Usage
+
=
-
-The <rich:dropListener>=
is used as a nested tag with components like
-<rich:dropSupport>, <rich:tree> and <rich:treeNode>.
-
-
-Attribute "type" defin=
es the fully qualified Java class name for the listener.
- This class should implement org.richfaces.event.DropListener interface.
-
- =
-
- The typical variant of using:
-
+
+ Details of Usage
=
-
+ The
+
+ <rich:dropListener>
+
+ is used as a nested tag with components like
+
+ <rich:dropSupport>
+
+ ,
+
+ <rich:tree>
+
+ and
+
+ <rich:treeNode>
+
+ .
+
+
+ Attribute
+
+ "type"
+
+ defines the fully qualified Java class name for the
+ listener. This class should implement
+ org.richfaces.event.DropListener
+
+ interface
+
+ .
+
+
+
+
+ The typical variant of using:
+
+
+
+ Drop Zone =
@@ -93,13 +124,13 @@
=
...
-]]> =
+]]>
=
-
- Java bean source:
-
+
+ Java bean source:
+
=
- =
- =
- =
-
- Look-and-Feel Customization
- =
-
- <rich:dropListener>
- has no skin parameters and custom style classes<=
/property>, as the
- component isn't visual.
-
- =
+]]>
+
+
+
+ Look-and-Feel Customization
+
+
+
+ <rich:dropListener>
+
+ has no skin parameters and custom
+ style classes
+ , as the component isn't visual.
+
+
+
\ No newline at end of file
Modified: trunk/docs/userguide/en/src/main/docbook/included/dropSupport.xml
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- 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 @@
-
-
- rich:dropSupport
+
+
+ rich:dropSupport
=
- HtmlDropSupport
-
-
+ HtmlDropSupport
+
+
=
- =
-
- =
+
+ tag-class
=
-
- Creating the Component with a Page Tag
+ org.richfaces.taglib.DropSupportTag
+
+
+
+
=
- This simple example shows how to make a panel component a potent=
ial drop target for
- drag-and-drop operations using "text" elements as the dragged items.=
=
-
- Example:
-
-
+ Creating the Component with a Page Tag
+
+
+ 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.
+
+
+
+ Example:
+
+
...
]]>
-
+
=
-
- Creating the Component Dynamically Using Java
+
+ Creating the Component Dynamically Using Java
=
=
-
- Example:
-
-
+ Example:
+
+
-
+
=
-
- Details of Usage
+
+ Details of Usage
=
- As shown in the example, the key attribute for
- <rich:dropSupport>
- is
- "acceptedTypes"
- . This attribute defines the types of draggable items tha=
t can be dropped onto the
- designated drop zone.
+
+ As shown in the example, the key attribute for
+
+ <rich:dropSupport>
+
+ is
+
+ "acceptedTypes"
+
+ . This attribute defines the types of draggable items that
+ can be dropped onto the designated drop zone.
+
=
- The second most important attribute for
- <rich:dropSupport>
- is
- "typeMapping"
- . This attribute maps a specific type among the acceptabl=
e types for draggable
- items to a specific
- <rich:dndParam>
- child element under
- <rich:dropSupport>
- .
+
+ The second most important attribute for
+
+ <rich:dropSupport>
+
+ is
+
+ "typeMapping"
+
+ . This attribute maps a specific type among the acceptable
+ types for draggable items to a specific
+
+ <rich:dndParam>
+
+ child element under
+
+ <rich:dropSupport>
+
+ .
+
=
=
-
- Example:
- =
-
+ Example:
+
+
+ =
@@ -120,23 +142,40 @@
...
]]>
=
- In this example, dropping a draggable item of an "iconsDragged" type
- will trigger the use a parameter named "Dro=
pIcon" in the event processing
- after a drop event. (Also, an Ajax request is sent, and the action a=
nd dropListener defined
- for the component are called.)
+
+ In this example, dropping a draggable item of an
+
+ "iconsDragged"
+
+ type will trigger the use a parameter named
+
+ "DropIcon"
+
+ 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.)
+
=
- 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, re=
ad the sections for these
- components.)
+
+ 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.)
+
=
- As draggable items, this table contains a list of such items des=
ignated as being of type
- "text":
+
+ As draggable items, this table contains a list of such items
+ designated as being of type
+ "text"
+ :
+
=
=
-
- Example:
- =
-
+ Example:
+
+
+ Capitals List
@@ -151,14 +190,21 @@
...
]]>
=
- As a drop zone, this panel will accept draggable items of type "=
text" and then rerender an
- element with the ID of "box":
+
+ As a drop zone, this panel will accept draggable items of
+ type
+ text
+ and then rerender an element with the ID of
+ box
+ :
+
=
=
-
- Example:
- =
-
+ Example:
+
+
+ Drop Zone
=
- As a part of the page that can be updated in a partial page upda=
te, this table has an ID
- of "box":
+
+ As a part of the page that can be updated in a partial page
+ update, this table has an ID of
+ box
+ :
+
=
=
-
- Example:
-
-
+ Example:
+
+ Capitals chosen
@@ -183,13 +233,16 @@
...]]>
=
- And finally, as a listener, this listener will implement the dro=
pped element:
+
+ And finally, as a listener, this listener will implement the
+ dropped element:
+
=
=
-
- Example:
-
-
+ Example:
+
+
=
- Here is the result after a few drops of items from the first tab=
le:
+
+ Here is the result after a few drops of items from the first
+ table:
+
=
-
- Results of drop actions
+
+ Results of drop actions
=
-
-
-
-
-
-
+
+
+
+
+
+
=
- In this example, items are dragged element-by-element from the r=
endered 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 t=
able.
+
+ 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.
+
=
- As with every Ajax action component,
- <rich:dropSupport>
- has all the common attributes ("time=
out",
- "limitToList",
- "reRender", etc.) for Ajax=
request customization.
+
+ As with every Ajax action component,
+
+ <rich:dropSupport>
+
+ has all the common attributes (
+
+ "timeout"
+ ,
+
+
+ "limitToList"
+ ,
+
+
+ "reRender"
+ ,
+
+ etc.) for Ajax request customization.
+
=
- Finally, the component has the following extra attributes for ev=
ent processing on the
- client:
+
+ Finally, the component has the following extra attributes
+ for event processing on the client:
+
=
-
- ondragenter
+
+
+ ondragenter
+
=
- ondragexit
+
+ ondragexit
+
=
- ondrop
+
+ ondrop
+
=
- ondropend
-
+
+ ondropend
+
+
=
- Developers can use their own custom JavaScript functions to hand=
le these events.
-
- Information about the "process" attribute usage you can find here=
.
-
-
+
+ Developers can use their own custom JavaScript functions to
+ handle these events.
+
+
+ Information about the
+
+ "process"
+
+ attribute usage you can find
+ here
+ .
+
+
=
-
- Look-and-Feel Customization
+
+ Look-and-Feel Customization
=
-
- <rich:dropSupport>
- has no skin parameters and custom styl=
e classes, as the
- component isn't visual.
-
-
- Relevant Resources Links
-
- Here you can see the example of <rich:dropSupport> usage an=
d sources for the given example.
-
-
+
+
+ <rich:dropSupport>
+
+ has no skin parameters and custom
+
+ style classes
+
+ , as the component isn't visual.
+
+
+
+ Relevant Resources Links
+
+
+ Here
+
+ you can see the example of
+
+ <rich:dropSupport>
+
+ usage and sources for the given example.
+
+
=
Modified: trunk/docs/userguide/en/src/main/docbook/included/fileUpload.xml
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- trunk/docs/userguide/en/src/main/docbook/included/fileUpload.xml 2008-0=
6-10 09:24:42 UTC (rev 8966)
+++ trunk/docs/userguide/en/src/main/docbook/included/fileUpload.xml 2008-0=
6-10 09:27:24 UTC (rev 8967)
@@ -170,7 +170,7 @@
- By file size, use the maxR=
equestSize parameter(value in bytes) inside Ajax4jsf F=
ilter section =
+ By file size, use the maxReque=
stSize parameter(value in bytes) inside Ajax4jsf Filter section =
in web.xml:
If "ajaxSubmit" =
attribute is true, =
it becomes possible to set Ajax submission way for any components in=
side, =
- i.e. not a page URL is used as an "action&q=
uot; attribute, but the javascript:A4J.AJAX.Submit(..=
.) call. =
+ i.e. not a page URL is used as an "action&q=
uot; attribute, but the javascript: A4J.AJAX.Su=
bmit(...)call. =
In this case, the "reRender" attribute contains a list of Ids of components defined for re-=
rendering.
If you have <h:commandButton>=
; or =
<h:commandLink>=
emphasis> inside the form, they work as &=
lt;a4j:commandButton>. =
@@ -100,7 +100,7 @@
With the help of "limitToList" attribute you can limit areas, which are updated after the r=
esponses. =
If "limitToList"=
is true, only the reRender attribute is taken in account. =
- Therefore, if you use blocks of text wrapped with <a4j:outputPanel> and "ajaxRendered"=3D true=
, blocks of text are ignored.
+ Therefore, if you use blocks of text wrapped with <a4j:outputPanel> and aja=
xRendered=3D "true", blocks of text are ignored.
Information about the "process" attribute usage you can find here=
.
Modified: trunk/docs/userguide/en/src/main/docbook/included/gmap.xml
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- trunk/docs/userguide/en/src/main/docbook/included/gmap.xml 2008-06-10 0=
9:24:42 UTC (rev 8966)
+++ trunk/docs/userguide/en/src/main/docbook/included/gmap.xml 2008-06-10 0=
9:27:24 UTC (rev 8967)
@@ -1,271 +1,414 @@
-
-
- map
- gmapVar
- HtmlGmap
-
-
+
+
+ map
+ gmapVar
+ HtmlGmap
+
+
=
-
=
-
- Creating the Component with a Page Tag
- To create the simplest variant on a page use the following synta=
x:
+
+ Creating the Component with a Page Tag
+
+ To create the simplest variant on a page use the following
+ syntax:
+
=
-
- Example:
-
-
+ Example:
+
+
...
]]>
-
-
- Creating the Component Dynamically Using Java
+
+
+ Creating the Component Dynamically Using Java
=
-
- Example:
-
-
+ Example:
+
+
-
-
- Details of Usage
- To use
- Google Map
- in your application, generate a key on Google Map official resource. One key could be used for o=
ne directory on the
- server.
- Here are the main settings of initial rendering performed with a=
component
- map that are accessible with the following attr=
ibutes:
-
-
-
- "zoom"
- defines an approximation size (boundary values 1-18) <=
/para>
-
-
- "lat"
- specifies an initial latitude coordinate in degrees, a=
s a number between -90 and
- +90
-
-
- "lng"
- specifies an initial longitude coordinate in degrees, =
as a number between -180
- and +180
-
-
- "mapType"
- specifies a type of a rendered map (G_NORMAL_MAP, G_SA=
TELLITE_MAP (DEFAULT),
- G_HYBRID_MAP)
-
- For example, the city of Paris is shown after rendering with the=
following initial
- settings:
- "lat"
- =3D 48.44,
- "lng"
- =3D 2.24 and
- "zoom"
- =3D 5.
-
- <rich:gmap> initial rendering
-
-
-
-
-
-
- It's also possible to set accessible controls on the map
- with the help of the attributes:
-
-
-
- "showGMapTypeControl"
- determines whether the controls for a map type definit=
ion are switched on
-
-
- "showGScaleControl"
- determines whether the controls for scaling are switch=
ed on
-
-
- "showGLargeMapControl"
- determines whether the control for map scale rendering is
- rendered
-
-
- <rich:gmap> accessible controls
-
-
-
-
-
-
- To set all these parameters and perform some activity (Zoom In/O=
ut etc.) is possible with
- your JavaScript, i.e. declare a name of an object on a map=
in the
- "gmapVar"
- attribute and then call the object directly with API Google
- Map.
- For example, to approximate a map for
- "gmapVar"
- =3D "map" declared inside =
the component, call
- map.zoomIn() on an event.
- Moreover, to add e.g. some JavaScript effects, events defined on=
it are used.
-
- onmouseover
- onclick
- onmouseout
- etc.
-
- =
-
-
- 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 fo=
llowing tags somewhere on the page:
-
-
+
+ Details of Usage
+
+ To use
+
+ Google Map
+
+ in your application, generate a key on
+
+ Google Map official resource
+
+ . One key could be used for one directory on the server.
+
+
+ Here are the main settings of initial rendering performed
+ with a component
+ map
+ that are accessible with the following attributes:
+
+
+
+
+
+ "zoom"
+
+ defines an approximation size (boundary values 1-18)
+
+
+
+
+
+ "lat"
+
+ specifies an initial latitude coordinate in degrees,
+ as a number between -90 and +90
+
+
+
+
+
+ "lng"
+
+ specifies an initial longitude coordinate in
+ degrees, as a number between -180 and +180
+
+
+
+
+
+ "mapType"
+
+ specifies a type of a rendered map (G_NORMAL_MAP,
+ G_SATELLITE_MAP (DEFAULT), G_HYBRID_MAP)
+
+
+
+
+ For example, the city of Paris is shown after rendering with
+ the following initial settings:
+ lat =3D "48.44"
+ ,
+ lng=3D "2.24"
+ and
+ zoom =3D "5"
+ .
+
+
+
+
+ <rich:gmap>
+
+ initial rendering
+
+
+
+
+
+
+
+
+ It's also possible to set accessible controls on the
+ map
+ with the help of the attributes:
+
+
+
+
+
+
+ "showGMapTypeControl"
+
+
+ determines whether the controls for a map type
+ definition are switched on
+
+
+
+
+
+
+ "showGScaleControl"
+
+
+ determines whether the controls for scaling are
+ switched on
+
+
+
+
+
+
+ "showGLargeMapControl"
+
+
+ determines whether the control for
+ map
+ scale rendering is rendered
+
+
+
+
+
+
+ <rich:gmap>
+
+ accessible controls
+
+
+
+
+
+
+
+
+ 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
+ map
+ in the
+
+ "gmapVar"
+
+ attribute and then call the object directly with API
+
+ Google Map
+ .
+
+
+
+ For example, to approximate a map for
+ gmapVar=3D "map"
+ declared inside the component, call map.zoomIn() on an
+ event.
+
+
+ Moreover, to add e.g. some JavaScript effects, events
+ defined on it are used.
+
+
+
+ onmouseover
+
+
+ onclick
+
+
+ onmouseout
+
+
+ etc.
+
+
+
+
+
+ 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:
+
+ ...
...
]]>
-
- =
-
-
- Look-and-Feel Customization
-
- <rich:gmap>
- component isn't tied to skin parameters, as there i=
s no additional
- elements on it, except the ones provided with Go=
ogle
- Map.
-
- =
-
- Definition of Custom Style Classes
-
- Classes names that define a component appearance
-
-
-
- Class name
- Description
-
-
-
-
- rich-gmap
- Defines styles for a wrapper <div> element of a c=
omponent
-
-
-
-
+
=
- In order to redefine styles for all
- <rich:gmap>
- components on a page using CSS, it's enough to create=
classes with the
- same names (possible classes could be found in the tables above) and define necessary properties in them.
- =
-
- Example:
-
-
+
+ Look-and-Feel Customization
+
+
+ <rich:gmap>
+
+ component isn't tied to skin parameters, as there is no
+ additional elements on it, except the ones provided with
+
+ Google Map
+ .
+
+
+
+
+
+ Definition of Custom Style Classes
+
+
+ Classes names that define a component appearance
+
+
+
+
+ Class name
+ Description
+
+
+
+
+ rich-gmap
+
+ Defines styles for a wrapper <div>
+ element of a component
+
+
+
+
+
+
+
+ In order to redefine styles for all
+
+ <rich:gmap>
+
+ components on a page using CSS, it's enough to create
+ classes with the same names (possible classes could be found
+ in the tables
+ above
+ ) and define necessary properties in them.
+
+
+
+ Example:
+
+ =
- =
- This is a result:
- =
-
- Redefinition styles with predefined classes
-
-
-
-
-
-
- =
- In the example the font style for buttons was changed.
- =
- Also it=E2=80=99s possible to change styles of particular <rich:gmap> component. In thi=
s case you should create own style classes and use them in corresponding <rich:gmap>style=
Class attributes. An example is placed below:
- =
-
- Example:
-
-
+
+ This is a result:
+
+
+ Redefinition styles with predefined classes
+
+
+
+
+
+
+
+
+ In the example the font style for buttons was changed.
+
+
+
+ Also it=E2=80=99s possible to change styles of particular
+
+ <rich:gmap>
+
+ component. In this case you should create own style classes
+ and use them in corresponding
+
+ <rich:gmap>
+
+ styleClass
+ attributes. An example is placed below:
+
+
+
+ Example:
+
+ =
- The "styleClass" attribute for <rich:gmap> is defined as it=
=E2=80=99s shown in the example below:
- =
-
- Example:
-
-
-]]> =
- =
- This is a result:
- =
-
- Redefinition styles with own classes and =
"styleClass" attributes
-
-
-
-
-
- =
- =
- As it could be seen on the picture above, the font weight for bu=
ttons was changed.
- =
- =
- =
-
-
- Relevant Resources Links
-
- Here
- you can see the example of
- <rich:gmap>
- usage and sources for the given example.
-
+...]]>
+
+ The
+
+ "styleClass"
+
+ attribute for
+
+ <rich:gmap>
+
+ is defined as it=E2=80=99s shown in the example below:
+
=
+
+ Example:
+
+
+]]>
+
+ This is a result:
+
+
+
+ Redefinition styles with own classes and
+
+ "styleClass"
+
+ attributes
+
+
+
+
+
+
+
+
+
+ As it could be seen on the picture above, the font weight
+ for buttons was changed.
+
+
+
+
+
+
+ Relevant Resources Links
+
+
+ Here
+
+ you can see the example of
+
+ <rich:gmap>
+
+ usage and sources for the given example.
+
+
+
Modified: trunk/docs/userguide/en/src/main/docbook/included/inputNumberSlid=
er.xml
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- 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 @@
-
-
- dragged handle control
- rich:inputNumberSlider
- HtmlInputNumberSlider
-
-
-
=
-
- Creating the Component with a Page Tag
- To create the simplest variant on a page use the following synta=
x:
+
+ Creating the Component with a Page Tag
+
+ To create the simplest variant on a page use the following
+ syntax:
+
=
-
- Example:
-
-
+ Example:
+
+ =
...
]]>
-
-
- Creating the Component Dynamically Using Java
+
+
+ Creating the Component Dynamically Using Java
=
-
- Example:
-
-
+ Example:
+
+
-
-
- Details of Usage
-
- <rich:inputNumberSlider>
- is used to facilitate your data input with rich UI Contr=
ols.
- Here is the simplest variant of a slider definition with
- "minValue",
-
- "maxValue"
- and
- "step"
- (on default =3D "1") attributes, which define =
the beginning and
- the end of a numerical area and a slider proper=
ty step.
+
+
+ Details of Usage
+
+
+ <rich:inputNumberSlider>
+
+ is used to facilitate your data input with rich UI Controls.
+
+
+ Here is the simplest variant of a slider definition with
+
+ "minValue"
+ ,
+
+
+ "maxValue"
+
+ and
+
+ "step"
+
+ (on default =3D "1") attributes, which define the
+ beginning and the end of a numerical area and a
+ slider
+ property step.
+
=
=
-
- Example:
-
- ]]>
+
+ Example:
+
+ ]]>
=
- It generates on a page:
-
- Generated <rich:InputNum=
berSlider>
-
-
-
-
-
-
- Using
- "showInput"
- (default is true) and
- "enableManualInput"
- (default value is true) attributes, it's possible t=
o output the input
- area near the slider, and make it read-only or editable.
- To remove input area use
- "showInput=3D"false"
- :
+ It generates on a page:
+
+
+ Generated
+
+ <rich:InputNumberSlider>
+
+
+
+
+
+
+
+
+
+ Using
+
+ "showInput"
+
+ (default is true) and
+
+ "enableManualInput"
+
+ (default value is true) attributes, it's possible to
+ output the input area near the slider, and make it read-only
+ or editable.
+
+
+ To remove input area use
+ showInput =3D "false"
+ :
+
=
-
- Example:
-
- ]]>
- It looks at page like:
-
- <rich:inputNumberSlider&=
gt; without input field
-
-
-
-
-
-
- It's also possible to switch off displaying of "bounda=
ry
- values" and a toolTip showing on a handle drawing. This could b=
e performed with the
- help of the component defined attributes:
- "showBoundaryValues"
- which is responsible for "boundary values" dis=
playing (default
- is true) and
- "showToolTip"
- which is responsible for tooltTip displaying (default is=
true).
+
+ Example:
+
+ ]]>
+ It looks at page like:
+
+
+
+ <rich:inputNumberSlider>
+
+ without input field
+
+
+
+
+
+
+
+
+ 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:
+
+ "showBoundaryValues"
+
+ which is responsible for "boundary values"
+ displaying (default is true) and
+
+ "showToolTip"
+
+ which is responsible for tooltTip displaying (default is
+ true).
+
=
- Moreover, to add e.g. some JavaScript effects, events defined on=
it are used.
-
- onchange
- onmouseover
- onclick
- onfocus
- onmouseout
- etc.
-
-
- The
- "label"
- attribute is a generic attribute.
- The
- "label"
- attribute provides an association between a component, a=
nd the message that the component (indirectly) produced. =
- This attribute defines the parameters of localized error and informa=
tional messages that
- occur as a result of conversion, validation, or other application ac=
tions during the request
- processing lifecycle. With the help of this attribute you can repla=
ce the
- last parameter substitution token shown in the messages. For example=
, {1} for =E2=80=9CDoubleRangeValidator.MAXIMUM=E2=80=9D, {2}
- for =E2=80=9CShortConverter.SHORT=E2=80=9D.
-
+
+ Moreover, to add e.g. some JavaScript effects, events
+ defined on it are used.
+
+
+
+ onchange
+
+
+ onmouseover
+
+
+ onclick
+
+
+ onfocus
+
+
+ onmouseout
+
+
+ etc.
+
+
+
+ The
+
+ "label"
+
+ attribute is a generic attribute. The
+
+ "label"
+
+ 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
+ =E2=80=9CDoubleRangeValidator.MAXIMUM=E2=80=9D
+ , {2} for
+ =E2=80=9CShortConverter.SHORT=E2=80=9D
+ .
+
=
-
-
- Look-and-Feel Customization
- =
- For skinnability implementation, the components use a
- style class redefinition method.
- Default style classes are mapped on
- skin parameters.
-
- =
- There are two ways to redefine the appearance of all
- <rich:inputNumberSlider>
- components at once:
- =
-
-
- Redefine the corresponding skin parameters
-
- =
-
- Add to your style sheets
- style classes
- used by a
- <rich:imputNumberSlider>
- component
-
-
-
- =
- =
- Skin Parameters Redefinition
- =
-
- Skin parameters redefinition for a bar
-
-
-
- Skin parameters
- CSS properties
-
-
-
-
- controlBackgroundColor
- background-color
-
-
-
-
- =
-
- =
-
- Definition of Custom Style Classes
- =
- On the screenshot there are classes names that define styles for=
component elements.
- =
-
- Style classes
-
-
-
-
-
-
- =
-
- Classes names that define a component appearance
-
-
-
- Class name
- Description
-
-
-
-
- rich-slider
- Defines styles for a wrapper table element of a compone=
nt
-
-
- rich-inslider-track
- Defines styles for a bar
-
-
- rich-inslider-handler
- Defines styles for a slider handler
-
-
- rich-inslider-handler-selected
- Defines styles for a selected handler
-
-
- rich-inslider-field
- Defines styles for a text field
-
-
- rich-inslider-right-num
- Defines styles for the right number
-
-
- rich-inslider-left-num
- Defines styles for the left number
-
-
- rich-inslider-tip
- Defines styles for a hint
-
-
-
-
- In order to redefine styles for all
- <rich:inputNumberSlider>
- components on a page using CSS, it's enough to create=
classes with the
- same names (possible classes could be found in the table above) and define necessary properties in them. An exa=
mple is placed below:
- =
-
- Example:
-
-
+
+ Look-and-Feel Customization
+
+
+ For skinnability implementation, the components use a
+
+ style class redefinition method.
+
+ Default style classes are mapped on
+
+ skin parameters.
+
+
+
+
+ There are two ways to redefine the appearance of all
+
+ <rich:inputNumberSlider>
+
+ components at once:
+
+
+
+
+ Redefine the corresponding skin parameters
+
+
+
+
+ Add to your style sheets
+
+ style classes
+
+ used by a
+
+
+ <rich:imputNumberSlider>
+
+
+ component
+
+
+
+
+
+
+ Skin Parameters Redefinition
+
+
+ Skin parameters redefinition for a bar
+
+
+
+ Skin parameters
+ CSS properties
+
+
+
+
+ controlBackgroundColor
+ background-color
+
+
+
+
+
+
+
+
+ Definition of Custom Style Classes
+
+
+ On the screenshot there are classes names that define styles
+ for component elements.
+
+
+
+ Style classes
+
+
+
+
+
+
+
+
+
+ Classes names that define a component appearance
+
+
+
+
+ Class name
+ Description
+
+
+
+
+ rich-slider
+
+ Defines styles for a wrapper table element
+ of a component
+
+
+
+ rich-inslider-track
+ Defines styles for a bar
+
+
+ rich-inslider-handler
+
+ Defines styles for a slider handler
+
+
+
+ rich-inslider-handler-selected
+
+ Defines styles for a selected handler
+
+
+
+ rich-inslider-field
+ Defines styles for a text field
+
+
+ rich-inslider-right-num
+
+ Defines styles for the right number
+
+
+
+ rich-inslider-left-num
+
+ Defines styles for the left number
+
+
+
+ rich-inslider-tip
+ Defines styles for a hint
+
+
+
+
+
+ In order to redefine styles for all
+
+ <rich:inputNumberSlider>
+
+ components on a page using CSS, it's enough to create
+ classes with the same names (possible classes could be found
+ in the table
+ above
+ ) and define necessary properties in them. An example is
+ placed below:
+
+
+
+ Example:
+
+ =
- =
- This is a result:
- =
-
- Redefinition styles with predefined classes
-
-
-
-
-
-
- =
- In the example a tip background color and font family was change=
d.
- =
- Also it=E2=80=99s possible to change styles of particular <rich:inputNumberSlider> comp=
onent. In this case you should create own style classes and use them in cor=
responding <rich:inputNumberSlider>styleClass attributes. An example i=
s placed below:
- =
-
- Example:
-
-
+
+ This is a result:
+
+
+ Redefinition styles with predefined classes
+
+
+
+
+
+
+
+
+ In the example a tip background color and font family was
+ changed.
+
+
+
+ Also it=E2=80=99s possible to change styles of particular
+
+ <rich:inputNumberSlider>
+
+ component. In this case you should create own style classes
+ and use them in corresponding
+
+ <rich:inputNumberSlider>
+
+
+ styleClass
+
+ attributes. An example is placed below:
+
+
+
+ Example:
+
+ =
- The "inputClass" attribute for <rich:inputNumberSlider> is =
defined as it=E2=80=99s shown in the example below:
- =
-
- Example:
-
-
-]]> =
- =
- This is a result:
- =
-
- Redefinition styles with own classes and =
styleClass attributes
-
-
-
-
-
- =
- =
- As it could be seen on the picture above, the font style for inp=
ut text was changed. =
- =
- =
-
-
- Relevant Resources Links
-
- Here you can see the example of <rich:inputNumberSlider> us=
age and sources for the given example.
-
-
+...]]>
+
+ The
+
+ "inputClass"
+
+ attribute for
+
+ <rich:inputNumberSlider>
+
+ is defined as it=E2=80=99s shown in the example below:
+
=
+
+ Example:
+
+
+]]>
+
+ This is a result:
+
+
+
+ Redefinition styles with own classes and
+
+ styleClass
+
+ attributes
+
+
+
+
+
+
+
+
+
+ As it could be seen on the picture above, the font style for
+ input text was changed.
+
+
+
+
+
+ Relevant Resources Links
+
+
+ Here
+
+ you can see the example of
+
+ <rich:inputNumberSlider>
+
+ usage and sources for the given example.
+
+
+
Modified: trunk/docs/userguide/en/src/main/docbook/included/inputNumberSpin=
ner.xml
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- trunk/docs/userguide/en/src/main/docbook/included/inputNumberSpinner.xm=
l 2008-06-10 09:24:42 UTC (rev 8966)
+++ trunk/docs/userguide/en/src/main/docbook/included/inputNumberSpinner.xm=
l 2008-06-10 09:27:24 UTC (rev 8967)
@@ -1,340 +1,492 @@
-
-
- input field
- rich:inputNumberSpinner
- HtmlInputNumberSpinner
-
-
+
+
+ input field
+ rich:inputNumberSpinner
+ HtmlInputNumberSpinner
+
+
=
-
=
-
- Creating the Component with a Page Tag
- To create the simplest variant on a page use the following synta=
x:
+
+ Creating the Component with a Page Tag
+
+ To create the simplest variant on a page use the following
+ syntax:
+
=
-
- Example:
-
-
+ Example:
+
+ =
...
]]>
-
-
- Creating the Component Dynamically Using Java
+
+
+ Creating the Component Dynamically Using Java
=
-
- Example:
-
-
+ Example:
+
+
-
-
- Details of Usage
-
- <rich:inputNumberSpinner>
- is used to facilitate your data input with rich UI Contr=
ols.
- Here is the simplest variant of spinner def=
inition with
- "minValue",
-
- "maxValue"
- and
- "step"
- (on default =3D "1") attributes, which define =
the beginning and
- the end of numerical area and a spinner step.=
para>
-
- Example:
-
-
+
+ Details of Usage
+
+
+ <rich:inputNumberSpinner>
+
+ is used to facilitate your data input with rich UI Controls.
+
+
+ Here is the simplest variant of
+ spinner
+ definition with
+
+ "minValue"
+ ,
+
+
+ "maxValue"
+
+ and
+
+ "step"
+
+ (on default =3D "1") attributes, which define the
+ beginning and the end of numerical area and a
+ spinner
+ step.
+
+
+ Example:
+
+
...
]]>
- It generates on a page:
-
- Generated <rich:InputNum=
berSpinner>
-
-
-
-
-
-
- There are also several attributes to define functionality peculi=
arities:
-
-
-
- "cycled"
- if the attribute is "true&quo=
t; after the current value reaches the
- border value it's be reversed to another border value after next i=
ncreasing/decreasing. In
- other case possibilities of next increasing/decreasing are locked =
-
-
- "disabled"
- is an attribute that defines whether a component is ac=
tive on a page
-
-
- "manualInput"
- is an attribute that defines whether a keyboard input =
is possible or only UI
- controls could be used
-
- Moreover, to add e.g. some JavaScript effects, events defined on=
it are used
-
- onchange
- onmouseover
- onclick
- onfocus
- onmouseout
- etc.
-
-
- The
- "label"
- attribute is a generic attribute.
- The
- "label"
- attribute provides an association between a component, a=
nd the message that the component (indirectly) produced. =
- This attribute defines the parameters of localized error and informa=
tional messages that
- occur as a result of conversion, validation, or other application ac=
tions during the request
- processing lifecycle. With the help of this attribute you can repla=
ce the
- last parameter substitution token shown in the messages. For example=
, {1} for =E2=80=9CDoubleRangeValidator.MAXIMUM=E2=80=9D, {2}
- for =E2=80=9CShortConverter.SHORT=E2=80=9D.
-
-
-
- Look-and-Feel Customization
- =
- For skinnability implementation, the components use a
- style class redefinition method.
- Default style classes are mapped on
- skin parameters.
-
- =
- There are two ways to redefine the appearance of all
- <rich:inputNumberSpinner>
- components at once:
- =
-
-
- Redefine the corresponding skin parameters
-
- =
-
- Add to your style sheets
- style classes
- used by a
- <rich:inputNumberSpinner>
- component
-
-
-
- =
-
- Skin Parameters Redefinition
-
- =
-
-
- Definition of Custom Style Classes
- On the screenshot there are classes names that define styles for=
component elements.
-
- Style classes
-
-
-
-
-
-
- =
-
- Classes names that define a component appearance
- =
-
-
-
- Class name
- Description
-
-
-
-
- rich-spinner-c
- Defines styles for a wrapper table element of a compone=
nt
-
-
- rich-spinner-input-container
- Defines styles for a container
-
-
- rich-spinner-input
- Defines styles for a wrapper <td> element for inp=
ut fields
-
-
- rich-spinner-button
- Defines styles for a button
-
-
- rich-spinner-buttons
- Defines styles for all buttons
-
-
-
-
- =
- In order to redefine styles for all
- <rich:inputNumberSpinner>
- components on a page using CSS, it's enough to create=
classes with the
- same names (possible classes could be found in the table above) and define necessary properties in them. An ex=
ample is placed below:
- =
-
- Example:
-
- It generates on a page:
+
+
+ Generated
+
+ <rich:InputNumberSpinner>
+
+
+
+
+
+
+
+
+
+ There are also several attributes to define functionality
+ peculiarities:
+
+
+
+
+
+ "cycled"
+
+ if the attribute is
+
+ "true"
+
+ 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
+
+
+
+
+
+ "disabled"
+
+ is an attribute that defines whether a component is
+ active on a page
+
+
+
+
+
+ "manualInput"
+
+ is an attribute that defines whether a keyboard
+ input is possible or only UI controls could be used
+
+
+
+
+ Moreover, to add e.g. some JavaScript effects, events
+ defined on it are used
+
+
+
+ onchange
+
+
+ onmouseover
+
+
+ onclick
+
+
+ onfocus
+
+
+ onmouseout
+
+
+ etc.
+
+
+
+ The
+
+ "label"
+
+ attribute is a generic attribute. The
+
+ "label"
+
+ 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
+ =E2=80=9CDoubleRangeValidator.MAXIMUM=E2=80=9D
+ , {2} for
+ =E2=80=9CShortConverter.SHORT=E2=80=9D
+ .
+
+
+
+ Look-and-Feel Customization
+
+
+ For skinnability implementation, the components use a
+
+ style class redefinition method.
+
+ Default style classes are mapped on
+
+ skin parameters.
+
+
+
+
+ There are two ways to redefine the appearance of all
+
+ <rich:inputNumberSpinner>
+
+ components at once:
+
+
+
+
+ Redefine the corresponding skin parameters
+
+
+
+
+ Add to your style sheets
+
+ style classes
+
+ used by a
+
+
+ <rich:inputNumberSpinner>
+
+
+ component
+
+
+
+
+
+
+ Skin Parameters Redefinition
+
+
+
+
+ Definition of Custom Style Classes
+
+ On the screenshot there are classes names that define styles
+ for component elements.
+
+
+ Style classes
+
+
+
+
+
+
+
+
+
+ Classes names that define a component appearance
+
+
+
+
+
+ Class name
+ Description
+
+
+
+
+ rich-spinner-c
+
+ Defines styles for a wrapper table element
+ of a component
+
+
+
+ rich-spinner-input-container
+ Defines styles for a container
+
+
+ rich-spinner-input
+
+ Defines styles for a wrapper <td>
+ element for input fields
+
+
+
+ rich-spinner-button
+ Defines styles for a button
+
+
+ rich-spinner-buttons
+ Defines styles for all buttons
+
+
+
+
+
+
+ In order to redefine styles for all
+
+ <rich:inputNumberSpinner>
+
+ components on a page using CSS, it's enough to create
+ classes with the same names (possible classes could be found
+ in the table
+ above
+ ) and define necessary properties in them. An example is
+ placed below:
+
+
+
+ Example:
+
+ =
- =
- This is a result:
- =
-
- Redefinition styles with predefined classes
-
-
-
-
-
-
- =
- In the example an input text font style was changed.
- =
- Also it=E2=80=99s possible to change styles of particular <rich:inputNumberSpinner> com=
ponent. In this case you should create own style classes and use them in co=
rresponding <rich:inputNumberSpinner> <=
emphasis>styleClass attributes. An example =
is placed below:
- =
-
- Example:
-
-
+
+ This is a result:
+
+
+ Redefinition styles with predefined classes
+
+
+
+
+
+
+
+
+ In the example an input text font style was changed.
+
+
+
+ Also it=E2=80=99s possible to change styles of particular
+
+ <rich:inputNumberSpinner>
+
+ component. In this case you should create own style classes
+ and use them in corresponding
+
+ <rich:inputNumberSpinner>
+
+
+ styleClass
+
+ attributes. An example is placed below:
+
+
+
+ Example:
+
+ =
- The "inputClass" attribute for <rich:inputNumberSpinner> is=
defined as it=E2=80=99s shown in the example below:
- =
-
- Example:
-
-
-]]> =
- =
- This is a result:
- =
-
- Redefinition styles with own classes and =
styleClass attributes
-
-
-
-
-
- =
- =
- As it could be seen on the picture above, the font family for in=
put text was changed. =
- =
-
-
- Relevant Resources Links
-
- Here you can see the example of <rich:inputNumberSpinner> u=
sage and sources for the given example.
-
-
+...]]>
+
+ The
+
+ "inputClass"
+
+ attribute for
+
+ <rich:inputNumberSpinner>
+
+ is defined as it=E2=80=99s shown in the example below:
+
=
+
+ Example:
+
+
+]]>
+
+ This is a result:
+
+
+
+ Redefinition styles with own classes and
+
+ styleClass
+
+ attributes
+
+
+
+
+
+
+
+
+
+ As it could be seen on the picture above, the font family
+ for input text was changed.
+
+
+
+
+ Relevant Resources Links
+
+
+ Here
+
+ you can see the example of
+
+ <rich:inputNumberSpinner>
+
+ usage and sources for the given example.
+
+
+
Modified: trunk/docs/userguide/en/src/main/docbook/included/loadScript.desc=
.xml
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- trunk/docs/userguide/en/src/main/docbook/included/loadScript.desc.xml 2=
008-06-10 09:24:42 UTC (rev 8966)
+++ trunk/docs/userguide/en/src/main/docbook/included/loadScript.desc.xml 2=
008-06-10 09:27:24 UTC (rev 8967)
@@ -10,7 +10,7 @@
=
Description
- Inserts script links to the head element. Render the value of the compo=
nent , after passing it to the getResourceURL() method of the ViewHandler f=
or 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 compo=
nent , after passing it to the getResourceURL() method of the =
ViewHandler for this application, and passing the result through the =
encodeResourceURL() method of the ExternalContext. =
\ No newline at end of file
Modified: trunk/docs/userguide/en/src/main/docbook/included/loadScript.xml
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- trunk/docs/userguide/en/src/main/docbook/included/loadScript.xml 2008-0=
6-10 09:24:42 UTC (rev 8966)
+++ trunk/docs/userguide/en/src/main/docbook/included/loadScript.xml 2008-0=
6-10 09:27:24 UTC (rev 8967)
@@ -62,8 +62,8 @@
As it was mentioned above this c=
omponent returns its value as the value of =
the "src" attrib=
ute passing it to the
- getResourceUR() method of the ViewHandler for this application, and =
passing =
- the result through the encodeResourceURL() method of the ExternalCon=
text.
+ getResourceUR() method of the ViewHandler for this appl=
ication, and passing =
+ the result through the encodeResourceURL() method of th=
e ExternalContext.
It means that the Context is inserts automatically to the link. And c=
alls
Modified: trunk/docs/userguide/en/src/main/docbook/included/mediaOutput.xml
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- 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 @@
Key attributes and ways of usageTo use the component it's necessary to define it on a page =
and set Java methods for data keeping and data transmission to output strea=
m.
- Here is the content of paintData that is a bean containing outpu=
t data
+ Here is the content of paintData that is a bean con=
taining output dataExample:
@@ -77,7 +77,7 @@
Integer weight=3D50;
...
]]>
- The Paint method of the paintBean class is a method transmittin=
g graphical data into output stream.
+ The Paint method of the paintBean class is a method=
transmitting graphical data into output stream.
=
Example:
@@ -89,7 +89,7 @@
As it was shown in the example above there are two main componen=
ts:
- "createContent" specifies a method accepting 2 parameters. The first (of java.io.Output=
Stream 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
+ "createContent" 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 "value" attribute.
Modified: trunk/docs/userguide/en/src/main/docbook/included/outputPanel.xml
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- 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 @@
-
-
- a4j:outputPanel
-
-
-
=
-
- Example:
-
-
+
+ Creating on a page
+
+ Here is the simplest way for a component creation on a page.
+
+
+
+ Example:
+
+
@@ -54,30 +60,46 @@
]]>
-
-
- Creating the Component Dynamically Using Java
+
+
+ Creating the Component Dynamically Using Java
=
-
- Example:
-
-
+ Example:
+
+
-
-
- Key attributes and ways of usage
- <a4j:outputPanel> allows marking of a page area, which is updated on Ajax res=
ponse. Anyway,
- <a4j:outputPanel>
- 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. =
+
+
+ Key attributes and ways of usage
+
+
+ <a4j:outputPanel>
+
+ allows marking of a page area, which is updated on Ajax
+ response. Anyway,
+
+ <a4j:outputPanel>
+
+ 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.
- <a4j:outputPanel>
- usage is recommended for wrapping components that aren&a=
pos;t rendered during the primary non-ajax response, as the components don&=
apos;t present in a component tree. =
-
- Example:
-
+ To speed up the performance, RichFaces updates only a
+ component tree.
+
+ <a4j:outputPanel>
+
+ 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.
+
+
+ Example:
+
+
...
@@ -85,36 +107,92 @@
]]>
- In addition to the areas directly indicated in "reRender" attribute of Ajax components,=
- <a4j:outputPanel>
- allows to update a part of a page basing on its own flag=
. The flag is defined by the "ajaxRendered" <=
/property>attribute. The flag is commonly used when a part of a =
page must be updated or can be updated on any response.
- Example:
-
+
+ In addition to the areas directly indicated in
+
+ "reRender"
+
+ attribute of Ajax components,
+
+ <a4j:outputPanel>
+
+ allows to update a part of a page basing on its own flag.
+ The flag is defined by the
+
+ "ajaxRendered"
+
+ attribute. The flag is commonly used when a part of a page
+ must be updated or can be updated on any response.
+
+
+ Example:
+
+
]]>
- On default
- <a4j:outputPanel>
- is output as a pair of opening and closing html <span> tag, but with =
the help of the layout attribute this output way could be changed. There ar=
e three variants for this component value:
-
-
- inline (default)
-
-
- block
-
-
- none
-
-
- If "layout" =3D"block" is chosen, the component is rend=
ered as a pair of opening and closing <=
;div> tag, to which it's possible to apply an=
y available style attributes available for block tags.
- "layout" =
=3D"none" helps to avoid an unnecessary tag =
round a context that could or couldn't be rendered according to the de=
fined "rendered" attrib=
ute conditions. If an inner context isn=E2=80=99t rendered,
- <a4j:outputPanel>
- is rendered as a <spa=
n> tag with the id equal to an id of a child compo=
nent and display:none style. If a child component is r=
endered,
- <a4j:outputPanel>
- doesn't present at all in a final code.
- Example:
-
+
+ On default
+
+ <a4j:outputPanel>
+
+ is output as a pair of opening and closing html
+
+ <span>
+
+ tag, but with the help of the layout attribute this output
+ way could be changed. There are three variants for this
+ component value:
+
+
+
+ inline (default)
+
+
+ block
+
+
+ none
+
+
+
+ If
+ layout=3D"block"
+ is chosen, the component is rendered as a pair of opening
+ and closing
+
+ <div>
+
+ tag, to which it's possible to apply any available
+ style attributes available for block tags.
+
+
+ layout =3D"none"
+ helps to avoid an unnecessary tag round a context that could
+ or couldn't be rendered according to the defined
+
+ "rendered"
+
+ attribute conditions. If an inner context isn=E2=80=99t rendered,
+
+ <a4j:outputPanel>
+
+ is rendered as a
+
+ <span>
+
+ tag with the id equal to an id of a child component and
+ display:none
+ style. If a child component is rendered,
+
+ <a4j:outputPanel>
+
+ doesn't present at all in a final code.
+
+
+ Example:
+
+
...
@@ -122,31 +200,97 @@
]]>
- As you see, the code is very similar to the one shown above, but=
"reRender " attribute=
refers directly to the updating panelGrid and not to the framing outputPan=
el, and it's more semantically correct.
- <a4j:outPanel> should be used for non-JSF component part framing, which is to=
be updated on Ajax response, as RichFaces specifies the list of updating a=
reas as a list of an existing JSF component.
- On default non-JSF context isn't saved in a component tree,=
but is rendered anew every time. To accelerate the processing speed and Aj=
ax response input speed, RichFaces saves non-JSF context in a component tre=
e on default. This option could be canceled by "ke=
epTransient" attribute that cancels transient fl=
ag forced setting for child components. This flag setting keeps the current=
value set by child components.
-
- Note:
- In JSF 1.1 implementation and lower, where non-JSF context shoul=
d be framed with the <f:verbatim>=
property> component,
- <a4j:outputPanel>
- doesn't improve this JSF implementation option in any=
way, so you still have to use this tag where it's necessary without R=
ichFaces usage.
-
- RichFaces allows setting Ajax responses rendering directly basin=
g on component tree nodes without referring to the JSP (XHTML) page code. I=
t could be defined by selfRendered attribute setting to =
- "true"
- =
- on
- <a4j:region>
- 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=E2=80=99=
t come into a component tree. Hence, for any particular case you could choo=
se a way for you application optimization: speed up processing or redundant=
memory for keeping tree part earlier defined a transient.
-
-
- Relevant resources links
- Here you can see the example of <a4j:outputPanel> usage and=
sources for the given example.
-
- Some additional information about usage of component can be found
- here.
- =
- =
- =
+
+ As you see, the code is very similar to the one shown above,
+ but
+
+ "reRender "
+
+ attribute refers directly to the updating panelGrid and not
+ to the framing outputPanel, and it's more semantically
+ correct.
+
+
+
+ <a4j:outPanel>
+
+ 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.
+
+
+ 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
+
+ "keepTransient"
+
+ attribute that cancels transient flag forced setting for
+ child components. This flag setting keeps the current value
+ set by child components.
+
+
+ Note:
+
+ In JSF 1.1 implementation and lower, where non-JSF
+ context should be framed with the
+
+ <f:verbatim>
+
+ component,
+
+ <a4j:outputPanel>
+
+ 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.
+
+
+
+ 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
+ "true"
+
+ on
+
+ <a4j:region>
+
+ 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=E2=80=99t 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.
+
+
+
+ Relevant resources links
+
+
+ Here
+
+ you can see the example of
+
+ <a4j:outputPanel>
+
+ usage and sources for the given example.
+
+
+ Some additional information about usage of component can be
+ found
+
+ here
+
+ .
+
+
+
\ No newline at end of file
Modified: trunk/docs/userguide/en/src/main/docbook/included/region.xml
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- 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 @@
]]>
Hence, the <a4j:commandLink>
- request generation causes full "form1" form su=
bmission onto the server, the only difference is that a component tree part=
decoded on the serve is the part included into the region.
+ request generation causes full form1 form s=
ubmission onto the server, the only difference is that a component tree par=
t decoded on the serve is the part included into the region.The regions could be nested in any order, the server picks out a=
nd decodes only the region, which contains a particular component that send=
s a request.Example:
@@ -90,7 +90,7 @@
]]>
- Therefore, the external region is decoded for the "link1&qu=
ot; and the internal one is decoded for the "link2".
+ Therefore, the external region is decoded for the link1 and the internal one is decoded for the link2.RichFaces allows setting Ajax responses rendering directly basin=
g on component tree nodes without referring to the JSP (XHTML) page code. I=
t could be defined by "selfRendered" attribute setting to "true" on=
<a4j:region> 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 o=
mitting of
@@ -121,7 +121,7 @@
This example shows that one of the regions is decoded when a lin=
k 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 r=
egion described with "renderRegionOnly"=3D"false" is updated succes=
sfully.
+ region and should be implemented very carefully. The data out of the r=
egion described with renderRegionOnly=3D"false" is u=
pdated successfully.Relevant resources links
Modified: trunk/docs/userguide/en/src/main/docbook/included/repeat.xml
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- 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 @@
]]>
The output is generated according to a collection contai=
ned in =
- bean.props
- with the detail key passed to child component=
s.
+ bean.props
+ with the detail key passed to child components.
Creating the Component Dynamically Using Java
@@ -83,14 +83,14 @@
]]>
=
Thus, a list with a table structure from =
- bean.props
+ bean.props
is output.In the above-mentioned example the component <a4j:poll> sends Ajax requests every second, calling the =
- action
+ action
method of the =
- repeater
+ repeater
bean. =
@@ -103,7 +103,7 @@
"ajaxKeys"
attribute
The set could be defined during the action method processing usi=
ng data on a model from the property =
- repeater.myRepeat
+ repeater.myRepeatOne more benefit of this component is absence of strictly defi=
ned markup as JSF HTML DataTable and TOMAHAWK DataTable has, hence the comp=
onents could be used more flexibly anywhere where it's necessary to ou=
tput the results of selection from some collection.
Modified: trunk/docs/userguide/en/src/main/docbook/included/support.xml
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- trunk/docs/userguide/en/src/main/docbook/included/support.xml 2008-06-1=
0 09:24:42 UTC (rev 8966)
+++ trunk/docs/userguide/en/src/main/docbook/included/support.xml 2008-06-1=
0 09:27:24 UTC (rev 8967)
@@ -48,7 +48,7 @@
]]>
On every keyup event generated by an input field, a form is subm=
itted on the server with the help of Ajax and =
- on a response coming from the server, element with repeater<=
/property> id, founded in a DOM tree is =
+ on a response coming from the server, element with repeater id, founded in a DOM tree is =
redrawn according to a new data from the response.
@@ -125,7 +125,7 @@
]]>
- In this example the request contains only the input component ca=
uses the request generation, not all the components contained on a form, =
because of "ajaxSingle"=
=3D"true" usage.
+ In this example the request contains only the input component ca=
uses the request generation, not all the components contained on a form, =
because of ajaxSingle=3D"true" usage. Example 2:
@@ -136,7 +136,7 @@
]]>
- In this example the component =
<h:messages> is always updated (as it capturing=
all Ajax requests, located in ajaxRendered <a4j:outputPanel>), except the case when a r=
esponse is sent from the input component from the example. On sending this =
component marks that updating area is limited to the defined in it componen=
ts, it means that on its usage with "limitToList&q=
uot;=3D"true" the onl=
y component updated is the one with "id"=3D"test".
+ In this example the component =
<h:messages> is always updated (as it capturing=
all Ajax requests, located in ajaxRendered <a4j:outputPanel>), except the case when a r=
esponse is sent from the input component from the example. On sending this =
component marks that updating area is limited to the defined in it componen=
ts, it means that on its usage withlimitToList=3D"true" the only component updated is the one with id=3D"test"=
.Limitation of requests frequency and upd=
ates quantity after the responses.
Modified: trunk/docs/userguide/en/src/main/docbook/included/virtualEarth.xml
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- 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 @@
-
-
- map
- Virtual Earth
-
-
+
+
+ map
+ Virtual Earth
+
+
=
-
=
-
- Creating the Component with a Page Tag
- To create the simplest variant on a page use the following synta=
x:
+
+ Creating the Component with a Page Tag
+
+ To create the simplest variant on a page use the following
+ syntax:
+
=
-
- Example:
-
-
+ Example:
+
+
...
]]>
-
-
- Creating the Component Dynamically Using Java
+
+
+ Creating the Component Dynamically Using Java
=
-
- Example:
-
-
+ Example:
+
+
-
-
- Details of Usage
+
+
+ Details of Usage
=
- Here are the main settings of initial rendering performed with a=
component
- map that are accessible with the following attr=
ibutes:
-
-
-
- "zoom"
- defines an approximation size (boundary values 1-18) <=
/para>
-
-
- "lat"
- specifies an initial latitude coordinate in degrees, a=
s a number between -90 and
- +90
-
-
- "lng"
- specifies an initial longitude coordinate in degrees, =
as a number between -180
- and +180
-
-
- "dashboardSize"
- specifies a type of a rendered map (Normal, Small, Tiny=
)
-
- For example, the city of Paris is shown after rendering with the=
following initial
- settings:
- "lat"
- =3D 48.833,
- "lng"
- =3D 2.40 and
- "zoom"
- =3D 11.
-
- <rich:virtualEarth>=
property> initial rendering
-
-
-
-
-
-
- Code for this example is placed below:
-
- Example:
-
-
+ Here are the main settings of initial rendering performed
+ with a component
+ map
+ that are accessible with the following attributes:
+
+
+
+
+
+ "zoom"
+
+ defines an approximation size (boundary values 1-18)
+
+
+
+
+
+ "lat"
+
+ specifies an initial latitude coordinate in degrees,
+ as a number between -90 and +90
+
+
+
+
+
+ "lng"
+
+ specifies an initial longitude coordinate in
+ degrees, as a number between -180 and +180
+
+
+
+
+
+ "dashboardSize"
+
+ specifies a type of a rendered map (Normal, Small,
+ Tiny)
+
+
+
+
+ For example, the city of Paris is shown after rendering with
+ the following initial settings:
+ lat =3D "48.833"
+ ,
+ lng =3D "2.40"
+ and
+ zoom =3D "11"
+ .
+
+
+
+
+ <rich:virtualEarth>
+
+ initial rendering
+
+
+
+
+
+
+
+ Code for this example is placed below:
+
+ Example:
+
+
...
]]>
=
- To set all these parameters and perform some activity (Zoom In/O=
ut etc.) is possible with
- your JavaScript, i.e. declare a name of an object on a map=
in the
- "var"
- attribute and then call the object directly with API Microsoft
- Virtual Earth map.
- For example, to approximate a map for
- "var"
- =3D "map" declared inside =
the component, call
- map.ZoomIn() on an event.
- Moreover, to add e.g. some JavaScript effects, events defined on=
it are used.
-
- onmouseover
- onclick
- onmouseout
- etc.
-
- =
-
-
- 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 fo=
llowing tags somewhere on the page:
-
-
+ 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
+ map
+ in the
+
+ "var"
+
+ attribute and then call the object directly with API
+
+ Microsoft Virtual Earth map
+ .
+
+
+
+ For example, to approximate a map for
+ var =3D "map"
+ declared inside the component, call
+ map.ZoomIn()
+ on an event.
+
+
+ Moreover, to add e.g. some JavaScript effects, events
+ defined on it are used.
+
+
+
+ onmouseover
+
+
+ onclick
+
+
+ onmouseout
+
+
+ etc.
+
+
+
+
+
+ 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:
+
+ ...
...
]]>
-
- =
-
-
- Look-and-Feel Customization
-
- <rich:virtualEarth>
- component isn't tied to skin parameters, as there i=
s no additional
- elements on it, except the ones provided with Vi=
rtual Earth
- map.
-
- =
-
- Definition of Custom Style Classes
-
- Classes names that define a component appearance
-
-
-
- Class name
- Description
-
-
-
-
- rich-virtualEarth
- Defines styles for a wrapper <div> element of a
- component
-
-
-
-
+
=
- In order to redefine styles for all
- <rich:virtualEarth>
- components on a page using CSS, it's enough to crea=
te class with the same
- name and define necessary properties in it.
+
+
+ Look-and-Feel Customization
+
+
+ <rich:virtualEarth>
+
+ component isn't tied to skin parameters, as there is no
+ additional elements on it, except the ones provided with
+
+ Virtual Earth map
+ .
+
+
+
=
- To change styles of particular
- <rich:virtualEarth>
- components, define your own style class in the correspon=
ding
- <rich:virtualEarth>
- attribute.
-
-
- Relevant Resources Links
-
- Here you can found
- additional information about Microsoft Virtual Earth map=
property>.
-
+
+ Definition of Custom Style Classes
+
+
+ Classes names that define a component appearance
+
+
+
+
+ Class name
+ Description
+
+
+
+
+ rich-virtualEarth
+
+ Defines styles for a wrapper <div>
+ element of a component
+
+
+
+
+
=
+
+ In order to redefine styles for all
+
+ <rich:virtualEarth>
+
+ components on a page using CSS, it's enough to create
+ class with the same name and define necessary properties in
+ it.
+
+
+
+ To change styles of particular
+
+ <rich:virtualEarth>
+
+ components, define your own style class in the corresponding
+
+ <rich:virtualEarth>
+
+ attribute.
+
+
+
+ Relevant Resources Links
+
+
+ Here
+
+ you can found additional information about Microsoft
+ Virtual Earth map
+ .
+
+
+
Modified: trunk/docs/userguide/en/src/main/docbook/modules/AUGWADParams.xml
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- 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 @@
Is a name of a skin used in an application. It can be a=
literal string with a
skin name, or the EL
- expression (#{...}) pointed to a
+ expression (#{...}) pointed to a String
property (skin name) or a property of a org.rich=
faces.framework.skin type.
Skin in last case, this instance is used as a current skin=
entry>
@@ -154,7 +154,7 @@
=
Note:
- org.richfaces.SKIN is used in the same way as org.ajax4jsf.SKIN<=
/para>
+ org.richfaces.SKIN is used in the same way as org.ajax4jsf.SKIN
=
Modified: trunk/docs/userguide/en/src/main/docbook/modules/RFCSettings.xml
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- trunk/docs/userguide/en/src/main/docbook/modules/RFCSettings.xml 2008-0=
6-10 09:24:42 UTC (rev 8966)
+++ trunk/docs/userguide/en/src/main/docbook/modules/RFCSettings.xml 2008-0=
6-10 09:27:24 UTC (rev 8967)
@@ -1,97 +1,167 @@
-
-
-
-
- MyFaces
+
+
+
+
+ MyFaces
=
- JSF
+ JSF
=
- RichFaces
+ RichFaces
=
-
-
- =
- Settings for different environments
- RichFaces comes with support for all tags (components) included in=
the JavaServer Faces
- specification. To add RichFaces capabilities to the existing JSF proje=
ct 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. =
- &wadParams;
-
-
- Sun JSF RI
- RichFaces works with implementation of JSF =
(JSF
- 1.2) and with most JSF component libraries with=
out any additional
- settings. For more information look at:
+
+
=
-
-
- java.su=
n.com
-
-
+ Settings for different environments
+
+ 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.
+
+ &wadParams;
+
+
+ Sun JSF RI
+
+ RichFaces works with implementation of
+ JSF
+ (JSF 1.2) and with most
+ JSF
+ component libraries without any additional settings. For
+ more information look at:
+
=
-
-
-
- Apache MyFaces
- RichFaces works with Apache MyFaces 1.2 ver=
sion
- including specific libraries like TOMAHAWK Sandbox and Trinidad (the=
previous ADF Faces).
- However, there are some considerations to take into account for conf=
iguring applications to
- work with MyFaces and RichFaces.
- There are some problems with different filters defined in the we=
b.xml file clashing. To
- avoid these problems, the RichFaces filter must be the first one amo=
ng other filters in the
- web.xml configuration file.
- For more information look at:http://myfaces.apache.org
- There's one more problem while using MyFaces + S=
eam. If you
- use this combination you should use
- <a4j:page>
- inside
- <f:view>
- (right after it in your code) wrapping another content in=
side your pages because of
- some problems in realization of
- <f:view>
- in myFaces.
- The problem is to be overcome in the nearest future.
-
-
-
- Facelets Support
- A high-level support for Facelets is one of=
our main support
- features. When working with RichFaces, there is no difference what r=
elease of
- Facelets is used.
- You should also take into account that some JSF frameworks such =
as
- Facelets use their own ViewHandler and need to =
have it first in the chain
- of ViewHandlers and the RichFaces AjaxViewHandler is not an exceptio=
n. 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 t=
hen 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 d=
eclaration:
+
+
+
+ java.sun.com
+
+
+
=
-
- Example:
-
- <context-param>
- <param-name>org.ajax4jsf.VIEW_HANDLERS</param-name>
- <param-value>com.sun.facelets.FaceletViewHandler</param-val=
ue>
- </context-param>
- says that Facelets will officially be the f=
irst, however
- AjaxViewHandler will be a little ahead temporarily to do some small,=
but very important job.
-
- Note:
- In this case you don't have to define FaceletVi=
ewHandler
- in the WEB-INF/faces-config.xml.
-
-
-
-
- JBoss Seam Support
- RichFaces now works out-of-the-box with JBoss Seam and Facelets
- running inside JBoss AS 4.0.4 and higher. There is no more shared JA=
R files needed. You just
- have to package the RichFaces library with your application.
- Your web.xml for Seam 1.2 must be like thi=
s:
-
+
+
+
+ Apache MyFaces
+
+ RichFaces works with
+ Apache MyFaces
+ 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
+ MyFaces
+ and RichFaces.
+
+
+ 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.
+
+
+ For more information look at:
+
+ http://myfaces.apache.org
+
+
+
+ There's one more problem while using
+ MyFaces + Seam
+ . If you use this combination you should use
+
+ <a4j:page>
+
+ inside
+
+ <f:view>
+
+ (right after it in your code) wrapping another content
+ inside your pages because of some problems in realization of
+
+ <f:view>
+
+ in myFaces.
+
+
+ The problem is to be overcome in the nearest future.
+
+
+
+
+ Facelets Support
+
+ A high-level support for
+ Facelets
+ is one of our main support features. When working with
+ RichFaces, there is no difference what release of
+ Facelets
+ is used.
+
+
+ You should also take into account that some JSF frameworks
+ such as
+ Facelets
+ 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:
+
+
+
+ Example:
+
+
+ <context-param>
+ <param-name>org.ajax4jsf.VIEW_HANDLERS</param-name>
+ <param-value>com.sun.facelets.FaceletViewHandler</param-value&=
gt;
+ </context-param>
+
+
+ says that
+ Facelets
+ will officially be the first, however AjaxViewHandler will
+ be a little ahead temporarily to do some small, but very
+ important job.
+
+
+ Note:
+
+ In this case you don't have to define
+ FaceletViewHandler
+ in the WEB-INF/faces-config.xml.
+
+
+
+
+
+ JBoss Seam Support
+
+ RichFaces now works out-of-the-box with
+ JBoss Seam
+ 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.
+
+
+ Your web.xml for
+ Seam 1.2
+ must be like this:
+
+
=
]]>
- Seam 2 supports RichFaces Filter. Thus you=
r web.xml for Seam 2 must be like this:
- =
-
+
+ Seam 2
+ supports RichFaces Filter. Thus your web.xml for Seam 2 must
+ be like this:
+
+
+
=
]]>
- =
- Only one issue still persists while using Seam with MyFaces. Look at
- myFaces part of this section.
-
-
- Portlet Support
- JBoss Portlets have support since version A=
jax4jsf 1.1.1. This support is
- improved in Richfaces 3.2.1. Provide your feedback on compatible wit=
h RichFaces if you face
- some problems.
-
-
- Sybase EAServer
- The load-on-startup for the Faces Servlet had to be set to 0 in =
web.xml.
=
-
- Example:
-
-
+ Only one issue still persists while using
+ Seam
+ with MyFaces. Look at myFaces part of this section.
+
+
+
+ Portlet Support
+
+ JBoss Portlets
+ 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.
+
+
+
+ Sybase EAServer
+
+ The load-on-startup for the Faces Servlet had to be set to 0
+ in web.xml.
+
+
+
+ Example:
+
+ Faces Servletjavax.faces.webapp.FacesServlet
@@ -259,20 +342,30 @@
...
]]>
- This is because, EAServer calls servlet init() before the Servl=
etContextInitializer. Not
- an EAServer bug, this is in Servlet 2.3 spec.
-
-
- Oracle AS/OC4J
- In order to deploy your project with RichFaces components to a=
n Oracle AS you just have to =
- prevent the application's class loader from importing the Oracle XML=
parser.
- Use the following notation in orion-application.xml:=
-
+ This is because, EAServer calls servlet init() before the
+ ServletContextInitializer. Not an EAServer bug, this is in
+ Servlet 2.3 spec.
+
+
+
+ Oracle AS/OC4J
+
+ In order to deploy your project with RichFaces components to
+ an
+ Oracle AS
+ you just have to prevent the application's class loader
+ from importing the Oracle XML parser. Use the following
+ notation in
+ orion-application.xml
+ :
+
+ =
...
]]>
-
+
Modified: trunk/docs/userguide/en/src/main/docbook/modules/RFCarchitectover=
.xml
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- trunk/docs/userguide/en/src/main/docbook/modules/RFCarchitectover.xml 2=
008-06-10 09:24:42 UTC (rev 8966)
+++ trunk/docs/userguide/en/src/main/docbook/modules/RFCarchitectover.xml 2=
008-06-10 09:27:24 UTC (rev 8967)
@@ -1,169 +1,268 @@
-
+
=
-
-
- RichFaces
+
+
+ RichFaces
=
- CSS
+ CSS
=
- skin
-
-
- Basic concepts of the RichFaces Framework
-
-
- Introduction
- The framework is implemented as a component library which adds A=
jax capability into
- existing pages, so you don't need to write any JavaScript code =
or to replace existing
- components with new Ajax widgets. RichFaces ena=
bles page-wide Ajax
- support instead of the traditional component-wide support. Hence, yo=
u 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.
- Next Figure shows how it works:
-
- Request Processing flow
- =
-
-
-
-
-
-
- RichFaces 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 Ja=
vaScript or
- XMLHttpRequest objects by hands, everything is done automatically.=
para>
-
-
-
- RichFaces Architecture Overview
- Next figure lists several important elements of the Ri=
chFaces
- framework
-
- Core Ajax component structure
- =
-
-
-
-
-
-
-
- Ajax Filter.
- To get all benefits of RichFaces, you sho=
uld register a Filter in
- web.xml file of your application. The Filter recognizes multiple r=
equest types. Necessary
- information about Filter configuration can be found in the "Filter configuration"=
section. The
- sequence diagram on Figure 3 shows the difference in processing of=
a
- "regular" JSF request and an Ajax request.
-
- In the first case the whole JSF tree will be encoded, in the sec=
ond one option it depends
- on the "size" of the Ajax region. As you can see, in the s=
econd case the
- filter parses the content of an Ajax response before sending it to t=
he client side.
- Have a look at the next picture to understand these two ways:
-
- Request Processing sequence diagram
- =
-
-
-
-
-
-
- In both cases, the information about required static or dynamic =
resources that your
- application requests is registered in the ResourseBuilder class.
- When a request for a resource comes (Figure 4), the RichFaces fi=
lter 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.
- Next Figure shows the ways of resource request processing.
-
- Resource request sequence diagram
- =
-
-
-
-
-
-
-
- AJAX Action Components
- There are Ajax Action Components: AjaxCommandButton, AjaxComm=
andLink, AjaxPoll and
- AjaxSupport and etc. You can use them to send Ajax requests from t=
he client side.
-
-
- AJAX Containers
- AjaxContainer is an interface that describes an area on your =
JSF page that should be
- decoded during an Ajax request. AjaxViewRoot and AjaxRegion are im=
plementations of this
- interface.
-
-
- JavaScript Engine
- RichFaces JavaScript Engine runs on the c=
lient-side. It knows how
- to update different areas on your JSF page based on the informatio=
n from the Ajax response.
- Do not use this JavaScript code directly, as it is available autom=
atically.
-
-
-
-
- Limitations and Rules
- In order to create RichFaces applications properly, keep the fol=
lowing points in mind:
-
- 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 th=
e 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
- "AjaxOutput"
- component (as no messages is also a message). <=
/listitem>
- Don't use
- <f:verbatim>
- for self-rendered containers, since this component is =
transient and not saved in
- the tree.
- Ajax requests are made by XMLHttpRequest functions =
in XML format, but this XML
- bypasses most validations and the corrections that might be made i=
n 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 automati=
cally made by the XML
- filter on the server, but lot's of unexpected effects can be =
produced by an
- incorrect HTML code.
-
-
+ skin
+
+
+ Basic concepts of the RichFaces Framework
+
+
+ Introduction
+
+ 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.
+ RichFaces
+ 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.
+
+ Next Figure shows how it works:
+
+ Request Processing flow
=
-
-
- Ajax Request Optimization
-
-
- Re-Rendering
- Ajax attributes are common for Ajax components such as
- <a4j:support>
- ,
- <a4j:commandButton>
- ,
- <a4j:jsFunction>
- ,
- <a4j:poll>
- ,
- <a4j:push>
- 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 ca=
n start working with
- RichFaces without knowing the usage of these attribute. However, t=
heir usage allows to tune
- the required Ajax behavior very smoothly.
+
+
+
+
+
+
+
+ RichFaces
+ 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.
+
+
+
+
+ RichFaces Architecture Overview
+
+ Next figure lists several important elements of the
+ RichFaces
+ framework
+
+
+ Core Ajax component structure
=
-
- "reRender"
- is a key attribute. The attribute allows to point to a=
rea(s) on a page that
- should be updated as a response on Ajax interaction. The value of =
the
- "reRender"
- attribute is an id of the JSF component or an id list.=
- A simple example is placed below:
+
+
+
+
+
+
+
+ Ajax Filter.
+
+ To get all benefits of
+ RichFaces
+ , 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
+
+ "Filter configuration"
+
+ section. The sequence diagram on Figure 3 shows the
+ difference in processing of a "regular" JSF
+ request and an Ajax request.
+
+
+
+ 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.
+
+
+ Have a look at the next picture to understand these two
+ ways:
+
+
+ Request Processing sequence diagram
=
-
+
+
+
+
+
+
+ In both cases, the information about required static or
+ dynamic resources that your application requests is
+ registered in the ResourseBuilder class.
+
+
+ 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.
+
+
+ Next Figure shows the ways of resource request processing.
+
+
+ Resource request sequence diagram
+
+
+
+
+
+
+
+
+ AJAX Action Components
+
+ There are Ajax Action Components: AjaxCommandButton,
+ AjaxCommandLink, AjaxPoll and AjaxSupport and etc. You
+ can use them to send Ajax requests from the client side.
+
+
+
+ AJAX Containers
+
+ 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.
+
+
+
+ JavaScript Engine
+
+ RichFaces
+ 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.
+
+
+
+
+
+ Limitations and Rules
+
+ In order to create RichFaces applications properly, keep the
+ following points in mind:
+
+
+
+
+ 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
+
+ "AjaxOutput"
+
+ component (as no messages is also a message).
+
+
+
+
+ Don't use
+
+ <f:verbatim>
+
+ for self-rendered containers, since this component
+ is transient and not saved in the tree.
+
+
+
+
+ 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.
+
+
+
+
+
+
+
+ Ajax Request Optimization
+
+
+ Re-Rendering
+
+ Ajax attributes are common for Ajax components such as
+
+ <a4j:support>
+
+ ,
+
+ <a4j:commandButton>
+
+ ,
+
+ <a4j:jsFunction>
+
+ ,
+
+ <a4j:poll>
+
+ ,
+
+ <a4j:push>
+
+ 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.
+
+
+
+
+ "reRender"
+
+ 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
+
+ "reRender"
+
+ attribute is an id of the JSF component or an id list.
+
+ A simple example is placed below:
+
+
...
@@ -172,31 +271,54 @@
...
]]>
=
- The value of
- "reRender"
- attribute of the
- <a4j:commandButton>
- 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
- <h:panelGrid>
- tag because its ID value matches to the value of
- "reRender"
- attribute. As you see, it's not difficult to upda=
te multiple elements
- on the page, only list their IDs as the value of
- "reRender"
- .
+
+ The value of
+
+ "reRender"
+
+ attribute of the
+
+ <a4j:commandButton>
+
+ 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
+
+ <h:panelGrid>
+
+ tag because its ID value matches to the value of
+
+ "reRender"
+
+ attribute. As you see, it's not difficult to update
+ multiple elements on the page, only list their IDs as
+ the value of
+
+ "reRender"
+
+ .
+
=
-
- "reRender"
- uses UIComponent.findComponent() algorithm (with some additi=
onal 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. Th=
erefore, 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)=
:
+
+
+ "reRender"
+
+ uses
+
+ UIComponent.findComponent() algorithm
+
+ (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):
+
=
-
...
@@ -216,57 +338,94 @@
...
]]>
=
- 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. H=
ence, you can calculate
- what should be re-rendered on any previous phase during the Ajax r=
equest processing.
+
+ 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.
+
=
- Most common problem with using reRender is pointing it to the =
component that has a
- "rendered"
- attribute. Note, that JSF does not mark the place in t=
he browser DOM where the
- outcome of the component should be placed in case the
- "rendered"
- condition returns false. Therefore, after the componen=
t becomes rendered during
- the Ajax request, RichFaces delivers the rendered code to the clie=
nt, but does not update a
- page, because the place for update is unknown. You need to point t=
o one of the parent
- components that has no
- "rendered"
- attribute. As an alternative, you can wrap the compone=
nt with
- <a4j:outputPanel>
- layout=3D"none".
+
+ Most common problem with using reRender is pointing it
+ to the component that has a
+
+ "rendered"
+
+ 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
+
+ "rendered"
+
+ 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
+
+ "rendered"
+
+ attribute. As an alternative, you can wrap the component
+ with
+
+ <a4j:outputPanel>
+
+ layout=3D"none"
+ .
+
=
-
- "ajaxRendered"
- attribute of the
- <a4j:outputPanel>
- set to "true" 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 allo=
ws to output error
- messages regardless of what Ajax request causes the Validation pha=
se failed.
-
+
+ "ajaxRendered"
+
+ attribute of the
+
+ <a4j:outputPanel>
+
+ set to
+ "true"
+ 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.
+
+
...
]]>
=
-
- "limitToList"
- attribute allows to dismiss the behavior of the
- <a4j:outputPanel>
-
-
- "ajaxRendered"
- attribute. "limitToList" =3D
- "false" means to update only the ar=
ea(s) that
- mentioned in the "reRender" attribute explicitly.
- All output panels with
- "ajaxRendered"=3D"true"is=
ignored. An
- example is placed below:
+
+
+ "limitToList"
+
+ attribute allows to dismiss the behavior of the
+
+ <a4j:outputPanel>
+
+
+ "ajaxRendered"
+
+ attribute.
+ limitToList =3D "false"
+ means to update only the area(s) that mentioned in the
+
+ "reRender"
+
+ attribute explicitly. All output panels with
+ ajaxRendered=3D"true"
+ is ignored. An example is placed below:
+
=
-
@@ -276,95 +435,161 @@
...
]]>
=
-
+
=
-
-
- Queue and Traffic Flood Protection
-
- "eventsQueue"
- attribute defines the name of the queue that will be u=
sed to order upcoming Ajax
- requests. By default, RichFaces does not queue Ajax requests. If e=
vents are produced
- simultaneously, they will come to the server simultaneously. JSF i=
mplementations
- (especially, the very first ones) does not guaranty that the reque=
st that comes first will
- be served or passed into the JSF lifecycle first. The order how th=
e server side data will be
- modified in case of simultaneous request might be unpredictable. U=
sage of eventsQueue
- attribute allows to avoid possible mess. Define the queue name exp=
licitly, if you expect
- intensive Ajax traffic in your application.
- 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
- "eventsQueue"
- 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 followin=
g code, only the newest
- request will be sent to the server if you type very fast and has t=
yped the several
- characters already before the previous Ajax Response is back.
+
+
+ Queue and Traffic Flood Protection
+
+
+ "eventsQueue"
+
+ 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.
+
+
+ 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
+
+ "eventsQueue"
+
+ 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.
+
=
-
...
]]>
=
-
- "requestDelay"
- attribute defines the time (in ms) that the request wi=
ll be wait in the queue
- before it is ready to send. When the delay time is over, the reque=
st will be sent to the
- server or removed if the newest "similar" request is in =
a queue already .
-
- "ignoreDupResponses"
- attribute orders to ignore the Ajax Response produced =
by the request if the
- newest "similar" request is in a queue already.
- "ignoreDupResponses"=3D"true" does
- not cancel the request while it is processed on the server, but ju=
st allows to avoid
- unnecessary updates on the client side if the response loses the a=
ctuality.
- Defining the
- "eventsQueue"
- along with
- "requestDelay"
- allows to protect against unnecessary traffic flood an=
d 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 ex=
ample,
- <a4j:poll>
- or
- <a4j:push>
- . In case the requests from such components modify the =
same data, the
- synchronization might be very helpful.
+
+
+ "requestDelay"
+
+ 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 .
+
+
+
+ "ignoreDupResponses"
+
+ attribute orders to ignore the Ajax Response produced by
+ the request if the newest "similar" request is
+ in a queue already.
+ ignoreDupResponses"=3D"true"
+ 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.
+
+
+ Defining the
+
+ "eventsQueue"
+
+ along with
+
+ "requestDelay"
+
+ 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,
+
+ <a4j:poll>
+
+ or
+
+ <a4j:push>
+
+ . In case the requests from such components modify the
+ same data, the synchronization might be very helpful.
+
=
- More information can be found on the RichFaces Users Forum.
+
+ More information can be found on the
+
+ RichFaces Users Forum
+
+ .
+
=
-
- "timeout"
- attribute is used for setting response waiting time on=
a particular request. If
- a response is not received during this time, the request is aborte=
d.
-
+
+
+ "timeout"
+
+ 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.
+
+
=
-
-
- Data Processing Options
- RichFaces uses form based approach for Ajax request sending. T=
his means each time, when
- you click an Ajax button or
- <a4j:poll>
- produces an asynchronous request, the data from the cl=
osest JSF form is
- submitted with the XMLHTTPRequest object. The form data contains t=
he values from the form
- input element and auxiliary information such as state saving data.=
- When
- "ajaxSingle"
- attribute value is "true", it orders to
- include only a value of the current component (along with
- <f:param>
- or
- <a4j:action>
- param values if any) to the request map. In case of
- <a4j:support>
- , it is a value of the parent component. An example is =
placed below:
+
+
+ Data Processing Options
+
+ RichFaces uses form based approach for Ajax request
+ sending. This means each time, when you click an Ajax
+ button or
+
+ <a4j:poll>
+
+ 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.
+
+
+ When
+
+ "ajaxSingle"
+
+ attribute value is
+ "true"
+ , it orders to include only a value of the current
+ component (along with
+
+ <f:param>
+
+ or
+
+ <a4j:action>
+
+ param values if any) to the request map. In case of
+
+ <a4j:support>
+
+ , it is a value of the parent component. An example is
+ placed below:
+
=
-
@@ -373,172 +598,330 @@
...
]]>
- 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"=3D"true" u=
sage.
- Note, that "ajaxSingle"=3D"true"=
- reduces the upcoming traffic, but does not prevent decoding other =
input components on the
- server side. Some JSF components, such as
- <h:selectOneMenu>
- 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
- <a4j:region>
- to limit a part of the component tree that will be pro=
cessed on the server side
- when it is required.
-
- "immediate"
- attribute has the same purpose as any other non-JSF co=
mponent. The default
- "ActionListener"
- should be executed immediately (i.e. during the Apply =
Request Values phase of a
- request processing lifecycle), rather than waiting until the Invok=
e Application phase. Using
- immediate=3D"true" 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 =
- <h:dataTable>
- like components where using
- <a4j:region>
- is impossible due to the
- <h:dataTable>
- component architecture.
+
+ 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=3D"true"
+ usage.
+
+
+ Note, that
+ ajaxSingle=3D"true"
+ reduces the upcoming traffic, but does not prevent
+ decoding other input components on the server side. Some
+ JSF components, such as
+
+ <h:selectOneMenu>
+
+ 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
+
+ <a4j:region>
+
+ to limit a part of the component tree that will be
+ processed on the server side when it is required.
+
+
+
+ "immediate"
+
+ attribute has the same purpose as any other non-JSF
+ component. The default
+
+ "ActionListener"
+
+ 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=3D"true"
+ 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
+
+ <h:dataTable>
+
+ like components where using
+
+ <a4j:region>
+
+ is impossible due to the
+
+ <h:dataTable>
+
+ component architecture.
+
=
-
- "bypassUpdates"
- 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.
-
+
+
+ "bypassUpdates"
+
+ 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.
+
+
=
-
-
- Action and Navigation
- Ajax component is similar to any other non-Ajax JSF component =
like
- <h:commandButton>
- . It allows to submit the form. You can use
- "action"
- and
- "actionListener"
- attribute to invoke the action method and define the a=
ction event.
-
- "action"
- method must return null if you want to have an Ajax Re=
sponse with a partual page
- update. This is regular mode called "Ajax request generates Ajax R=
esponse". In case of
- action does not return null, but the action outcome that matches o=
ne of navigation rules,
- RichFaces starts to work in "Ajax request generates Non-Ajax Respo=
nse" mode. This mode might
- be helpful in two major cases:
-
- RichFaces allows to organize a page flow inside th=
e
- <a4j:include>
- component. This is a typical scenario for Wizard lik=
e behavior. The new
- content is rendered inside the
- <a4j:include>
- 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
- <f:view>
- (it does not matter if you use facelets). You need t=
o have an Ajax component
- inside the
- <a4j:include>
- to navigate between the wizard pages. Otherwize, the=
whole page update will be
- performed.
- 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 rep=
lace
- <h:commandButton>
- with
- <a4j:commandButton>
- 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 s=
ee 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.
-
-
-
+
+
+ Action and Navigation
+
+ Ajax component is similar to any other non-Ajax JSF
+ component like
+
+ <h:commandButton>
+
+ . It allows to submit the form. You can use
+
+ "action"
+
+ and
+
+ "actionListener"
+
+ attribute to invoke the action method and define the
+ action event.
+
+
+
+ "action"
+
+ 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:
+
+
+
+
+ RichFaces allows to organize a page flow inside
+ the
+
+ <a4j:include>
+
+ component. This is a typical scenario for Wizard
+ like behavior. The new content is rendered
+ inside the
+
+ <a4j:include>
+
+ 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
+
+ <f:view>
+
+ (it does not matter if you use facelets). You
+ need to have an Ajax component inside the
+
+ <a4j:include>
+
+ to navigate between the wizard pages. Otherwize,
+ the whole page update will be performed.
+
+
+
+
+ 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
+
+ <h:commandButton>
+
+ with
+
+
+ <a4j:commandButton>
+
+
+ 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.
+
+
+
+
+
=
-
-
- JavaScript Interactions
- RichFaces allows writing Ajax-enabled JSF application without =
writing any Javascript
- code. However, you can still invoke the javascript code if you nee=
d. There are several ajax
- attributes that helps to do it.
-
- "onsubmit"
- attribute allows to invoke JavaScript code before an A=
jax request is sent. If
- "onsubmit"
- returns "false", the Aj=
ax request is
- canceled. The code of
- "onsubmit"
- is inserted before the RichFaces Ajax call. Hence, the=
- "onsubmit"
- should not has a "return" statement if you w=
ant the Ajax
- request to be sent. If you are going to invoke a JavaScript functi=
on that returns
- "true" or
- "false", use the conditional statem=
ent to return
- something only when you need to cancel the request. For example: <=
/para>
-
+
+ JavaScript Interactions
+
+ 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.
+
+
+
+ "onsubmit"
+
+ attribute allows to invoke JavaScript code before an
+ Ajax request is sent. If
+
+ "onsubmit"
+
+ returns
+ "false"
+ , the Ajax request is canceled. The code of
+
+ "onsubmit"
+
+ is inserted before the RichFaces Ajax call. Hence, the
+
+ "onsubmit"
+
+ 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
+ "true"
+ or
+ "false"
+ , use the conditional statement to return something only
+ when you need to cancel the request. For example:
+
+
=
-
- "onclick"
- attribute is similar to the
- "onsubmit"
- , but for clickable components such as
- <a4j:commandLink>
- and
- <a4j:commandButton>
- . If it returns "false",=
the Ajax request
- is canceled also.
-
- "oncomplete"
- attribute allows to invoke the JavaScript code right a=
fter the Ajax Response is
- returned back and the DOM tree of the browser is updated. Richface=
s registers the code for
- further invocation of XMLHTTP request object before an Ajax reques=
t is sent. This means the
- code will not be changed during processing of the request on the s=
erver if you use JSF EL
- value binding. Also, you cannot use "this'" inside the c=
ode, because it
- will not point the component where Ajax request was initiated.
+
+
+ "onclick"
+
+ attribute is similar to the
+
+ "onsubmit"
+
+ , but for clickable components such as
+
+ <a4j:commandLink>
+
+ and
+
+ <a4j:commandButton>
+
+ . If it returns
+ "false"
+ , the Ajax request is canceled also.
+
+
+
+ "oncomplete"
+
+ 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.
+
=
-
- "onbeforedomupdate"
- attrubute defines JavaScript code for call after Ajax =
response receiving and
- before updating DOM on a client side.
+
+
+ "onbeforedomupdate"
+
+ attrubute defines JavaScript code for call after Ajax
+ response receiving and before updating DOM on a client
+ side.
+
=
-
- "data"
- attribute allows to get the additional data from the s=
erver during an Ajax call.
- You can use JSF EL to point the property of the managed bean and i=
ts value will be
- serialized in JSON format and be available on the client side. You=
can refer to it using the
- "data"
- variable. For example:
-
+
+ "data"
+
+ 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
+
+ "data"
+
+ variable. For example:
+
+
...
]]>
=
- Richfaces allows to serialize not only primitive types into JS=
ON format, but also
- complex types including arrays and collections. The beans should b=
e serializable to be
- refered with
- "data"
- .
- There is a number of useful functions which can be used in Jav=
aScript: =
-
- rich:clientId('id') - returns client id by short i=
d or null if the component with the id specified hasn't been found <=
/listitem>
- rich:element('id') - is a shortcut for document.ge=
tElementById(#{rich:clientId('id')})
- rich:component('id') - is a shortcut for #{rich:cl=
ientId('id')}.component
-
-
+
+ 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
+
+ "data"
+
+ .
+
+
+ There is a number of useful functions which can be used
+ in JavaScript:
+
+
+
+
+ rich:clientId('id')
+ - returns client id by short id or null if the
+ component with the id specified hasn't been
+ found
+
+
+
+
+ rich:element('id')
+ - is a shortcut for
+
+ document.getElementById(#{rich:clientId('id')})
+
+
+
+
+
+ rich:component('id')
+ - is a shortcut for
+ #{rich:clientId('id')}.component
+
+
+
+
=
-
-
- Iteration components Ajax attributes
-
- "ajaxKeys"
- attribute defines strings that are updated after an Aj=
ax request. It provides
- possibility to update several child components separately without =
updating the whole page.
+
+
+ Iteration components Ajax attributes
+
+
+ "ajaxKeys"
+
+ attribute defines strings that are updated after an Ajax
+ request. It provides possibility to update several child
+ components separately without updating the whole page.
+
=
-
@@ -555,25 +938,36 @@
...
]]>
=
-
+
=
-
-
- Other useful attributes
-
- "status"
- attribute for Ajax components (such as
- <a4j:commandButton>
- ,
- <a4j:poll>
- , etc.) points to an ID of
- <a4j:status>
- component. Use this attribute if you want to share
- <a4j:status>
- component between different Ajax components from diffe=
rent regions. The
- following example shows it.
+
+
+ Other useful attributes
+
+
+ "status"
+
+ attribute for Ajax components (such as
+
+ <a4j:commandButton>
+
+ ,
+
+ <a4j:poll>
+
+ , etc.) points to an ID of
+
+ <a4j:status>
+
+ component. Use this attribute if you want to share
+
+ <a4j:status>
+
+ component between different Ajax components from
+ different regions. The following example shows it.
+
=
-
@@ -604,194 +998,324 @@
...
]]>
=
- In the example
- <a4j:support>
- and
- <a4j:commandButton>
- are defined in different regions. Values of
- "status"
- attribute for these components points to an ID of
- <a4j:support>
- .Thus, the
- <a4j:support>
- component is shared between two components from differ=
ent regions.
+
+ In the example
+
+ <a4j:support>
+
+ and
+
+ <a4j:commandButton>
+
+ are defined in different regions. Values of
+
+ "status"
+
+ attribute for these components points to an ID of
+
+ <a4j:support>
+
+ .Thus, the
+
+ <a4j:support>
+
+ component is shared between two components from
+ different regions.
+
=
- More information could be found here.
+
+ More information could be found
+
+ here
+
+ .
+
=
- Other useful attribute is
- "focus"
- . It points to an ID of a component where focus will be=
set after an Ajax
- request.
+
+ Other useful attribute is
+
+ "focus"
+
+ . It points to an ID of a component where focus will be
+ set after an Ajax request.
+
=
-
+
=
-
+
=
-
-
- How To...
-
-
- Send an Ajax request
- There are different ways to send Ajax requests from your JSF p=
age. For example you can
- use
- <a4j:commandButton>
- ,
- <a4j:commandLink>,
- <a4j:poll>
-
- or
- <a4j:support>
- tags or any other.
- All these tags hide the usual JavaScript activities that are r=
equired for an
- XMHttpRequest object building and an Ajax request sending. Also, t=
hey allow you to decide
- which components of your JSF page are to be re-rendered as a resul=
t of the Ajax response
- (you can list the IDs of these components in the "reRender&qu=
ot; attribute).
-
-
- <a4j:commandButton>
- and
- <a4j:commandLink>
- tags are used to send an Ajax request on "onclick=
" JavaScript
- event.
-
-
- <a4j:poll>
- tag is used to send an Ajax request periodically using=
a timer.
- The
- <a4j:support>
- tag allows you to add Ajax functionality to standard J=
SF components and send
- Ajax request onto a chosen JavaScript event: "onkeyup",
- "onmouseover", etc.
-
=
-
-
- "timeout"
- attribute is used for response waiting time on a part=
icular request. If a
- response is not received during this time, the request is aborte=
d.
=
-
-
- "ignoreDupResponses"
- is used to abort unfinished request on new event. =
listitem>
-
- =
- =
-
+
=
=
=
-
-
- Decide What to Send
- 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 sid=
e when you send an Ajax
- request.
- The easiest way to describe an Ajax region on your JSF page is=
to do nothing, because
- the content between the
- <f:view>
- and
- </f:view>
- tags is considered the default Ajax region.
- You may define multiple Ajax regions on the JSF page (they can=
even be nested) by using
- the
- <a4j:region>
- tag.
- 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.
-
+
+
+ Decide What to Send
+
+ 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.
+
+
+ The easiest way to describe an Ajax region on your JSF
+ page is to do nothing, because the content between the
+
+ <f:view>
+
+ and
+
+ </f:view>
+
+ tags is considered the default Ajax region.
+
+
+ You may define multiple Ajax regions on the JSF page
+ (they can even be nested) by using the
+
+ <a4j:region>
+
+ tag.
+
+
+ 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.
+
+
=
=
-
-
- Decide What to Change
- Using IDs in the "reRender" attribute to define &quo=
t;AJAX
- zones" for update works fine in many cases.
- But you can not use this approach if your page contains, e.g. =
a
- <f:verbatim>
- tag and you wish to update its content on an Ajax resp=
onse.
- The problem with the
- <f:verbatim/>
- 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.
- In order to provide a solution to this kind of problems, RichF=
aces uses the concept of
- an output panel that is defined by the
- <a4j:outputPanel>
- tag. If you put a
- <f:verbatim>
- tag inside of the output panel, then the content of th=
e
- <f:verbatim/>
- tag and content of other panel's child tags could=
be updated on Ajax
- response. There are two ways to control this:
- By setting the "ajaxRendered" attribu=
te value to
- "true".
- By setting the "reRender" attribute v=
alue of an Action
- Component to the output panel ID.
-
-
-
-
- Decide what to process
-
- In order to process defined components you could use the "process"
- attribute.
-
- The "process" attribute defines the ids of the components to be processed =
- together with the component which contains this attribute. In or=
der to define processed components you could set theirs ids into the value =
of the
- "process" at=
tribute.
-
- The "process" attribute has two limitations:
-
-
- it works only if "ajaxSingle" equals to "true" for given command component
-
-
- you do not have to point this attribute to one of the own pare=
nt components to avoid processing of command component twice
-
-
- Example:
-
+
+ Decide What to Change
+
+ Using IDs in the "reRender" attribute to
+ define "AJAX zones" for update works fine in
+ many cases.
+
+
+ But you can not use this approach if your page contains,
+ e.g. a
+
+ <f:verbatim>
+
+ tag and you wish to update its content on an Ajax
+ response.
+
+
+ The problem with the
+
+ <f:verbatim/>
+
+ 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.
+
+
+ In order to provide a solution to this kind of problems,
+ RichFaces uses the concept of an output panel that is
+ defined by the
+
+ <a4j:outputPanel>
+
+ tag. If you put a
+
+ <f:verbatim>
+
+ tag inside of the output panel, then the content of the
+
+ <f:verbatim/>
+
+ tag and content of other panel's child tags could
+ be updated on Ajax response. There are two ways to
+ control this:
+
+
+
+ By setting the "ajaxRendered"
+ attribute value to "true".
+
+
+
+
+ By setting the "reRender"
+ attribute value of an Action Component to
+ the output panel ID.
+
+
+
+
+
+
+ Decide what to process
+
+ In order to process defined components you could use the
+
+ "process"
+
+ attribute.
+
+
+ The
+
+ "process"
+
+ 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
+
+ "process"
+
+ attribute.
+
+
+ The
+
+ "process"
+
+ attribute has two limitations:
+
+
+
+
+ it works only if
+
+ "ajaxSingle"
+
+ equals to "true" for given command component
+
+
+
+
+ you do not have to point this attribute to one
+ of the own parent components to avoid processing
+ of command component twice
+
+
+
+
+ Example:
+
+
@@ -803,31 +1327,62 @@
...]]>
-
- In the example above after you click on the <a4j:commandButton> =
- only<=
h:inputText> with "oneB" id is processed and enter=
ed data appears into the <h:outputText=
> with "three2" id.
- If you doesn't use this attribute both<h:inputText> is =
processed and entered data appears into the both<h:outputText>.
-
-
-
- =
+
+ In the example above after you click on the
+
+ <a4j:commandButton>
+
+ only
+
+ <h:inputText>
+
+ with
+ "oneB"
+ id is processed and entered data appears into the
+
+ <h:outputText>
+
+ with
+ "three2"
+ id. If you doesn't use this attribute
+ both
+
+ <h:inputText>
+
+ is processed and entered data appears into the
+ both
+
+ <h:outputText>
+
+ .
+
+
+
=
-
-
- Filter Configuration
- 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 independe=
ntly. 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 brow=
ser and a browser doesn't
- make any corrections.
=
- An example of how to set a Filter in a web.xml file of your appl=
ication is placed below.
+
+
+ Filter Configuration
+
+ 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.
+
=
-
- Example:
-
+
+ An example of how to set a Filter in a web.xml file of your
+ application is placed below.
+
=
-
+ Example:
+
+
+ RichFaces Filterrichfaces
@@ -836,53 +1391,70 @@
...
]]>
=
-
- Note:Fast Filter is deprecated and available on=
ly for backward compatibility
- with previous RichFaces versions. Fast Filter usage isn't recom=
ended, because there
- is another way to use its functionality by means of Neko filter
- type.
+
+ Note:
+
+ 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
+ Neko filter type
+ .
+
+
=
- In RichFaces 3.2 filter configuration becomes more flexible. It&=
apos;s possible to
- configure different filters for different sets of pages for the same=
application.
+
+ 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.
+
=
- The possible filter types are:
+ The possible filter types are:
=
-
-
- TIDY
-
-
+
+
+ TIDY
+
+
=
- "TIDY" filter type based on the Tidy parser. This filt=
er is recommended
- for applications with complicated or non-standard markup when all ne=
cessary code corrections
- are made by the filter when a response comes from the server.
+
+ "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.
+
=
-
-
- NEKO
-
-
+
+
+ NEKO
+
+
=
- "NEKO" filter type corresponds to the former "Fast
- Filter" and it's based on the Neko parser. In case of usin=
g 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 o=
f errors and corrupt a
- layout as a result. This filter considerably accelerates all Ajax re=
quests processing.
+
+ "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.
+
=
-
-
- NONE
-
-
+
+
+ NONE
+
+
=
- No correction.
+ No correction.
=
- An example of configuration is placed below.
-
- Example:
-
+ An example of configuration is placed below.
+
+ Example:
+
=
- org.ajax4jsf.xmlparser.ORDERNONE,NEKO,TIDY
@@ -914,806 +1486,1202 @@
...
]]>
=
- The example shows that ORDER parameter defines the order in whic=
h particular filter types
- are used for pages code correction.
- 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:
+
+ The example shows that ORDER parameter defines the order in
+ which particular filter types are used for pages code
+ correction.
+
+
+ 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:
+
=
- /pages/performance\=
.xhtml,/pages/default.*\.xhtml,
+ /pages/performance\.x=
html,/pages/default.*\.xhtml,
]]>
=
- it's not corrected, because filter type for this page is d=
efined as
- "NONE". If a page is not from the first set, then "NE=
KO"
- type is set.
- If a page relates to the second set that is defined in the follo=
wing way:
+
+ 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.
+
+
+ If a page relates to the second set that is defined in the
+ following way:
+
=
- /pages/repeat\.xhtm=
l,
+ /pages/repeat\.xhtml<=
/param-value>,
]]>
=
- then "NEKO" filter type is used for correction. If it&=
apos;s not
- related to the second set, "TIDY" type is set for the filt=
er
- ("TIDY" filter type is used for code correction).
+
+ 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).
+
=
-
-
-
- Scripts and Styles Load Strategy
- 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 RichFac=
es 3.1.3, it's
- possible to manage how the RichFaces script and style files are load=
ed to application.
-
- org.richfaces.LoadScriptStrategy
-
- The following declaration in your web.xml allows loading the int=
egrated script files.
-
+
+
+ Scripts and Styles Load Strategy
+
+ 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.
+
+
+ org.richfaces.LoadScriptStrategy
+
+
+ The following declaration in your web.xml allows loading the
+ integrated script files.
+
+ org.richfaces.LoadScriptStrategyALL
=
...
]]>
- If you do not declare the org.richfaces.LoadScriptStra=
tegy in the
- web.xml, it equals to:
-
+ If you do not declare the
+ org.richfaces.LoadScriptStrategy
+ in the web.xml, it equals to:
+
+ org.richfaces.LoadScriptStrategyDEFAULT
=
...
]]>
- The third possible value is "NONE". You have no a spec=
ial reason to
- use it unless you obtain the newest (or modified) version of the scr=
ipt and want to include
- it manually in a page header.
- =
-
- Note:
-
- If you use ALL value of Scripts Load Strategy=
, the JavaScript files compression turns off!
-
-
-
- =
-
- org.richfaces.LoadStyleStrategy
-
- =
- The following declaration allows to load only one integrated st=
yle sheet file.
-
+ 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.
+
+
+
+ Note:
+
+ If you use
+ ALL
+ value of Scripts Load Strategy, the JavaScript files
+ compression turns off!
+
+
+
+
+
+ org.richfaces.LoadStyleStrategy
+
+
+
+ The following declaration allows to load only one integrated
+ style sheet file.
+
+ org.richfaces.LoadStyleStrategyALL
...
]]>
- The integrated style sheet contains style for all shipped compon=
ents. The skinnability
- feature still works.
- The "DEFAULT" value is a classical on-demand variant. =
- The "NONE" stops loading the styles at all. The earlie=
r introduced
- plain skin resets all color and font parameters to null. The "N=
ONE" value
- for org.richfaces.LoadStyleStrategy means that =
predefined styles for
- RichFaces are not used.
- For more information see RichFaces User Forum.
-
+
+ The integrated style sheet contains style for all shipped
+ components. The skinnability feature still works.
+
+
+ The "DEFAULT" value is a classical on-demand
+ variant.
+
+
+ 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
+ org.richfaces.LoadStyleStrategy
+ means that predefined styles for RichFaces are not used.
+
+
+ For more information see
+
+ RichFaces User Forum
+
+ .
+
+
=
-
-
- Request Errors and Session Expiration Handling
- RichFaces allows to redefine standard handlers responsible for p=
rocessing of different
- exceptional situations. It helps to define own JavaScript, which is =
executed when these
- situations occur.
-
-
- Request Errors Handling
- To execute your own code on the client in case of an error dur=
ing Ajax request,
- it's necessary to redefine the standard "A4J.AJAX.onErro=
r"
- method:
-
+
+ Request Errors and Session Expiration Handling
+
+ 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.
+
+
+
+ Request Errors Handling
+
+ 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:
+
+
- The function defined this way accepts as parameters:
-
- req - a params string of a request that calls an e=
rror
- status - the number of an error returned by the se=
rver
- message - a default message for the given error
-
- Thus, it's possible to create your own handler that is ca=
lled on timeouts,
- inner server errors, and etc.
-
-
-
- Session Expired Handling
- It's possible to redefine also the
- "onExpired"
- framework method that is called on the
- "Session Expiration"
- event.
+
+ The function defined this way accepts as parameters:
+
+
+
+
+ req
+ - a params string of a request that calls an
+ error
+
+
+
+
+ status
+ - the number of an error returned by the server
+
+
+
+
+ message
+ - a default message for the given error
+
+
+
+
+ Thus, it's possible to create your own handler that
+ is called on timeouts, inner server errors, and etc.
+
+
+
+
+ Session Expired Handling
+
+ It's possible to redefine also the
+
+ "onExpired"
+
+ framework method that is called on the
+
+ "Session Expiration"
+
+ event.
+
=
-
- Example:
-
+
+ Example:
+
=
-
=
- Here the function receives in params:
-
- loc - URL of the current page (on demand can be up=
dated)
- expiredMsg - a default message on
- "Session Expiration"
- event.
-
-
-
-
+ Here the function receives in params:
+
+
+
+
+ loc
+ - URL of the current page (on demand can be
+ updated)
+
+
+
+
+
+ expiredMsg
+ - a default message on
+
+
+ "Session Expiration"
+
+
+ event.
+
+
+
+
+
+
=
=
=
-
-
- Skinnability
+
+
+ Skinnability
=
-
-
- Why Skinnability
+
+
+ Why Skinnability
=
- 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 col=
or is noted in it.
- Standard CSS has no way to define a particular color abstractly fo=
r 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 o=
ver and over again and the
- more interface elements you have the more copy-and-paste activity =
that needs to be
- performed.
+
+ 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.
+
=
- Hence, if you want to change the application palette, you have=
to change all
- interrelating values, otherwise your interface can appear a bit cl=
umsy. The chances of such
- an interface coming about is very high, as CSS editing usually bec=
omes the duty of a general
- developer who doesn't necessarily have much knowledge of user=
interface design.
+
+ 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.
+
=
- Moreover, if a customer wishes to have an interface look-and-f=
eel 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 nu=
merous times.
+
+ 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.
+
=
- These problems can be solved with the skinnability=
property> system built
- into theRichFaces project and realized fully in RichFaces. Every n=
amed skin has some
- skin-parameters for the definition of a palette and the other para=
meters of the user
- interface. By changing just a few parameters, you can alter the ap=
pearance of dozens of
- components in an application in a synchronized fashion without mes=
sing up user interface
- consistency.
+
+ These problems can be solved with the
+ skinnability
+ 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.
+
=
- The skinnability feature can't compl=
etely replace standard
- CSS and certainly doesn't eliminate its usage. Skin=
nability 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.
-
+
+ The
+ skinnability
+ feature can't completely replace standard CSS and
+ certainly doesn't eliminate its usage.
+ Skinnability
+ 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.
+
+
=
-
-
- Using Skinnability
+
+
+ Using Skinnability
=
- RichFaces skinnability is designed for mi=
xed usage with:
+
+ RichFaces
+ skinnability
+ is designed for mixed usage with:
+
=
-
-
- Skin parameters defined in the RichFaces framework
-
+
+
+
+ Skin parameters defined in the RichFaces
+ framework
+
+
=
-
- Predefined CSS classes for components
-
+
+ Predefined CSS classes for components
+
=
-
- User style classes
-
-
+
+ User style classes
+
+
=
- The color scheme of the component can be applied to its elemen=
ts using any of three
- style classes:
+
+ The color scheme of the component can be applied to its
+ elements using any of three style classes:
+
=
-
-
- A default style class inserted into the framework
+
+
+
+ A default style class inserted into the
+ framework
+
=
- This contains style parameters linked to some constants fr=
om a skin. It is defined
- for every component and specifies a default representation lev=
el. Thus, an application
- interface could be modified by changing the values of skin par=
ameters.
-
+
+ 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.
+
+
=
-
- A style class of skin extension
+
+ A style class of skin extension
=
- This class name is defined for every component element and=
inserted into the
- framework to allow defining a class with the same name into it=
s CSS files. Hence, the
- appearance of all components that use this class is extended.<=
/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.
+
+
=
-
- User style class
+
+ User style class
=
- It's possible to use one of the styleClass parameters=
for component
- elements and define your own class in it. As a result, the app=
earance of one particular
- component is changed according to a CSS style parameter specif=
ied in the class.
-
-
-
+
+ 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.
+
+
+
+
=
-
- Example
+
+ Example
=
- Here is a simple panel component:
+ Here is a simple panel component:
=
=
-
- Example:
-
- <rich:panel>
-...
-</rich:panel>
+
+ Example:
+
+
+ <rich:panel> ... </rich:panel>
+
=
- The code generates a panel component on a page, which consists=
of two elements: a
- wrapper
- <div>
- element and a
- <div>
- element for the panel body with the particular style p=
roperties. The wrapper
-
- <div>
- element looks like:
+
+ The code generates a panel component on a page, which
+ consists of two elements: a wrapper
+
+ <div>
+
+ element and a
+
+ <div>
+
+ element for the panel body with the particular style
+ properties. The wrapper
+
+ <div>
+
+ element looks like:
+
=
=
-
- Example:
-
- <div class=3D"dr-pnl rich-panel">
-...
-</div>
+
+ Example:
+
+
+ <div class=3D"dr-pnl rich-panel"> ... </div>
+
=
- dr-pnl is a CSS class specified in the framework via skin para=
meters:
+
+ dr-pnl is a CSS class specified in the framework via
+ skin parameters:
+
=
-
-
- background-color is defined with
- generalBackgroundColor
-
+
+
+
+ background-color
+ is defined with
+ generalBackgroundColor
+
+
=
-
- border-color is defined with
- panelBorderColor
-
-
+
+
+ border-color
+ is defined with
+ panelBorderColor
+
+
+
=
- It's possible to change all colors for all panels on all =
pages by changing
- these skin parameters.
+
+ It's possible to change all colors for all panels
+ on all pages by changing these skin parameters.
+
=
- However, if a
- <rich-panel>
- class is specified somewhere on the page, its paramete=
rs are also acquired by
- all panels on this page.
+
+ However, if a
+
+ <rich-panel>
+
+ class is specified somewhere on the page, its parameters
+ are also acquired by all panels on this page.
+
=
- A developer may also change the style properties for a particu=
lar panel. The following
- definition:
+
+ A developer may also change the style properties for a
+ particular panel. The following definition:
+
=
=
-
- Example:
-
- <rich:panel styleClass=3D"customClas=
s">
-...
-</rich:panel>
+
+ Example:
+
+
+ <rich:panel styleClass=3D"customClass"> ...
+ </rich:panel>
+
=
- could add some style properties from customClass to one partic=
ular panel, as a result we
- get three styles:
+
+ Could add some style properties from customClass to one
+ particular panel, as a result we get three styles:
+
=
=
-
- Example:
-
- <div class=3D"dr_pnl rich-panel cust=
omClass">
-...
-</div>
-
+
+ Example:
+
+
+ <div class=3D"dr_pnl rich-panel customClass"> ...
+ </div>
+
+
=
-
-
+
+
=
- Skin Parameters Tables in RichFaces
+ Skin Parameters Tables in RichFaces
=
- RichFaces provides eight predefined skin parameters (skins) at=
the simplest level of
- common customization:
+
+ RichFaces provides eight predefined skin parameters
+ (skins) at the simplest level of common customization:
+
=
-
- DEFAULT
+
+
+ DEFAULT
+
=
- plain
+
+ plain
+
=
- emeraldTown
+
+ emeraldTown
+
=
- blueSky
+
+ blueSky
+
=
- wine
+
+ wine
+
=
- japanCherry
+
+ japanCherry
+
=
- ruby
+
+ ruby
+
=
- classic
+
+ classic
+
=
- deepMarine
-
+
+ deepMarine
+
+
=
- To plug one in, it's necessary to specify a skin name in =
the
- "org.richfaces.SKIN"
- context-param.
+
+ To plug one in, it's necessary to specify a skin
+ name in the
+
+ org.richfaces.SKIN
+
+ context-param.
+
=
- Here is an example of a table with values for one of the main =
skins,
- "blueSky".
+
+ Here is an example of a table with values for one of the
+ main skins,
+ "blueSky"
+ .
+
=
-
=
- Skin "plain" was added from 3.0.2 version. It doesn't have an=
y parameters. It's
- necessary for embedding RichFaces components into existing projecs=
t which have its own
- styles.
+
+ 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.
+
=
- To get detailed information on particular parameter possibilit=
ies, see the chapter where each=
component has skin
- parameters described corresponding to its elements.
-
+
+ To get detailed information on particular parameter
+ possibilities, see the
+
+ chapter
+
+ where each component has skin parameters described
+ corresponding to its elements.
+
+
=
-
-
- Creating and Using Your Own Skin File
+
+
+ Creating and Using Your Own Skin File
=
- In order to create your own skin file, do the following:
+
+ In order to create your own skin file, do the following:
+
=
-
-
- Create a file and define in it skin constants which are us=
ed by style classes (see
- section &quo=
t;Skin Parameters Tables
- in RichFaces"). The name of skin file should cor=
respond to the
- following format: <name>.skin.properties. As an
- example of such file you can see RichFaces predefined skin par=
ameters (skins): blueSky,
- classic, deepMarine, etc. These files are located in the richf=
aces-impl-xxxxx.jar inside
- the /META-INF/skins folder.
-
+
+
+
+ Create a file and define in it skin constants
+ which are used by style classes (see section
+
+ "Skin Parameters Tables in
+ RichFaces"
+
+ ). The name of skin file should correspond to
+ the following format:
+ <name>.skin.properties
+ . 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.
+
+
=
-
- Add a skin definition <contex-param> to the web.xml =
of your
- application. An example is placed below:
-
- Example:
-
-
+
+ Add a skin definition <contex-param> to
+ the web.xml of your application. An example is
+ placed below:
+
+
+ Example:
+
+ =
org.richfaces.SKIN =
name =
...
]]>
-
+
=
-
- Put your <name>.skin.properties=
file in one of
- the following classpath elements: META-INF/skins/ or classpath=
folder (e.g.
- WEB-INF/classes).
-
-
-
-
- Built-in skinnability in RichFaces
- RichFaces gives an opportunity to incorporate skinna=
bility into UI
- design. With this framework you can easily use named skin paramete=
rs 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:
-
-
- http://livedemo.exadel.com/richfaces-demo/
-
-
- You may simply control the look-and-feel of your application =
by using the
- skinnability service of the RichFaces frame=
work. 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.
- To find out more on skinnability possibil=
ities, follow these steps:
-
- Create a custom render kit and register it in the=
faces-config.xml like this:
+
+
+ Put your
+ <name>.skin.properties
+ file in one of the following classpath elements:
+ META-INF/skins/ or classpath folder (e.g.
+ WEB-INF/classes).
+
+
+
+
+
+ Built-in skinnability in RichFaces
+
+ RichFaces gives an opportunity to incorporate
+ skinnability
+ 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:
+
+
+
+
+ http://livedemo.exadel.com/richfaces-demo/
+
+
+
+
+ You may simply control the look-and-feel of your
+ application by using the
+ skinnability
+ 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.
+
+
+ To find out more on
+ skinnability
+ possibilities, follow these steps:
+
+
+
+
+ Create a custom render kit and register it in
+ the faces-config.xml like this:
+
+ NEW_SKIN =
org.ajax4jsf.framework.renderer.ChameleonRenderKitImpl
]]>
-
- Then you need to create and register custom rende=
rers for the component based on
- the look-and-feel predefined variables:
+
+
+
+ Then you need to create and register custom
+ renderers for the component based on the
+ look-and-feel predefined variables:
+
+ javax.faces.Command =
javax.faces.Link =
newskin.HtmlCommandLinkRenderer
=
]]>
-
- 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>
- The file must be named
- <skinName>
- .skin.properties, in this case, it would be called
- newskin.skin.properties.
- The first line in this file should be render.=
kit=3D <render-kit-id>, =
in this case, it
- would be called render.kit=3DNEW_SKIN.
-
-
-
- Extra information on custom renderers creation can be found at=
:
-
-
- http://java.sun.com/javaee/javaserverfaces/reference/docs/ind=
ex.html
-
-
-
- =
-
- Standard controls skinning
- 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 elemen=
ts' =
- 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.
- =
- =
- =
-
- Standard controls skinning feature provides 2 levels of skinning -=
standard and extended, while skinning is based on detecting browser user a=
gent. If user agent is not detected, Advanced level is used.
- =
-
-
-
- Standard provides =
customization only basic style properties. =
-
-
- To the following browsers Basic level of skinning is applied:
- =
-
- Internet Explorer 6
- Internet Explorer 7 in BackCompat mode (s=
ee document.compatMode property in MSDN)
- Opera
- Safari
- =
-
- =
-
-
- =
- Extended extends=
basic level introducing broader =
- number of style properties and is applied to browsers with r=
ich visual styling capability of controls
-
-
- The following browsers support Advanced level of skinning: =
- =
-
- Mozilla Firefox
- Internet Explorer 7 in Standards-compliant mode =
(CSS1Compat mode)
-
- =
-
- =
- =
- =
-
- =
- These are the elements that affected by skinning:
-
-
- input
- select
- textarea
- keygen
- isindex
- legend
- fieldset
- hr
- a (together with a:hover, a:visited &qu=
ot;pseudo"-elements)
+
+
+
+ Finally, you need to place a properties file
+ with skin parameters into the class path root.
+ There are two requirements for the properties
+ file:
+
+
+
+
+ The file must be named
+
+
+ <skinName>
+
+
+ .skin.properties, in this case, it would
+ be called
+ newskin.skin.properties
+ .
+
+
+
+
+ The first line in this file should be
+
+ render.kit=3D <render-kit-id>
+
+ in this case, it would be called
+ render.kit=3DNEW_SKIN
+ .
+
+
+
+
+
+
+ Extra information on custom renderers creation can be
+ found at:
+
+
+
+
+ http://java.sun.com/javaee/javaserverfaces/reference/docs/index.html
+
+
+
+
=
-
- =
+
+ Standard controls skinning
+
+ 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.
+
=
- Skinning can be initialized in two ways: =
-
-
-
- adding org.richfaces.CONTROL_SKINNING parmeter to web.xml. Va=
lues: "enable" and "disable".
- This way implies that skinning style classes are applied to element=
s by element name and type attribute (where applicable). No additional step=
s required from an application developer. =
- Please find below the table that contains the list of element to w=
hich skinning a applicable.
-
-
-
-
- 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 styl=
e classes for different types of elements. =
- The style classes have predefined names. Application developer shou=
ld manually assign classes to controls that needs skinning or assign class =
to an element that contains controls. =
-
-
- =
- =
-
- By setting org.richfaces.CONTROL_SKINNING_CLASSES to "enable&q=
uot; you are provided with style classes applicable to:
-
- =
-
-
-
- Basic elements nested inside element having rich-container clas=
s, e.g.:
-
-
- Example:
-
-
+ 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.
+
+
+
+
+
+ Standard
+
+ provides customization only basic style
+ properties.
+
+
+ To the following browsers Basic level of
+ skinning is applied:
+
+
+
+ Internet Explorer 6
+
+
+
+ Internet Explorer 7 in BackCompat mode
+ (see
+
+ document.compatMode property in MSDN
+
+ )
+
+
+
+ Opera
+
+
+ Safari
+
+
+
+
+
+
+
+
+ Extended
+
+ extends basic level introducing broader number
+ of style properties and is applied to browsers
+ with rich visual styling capability of controls
+
+
+ The following browsers support Advanced level of
+ skinning:
+
+
+
+ Mozilla Firefox
+
+
+
+ Internet Explorer 7 in
+ Standards-compliant mode (CSS1Compat
+ mode)
+
+
+
+
+
+
+
+
+
+
+ These are the elements that affected by skinning:
+
+
+
+
+ input
+
+
+
+
+ select
+
+
+
+
+ textarea
+
+
+
+
+ keygen
+
+
+
+
+ isindex
+
+
+
+
+ legend
+
+
+
+
+ fieldset
+
+
+
+
+ hr
+
+
+
+
+
+ a (together with a:hover, a:visited
+ "pseudo"-elements)
+
+
+
+
+
+
+
+ Skinning can be initialized in two ways:
+
+
+
+ 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.
+
+
+
+
+ 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.
+
+
+
+
+
+ By setting
+ org.richfaces.CONTROL_SKINNING_CLASSES
+ to "enable" you are provided with style
+ classes applicable to:
+
+
+
+
+
+ Basic elements nested inside element having
+ rich-container class, e.g.:
+
+
+ Example:
+
+
-
-
-
- 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:
-
-
- Example:
- =
-
+
+
+ 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:
+
+
+ Example:
+
+ =
- =
-
- Note:
-
- a elements have classes based on "link" and pseudo =
class name, e.g.: rich-link, rich-link-hover, rich-link-visited
- =
- =
- =
-
- =
-
- =
- =
- =
- 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 .
- There is a snippet with some of them for example:
- =
- =
-
+
+
+ Note:
+
+ a elements have classes based on
+ "link" and pseudo class name,
+ e.g.: rich-link, rich-link-hover,
+ rich-link-visited
+
+
+
+
+
+
+
+
+
+
+ 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 .
+
+
+ There is a snippet with some of them for example:
+
+
+
+
@@ -1766,750 +2743,861 @@
-...]]> =
- =
- =
- To get a better idea of standard component skinning we recommend =
to explore CSS files located in ui/core/src/main/resources/org/richfaces/ f=
older
- of Richfaces svn.
- =
- =
-
-
- Standard level
- =
-
- Html Elements Skin Bindings for input, select, textarea, butto=
n, keygen, isindex, legend
-
-
-
- CSS Properties
- Skin parameters
-
-
-
- =
-
- font-size
- generalSizeFont
-
-
- font-family
- generalFamilyFont
-
-
- color
- controlTextColor
-
-
-
-
=
- =
- =
- =
- =
- =
- =
=
- =
- =
-
- XCSS file format
- =
- XCSS files are the core of Richfaces components skinnability. =
- XCSS is an XML formatted CSS that adds extra functionality to =
the skinning process
- =
- =
- 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.
- =
- =
- =
- =
- 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 tag=
s =
- that form the mapping structure. Please study the example below.
-
-
+ Html Elements Skin Bindings for hr
+
+
+
+ CSS Properties
+ Skin parameters
+
+
+
+
+
+ border-color
+ panelBorderColor
+
+
+
+
+
+
+ Html Elements Skin Bindings for a
+
+
+
+ CSS Properties
+ Skin parameters
+
+
+
+
+
+
+
+ color
+ generalLinkColor
+
+
+
+
+
+
+
+
+ Html Elements Skin Bindings for a:hover
+
+
+
+
+ CSS Properties
+ Skin parameters
+
+
+
+
+
+ color
+
+ hoverLinkColorgeneralLinkColor
+
+
+
+
+
+
+
+
+
+ Html Elements Skin Bindings for a:visited
+
+
+
+
+ CSS Properties
+ Skin parameters
+
+
+
+
+
+ color
+ visitedLinkColor
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ XCSS file format
+
+
+ XCSS files are the core of Richfaces components
+ skinnability.
+
+
+ XCSS is an XML formatted CSS that adds extra
+ functionality to the skinning process
+
+
+
+
+ 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.
+
+
+
+
+
+
+ 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.
+
+
@@ -2518,10 +3606,11 @@
...
]]>
-
- During processing the code in the shown example will be parsed into a=
standard CSS format.
-
-
+ During processing the code in the shown example will be
+ parsed into a standard CSS format.
+
+
- =
-
- The name attribute of <u:selector> tag =
defines the CSS selector, while name attribute of
- the < u:style> tag defines what skin constant is mapped to =
a CSS property.
- The value attribute of the < u:style>=
tag can also be used to assign a value to a CSS property. =
-
- =
- =
- CSS selectors with identical skinning properties can be set as=
a comma separated list.
-
+ The
+ name
+ attribute of <u:selector> tag defines the CSS
+ selector, while
+ "name"
+ attribute of the
+ <u:style>
+ tag defines what skin constant is mapped to a CSS
+ property. The
+ value
+ attribute of the
+ <u:style>
+ tag can also be used to assign a value to a CSS
+ property.
+
+
+
+
+ CSS selectors with identical skinning properties can be
+ set as a comma separated list.
+
+
...
-]]> =
+]]>
=
-
- =
-
- Plug-n-Skin
- =
-
- 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 RichFac=
es components. =
- =
-
- =
- In order to create your own skin using Plug-n-Skin feature, yo=
u can follow these step by step instructions.
- =
+
=
+
+ Plug-n-Skin
=
+
+ 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.
=
- First of all, you need to create a template for the new ski=
n.
- Creation of the template can be performed using Maven build and=
deployment tool. More information on how to configure Maven for RichFaces =
- here. You can copy and paste these Maven instructions
- to command line and execute them. =
-
- =
- =
-
+
+
+ In order to create your own skin using Plug-n-Skin
+ feature, you can follow these step by step instructions.
+
+
+
+
+
+
+ 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
+
+ here
+
+ . You can copy and paste these Maven instructions to
+ command line and execute them.
+
+
+
+ =
- Primary keys for the command:
-
- DarchetypeVersion indicates =
the RichFaces version. For example, "3.2.2-SNAPSHOT"
- DartifactId artifact id of t=
he project
- DgroupId group id of the pro=
ject
- Dversion the version of the =
project you create, by default it is "1.0.-SNAPSHOT" =
-
-
- After this operation, a folder with the name of your "ARTIFACT-ID&qu=
ot; appears. =
- The folder contains a template of Maven project.
-
+]]>
+ Primary keys for the command:
+
+
+
+ DarchetypeVersion
+ indicates the RichFaces version. For example,
+ "3.2.2-SNAPSHOT"
+
+
+
+
+ DartifactId
+ artifact id of the project
+
+
+
+
+ DgroupId
+ group id of the project
+
+
+
+
+ Dversion
+ the version of the project you create, by
+ default it is "1.0.-SNAPSHOT"
+
+
+
+
+ After this operation, a folder with the name of your
+ "ARTIFACT-ID" appears. The folder contains a
+ template of Maven project.
+
=
- Next steps will guide you though creating of the skin itself.
- =
- =
- =
-
-In the root folder of Maven project (the one that contains "pom.xml&=
quot; file) =
-you should run the following command in the command line:
-
- =
-
+ Next steps will guide you though creating of the skin
+ itself.
+
+
+
+
+
+ In the root folder of Maven project (the one that
+ contains "pom.xml" file) you should run the
+ following command in the command line:
+
+
+
- =
- =
- Primary keys for the command:
-
- =
-
- Dname defines the name of the new skin
-
- =
- =
- =
-
- Dpackage base package of the skin. By defaul=
t "groupId" of the project is used.
- =
- =
-
- =
-
- Additional optional keys for the command:
-
- =
-
- =
-
- =
-
- DbaseSkin defines the name of the base skin. =
- =
- =
- =
-
-
- DcreateExt if set to "true", extend=
ed CSS classes are added. For more information, please, see
- "Standard controls skinn=
ing" =
-
- =
-
- =
- =
- As a result of the performed operations the following files and f=
olders are created:
- =
-
- BaseImage.java - the base cla=
ss to store images. Location: "\src\main\java\SKIN-PACKAGE\SKIN-NAME\i=
mages\"
- BaseImageTest.java - a test v=
ersion of a class that stores images. Location: "\src\test\java\SKIN-P=
ACKAGE\SKIN-NAME\images\"
- XCSS files - XCSS files defin=
e the new look of RichFaces components affected by the new skin. Locatio=
n: "\src\main\resources\SKIN-PACKAGE\SKIN-NAME\css\" =
listitem>
- SKIN-NAME.properties - a XC=
SS file that contains properties of the new skin. Location: "\src\main=
\resources\SKIN-PACKAGE\SKIN-NAME\css\"
- The following properties are used to configure the SKIN-NA=
ME.properties file:
- =
- =
-
-
- baseSkin =E2=80=93 the name of=
the base skin to be used as basis.
- The look of the skin you define will be affected by new st=
yle properties. =
-
-
-
- generalStyleSheet -
- a path to the style sheet (SKIN-NAME.xcss) that imports st=
yle sheets of the components to be affected by the new skin. =
- =
-
-
- extendedStyleSheet - a path to a=
style sheet that is used to unify the appearance of RichFaces components a=
nd standard HTML controls. =
- For additional information please read "Standard controls skinning" chapter.
-
-
- gradientType is a predefined prop=
erty to set the type of gradient applied to the new skin. Possible values a=
re glass, plastic, plain. More information on gradient implementation you c=
an find further in this chapter.
-
-
-
-
- SKIN-NAME.xcss - a XCSS fil=
e that imports XCSS files of the components to be affected by the new skin.=
Location: "src\main\resources\META-INF\skins "
- XCSS files If the command is =
executed with the "DcreateExt" key set to "true", XCSS =
files that define style for standard controls will be created. Location: &q=
uot;\src\main\resources\SKIN-PACKAGE\SKIN-NAME\css\". =
- SKIN-NAME-ext.xcss If the c=
ommand is executed with the "DcreateExt" key set to "true&qu=
ot;, the configuration SKIN-NAME-ext.xcss file that imports XCSS file defin=
ing styles for the standard controls will be created. Location: "src=
\main\resources\META-INF\skins ".
- SKIN-NAME-resources.xml - th=
e file contains the description of all listed above files. Location: "=
;src\main\config\resources ".
-
- =
- =
- =
- 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 com=
mand line in the root folder of you skin project (the one that contains po=
m.xml file).
=
-Primary keys for the command:
+
+
+
+
+ Dname
+ defines the name of the new skin
+
+
+
+
+
+ Dpackage
+ base package of the skin. By default
+ "groupId" of the project is used.
+
+
+
+
+ Additional optional keys for the command:
+
+
+
+
+
+
+ DbaseSkin
+ defines the name of the base skin.
+
+
+
+
+
+ DcreateExt
+ if set to "true", extended CSS classes
+ are added. For more information, please, see
+
+ "Standard controls skinning"
+
+
+
+
+
+
+
+ As a result of the performed operations the following
+ files and folders are created:
+
+
+
+
+
+ BaseImage.java
+ - the base class to store images. Location:
+ "\src\main\java\SKIN-PACKAGE\SKIN-NAME\images\"
+
+
+
+
+ BaseImageTest.java
+ - a test version of a class that stores images.
+ Location:
+ "\src\test\java\SKIN-PACKAGE\SKIN-NAME\images\"
+
+
+
+
+ XCSS files
+ - XCSS files define the new look of RichFaces
+ components affected by the new skin. Location:
+ "\src\main\resources\SKIN-PACKAGE\SKIN-NAME\css\"
+
+
+
+
+ SKIN-NAME.properties
+ - a XCSS file that contains properties of the
+ new skin. Location:
+ "\src\main\resources\SKIN-PACKAGE\SKIN-NAME\css\"
+
+
+ The following properties are used to configure
+ the SKIN-NAME.properties file:
+
+
+
+
+
+
+ baseSkin
+ =E2=80=93 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.
+
+
+
+
+ generalStyleSheet
+ - a path to the style sheet
+ (SKIN-NAME.xcss) that imports style
+ sheets of the components to be affected
+ by the new skin.
+
+
+
+
+ extendedStyleSheet
+ - 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
+
+ "Standard controls
+ skinning"
+
+ chapter.
+
+
+
+
+ gradientType
+ 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.
+
+
+
+
+
+
+ SKIN-NAME.xcss
+ - a XCSS file that imports XCSS files of the
+ components to be affected by the new skin.
+ Location:
+ "src\main\resources\META-INF\skins "
+
+
+
+
+ XCSS files
+ 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\".
+
+
+
+
+ SKIN-NAME-ext.xcss
+ 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 ".
+
+
+
+
+ SKIN-NAME-resources.xml
+ - the file contains the description of all
+ listed above files. Location:
+ "src\main\config\resources ".
+
+
+
+
+
+
+
+ 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).
+
+
+ =
- =
- =
- =
- Now, you can use your newly-created skin in your project by adding =
your new skin parameters to web.xml file.
- =
-
+
+
+
+
+ Now, you can use your newly-created skin in your project
+ by adding your new skin parameters to web.xml file.
+
+
+ org.ajax4jsf.SKINSKIN-NAME
...
-]]> =
+]]>
=
=
-
- So, now having built your new skin you can start redefining style pr=
operties in the corresponding XCSS files(located in "\src\main\resourc=
es\SKIN-PACKAGE\SKIN-NAME\css\" folder). =
- In the example below, it's shown how to redefine the style properties =
for the "combobox" component.
- =
-
+ 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.
+
+
+
@@ -2723,23 +3980,46 @@
...
]]>
- =
- Please notice that background-image can b=
e used to set a predefined gradient by means of =
- <f:resource f:key=3D"org.richfaces.renderkit.htm=
l.CustomizeableGradient"> and the gradientType=
constant set to one of the possible values.
-
- =
- You can also apply these style properties to backgro=
und-image:
-
- =
- baseColor
- gradientColor
- gradientHeight
- valign
- gradientType
-
- =
- =
-
=
-
+
+ Please notice that
+ background-image
+ can be used to set a predefined gradient by means of
+
+ <f:resource
+ f:key=3D"org.richfaces.renderkit.html.CustomizeableGradient"=
;>
+
+ and the
+ gradientType
+ constant set to one of the possible values.
+
+
+
+ You can also apply these style properties to
+ background-image
+ :
+
+
+
+
+ baseColor
+
+
+ gradientColor
+
+
+ gradientHeight
+
+
+ valign
+
+
+ gradientType
+
+
+
+
+
+
+
Modified: trunk/docs/userguide/en/src/main/resources/css/html.css
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- trunk/docs/userguide/en/src/main/resources/css/html.css 2008-06-10 09:2=
4:42 UTC (rev 8966)
+++ trunk/docs/userguide/en/src/main/resources/css/html.css 2008-06-10 09:2=
7:24 UTC (rev 8967)
@@ -1,73 +1,78 @@
-(a)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;
+(a)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
--===============7885898586084166447==--