JBoss Rich Faces SVN: r17236 - in root/core/trunk/impl/src: test/resources/javascript and 1 other directory.
by richfaces-svn-commits@lists.jboss.org
Author: pyaschenko
Date: 2010-05-25 11:38:03 -0400 (Tue, 25 May 2010)
New Revision: 17236
Modified:
root/core/trunk/impl/src/main/resources/META-INF/resources/jquery.position.js
root/core/trunk/impl/src/test/resources/javascript/jquery-position-qunit.js
Log:
https://jira.jboss.org/browse/RF-8676
Modified: root/core/trunk/impl/src/main/resources/META-INF/resources/jquery.position.js
===================================================================
--- root/core/trunk/impl/src/main/resources/META-INF/resources/jquery.position.js 2010-05-25 14:54:22 UTC (rev 17235)
+++ root/core/trunk/impl/src/main/resources/META-INF/resources/jquery.position.js 2010-05-25 15:38:03 UTC (rev 17236)
@@ -33,7 +33,7 @@
(function($) {
/**
- * Place DOM element relative to another element or using position parameters
+ * Place DOM element relative to another element or using position parameters. Elements with style.display='none' also supported.
*
* @example jQuery('#tooltip').setPosition('#myDiv',{from:'LB', to:'AA'});
* @example jQuery('#myClickDiv').bind("click",function(e){jQuery('#tooltip').setPosition(e);});
@@ -290,13 +290,22 @@
// TODO add qunit test
var hideElement=false;
var eVisibility;
+ var e;
if (element.css("display")=="none") {
hideElement=true;
- eVisibility = element.css("visibility");
- element.css({'visibility':'hidden','display':''});
+ e = element.get(0);
+ eVisibility = e.style.visibility;
+ e.style.visibility = 'hidden';
+ e.style.display = 'block';
}
var elementOffset = element.offset();
+
+ if (hideElement) {
+ e.style.visibility = eVisibility;
+ e.style.display = 'none';
+ }
+
pos.left += left - Math.floor(elementOffset.left);
pos.top += top - Math.floor(elementOffset.top);
@@ -306,10 +315,6 @@
if (top!=pos.top) {
element.css('top', (pos.top + 'px'));
}
-
- if (hideElement) {
- element.css({'visibility':eVisibility,'display':'none'});
- }
};
})(jQuery);
Modified: root/core/trunk/impl/src/test/resources/javascript/jquery-position-qunit.js
===================================================================
--- root/core/trunk/impl/src/test/resources/javascript/jquery-position-qunit.js 2010-05-25 14:54:22 UTC (rev 17235)
+++ root/core/trunk/impl/src/test/resources/javascript/jquery-position-qunit.js 2010-05-25 15:38:03 UTC (rev 17236)
@@ -283,7 +283,7 @@
try {
var elements = RichFaces.QUnit.appendDomElements(body,
- '<div id="testElement" style="position:absolute; width:400px; height: 400px, top: 200px; left: 200px;">some text</div>');
+ '<div id="testElement" style="position:absolute; width:400px; height: 400px; top: 200px; left: 200px;">some text</div>');
var e = document.getElementById("testElement");
jQuery(e).setPosition({left:200, top:200});
@@ -294,6 +294,26 @@
}
});
+ test("hidden element position", function() {
+ expect(6);
+
+ try {
+
+ var elements = RichFaces.QUnit.appendDomElements(body,
+ '<div id="testElement" style="display:none; position:absolute; width:400px; height: 400px; top: 200px; left: 200px;">some text</div>');
+
+ var e = document.getElementById("testElement");
+ jQuery(e).setPosition({left:300, top:300});
+ ok(e.style.display=="none", "display=='none'");
+ ok(e.style.visibility=="", "visibility==''");
+ e.style.display = '';
+ testPositioning(e,300,300);
+
+ } finally {
+ RichFaces.QUnit.removeDomElements(elements);
+ }
+ });
+
//TODO: add auto position tests // depends on some refactoring and optimization (not done yet)
});
\ No newline at end of file
14 years, 1 month
JBoss Rich Faces SVN: r17235 - in root: ui/dist/trunk and 3 other directories.
by richfaces-svn-commits@lists.jboss.org
Author: Alex.Kolonitsky
Date: 2010-05-25 10:54:22 -0400 (Tue, 25 May 2010)
New Revision: 17235
Added:
root/ui/dist/trunk/richfaces-components-api/
root/ui/dist/trunk/richfaces-components-api/pom.xml
root/ui/dist/trunk/richfaces-components-impl/
root/ui/dist/trunk/richfaces-components-impl/pom.xml
root/ui/dist/trunk/richfaces-components-ui/
Removed:
root/ui/dist/trunk/richfaces-ui/
Modified:
root/dist/trunk/richfaces.xml
root/ui/dist/trunk/pom.xml
root/ui/dist/trunk/richfaces-components-ui/pom.xml
Log:
RF-8461
split richfaces-ui to
richfaces-components-api
richfaces-components-impl
richfaces-components-ui
Modified: root/dist/trunk/richfaces.xml
===================================================================
--- root/dist/trunk/richfaces.xml 2010-05-25 14:42:07 UTC (rev 17234)
+++ root/dist/trunk/richfaces.xml 2010-05-25 14:54:22 UTC (rev 17235)
@@ -41,7 +41,7 @@
<includes>
<include>*-sources.jar</include>
</includes>
- <outputDirectory>artifacts/core/</outputDirectory>
+ <outputDirectory>artifacts/framework/</outputDirectory>
</fileSet>
<fileSet>
<directory>target/apidocs</directory>
@@ -56,7 +56,7 @@
<binaries>
<includeDependencies>false</includeDependencies>
- <outputDirectory>artifacts/core</outputDirectory>
+ <outputDirectory>artifacts/framework</outputDirectory>
<outputFileNameMapping>${module.artifactId}-${module.version}.${module.extension}</outputFileNameMapping>
<unpack>false</unpack>
</binaries>
@@ -65,7 +65,7 @@
<moduleSet>
<includeSubModules>true</includeSubModules>
<includes>
- <include>org.richfaces.ui:richfaces-ui</include>
+ <include>org.richfaces.ui:richfaces-components-*</include>
</includes>
<sources>
@@ -74,7 +74,7 @@
<fileSets>
<fileSet>
<directory>target/apidocs</directory>
- <outputDirectory>docs/javadocs/richfaces-ui</outputDirectory>
+ <outputDirectory>docs/javadocs/${module.artifactId}</outputDirectory>
</fileSet>
<fileSet>
<directory>target/site/jsdoc</directory>
Modified: root/ui/dist/trunk/pom.xml
===================================================================
--- root/ui/dist/trunk/pom.xml 2010-05-25 14:42:07 UTC (rev 17234)
+++ root/ui/dist/trunk/pom.xml 2010-05-25 14:54:22 UTC (rev 17235)
@@ -38,7 +38,11 @@
<modules>
<module>../../core/trunk</module>
<module>../../../ui-sandbox/tables/trunk</module>
- <module>richfaces-ui</module>
+
+ <!-- aggregate modules -->
+ <module>richfaces-components-api</module>
+ <module>richfaces-components-impl</module>
+ <module>richfaces-components-ui</module>
</modules>
<build>
@@ -75,7 +79,7 @@
<id>jsdoc</id>
<phase>prepare-package</phase>
<configuration>
- <outputBaseDirectory>${basedir}/richfaces-ui/target/site</outputBaseDirectory>
+ <outputBaseDirectory>${basedir}/richfaces-components-ui/target/site</outputBaseDirectory>
<jsDir>${basedir}/target/js</jsDir>
<includes>**/*.js</includes>
<caseSensitive>true</caseSensitive>
Added: root/ui/dist/trunk/richfaces-components-api/pom.xml
===================================================================
--- root/ui/dist/trunk/richfaces-components-api/pom.xml (rev 0)
+++ root/ui/dist/trunk/richfaces-components-api/pom.xml 2010-05-25 14:54:22 UTC (rev 17235)
@@ -0,0 +1,193 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ JBoss, Home of Professional Open Source Copyright 2010, Red Hat,
+ Inc. and individual contributors by the @authors tag. See the
+ copyright.txt in the distribution for a full listing of
+ individual contributors. This is free software; you can
+ redistribute it and/or modify it under the terms of the GNU
+ Lesser General Public License as published by the Free Software
+ Foundation; either version 2.1 of the License, or (at your
+ option) any later version. This software is distributed in the
+ hope that it will be useful, but WITHOUT ANY WARRANTY; without
+ even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+ PARTICULAR PURPOSE. See the GNU Lesser General Public License
+ for more details. You should have received a copy of the GNU
+ Lesser General Public License along with this software; if not,
+ write to the Free Software Foundation, Inc., 51 Franklin St,
+ Fifth Floor, Boston, MA 02110-1301 USA, or see the FSF site:
+ http://www.fsf.org.
+-->
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
+ http://maven.apache.org/xsd/maven-4.0.0.xsd">
+
+ <modelVersion>4.0.0</modelVersion>
+
+ <parent>
+ <groupId>org.richfaces</groupId>
+ <artifactId>richfaces-parent</artifactId>
+ <version>1</version>
+ </parent>
+
+ <groupId>org.richfaces.ui</groupId>
+ <artifactId>richfaces-components-api</artifactId>
+ <version>4.0.0-SNAPSHOT</version>
+ <packaging>jar</packaging>
+ <name>Richfaces UI Components API</name>
+
+ <dependencyManagement>
+ <dependencies>
+ <dependency>
+ <groupId>org.richfaces.ui</groupId>
+ <artifactId>richfaces-ui-core-bom</artifactId>
+ <version>${project.version}</version>
+ <scope>import</scope>
+ <type>pom</type>
+ </dependency>
+ <dependency>
+ <groupId>org.richfaces.ui-sandbox</groupId>
+ <artifactId>tables-bom</artifactId>
+ <version>${project.version}</version>
+ <scope>import</scope>
+ <type>pom</type>
+ </dependency>
+ </dependencies>
+ </dependencyManagement>
+
+ <dependencies>
+ <dependency>
+ <groupId>org.richfaces.ui-sandbox</groupId>
+ <artifactId>tables-api</artifactId>
+ </dependency>
+
+ <!-- for javadoc generation -->
+ <dependency>
+ <groupId>org.richfaces.core</groupId>
+ <artifactId>richfaces-core-api</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.richfaces.core</groupId>
+ <artifactId>richfaces-core-impl</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.richfaces.commons</groupId>
+ <artifactId>richfaces-commons-api</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>com.sun.faces</groupId>
+ <artifactId>jsf-api</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>com.sun.faces</groupId>
+ <artifactId>jsf-impl</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.richfaces.cdk</groupId>
+ <artifactId>annotations</artifactId>
+ <version>4.0.0-SNAPSHOT</version>
+ </dependency>
+ <dependency>
+ <groupId>javax.el</groupId>
+ <artifactId>el-api</artifactId>
+ </dependency>
+
+ <dependency>
+ <groupId>javax.servlet</groupId>
+ <artifactId>servlet-api</artifactId>
+ <scope>provided</scope>
+ </dependency>
+ <dependency>
+ <groupId>javax.servlet.jsp</groupId>
+ <artifactId>jsp-api</artifactId>
+ <scope>provided</scope>
+ </dependency>
+ <dependency>
+ <groupId>javax.el</groupId>
+ <artifactId>el-api</artifactId>
+ <scope>provided</scope>
+ </dependency>
+ <dependency>
+ <groupId>javax.servlet</groupId>
+ <artifactId>jstl</artifactId>
+ <scope>provided</scope>
+ </dependency>
+
+ <!-- tests -->
+ <dependency>
+ <!-- todo api? -->
+ <groupId>org.slf4j</groupId>
+ <artifactId>slf4j-log4j12</artifactId>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.jboss.test-jsf</groupId>
+ <artifactId>jsf-test-stage</artifactId>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.jboss.test-jsf</groupId>
+ <artifactId>htmlunit-client</artifactId>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.jboss.test-jsf</groupId>
+ <artifactId>jsf-mock</artifactId>
+ <scope>test</scope>
+ </dependency>
+ </dependencies>
+
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-shade-plugin</artifactId>
+ <version>1.3.3</version>
+ <executions>
+ <execution>
+ <phase>package</phase>
+ <goals>
+ <goal>shade</goal>
+ </goals>
+ <configuration>
+ <artifactSet>
+ <includes>
+ <include>org.richfaces.ui:*</include>
+ <include>org.richfaces.ui-sandbox:*</include>
+ </includes>
+ </artifactSet>
+ <createSourcesJar>true</createSourcesJar>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+ <plugin>
+ <artifactId>maven-javadoc-plugin</artifactId>
+ <version>2.7</version>
+ <executions>
+ <execution>
+ <id>javadoc-jar</id>
+ <phase>package</phase>
+ <goals>
+ <goal>jar</goal>
+ </goals>
+ <configuration>
+ <!-- switch on dependency-driven aggregation -->
+ <includeDependencySources>true</includeDependencySources>
+
+ <dependencySourceIncludes>
+ <!-- exclude ONLY commons-cli artifacts -->
+ <dependencySourceInclude>org.richfaces.ui:*</dependencySourceInclude>
+ <dependencySourceInclude>org.richfaces.ui-sandbox:*</dependencySourceInclude>
+ </dependencySourceIncludes>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+</project>
\ No newline at end of file
Added: root/ui/dist/trunk/richfaces-components-impl/pom.xml
===================================================================
--- root/ui/dist/trunk/richfaces-components-impl/pom.xml (rev 0)
+++ root/ui/dist/trunk/richfaces-components-impl/pom.xml 2010-05-25 14:54:22 UTC (rev 17235)
@@ -0,0 +1,193 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ JBoss, Home of Professional Open Source Copyright 2010, Red Hat,
+ Inc. and individual contributors by the @authors tag. See the
+ copyright.txt in the distribution for a full listing of
+ individual contributors. This is free software; you can
+ redistribute it and/or modify it under the terms of the GNU
+ Lesser General Public License as published by the Free Software
+ Foundation; either version 2.1 of the License, or (at your
+ option) any later version. This software is distributed in the
+ hope that it will be useful, but WITHOUT ANY WARRANTY; without
+ even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+ PARTICULAR PURPOSE. See the GNU Lesser General Public License
+ for more details. You should have received a copy of the GNU
+ Lesser General Public License along with this software; if not,
+ write to the Free Software Foundation, Inc., 51 Franklin St,
+ Fifth Floor, Boston, MA 02110-1301 USA, or see the FSF site:
+ http://www.fsf.org.
+-->
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
+ http://maven.apache.org/xsd/maven-4.0.0.xsd">
+
+ <modelVersion>4.0.0</modelVersion>
+
+ <parent>
+ <groupId>org.richfaces</groupId>
+ <artifactId>richfaces-parent</artifactId>
+ <version>1</version>
+ </parent>
+
+ <groupId>org.richfaces.ui</groupId>
+ <artifactId>richfaces-components-impl</artifactId>
+ <version>4.0.0-SNAPSHOT</version>
+ <packaging>jar</packaging>
+ <name>Richfaces UI Components Impl</name>
+
+ <dependencyManagement>
+ <dependencies>
+ <dependency>
+ <groupId>org.richfaces.ui</groupId>
+ <artifactId>richfaces-ui-core-bom</artifactId>
+ <version>${project.version}</version>
+ <scope>import</scope>
+ <type>pom</type>
+ </dependency>
+ <dependency>
+ <groupId>org.richfaces.ui-sandbox</groupId>
+ <artifactId>tables-bom</artifactId>
+ <version>${project.version}</version>
+ <scope>import</scope>
+ <type>pom</type>
+ </dependency>
+ </dependencies>
+ </dependencyManagement>
+
+ <dependencies>
+ <dependency>
+ <groupId>org.richfaces.ui-sandbox</groupId>
+ <artifactId>tables-impl</artifactId>
+ </dependency>
+
+ <!-- for javadoc generation -->
+ <dependency>
+ <groupId>org.richfaces.core</groupId>
+ <artifactId>richfaces-core-api</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.richfaces.core</groupId>
+ <artifactId>richfaces-core-impl</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.richfaces.commons</groupId>
+ <artifactId>richfaces-commons-api</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>com.sun.faces</groupId>
+ <artifactId>jsf-api</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>com.sun.faces</groupId>
+ <artifactId>jsf-impl</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.richfaces.cdk</groupId>
+ <artifactId>annotations</artifactId>
+ <version>4.0.0-SNAPSHOT</version>
+ </dependency>
+ <dependency>
+ <groupId>javax.el</groupId>
+ <artifactId>el-api</artifactId>
+ </dependency>
+
+ <dependency>
+ <groupId>javax.servlet</groupId>
+ <artifactId>servlet-api</artifactId>
+ <scope>provided</scope>
+ </dependency>
+ <dependency>
+ <groupId>javax.servlet.jsp</groupId>
+ <artifactId>jsp-api</artifactId>
+ <scope>provided</scope>
+ </dependency>
+ <dependency>
+ <groupId>javax.el</groupId>
+ <artifactId>el-api</artifactId>
+ <scope>provided</scope>
+ </dependency>
+ <dependency>
+ <groupId>javax.servlet</groupId>
+ <artifactId>jstl</artifactId>
+ <scope>provided</scope>
+ </dependency>
+
+ <!-- tests -->
+ <dependency>
+ <!-- todo api? -->
+ <groupId>org.slf4j</groupId>
+ <artifactId>slf4j-log4j12</artifactId>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.jboss.test-jsf</groupId>
+ <artifactId>jsf-test-stage</artifactId>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.jboss.test-jsf</groupId>
+ <artifactId>htmlunit-client</artifactId>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.jboss.test-jsf</groupId>
+ <artifactId>jsf-mock</artifactId>
+ <scope>test</scope>
+ </dependency>
+ </dependencies>
+
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-shade-plugin</artifactId>
+ <version>1.3.3</version>
+ <executions>
+ <execution>
+ <phase>package</phase>
+ <goals>
+ <goal>shade</goal>
+ </goals>
+ <configuration>
+ <artifactSet>
+ <includes>
+ <include>org.richfaces.ui:*</include>
+ <include>org.richfaces.ui-sandbox:*</include>
+ </includes>
+ </artifactSet>
+ <createSourcesJar>true</createSourcesJar>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+ <plugin>
+ <artifactId>maven-javadoc-plugin</artifactId>
+ <version>2.7</version>
+ <executions>
+ <execution>
+ <id>javadoc-jar</id>
+ <phase>package</phase>
+ <goals>
+ <goal>jar</goal>
+ </goals>
+ <configuration>
+ <!-- switch on dependency-driven aggregation -->
+ <includeDependencySources>true</includeDependencySources>
+
+ <dependencySourceIncludes>
+ <!-- exclude ONLY commons-cli artifacts -->
+ <dependencySourceInclude>org.richfaces.ui:*</dependencySourceInclude>
+ <dependencySourceInclude>org.richfaces.ui-sandbox:*</dependencySourceInclude>
+ </dependencySourceIncludes>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+</project>
\ No newline at end of file
Copied: root/ui/dist/trunk/richfaces-components-ui (from rev 17224, root/ui/dist/trunk/richfaces-ui)
Modified: root/ui/dist/trunk/richfaces-components-ui/pom.xml
===================================================================
--- root/ui/dist/trunk/richfaces-ui/pom.xml 2010-05-24 22:53:25 UTC (rev 17224)
+++ root/ui/dist/trunk/richfaces-components-ui/pom.xml 2010-05-25 14:54:22 UTC (rev 17235)
@@ -30,10 +30,10 @@
</parent>
<groupId>org.richfaces.ui</groupId>
- <artifactId>richfaces-ui</artifactId>
+ <artifactId>richfaces-components-ui</artifactId>
<version>4.0.0-SNAPSHOT</version>
<packaging>jar</packaging>
- <name>Richfaces UI</name>
+ <name>Richfaces UI Components UI</name>
<dependencyManagement>
<dependencies>
@@ -61,14 +61,6 @@
</dependency>
<dependency>
<groupId>org.richfaces.ui-sandbox</groupId>
- <artifactId>tables-api</artifactId>
- </dependency>
- <dependency>
- <groupId>org.richfaces.ui-sandbox</groupId>
- <artifactId>tables-impl</artifactId>
- </dependency>
- <dependency>
- <groupId>org.richfaces.ui-sandbox</groupId>
<artifactId>tables-ui</artifactId>
</dependency>
@@ -172,7 +164,6 @@
<include>org.richfaces.ui-sandbox:*</include>
</includes>
</artifactSet>
- <finalName>richfaces-ui-${project.version}</finalName>
<createSourcesJar>true</createSourcesJar>
</configuration>
</execution>
14 years, 1 month
JBoss Rich Faces SVN: r17234 - root/ui-sandbox/tables/trunk/ui/src/main/java/org/richfaces/renderkit.
by richfaces-svn-commits@lists.jboss.org
Author: nbelaevski
Date: 2010-05-25 10:42:07 -0400 (Tue, 25 May 2010)
New Revision: 17234
Modified:
root/ui-sandbox/tables/trunk/ui/src/main/java/org/richfaces/renderkit/DataTableRenderer.java
Log:
Checkstyle error fixed
Modified: root/ui-sandbox/tables/trunk/ui/src/main/java/org/richfaces/renderkit/DataTableRenderer.java
===================================================================
--- root/ui-sandbox/tables/trunk/ui/src/main/java/org/richfaces/renderkit/DataTableRenderer.java 2010-05-25 14:33:28 UTC (rev 17233)
+++ root/ui-sandbox/tables/trunk/ui/src/main/java/org/richfaces/renderkit/DataTableRenderer.java 2010-05-25 14:42:07 UTC (rev 17234)
@@ -143,7 +143,9 @@
Iterator<UIComponent> iterator = dataTable.columns();
while (iterator.hasNext()) {
UIComponent child = iterator.next();
- if(child instanceof Row) return true;
+ if (child instanceof Row) {
+ return true;
+ }
}
return false;
}
14 years, 1 month
JBoss Rich Faces SVN: r17233 - in root/core/trunk: api and 3 other directories.
by richfaces-svn-commits@lists.jboss.org
Author: jbalunas(a)redhat.com
Date: 2010-05-25 10:33:28 -0400 (Tue, 25 May 2010)
New Revision: 17233
Modified:
root/core/trunk/api/pom.xml
root/core/trunk/bom/pom.xml
root/core/trunk/impl/pom.xml
root/core/trunk/parent/pom.xml
root/core/trunk/pom.xml
Log:
Updated for release properties
Modified: root/core/trunk/api/pom.xml
===================================================================
--- root/core/trunk/api/pom.xml 2010-05-25 14:32:10 UTC (rev 17232)
+++ root/core/trunk/api/pom.xml 2010-05-25 14:33:28 UTC (rev 17233)
@@ -96,4 +96,10 @@
</plugin>
</plugins>
</build>
+
+ <scm>
+ <connection>scm:svn:http://anonsvn.jboss.org/repos/richfaces/root/core/trunk/api</connection>
+ <developerConnection>scm:svn:https://svn.jboss.org/repos/richfaces/root/core/trunk/api</developerConnection>
+ <url>http://fisheye.jboss.org/browse/richfaces/root/core/trunk/api</url>
+ </scm>
</project>
\ No newline at end of file
Modified: root/core/trunk/bom/pom.xml
===================================================================
--- root/core/trunk/bom/pom.xml 2010-05-25 14:32:10 UTC (rev 17232)
+++ root/core/trunk/bom/pom.xml 2010-05-25 14:33:28 UTC (rev 17233)
@@ -94,7 +94,7 @@
<scm>
<connection>scm:svn:http://anonsvn.jboss.org/repos/richfaces/root/core/trunk/bom</connection>
<developerConnection>scm:svn:https://svn.jboss.org/repos/richfaces/root/core/trunk/bom</developerConnection>
- <url>http://fisheye.jboss.org/browse/richfaces</url>
+ <url>http://fisheye.jboss.org/browse/richfaces/root/core/trunk/bom</url>
</scm>
</project>
Modified: root/core/trunk/impl/pom.xml
===================================================================
--- root/core/trunk/impl/pom.xml 2010-05-25 14:32:10 UTC (rev 17232)
+++ root/core/trunk/impl/pom.xml 2010-05-25 14:33:28 UTC (rev 17233)
@@ -220,4 +220,10 @@
</build>
</profile>
</profiles>
+
+ <scm>
+ <connection>scm:svn:http://anonsvn.jboss.org/repos/richfaces/root/core/trunk/impl</connection>
+ <developerConnection>scm:svn:https://svn.jboss.org/repos/richfaces/root/core/trunk/impl</developerConnection>
+ <url>http://fisheye.jboss.org/browse/richfaces/root/core/trunk/impl</url>
+ </scm>
</project>
\ No newline at end of file
Modified: root/core/trunk/parent/pom.xml
===================================================================
--- root/core/trunk/parent/pom.xml 2010-05-25 14:32:10 UTC (rev 17232)
+++ root/core/trunk/parent/pom.xml 2010-05-25 14:33:28 UTC (rev 17233)
@@ -101,4 +101,10 @@
</plugins>
</pluginManagement>
</build>
+
+ <scm>
+ <connection>scm:svn:http://anonsvn.jboss.org/repos/richfaces/root/core/trunk/parent</connection>
+ <developerConnection>scm:svn:https://svn.jboss.org/repos/richfaces/root/core/trunk/parent</developerConnection>
+ <url>http://fisheye.jboss.org/browse/richfaces/root/core/trunk/parent</url>
+ </scm>
</project>
\ No newline at end of file
Modified: root/core/trunk/pom.xml
===================================================================
--- root/core/trunk/pom.xml 2010-05-25 14:32:10 UTC (rev 17232)
+++ root/core/trunk/pom.xml 2010-05-25 14:33:28 UTC (rev 17233)
@@ -43,5 +43,11 @@
<module>api</module>
<module>impl</module>
</modules>
+
+ <scm>
+ <connection>scm:svn:http://anonsvn.jboss.org/repos/richfaces/root/core/trunk</connection>
+ <developerConnection>scm:svn:https://svn.jboss.org/repos/richfaces/root/core/trunk</developerConnection>
+ <url>http://fisheye.jboss.org/browse/richfaces/root/core/trunk</url>
+ </scm>
</project>
14 years, 1 month
JBoss Rich Faces SVN: r17232 - in root/ui-sandbox/tables/trunk/ui/src/main/java/org/richfaces: renderkit and 1 other directories.
by richfaces-svn-commits@lists.jboss.org
Author: abelevich
Date: 2010-05-25 10:32:10 -0400 (Tue, 25 May 2010)
New Revision: 17232
Added:
root/ui-sandbox/tables/trunk/ui/src/main/java/org/richfaces/renderkit/SortingFilteringRowsRenderer.java
Removed:
root/ui-sandbox/tables/trunk/ui/src/main/java/org/richfaces/renderkit/DataTableRowsRenderer.java
root/ui-sandbox/tables/trunk/ui/src/main/java/org/richfaces/renderkit/HeaderEncodeStrategy.java
Modified:
root/ui-sandbox/tables/trunk/ui/src/main/java/org/richfaces/component/UISubTable.java
root/ui-sandbox/tables/trunk/ui/src/main/java/org/richfaces/renderkit/AbstractRowsRenderer.java
root/ui-sandbox/tables/trunk/ui/src/main/java/org/richfaces/renderkit/AbstractTableBaseRenderer.java
root/ui-sandbox/tables/trunk/ui/src/main/java/org/richfaces/renderkit/AbstractTableRenderer.java
root/ui-sandbox/tables/trunk/ui/src/main/java/org/richfaces/renderkit/ColumnGroupRenderer.java
root/ui-sandbox/tables/trunk/ui/src/main/java/org/richfaces/renderkit/DataTableRenderer.java
root/ui-sandbox/tables/trunk/ui/src/main/java/org/richfaces/renderkit/ExtendedDataTableRenderer.java
root/ui-sandbox/tables/trunk/ui/src/main/java/org/richfaces/renderkit/RowHolder.java
root/ui-sandbox/tables/trunk/ui/src/main/java/org/richfaces/renderkit/SubTableRenderer.java
root/ui-sandbox/tables/trunk/ui/src/main/java/org/richfaces/renderkit/ToggleControlRendererBase.java
root/ui-sandbox/tables/trunk/ui/src/main/java/org/richfaces/taglib/DataTableHandler.java
Log:
rename DataTableRowsRenderer - > SortingFilteringRowsRenderer, remove uncompressed scripts loading, fix DataTable renderers
Modified: root/ui-sandbox/tables/trunk/ui/src/main/java/org/richfaces/component/UISubTable.java
===================================================================
--- root/ui-sandbox/tables/trunk/ui/src/main/java/org/richfaces/component/UISubTable.java 2010-05-25 14:30:01 UTC (rev 17231)
+++ root/ui-sandbox/tables/trunk/ui/src/main/java/org/richfaces/component/UISubTable.java 2010-05-25 14:32:10 UTC (rev 17232)
@@ -33,10 +33,6 @@
import org.richfaces.event.ToggleEvent;
import org.richfaces.event.ToggleListener;
-/**
- * JSF component class
- *
- */
@ResourceDependency(name = "subtable.js")
public class UISubTable extends UIDataTableBase implements Column, Expandable {
Modified: root/ui-sandbox/tables/trunk/ui/src/main/java/org/richfaces/renderkit/AbstractRowsRenderer.java
===================================================================
--- root/ui-sandbox/tables/trunk/ui/src/main/java/org/richfaces/renderkit/AbstractRowsRenderer.java 2010-05-25 14:30:01 UTC (rev 17231)
+++ root/ui-sandbox/tables/trunk/ui/src/main/java/org/richfaces/renderkit/AbstractRowsRenderer.java 2010-05-25 14:32:10 UTC (rev 17232)
@@ -35,7 +35,7 @@
import org.richfaces.component.Row;
/**
- * @author shura
+ * @author Anton Belevich
*
*/
public abstract class AbstractRowsRenderer extends RendererBase implements DataVisitor {
Modified: root/ui-sandbox/tables/trunk/ui/src/main/java/org/richfaces/renderkit/AbstractTableBaseRenderer.java
===================================================================
--- root/ui-sandbox/tables/trunk/ui/src/main/java/org/richfaces/renderkit/AbstractTableBaseRenderer.java 2010-05-25 14:30:01 UTC (rev 17231)
+++ root/ui-sandbox/tables/trunk/ui/src/main/java/org/richfaces/renderkit/AbstractTableBaseRenderer.java 2010-05-25 14:32:10 UTC (rev 17232)
@@ -35,7 +35,11 @@
import org.richfaces.component.Row;
-public abstract class AbstractTableBaseRenderer extends DataTableRowsRenderer {
+/**
+ * @author Anton Belevich
+ *
+ */
+public abstract class AbstractTableBaseRenderer extends SortingFilteringRowsRenderer {
public static final String ROW_CLASS_KEY = "rowClass";
@@ -50,17 +54,16 @@
public static final String ROWSPAN_STRING = "rowspan";
public static final String COLSPAN_STRING = "colspan";
+
-
- public RowHolder encodeColumn(FacesContext context, ResponseWriter writer, UIColumn component, RowHolder rowHolder) throws IOException {
+ public void encodeColumn(FacesContext context, ResponseWriter writer, UIColumn component, RowHolder rowHolder) throws IOException {
String parentId = rowHolder.getBaseClientId();
if (component instanceof org.richfaces.component.UIColumn) {
Map<String, Object> attributes = component.getAttributes();
if (Boolean.TRUE.equals(attributes.get(BREAK_BEFORE_STRING)) && rowHolder.getProcessCell() != 0) {
- encodeRowEnd(writer, context, component);
- rowHolder.remove();
+ encodeRowEnd(writer);
rowHolder.nextRow();
rowHolder.setRowStart(true);
}
@@ -72,17 +75,14 @@
} else {
encodeRowStart(writer, context, parentId, component);
}
- rowHolder.add(HTML.TR_ELEMENT);
rowHolder.setRowStart(false);
}
encodeColumnStart(writer, context, parentId, component);
renderChildren(context, component);
- encodeColumnEnd(writer, context, parentId, component);
-
+ encodeColumnEnd(writer, context, parentId);
+
rowHolder.nextCell();
-
- return rowHolder;
}
public void encodeColumnStart(ResponseWriter writer, FacesContext context, String parentId, UIComponent component) throws IOException {
@@ -107,7 +107,7 @@
}
}
- public void encodeColumnEnd(ResponseWriter writer, FacesContext context, String parentId, UIComponent component) throws IOException {
+ public void encodeColumnEnd(ResponseWriter writer, FacesContext context, String parentId) throws IOException {
writer.endElement(getCellElement(context, parentId));
}
@@ -117,7 +117,7 @@
encodeStyleClass(writer, context, component, HTML.STYLE_CLASS_ATTR, styleClass);
}
- public void encodeFirstRowEnd(ResponseWriter writer, FacesContext context, UIComponent component)throws IOException {
+ public void encodeFirstRowEnd(ResponseWriter writer)throws IOException {
writer.endElement(HTML.TR_ELEMENT);
}
@@ -127,7 +127,7 @@
encodeStyleClass(writer, context, component, HTML.STYLE_CLASS_ATTR, styleClass);
}
- public void encodeRowEnd(ResponseWriter writer, FacesContext context, UIComponent component) throws IOException {
+ public void encodeRowEnd(ResponseWriter writer) throws IOException {
writer.endElement(HTML.TR_ELEMENT);
}
@@ -154,8 +154,7 @@
protected void put(FacesContext context, String id, String key, String value) {
context.getAttributes().put(id + key, value);
}
-
- //TODO nick - nested tables will not work correct
+
protected void saveRowStyles(FacesContext context, String id, String firstRowClass, String rowClass, String cellClass) {
put(context, id, FIRST_ROW_CLASS_KEY, firstRowClass);
put(context, id, ROW_CLASS_KEY, rowClass);
Modified: root/ui-sandbox/tables/trunk/ui/src/main/java/org/richfaces/renderkit/AbstractTableRenderer.java
===================================================================
--- root/ui-sandbox/tables/trunk/ui/src/main/java/org/richfaces/renderkit/AbstractTableRenderer.java 2010-05-25 14:30:01 UTC (rev 17231)
+++ root/ui-sandbox/tables/trunk/ui/src/main/java/org/richfaces/renderkit/AbstractTableRenderer.java 2010-05-25 14:32:10 UTC (rev 17232)
@@ -35,6 +35,10 @@
import org.richfaces.component.Row;
import org.richfaces.component.UIDataTableBase;
+/**
+ * @author Anton Belevich
+ *
+ */
@ResourceDependencies(value = { @ResourceDependency(library = "javax.faces", name = "jsf.js"),
@ResourceDependency(name = "jquery.js"), @ResourceDependency(name = "richfaces.js"), @ResourceDependency(name = "richfaces-event.js")})
public abstract class AbstractTableRenderer extends AbstractTableBaseRenderer implements MetaComponentRenderer {
@@ -183,7 +187,7 @@
encodeStyle(writer, context, dataTable, null);
}
- public void encodeTableBodyEnd(ResponseWriter writer, FacesContext context, UIDataTableBase component) throws IOException {
+ public void encodeTableBodyEnd(ResponseWriter writer) throws IOException {
writer.endElement(HTML.TBODY_ELEMENT);
}
Modified: root/ui-sandbox/tables/trunk/ui/src/main/java/org/richfaces/renderkit/ColumnGroupRenderer.java
===================================================================
--- root/ui-sandbox/tables/trunk/ui/src/main/java/org/richfaces/renderkit/ColumnGroupRenderer.java 2010-05-25 14:30:01 UTC (rev 17231)
+++ root/ui-sandbox/tables/trunk/ui/src/main/java/org/richfaces/renderkit/ColumnGroupRenderer.java 2010-05-25 14:32:10 UTC (rev 17232)
@@ -34,6 +34,10 @@
import org.richfaces.component.UIColumnGroup;
import org.richfaces.component.UIDataTableBase;
+/**
+ * @author Anton Belevich
+ *
+ */
public class ColumnGroupRenderer extends AbstractTableBaseRenderer {
@Override
Modified: root/ui-sandbox/tables/trunk/ui/src/main/java/org/richfaces/renderkit/DataTableRenderer.java
===================================================================
--- root/ui-sandbox/tables/trunk/ui/src/main/java/org/richfaces/renderkit/DataTableRenderer.java 2010-05-25 14:30:01 UTC (rev 17231)
+++ root/ui-sandbox/tables/trunk/ui/src/main/java/org/richfaces/renderkit/DataTableRenderer.java 2010-05-25 14:32:10 UTC (rev 17232)
@@ -42,6 +42,10 @@
import org.richfaces.component.UIDataTable;
import org.richfaces.component.UIDataTableBase;
+/**
+ * @author Anton Belevich
+ *
+ */
@ResourceDependencies( { @ResourceDependency(library = "javax.faces", name = "jsf.js"),
@ResourceDependency(name = "jquery.js"), @ResourceDependency(name = "richfaces.js"),
@ResourceDependency(name= "richfaces-event.js"),@ResourceDependency(name = "richfaces-base-component.js"),
@@ -84,58 +88,58 @@
RowHolder rowHolder = (RowHolder)holder;
Row row = rowHolder.getRow();
- if(!containRowChildren((UIDataTable)row)) {
+ if(!containsRowChildren((UIDataTable)row)) {
encodeTableBodyStart(writer, facesContext, (UIDataTableBase)row);
- rowHolder.add(HTML.TBODY_ELEMENT);
+ rowHolder.setTbody(true);
}
}
@Override
public void encodeAfterRows(ResponseWriter writer, FacesContext facesContext, RowHolderBase holder) throws IOException {
RowHolder rowHolder = (RowHolder)holder;
- Row row = rowHolder.getRow();
- if(!rowHolder.isEmpty()) {
- encodeTableBodyEnd(writer, facesContext, (UIDataTable)row);
+ if(rowHolder.isTbody()) {
+ encodeTableBodyEnd(writer);
}
}
public void encodeRow(ResponseWriter writer, FacesContext context, RowHolderBase holder) throws IOException {
-
RowHolder rowHolder = (RowHolder)holder;
Row row = rowHolder.getRow();
- if(rowHolder.isEmpty()) {
+ if(!rowHolder.isTbody()) {
encodeTableBodyStart(writer, context, (UIDataTable)row);
- rowHolder.add(HTML.TBODY_ELEMENT);
}
rowHolder.setRowStart(true);
-
Iterator<UIComponent> components = row.columns();
+
+ boolean isTRopen = false;
+
while (components.hasNext()) {
UIComponent child = components.next();
if(child instanceof Row) {
- if(HTML.TR_ELEMENT.equals(rowHolder.getCurrentElement())) {
- encodeRowEnd(writer, context, child);
- rowHolder.remove();
+
+ if(rowHolder.getProcessCell() != 0) {
+ encodeRowEnd(writer);
+ isTRopen = false;
+ encodeTableBodyEnd(writer);
}
- if(HTML.TBODY_ELEMENT.equals(rowHolder.getCurrentElement())) {
- encodeTableBodyEnd(writer, context, (UIDataTable)row);
- rowHolder.remove();
- }
+ rowHolder.nextCell();
child.encodeAll(context);
+
} else if (child instanceof UIColumn) {
encodeColumn(context, writer, (UIColumn) child, rowHolder);
- if(!components.hasNext()) {
- encodeRowEnd(writer, context, (UIColumn)child);
- rowHolder.remove();
- }
+ isTRopen = true;
}
}
+
+ if(isTRopen){
+ encodeRowEnd(writer);
+ }
}
- protected boolean containRowChildren(UIDataTable dataTable) {
+ protected boolean containsRowChildren(UIDataTable dataTable) {
Iterator<UIComponent> iterator = dataTable.columns();
while (iterator.hasNext()) {
UIComponent child = iterator.next();
Deleted: root/ui-sandbox/tables/trunk/ui/src/main/java/org/richfaces/renderkit/DataTableRowsRenderer.java
===================================================================
--- root/ui-sandbox/tables/trunk/ui/src/main/java/org/richfaces/renderkit/DataTableRowsRenderer.java 2010-05-25 14:30:01 UTC (rev 17231)
+++ root/ui-sandbox/tables/trunk/ui/src/main/java/org/richfaces/renderkit/DataTableRowsRenderer.java 2010-05-25 14:32:10 UTC (rev 17232)
@@ -1,149 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright ${year}, Red Hat, Inc. and individual contributors
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * This is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This software is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this software; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
- */
-
-package org.richfaces.renderkit;
-
-import java.util.Collection;
-import java.util.Iterator;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.Map;
-
-import javax.el.ELContext;
-import javax.el.ELException;
-import javax.el.ValueExpression;
-import javax.faces.FacesException;
-import javax.faces.component.UIComponent;
-import javax.faces.context.FacesContext;
-import javax.swing.SortOrder;
-
-import org.richfaces.component.UIDataTableBase;
-import org.richfaces.model.SortMode;
-
-public abstract class DataTableRowsRenderer extends AbstractRowsRenderer {
-
- private static final String FILTERING_STRING = "rich:filtering";
-
- private static final String SORTING_STRING = "rich:sorting";
-
- private static final String FILTER_VALUE_STRING = "filterValue";
-
- private static final String SORT_ORDER_STRING = "sortOrder";
-
- private static final String SORT_PRIORITY_STRING = "sortPriority";
-
-
- private static final String SEPARATOR = ":";
-
- protected void decodeSortingFiltering(FacesContext context, UIComponent component) {
- if(component instanceof UIDataTableBase) {
- UIDataTableBase dataTableBase = (UIDataTableBase)component;
- Map<String, String> requestMap = context.getExternalContext().getRequestParameterMap();
- String clientId = dataTableBase.getClientId(context);
-
- String filtering = requestMap.get(clientId + FILTERING_STRING);
- if(filtering != null && filtering.trim().length() > 0) {
- decodeFiltering(context, dataTableBase, filtering);
- }
-
- String sorting = requestMap.get(clientId + SORTING_STRING);
- if(sorting != null && sorting.trim().length() > 0) {
- decodeSorting(context, dataTableBase, sorting);
- }
- }
- }
-
- protected void decodeFiltering(FacesContext context, UIDataTableBase dataTableBase, String value) {
- String[] values = value.split(SEPARATOR);
- if (Boolean.parseBoolean(values[2])) {
- for (Iterator<UIComponent> iterator = dataTableBase.columns(); iterator.hasNext();) {
- UIComponent column = iterator.next();
- if (values[0].equals(column.getId())) {
- updateAttribute(context, column, FILTER_VALUE_STRING, values[1]);
- } else {
- updateAttribute(context, column, FILTER_VALUE_STRING, null);
- }
- }
- } else {
- updateAttribute(context, dataTableBase.findComponent(values[0]), FILTER_VALUE_STRING, values[1]);
- }
- context.getPartialViewContext().getRenderIds().add(dataTableBase.getClientId(context)); // TODO Use partial re-rendering here.
- }
-
- protected void decodeSorting(FacesContext context, UIDataTableBase dataTableBase, String value) {
- List<Object> sortPriority = new LinkedList<Object>();
- String[] values = value.split(SEPARATOR);
- if (Boolean.parseBoolean(values[2]) || SortMode.single.equals(dataTableBase.getSortMode())) {
- for (Iterator<UIComponent> iterator = dataTableBase.columns(); iterator.hasNext();) {
- UIComponent column = iterator.next();
- if (values[0].equals(column.getId())) {
- updateSortOrder(context, column, values[1]);
- sortPriority.add(values[0]);
- } else {
- updateAttribute(context, column, SORT_ORDER_STRING, SortOrder.UNSORTED);
- }
- }
- } else {
- updateSortOrder(context, dataTableBase.findComponent(values[0]), values[1]);
- Collection<?> priority = dataTableBase.getSortPriority();
- if (priority != null) {
- priority.remove(values[0]);
- sortPriority.addAll(priority);
- }
- sortPriority.add(values[0]);
- }
- updateAttribute(context, dataTableBase, SORT_PRIORITY_STRING, sortPriority);
- context.getPartialViewContext().getRenderIds().add(dataTableBase.getClientId(context)); // TODO Use partial re-rendering here.
- }
-
- private void updateSortOrder(FacesContext context, UIComponent component, String value) {
- SortOrder sortOrder = SortOrder.ASCENDING;
- try {
- sortOrder = SortOrder.valueOf(value);
- } catch (IllegalArgumentException e) {
- // If value isn't name of enum constant of SortOrder, toggle sortOrder of column.
- if (SortOrder.ASCENDING.equals(component.getAttributes().get(SORT_ORDER_STRING))) {
- sortOrder = SortOrder.DESCENDING;
- }
- }
- updateAttribute(context, component, SORT_ORDER_STRING, sortOrder);
- }
-
- protected void updateAttribute(FacesContext context, UIComponent component, String attribute, Object value) {
- Object oldValue = component.getAttributes().get(attribute);
- if ((oldValue != null && !oldValue.equals(value)) || (oldValue == null && value != null)) {
- ELContext elContext = context.getELContext();
- ValueExpression ve = component.getValueExpression(attribute);
- if (ve != null && !ve.isReadOnly(elContext)) {
- component.getAttributes().put(attribute, null);
- try {
- ve.setValue(elContext, value);
- } catch (ELException e) {
- throw new FacesException(e);
- }
- } else {
- component.getAttributes().put(attribute, value);
- }
- }
- }
-
-}
Modified: root/ui-sandbox/tables/trunk/ui/src/main/java/org/richfaces/renderkit/ExtendedDataTableRenderer.java
===================================================================
--- root/ui-sandbox/tables/trunk/ui/src/main/java/org/richfaces/renderkit/ExtendedDataTableRenderer.java 2010-05-25 14:30:01 UTC (rev 17231)
+++ root/ui-sandbox/tables/trunk/ui/src/main/java/org/richfaces/renderkit/ExtendedDataTableRenderer.java 2010-05-25 14:32:10 UTC (rev 17232)
@@ -55,11 +55,15 @@
import org.richfaces.component.util.HtmlUtil;
import org.richfaces.context.OnOffResponseWriter;
-@ResourceDependencies({ @ResourceDependency(library = "javax.faces", name = "jsf-uncompressed.js"),
+/**
+ * @author Konstantin Mishin
+ *
+ */
+@ResourceDependencies({ @ResourceDependency(library = "javax.faces", name = "jsf.js"),
@ResourceDependency(name = "jquery.js"), @ResourceDependency(name = "jquery.position.js"),
@ResourceDependency(name = "richfaces.js"), @ResourceDependency(name = "extendedDataTable.js"),
@ResourceDependency(name = "extendedDataTable.css") })
-public class ExtendedDataTableRenderer extends DataTableRowsRenderer implements MetaComponentRenderer {
+public class ExtendedDataTableRenderer extends SortingFilteringRowsRenderer implements MetaComponentRenderer {
private static enum PartName {
frozen, normal
Deleted: root/ui-sandbox/tables/trunk/ui/src/main/java/org/richfaces/renderkit/HeaderEncodeStrategy.java
===================================================================
--- root/ui-sandbox/tables/trunk/ui/src/main/java/org/richfaces/renderkit/HeaderEncodeStrategy.java 2010-05-25 14:30:01 UTC (rev 17231)
+++ root/ui-sandbox/tables/trunk/ui/src/main/java/org/richfaces/renderkit/HeaderEncodeStrategy.java 2010-05-25 14:32:10 UTC (rev 17232)
@@ -1,40 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright ${year}, Red Hat, Inc. and individual contributors
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * This is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This software is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this software; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
- */
-
-package org.richfaces.renderkit;
-
-import java.io.IOException;
-
-import javax.faces.component.UIComponent;
-import javax.faces.context.FacesContext;
-import javax.faces.context.ResponseWriter;
-//TODO: anton - move to the api
-public interface HeaderEncodeStrategy {
-
-
- public abstract void encodeBegin(FacesContext context, ResponseWriter writer,
- UIComponent column, String facetName) throws IOException;
-
- public abstract void encodeEnd(FacesContext context, ResponseWriter writer,
- UIComponent column, String facetName) throws IOException;
-
-}
Modified: root/ui-sandbox/tables/trunk/ui/src/main/java/org/richfaces/renderkit/RowHolder.java
===================================================================
--- root/ui-sandbox/tables/trunk/ui/src/main/java/org/richfaces/renderkit/RowHolder.java 2010-05-25 14:30:01 UTC (rev 17231)
+++ root/ui-sandbox/tables/trunk/ui/src/main/java/org/richfaces/renderkit/RowHolder.java 2010-05-25 14:32:10 UTC (rev 17232)
@@ -22,12 +22,14 @@
package org.richfaces.renderkit;
-import java.util.LinkedList;
-
import javax.faces.context.FacesContext;
import org.richfaces.component.Row;
+/**
+ * @author Anton Belevich
+ *
+ */
public class RowHolder extends RowHolderBase {
private Row row;
@@ -37,39 +39,29 @@
private String baseClientId;
private boolean isRowStart;
-
- private LinkedList<String> elements;
+
+ private boolean tbody;
public RowHolder(FacesContext context, Row row) {
this(context, row, 0, true);
}
+ public boolean isTbody() {
+ return tbody;
+ }
+
+ public void setTbody(boolean tbody) {
+ this.tbody = tbody;
+ }
+
public RowHolder(FacesContext context, Row row, int processCell, boolean isRowStart) {
super(context);
this.row = row;
this.processCell = processCell;
this.baseClientId = row.getClientId(context);
- this.elements = new LinkedList<String>();
}
-
- public String remove() {
- return elements.pop();
- }
- public void add(String htmlTag) {
- elements.push(htmlTag);
- }
-
- public String getCurrentElement() {
- return elements.getFirst();
- }
-
- public boolean isEmpty() {
- return elements.isEmpty();
- }
-
-
public String getBaseClientId() {
return baseClientId;
}
Added: root/ui-sandbox/tables/trunk/ui/src/main/java/org/richfaces/renderkit/SortingFilteringRowsRenderer.java
===================================================================
--- root/ui-sandbox/tables/trunk/ui/src/main/java/org/richfaces/renderkit/SortingFilteringRowsRenderer.java (rev 0)
+++ root/ui-sandbox/tables/trunk/ui/src/main/java/org/richfaces/renderkit/SortingFilteringRowsRenderer.java 2010-05-25 14:32:10 UTC (rev 17232)
@@ -0,0 +1,153 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright ${year}, Red Hat, Inc. and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+
+package org.richfaces.renderkit;
+
+import java.util.Collection;
+import java.util.Iterator;
+import java.util.LinkedList;
+import java.util.List;
+import java.util.Map;
+
+import javax.el.ELContext;
+import javax.el.ELException;
+import javax.el.ValueExpression;
+import javax.faces.FacesException;
+import javax.faces.component.UIComponent;
+import javax.faces.context.FacesContext;
+import javax.swing.SortOrder;
+
+import org.richfaces.component.UIDataTableBase;
+import org.richfaces.model.SortMode;
+
+/**
+ * @author Anton Belevich
+ *
+ */
+public abstract class SortingFilteringRowsRenderer extends AbstractRowsRenderer {
+
+ private static final String FILTERING_STRING = "rich:filtering";
+
+ private static final String SORTING_STRING = "rich:sorting";
+
+ private static final String FILTER_VALUE_STRING = "filterValue";
+
+ private static final String SORT_ORDER_STRING = "sortOrder";
+
+ private static final String SORT_PRIORITY_STRING = "sortPriority";
+
+
+ private static final String SEPARATOR = ":";
+
+ protected void decodeSortingFiltering(FacesContext context, UIComponent component) {
+ if(component instanceof UIDataTableBase) {
+ UIDataTableBase dataTableBase = (UIDataTableBase)component;
+ Map<String, String> requestMap = context.getExternalContext().getRequestParameterMap();
+ String clientId = dataTableBase.getClientId(context);
+
+ String filtering = requestMap.get(clientId + FILTERING_STRING);
+ if(filtering != null && filtering.trim().length() > 0) {
+ decodeFiltering(context, dataTableBase, filtering);
+ }
+
+ String sorting = requestMap.get(clientId + SORTING_STRING);
+ if(sorting != null && sorting.trim().length() > 0) {
+ decodeSorting(context, dataTableBase, sorting);
+ }
+ }
+ }
+
+ protected void decodeFiltering(FacesContext context, UIDataTableBase dataTableBase, String value) {
+ String[] values = value.split(SEPARATOR);
+ if (Boolean.parseBoolean(values[2])) {
+ for (Iterator<UIComponent> iterator = dataTableBase.columns(); iterator.hasNext();) {
+ UIComponent column = iterator.next();
+ if (values[0].equals(column.getId())) {
+ updateAttribute(context, column, FILTER_VALUE_STRING, values[1]);
+ } else {
+ updateAttribute(context, column, FILTER_VALUE_STRING, null);
+ }
+ }
+ } else {
+ updateAttribute(context, dataTableBase.findComponent(values[0]), FILTER_VALUE_STRING, values[1]);
+ }
+ context.getPartialViewContext().getRenderIds().add(dataTableBase.getClientId(context)); // TODO Use partial re-rendering here.
+ }
+
+ protected void decodeSorting(FacesContext context, UIDataTableBase dataTableBase, String value) {
+ List<Object> sortPriority = new LinkedList<Object>();
+ String[] values = value.split(SEPARATOR);
+ if (Boolean.parseBoolean(values[2]) || SortMode.single.equals(dataTableBase.getSortMode())) {
+ for (Iterator<UIComponent> iterator = dataTableBase.columns(); iterator.hasNext();) {
+ UIComponent column = iterator.next();
+ if (values[0].equals(column.getId())) {
+ updateSortOrder(context, column, values[1]);
+ sortPriority.add(values[0]);
+ } else {
+ updateAttribute(context, column, SORT_ORDER_STRING, SortOrder.UNSORTED);
+ }
+ }
+ } else {
+ updateSortOrder(context, dataTableBase.findComponent(values[0]), values[1]);
+ Collection<?> priority = dataTableBase.getSortPriority();
+ if (priority != null) {
+ priority.remove(values[0]);
+ sortPriority.addAll(priority);
+ }
+ sortPriority.add(values[0]);
+ }
+ updateAttribute(context, dataTableBase, SORT_PRIORITY_STRING, sortPriority);
+ context.getPartialViewContext().getRenderIds().add(dataTableBase.getClientId(context)); // TODO Use partial re-rendering here.
+ }
+
+ private void updateSortOrder(FacesContext context, UIComponent component, String value) {
+ SortOrder sortOrder = SortOrder.ASCENDING;
+ try {
+ sortOrder = SortOrder.valueOf(value);
+ } catch (IllegalArgumentException e) {
+ // If value isn't name of enum constant of SortOrder, toggle sortOrder of column.
+ if (SortOrder.ASCENDING.equals(component.getAttributes().get(SORT_ORDER_STRING))) {
+ sortOrder = SortOrder.DESCENDING;
+ }
+ }
+ updateAttribute(context, component, SORT_ORDER_STRING, sortOrder);
+ }
+
+ protected void updateAttribute(FacesContext context, UIComponent component, String attribute, Object value) {
+ Object oldValue = component.getAttributes().get(attribute);
+ if ((oldValue != null && !oldValue.equals(value)) || (oldValue == null && value != null)) {
+ ELContext elContext = context.getELContext();
+ ValueExpression ve = component.getValueExpression(attribute);
+ if (ve != null && !ve.isReadOnly(elContext)) {
+ component.getAttributes().put(attribute, null);
+ try {
+ ve.setValue(elContext, value);
+ } catch (ELException e) {
+ throw new FacesException(e);
+ }
+ } else {
+ component.getAttributes().put(attribute, value);
+ }
+ }
+ }
+
+}
Modified: root/ui-sandbox/tables/trunk/ui/src/main/java/org/richfaces/renderkit/SubTableRenderer.java
===================================================================
--- root/ui-sandbox/tables/trunk/ui/src/main/java/org/richfaces/renderkit/SubTableRenderer.java 2010-05-25 14:30:01 UTC (rev 17231)
+++ root/ui-sandbox/tables/trunk/ui/src/main/java/org/richfaces/renderkit/SubTableRenderer.java 2010-05-25 14:32:10 UTC (rev 17232)
@@ -41,6 +41,10 @@
import org.richfaces.component.UISubTable;
import org.richfaces.event.ToggleEvent;
+/**
+ * @author Anton Belevich
+ *
+ */
public class SubTableRenderer extends AbstractTableRenderer {
private static final String STATE = ":state";
@@ -122,10 +126,7 @@
while(components.hasNext()) {
encodeColumn(context, writer, (UIColumn)components.next(), rowHolder);
}
-
- if(!rowHolder.isEmpty()) {
- encodeRowEnd(writer, context, (UISubTable)row);
- }
+ encodeRowEnd(writer);
}
@Override
@@ -144,7 +145,7 @@
writer.endElement(HTML.TD_ELEM);
writer.endElement(HTML.TR_ELEMENT);
- encodeTableBodyEnd(writer, facesContext, subTable);
+ encodeTableBodyEnd(writer);
}
Modified: root/ui-sandbox/tables/trunk/ui/src/main/java/org/richfaces/renderkit/ToggleControlRendererBase.java
===================================================================
--- root/ui-sandbox/tables/trunk/ui/src/main/java/org/richfaces/renderkit/ToggleControlRendererBase.java 2010-05-25 14:30:01 UTC (rev 17231)
+++ root/ui-sandbox/tables/trunk/ui/src/main/java/org/richfaces/renderkit/ToggleControlRendererBase.java 2010-05-25 14:32:10 UTC (rev 17232)
@@ -42,7 +42,7 @@
* @author Anton Belevich
*
*/
-@ResourceDependencies( {@ResourceDependency(library = "javax.faces", name = "jsf-uncompressed.js"),
+@ResourceDependencies( {@ResourceDependency(library = "javax.faces", name = "jsf.js"),
@ResourceDependency(name = "richfaces.js"), @ResourceDependency(name = "toggler.js")})
public abstract class ToggleControlRendererBase extends RendererBase {
Modified: root/ui-sandbox/tables/trunk/ui/src/main/java/org/richfaces/taglib/DataTableHandler.java
===================================================================
--- root/ui-sandbox/tables/trunk/ui/src/main/java/org/richfaces/taglib/DataTableHandler.java 2010-05-25 14:30:01 UTC (rev 17231)
+++ root/ui-sandbox/tables/trunk/ui/src/main/java/org/richfaces/taglib/DataTableHandler.java 2010-05-25 14:32:10 UTC (rev 17232)
@@ -35,6 +35,10 @@
import org.richfaces.component.UIDataTable;
+/**
+ * @author Anton Belevich
+ *
+ */
public class DataTableHandler extends ComponentHandler {
private static final DataTableHandlerMetaRule METARULE = new DataTableHandlerMetaRule();
14 years, 1 month
JBoss Rich Faces SVN: r17231 - root/ui-sandbox/tables/trunk/api/src/main/java/org/richfaces/renderkit.
by richfaces-svn-commits@lists.jboss.org
Author: abelevich
Date: 2010-05-25 10:30:01 -0400 (Tue, 25 May 2010)
New Revision: 17231
Added:
root/ui-sandbox/tables/trunk/api/src/main/java/org/richfaces/renderkit/HeaderEncodeStrategy.java
Log:
move HeaderEncodeStrategy from ui
Added: root/ui-sandbox/tables/trunk/api/src/main/java/org/richfaces/renderkit/HeaderEncodeStrategy.java
===================================================================
--- root/ui-sandbox/tables/trunk/api/src/main/java/org/richfaces/renderkit/HeaderEncodeStrategy.java (rev 0)
+++ root/ui-sandbox/tables/trunk/api/src/main/java/org/richfaces/renderkit/HeaderEncodeStrategy.java 2010-05-25 14:30:01 UTC (rev 17231)
@@ -0,0 +1,40 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright ${year}, Red Hat, Inc. and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+
+package org.richfaces.renderkit;
+
+import java.io.IOException;
+
+import javax.faces.component.UIComponent;
+import javax.faces.context.FacesContext;
+import javax.faces.context.ResponseWriter;
+
+public interface HeaderEncodeStrategy {
+
+
+ public abstract void encodeBegin(FacesContext context, ResponseWriter writer,
+ UIComponent column, String facetName) throws IOException;
+
+ public abstract void encodeEnd(FacesContext context, ResponseWriter writer,
+ UIComponent column, String facetName) throws IOException;
+
+}
14 years, 1 month
JBoss Rich Faces SVN: r17230 - in root: ui/dist/trunk and 1 other directory.
by richfaces-svn-commits@lists.jboss.org
Author: Alex.Kolonitsky
Date: 2010-05-25 09:52:40 -0400 (Tue, 25 May 2010)
New Revision: 17230
Modified:
root/dist/trunk/pom.xml
root/dist/trunk/richfaces.xml
root/ui/dist/trunk/assembler.xml
root/ui/dist/trunk/pom.xml
Log:
RF-8461
add example readme
add aggregated jsdoc
Modified: root/dist/trunk/pom.xml
===================================================================
--- root/dist/trunk/pom.xml 2010-05-25 11:18:50 UTC (rev 17229)
+++ root/dist/trunk/pom.xml 2010-05-25 13:52:40 UTC (rev 17230)
@@ -36,7 +36,7 @@
<name>Richfaces Assembler</name>
<modules>
- <module>../../build/parent/tags/richfaces-parent-1</module>
+ <module>../../build/parent/tags/richfaces-parent-3</module>
<module>../../build/bom/trunk</module>
<module>../../commons/trunk</module>
<module>../../core/trunk</module>
Modified: root/dist/trunk/richfaces.xml
===================================================================
--- root/dist/trunk/richfaces.xml 2010-05-25 11:18:50 UTC (rev 17229)
+++ root/dist/trunk/richfaces.xml 2010-05-25 13:52:40 UTC (rev 17230)
@@ -15,6 +15,10 @@
<destName>readme.txt</destName>
</file>
<file>
+ <source>readme-examples.txt</source>
+ <destName>examples/readme.txt</destName>
+ </file>
+ <file>
<source>JBossORG-EULA.txt</source>
</file>
</files>
@@ -73,6 +77,10 @@
<outputDirectory>docs/javadocs/richfaces-ui</outputDirectory>
</fileSet>
<fileSet>
+ <directory>target/site/jsdoc</directory>
+ <outputDirectory>docs/jsdocs/${module.artifactId}</outputDirectory>
+ </fileSet>
+ <fileSet>
<directory>target</directory>
<includes>
<include>*-sources.jar</include>
Modified: root/ui/dist/trunk/assembler.xml
===================================================================
--- root/ui/dist/trunk/assembler.xml 2010-05-25 11:18:50 UTC (rev 17229)
+++ root/ui/dist/trunk/assembler.xml 2010-05-25 13:52:40 UTC (rev 17230)
@@ -7,10 +7,8 @@
<moduleSet>
<includeSubModules>true</includeSubModules>
<includes>
- <include>org.richfaces.ui:richfaces-ui-core-api</include>
- <include>org.richfaces.ui-sandbox:tables-api</include>
- <include>org.richfaces.ui-sandbox:tables-ui</include>
- <include>org.richfaces.ui-sandbox:tables-impl</include>
+ <include>org.richfaces.ui:*</include>
+ <include>org.richfaces.ui-sandbox:*</include>
</includes>
<sources>
@@ -18,8 +16,11 @@
<excludeSubModuleDirectories>true</excludeSubModuleDirectories>
<fileSets>
<fileSet>
- <directory>src/main/java</directory>
- <outputDirectory>sources</outputDirectory>
+ <directory>src/main/resources/META-INF/resources</directory>
+ <outputDirectory>/</outputDirectory>
+ <includes>
+ <include>*.js</include>
+ </includes>
</fileSet>
</fileSets>
</sources>
Modified: root/ui/dist/trunk/pom.xml
===================================================================
--- root/ui/dist/trunk/pom.xml 2010-05-25 11:18:50 UTC (rev 17229)
+++ root/ui/dist/trunk/pom.xml 2010-05-25 13:52:40 UTC (rev 17230)
@@ -49,6 +49,43 @@
<skip>true</skip>
</configuration>
</plugin>
+ <plugin>
+ <artifactId>maven-assembly-plugin</artifactId>
+ <version>2.2-beta-4</version>
+ <configuration>
+ <appendAssemblyId>false</appendAssemblyId>
+ <finalName>js</finalName>
+ <descriptor>assembler.xml</descriptor>
+ </configuration>
+ <executions>
+ <execution>
+ <id>collect-jsdocs</id>
+ <phase>process-sources</phase>
+ <goals>
+ <goal>single</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ <plugin>
+ <groupId>gr.abiss.mvn.plugins</groupId>
+ <artifactId>maven-jstools-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>jsdoc</id>
+ <phase>prepare-package</phase>
+ <configuration>
+ <outputBaseDirectory>${basedir}/richfaces-ui/target/site</outputBaseDirectory>
+ <jsDir>${basedir}/target/js</jsDir>
+ <includes>**/*.js</includes>
+ <caseSensitive>true</caseSensitive>
+ </configuration>
+ <goals>
+ <goal>jsdoc</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
</plugins>
</build>
14 years, 1 month
JBoss Rich Faces SVN: r17229 - root/ui-sandbox/tables/trunk/ui/src/main/java/org/richfaces/renderkit.
by richfaces-svn-commits@lists.jboss.org
Author: abelevich
Date: 2010-05-25 07:18:50 -0400 (Tue, 25 May 2010)
New Revision: 17229
Modified:
root/ui-sandbox/tables/trunk/ui/src/main/java/org/richfaces/renderkit/AbstractRowsRenderer.java
root/ui-sandbox/tables/trunk/ui/src/main/java/org/richfaces/renderkit/AbstractTableBaseRenderer.java
root/ui-sandbox/tables/trunk/ui/src/main/java/org/richfaces/renderkit/AbstractTableRenderer.java
root/ui-sandbox/tables/trunk/ui/src/main/java/org/richfaces/renderkit/DataTableRenderer.java
root/ui-sandbox/tables/trunk/ui/src/main/java/org/richfaces/renderkit/DataTableRowsRenderer.java
root/ui-sandbox/tables/trunk/ui/src/main/java/org/richfaces/renderkit/SubTableRenderer.java
Log:
small fixes
Modified: root/ui-sandbox/tables/trunk/ui/src/main/java/org/richfaces/renderkit/AbstractRowsRenderer.java
===================================================================
--- root/ui-sandbox/tables/trunk/ui/src/main/java/org/richfaces/renderkit/AbstractRowsRenderer.java 2010-05-25 10:24:18 UTC (rev 17228)
+++ root/ui-sandbox/tables/trunk/ui/src/main/java/org/richfaces/renderkit/AbstractRowsRenderer.java 2010-05-25 11:18:50 UTC (rev 17229)
@@ -39,7 +39,11 @@
*
*/
public abstract class AbstractRowsRenderer extends RendererBase implements DataVisitor {
+
+ public abstract void encodeRow(ResponseWriter writer, FacesContext facesContext, RowHolderBase rowHolder) throws IOException;
+ public abstract RowHolderBase createRowHolder(FacesContext context, UIComponent component);
+
public DataVisitResult process(FacesContext facesContext, Object rowKey, Object argument) {
RowHolderBase holder = (RowHolderBase) argument;
Row row = holder.getRow();
@@ -58,8 +62,6 @@
protected void encodeRows(FacesContext facesContext, RowHolderBase rowHolder) {
rowHolder.getRow().walk(facesContext, this, rowHolder);
}
-
- public abstract void encodeRow(ResponseWriter writer, FacesContext facesContext, RowHolderBase rowHolder) throws IOException;
@Override
protected void doEncodeChildren(ResponseWriter writer, FacesContext facesContext, UIComponent component) throws IOException {
@@ -68,20 +70,13 @@
encodeRows(facesContext, rowHolder);
encodeAfterRows(writer, facesContext, rowHolder);
}
-
- public abstract RowHolderBase createRowHolder(FacesContext context, UIComponent component);
-
+
public void encodeBeforeRows(ResponseWriter writer, FacesContext facesContext, RowHolderBase rowHolder) throws IOException {
}
public void encodeAfterRows(ResponseWriter writer, FacesContext facesContext, RowHolderBase rowHolder) throws IOException {
}
-
- protected boolean isEmpty(String style) {
- return !((style != null) && (style.trim().length() != 0));
- }
-
public boolean getRendersChildren() {
return true;
}
Modified: root/ui-sandbox/tables/trunk/ui/src/main/java/org/richfaces/renderkit/AbstractTableBaseRenderer.java
===================================================================
--- root/ui-sandbox/tables/trunk/ui/src/main/java/org/richfaces/renderkit/AbstractTableBaseRenderer.java 2010-05-25 10:24:18 UTC (rev 17228)
+++ root/ui-sandbox/tables/trunk/ui/src/main/java/org/richfaces/renderkit/AbstractTableBaseRenderer.java 2010-05-25 11:18:50 UTC (rev 17229)
@@ -45,14 +45,20 @@
public static final String CELL_ELEMENT_KEY = "cellElement";
+ public static final String BREAK_BEFORE_STRING = "breakBefore";
+ public static final String ROWSPAN_STRING = "rowspan";
+
+ public static final String COLSPAN_STRING = "colspan";
+
+
public RowHolder encodeColumn(FacesContext context, ResponseWriter writer, UIColumn component, RowHolder rowHolder) throws IOException {
String parentId = rowHolder.getBaseClientId();
if (component instanceof org.richfaces.component.UIColumn) {
Map<String, Object> attributes = component.getAttributes();
- if (Boolean.TRUE.equals(attributes.get("breakBefore")) && rowHolder.getProcessCell() != 0) {
+ if (Boolean.TRUE.equals(attributes.get(BREAK_BEFORE_STRING)) && rowHolder.getProcessCell() != 0) {
encodeRowEnd(writer, context, component);
rowHolder.remove();
rowHolder.nextRow();
@@ -89,14 +95,14 @@
if (component instanceof org.richfaces.component.UIColumn) {
Map<String, Object> attributes = component.getAttributes();
- int rowspan = (Integer) attributes.get("rowspan");
+ int rowspan = (Integer) attributes.get(ROWSPAN_STRING);
if (rowspan != Integer.MIN_VALUE) {
- writer.writeAttribute("rowspan", Integer.valueOf(rowspan), null);
+ writer.writeAttribute(ROWSPAN_STRING, Integer.valueOf(rowspan), null);
}
- int colspan = (Integer) attributes.get("colspan");
+ int colspan = (Integer) attributes.get(COLSPAN_STRING);
if (colspan != Integer.MIN_VALUE) {
- writer.writeAttribute("colspan", Integer.valueOf(colspan), null);
+ writer.writeAttribute(COLSPAN_STRING, Integer.valueOf(colspan), null);
}
}
}
@@ -199,6 +205,11 @@
}
}
+ protected boolean isEmpty(String style) {
+ return !((style != null) && (style.trim().length() != 0));
+ }
+
+
protected int getColumnsCount(Iterator<UIComponent> col) {
int count = 0;
int currentLength = 0;
@@ -220,13 +231,13 @@
} else if (component instanceof org.richfaces.component.UIColumn) {
// For new row, save length of previsous.
Map<String, Object> attributes = component.getAttributes();
- if (Boolean.TRUE.equals(attributes.get("breakBefore"))) {
+ if (Boolean.TRUE.equals(attributes.get(BREAK_BEFORE_STRING))) {
if (currentLength > count) {
count = currentLength;
}
currentLength = 0;
}
- Integer colspan = (Integer) attributes.get("colspan");
+ Integer colspan = (Integer) attributes.get(COLSPAN_STRING);
// Append colspan of this column
if (null != colspan && colspan.intValue() != Integer.MIN_VALUE) {
currentLength += colspan.intValue();
Modified: root/ui-sandbox/tables/trunk/ui/src/main/java/org/richfaces/renderkit/AbstractTableRenderer.java
===================================================================
--- root/ui-sandbox/tables/trunk/ui/src/main/java/org/richfaces/renderkit/AbstractTableRenderer.java 2010-05-25 10:24:18 UTC (rev 17228)
+++ root/ui-sandbox/tables/trunk/ui/src/main/java/org/richfaces/renderkit/AbstractTableRenderer.java 2010-05-25 11:18:50 UTC (rev 17229)
@@ -34,18 +34,11 @@
import org.ajax4jsf.renderkit.RendererUtils.HTML;
import org.richfaces.component.Row;
import org.richfaces.component.UIDataTableBase;
-import org.richfaces.component.UISubTable;
@ResourceDependencies(value = { @ResourceDependency(library = "javax.faces", name = "jsf.js"),
@ResourceDependency(name = "jquery.js"), @ResourceDependency(name = "richfaces.js"), @ResourceDependency(name = "richfaces-event.js")})
public abstract class AbstractTableRenderer extends AbstractTableBaseRenderer implements MetaComponentRenderer {
- public static final String ROW_CLASS = "rowClass";
-
- public static final String FIRST_ROW_CLASS = "firstRowClass";
-
- public static final String CELL_CLASS = "cellClass";
-
@Override
protected void doDecode(FacesContext context, UIComponent component) {
decodeSortingFiltering(context, component);
@@ -71,6 +64,7 @@
return result;
}
+ //TODO: anton -> refactor this
protected boolean isEncodeHeaders(UIDataTableBase table) {
return table.isColumnFacetPresent("header") || isHeaderFactoryColumnAttributePresent(table, "sortBy")
|| isHeaderFactoryColumnAttributePresent(table, "comparator")
@@ -85,18 +79,12 @@
return count;
}
- //TODO: anton - remove?
- public void encodeTableStructure(ResponseWriter writer, FacesContext context, UIDataTableBase dataTable) throws IOException {
- }
-
public void encodeTableFacets(ResponseWriter writer, FacesContext context, UIDataTableBase dataTable) throws IOException {
Object key = dataTable.getRowKey();
dataTable.captureOrigValue(context);
dataTable.setRowKey(context, null);
- encodeTableStructure(writer, context, dataTable);
-
String id = dataTable.getClientId(context);
setupTableStartElement(context, dataTable);
encodeHeaderFacet(writer, context, dataTable, false);
@@ -109,13 +97,11 @@
String cellClass = getCellSkinClass();
String firstClass = getFirstRowSkinClass();
- rowClass = mergeStyleClasses("rowClass", rowClass, dataTable);
- cellClass = mergeStyleClasses("cellClass", cellClass, dataTable);
- firstClass = mergeStyleClasses("firstRowClass", firstClass, dataTable);
+ rowClass = mergeStyleClasses(ROW_CLASS_KEY, rowClass, dataTable);
+ cellClass = mergeStyleClasses(CELL_CLASS_KEY, cellClass, dataTable);
+ firstClass = mergeStyleClasses(FIRST_ROW_CLASS_KEY, firstClass, dataTable);
saveRowStyles(context,id, firstClass, rowClass, cellClass);
-
-
}
@Override
@@ -161,7 +147,6 @@
}
}
-
public void encodeTableStart(ResponseWriter writer, FacesContext context, UIDataTableBase component) throws IOException {
writer.startElement(HTML.TABLE_ELEMENT, component);
@@ -183,8 +168,7 @@
writer.endElement(HTML.TD_ELEM);
writer.endElement(HTML.TR_ELEMENT);
writer.endElement(HTML.TBODY_ELEMENT);
-
-
+
writer.endElement(HTML.TABLE_ELEMENT);
}
@@ -195,17 +179,8 @@
throws IOException {
writer.startElement(HTML.TBODY_ELEMENT, dataTable);
getUtils().encodeId(context, dataTable);
-
- String predefinedStyles = null;
- if (dataTable instanceof UISubTable) {
- UISubTable subTable = (UISubTable) dataTable;
- writer.writeAttribute(HTML.CLASS_ATTRIBUTE, getTableSkinClass(), null);
- if (!subTable.isExpanded()) {
- predefinedStyles = "display: none;";
- }
- }
-
- encodeStyle(writer, context, dataTable, predefinedStyles);
+ writer.writeAttribute(HTML.CLASS_ATTRIBUTE, getTableSkinClass(), null);
+ encodeStyle(writer, context, dataTable, null);
}
public void encodeTableBodyEnd(ResponseWriter writer, FacesContext context, UIDataTableBase component) throws IOException {
@@ -432,15 +407,16 @@
getUtils().encodeAttribute(context, column, "colspan");
HeaderEncodeStrategy strategy = getHeaderEncodeStrategy(column, facetName);
- strategy.encodeBegin(context, writer, column, facetName);
-
- UIComponent facet = column.getFacet(facetName);
- if (facet != null && facet.isRendered()) {
- facet.encodeAll(context);
- }
-
- strategy.encodeEnd(context, writer, column, facetName);
-
+ if(strategy != null) {
+ strategy.encodeBegin(context, writer, column, facetName);
+
+ UIComponent facet = column.getFacet(facetName);
+ if (facet != null && facet.isRendered()) {
+ facet.encodeAll(context);
+ }
+
+ strategy.encodeEnd(context, writer, column, facetName);
+ }
writer.endElement(element);
}
}
Modified: root/ui-sandbox/tables/trunk/ui/src/main/java/org/richfaces/renderkit/DataTableRenderer.java
===================================================================
--- root/ui-sandbox/tables/trunk/ui/src/main/java/org/richfaces/renderkit/DataTableRenderer.java 2010-05-25 10:24:18 UTC (rev 17228)
+++ root/ui-sandbox/tables/trunk/ui/src/main/java/org/richfaces/renderkit/DataTableRenderer.java 2010-05-25 11:18:50 UTC (rev 17229)
@@ -83,7 +83,7 @@
public void encodeBeforeRows(ResponseWriter writer, FacesContext facesContext, RowHolderBase holder) throws IOException {
RowHolder rowHolder = (RowHolder)holder;
Row row = rowHolder.getRow();
-
+
if(!containRowChildren((UIDataTable)row)) {
encodeTableBodyStart(writer, facesContext, (UIDataTableBase)row);
rowHolder.add(HTML.TBODY_ELEMENT);
@@ -110,6 +110,7 @@
}
rowHolder.setRowStart(true);
+
Iterator<UIComponent> components = row.columns();
while (components.hasNext()) {
UIComponent child = components.next();
@@ -125,7 +126,7 @@
}
child.encodeAll(context);
} else if (child instanceof UIColumn) {
- rowHolder = encodeColumn(context, writer, (UIColumn) child, rowHolder);
+ encodeColumn(context, writer, (UIColumn) child, rowHolder);
if(!components.hasNext()) {
encodeRowEnd(writer, context, (UIColumn)child);
rowHolder.remove();
@@ -133,15 +134,12 @@
}
}
}
-
protected boolean containRowChildren(UIDataTable dataTable) {
Iterator<UIComponent> iterator = dataTable.columns();
while (iterator.hasNext()) {
UIComponent child = iterator.next();
- if(child instanceof Row) {
- return true;
- }
+ if(child instanceof Row) return true;
}
return false;
}
@@ -207,112 +205,27 @@
protected class RichHeaderEncodeStrategy implements HeaderEncodeStrategy {
public void encodeBegin(FacesContext context, ResponseWriter writer, UIComponent component, String facetName) throws IOException {
-
org.richfaces.component.UIColumn column = (org.richfaces.component.UIColumn) component;
-
+
writer.writeAttribute("id", column.getClientId(context), null);
boolean sortableColumn = isSortable(column);
-
-// if (sortableColumn && column.isSelfSorted()) {
-// FormUtil.throwEnclFormReqExceptionIfNeed(context, column.getParent());
-// TODO: anton - add "selfSorted = true" behavior;
-// writer.writeAttribute(HTML.ONCLICK_ATTRIBUTE, createFunction(context, col) , null);
-// writer.writeAttribute(HTML.STYLE_ATTRIBUTE, "cursor: pointer;", null);
-// }
-
-// writer.startElement(HTML.DIV_ELEM, column);
-// writer.writeAttribute(HTML.ID_ATTRIBUTE, clientId + SORT_DIV, null);
-
if (sortableColumn) {
+ //TODO :anton -> should component be selfSorted
writer.startElement(HTML.SPAN_ELEM, column);
writer.writeAttribute(HTML.CLASS_ATTRIBUTE, "rich-table-sortable-header", null);
}
}
public void encodeEnd(FacesContext context, ResponseWriter writer, UIComponent component, String facetName) throws IOException {
- /*
+
org.richfaces.component.UIColumn column = (org.richfaces.component.UIColumn) component;
-
if(isSortable(column)) {
-
- boolean enableAsc, enableDesc, enableUnsort;
-
- SortOrder sortOrder = column.getSortOrder();
-
- if(SortOrder.ASCENDING.equals(sortOrder)) {
- enableAsc = true;
- } else if(SortOrder.DESCENDING.equals(sortOrder)){
- enableDesc = true;
- } else {
- enableUnsort = true;
- }
-
-// encodeSortControls(context, writer, column, enableAsc, enableDesc, enableUnsort);
-
- //encode sorting hidden input
-
- writer.startElement(HTML.INPUT_ELEM, column);
- writer.writeAttribute(HTML.ID_ATTRIBUTE, column.getClientId(context) + ":sorting", null);
- writer.writeAttribute(HTML.NAME_ATTRIBUTE, column.getClientId(context) + ":sorting", null);
- writer.writeAttribute(HTML.TYPE_ATTR, "hidden",null);
- writer.writeAttribute(HTML.VALUE_ATTRIBUTE, sortOrder, null);
- writer.endElement(HTML.INPUT_ELEM);
-
+ writer.endElement(HTML.SPAN_ELEM);
}
-
- writer.endElement(HTML.SPAN_ELEM); */
}
public void encodeSortControls(FacesContext context, ResponseWriter writer, org.richfaces.component.UIColumn column, boolean enableAsc, boolean enableDesc, boolean enableUnsort) throws IOException {
- /*
- String sortIconAsc = column.getSortIconAsc();
- String sortIconDesc = column.getSortIconDesc();
- String sortIconUnsort = column.getSortIconUnsort();
-
- String clientId = column.getClientId(context);
-
- //TODO: anton - add styles attribute for sortControls
-
-
- //encode asc control
- writer.startElement(HTML.IMG_ELEMENT, column);
- writer.writeAttribute(HTML.ID_ATTRIBUTE, clientId + ":" + Ordering.ASCENDING, null);
- writer.writeAttribute(HTML.ALT_ATTRIBUTE, "", null);
- writer.writeAttribute(HTML.SRC_ATTRIBUTE, sortIconAsc, null);
- writer.writeAttribute(HTML.CLASS_ATTRIBUTE, "extdt-header-sort-img", null);
-
- if(!enableAsc) {
- writer.writeAttribute(HTML.STYLE_ATTRIBUTE, "display: none;", null);
- }
-
- writer.endElement(HTML.IMG_ELEMENT);
-
- //encode desc control
- writer.startElement(HTML.IMG_ELEMENT, column);
- writer.writeAttribute(HTML.ID_ATTRIBUTE, clientId + ":" + Ordering.DESCENDING, null);
- writer.writeAttribute(HTML.ALT_ATTRIBUTE, "", null);
- writer.writeAttribute(HTML.SRC_ATTRIBUTE, sortIconDesc, null);
- writer.writeAttribute(HTML.CLASS_ATTRIBUTE, "extdt-header-sort-img", null);
-
- if(!enableDesc) {
- writer.writeAttribute(HTML.STYLE_ATTRIBUTE, "display: none;", null);
- }
- writer.endElement(HTML.IMG_ELEMENT);
-
- //encode unsorted control
- writer.startElement(HTML.IMG_ELEMENT, column);
- writer.writeAttribute(HTML.ID_ATTRIBUTE, clientId + ":" + Ordering.UNSORTED, null);
- writer.writeAttribute(HTML.ALT_ATTRIBUTE, "", null);
- writer.writeAttribute(HTML.SRC_ATTRIBUTE, sortIconUnsort, null);
- writer.writeAttribute(HTML.CLASS_ATTRIBUTE, "extdt-header-sort-img", null);
-
- if(!enableUnsort) {
- writer.writeAttribute(HTML.STYLE_ATTRIBUTE, "display: none;", null);
- }
-
- writer.endElement(HTML.IMG_ELEMENT);
- */
}
}
Modified: root/ui-sandbox/tables/trunk/ui/src/main/java/org/richfaces/renderkit/DataTableRowsRenderer.java
===================================================================
--- root/ui-sandbox/tables/trunk/ui/src/main/java/org/richfaces/renderkit/DataTableRowsRenderer.java 2010-05-25 10:24:18 UTC (rev 17228)
+++ root/ui-sandbox/tables/trunk/ui/src/main/java/org/richfaces/renderkit/DataTableRowsRenderer.java 2010-05-25 11:18:50 UTC (rev 17229)
@@ -45,6 +45,13 @@
private static final String SORTING_STRING = "rich:sorting";
+ private static final String FILTER_VALUE_STRING = "filterValue";
+
+ private static final String SORT_ORDER_STRING = "sortOrder";
+
+ private static final String SORT_PRIORITY_STRING = "sortPriority";
+
+
private static final String SEPARATOR = ":";
protected void decodeSortingFiltering(FacesContext context, UIComponent component) {
@@ -71,13 +78,13 @@
for (Iterator<UIComponent> iterator = dataTableBase.columns(); iterator.hasNext();) {
UIComponent column = iterator.next();
if (values[0].equals(column.getId())) {
- updateAttribute(context, column, "filterValue", values[1]);
+ updateAttribute(context, column, FILTER_VALUE_STRING, values[1]);
} else {
- updateAttribute(context, column, "filterValue", null);
+ updateAttribute(context, column, FILTER_VALUE_STRING, null);
}
}
} else {
- updateAttribute(context, dataTableBase.findComponent(values[0]), "filterValue", values[1]);
+ updateAttribute(context, dataTableBase.findComponent(values[0]), FILTER_VALUE_STRING, values[1]);
}
context.getPartialViewContext().getRenderIds().add(dataTableBase.getClientId(context)); // TODO Use partial re-rendering here.
}
@@ -92,7 +99,7 @@
updateSortOrder(context, column, values[1]);
sortPriority.add(values[0]);
} else {
- updateAttribute(context, column, "sortOrder", SortOrder.UNSORTED);
+ updateAttribute(context, column, SORT_ORDER_STRING, SortOrder.UNSORTED);
}
}
} else {
@@ -104,7 +111,7 @@
}
sortPriority.add(values[0]);
}
- updateAttribute(context, dataTableBase, "sortPriority", sortPriority);
+ updateAttribute(context, dataTableBase, SORT_PRIORITY_STRING, sortPriority);
context.getPartialViewContext().getRenderIds().add(dataTableBase.getClientId(context)); // TODO Use partial re-rendering here.
}
@@ -114,11 +121,11 @@
sortOrder = SortOrder.valueOf(value);
} catch (IllegalArgumentException e) {
// If value isn't name of enum constant of SortOrder, toggle sortOrder of column.
- if (SortOrder.ASCENDING.equals(component.getAttributes().get("sortOrder"))) {
+ if (SortOrder.ASCENDING.equals(component.getAttributes().get(SORT_ORDER_STRING))) {
sortOrder = SortOrder.DESCENDING;
}
}
- updateAttribute(context, component, "sortOrder", sortOrder);
+ updateAttribute(context, component, SORT_ORDER_STRING, sortOrder);
}
protected void updateAttribute(FacesContext context, UIComponent component, String attribute, Object value) {
Modified: root/ui-sandbox/tables/trunk/ui/src/main/java/org/richfaces/renderkit/SubTableRenderer.java
===================================================================
--- root/ui-sandbox/tables/trunk/ui/src/main/java/org/richfaces/renderkit/SubTableRenderer.java 2010-05-25 10:24:18 UTC (rev 17228)
+++ root/ui-sandbox/tables/trunk/ui/src/main/java/org/richfaces/renderkit/SubTableRenderer.java 2010-05-25 11:18:50 UTC (rev 17229)
@@ -95,6 +95,19 @@
}
@Override
+ public void encodeTableBodyStart(ResponseWriter writer, FacesContext context, UIDataTableBase dataTable)
+ throws IOException {
+
+ UISubTable subTable = (UISubTable) dataTable;
+ writer.startElement(HTML.TBODY_ELEMENT, subTable);
+ getUtils().encodeId(context, subTable);
+
+ String predefinedStyles = !subTable.isExpanded() ? "display: none;" : null;
+ writer.writeAttribute(HTML.CLASS_ATTRIBUTE, getTableSkinClass(), null);
+ encodeStyle(writer, context, dataTable, predefinedStyles);
+ }
+
+ @Override
public RowHolderBase createRowHolder(FacesContext context, UIComponent component) {
return new RowHolder(context, (UISubTable)component);
}
14 years, 1 month
JBoss Rich Faces SVN: r17228 - root/core/trunk/impl/src/main/resources/META-INF/resources.
by richfaces-svn-commits@lists.jboss.org
Author: pyaschenko
Date: 2010-05-25 06:24:18 -0400 (Tue, 25 May 2010)
New Revision: 17228
Modified:
root/core/trunk/impl/src/main/resources/META-INF/resources/jquery.position.js
Log:
https://jira.jboss.org/browse/RF-8676
Modified: root/core/trunk/impl/src/main/resources/META-INF/resources/jquery.position.js
===================================================================
--- root/core/trunk/impl/src/main/resources/META-INF/resources/jquery.position.js 2010-05-25 09:57:23 UTC (rev 17227)
+++ root/core/trunk/impl/src/main/resources/META-INF/resources/jquery.position.js 2010-05-25 10:24:18 UTC (rev 17228)
@@ -286,6 +286,16 @@
pos = calculatePosition(rect, options.offset, winRect, {width:width, height:height}, options);
}
+ // jQuery does not support to get offset for hidden elements
+ // TODO add qunit test
+ var hideElement=false;
+ var eVisibility;
+ if (element.css("display")=="none") {
+ hideElement=true;
+ eVisibility = element.css("visibility");
+ element.css({'visibility':'hidden','display':''});
+ }
+
var elementOffset = element.offset();
pos.left += left - Math.floor(elementOffset.left);
pos.top += top - Math.floor(elementOffset.top);
@@ -296,6 +306,10 @@
if (top!=pos.top) {
element.css('top', (pos.top + 'px'));
}
+
+ if (hideElement) {
+ element.css({'visibility':eVisibility,'display':'none'});
+ }
};
})(jQuery);
14 years, 1 month
JBoss Rich Faces SVN: r17227 - in root/examples/richfaces-showcase/trunk/src/main: java/org/richfaces/demo/poll and 6 other directories.
by richfaces-svn-commits@lists.jboss.org
Author: ilya_shaikovsky
Date: 2010-05-25 05:57:23 -0400 (Tue, 25 May 2010)
New Revision: 17227
Added:
root/examples/richfaces-showcase/trunk/src/main/java/org/richfaces/demo/poll/
root/examples/richfaces-showcase/trunk/src/main/java/org/richfaces/demo/poll/PollBean.java
root/examples/richfaces-showcase/trunk/src/main/webapp/CSS/common.css
root/examples/richfaces-showcase/trunk/src/main/webapp/images/note_bg.gif
root/examples/richfaces-showcase/trunk/src/main/webapp/richfaces/poll/
root/examples/richfaces-showcase/trunk/src/main/webapp/richfaces/poll/poll.xhtml
Modified:
root/examples/richfaces-showcase/trunk/src/main/java/org/richfaces/demo/tables/data/carstore/InventoryVendorList.java
root/examples/richfaces-showcase/trunk/src/main/webapp/richfaces/dataTable/simpleTable.xhtml
root/examples/richfaces-showcase/trunk/src/main/webapp/richfaces/dataTable/tableFilteringAPI.xhtml
Log:
https://jira.jboss.org/browse/RF-8292
https://jira.jboss.org/browse/RF-8298
Added: root/examples/richfaces-showcase/trunk/src/main/java/org/richfaces/demo/poll/PollBean.java
===================================================================
--- root/examples/richfaces-showcase/trunk/src/main/java/org/richfaces/demo/poll/PollBean.java (rev 0)
+++ root/examples/richfaces-showcase/trunk/src/main/java/org/richfaces/demo/poll/PollBean.java 2010-05-25 09:57:23 UTC (rev 17227)
@@ -0,0 +1,57 @@
+/**
+ *
+ */
+package org.richfaces.demo.poll;
+
+import java.util.Date;
+
+import javax.faces.bean.ManagedBean;
+import javax.faces.bean.ViewScoped;
+
+/**
+ * @author Ilya Shaikovsky
+ *
+ */
+@ManagedBean
+@ViewScoped
+public class PollBean {
+
+ private Date pollStartTime;
+ private boolean pollEnabled;
+
+ public PollBean() {
+ pollEnabled = true;
+ }
+
+ public Date getDate() {
+ Date date = new Date();
+ if (null == pollStartTime) {
+ pollStartTime = new Date();
+ return date;
+ }
+ if ((date.getTime() - pollStartTime.getTime()) >= 60000) {
+ setPollEnabled(false);
+ }
+ return date;
+ }
+
+ public boolean getPollEnabled() {
+ return pollEnabled;
+ }
+
+ public void setPollEnabled(boolean pollEnabled) {
+ if (pollEnabled) {
+ setPollStartTime(null);
+ }
+ this.pollEnabled = pollEnabled;
+ }
+
+ public Date getPollStartTime() {
+ return pollStartTime;
+ }
+
+ public void setPollStartTime(Date pollStartTime) {
+ this.pollStartTime = pollStartTime;
+ }
+
+}
Modified: root/examples/richfaces-showcase/trunk/src/main/java/org/richfaces/demo/tables/data/carstore/InventoryVendorList.java
===================================================================
--- root/examples/richfaces-showcase/trunk/src/main/java/org/richfaces/demo/tables/data/carstore/InventoryVendorList.java 2010-05-25 08:45:36 UTC (rev 17226)
+++ root/examples/richfaces-showcase/trunk/src/main/java/org/richfaces/demo/tables/data/carstore/InventoryVendorList.java 2010-05-25 09:57:23 UTC (rev 17227)
@@ -7,6 +7,10 @@
private String vendor;
private List<InventoryVendorItem> vendorItems;
+ public InventoryVendorList() {
+ vendorItems = new ArrayList<InventoryVendorItem>();
+ }
+
public long getCount() {
if (vendorItems != null) {
return vendorItems.size();
@@ -15,10 +19,6 @@
}
}
- public InventoryVendorList() {
- vendorItems = new ArrayList<InventoryVendorItem>();
- }
-
public String getVendor() {
return vendor;
}
Added: root/examples/richfaces-showcase/trunk/src/main/webapp/CSS/common.css
===================================================================
--- root/examples/richfaces-showcase/trunk/src/main/webapp/CSS/common.css (rev 0)
+++ root/examples/richfaces-showcase/trunk/src/main/webapp/CSS/common.css 2010-05-25 09:57:23 UTC (rev 17227)
@@ -0,0 +1,5 @@
+.note{
+ padding : 15px 15px 15px 85px;
+ margin : 20px; border : 1px solid #ACBECE;
+ background: url(${facesContext.externalContext.requestContextPath}/images/note_bg.gif) top left no-repeat #F0F3F7
+}
Added: root/examples/richfaces-showcase/trunk/src/main/webapp/images/note_bg.gif
===================================================================
(Binary files differ)
Property changes on: root/examples/richfaces-showcase/trunk/src/main/webapp/images/note_bg.gif
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Modified: root/examples/richfaces-showcase/trunk/src/main/webapp/richfaces/dataTable/simpleTable.xhtml
===================================================================
--- root/examples/richfaces-showcase/trunk/src/main/webapp/richfaces/dataTable/simpleTable.xhtml 2010-05-25 08:45:36 UTC (rev 17226)
+++ root/examples/richfaces-showcase/trunk/src/main/webapp/richfaces/dataTable/simpleTable.xhtml 2010-05-25 09:57:23 UTC (rev 17227)
@@ -17,11 +17,11 @@
<h:form>
<tbl:dataTable value="#{carsBean.inventoryVendorLists}" var="list">
<f:facet name="header">
- <tbl:colGroup>
+ <tbl:columnGroup>
<tbl:column colspan="6">
<h:outputText value="Cars marketplace" />
</tbl:column>
- <tbl:column>
+ <tbl:column breakBefore="true">
<h:outputText value="Model" />
</tbl:column>
<tbl:column>
@@ -39,7 +39,7 @@
<tbl:column>
<h:outputText value="Days Live" />
</tbl:column>
- </tbl:colGroup>
+ </tbl:columnGroup>
</f:facet>
<tbl:column colspan="6">
<h:outputText value="#{list.vendor}" />
Modified: root/examples/richfaces-showcase/trunk/src/main/webapp/richfaces/dataTable/tableFilteringAPI.xhtml
===================================================================
--- root/examples/richfaces-showcase/trunk/src/main/webapp/richfaces/dataTable/tableFilteringAPI.xhtml 2010-05-25 08:45:36 UTC (rev 17226)
+++ root/examples/richfaces-showcase/trunk/src/main/webapp/richfaces/dataTable/tableFilteringAPI.xhtml 2010-05-25 09:57:23 UTC (rev 17227)
@@ -19,7 +19,7 @@
<ul>
<a4j:repeat value="#{carsBean.allVendors}" var="vendor">
<li><h:outputLink
- value="javascript:document.getElementById('form:table').richfaces.component.filter('vendor', '#{vendor}')">#{vendor}</h:outputLink>
+ value="javascript:document.getElementById('form:table').component.filter('vendor', '#{vendor}')">#{vendor}</h:outputLink>
</li>
</a4j:repeat>
</ul>
Added: root/examples/richfaces-showcase/trunk/src/main/webapp/richfaces/poll/poll.xhtml
===================================================================
--- root/examples/richfaces-showcase/trunk/src/main/webapp/richfaces/poll/poll.xhtml (rev 0)
+++ root/examples/richfaces-showcase/trunk/src/main/webapp/richfaces/poll/poll.xhtml 2010-05-25 09:57:23 UTC (rev 17227)
@@ -0,0 +1,50 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"
+ xmlns:h="http://java.sun.com/jsf/html"
+ xmlns:f="http://java.sun.com/jsf/core"
+ xmlns:ui="http://java.sun.com/jsf/facelets"
+ xmlns:a4j="http://richfaces.org/a4j"
+ xmlns:rich="http://java.sun.com/jsf/composite/rich">
+
+<ui:composition>
+ <p>a4j:poll is one of the way how you can organize the periodical
+ polling of server data and updating the page. a4j:poll is a standard
+ RichFaces Ajax component. Thus, you can use the same approach as for
+ a4j:commandButton for example. I.e. you can use action attribute to
+ invoke the action method and reRender attribute to update area(s) on
+ the client when Ajax Response returns back. RichFaces uses the standard
+ form based request, so the form around the a4j:poll component is
+ required.</p>
+ <p>The following example shows how the date and time is updated on
+ the page based on the data taken from the server. To turn off polling,
+ press "Stop Polling" button.</p>
+ <h:form>
+
+ </h:form>
+ <h:form>
+ <h:panelGrid columns="2" width="80%" id="grid">
+ <h:panelGrid columns="1">
+
+ <h:outputText value="Polling Inactive"
+ rendered="#{not pollBean.pollEnabled}"></h:outputText>
+
+ <h:outputText value="Polling Active"
+ rendered="#{pollBean.pollEnabled}"></h:outputText>
+
+ <a4j:commandButton style="width:120px" id="control"
+ value="#{pollBean.pollEnabled?'Stop':'Start'} Polling"
+ reRender="poll, grid">
+
+ </a4j:commandButton>
+
+ </h:panelGrid>
+
+ <h:outputText id="serverDate" style="font-size:16px"
+ value="Server Date: #{pollBean.date}" />
+ </h:panelGrid>
+ </h:form>
+ <rich:panel bodyClass="note">
+ <b>NOTE:</b>polling is automatically disabled in this demo after one minute of working.
+ </rich:panel>
+</ui:composition>
+</html>
\ No newline at end of file
14 years, 1 month