JBoss Rich Faces SVN: r13301 - trunk/docs/userguide/en/src/main/docbook/included.
by richfaces-svn-commits@lists.jboss.org
Author: msorokin
Date: 2009-03-30 13:07:49 -0400 (Mon, 30 Mar 2009)
New Revision: 13301
Added:
trunk/docs/userguide/en/src/main/docbook/included/a4j_page.desc.xml
trunk/docs/userguide/en/src/main/docbook/included/a4j_page.xml
Log:
https://jira.jboss.org/jira/browse/RF-6593
files with components' descriptions
Copied: trunk/docs/userguide/en/src/main/docbook/included/a4j_page.desc.xml (from rev 13300, trunk/docs/userguide/en/src/main/docbook/included/page.desc.xml)
===================================================================
--- trunk/docs/userguide/en/src/main/docbook/included/a4j_page.desc.xml (rev 0)
+++ trunk/docs/userguide/en/src/main/docbook/included/a4j_page.desc.xml 2009-03-30 17:07:49 UTC (rev 13301)
@@ -0,0 +1,14 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<root>
+ <section>
+ <sectioninfo>
+ <keywordset>
+ <keyword>component</keyword>
+ <keyword>page</keyword>
+ </keywordset>
+ </sectioninfo>
+
+<title>Description</title>
+ <para><emphasis role="bold"><property><a4j:page></property></emphasis> is used for solving of incompatibility problems in early Ajax4jsf versions. The component encodes the full html page structure. </para>
+ </section>
+</root>
Copied: trunk/docs/userguide/en/src/main/docbook/included/a4j_page.xml (from rev 13300, trunk/docs/userguide/en/src/main/docbook/included/page.xml)
===================================================================
--- trunk/docs/userguide/en/src/main/docbook/included/a4j_page.xml (rev 0)
+++ trunk/docs/userguide/en/src/main/docbook/included/a4j_page.xml 2009-03-30 17:07:49 UTC (rev 13301)
@@ -0,0 +1,145 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<chapter>
+ <chapterinfo>
+ <keywordset>
+ <keyword>a4j:page</keyword>
+ </keywordset>
+ </chapterinfo>
+ <table>
+ <title>Component identification parameters </title>
+ <tgroup cols="2">
+ <thead>
+ <row>
+ <entry>Name</entry>
+ <entry>Value</entry>
+ </row>
+ </thead>
+ <tbody>
+ <row>
+ <entry>component-type</entry>
+ <entry>org.ajax4jsf.components.Page</entry>
+ </row>
+ <row>
+ <entry>component-family</entry>
+ <entry>org.ajax4jsf.components.AjaxRegion</entry>
+ </row>
+ <row>
+ <entry>component-class</entry>
+ <entry>org.ajax4jsf.component.html.HtmlPage</entry>
+ </row>
+ <row>
+ <entry>renderer-type</entry>
+ <entry>org.ajax4jsf.components.AjaxPageRenderer</entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </table>
+
+ <section>
+ <title>Creating on a page</title>
+ <para>This component should be defined as a child component for <emphasis role="bold">
+ <property><f:view>:</property>
+ </emphasis></para>
+ <programlisting role="XML"><![CDATA[<f:view>
+ <a4j:page>
+ <f:facet name="head">
+ <!--...Head Content here-->
+ </f:facet>
+ <!--...Page Content here-->
+ </a4j:page>
+</f:view>
+]]></programlisting>
+ </section>
+ <section>
+ <title>Creating the Component Dynamically Using Java</title>
+
+ <para>
+ <emphasis role="bold">Example:</emphasis>
+ </para>
+ <programlisting role="JAVA"><![CDATA[import org.ajax4jsf.component.html.HtmlPage;
+...
+HtmlPage myPage = new HtmlPage();
+...
+]]></programlisting>
+ </section>
+ <section>
+ <title>Facets</title>
+ <table>
+ <title>Facets</title>
+ <tgroup cols="2">
+ <thead>
+ <row>
+ <entry>Facet name</entry>
+ <entry>Description</entry>
+ </row>
+ </thead>
+ <tbody>
+ <row>
+ <entry>head</entry>
+ <entry>Defines a head content</entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </table>
+ </section>
+ <section>
+ <title>Key attributes and ways of usage</title>
+ <para>The component is mostly used to solve the following problem with MyFaces for erlier Ajax4jsf versions: in MyFaces <emphasis role="bold">
+ <property><f:view></property>
+ </emphasis> doesn't get control over the
+ <property>RENDER_RESPONSE</property>
+ phase, thus Ajax can't get control and make a response also. To avoid this problem it was necessary to use <emphasis role="bold">
+ <property><a4j:page></property>
+ </emphasis> on a page round the Ajax updatable area. In the last versions of both frameworks the problem is successfully fixed and no <emphasis role="bold"><property><a4j:page></property></emphasis> usage is required.</para>
+ <para>The component is rendered as a full HTML page template as it is shown in the <link linkend="exampl">example</link>. The
+ <property>head</property>
+ section is defined with the help of the corresponding <emphasis><property>"head"</property></emphasis> facet.
+
+ You do not need to use <emphasis><property>"body"</property></emphasis> facet in order to define first <property>body</property> section.
+ The second and more <property>body</property> sections is defined with the help of the corresponding <emphasis><property>"body"</property></emphasis> facet.
+
+ </para>
+ <para>
+ The attribute <emphasis><property>"format"</property></emphasis> defines page layout format for encoding DOCTYPE.
+ </para>
+ <para>
+ The attribute <emphasis><property>"pageTitle"</property></emphasis> is rendered as <property>title</property> section.
+ </para>
+
+
+ <para>
+ <emphasis role="bold">Example:</emphasis>
+ </para>
+ <programlisting role="XML"><![CDATA[<a4j:page format="xhtml" pageTitle="myPage">
+ <f:facet name="head">
+ <!--Head Content here-->
+ </f:facet>
+ <!--Page Content Here-->
+</a4j:page>
+]]></programlisting>
+ <para>This structure is rendered as:</para>
+
+ <para id="exampl">
+ <emphasis role="bold">Example:</emphasis>
+ </para>
+ <programlisting role="XML"><![CDATA[<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html>
+ <head>
+ <title>myPage</title>
+ <!--Head Content here-->
+ </head>
+ <body>
+ <!--Page Content Here-->
+ </body>
+</html>]]></programlisting>
+ </section>
+
+ <section>
+ <title>Relevant resources links</title>
+ <para>
+ <ulink url="http://livedemo.exadel.com/richfaces-demo/richfaces/page.jsf?c=page">Here</ulink> you can found some additional information for <emphasis role="bold"
+ ><property><a4j:page></property></emphasis> component usage.
+ </para>
+ </section>
+
+</chapter>
15 years, 9 months
JBoss Rich Faces SVN: r13300 - trunk/docs/common-resources/en/src/main/xslt.
by richfaces-svn-commits@lists.jboss.org
Author: artdaw
Date: 2009-03-30 12:35:22 -0400 (Mon, 30 Mar 2009)
New Revision: 13300
Modified:
trunk/docs/common-resources/en/src/main/xslt/f.xsl
trunk/docs/common-resources/en/src/main/xslt/xhtml-common.xsl
Log:
https://jira.jboss.org/jira/browse/RF-6644 - all the guide files were distinguished
Modified: trunk/docs/common-resources/en/src/main/xslt/f.xsl
===================================================================
--- trunk/docs/common-resources/en/src/main/xslt/f.xsl 2009-03-30 14:44:28 UTC (rev 13299)
+++ trunk/docs/common-resources/en/src/main/xslt/f.xsl 2009-03-30 16:35:22 UTC (rev 13300)
@@ -1,6 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<xsl:transform xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:javaee="http://java.sun.com/xml/ns/javaee"
+ xmlns:u="http:/jsf.exadel.com/template/util"
+ xmlns:f='http:/jsf.exadel.com/template'
version="1.0" exclude-result-prefixes="javaee">
<xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"
omit-xml-declaration="yes" />
@@ -8,6 +10,39 @@
<xsl:param name="title" />
<xsl:param name="separator" />
<xsl:param name="prefix" />
+ <xsl:param name="xcssPath" />
+
+ <xsl:variable name="rowsAmount">
+ <xsl:value-of select="count(.)" />
+ </xsl:variable>
+
+ <xsl:template match="//f:template">
+ <table>
+ <xsl:for-each select="u:selector">
+ <xsl:sort select="@name" />
+ <xsl:if test="u:style[@skin]">
+ <row>
+ <entry morerows='$rowsAmount' valign='middle'>
+ <xsl:value-of select="@name"/>
+ </entry>
+ </row>
+ <xsl:for-each select="u:style">
+ <row>
+ <entry>
+ <xsl:value-of select="@skin"/>
+ </entry>
+ <entry>
+ <xsl:value-of select="@name"/>
+ </entry>
+ </row>
+ </xsl:for-each>
+ </xsl:if>
+ </xsl:for-each>
+ </table>
+ </xsl:template>
+
+ <xsl:template match="/f:template/f:verbatim"/>
+
<xsl:template match="javaee:taglib | taglib">
<xsl:variable name="excluded-tag-names">
@@ -53,17 +88,27 @@
</xsl:choose>
</xsl:variable>
-->
- <xsl:attribute name="id"><xsl:value-of select="$tag_name" />
+ <xsl:attribute name="id"><xsl:value-of select="concat($prefix, '_', $tag_name)" />
</xsl:attribute>
<title>
<
<xsl:value-of select="concat($prefix,':', $tag_name)" />
>
</title>
- <xsl:for-each
- select="document(concat($lang, $separator,'included',$separator,$tag_name, '.desc.xml'))/*">
- <xsl:copy-of select="./*" />
- </xsl:for-each>
+
+ <xsl:choose>
+ <xsl:when test="document(concat($lang, $separator, 'included', $separator, $prefix, '_', $tag_name, '.desc.xml'))">
+ <xsl:for-each select="document(concat($lang, $separator,'included',$separator, $prefix, '_', $tag_name, '.desc.xml'))/*">
+ <xsl:copy-of select="./*" />
+ </xsl:for-each>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:for-each select="document(concat($lang, $separator,'included',$separator,$tag_name, '.desc.xml'))/*">
+ <xsl:copy-of select="./*" />
+ </xsl:for-each>
+ </xsl:otherwise>
+ </xsl:choose>
+
<table>
<title>
<xsl:value-of select="$prefix" />
@@ -96,10 +141,48 @@
</tbody>
</tgroup>
</table>
- <xsl:for-each
- select="document(concat($lang, $separator,'included',$separator,$tag_name, '.xml'))/*">
- <xsl:copy-of select="./*" />
- </xsl:for-each>
+
+
+ <!--xsl:if test="$prefix != 'a4j'">
+ <table>
+ <title>
+ <xsl:value-of select="$prefix" />
+ :
+ <xsl:value-of select="javaee:name" />
+ <xsl:value-of select="name" />
+ classes
+ </title>
+ <tgroup cols="3">
+ <thead>
+ <row>
+ <entry>Class Name</entry>
+ <entry>Skin parameters</entry>
+ <entry>CSS properties</entry>
+
+ </row>
+ </thead>
+ <tbody>
+ <xsl:for-each select="document(concat($xcssPath, $separator, $tag_name, '.xml'))/*">
+ <xsl:copy-of select="*" />
+ </xsl:for-each>
+ </tbody>
+ </tgroup>
+ </table>
+ </xsl:if-->
+ <xsl:choose>
+ <xsl:when test="document(concat($lang, $separator, 'included', $separator, $prefix, '_', $tag_name, '.xml'))">
+ <xsl:for-each select="document(concat($lang, $separator,'included',$separator, $prefix, '_', $tag_name, '.xml'))/*">
+ <xsl:copy-of select="./*" />
+ </xsl:for-each>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:for-each select="document(concat($lang, $separator,'included',$separator,$tag_name, '.xml'))/*">
+ <xsl:copy-of select="./*" />
+ </xsl:for-each>
+ </xsl:otherwise>
+ </xsl:choose>
+
+
</section>
</xsl:template>
</xsl:transform>
\ No newline at end of file
Modified: trunk/docs/common-resources/en/src/main/xslt/xhtml-common.xsl
===================================================================
--- trunk/docs/common-resources/en/src/main/xslt/xhtml-common.xsl 2009-03-30 14:44:28 UTC (rev 13299)
+++ trunk/docs/common-resources/en/src/main/xslt/xhtml-common.xsl 2009-03-30 16:35:22 UTC (rev 13300)
@@ -11,7 +11,9 @@
<xsl:import href="collapsing-navigation.xsl"/>
<!--xsl:param name="generate.toc" select="'book toc'"/-->
<xsl:param name="toc.section.depth" select="5"/>
-
+ <xsl:param name="use.id.as.filename" select="1"/>
+
+
<!--
From: xhtml/docbook.xsl
15 years, 9 months
JBoss Rich Faces SVN: r13299 - in tags: 3.3.1.BETA2/framework/impl/src/main/java/org/richfaces and 3 other directories.
by richfaces-svn-commits@lists.jboss.org
Author: nbelaevski
Date: 2009-03-30 10:44:28 -0400 (Mon, 30 Mar 2009)
New Revision: 13299
Added:
tags/3.3.1.BETA2/
tags/3.3.1.BETA2/ui/assembly/
tags/3.3.1.BETA2/ui/calendar/
Removed:
tags/3.3.1.BETA2/ui/assembly/
tags/3.3.1.BETA2/ui/calendar/
Modified:
tags/3.3.1.BETA2/framework/impl/src/main/java/org/richfaces/VersionBean.java
tags/3.3.1.BETA2/samples/createProject.sh
tags/3.3.1.BETA2/sandbox/ui/create.bat
tags/3.3.1.BETA2/sandbox/ui/create.sh
tags/3.3.1.BETA2/ui/create.bat
Log:
create tag for a release 3.3.1.BETA2
Copied: tags/3.3.1.BETA2 (from rev 13253, trunk)
Modified: tags/3.3.1.BETA2/framework/impl/src/main/java/org/richfaces/VersionBean.java
===================================================================
--- trunk/framework/impl/src/main/java/org/richfaces/VersionBean.java 2009-03-27 12:24:33 UTC (rev 13253)
+++ tags/3.3.1.BETA2/framework/impl/src/main/java/org/richfaces/VersionBean.java 2009-03-30 14:44:28 UTC (rev 13299)
@@ -37,7 +37,7 @@
* Revision version, must be auto modified by CVS
*/
- public static final String REVISION = "1-SNAPSHOT" ;
+ public static final String REVISION = "1.BETA2" ;
public static final String SCM_REVISION = " SVN $Revision$ $Date$";//$Revision$ $Date$";
public static final Version _version = new Version();
Modified: tags/3.3.1.BETA2/samples/createProject.sh
===================================================================
--- trunk/samples/createProject.sh 2009-03-27 12:24:33 UTC (rev 13253)
+++ tags/3.3.1.BETA2/samples/createProject.sh 2009-03-30 14:44:28 UTC (rev 13299)
@@ -1,3 +1,3 @@
#!/bin/sh
mvn archetype:create -DarchetypeGroupId=org.richfaces.cdk -DarchetypeArtifactId=maven-archetype-jsfwebapp \
- -DarchetypeVersion=3.3.1-SNAPSHOT -Dversion=3.3.1-SNAPSHOT -DgroupId=org.richfaces.samples -DartifactId=$1
+ -DarchetypeVersion=3.3.1.BETA2 -Dversion=3.3.1.BETA2 -DgroupId=org.richfaces.samples -DartifactId=$1
Modified: tags/3.3.1.BETA2/sandbox/ui/create.bat
===================================================================
--- trunk/sandbox/ui/create.bat 2009-03-27 12:24:33 UTC (rev 13253)
+++ tags/3.3.1.BETA2/sandbox/ui/create.bat 2009-03-30 14:44:28 UTC (rev 13299)
@@ -1 +1 @@
-mvn archetype:create -DarchetypeGroupId=org.richfaces.cdk -DarchetypeArtifactId=maven-archetype-jsf-component -DarchetypeVersion=3.3.1-SNAPSHOT -DgroupId=org.richfaces.ui -DartifactId=%1
\ No newline at end of file
+mvn archetype:create -DarchetypeGroupId=org.richfaces.cdk -DarchetypeArtifactId=maven-archetype-jsf-component -DarchetypeVersion=3.3.1.BETA2 -DgroupId=org.richfaces.ui -DartifactId=%1
\ No newline at end of file
Modified: tags/3.3.1.BETA2/sandbox/ui/create.sh
===================================================================
--- trunk/sandbox/ui/create.sh 2009-03-27 12:24:33 UTC (rev 13253)
+++ tags/3.3.1.BETA2/sandbox/ui/create.sh 2009-03-30 14:44:28 UTC (rev 13299)
@@ -1,2 +1,2 @@
#!/bin/sh
-mvn archetype:create -DarchetypeGroupId=org.richfaces.cdk -DarchetypeArtifactId=maven-archetype-jsf-component -DarchetypeVersion=3.3.1-SNAPSHOT -DgroupId=org.richfaces.ui -DartifactId=${1}
\ No newline at end of file
+mvn archetype:create -DarchetypeGroupId=org.richfaces.cdk -DarchetypeArtifactId=maven-archetype-jsf-component -DarchetypeVersion=3.3.1.BETA2 -DgroupId=org.richfaces.ui -DartifactId=${1}
\ No newline at end of file
Copied: tags/3.3.1.BETA2/ui/assembly (from rev 13298, trunk/ui/assembly)
Copied: tags/3.3.1.BETA2/ui/calendar (from rev 13264, trunk/ui/calendar)
Modified: tags/3.3.1.BETA2/ui/create.bat
===================================================================
--- trunk/ui/create.bat 2009-03-27 12:24:33 UTC (rev 13253)
+++ tags/3.3.1.BETA2/ui/create.bat 2009-03-30 14:44:28 UTC (rev 13299)
@@ -1 +1 @@
-mvn archetype:create -DarchetypeGroupId=org.richfaces.cdk -DarchetypeArtifactId=maven-archetype-jsf-component -DarchetypeVersion=3.3.1-SNAPSHOT -DgroupId=org.richfaces -DartifactId=%1
\ No newline at end of file
+mvn archetype:create -DarchetypeGroupId=org.richfaces.cdk -DarchetypeArtifactId=maven-archetype-jsf-component -DarchetypeVersion=3.3.1.BETA2 -DgroupId=org.richfaces -DartifactId=%1
\ No newline at end of file
15 years, 9 months
JBoss Rich Faces SVN: r13298 - in trunk/test-applications/realworld2/web/src/main: webapp/includes/index and 1 other directory.
by richfaces-svn-commits@lists.jboss.org
Author: alevkovsky
Date: 2009-03-30 10:25:46 -0400 (Mon, 30 Mar 2009)
New Revision: 13298
Modified:
trunk/test-applications/realworld2/web/src/main/java/org/richfaces/realworld/manager/Authenticator.java
trunk/test-applications/realworld2/web/src/main/webapp/includes/index/login.xhtml
Log:
Realworld: correct authentication
Modified: trunk/test-applications/realworld2/web/src/main/java/org/richfaces/realworld/manager/Authenticator.java
===================================================================
--- trunk/test-applications/realworld2/web/src/main/java/org/richfaces/realworld/manager/Authenticator.java 2009-03-30 14:22:03 UTC (rev 13297)
+++ trunk/test-applications/realworld2/web/src/main/java/org/richfaces/realworld/manager/Authenticator.java 2009-03-30 14:25:46 UTC (rev 13298)
@@ -22,6 +22,7 @@
import java.io.Serializable;
+import javax.faces.context.FacesContext;
import javax.security.auth.login.LoginException;
import org.jboss.seam.ScopeType;
@@ -75,8 +76,11 @@
@In FileManager fileManager;
@In @Out Model model;
+
+ private boolean loginFailed = false;
public String login(){
+ setLoginFailed(false);
if(identity.hasRole("admin")){
//TODO nick - return null
return "";
@@ -89,10 +93,11 @@
try {
identity.authenticate();
//TODO nick - maybe clearShelves() before trying to aunthenticate?
- shelfManager.clearShelfs();
+ shelfManager.clearShelfs();
} catch (LoginException e) {
- // TODO nick - Auto-generated catch block
- e.printStackTrace();
+ setLoginFailed(true);
+ identity.addRole(Constants.GUEST_ROLE);
+ FacesContext.getCurrentInstance().renderResponse();
}
return "main";
}
@@ -168,4 +173,14 @@
public Long getStartConversation() {
return startConversation;
}
+
+ public boolean isLoginFailed() {
+ return loginFailed;
+ }
+
+ public void setLoginFailed(boolean loginFailed) {
+ this.loginFailed = loginFailed;
+ }
+
+
}
Modified: trunk/test-applications/realworld2/web/src/main/webapp/includes/index/login.xhtml
===================================================================
(Binary files differ)
15 years, 9 months
JBoss Rich Faces SVN: r13297 - trunk/docs/userguide/en/src/main/docbook/included.
by richfaces-svn-commits@lists.jboss.org
Author: msorokin
Date: 2009-03-30 10:22:03 -0400 (Mon, 30 Mar 2009)
New Revision: 13297
Added:
trunk/docs/userguide/en/src/main/docbook/included/layout.desc.xml
trunk/docs/userguide/en/src/main/docbook/included/layout.xml
trunk/docs/userguide/en/src/main/docbook/included/layoutPanel.desc.xml
trunk/docs/userguide/en/src/main/docbook/included/layoutPanel.xml
Log:
https://jira.jboss.org/jira/browse/RF-6593
files with components' descriptions
Added: trunk/docs/userguide/en/src/main/docbook/included/layout.desc.xml
===================================================================
--- trunk/docs/userguide/en/src/main/docbook/included/layout.desc.xml (rev 0)
+++ trunk/docs/userguide/en/src/main/docbook/included/layout.desc.xml 2009-03-30 14:22:03 UTC (rev 13297)
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<section role="updated">
+ <sectioninfo>
+ <keywordset>
+ <keyword>layout</keyword>
+ <keyword>rich:layout</keyword>
+ </keywordset>
+ </sectioninfo>
+ <section>
+ <title>Description</title>
+ <para>The <emphasis role="bold">
+ <property><rich:layout></property>
+ </emphasis> component is used to build the web page layout.
+ </para>
+ </section>
+<section>
+ <title>Key Features</title>
+ <itemizedlist>
+ <listitem><para>bla bla bla</para></listitem>
+
+ </itemizedlist>
+</section>
+</section>
+
\ No newline at end of file
Added: trunk/docs/userguide/en/src/main/docbook/included/layout.xml
===================================================================
--- trunk/docs/userguide/en/src/main/docbook/included/layout.xml (rev 0)
+++ trunk/docs/userguide/en/src/main/docbook/included/layout.xml 2009-03-30 14:22:03 UTC (rev 13297)
@@ -0,0 +1,146 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<section>
+ <sectioninfo>
+ <keywordset>
+ <keyword>rich:layout</keyword>
+ <keyword>rich:layout</keyword>
+ <keyword>breakBefore</keyword>
+ </keywordset>
+ </sectioninfo>
+ <table>
+ <title>Component identification parameters </title>
+ <tgroup cols="2">
+ <thead>
+ <row>
+ <entry>Name</entry>
+ <entry>Value</entry>
+ </row>
+ </thead>
+ <tbody>
+ <row>
+ <entry>component-type</entry>
+ <entry>org.richfaces.layout</entry>
+ </row>
+ <row>
+ <entry>component-class</entry>
+ <entry>org.richfaces.component.html.Htmllayout</entry>
+ </row>
+ <row>
+ <entry>component-family</entry>
+ <entry>org.richfaces.layout</entry>
+ </row>
+ <row>
+ <entry>renderer-type</entry>
+ <entry>org.richfaces.layoutRenderer</entry>
+ </row>
+ <row>
+ <entry>tag-class</entry>
+ <entry>org.richfaces.taglib.layoutTag</entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </table>
+
+ <section>
+ <title>Creating the Component with a Page Tag</title>
+ <para>To create the simplest variant of <property>layout</property> on a page,
+ use the following syntax:</para>
+
+ <para>
+ <emphasis role="bold">Example:</emphasis>
+ </para>
+ <programlisting role="XML"><![CDATA[...
+
+...
+]]></programlisting>
+ </section>
+ <section>
+ <title>Creating the Component Dynamically Using Java</title>
+
+ <para>
+ <emphasis role="bold">Example:</emphasis>
+ </para>
+ <programlisting role="JAVA"><![CDATA[import org.richfaces.component.html.Htmllayout;
+...
+Htmllayout mylayout = new Htmllayout();
+...
+]]></programlisting>
+ </section>
+ <section>
+ <title>Details of Usage</title>
+
+ <para>The <emphasis role="bold"><property><rich:layout></property></emphasis> allows to build a grid that can be used to arrange the layout on the page. The <emphasis role="bold"><property><rich:layout></property></emphasis> is used in conjunction with the <emphasis role="bold"><property><rich:layoutPanel></property></emphasis> that is used as a child element and carries the main burned of building grid.</para>
+
+ <para>Hence, you need to use the <emphasis role="bold"><property><rich:layout></property></emphasis> as a container and <emphasis role="bold"><property><rich:layoutPanel></property></emphasis> to create areas inside the container.</para>
+ <para>By setting the <emphasis><property>"position"</property></emphasis> attribute of each <emphasis role="bold"><property><rich:layoutPanel></property></emphasis> to top, left, center, right, bottom
+ you can build up to 5 corresponding areas.
+ </para>
+
+ <para>
+ <emphasis role="bold">Example:</emphasis>
+ </para>
+
+ <programlisting role="XML"><![CDATA[...
+<rich:layout>
+ <rich:layoutPanel position="top">
+ <!--top-->
+ </rich:layoutPanel>
+ <rich:layoutPanel position="left">
+ <!--left-->
+ </rich:layoutPanel>
+ <rich:layoutPanel position="center">
+ <!--center-->
+ </rich:layoutPanel>
+ <rich:layoutPanel position="right">
+ <!--right-->
+ </rich:layoutPanel>
+ <rich:layoutPanel position="bottom">
+ <!--bottom-->
+ </rich:layoutPanel>
+</rich:layout>
+...]]></programlisting>
+
+ <note>
+ <title>Note:</title>
+ <para>Please keep in mind that no matter what layout
+ composition you are creating you should have a <emphasis role="bold"><property><rich:layoutPanel ></property></emphasis> with the <emphasis><property>"position"</property></emphasis> attribute set to "center". </para>
+
+ </note>
+
+
+
+ <para>To create a two-column layout you need to use two
+ <emphasis role="bold"><property><rich:layoutPanel></property></emphasis>
+ one of which should be a central area(<code>position="center"</code>) and the other one should be either left or right.
+ The following snippet will help you understand the way <emphasis role="bold"><property><rich:layout></property></emphasis> works.</para>
+
+
+ <programlisting role="XML"><![CDATA[...<rich:layout>
+ <rich:layoutPanel position="left">
+ <!--left-->
+ </rich:layoutPanel>
+ <rich:layoutPanel position="center">
+ <!--center-->
+ </rich:layoutPanel>
+ </rich:layout>
+ ...]]></programlisting>
+
+
+
+ <para>Moreover, you can nest the <emphasis role="bold"><property><rich:layoutPanel></property></emphasis> tags into <emphasis role="bold"><property><rich:layoutPanel></property></emphasis> to divide the area as well.</para>
+
+
+
+ </section>
+
+ <section>
+ <title>Relevant Resources Links</title>
+ <para>Vizit
+ <ulink url="http://livedemo.exadel.com/richfaces-demo/richfaces/dataTable.jsf?c=layout">layout</ulink> page at
+ RichFaces live demo for examples of component usage and their sources.</para>
+ <para>"
+ <ulink url="http://www.jboss.org/community/docs/DOC-9607">Using the "rendered" attribute of <rich:layout></ulink>" article
+ in RichFaces cookbook at JBoss portal gives an example of code of the component usage case.
+ </para>
+ </section>
+</section>
Added: trunk/docs/userguide/en/src/main/docbook/included/layoutPanel.desc.xml
===================================================================
--- trunk/docs/userguide/en/src/main/docbook/included/layoutPanel.desc.xml (rev 0)
+++ trunk/docs/userguide/en/src/main/docbook/included/layoutPanel.desc.xml 2009-03-30 14:22:03 UTC (rev 13297)
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<section role="updated">
+ <sectioninfo>
+ <keywordset>
+ <keyword>layouPanel</keyword>
+ <keyword>rich:layouPanel</keyword>
+ </keywordset>
+ </sectioninfo>
+ <section>
+ <title>Description</title>
+ <para>The <emphasis role="bold">
+ <property><rich:layouPanel></property>
+ </emphasis>
+ </para>
+
+
+ </section>
+<section>
+ <title>Key Features</title>
+ <itemizedlist>
+ <listitem><para>P</para></listitem>
+ </itemizedlist>
+</section>
+</section>
+
\ No newline at end of file
Added: trunk/docs/userguide/en/src/main/docbook/included/layoutPanel.xml
===================================================================
--- trunk/docs/userguide/en/src/main/docbook/included/layoutPanel.xml (rev 0)
+++ trunk/docs/userguide/en/src/main/docbook/included/layoutPanel.xml 2009-03-30 14:22:03 UTC (rev 13297)
@@ -0,0 +1,1393 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<section>
+ <sectioninfo>
+ <keywordset>
+ <keyword>layoutPanel</keyword>
+ <keyword>layoutPanel</keyword>
+ </keywordset>
+ </sectioninfo>
+ <table>
+ <title>Component identification parameters</title>
+ <tgroup cols="2">
+ <thead>
+ <row>
+ <entry>Name</entry>
+ <entry>Value</entry>
+ </row>
+ </thead>
+ <tbody>
+ <row>
+ <entry>component-type</entry>
+ <entry>org.richfaces.component.layoutPanel</entry>
+ </row>
+ <row>
+ <entry>component-class</entry>
+ <entry>org.richfaces.component.html.HtmllayoutPanel</entry>
+ </row>
+ <row>
+ <entry>component-family</entry>
+ <entry>org.richfaces.component.layoutPanel</entry>
+ </row>
+ <row>
+ <entry>renderer-type</entry>
+ <entry>org.richfaces.renderkit.html.layoutPanelRenderer</entry>
+ </row>
+ <row>
+ <entry>tag-class</entry>
+ <entry>org.richfaces.taglib.layoutPanelTag</entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </table>
+ <section>
+ <title>Creating the Component with a Page Tag</title>
+ <para>To create the simplest variant on a page use the following syntax:</para>
+
+ <para>
+ <emphasis role="bold">Example:</emphasis>
+ </para>
+ <programlisting role="XML"><![CDATA[...
+<layoutPanel />
+...]]></programlisting>
+ </section>
+ <section>
+ <title>Creating the Component Dynamically Using Java</title>
+
+ <para>
+ <emphasis role="bold">Example:</emphasis>
+ </para>
+ <programlisting role="JAVA"><![CDATA[import org.richfaces.component.html.HtmllayoutPanel;
+...
+HtmllayoutPanel mylayoutPanel = new HtmllayoutPanel();
+...]]></programlisting>
+ </section>
+ <section>
+ <title>Details of Usage</title>
+ <para>The <emphasis role="bold">
+ <property><layoutPanel></property>
+ </emphasis> component consists of two parts:<itemizedlist>
+ <listitem>
+ <para>
+ <property>List of files</property> which contains the list of currently
+ chosen files to upload with possibility to manage every file </para>
+ </listitem>
+ <listitem>
+ <para>
+ <property>Component controls</property> - the bar with controls for managing
+ the whole component </para>
+ </listitem>
+ </itemizedlist>
+ </para>
+
+
+ <para> There are two places where the uploaded files are stored: </para>
+ <itemizedlist>
+ <listitem>
+ <para> In the temporary folder (depends on OS) if the value of the
+ <code>createTempFile</code> parameter in <property>Ajax4jsf
+ Filter</property> (in web.xml) section is "true" (by Default) </para>
+ <programlisting role="XML"><![CDATA[...
+<init-param>
+ <param-name>createTempFiles</param-name>
+ <param-value>true</param-value>
+</init-param>
+...]]></programlisting>
+ </listitem>
+ <listitem>
+ <para> In the RAM if the value of the <code>createTempFile</code> parameter in
+ <property>Ajax4jsf Filter</property> section is "false".
+ This is a better way for storing small-sized files. </para>
+ </listitem>
+ </itemizedlist>
+
+ <para> The <emphasis>
+ <property>"uploadData"</property>
+ </emphasis> attribute defines the collection of files uploaded. See the example below. </para>
+ <para>
+ <emphasis role="bold">Example:</emphasis>
+ </para>
+ <programlisting role="XML"><![CDATA[...
+<layoutPanel uploadData="#{bean.data}"/>
+...]]></programlisting>
+
+ <para>The <emphasis>
+ <property>"layoutPaneledListener"</property>
+ </emphasis> is called at server side after every file uploaded and used for the saving
+ files from temporary folder or RAM. </para>
+ <para>
+ <emphasis role="bold">Example:</emphasis>
+ </para>
+ <programlisting role="XML"><![CDATA[...
+<layoutPanel uploadData="#{bean.data}" layoutPanelListener="#{bean.listener}"/>
+ ...]]></programlisting>
+ <para> The following methods for processing the uploaded files are available: </para>
+ <itemizedlist>
+ <listitem>
+ <para>
+ <code>isMultiUpload()</code>. It returns "true" if several
+ files have been uploaded </para>
+ </listitem>
+ <listitem>
+ <para>
+ <code>getUploadItems()</code>. It returns the list of the uploaded files. If one
+ file was uploaded, the <code>getUploadItems()</code> method will return the list
+ consisting of one file </para>
+ </listitem>
+ <listitem>
+ <para>
+ <code>getUploadItem()</code>. It returns the whole list in case of uploading one
+ file only. If several files were uploaded, the <code>getUploadItem()</code>
+ method will return the first element of the uploaded files list. </para>
+ </listitem>
+ </itemizedlist>
+ <para> Automatically files uploading could be performed by means of the <emphasis>
+ <property> "immediateUpload"</property>
+ </emphasis> attribute. If the value of this attribute is "true" files
+ are uploaded automatically once they have been added into the list. All next files in
+ the list are uploaded automatically one by one. If you cancel uploading process next
+ files aren't started to upload till you press the "Upload"
+ button or clear the list. </para>
+ <para>
+ <emphasis role="bold">Example:</emphasis>
+ </para>
+ <programlisting role="XML"><![CDATA[...
+<layoutPanel uploadData="#{bean.data}" layoutPanelListener="#{bean.listener}" immediateUpload="true"/>
+ ...]]></programlisting>
+
+ <para> The <emphasis>
+ <property> "autoclear"</property>
+ </emphasis> attribute is used to remove automatically files from the list after upload
+ completed. See the simple example below. </para>
+ <para>
+ <emphasis role="bold">Example:</emphasis>
+ </para>
+ <programlisting role="XML"><![CDATA[...
+<layoutPanel uploadData="#{bean.data}" autoclear="true"/>
+...]]></programlisting>
+ <para> Each file in list waiting for upload has link "Cancel" opposite its name.
+ Clicking this link invokes JS API <code>remove()</code> function, which gets <code>$('id').component.entries[i]</code> as a parameter
+ and removes the particular file from list and from the queue for upload.
+ After a file has been uploaded the link "Cancel" changes to "Clear".
+ Clicking "Clear" invokes <code>clear()</code> JS API function, which also gets ID of the particular entry and removes it from the list.
+ Uploaded to server file itself is kept untouched.
+ </para>
+
+ <!--RESTRICTIONS-->
+
+ <para> The <emphasis role="bold">
+ <property><layoutPanel></property>
+ </emphasis> component provides following restrictions: </para>
+ <itemizedlist>
+ <listitem>
+ <para> On <property> file types</property>, use <emphasis>
+ <property> "acceptedTypes"</property>
+ </emphasis> attribute to define file types accepted by component. In the example
+ below only files with "html" and "jpg"
+ extensions are accepted to upload. </para>
+ <para>
+ <emphasis role="bold">Example:</emphasis>
+ </para>
+ <programlisting role="XML"><![CDATA[...
+<layoutPanel acceptedTypes="html, jpg"/>
+...]]></programlisting>
+ </listitem>
+ <listitem>
+ <para> On <property> file size</property>, use the <code>maxRequestSize</code>
+ parameter(value in bytes) inside <property>Ajax4jsf Filter</property> section in
+ <property>web.xml</property>: </para>
+ <programlisting role="XML"><![CDATA[...
+<init-param>
+ <param-name>maxRequestSize</param-name>
+ <param-value>1000000</param-value>
+</init-param>
+...]]></programlisting>
+ </listitem>
+ <listitem>
+ <para> On <property>max files quantity</property>, use the <emphasis>
+ <property> "maxFilesQuantity"</property>
+ </emphasis> attribute to define max number of files allowed to be uploaded.
+ After a number of files in the list equals to the value of this attribute
+ "Add" button is disabled and nothing could be uploaded even if
+ you clear the whole list. In order to upload files again you should rerender the
+ component. As it could be seen in the example below, only 2 files are accepted
+ for uploading. </para>
+
+ <para>
+ <emphasis role="bold">Example:</emphasis>
+ </para>
+ <programlisting role="XML"><![CDATA[...
+<layoutPanel maxFilesQuantity="2"/>
+ ...]]></programlisting>
+ <para> This is the result: </para>
+ <figure>
+ <title><emphasis role="bold">
+ <property><layoutPanel></property>
+ </emphasis>with <emphasis>
+ <property> "maxFilesQuantity"</property>
+ </emphasis> attribute</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/layoutPanel2.png"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
+ </listitem>
+ </itemizedlist>
+
+
+
+
+ <para id="layoutPanelEventAttributes">The <emphasis role="bold">
+ <property><layoutPanel></property>
+ </emphasis> component provides a number of specific event attributes: </para>
+ <itemizedlist>
+
+ <listitem>
+ <para> The <emphasis>
+ <property> "onadd"</property>
+ </emphasis>a event handler called on an add file operation </para>
+ </listitem>
+
+ <listitem>
+ <para> The <emphasis>
+ <property> "onupload"</property>
+ </emphasis> which gives you a possibility to cancel the upload at client side
+ </para>
+ </listitem>
+ <listitem>
+ <para> The <emphasis>
+ <property> "onuploadcomplete"</property>
+ </emphasis> which is called after all files from the list are uploaded </para>
+ </listitem>
+ <listitem>
+ <para> The <emphasis>
+ <property> "onuploadcanceled"</property>
+ </emphasis> which is called after upload has been canceled via cancel control
+ </para>
+ </listitem>
+ <listitem>
+ <para> The <emphasis>
+ <property> "onerror"</property>
+ </emphasis> which is called if the file upload was interrupted according to any
+ errors </para>
+ </listitem>
+ </itemizedlist>
+
+
+
+
+ <!--Flash Module-->
+ <para> The <emphasis role="bold">
+ <property><layoutPanel></property>
+ </emphasis> component has an embedded Flash module that adds extra functionality to the
+ component. The module is enabled with <emphasis>
+ <property> "allowFlash"</property>
+ </emphasis> attribute set to "true". </para>
+ <para>These are the additional features that the Flash module provides:</para>
+
+ <itemizedlist>
+ <listitem>
+ <para>Multiple files choosing;</para>
+ </listitem>
+ <listitem>
+ <para>Permitted file types are specified in the "Open File" dialog
+ window;</para>
+ </listitem>
+ <listitem>
+ <para>A number of additional entry object properties are also available, which can
+ be found <link linkend="objectProperties">here</link>. </para>
+ </listitem>
+ </itemizedlist>
+
+ <para>Apart from uploading files to the sever without using AJAX, the Flash module provides
+ a number of useful API functions that can be used to obtain information about the
+ uploaded file. </para>
+
+ <para>There are 2 ways to obtain the data stored in the layoutPanelEntry object. </para>
+
+ <itemizedlist>
+ <listitem>
+ <para>By means of JavaScript on the client side. Use the following syntax for that
+ <code>entries[i].propertyName</code>. For example
+ <code>entries[0].state</code> will return the state of the file the is being
+ processed or has just been processed.</para>
+ </listitem>
+
+
+ <listitem>
+ <para>The properties of <code>layoutPanelEntry</code> object can be retrieved using
+ the <code>entry.propertyName</code> expression in the specific event attributes.
+ For example,
+ <code>onupload="alert(event.memo.entry.fileName);" </code>
+ will display a message with the name of the file at the very moment when upload
+ operation starts. A full list of properties can be found <link
+ linkend="objectPropertiesWithAttributes">here</link>.</para>
+ </listitem>
+
+
+ </itemizedlist>
+ <para>The given bellow code sample demonstrates how the properties can be used. Please study
+ it carefully. </para>
+ <programlisting role="XML"><![CDATA[...
+ <head>
+ <script>
+ function _onaddHandler (e) {
+ var i = 0;
+ for (; i < e.memo.entries.lenght; i++) {
+ alert(e.memo.entries[i].creator); //Shows creators of the added files
+ }
+ }
+
+ function _onerrorhandle(e) {
+ alert(e.memo.entry.fileName + "file was not uploaded due transfer error");
+ }
+ </script>
+ </head>
+ ...]]></programlisting>
+
+
+
+ <para> Moreover, embedded Flash module provides a smoother representation of progress bar
+ during the uploading process: the polling is performed is not by AJAX, but my means of
+ the flash module. </para>
+ <figure>
+ <title> Uploading using Flash module <emphasis role="bold">
+ <property><layoutPanel></property>
+ </emphasis>
+ </title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/flash_layoutPanel.png"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <para>However, the Flash module doens't perform any visual representation of the
+ component.</para>
+
+ <!--End of Flash Module-->
+
+
+
+
+
+ <para> In order to customize the information regarding the ongoing process you could use <emphasis>
+ <property>"label"</property>
+ </emphasis> facet with the following macrosubstitution: <itemizedlist>
+ <listitem>
+ <para>
+ <code> {B}</code>, <code>{KB}</code>, <code>{MB}</code> contains the size of
+ file uploaded in bytes, kilobytes, megabytes respectively </para>
+ </listitem>
+ <listitem>
+ <para>
+ <code>{_B}</code>, <code>{_KB}</code>, <code>{_MB}</code> contains the
+ remain file size to upload in bytes, kilobytes, megabytes respectively
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <code>{ss}</code>, <code>{mm}</code>, <code>{hh}</code> contains elapsed
+ time in seconds, minutes and hours respectively </para>
+ </listitem>
+ </itemizedlist>
+ </para>
+
+ <!--
+ There is a number of facets providing for this component:
+ <emphasis>
+ <property> "header"</property></emphasis>
+
+ <emphasis>
+ <property> "footer"</property></emphasis>
+ <emphasis>
+ <property> "label"</property></emphasis>. could be used to provide displaying the progress of uploading.
+ -->
+
+ <para>
+ <emphasis role="bold">Example:</emphasis>
+ </para>
+ <programlisting role="XML"><![CDATA[...
+<layoutPanel uploadData="#{bean.data}" layoutPanelListener="#{bean.listener}">
+ <f:facet name="label">
+ <h:outputText value="{_KB}KB from {KB}KB uploaded --- {mm}:{ss}" />
+ </f:facet>
+</layoutPanel>
+...]]></programlisting>
+ <para>This is the result:</para>
+ <figure>
+ <title>
+ <emphasis role="bold">
+ <property><layoutPanel></property>
+ </emphasis> with <emphasis>
+ <property> "label"</property>
+ </emphasis> facet </title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/layoutPanel3.png"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <para>You could define labels of the <property>component controls</property> with the help
+ of <emphasis>
+ <property> "addControlLabel"</property>
+ </emphasis>, <emphasis>
+ <property> "clearAllControlLabel"</property>
+ </emphasis>, <emphasis>
+ <property> "clearControlLabel"</property>
+ </emphasis>, <emphasis>
+ <property> "stopEntryControlLabel"</property>
+ </emphasis>, <emphasis>
+ <property> "uploadControlLabel"</property>
+ </emphasis> attributes. See the following example. </para>
+ <para>
+ <emphasis role="bold">Example:</emphasis>
+ </para>
+ <programlisting role="XML"><![CDATA[...
+<layoutPanel addControlLabel="Add file..." clearAllControlLabel="Clear all" clearControlLabel="Clear"
+ stopEntryControlLabel="Stop process" uploadControlLabel="Upload file"/>
+...]]></programlisting>
+ <para> This is the result: </para>
+ <figure>
+ <title>
+ <emphasis role="bold">
+ <property><layoutPanel></property>
+ </emphasis> with labels </title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/layoutPanel4.png"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
+ <para> The <emphasis role="bold">
+ <property><layoutPanel></property>
+ </emphasis> component allows to use sizes attributes: </para>
+ <itemizedlist>
+ <listitem>
+ <para>
+ <emphasis>
+ <property> "listHeight"</property>
+ </emphasis> attribute specify height for list of files in pixels </para>
+ </listitem>
+ <listitem>
+ <para>
+ <emphasis>
+ <property> "listWidth"</property>
+ </emphasis> attribute specify width for list of files in pixels </para>
+ </listitem>
+ </itemizedlist>
+
+ <para> In order to disable the whole component you could use the <emphasis>
+ <property> "disabled"</property>
+ </emphasis> attribute. See the following example. </para>
+ <para>
+ <emphasis role="bold">Example:</emphasis>
+ </para>
+ <programlisting role="XML"><![CDATA[...
+<layoutPanel disabled="true"/>
+...]]></programlisting>
+ <para>This is the result:</para>
+ <figure>
+ <title>
+ <emphasis role="bold">
+ <property><layoutPanel></property>
+ </emphasis>with <emphasis>
+ <property> "disabled"</property>
+ </emphasis> attribute </title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/layoutPanel5.png"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
+ <para>It's possible to handle events for layoutPanel using JavaScript code. A
+ simplest example of usage JavaScript API is placed below:</para>
+ <para>
+ <emphasis role="bold">Example:</emphasis>
+ </para>
+ <programlisting role="XML"><![CDATA[...
+<layoutPanel id="upload" disabled="false"/>
+<h:commandButton onclick="${rich:component('upload')}.disable();" value="Disable" />
+...]]></programlisting>
+
+ <para>
+ <emphasis role="bold">
+ <property><layoutPanel></property>
+ </emphasis> component also provides a number of JavaScript property, that can be used to
+ process uploaded files, file states etc. The given below example illustrates how the
+ <code>entries[0].state</code> property can be used to get access to the file state.
+ Full list of JavaScript properties can be found <link linkend="objectProperties"
+ >below</link>. </para>
+
+
+ <programlisting role="XML"><![CDATA[...
+<layoutPanel layoutPanelListener="#{layoutPanelBean.listener}"
+ maxFilesQuantity="#{layoutPanelBean.uploadsAvailable}"
+ id="upload"
+ immediateUpload="#{layoutPanelBean.autoUpload}"
+ acceptedTypes="jpg, gif, png, bmp">
+ <a4j:support event="onuploadcomplete" reRender="info" />
+</layoutPanel>
+<h:commandButton onclick="if($('j_id232:upload').component.entries[0].state == layoutPanelEntry.UPLOAD_SUCCESS) alert ('DONE');" value="Check file state"/>
+...]]></programlisting>
+
+
+ <para>The <emphasis role="bold">
+ <property><layoutPanel></property>
+ </emphasis> component allows to use internationalization method to redefine and localize
+ the labels. You could use application resource bundle and define
+ <code>RICH_FILE_UPLOAD_CANCEL_LABEL</code>,
+ <code>RICH_FILE_UPLOAD_STOP_LABEL</code>, <code>RICH_FILE_UPLOAD_ADD_LABEL</code>,
+ <code>RICH_FILE_UPLOAD_UPLOAD_LABEL</code>,
+ <code>RICH_FILE_UPLOAD_CLEAR_LABEL</code>,
+ <code>RICH_FILE_UPLOAD_CLEAR_ALL_LABEL</code>,
+ <code>RICH_FILE_UPLOAD_PROGRESS_LABEL</code>,
+ <code>RICH_FILE_UPLOAD_SIZE_ERROR_LABLE</code>,
+ <code>RICH_FILE_UPLOAD_TRANSFER_ERROR_LABLE</code>,
+ <code>RICH_FILE_UPLOAD_ENTRY_STOP_LABEL</code>,
+ <code>RICH_FILE_UPLOAD_ENTRY_CLEAR_LABEL</code>,
+ <code>RICH_FILE_UPLOAD_ENTRY_CANCEL_LABEL</code> there. </para>
+
+
+
+ <para> The <emphasis role="bold">
+ <property><layoutPanel></property>
+ </emphasis> component could work together with Seam framework. <ulink
+ url="http://www.jboss.org/file-access/default/members/jbossrichfaces/freezone/..."
+ >Here</ulink> you can see how to configure filter for this framework in web.xml file
+ in order to handle <emphasis role="bold">
+ <property><layoutPanel></property>
+ </emphasis> requests. </para>
+ <para>To make <property><layoutPanel></property> component work properly
+ with MyFaces extensions, the order in which filters are defined and mapped in web.xml,
+ is important. See <ulink
+ url="http://www.jboss.org/file-access/default/members/jbossrichfaces/freezone/..."
+ >corresponding FAQ chapter</ulink>. </para>
+
+ </section>
+ <!-- JavaScript API-->
+ <section>
+ <title>JavaScript API</title>
+ <table>
+ <title>JavaScript API</title>
+ <tgroup cols="2">
+ <thead>
+ <row>
+ <entry>Function</entry>
+ <entry>Description</entry>
+ </row>
+ </thead>
+
+ <tbody>
+ <row>
+ <entry>beforeSubmit()</entry>
+ <entry>Sets up necessary request parameters for file uploading and submits
+ form to server by command button. This method should be used together
+ with commands. </entry>
+ </row>
+
+ <row>
+ <entry>clear()</entry>
+ <entry>Removes all files from the list. The function can also get the <code>$('id').component.entries[i]</code> as a parameter to remove a particular file.</entry>
+ </row>
+
+ <row>
+ <entry>disable()</entry>
+ <entry>Disables the component</entry>
+ </row>
+
+ <row>
+ <entry>enable()</entry>
+ <entry>Enables the component</entry>
+ </row>
+
+ <row>
+ <entry>remove()</entry>
+ <entry>Cancels the request for uploading a file by removing this file from
+ upload list and upload queue. Gets <code>$('id').component.entries[i]</code> as a parameter.</entry>
+ </row>
+
+ <row>
+ <entry>stop()</entry>
+ <entry>Stops the uploading process</entry>
+ </row>
+
+ <row>
+ <entry>submitForm()</entry>
+ <entry>Submits form to server. All added files will be put to model and
+ event.</entry>
+ </row>
+
+ </tbody>
+ </tgroup>
+ </table>
+
+
+
+ <table id="objectProperties">
+ <title>Client side object properties</title>
+ <tgroup cols="2">
+ <thead>
+ <row>
+ <entry>Property</entry>
+ <entry>Description</entry>
+ </row>
+ </thead>
+ <tbody>
+
+ <row>
+ <entry>entries</entry>
+ <entry>Returns a array of all files in the list </entry>
+ </row>
+
+
+
+ <row>
+ <entry>entries.length</entry>
+ <entry>Returns the number of files in the list </entry>
+ </row>
+
+
+ <row>
+ <entry>entries[i].fileName</entry>
+ <entry>Returns the file name, that is retrieved by the array index </entry>
+ </row>
+
+
+
+ <row>
+ <entry>entries[i].state </entry>
+ <entry>Returns the file state. Possible states are <itemizedlist>
+
+ <listitem>
+ <para>"initialized" - the file is added,
+ corresponds to layoutPanelEntry.INITIALIZED constant </para>
+ </listitem>
+ <listitem>
+ <para>"progress" - the file is being uploaded,
+ corresponds to layoutPanelEntry.UPLOAD_IN_PROGRESS
+ constant</para>
+ </listitem>
+ <listitem>
+ <para>"ready" - uploading is in process,
+ corresponds to layoutPanelEntry.READY constant The file will
+ be uploaded on queue order.</para>
+ </listitem>
+ <listitem>
+ <para>"canceled" - uploading of the file is
+ canceled, corresponds to layoutPanelEntry.UPLOAD_CANCELED
+ constant </para>
+ </listitem>
+ <listitem>
+ <para>"done" - the file is uploaded
+ successfully, corresponds to layoutPanelEntry.UPLOAD_SUCCESS
+ constant</para>
+ </listitem>
+ <listitem>
+ <para>"transfer_error" - a file transfer error
+ occurred, corresponds to
+ layoutPanelEntry.UPLOAD_TRANSFER_ERROR constant </para>
+ </listitem>
+ <listitem>
+ <para>"size_error" - the file exceeded maximum
+ size, corresponds to layoutPanelEntry.UPLOAD_SIZE_ERROR
+ constant</para>
+ </listitem>
+
+
+ </itemizedlist>
+ </entry>
+ </row>
+
+
+
+ <row>
+ <entry>entries[i].size</entry>
+ <entry> Returns the size of the file. Available in flash enabled version
+ only</entry>
+ </row>
+ <row>
+ <entry>entries[i].Type</entry>
+ <entry>Returns the mime type of the file. Available in flash enabled version
+ only</entry>
+ </row>
+ <row>
+ <entry>entries[i].creator </entry>
+ <entry>Returns the name of the author of the file. Available in flash
+ enabled version only</entry>
+ </row>
+ <row>
+ <entry>entries[i].creationDate</entry>
+ <entry>Returns the date when the file was created. Available in flash
+ enabled version only</entry>
+ </row>
+ <row>
+ <entry>entries[i].modificationDate</entry>
+ <entry>Returns the date of the last file modification. Available in flash
+ enabled version only</entry>
+ </row>
+
+
+
+
+ </tbody>
+ </tgroup>
+ </table>
+
+
+
+
+ <table id="objectPropertiesWithAttributes">
+ <title>Client side object properties available with specific <link
+ linkend="layoutPanelEventAttributes"> event attributes</link></title>
+ <tgroup cols="2">
+ <thead>
+ <row>
+ <entry>Property</entry>
+ <entry>Description</entry>
+ </row>
+ </thead>
+ <tbody>
+
+
+
+
+ <row>
+ <entry>entry.state </entry>
+ <entry>Returns the file state. Possible states are <itemizedlist>
+
+ <listitem>
+ <para>"initialized" - the file is added,
+ corresponds to layoutPanelEntry.INITIALIZED constant </para>
+ </listitem>
+ <listitem>
+ <para>"progress" - the file is being uploaded,
+ corresponds to layoutPanelEntry.UPLOAD_IN_PROGRESS
+ constant</para>
+ </listitem>
+ <listitem>
+ <para>"ready" - uploading is in process,
+ corresponds to layoutPanelEntry.READY constant The file will
+ be uploaded on queue order.</para>
+ </listitem>
+ <listitem>
+ <para>"canceled" - uploading of the file is
+ canceled, corresponds to layoutPanelEntry.UPLOAD_CANCELED
+ constant </para>
+ </listitem>
+ <listitem>
+ <para>"done" - the file is uploaded
+ successfully, corresponds to layoutPanelEntry.UPLOAD_SUCCESS
+ constant</para>
+ </listitem>
+ <listitem>
+ <para>"transfer_error" - a file transfer error
+ occurred, corresponds to
+ layoutPanelEntry.UPLOAD_TRANSFER_ERROR constant </para>
+ </listitem>
+ <listitem>
+ <para>"size_error" - the file exceeded maximum
+ size, corresponds to layoutPanelEntry.UPLOAD_SIZE_ERROR
+ constant</para>
+ </listitem>
+
+
+ </itemizedlist>
+ </entry>
+ </row>
+
+ <row>
+ <entry>entry.fileName </entry>
+ <entry>Returns the file's name. This property works with all event
+ handlers except for "onadd". </entry>
+ </row>
+
+
+
+ <row>
+ <entry>entry.size</entry>
+ <entry> Returns the size of the file. Available in flash enabled version
+ only</entry>
+ </row>
+ <row>
+ <entry>entry.Type</entry>
+ <entry>Returns the mime type of the file. Available in flash enabled version
+ only</entry>
+ </row>
+ <row>
+ <entry>entry.creator </entry>
+ <entry>Returns the name of the author of the file. Available in flash
+ enabled version only</entry>
+ </row>
+ <row>
+ <entry>entry.creationDate</entry>
+ <entry>Returns the date when the file was created. Available in flash
+ enabled version only</entry>
+ </row>
+ <row>
+ <entry>entry.modificationDate</entry>
+ <entry>Returns the date of the last file modification. Available in flash
+ enabled version only</entry>
+ </row>
+
+
+
+
+ </tbody>
+ </tgroup>
+ </table>
+
+
+
+ </section>
+ <!-- End of JavaScript API-->
+
+ <section>
+ <title>Facets</title>
+ <table>
+ <title>Facets</title>
+ <tgroup cols="2">
+ <thead>
+ <row>
+ <entry>Facet name</entry>
+ <entry>Description</entry>
+ </row>
+ </thead>
+ <tbody>
+ <row>
+ <entry>label</entry>
+ <entry>Defines the information regarding the ongoing process</entry>
+ </row>
+ <row>
+ <entry>progress</entry>
+ <entry>Defines the information regarding the uploading process</entry>
+ </row>
+
+ </tbody>
+ </tgroup>
+ </table>
+ </section>
+
+ <section>
+ <title>Look-and-Feel Customization</title>
+ <para>For skinnability implementation, the components use a <emphasis>
+ <property>style class redefinition method.</property>
+ </emphasis> Default style classes are mapped on <emphasis>
+ <property>skin parameters.</property>
+ </emphasis></para>
+ <para>There are two ways to redefine the appearance of all <emphasis role="bold">
+ <property><layoutPanel></property>
+ </emphasis> components at once: <itemizedlist>
+ <listitem>
+ <para>Redefine the corresponding skin parameters</para>
+ </listitem>
+ <listitem>
+ <para> Add to your style sheets style classes used by a <emphasis role="bold">
+ <property><layoutPanel></property>
+ </emphasis> component</para>
+ </listitem>
+ </itemizedlist>
+ </para>
+ </section>
+
+ <section>
+ <title>Skin Parameters Redefinition</title>
+
+ <table>
+ <title>Skin parameters redefinition for a component</title>
+ <tgroup cols="2">
+ <thead>
+ <row>
+ <entry>Skin parameters</entry>
+ <entry>CSS properties</entry>
+ </row>
+ </thead>
+ <tbody>
+ <row>
+ <entry>tableBackgroundColor</entry>
+ <entry>background-color</entry>
+ </row>
+ <row>
+ <entry>tableBorderColor</entry>
+ <entry>border-color</entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </table>
+
+ <table>
+ <title>Skin parameters redefinition for a font</title>
+ <tgroup cols="2">
+ <thead>
+ <row>
+ <entry>Skin parameters</entry>
+ <entry>CSS properties</entry>
+ </row>
+ </thead>
+ <tbody>
+ <row>
+ <entry>generalFamilyFont</entry>
+ <entry>font-family</entry>
+ </row>
+ <row>
+ <entry>generalSizeFont</entry>
+ <entry>font-size</entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </table>
+
+ <table>
+ <title>Skin parameters redefinition for a toolbar</title>
+ <tgroup cols="2">
+ <thead>
+ <row>
+ <entry>Skin parameters</entry>
+ <entry>CSS properties</entry>
+ </row>
+ </thead>
+ <tbody>
+ <row>
+ <entry>additionalBackgroundColor</entry>
+ <entry>background-color</entry>
+ </row>
+ <row>
+ <entry>tableBorderColor</entry>
+ <entry>border-bottom-color</entry>
+ </row>
+ <row>
+ <entry>tableBackgroundColor</entry>
+ <entry>border-top-color</entry>
+ </row>
+ <row>
+ <entry>tableBackgroundColor</entry>
+ <entry>border-left-color</entry>
+ </row>
+
+ </tbody>
+ </tgroup>
+ </table>
+
+ <table>
+ <title>Skin parameters redefinition for items in the list</title>
+ <tgroup cols="2">
+ <thead>
+ <row>
+ <entry>Skin parameters</entry>
+ <entry>CSS properties</entry>
+ </row>
+ </thead>
+ <tbody>
+ <row>
+ <entry>tableBorderColor</entry>
+ <entry>border-bottom-color</entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </table>
+
+ <table>
+ <title>Skin parameters redefinition for a "Cancel",
+ "Clear" links</title>
+ <tgroup cols="2">
+ <thead>
+ <row>
+ <entry>Skin parameters</entry>
+ <entry>CSS properties</entry>
+ </row>
+ </thead>
+ <tbody>
+ <row>
+ <entry>generalLinkColor</entry>
+ <entry>color</entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </table>
+
+ <table>
+ <title>Skin parameters redefinition for a button</title>
+ <tgroup cols="2">
+ <thead>
+ <row>
+ <entry>Skin parameters</entry>
+ <entry>CSS properties</entry>
+ </row>
+ </thead>
+ <tbody>
+ <row>
+ <entry>trimColor</entry>
+ <entry>background-color</entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </table>
+ <table>
+ <title>Skin parameters redefinition for a button border</title>
+ <tgroup cols="2">
+ <thead>
+ <row>
+ <entry>Skin parameters</entry>
+ <entry>CSS properties</entry>
+ </row>
+ </thead>
+ <tbody>
+ <row>
+ <entry>tableBorderColor</entry>
+ <entry>border-color</entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </table>
+ <table>
+ <title>Skin parameters redefinition for a highlighted button</title>
+ <tgroup cols="2">
+ <thead>
+ <row>
+ <entry>Skin parameters</entry>
+ <entry>CSS properties</entry>
+ </row>
+ </thead>
+ <tbody>
+ <row>
+ <entry>trimColor</entry>
+ <entry>background-color</entry>
+ </row>
+ <row>
+ <entry>selectControlColor</entry>
+ <entry>border-color</entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </table>
+
+ <table>
+ <title>Skin parameters redefinition for a pressed button</title>
+ <tgroup cols="2">
+ <thead>
+ <row>
+ <entry>Skin parameters</entry>
+ <entry>CSS properties</entry>
+ </row>
+ </thead>
+ <tbody>
+ <row>
+ <entry>selectControlColor</entry>
+ <entry>border-color</entry>
+ </row>
+ <row>
+ <entry>additionalBackgroundColor</entry>
+ <entry>background-color</entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </table>
+
+ <table>
+ <title>Skin parameters redefinition for "Upload",
+ "Clean" buttons</title>
+ <tgroup cols="2">
+ <thead>
+ <row>
+ <entry>Skin parameters</entry>
+ <entry>CSS properties</entry>
+ </row>
+ </thead>
+ <tbody>
+ <row>
+ <entry>generalTextColor</entry>
+ <entry>color</entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </table>
+ <table>
+ <title>Skin parameters redefinition for a disabled "Start" button
+ icon</title>
+ <tgroup cols="2">
+ <thead>
+ <row>
+ <entry>Skin parameters</entry>
+ <entry>CSS properties</entry>
+ </row>
+ </thead>
+ <tbody>
+ <row>
+ <entry>tableBorderColor</entry>
+ <entry>color</entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </table>
+ <table>
+ <title>Skin parameters redefinition for a disabled "Clear" button
+ icon</title>
+ <tgroup cols="2">
+ <thead>
+ <row>
+ <entry>Skin parameters</entry>
+ <entry>CSS properties</entry>
+ </row>
+ </thead>
+ <tbody>
+ <row>
+ <entry>tableBorderColor</entry>
+ <entry>color</entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </table>
+ </section>
+
+ <section>
+ <title>Definition of Custom Style Classes</title>
+
+ <para>The following picture illustrates how CSS classes define styles for component
+ elements.</para>
+ <figure>
+ <title>Classes names</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/layoutPanel_cn.png"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
+ <figure>
+ <title>Classes names</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/layoutPanel_cn2.png"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <table id="layoutPanelCN">
+ <title>Classes names that define a component representation</title>
+ <tgroup cols="2">
+ <thead>
+ <row>
+ <entry>Class name</entry>
+ <entry>Description</entry>
+ </row>
+ </thead>
+ <tbody>
+ <row>
+ <entry>rich-layoutPanel-list-decor</entry>
+ <entry>Defines styles for a wrapper <div> element of a
+ layoutPanel</entry>
+ </row>
+ <row>
+ <entry>rich-layoutPanel-font</entry>
+ <entry>Defines styles for a font of buttons and items</entry>
+ </row>
+ <row>
+ <entry>rich-layoutPanel-toolbar-decor</entry>
+ <entry>Defines styles for a toolbar</entry>
+ </row>
+ <row>
+ <entry> rich-layoutPanel-list-overflow</entry>
+ <entry>Defines styles for a list of files</entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </table>
+
+
+ <table>
+ <title>Classes names that define buttons representation</title>
+ <tgroup cols="2">
+ <thead>
+ <row>
+ <entry>Class name</entry>
+ <entry>Description</entry>
+ </row>
+ </thead>
+ <tbody>
+ <row>
+ <entry>rich-layoutPanel-button</entry>
+ <entry>Defines styles for a buttons</entry>
+ </row>
+ <row>
+ <entry>rich-layoutPanel-button-border</entry>
+ <entry>Defines styles for a border of buttons</entry>
+ </row>
+ <row>
+ <entry>rich-layoutPanel-button-light</entry>
+ <entry>Defines styles for a highlight of button</entry>
+ </row>
+ <row>
+ <entry>rich-layoutPanel-button-press</entry>
+ <entry>Defines styles for a pressed button</entry>
+ </row>
+ <row>
+ <entry>rich-layoutPanel-button-dis</entry>
+ <entry>Defines styles for a disabled button</entry>
+ </row>
+ <row>
+ <entry>rich-layoutPanel-button-selection</entry>
+ <entry>Defines styles for "Upload",
+ "Clean" buttons</entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </table>
+
+ <table>
+ <title>Classes names that define the representation of the buttons' icons</title>
+ <tgroup cols="2">
+ <thead>
+ <row>
+ <entry>Class name</entry>
+ <entry>Description</entry>
+ </row>
+ </thead>
+ <tbody>
+ <row>
+ <entry>rich-layoutPanel-ico</entry>
+ <entry>Defines styles for an icon</entry>
+ </row>
+ <row>
+ <entry>rich-layoutPanel-ico-add</entry>
+ <entry>Defines styles for a "Add" button icon</entry>
+ </row>
+ <row>
+ <entry>rich-layoutPanel-ico-start</entry>
+ <entry>Defines styles for a "Upload" button icon</entry>
+ </row>
+ <row>
+ <entry>rich-layoutPanel-ico-stop</entry>
+ <entry>Defines styles for a "Stop" button icon</entry>
+ </row>
+ <row>
+ <entry>rich-layoutPanel-ico-clear</entry>
+ <entry>Defines styles for a "Clear" button icon</entry>
+ </row>
+ <row>
+ <entry>rich-layoutPanel-ico-add-dis</entry>
+ <entry>Defines styles for a disabled "Add" button
+ icon</entry>
+ </row>
+ <row>
+ <entry>rich-layoutPanel-ico-start-dis</entry>
+ <entry>Defines styles for a disabled "Upload" button
+ icon</entry>
+ </row>
+ <row>
+ <entry>rich-layoutPanel-ico-clear-dis</entry>
+ <entry>Defines styles for a disabled "Clear" button
+ icon</entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </table>
+
+ <table>
+ <title>Classes names that define list items representation</title>
+ <tgroup cols="2">
+ <thead>
+ <row>
+ <entry>Class name</entry>
+ <entry>Description</entry>
+ </row>
+ </thead>
+ <tbody>
+ <row>
+ <entry>rich-layoutPanel-table-td</entry>
+ <entry>Defines styles for a wrapper <td> element of a list
+ items</entry>
+ </row>
+ <row>
+ <entry>rich-layoutPanel-anc</entry>
+ <entry>Defines styles for "Cancel",
+ "Stop", "Clear" links</entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </table>
+
+
+ <para>In order to redefine styles for all <emphasis role="bold">
+ <property><layoutPanel></property>
+ </emphasis> components on a page using CSS, it's enough to create classes with
+ the same names (possible classes could be found in the tables <link
+ linkend="layoutPanelCN"> above</link>) and define necessary properties in them. </para>
+ <para>
+ <emphasis role="bold">Example:</emphasis>
+ </para>
+ <programlisting role="CSS"><![CDATA[...
+.rich-layoutPanel-anc{
+ font-weight:bold;
+ text-decoration:none;
+}
+...]]></programlisting>
+
+ <para>This is the result:</para>
+
+ <figure>
+ <title>Redefinition styles with predefined classes</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/layoutPanel_pc.png"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <para>In the example above the font weight and text decoration for
+ "Cancel" and "Clear" links are changed.</para>
+
+ <para> Also it's possible to change styles of particular <emphasis role="bold">
+ <property><layoutPanel></property>
+ </emphasis> component. In this case you should create own style classes and use them in
+ the corresponding <emphasis role="bold">
+ <property><layoutPanel></property>
+ </emphasis>
+ <emphasis>
+ <property>styleClass</property>
+ </emphasis> attributes. An example is placed below: </para>
+ <para>
+ <emphasis role="bold">Example:</emphasis>
+ </para>
+ <programlisting role="CSS"><![CDATA[...
+.myClass{
+ font-weight:bold;
+}
+...]]></programlisting>
+ <para> The <emphasis>
+ <property>"addButtonClass"</property>
+ </emphasis> attribute for <emphasis role="bold">
+ <property><layoutPanel></property>
+ </emphasis> is defined as it's shown in the example below: </para>
+ <para>
+ <emphasis role="bold">Example:</emphasis>
+ </para>
+ <programlisting role="XML"><![CDATA[<layoutPanel ... addButtonClass="myClass"/>
+]]></programlisting>
+
+ <para>This is the result:</para>
+ <figure>
+ <title>Redefinition styles with own classes and <emphasis>
+ <property>styleClass</property>
+ </emphasis> attributes</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/layoutPanel_oc.png"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <para>As it could be seen on the picture above, the font style for "Add"
+ button is changed.</para>
+
+ </section>
+
+ <section>
+ <title>Relevant Resources Links</title>
+ <para><ulink
+ url="http://livedemo.exadel.com/richfaces-demo/richfaces/layoutPanel.jsf?c=lay..."
+ >Here</ulink> you can see an example of <emphasis role="bold">
+ <property><layoutPanel></property>
+ </emphasis> usage and sources for the given example. </para>
+ </section>
+
+</section>
15 years, 9 months
JBoss Rich Faces SVN: r13296 - trunk/docs/userguide/en/src/main/docbook/included.
by richfaces-svn-commits@lists.jboss.org
Author: msorokin
Date: 2009-03-30 10:21:15 -0400 (Mon, 30 Mar 2009)
New Revision: 13296
Added:
trunk/docs/userguide/en/src/main/docbook/included/rich_page.desc.xml
trunk/docs/userguide/en/src/main/docbook/included/rich_page.xml
Log:
https://jira.jboss.org/jira/browse/RF-6593
files with components' descriptions
Added: trunk/docs/userguide/en/src/main/docbook/included/rich_page.desc.xml
===================================================================
--- trunk/docs/userguide/en/src/main/docbook/included/rich_page.desc.xml (rev 0)
+++ trunk/docs/userguide/en/src/main/docbook/included/rich_page.desc.xml 2009-03-30 14:21:15 UTC (rev 13296)
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<section role="updated">
+ <sectioninfo>
+ <keywordset>
+ <keyword>layouPanel</keyword>
+ <keyword>rich:layouPanel</keyword>
+ </keywordset>
+ </sectioninfo>
+ <section>
+ <title>Description</title>
+ <para>The <emphasis role="bold">
+ <property><rich:page></property>
+ </emphasis>
+ </para>
+
+
+ </section>
Added: trunk/docs/userguide/en/src/main/docbook/included/rich_page.xml
===================================================================
--- trunk/docs/userguide/en/src/main/docbook/included/rich_page.xml (rev 0)
+++ trunk/docs/userguide/en/src/main/docbook/included/rich_page.xml 2009-03-30 14:21:15 UTC (rev 13296)
@@ -0,0 +1,68 @@
+
+ <section>
+ <title>Details of Usage</title>
+ <para>The <emphasis role="bold"><property><rich:page></property></emphasis>
+
+ component together with the <emphasis role="bold"><property><rich:laout></property></emphasis> component provide
+ a full-fledged mechanism for markup creation. </para>
+
+
+ <para>
+
+ In the first place, to declare the document type of the page you should use the <emphasis><property>"markupType"</property></emphasis> attribute which has the following values: "html", "xhtml", "html-transitional", "html-3.2".
+ The <emphasis><property>"contentType"</property></emphasis> allows to specify the type of the content and encoding for the page.
+ </para>
+
+ <para>
+ The title of the page can be set with the <emphasis><property>"pageTile"</property></emphasis> attribute.
+ To place some other page parameters (like meta information, links to CSS style sheets etc.) in the <head> part of an HTML page use "pageHeader" facet.
+
+ </para>
+<para>
+ <emphasis role="bold">Example:</emphasis>
+</para>
+
+<programlisting role="XML"><![CDATA[...
+<rich:page pageTitle="The title of the page" markupType="xhtml" contentType="text/html; charset=utf-8" >
+ <f:facet name="pageHeader" >
+ <meta content="The rich:page component" name="keywords" />
+ <link rel="shortcut icon" href="/images/favicon.ico"/>
+ <link href="/css/style.css" rel="stylesheet" type="text/css" />
+ <script type="text/javascript" src="/js/menu.js"></script>
+ </f:facet>
+ <!-- page content -->
+</rich:page>
+...]]></programlisting>
+
+ <para>The implementation of the <emphasis role="bold"><property><rich:></property></emphasis> component provides three facets that you can use to arrange the layout of the page: "header", "sidebar" and "footer" .</para>
+ <para>The position of the panel rendered by a "sidebar" facet can be set with the <emphasis><property>"sidebarPosition"</property></emphasis> attribute that can take either "right" or "left" values, you can also specify width for this facet with the "sidebarWidth" attribute. </para>
+ <para>
+ <emphasis role="bold">Example:</emphasis>
+ </para>
+
+
+
+ <programlisting role="XML"><![CDATA[...
+<rich:page sidebarPosition="left" sidebarWidth="300">
+ <f:facet name="header" >
+ <!-- header content -->
+ </f:facet>
+ <f:facet name="sidebar">
+ <!-- side panel content -->
+ </f:facet>
+ <!-- body content -->
+ <f:facet name="footer">
+ <!-- footer content -->
+ </f:facet>
+ </rich:page>
+
+...]]></programlisting>
+
+
+ <para>The <emphasis role="bold"><property><rich:page></property></emphasis> component also provides attributes to define CSS classes for each nested facet as well as a body part of the page created with the component.</para>
+
+
+ <para>Several templates are available for the <emphasis role="bold"><property><rich:page></property></emphasis> component. A template can be activated with the <emphasis><property>"theme"</property></emphasis> attribute.</para>
+ <para></para>
+
+ </section>
15 years, 9 months
JBoss Rich Faces SVN: r13295 - tags.
by richfaces-svn-commits@lists.jboss.org
Author: nbelaevski
Date: 2009-03-30 09:57:27 -0400 (Mon, 30 Mar 2009)
New Revision: 13295
Removed:
tags/3.3.1.BETA2/
Log:
3.3.1.BETA2 invalid tag removed
15 years, 9 months
JBoss Rich Faces SVN: r13294 - tags.
by richfaces-svn-commits@lists.jboss.org
Author: nbelaevski
Date: 2009-03-30 09:52:07 -0400 (Mon, 30 Mar 2009)
New Revision: 13294
Added:
tags/3.3.1.BETA2/
Log:
create tag for a release 3.3.1.BETA2
Copied: tags/3.3.1.BETA2 (from rev 13293, trunk)
15 years, 9 months
JBoss Rich Faces SVN: r13293 - trunk/test-applications/seleniumTest/richfaces/src/main/java/org/ajax4jsf/bean.
by richfaces-svn-commits@lists.jboss.org
Author: abelevich
Date: 2009-03-30 09:46:13 -0400 (Mon, 30 Mar 2009)
New Revision: 13293
Modified:
trunk/test-applications/seleniumTest/richfaces/src/main/java/org/ajax4jsf/bean/CalendarTestBean.java
Log:
Modified: trunk/test-applications/seleniumTest/richfaces/src/main/java/org/ajax4jsf/bean/CalendarTestBean.java
===================================================================
--- trunk/test-applications/seleniumTest/richfaces/src/main/java/org/ajax4jsf/bean/CalendarTestBean.java 2009-03-30 13:40:28 UTC (rev 13292)
+++ trunk/test-applications/seleniumTest/richfaces/src/main/java/org/ajax4jsf/bean/CalendarTestBean.java 2009-03-30 13:46:13 UTC (rev 13293)
@@ -46,7 +46,7 @@
public static final Locale LOCALE = Locale.US;
- public static final TimeZone TIME_ZONE = TimeZone.getTimeZone("GMT+2");
+ public static final TimeZone TIME_ZONE = TimeZone.getTimeZone("Europe/Minsk");
public static Date DEFAULT_DATE;
15 years, 9 months
JBoss Rich Faces SVN: r13292 - trunk/test-applications/richfaces-docs/web/src/main/java/org/docs/tree.
by richfaces-svn-commits@lists.jboss.org
Author: atsebro
Date: 2009-03-30 09:40:28 -0400 (Mon, 30 Mar 2009)
New Revision: 13292
Added:
trunk/test-applications/richfaces-docs/web/src/main/java/org/docs/tree/Shelf.java
Log:
RF-5768: Real World Demo Application Tutorial Update for 3.3.1 release
Added: trunk/test-applications/richfaces-docs/web/src/main/java/org/docs/tree/Shelf.java
===================================================================
--- trunk/test-applications/richfaces-docs/web/src/main/java/org/docs/tree/Shelf.java (rev 0)
+++ trunk/test-applications/richfaces-docs/web/src/main/java/org/docs/tree/Shelf.java 2009-03-30 13:40:28 UTC (rev 13292)
@@ -0,0 +1,13 @@
+package org.docs.tree;
+/**
+ *
+ */
+
+/**
+ * @author atsebro
+ *
+ */
+public class Shelf {
+ public Shelf() {
+ }
+}
15 years, 9 months