[richfaces-svn-commits] JBoss Rich Faces SVN: r2949 - in trunk: extensions/gwt and 69 other directories.
richfaces-svn-commits at lists.jboss.org
richfaces-svn-commits at lists.jboss.org
Fri Sep 14 20:10:06 EDT 2007
Author: alexsmirnov
Date: 2007-09-14 20:10:06 -0400 (Fri, 14 Sep 2007)
New Revision: 2949
Added:
trunk/samples/richfaces-ear-demo/ejb/src/main/resources/META-INF/MANIFEST.MF
trunk/samples/richfaces-ear-demo/webapp/src/main/resources/META-INF/
trunk/samples/richfaces-ear-demo/webapp/src/main/resources/META-INF/MANIFEST.MF
trunk/sandbox/samples/dialog-window-sample/
trunk/sandbox/samples/dialog-window-sample/.svnignore
trunk/sandbox/samples/dialog-window-sample/pom.xml
trunk/sandbox/samples/dialog-window-sample/src/
trunk/sandbox/samples/dialog-window-sample/src/main/
trunk/sandbox/samples/dialog-window-sample/src/main/webapp/
trunk/sandbox/samples/dialog-window-sample/src/main/webapp/META-INF/
trunk/sandbox/samples/dialog-window-sample/src/main/webapp/META-INF/MANIFEST.MF
trunk/sandbox/samples/dialog-window-sample/src/main/webapp/WEB-INF/
trunk/sandbox/samples/dialog-window-sample/src/main/webapp/WEB-INF/faces-config.xml
trunk/sandbox/samples/dialog-window-sample/src/main/webapp/WEB-INF/faces-config.xml.l4t
trunk/sandbox/samples/dialog-window-sample/src/main/webapp/WEB-INF/web.xml
trunk/sandbox/samples/dialog-window-sample/src/main/webapp/dialog.xhtml
trunk/sandbox/samples/dialog-window-sample/src/main/webapp/index.jsp
trunk/sandbox/samples/dialog-window-sample/src/main/webapp/panel.xhtml
trunk/sandbox/samples/dialog-window-sample/src/main/webapp/panel2.xhtml
trunk/sandbox/ui/dialog-window/
trunk/sandbox/ui/dialog-window/pom.xml
trunk/sandbox/ui/dialog-window/src/
trunk/sandbox/ui/dialog-window/src/main/
trunk/sandbox/ui/dialog-window/src/main/config/
trunk/sandbox/ui/dialog-window/src/main/config/component/
trunk/sandbox/ui/dialog-window/src/main/config/component/dialog-button.xml
trunk/sandbox/ui/dialog-window/src/main/config/component/dialog-close-button.xml
trunk/sandbox/ui/dialog-window/src/main/config/component/dialog-close.xml
trunk/sandbox/ui/dialog-window/src/main/config/component/dialog-link.xml
trunk/sandbox/ui/dialog-window/src/main/config/component/dialog-vertical-filler.xml
trunk/sandbox/ui/dialog-window/src/main/config/component/dialog-window-button.xml
trunk/sandbox/ui/dialog-window/src/main/config/component/dialog-window-output-link.xml
trunk/sandbox/ui/dialog-window/src/main/config/component/dialog-window.xml
trunk/sandbox/ui/dialog-window/src/main/java/
trunk/sandbox/ui/dialog-window/src/main/java/org/
trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/
trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/component/
trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/component/ActionPrefixHolder.java
trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/component/DialogActionState.java
trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/component/DialogCloseEvent.java
trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/component/DialogCloseListener.java
trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/component/DialogCloseListenerImpl.java
trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/component/DialogContext.java
trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/component/DialogContextManager.java
trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/component/DialogEvent.java
trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/component/DialogOpenEvent.java
trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/component/DialogOpenListener.java
trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/component/DialogOpenListenerImpl.java
trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/component/DialogWindowClosedEvent.java
trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/component/UIDialogAction.java
trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/component/UIDialogButton.java
trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/component/UIDialogClose.java
trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/component/UIDialogCloseButton.java
trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/component/UIDialogLink.java
trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/component/UIDialogVerticalFiller.java
trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/component/UIDialogWindow.java
trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/component/UIDialogWindowButton.java
trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/component/UIDialogWindowOutputLink.java
trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/component/UIOutputLink.java
trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/renderkit/
trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/renderkit/DialogBaseActionRenderer.java
trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/renderkit/DialogButtonRenderer.java
trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/renderkit/DialogCloseRenderer.java
trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/renderkit/DialogLinkRenderer.java
trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/renderkit/DialogMethodBinding.java
trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/renderkit/DialogVerticalFillerRenderer.java
trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/renderkit/DialogWindowOutputLinkRenderer.java
trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/renderkit/DialogWindowRenderer.java
trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/renderkit/DialogWindowUtils.java
trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/taglib/
trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/taglib/DialogWindowComponentHandler.java
trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/taglib/DialogWindowTagBase.java
trunk/sandbox/ui/dialog-window/src/main/resources/
trunk/sandbox/ui/dialog-window/src/main/resources/org/
trunk/sandbox/ui/dialog-window/src/main/resources/org/richfaces/
trunk/sandbox/ui/dialog-window/src/main/resources/org/richfaces/renderkit/
trunk/sandbox/ui/dialog-window/src/main/resources/org/richfaces/renderkit/images/
trunk/sandbox/ui/dialog-window/src/main/resources/org/richfaces/renderkit/images/spacer.gif
trunk/sandbox/ui/dialog-window/src/main/resources/org/richfaces/renderkit/script/
trunk/sandbox/ui/dialog-window/src/main/resources/org/richfaces/renderkit/script/dialog-button.js
trunk/sandbox/ui/dialog-window/src/main/resources/org/richfaces/renderkit/script/dialog-close.js
trunk/sandbox/ui/dialog-window/src/main/resources/org/richfaces/renderkit/script/dialog-link.js
trunk/sandbox/ui/dialog-window/src/main/resources/org/richfaces/renderkit/script/dialog-window.js
trunk/sandbox/ui/dialog-window/src/main/resources/org/richfaces/renderkit/style/
trunk/sandbox/ui/dialog-window/src/main/resources/org/richfaces/renderkit/style/dialog-window.css
trunk/sandbox/ui/dialog-window/src/main/resources/org/richfaces/renderkit/style/tmp
trunk/sandbox/ui/dialog-window/src/main/templates/
trunk/sandbox/ui/dialog-window/src/main/templates/dialog-button.xhtml
trunk/sandbox/ui/dialog-window/src/main/templates/dialog-close-button.xhtml
trunk/sandbox/ui/dialog-window/src/main/templates/dialog-close.xhtml
trunk/sandbox/ui/dialog-window/src/main/templates/dialog-link.xhtml
trunk/sandbox/ui/dialog-window/src/main/templates/dialog-vertical-filler.xhtml
trunk/sandbox/ui/dialog-window/src/main/templates/dialog-window-button.xhtml
trunk/sandbox/ui/dialog-window/src/main/templates/dialog-window-output-link.xhtml
trunk/sandbox/ui/dialog-window/src/main/templates/dialog-window.xhtml
trunk/sandbox/ui/dialog-window/src/test/
trunk/sandbox/ui/dialog-window/src/test/java/
trunk/sandbox/ui/dialog-window/src/test/java/package.html
trunk/ui/dropdown-menu/src/main/config/resources/
trunk/ui/dropdown-menu/src/main/config/resources/resources-config.xml
Removed:
trunk/samples/richfaces-ear-demo/ejb/src/main/java/META-INF/MANIFEST.MF
Modified:
trunk/cdk/maven-archetype-jsf-component/src/main/resources/archetype-resources/pom.xml
trunk/extensions/gwt/pom.xml
trunk/extensions/seam/pom.xml
trunk/extensions/trinidad/pom.xml
trunk/framework/api-parent/pom.xml
trunk/framework/impl-parent/pom.xml
trunk/framework/impl/pom.xml
trunk/samples/ajaxPortlet/pom.xml
trunk/samples/pom.xml
trunk/samples/portal-echo/pom.xml
trunk/samples/richfaces-art-datatable/pom.xml
trunk/samples/richfaces-ear-demo/ejb/pom.xml
trunk/samples/richfaces-ear-demo/ejb/src/main/java/org/richfaces/samples/Guess.java
trunk/samples/richfaces-ear-demo/pom.xml
trunk/samples/richfaces-ear-demo/richfacesEAR/pom.xml
trunk/samples/richfaces-ear-demo/webapp/pom.xml
trunk/samples/richfaces-ear-demo/webapp/src/main/java/org/richfaces/samples/GuessViewBean.java
trunk/samples/scrollableDataTableDemo/pom.xml
trunk/samples/seamEAR/ear/pom.xml
trunk/samples/seamEAR/ejbs/pom.xml
trunk/samples/seamEAR/pom.xml
trunk/samples/seamEAR/primary-source/pom.xml
trunk/samples/seamEAR/projects/logging/pom.xml
trunk/samples/seamEAR/projects/pom.xml
trunk/samples/seamEAR/wars/pom.xml
trunk/samples/seamEAR/wars/seamWebapp/pom.xml
trunk/samples/seamIntegration/pom.xml
trunk/samples/tomahawkCompability/pom.xml
trunk/samples/useCases/pom.xml
trunk/samples/virtualEarth-sample/pom.xml
trunk/sandbox/samples/rich-message-demo/pom.xml
trunk/test-applications/facelets/pom.xml
trunk/test-applications/jsp/pom.xml
trunk/test-applications/pom.xml
trunk/ui/dataTable/pom.xml
trunk/ui/drag-drop/pom.xml
Log:
Fix all versions to 3.1.1-SNAPSHOT
import dialog vindow component from VCP 2.0 to sandbox.
continue development for EAR sample project
Modified: trunk/cdk/maven-archetype-jsf-component/src/main/resources/archetype-resources/pom.xml
===================================================================
--- trunk/cdk/maven-archetype-jsf-component/src/main/resources/archetype-resources/pom.xml 2007-09-14 17:58:30 UTC (rev 2948)
+++ trunk/cdk/maven-archetype-jsf-component/src/main/resources/archetype-resources/pom.xml 2007-09-15 00:10:06 UTC (rev 2949)
@@ -10,7 +10,7 @@
<plugin>
<groupId>org.richfaces.cdk</groupId>
<artifactId>maven-cdk-plugin</artifactId>
- <version>3.1.0-SNAPSHOT</version>
+ <version>3.1.1-SNAPSHOT</version>
<configuration>
<library>
<prefix>${groupId}</prefix>
Modified: trunk/extensions/gwt/pom.xml
===================================================================
--- trunk/extensions/gwt/pom.xml 2007-09-14 17:58:30 UTC (rev 2948)
+++ trunk/extensions/gwt/pom.xml 2007-09-15 00:10:06 UTC (rev 2949)
@@ -3,7 +3,7 @@
<parent>
<artifactId>master</artifactId>
<groupId>org.richfaces</groupId>
- <version>3.1.0-SNAPSHOT</version>
+ <version>3.1.1-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<groupId>org.richfaces</groupId>
@@ -99,7 +99,7 @@
<dependency>
<groupId>org.richfaces</groupId>
<artifactId>ajax4jsf</artifactId>
- <version>3.1.0-SNAPSHOT</version>
+ <version>3.1.1-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>com.sun.facelets</groupId>
Modified: trunk/extensions/seam/pom.xml
===================================================================
--- trunk/extensions/seam/pom.xml 2007-09-14 17:58:30 UTC (rev 2948)
+++ trunk/extensions/seam/pom.xml 2007-09-15 00:10:06 UTC (rev 2949)
@@ -35,7 +35,7 @@
<dependency>
<groupId>org.richfaces</groupId>
<artifactId>ajax4jsf</artifactId>
- <version>3.1.0-SNAPSHOT</version>
+ <version>3.1.1-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>jboss</groupId>
Modified: trunk/extensions/trinidad/pom.xml
===================================================================
--- trunk/extensions/trinidad/pom.xml 2007-09-14 17:58:30 UTC (rev 2948)
+++ trunk/extensions/trinidad/pom.xml 2007-09-15 00:10:06 UTC (rev 2949)
@@ -35,7 +35,7 @@
<dependency>
<groupId>org.richfaces</groupId>
<artifactId>ajax4jsf</artifactId>
- <version>3.1.0-SNAPSHOT</version>
+ <version>3.1.1-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>org.apache.myfaces.trinidad</groupId>
Modified: trunk/framework/api-parent/pom.xml
===================================================================
--- trunk/framework/api-parent/pom.xml 2007-09-14 17:58:30 UTC (rev 2948)
+++ trunk/framework/api-parent/pom.xml 2007-09-15 00:10:06 UTC (rev 2949)
@@ -4,13 +4,13 @@
<parent>
<artifactId>framework</artifactId>
<groupId>org.richfaces</groupId>
- <version>3.1.0-SNAPSHOT</version>
+ <version>3.1.1-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<groupId>org.richfaces.framework</groupId>
<packaging>pom</packaging>
<artifactId>api-parent</artifactId>
- <version>3.1.0-SNAPSHOT</version>
+ <version>3.1.1-SNAPSHOT</version>
<name>Java Server Faces AJAX framework API Dependencies</name>
<properties>
<jsfVersion>1.1</jsfVersion>
Modified: trunk/framework/impl/pom.xml
===================================================================
--- trunk/framework/impl/pom.xml 2007-09-14 17:58:30 UTC (rev 2948)
+++ trunk/framework/impl/pom.xml 2007-09-15 00:10:06 UTC (rev 2949)
@@ -3,7 +3,7 @@
<parent>
<artifactId>impl-parent</artifactId>
<groupId>org.richfaces.framework</groupId>
- <version>3.1.0-SNAPSHOT</version>
+ <version>3.1.1-SNAPSHOT</version>
<relativePath>../impl-parent/pom.xml</relativePath>
</parent>
-->
Modified: trunk/framework/impl-parent/pom.xml
===================================================================
--- trunk/framework/impl-parent/pom.xml 2007-09-14 17:58:30 UTC (rev 2948)
+++ trunk/framework/impl-parent/pom.xml 2007-09-15 00:10:06 UTC (rev 2949)
@@ -5,12 +5,12 @@
<parent>
<artifactId>framework</artifactId>
<groupId>org.richfaces</groupId>
- <version>3.1.0-SNAPSHOT</version>
+ <version>3.1.1-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<groupId>org.richfaces.framework</groupId>
<artifactId>impl-parent</artifactId>
- <version>3.1.0-SNAPSHOT</version>
+ <version>3.1.1-SNAPSHOT</version>
<packaging>pom</packaging>
<name>
Java Server Faces AJAX framework implementation parent file
@@ -203,7 +203,7 @@
<dependency>
<groupId>org.richfaces.framework</groupId>
<artifactId>richfaces-api</artifactId>
- <version>3.1.0-SNAPSHOT</version>
+ <version>3.1.1-SNAPSHOT</version>
</dependency>
</dependencies>
<properties>
Modified: trunk/samples/ajaxPortlet/pom.xml
===================================================================
--- trunk/samples/ajaxPortlet/pom.xml 2007-09-14 17:58:30 UTC (rev 2948)
+++ trunk/samples/ajaxPortlet/pom.xml 2007-09-15 00:10:06 UTC (rev 2949)
@@ -5,12 +5,12 @@
<parent>
<artifactId>samples</artifactId>
<groupId>org.richfaces</groupId>
- <version>3.1.0-SNAPSHOT</version>
+ <version>3.1.1-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<groupId>org.richfaces.samples</groupId>
<artifactId>portalAjaxSample</artifactId>
- <version>3.1.0-SNAPSHOT</version>
+ <version>3.1.1-SNAPSHOT</version>
<packaging>war</packaging>
<description>Ajax JSF sample portlet</description>
<build>
@@ -27,7 +27,7 @@
<dependency>
<groupId>org.richfaces.extensions</groupId>
<artifactId>portlet</artifactId>
- <version>3.1.0-SNAPSHOT</version>
+ <version>3.1.1-SNAPSHOT</version>
<exclusions>
<exclusion>
<groupId>javax.faces</groupId>
@@ -42,7 +42,7 @@
<dependency>
<groupId>org.richfaces.ui</groupId>
<artifactId>richfaces-ui</artifactId>
- <version>3.1.0-SNAPSHOT</version>
+ <version>3.1.1-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>javax.faces</groupId>
Modified: trunk/samples/pom.xml
===================================================================
--- trunk/samples/pom.xml 2007-09-14 17:58:30 UTC (rev 2948)
+++ trunk/samples/pom.xml 2007-09-15 00:10:06 UTC (rev 2949)
@@ -361,7 +361,7 @@
<dependency>
<groupId>org.richfaces.framework</groupId>
<artifactId>richfaces-impl</artifactId>
- <version>3.1.0-SNAPSHOT</version>
+ <version>3.1.1-SNAPSHOT</version>
<exclusions>
<exclusion>
<groupId>javax.faces</groupId>
Modified: trunk/samples/portal-echo/pom.xml
===================================================================
--- trunk/samples/portal-echo/pom.xml 2007-09-14 17:58:30 UTC (rev 2948)
+++ trunk/samples/portal-echo/pom.xml 2007-09-15 00:10:06 UTC (rev 2949)
@@ -5,13 +5,13 @@
<parent>
<artifactId>samples</artifactId>
<groupId>org.richfaces</groupId>
- <version>3.1.0-SNAPSHOT</version>
+ <version>3.1.1-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<groupId>org.richfaces.samples</groupId>
<artifactId>portal-echo</artifactId>
<packaging>war</packaging>
- <version>3.1.0-SNAPSHOT</version>
+ <version>3.1.1-SNAPSHOT</version>
<description>Ajax JSF sample portlet</description>
<build>
<defaultGoal>package</defaultGoal>
Modified: trunk/samples/richfaces-art-datatable/pom.xml
===================================================================
--- trunk/samples/richfaces-art-datatable/pom.xml 2007-09-14 17:58:30 UTC (rev 2948)
+++ trunk/samples/richfaces-art-datatable/pom.xml 2007-09-15 00:10:06 UTC (rev 2949)
@@ -3,19 +3,19 @@
<parent>
<artifactId>samples</artifactId>
<groupId>org.richfaces</groupId>
- <version>3.1.0-SNAPSHOT</version>
+ <version>3.1.1-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<groupId>org.richfaces.samples</groupId>
<artifactId>richfaces-art-datatable</artifactId>
- <version>3.1.0-SNAPSHOT</version>
+ <version>3.1.1-SNAPSHOT</version>
<packaging>war</packaging>
<name>richfaces-art-datatableDemo Maven Webapp</name>
<dependencies>
<dependency>
<groupId>org.richfaces.ui</groupId>
<artifactId>richfaces-ui</artifactId>
- <version>3.1.0-SNAPSHOT</version>
+ <version>3.1.1-SNAPSHOT</version>
</dependency>
</dependencies>
<build>
Modified: trunk/samples/richfaces-ear-demo/ejb/pom.xml
===================================================================
--- trunk/samples/richfaces-ear-demo/ejb/pom.xml 2007-09-14 17:58:30 UTC (rev 2948)
+++ trunk/samples/richfaces-ear-demo/ejb/pom.xml 2007-09-15 00:10:06 UTC (rev 2949)
@@ -4,14 +4,14 @@
<parent>
<artifactId>richfaces-ear-demo</artifactId>
<groupId>org.richfaces.samples</groupId>
- <version>3.1.0-SNAPSHOT</version>
+ <version>3.1.1-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<groupId>org.richfaces.samples.richfaces-ear-demo</groupId>
<artifactId>ejb</artifactId>
<packaging>ejb</packaging>
<name>ejb</name>
- <version>3.1.0-SNAPSHOT</version>
+ <version>3.1.1-SNAPSHOT</version>
<url>http://maven.apache.org</url>
<dependencies>
<dependency>
@@ -23,7 +23,7 @@
<dependency>
<groupId>org.richfaces.framework</groupId>
<artifactId>richfaces-api</artifactId>
- <version>3.1.0-SNAPSHOT</version>
+ <version>3.1.1-SNAPSHOT</version>
<exclusions>
<exclusion>
<groupId>javax.faces</groupId>
Deleted: trunk/samples/richfaces-ear-demo/ejb/src/main/java/META-INF/MANIFEST.MF
===================================================================
--- trunk/samples/richfaces-ear-demo/ejb/src/main/java/META-INF/MANIFEST.MF 2007-09-14 17:58:30 UTC (rev 2948)
+++ trunk/samples/richfaces-ear-demo/ejb/src/main/java/META-INF/MANIFEST.MF 2007-09-15 00:10:06 UTC (rev 2949)
@@ -1,3 +0,0 @@
-Manifest-Version: 1.0
-Class-Path:
-
Modified: trunk/samples/richfaces-ear-demo/ejb/src/main/java/org/richfaces/samples/Guess.java
===================================================================
--- trunk/samples/richfaces-ear-demo/ejb/src/main/java/org/richfaces/samples/Guess.java 2007-09-14 17:58:30 UTC (rev 2948)
+++ trunk/samples/richfaces-ear-demo/ejb/src/main/java/org/richfaces/samples/Guess.java 2007-09-15 00:10:06 UTC (rev 2949)
@@ -6,6 +6,7 @@
import javax.ejb.Local;
import javax.ejb.LocalHome;
import javax.ejb.Remote;
+import javax.ejb.Remove;
/**
* @author asmirnov
@@ -68,4 +69,7 @@
public int guess();
+ @Remove
+ public void destroy();
+
}
Copied: trunk/samples/richfaces-ear-demo/ejb/src/main/resources/META-INF/MANIFEST.MF (from rev 2948, trunk/samples/richfaces-ear-demo/ejb/src/main/java/META-INF/MANIFEST.MF)
===================================================================
--- trunk/samples/richfaces-ear-demo/ejb/src/main/resources/META-INF/MANIFEST.MF (rev 0)
+++ trunk/samples/richfaces-ear-demo/ejb/src/main/resources/META-INF/MANIFEST.MF 2007-09-15 00:10:06 UTC (rev 2949)
@@ -0,0 +1,8 @@
+Manifest-Version: 1.0
+Archiver-Version: Plexus Archiver
+Created-By: Apache Maven
+Built-By: asmirnov
+Build-Jdk: 1.5.0_11
+Class-Path: commons-logging-1.0.3.jar richfaces-api-3.1.1-SNAPSHOT.jar
+ commons-collections-3.2.jar commons-beanutils-1.7.0.jar
+
Modified: trunk/samples/richfaces-ear-demo/pom.xml
===================================================================
--- trunk/samples/richfaces-ear-demo/pom.xml 2007-09-14 17:58:30 UTC (rev 2948)
+++ trunk/samples/richfaces-ear-demo/pom.xml 2007-09-15 00:10:06 UTC (rev 2949)
@@ -4,14 +4,14 @@
<parent>
<artifactId>root</artifactId>
<groupId>org.richfaces</groupId>
- <version>3.1.0-SNAPSHOT</version>
+ <version>3.1.1-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<groupId>org.richfaces.samples</groupId>
<artifactId>richfaces-ear-demo</artifactId>
<name>JSF 1.2/Jee5 enterprise application demo</name>
<packaging>pom</packaging>
- <version>3.1.0-SNAPSHOT</version>
+ <version>3.1.1-SNAPSHOT</version>
<build>
<pluginManagement>
<plugins>
Modified: trunk/samples/richfaces-ear-demo/richfacesEAR/pom.xml
===================================================================
--- trunk/samples/richfaces-ear-demo/richfacesEAR/pom.xml 2007-09-14 17:58:30 UTC (rev 2948)
+++ trunk/samples/richfaces-ear-demo/richfacesEAR/pom.xml 2007-09-15 00:10:06 UTC (rev 2949)
@@ -1,56 +1,66 @@
<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/maven-v4_0_0.xsd">
- <parent>
- <artifactId>richfaces-ear-demo</artifactId>
- <groupId>org.richfaces.samples</groupId>
- <version>3.1.0-SNAPSHOT</version>
- </parent>
- <modelVersion>4.0.0</modelVersion>
- <groupId>org.richfaces.samples.richfaces-ear-demo</groupId>
- <artifactId>richfacesEAR</artifactId>
- <name>richfacesEAR</name>
- <packaging>ear</packaging>
- <version>3.1.0-SNAPSHOT</version>
- <url>http://maven.apache.org</url>
- <dependencies>
- <dependency>
- <groupId>org.richfaces.samples.richfaces-ear-demo</groupId>
- <artifactId>ejb</artifactId>
- <version>3.1.0-SNAPSHOT</version>
- <type>ejb</type>
- </dependency>
- <dependency>
- <groupId>org.richfaces.samples.richfaces-ear-demo</groupId>
- <artifactId>webapp</artifactId>
- <version>3.1.0-SNAPSHOT</version>
- <type>war</type>
- </dependency>
- </dependencies>
- <build>
- <plugins>
- <plugin>
- <artifactId>maven-ear-plugin</artifactId>
- <configuration>
- <defaultLibBundleDir>lib</defaultLibBundleDir>
- <modules>
- <ejbModule>
- <groupId>org.richfaces.samples.richfaces-ear-demo</groupId>
- <artifactId>ejb</artifactId>
- <bundleDir>/</bundleDir>
- </ejbModule>
- <jarModule>
- <groupId>org.richfaces.framework</groupId>
- <artifactId>richfaces-api</artifactId>
- <includeInApplicationXml>
- true
- </includeInApplicationXml>
- <bundleDir>/</bundleDir>
- </jarModule>
- </modules>
- <version>5</version>
- </configuration>
- </plugin>
- </plugins>
- </build>
+ <parent>
+ <artifactId>richfaces-ear-demo</artifactId>
+ <groupId>org.richfaces.samples</groupId>
+ <version>3.1.1-SNAPSHOT</version>
+ </parent>
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>org.richfaces.samples.richfaces-ear-demo</groupId>
+ <artifactId>richfacesEAR</artifactId>
+ <name>richfacesEAR</name>
+ <packaging>ear</packaging>
+ <version>3.1.1-SNAPSHOT</version>
+ <url>http://maven.apache.org</url>
+ <dependencies>
+ <dependency>
+ <groupId>org.richfaces.samples.richfaces-ear-demo</groupId>
+ <artifactId>ejb</artifactId>
+ <version>3.1.1-SNAPSHOT</version>
+ <type>ejb</type>
+ </dependency>
+ <dependency>
+ <groupId>org.richfaces.samples.richfaces-ear-demo</groupId>
+ <artifactId>ejb</artifactId>
+ <version>3.1.1-SNAPSHOT</version>
+ <type>ejb-client</type>
+ </dependency>
+ <dependency>
+ <groupId>org.richfaces.samples.richfaces-ear-demo</groupId>
+ <artifactId>webapp</artifactId>
+ <version>3.1.1-SNAPSHOT</version>
+ <type>war</type>
+ </dependency>
+ </dependencies>
+ <build>
+ <plugins>
+ <plugin>
+ <artifactId>maven-ear-plugin</artifactId>
+ <configuration>
+ <defaultLibBundleDir>lib</defaultLibBundleDir>
+ <modules>
+ <ejbModule>
+ <groupId>
+ org.richfaces.samples.richfaces-ear-demo
+ </groupId>
+ <artifactId>ejb</artifactId>
+ <bundleDir>/</bundleDir>
+ </ejbModule>
+ <!--
+ <jarModule>
+ <groupId>org.richfaces.framework</groupId>
+ <artifactId>richfaces-api</artifactId>
+ <includeInApplicationXml>
+ true
+ </includeInApplicationXml>
+ <bundleDir>/</bundleDir>
+ </jarModule>
+ -->
+ </modules>
+ <version>5</version>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
</project>
\ No newline at end of file
Modified: trunk/samples/richfaces-ear-demo/webapp/pom.xml
===================================================================
--- trunk/samples/richfaces-ear-demo/webapp/pom.xml 2007-09-14 17:58:30 UTC (rev 2948)
+++ trunk/samples/richfaces-ear-demo/webapp/pom.xml 2007-09-15 00:10:06 UTC (rev 2949)
@@ -4,14 +4,14 @@
<parent>
<artifactId>richfaces-ear-demo</artifactId>
<groupId>org.richfaces.samples</groupId>
- <version>3.1.0-SNAPSHOT</version>
+ <version>3.1.1-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<groupId>org.richfaces.samples.richfaces-ear-demo</groupId>
<artifactId>webapp</artifactId>
<packaging>war</packaging>
<name>webapp Maven Webapp</name>
- <version>3.1.0-SNAPSHOT</version>
+ <version>3.1.1-SNAPSHOT</version>
<url>http://maven.apache.org</url>
<build>
<finalName>webapp</finalName>
@@ -24,6 +24,18 @@
<target>1.5</target>
</configuration>
</plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-war-plugin</artifactId>
+ <configuration>
+ <archive>
+ <manifest>
+ <addClasspath>true</addClasspath>
+ <classpathPrefix>lib/</classpathPrefix>
+ </manifest>
+ </archive>
+ </configuration>
+ </plugin>
</plugins>
</build>
<dependencies>
@@ -36,18 +48,18 @@
<dependency>
<groupId>org.richfaces.framework</groupId>
<artifactId>richfaces-impl</artifactId>
- <version>3.1.0-SNAPSHOT</version>
+ <version>3.1.1-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>org.richfaces.ui</groupId>
<artifactId>richfaces-ui</artifactId>
- <version>3.1.0-SNAPSHOT</version>
+ <version>3.1.1-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>org.richfaces.framework</groupId>
<artifactId>richfaces-api</artifactId>
- <version>3.1.0-SNAPSHOT</version>
- <scope>provided</scope>
+ <version>3.1.1-SNAPSHOT</version>
+ <optional>true</optional>
</dependency>
<dependency>
<groupId>javax.ejb</groupId>
@@ -56,12 +68,14 @@
<scope>provided</scope>
<optional>true</optional>
</dependency>
- <dependency>
+ <dependency>
<groupId>org.richfaces.samples.richfaces-ear-demo</groupId>
<artifactId>ejb</artifactId>
- <version>3.1.0-SNAPSHOT</version>
+ <version>3.1.1-SNAPSHOT</version>
<type>ejb-client</type>
- </dependency>
+ <scope>provided</scope>
+ <optional>true</optional>
+ </dependency>
<dependency>
<groupId>com.sun.facelets</groupId>
<artifactId>jsf-facelets</artifactId>
Modified: trunk/samples/richfaces-ear-demo/webapp/src/main/java/org/richfaces/samples/GuessViewBean.java
===================================================================
--- trunk/samples/richfaces-ear-demo/webapp/src/main/java/org/richfaces/samples/GuessViewBean.java 2007-09-14 17:58:30 UTC (rev 2948)
+++ trunk/samples/richfaces-ear-demo/webapp/src/main/java/org/richfaces/samples/GuessViewBean.java 2007-09-15 00:10:06 UTC (rev 2949)
@@ -3,16 +3,21 @@
*/
package org.richfaces.samples;
+import java.io.Serializable;
+
import javax.faces.FacesException;
import javax.naming.InitialContext;
import javax.naming.NameNotFoundException;
import javax.naming.NamingException;
+import javax.servlet.http.HttpSessionActivationListener;
+import javax.servlet.http.HttpSessionEvent;
/**
* @author asmirnov
*
*/
-public class GuessViewBean {
+public class GuessViewBean implements Serializable,
+ HttpSessionActivationListener {
private Guess guess;
@@ -110,4 +115,19 @@
getGuess().start();
}
+ public void sessionDidActivate(HttpSessionEvent se) {
+ // do nothing.
+
+ }
+
+ public void sessionWillPassivate(HttpSessionEvent se) {
+ // remove Statefull session bin.
+ synchronized (this) {
+ if (null != guess) {
+ guess.destroy();
+ guess = null;
+ }
+ }
+ }
+
}
Added: trunk/samples/richfaces-ear-demo/webapp/src/main/resources/META-INF/MANIFEST.MF
===================================================================
--- trunk/samples/richfaces-ear-demo/webapp/src/main/resources/META-INF/MANIFEST.MF (rev 0)
+++ trunk/samples/richfaces-ear-demo/webapp/src/main/resources/META-INF/MANIFEST.MF 2007-09-15 00:10:06 UTC (rev 2949)
@@ -0,0 +1,11 @@
+Manifest-Version: 1.0
+Archiver-Version: Plexus Archiver
+Created-By: Apache Maven
+Built-By: asmirnov
+Build-Jdk: 1.5.0_11
+Class-Path: lib/richfaces-ui-3.1.1-SNAPSHOT.jar lib/jsf-facelets-1.1.1
+ 2.jar lib/richfaces-api-3.1.1-SNAPSHOT.jar lib/jstl-1.0.jar lib/commo
+ ns-collections-3.2.jar lib/commons-digester-1.8.jar lib/commons-loggi
+ ng-1.0.4.jar lib/richfaces-impl-3.1.1-SNAPSHOT.jar lib/commons-beanut
+ ils-1.7.0.jar
+
Property changes on: trunk/samples/richfaces-ear-demo/webapp/src/main/resources/META-INF/MANIFEST.MF
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Modified: trunk/samples/scrollableDataTableDemo/pom.xml
===================================================================
--- trunk/samples/scrollableDataTableDemo/pom.xml 2007-09-14 17:58:30 UTC (rev 2948)
+++ trunk/samples/scrollableDataTableDemo/pom.xml 2007-09-15 00:10:06 UTC (rev 2949)
@@ -4,34 +4,34 @@
<parent>
<artifactId>samples</artifactId>
<groupId>org.richfaces</groupId>
- <version>3.1.0-SNAPSHOT</version>
+ <version>3.1.1-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>scrollableDataTableDemo</artifactId>
<groupId>org.richfaces.samples</groupId>
- <version>3.1.0-SNAPSHOT</version>
+ <version>3.1.1-SNAPSHOT</version>
<packaging>war</packaging>
<name>scrollableDataTable Maven Webapp</name>
<dependencies>
<dependency>
<groupId>org.richfaces.ui</groupId>
<artifactId>scrollableDataTable</artifactId>
- <version>3.1.0-SNAPSHOT</version>
+ <version>3.1.1-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>org.richfaces.samples</groupId>
<artifactId>skins</artifactId>
- <version>3.1.0-SNAPSHOT</version>
+ <version>3.1.1-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>org.richfaces.ui</groupId>
<artifactId>core</artifactId>
- <version>3.1.0-SNAPSHOT</version>
+ <version>3.1.1-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>org.richfaces.ui</groupId>
<artifactId>dataTable</artifactId>
- <version>3.1.0-SNAPSHOT</version>
+ <version>3.1.1-SNAPSHOT</version>
</dependency>
</dependencies>
Modified: trunk/samples/seamEAR/ear/pom.xml
===================================================================
--- trunk/samples/seamEAR/ear/pom.xml 2007-09-14 17:58:30 UTC (rev 2948)
+++ trunk/samples/seamEAR/ear/pom.xml 2007-09-15 00:10:06 UTC (rev 2949)
@@ -6,18 +6,18 @@
<groupId>org.richfaces.samples.seamEAR</groupId>
<artifactId>ear</artifactId>
<packaging>ear</packaging>
- <version>3.1.0-SNAPSHOT</version>
+ <version>3.1.1-SNAPSHOT</version>
<name>ear assembly</name>
<parent>
<groupId>org.richfaces.samples</groupId>
<artifactId>seamEAR</artifactId>
- <version>3.1.0-SNAPSHOT</version>
+ <version>3.1.1-SNAPSHOT</version>
</parent>
<dependencies>
<dependency>
<groupId>org.richfaces.framework</groupId>
<artifactId>richfaces-api</artifactId>
- <version>3.1.0-SNAPSHOT</version>
+ <version>3.1.1-SNAPSHOT</version>
<exclusions>
<exclusion>
<groupId>javax.faces</groupId>
Modified: trunk/samples/seamEAR/ejbs/pom.xml
===================================================================
--- trunk/samples/seamEAR/ejbs/pom.xml 2007-09-14 17:58:30 UTC (rev 2948)
+++ trunk/samples/seamEAR/ejbs/pom.xml 2007-09-15 00:10:06 UTC (rev 2949)
@@ -6,12 +6,12 @@
<groupId>org.richfaces.samples.seamEAR</groupId>
<artifactId>ejbs</artifactId>
<packaging>ejb</packaging>
- <version>3.1.0-SNAPSHOT</version>
+ <version>3.1.1-SNAPSHOT</version>
<name>enterprise java beans</name>
<parent>
<groupId>org.richfaces.samples</groupId>
<artifactId>seamEAR</artifactId>
- <version>3.1.0-SNAPSHOT</version>
+ <version>3.1.1-SNAPSHOT</version>
</parent>
<dependencies>
<dependency>
@@ -32,7 +32,7 @@
<dependency>
<groupId>org.richfaces.framework</groupId>
<artifactId>richfaces-api</artifactId>
- <version>3.1.0-SNAPSHOT</version>
+ <version>3.1.1-SNAPSHOT</version>
<exclusions>
<exclusion>
<groupId>javax.faces</groupId>
Modified: trunk/samples/seamEAR/pom.xml
===================================================================
--- trunk/samples/seamEAR/pom.xml 2007-09-14 17:58:30 UTC (rev 2948)
+++ trunk/samples/seamEAR/pom.xml 2007-09-15 00:10:06 UTC (rev 2949)
@@ -6,12 +6,12 @@
<parent>
<artifactId>samples</artifactId>
<groupId>org.richfaces</groupId>
- <version>3.1.0-SNAPSHOT</version>
+ <version>3.1.1-SNAPSHOT</version>
</parent>
-->
<modelVersion>4.0.0</modelVersion>
<groupId>org.richfaces.samples</groupId>
- <version>3.1.0-SNAPSHOT</version>
+ <version>3.1.1-SNAPSHOT</version>
<artifactId>seamEAR</artifactId>
<packaging>pom</packaging>
<name>seam EAR project</name>
@@ -58,23 +58,23 @@
org.richfaces.samples.seamEAR.projects
</groupId>
<artifactId>logging</artifactId>
- <version>3.1.0-SNAPSHOT</version>
+ <version>3.1.1-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>org.richfaces.samples.seamEAR</groupId>
<artifactId>primary-source</artifactId>
- <version>3.1.0-SNAPSHOT</version>
+ <version>3.1.1-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>org.richfaces.samples.seamEAR.wars</groupId>
<artifactId>seamWebapp</artifactId>
- <version>3.1.0-SNAPSHOT</version>
+ <version>3.1.1-SNAPSHOT</version>
<type>war</type>
</dependency>
<dependency>
<groupId>org.richfaces.samples.seamEAR</groupId>
<artifactId>ejbs</artifactId>
- <version>3.1.0-SNAPSHOT</version>
+ <version>3.1.1-SNAPSHOT</version>
<type>ejb</type>
</dependency>
</dependencies>
Modified: trunk/samples/seamEAR/primary-source/pom.xml
===================================================================
--- trunk/samples/seamEAR/primary-source/pom.xml 2007-09-14 17:58:30 UTC (rev 2948)
+++ trunk/samples/seamEAR/primary-source/pom.xml 2007-09-15 00:10:06 UTC (rev 2949)
@@ -7,7 +7,7 @@
<parent>
<groupId>org.richfaces.samples</groupId>
<artifactId>seamEAR</artifactId>
- <version>3.1.0-SNAPSHOT</version>
+ <version>3.1.1-SNAPSHOT</version>
</parent>
<dependencies>
<dependency>
Modified: trunk/samples/seamEAR/projects/logging/pom.xml
===================================================================
--- trunk/samples/seamEAR/projects/logging/pom.xml 2007-09-14 17:58:30 UTC (rev 2948)
+++ trunk/samples/seamEAR/projects/logging/pom.xml 2007-09-15 00:10:06 UTC (rev 2949)
@@ -7,6 +7,6 @@
<parent>
<groupId>org.richfaces.samples.seamEAR</groupId>
<artifactId>projects</artifactId>
- <version>3.1.0-SNAPSHOT</version>
+ <version>3.1.1-SNAPSHOT</version>
</parent>
</project>
Modified: trunk/samples/seamEAR/projects/pom.xml
===================================================================
--- trunk/samples/seamEAR/projects/pom.xml 2007-09-14 17:58:30 UTC (rev 2948)
+++ trunk/samples/seamEAR/projects/pom.xml 2007-09-15 00:10:06 UTC (rev 2949)
@@ -1,14 +1,14 @@
<project>
<modelVersion>4.0.0</modelVersion>
<groupId>org.richfaces.samples.seamEAR</groupId>
- <version>3.1.0-SNAPSHOT</version>
+ <version>3.1.1-SNAPSHOT</version>
<artifactId>projects</artifactId>
<packaging>pom</packaging>
<name>sub projects</name>
<parent>
<groupId>org.richfaces.samples</groupId>
<artifactId>seamEAR</artifactId>
- <version>3.1.0-SNAPSHOT</version>
+ <version>3.1.1-SNAPSHOT</version>
</parent>
<modules>
<module>logging</module>
Modified: trunk/samples/seamEAR/wars/pom.xml
===================================================================
--- trunk/samples/seamEAR/wars/pom.xml 2007-09-14 17:58:30 UTC (rev 2948)
+++ trunk/samples/seamEAR/wars/pom.xml 2007-09-15 00:10:06 UTC (rev 2949)
@@ -4,11 +4,11 @@
<artifactId>wars</artifactId>
<packaging>pom</packaging>
<name>wars</name>
- <version>3.1.0-SNAPSHOT</version>
+ <version>3.1.1-SNAPSHOT</version>
<parent>
<groupId>org.richfaces.samples</groupId>
<artifactId>seamEAR</artifactId>
- <version>3.1.0-SNAPSHOT</version>
+ <version>3.1.1-SNAPSHOT</version>
</parent>
<modules>
<module>seamWebapp</module>
Modified: trunk/samples/seamEAR/wars/seamWebapp/pom.xml
===================================================================
--- trunk/samples/seamEAR/wars/seamWebapp/pom.xml 2007-09-14 17:58:30 UTC (rev 2948)
+++ trunk/samples/seamEAR/wars/seamWebapp/pom.xml 2007-09-15 00:10:06 UTC (rev 2949)
@@ -10,7 +10,7 @@
<parent>
<groupId>org.richfaces.samples.seamEAR</groupId>
<artifactId>wars</artifactId>
- <version>3.1.0-SNAPSHOT</version>
+ <version>3.1.1-SNAPSHOT</version>
</parent>
<build>
<finalName>seamWebapp</finalName>
@@ -42,17 +42,17 @@
<dependency>
<groupId>org.richfaces.framework</groupId>
<artifactId>richfaces-impl</artifactId>
- <version>3.1.0-SNAPSHOT</version>
+ <version>3.1.1-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>org.richfaces.ui</groupId>
<artifactId>richfaces-ui</artifactId>
- <version>3.1.0-SNAPSHOT</version>
+ <version>3.1.1-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>org.richfaces.framework</groupId>
<artifactId>richfaces-api</artifactId>
- <version>3.1.0-SNAPSHOT</version>
+ <version>3.1.1-SNAPSHOT</version>
<scope>provided</scope>
</dependency>
<dependency>
Modified: trunk/samples/seamIntegration/pom.xml
===================================================================
--- trunk/samples/seamIntegration/pom.xml 2007-09-14 17:58:30 UTC (rev 2948)
+++ trunk/samples/seamIntegration/pom.xml 2007-09-15 00:10:06 UTC (rev 2949)
@@ -5,14 +5,14 @@
<parent>
<artifactId>samples</artifactId>
<groupId>org.richfaces</groupId>
- <version>3.1.0-SNAPSHOT</version>
+ <version>3.1.1-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<groupId>org.richfaces.samples</groupId>
<artifactId>seamIntegration</artifactId>
<packaging>war</packaging>
<name>seamIntegration Maven Webapp</name>
- <version>3.1.0-SNAPSHOT</version>
+ <version>3.1.1-SNAPSHOT</version>
<build>
<finalName>seamIntegration</finalName>
<plugins>
Modified: trunk/samples/tomahawkCompability/pom.xml
===================================================================
--- trunk/samples/tomahawkCompability/pom.xml 2007-09-14 17:58:30 UTC (rev 2948)
+++ trunk/samples/tomahawkCompability/pom.xml 2007-09-15 00:10:06 UTC (rev 2949)
@@ -8,7 +8,7 @@
<modelVersion>4.0.0</modelVersion>
<groupId>org.richfaces.samples</groupId>
<artifactId>tomahawkCompability</artifactId>
- <version>3.1.0-SNAPSHOT</version>
+ <version>3.1.1-SNAPSHOT</version>
<packaging>war</packaging>
<name>tomahawkCompability Maven Webapp</name>
<properties>
Modified: trunk/samples/useCases/pom.xml
===================================================================
--- trunk/samples/useCases/pom.xml 2007-09-14 17:58:30 UTC (rev 2948)
+++ trunk/samples/useCases/pom.xml 2007-09-15 00:10:06 UTC (rev 2949)
@@ -5,12 +5,12 @@
<parent>
<artifactId>samples</artifactId>
<groupId>org.richfaces</groupId>
- <version>3.1.0-SNAPSHOT</version>
+ <version>3.1.1-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<groupId>org.richfaces.samples</groupId>
<artifactId>useCases</artifactId>
- <version>3.1.0-SNAPSHOT</version>
+ <version>3.1.1-SNAPSHOT</version>
<packaging>war</packaging>
<name>useCases Maven Webapp</name>
<build>
Modified: trunk/samples/virtualEarth-sample/pom.xml
===================================================================
--- trunk/samples/virtualEarth-sample/pom.xml 2007-09-14 17:58:30 UTC (rev 2948)
+++ trunk/samples/virtualEarth-sample/pom.xml 2007-09-15 00:10:06 UTC (rev 2949)
@@ -4,19 +4,19 @@
<parent>
<artifactId>samples</artifactId>
<groupId>org.richfaces</groupId>
- <version>3.1.0-SNAPSHOT</version>
+ <version>3.1.1-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<groupId>org.richfaces.samples</groupId>
<artifactId>virtualEarth-sample</artifactId>
- <version>3.1.0-SNAPSHOT</version>
+ <version>3.1.1-SNAPSHOT</version>
<packaging>war</packaging>
<name>gmap-sample Maven Webapp</name>
<dependencies>
<dependency>
<groupId>org.richfaces.ui</groupId>
<artifactId>virtualEarth</artifactId>
- <version>3.1.0-SNAPSHOT</version>
+ <version>3.1.1-SNAPSHOT</version>
</dependency>
</dependencies>
<build>
Added: trunk/sandbox/samples/dialog-window-sample/.svnignore
===================================================================
--- trunk/sandbox/samples/dialog-window-sample/.svnignore (rev 0)
+++ trunk/sandbox/samples/dialog-window-sample/.svnignore 2007-09-15 00:10:06 UTC (rev 2949)
@@ -0,0 +1,5 @@
+target
+.settings
+.classpath
+.project
+.exadelproject
Added: trunk/sandbox/samples/dialog-window-sample/pom.xml
===================================================================
--- trunk/sandbox/samples/dialog-window-sample/pom.xml (rev 0)
+++ trunk/sandbox/samples/dialog-window-sample/pom.xml 2007-09-15 00:10:06 UTC (rev 2949)
@@ -0,0 +1,30 @@
+<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/maven-v4_0_0.xsd">
+ <parent>
+ <artifactId>samples</artifactId>
+ <groupId>org.richfaces.sandbox</groupId>
+ <version>3.1.1-SNAPSHOT</version>
+ </parent>
+
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>org.richfaces</groupId>
+ <artifactId>dialog-window-sample</artifactId>
+ <packaging>war</packaging>
+ <name>Dialog window sample Maven Webapp</name>
+ <dependencies>
+
+ <dependency>
+ <groupId>org.richfaces.sandbox.ui</groupId>
+ <artifactId>dialog-window</artifactId>
+ <version>3.1.1-SNAPSHOT</version>
+ </dependency>
+ <dependency>
+ <groupId>org.richfaces.samples</groupId>
+ <artifactId>skins</artifactId>
+ <version>3.1.1-SNAPSHOT</version>
+ </dependency>
+
+ </dependencies>
+ <build>
+ <finalName>dialog-window-sample</finalName>
+ </build>
+</project>
\ No newline at end of file
Property changes on: trunk/sandbox/samples/dialog-window-sample/pom.xml
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Name: svn:keywords
+ Date Revision Author
Added: trunk/sandbox/samples/dialog-window-sample/src/main/webapp/META-INF/MANIFEST.MF
===================================================================
--- trunk/sandbox/samples/dialog-window-sample/src/main/webapp/META-INF/MANIFEST.MF (rev 0)
+++ trunk/sandbox/samples/dialog-window-sample/src/main/webapp/META-INF/MANIFEST.MF 2007-09-15 00:10:06 UTC (rev 2949)
@@ -0,0 +1,3 @@
+Manifest-Version: 1.0
+Class-Path:
+
Property changes on: trunk/sandbox/samples/dialog-window-sample/src/main/webapp/META-INF/MANIFEST.MF
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: trunk/sandbox/samples/dialog-window-sample/src/main/webapp/WEB-INF/faces-config.xml
===================================================================
--- trunk/sandbox/samples/dialog-window-sample/src/main/webapp/WEB-INF/faces-config.xml (rev 0)
+++ trunk/sandbox/samples/dialog-window-sample/src/main/webapp/WEB-INF/faces-config.xml 2007-09-15 00:10:06 UTC (rev 2949)
@@ -0,0 +1,11 @@
+<?xml version="1.0"?>
+<!DOCTYPE faces-config PUBLIC "-//Sun Microsystems, Inc.//DTD JavaServer Faces Config 1.0//EN"
+ "http://java.sun.com/dtd/web-facesconfig_1_0.dtd">
+<faces-config>
+ <managed-bean>
+ <managed-bean-name>skinBean</managed-bean-name>
+ <managed-bean-class>org.richfaces.SkinBean</managed-bean-class>
+ <managed-bean-scope>session</managed-bean-scope>
+ </managed-bean>
+</faces-config>
+
Property changes on: trunk/sandbox/samples/dialog-window-sample/src/main/webapp/WEB-INF/faces-config.xml
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Name: svn:keywords
+ Date Revision Author
Added: trunk/sandbox/samples/dialog-window-sample/src/main/webapp/WEB-INF/faces-config.xml.l4t
===================================================================
--- trunk/sandbox/samples/dialog-window-sample/src/main/webapp/WEB-INF/faces-config.xml.l4t (rev 0)
+++ trunk/sandbox/samples/dialog-window-sample/src/main/webapp/WEB-INF/faces-config.xml.l4t 2007-09-15 00:10:06 UTC (rev 2949)
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<PROCESS ENTITY="JSFProcess">
+ <PROCESS-ITEM ENTITY="JSFProcessGroup" NAME="rules:#panel.xhtml"
+ PATH="/panel.xhtml" SHAPE="98,111,0,0" persistent="true"/>
+</PROCESS>
Added: trunk/sandbox/samples/dialog-window-sample/src/main/webapp/WEB-INF/web.xml
===================================================================
--- trunk/sandbox/samples/dialog-window-sample/src/main/webapp/WEB-INF/web.xml (rev 0)
+++ trunk/sandbox/samples/dialog-window-sample/src/main/webapp/WEB-INF/web.xml 2007-09-15 00:10:06 UTC (rev 2949)
@@ -0,0 +1,66 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
+ <description>Richfaces Panel Sample</description>
+ <display-name>panel-sample</display-name>
+ <context-param>
+<param-name>com.exadel.vcp.SKIN</param-name>
+<param-value>#{skinBean.skin}</param-value>
+</context-param>
+ <context-param>
+ <param-name>javax.faces.DEFAULT_SUFFIX</param-name>
+ <param-value>.xhtml</param-value>
+ </context-param>
+ <context-param>
+ <param-name>facelets.REFRESH_PERIOD</param-name>
+ <param-value>2</param-value>
+ </context-param>
+ <context-param>
+ <param-name>facelets.DEVELOPMENT</param-name>
+ <param-value>true</param-value>
+ </context-param>
+ <context-param>
+ <param-name>javax.faces.STATE_SAVING_METHOD</param-name>
+ <param-value>client</param-value>
+ </context-param>
+ <context-param>
+ <param-name>com.sun.faces.validateXml</param-name>
+ <param-value>true</param-value>
+ </context-param>
+ <context-param>
+ <param-name>com.sun.faces.verifyObjects</param-name>
+ <param-value>true</param-value>
+ </context-param>
+ <context-param>
+ <param-name>org.ajax4jsf.SKIN</param-name>
+ <param-value>#{skinBean.skin}</param-value>
+ </context-param>
+ <context-param>
+ <param-name>org.ajax4jsf.VIEW_HANDLERS</param-name>
+ <param-value>com.sun.facelets.FaceletViewHandler</param-value>
+ </context-param>
+ <filter>
+ <display-name>Ajax4jsf Filter</display-name>
+ <filter-name>ajax4jsf</filter-name>
+ <filter-class>org.ajax4jsf.Filter</filter-class>
+ </filter>
+ <filter-mapping>
+ <filter-name>ajax4jsf</filter-name>
+ <servlet-name>Faces Servlet</servlet-name>
+ <dispatcher>FORWARD</dispatcher>
+ <dispatcher>REQUEST</dispatcher>
+ <dispatcher>INCLUDE</dispatcher>
+ </filter-mapping>
+ <servlet>
+ <servlet-name>Faces Servlet</servlet-name>
+ <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
+ <load-on-startup>1</load-on-startup>
+ </servlet>
+ <servlet-mapping>
+ <servlet-name>Faces Servlet</servlet-name>
+ <url-pattern>*.jsf</url-pattern>
+ </servlet-mapping>
+ <login-config>
+ <auth-method>BASIC</auth-method>
+ </login-config>
+</web-app>
Property changes on: trunk/sandbox/samples/dialog-window-sample/src/main/webapp/WEB-INF/web.xml
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Name: svn:keywords
+ Date Revision Author
Added: trunk/sandbox/samples/dialog-window-sample/src/main/webapp/dialog.xhtml
===================================================================
--- trunk/sandbox/samples/dialog-window-sample/src/main/webapp/dialog.xhtml (rev 0)
+++ trunk/sandbox/samples/dialog-window-sample/src/main/webapp/dialog.xhtml 2007-09-15 00:10:06 UTC (rev 2949)
@@ -0,0 +1,27 @@
+<!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:ui="http://java.sun.com/jsf/facelets"
+ xmlns:f="http://java.sun.com/jsf/core"
+ xmlns:h="http://java.sun.com/jsf/html"
+ xmlns:dialog="http://labs.jboss.com/jbossrichfaces/ui/ui/dialog-window"
+ xmlns:a4j="https://ajax4jsf.dev.java.net/ajax"
+ >
+<head>
+<style>
+.my {
+ border: 2px solid yellow;
+}
+</style>
+</head>
+<body>
+
+<h:form>
+<h:selectOneRadio binding="#{skinBean.component}" />
+<h:commandLink action="#{skinBean.change}" value="set skin" />
+
+<dialog:dialogWindowButton>
+</dialog:dialogWindowButton>
+</h:form>
+
+</body>
+</html>
Property changes on: trunk/sandbox/samples/dialog-window-sample/src/main/webapp/dialog.xhtml
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: trunk/sandbox/samples/dialog-window-sample/src/main/webapp/index.jsp
===================================================================
--- trunk/sandbox/samples/dialog-window-sample/src/main/webapp/index.jsp (rev 0)
+++ trunk/sandbox/samples/dialog-window-sample/src/main/webapp/index.jsp 2007-09-15 00:10:06 UTC (rev 2949)
@@ -0,0 +1,7 @@
+<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
+<html>
+<head></head>
+ <body>
+ <jsp:forward page="dialog.jsf" />
+ </body>
+</html>
\ No newline at end of file
Property changes on: trunk/sandbox/samples/dialog-window-sample/src/main/webapp/index.jsp
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: trunk/sandbox/samples/dialog-window-sample/src/main/webapp/panel.xhtml
===================================================================
--- trunk/sandbox/samples/dialog-window-sample/src/main/webapp/panel.xhtml (rev 0)
+++ trunk/sandbox/samples/dialog-window-sample/src/main/webapp/panel.xhtml 2007-09-15 00:10:06 UTC (rev 2949)
@@ -0,0 +1,54 @@
+<!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:ui="http://java.sun.com/jsf/facelets"
+ xmlns:f="http://java.sun.com/jsf/core"
+ xmlns:h="http://java.sun.com/jsf/html"
+ xmlns:dialog="http://labs.jboss.com/jbossrichfaces/ui/ui/dialog-window"
+ xmlns:a4j="https://ajax4jsf.dev.java.net/ajax"
+ >
+<head>
+<style>
+.my {
+ border: 2px solid yellow;
+}
+</style>
+</head>
+<body>
+
+<h:form>
+<h:selectOneRadio binding="#{skinBean.component}" />
+<h:commandLink action="#{skinBean.change}" value="set skin" />
+</h:form>
+
+ <h:outputLink value="panel2.jsf">Sample 2</h:outputLink>
+ <panel:panel2>
+ <a4j:facet name="header">
+ Test
+ </a4j:facet>
+ <panel:panel2>
+ <a4j:facet name="header">
+ Test
+ </a4j:facet>
+ <panel:panel2>
+ <a4j:facet name="header">
+ Test
+ </a4j:facet>
+ Body text
+ </panel:panel2>
+ </panel:panel2>
+ </panel:panel2>
+ <br/>
+ <panel:panel2>
+ <a4j:facet name="header">
+ Test<br/>
+ Test<br/>
+ Test<br/>
+ Test<br/>
+ Test<br/>
+ </a4j:facet>
+ <h:form>
+ <h:outputText value="inside the form"/>
+ </h:form>
+ </panel:panel2>
+</body>
+</html>
Property changes on: trunk/sandbox/samples/dialog-window-sample/src/main/webapp/panel.xhtml
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: trunk/sandbox/samples/dialog-window-sample/src/main/webapp/panel2.xhtml
===================================================================
--- trunk/sandbox/samples/dialog-window-sample/src/main/webapp/panel2.xhtml (rev 0)
+++ trunk/sandbox/samples/dialog-window-sample/src/main/webapp/panel2.xhtml 2007-09-15 00:10:06 UTC (rev 2949)
@@ -0,0 +1,137 @@
+<!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:ui="http://java.sun.com/jsf/facelets"
+ xmlns:h="http://java.sun.com/jsf/html"
+ xmlns:f="http://java.sun.com/jsf/core"
+ xmlns:panel="http://richfaces.ajax4jsf.org/panel2"
+ xmlns:a4j="https://ajax4jsf.dev.java.net/ajax">
+<head>
+<style>
+ .panel {
+ vertical-align:top;
+ }
+ .rich-panel-header {
+ color:#F00;
+
+ }
+ .top {
+ width:200px;height:100px;
+ }
+ .hea {
+ color:#FCC;
+ }
+ .bo {
+ color:#F00;
+ }
+
+ .top2 {
+ width:200px;height:100px;
+ border:2px solid #4C9600;
+ background-color:#E4FFC8;
+ }
+
+
+.hea2 {
+ background-image : url();
+ background-color : #4C9600;
+ text-align:center;
+ vertical-align:middle;
+ color:#CFF;
+ padding:4px 0;
+ }
+
+ .bo2 {
+ color:#4C9600;
+ }
+ .bo3 {
+ height:100px;
+ overflow:auto;
+ }
+
+</style>
+</head>
+<body>
+<h:form>
+<h:selectOneRadio binding="#{skinBean.component}" />
+<h:commandLink action="#{skinBean.change}" value="set skin" />
+</h:form>
+<h:outputLink value="panel.jsf">Sample 1</h:outputLink>
+ <h:panelGrid columnClasses="panel" border="0" columns="3">
+ <panel:panel2 styleClass="top">
+ <a4j:facet name="header">
+ <h:panelGroup>
+ dsdsdsdsd<br />sdsd
+ </h:panelGroup>
+
+ </a4j:facet>
+
+ This is <b>default</b> panel. content here
+ </panel:panel2>
+ <panel:panel2 styleClass="top" headerClass="hea" bodyClass="bo">
+ <a4j:facet name="header">
+ <h:outputText value="Header of the Panel" />
+ </a4j:facet>
+ This panel contains custom headerClass and bodyClass
+ </panel:panel2>
+ <panel:panel2 styleClass="top2" headerClass="hea2" bodyClass="bo2">
+ <a4j:facet name="header">
+ <h:outputText
+ value="Header of the Panel" />
+ </a4j:facet>
+ This panel also contains custom headerClass and bodyClass. The background is not a 3D anymore.
+ </panel:panel2>
+
+ <h:panelGroup>
+ <h:form>
+ <panel:panel2
+ onmouseover="document.getElementById(this.id+'_header').style.background='#60BA01';document.getElementById(this.id+'_body').style.background='#F4FFF8'"
+ onmouseout="document.getElementById(this.id+'_header').style.background='#4C9600';document.getElementById(this.id+'_body').style.background='#E4FFC8'"
+ style="width:200px;" headerClass="hea2" bodyClass="bo3">
+ <a4j:facet name="header">
+ <h:outputText
+ value="Header of the Panel" />
+ </a4j:facet>
+ Base on the previous layout, but form element and javascript behaviour are added
+ <br />
+ <h:inputText />
+ </panel:panel2>
+ </h:form>
+ </h:panelGroup>
+
+ <panel:panel2 style="width:200px;" headerClass="hea" bodyClass="bo3">
+ <a4j:facet name="header">
+ <h:outputText
+ value="Scrolling Text Panel" />
+ </a4j:facet>
+ Long Text Long Text Long Text
+ Long Text Long Text Long Text
+ Long Text Long Text Long Text
+ Long Text Long Text Long Text
+ Long Text Long Text Long Text
+ Long Text Long Text Long Text
+ Long Text Long Text Long Text
+ Long Text Long Text Long Text
+ Long Text Long Text Long Text
+ Long Text Long Text Long Text
+ Long Text Long Text Long Text
+ Long Text Long Text Long Text
+ Long Text Long Text Long Text
+
+ </panel:panel2>
+
+ <panel:panel2 styleClass="top">
+ This is a panel without the header
+
+ </panel:panel2>
+ </h:panelGrid>
+ <panel:panel2 style="position: absolute; top: 116px; right: 100px; " styleClass="top">
+ <a4j:facet name="header">
+ <h:outputText value="Header of the Panel" />
+ </a4j:facet>
+
+ This is a panel with absolute position on the screen.<br/>
+ Resize the browser's window for fun.
+ </panel:panel2>
+
+</body>
+</html>
Property changes on: trunk/sandbox/samples/dialog-window-sample/src/main/webapp/panel2.xhtml
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Modified: trunk/sandbox/samples/rich-message-demo/pom.xml
===================================================================
--- trunk/sandbox/samples/rich-message-demo/pom.xml 2007-09-14 17:58:30 UTC (rev 2948)
+++ trunk/sandbox/samples/rich-message-demo/pom.xml 2007-09-15 00:10:06 UTC (rev 2949)
@@ -2,7 +2,7 @@
<parent>
<artifactId>samples</artifactId>
<groupId>org.richfaces.sandbox</groupId>
- <version>3.1.0-SNAPSHOT</version>
+ <version>3.1.1-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<groupId>org.richfaces.demo</groupId>
@@ -13,17 +13,17 @@
<dependency>
<groupId>org.richfaces.sandbox.ui</groupId>
<artifactId>message</artifactId>
- <version>3.1.0-SNAPSHOT</version>
+ <version>3.1.1-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>org.richfaces.samples</groupId>
<artifactId>skins</artifactId>
- <version>3.1.0-SNAPSHOT</version>
+ <version>3.1.1-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>org.richfaces.ui</groupId>
<artifactId>richfaces-ui</artifactId>
- <version>3.1.0-SNAPSHOT</version>
+ <version>3.1.1-SNAPSHOT</version>
</dependency>
</dependencies>
Added: trunk/sandbox/ui/dialog-window/pom.xml
===================================================================
--- trunk/sandbox/ui/dialog-window/pom.xml (rev 0)
+++ trunk/sandbox/ui/dialog-window/pom.xml 2007-09-15 00:10:06 UTC (rev 2949)
@@ -0,0 +1,49 @@
+<?xml version="1.0"?><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/maven-v4_0_0.xsd">
+ <parent>
+ <artifactId>ui</artifactId>
+ <groupId>org.richfaces.sandbox</groupId>
+ <version>3.1.1-SNAPSHOT</version>
+ </parent>
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>org.richfaces.sandbox.ui</groupId>
+ <artifactId>dialog-window</artifactId>
+ <name>state</name>
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.richfaces.cdk</groupId>
+ <artifactId>maven-cdk-plugin</artifactId>
+ <version>3.1.1-SNAPSHOT</version>
+ <executions>
+ <execution>
+ <phase>generate-sources</phase>
+ <goals>
+ <goal>generate</goal>
+ </goals>
+ </execution>
+ </executions>
+ <configuration>
+ <library>
+ <prefix>org.richfaces.ui</prefix>
+ <taglib>
+ <shortName>dialog</shortName>
+ </taglib>
+ </library>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+ <dependencies>
+ <dependency>
+ <groupId>org.richfaces.framework</groupId>
+ <artifactId>richfaces-impl</artifactId>
+ <version>3.1.1-SNAPSHOT</version>
+ </dependency>
+ <dependency>
+ <groupId>org.richfaces.ui</groupId>
+ <artifactId>core</artifactId>
+ <version>3.1.1-SNAPSHOT</version>
+ <scope>provided</scope>
+ </dependency>
+ </dependencies>
+</project>
\ No newline at end of file
Property changes on: trunk/sandbox/ui/dialog-window/pom.xml
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Name: svn:keywords
+ Date Revision Author
Added: trunk/sandbox/ui/dialog-window/src/main/config/component/dialog-button.xml
===================================================================
--- trunk/sandbox/ui/dialog-window/src/main/config/component/dialog-button.xml (rev 0)
+++ trunk/sandbox/ui/dialog-window/src/main/config/component/dialog-button.xml 2007-09-15 00:10:06 UTC (rev 2949)
@@ -0,0 +1,138 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE components
+ PUBLIC "-//AJAX4JSF//CDK Generator config/EN"
+ "https://ajax4jsf.dev.java.net/nonav/dtds/component-config.dtd" [
+<!ENTITY universal_html_attributes SYSTEM "html_universal_attributes.xml">
+]>
+<components>
+ <component>
+ <name>org.richfaces.DialogButton</name>
+ <family>javax.faces.command</family>
+ <description>Dialog Button</description>
+ <superclass>org.richfaces.component.UIDialogButton</superclass>
+ <classname>org.richfaces.component.html.DialogButton</classname>
+ <renderer generate="true">
+ <name>org.richfaces.DialogButton</name>
+ <template>dialog-button.xhtml</template>
+ </renderer>
+ <tag>
+ <name>dialogButton</name>
+ <classname>org.richfaces.taglib.DialogButtonTag</classname>
+ <superclass>org.ajax4jsf.webapp.taglib.UIComponentTagBase</superclass>
+ </tag>
+ <taghandler>
+ <classname>org.ajax4jsf.webapp.taglib.AjaxComponentHandler</classname>
+ </taghandler>
+
+ <property>
+ <name>value</name>
+ <classname>java.lang.Object</classname>
+ <description>Initial value to set when rendered for the first time.</description>
+ </property>
+
+ <property>
+ <name>dir</name>
+ <classname>java.lang.String</classname>
+ <description>Direction indication for text that does not inherit directionality. Valid values are "LTR" (left-to-right) and "RTL" (right-to-left).</description>
+ </property>
+ <property>
+ <name>lang</name>
+ <classname>java.lang.String</classname>
+ <description>Code describing the language used in the generated markup for this component.</description>
+ </property>
+ <property>
+ <name>title</name>
+ <classname>java.lang.String</classname>
+ <description>Advisory title information about markup elements generated for this component.</description>
+ </property>
+ <property>
+ <name>style</name>
+ <classname>java.lang.String</classname>
+ <description>CSS style(s) to be applied when this component is rendered.</description>
+ </property>
+ <property>
+ <name>styleClass</name>
+ <classname>java.lang.String</classname>
+ <description>Space-separated list of CSS style class(es) to be applied when this element is rendered. This value must be passed through as the "class" attribute on generated markup.</description>
+ </property>
+
+ <property>
+ <name>onblur</name>
+ <classname>java.lang.String</classname>
+ <description>Javascript code executed when this element loses focus.</description>
+ </property>
+ <property>
+ <name>ondblclick</name>
+ <classname>java.lang.String</classname>
+ <description>Javascript code executed when a pointer button is double clicked over this element.</description>
+ </property>
+ <property>
+ <name>onfocus</name>
+ <classname>java.lang.String</classname>
+ <description>Javascript code executed when this element receives focus.</description>
+ </property>
+ <property>
+ <name>onmousedown</name>
+ <classname>java.lang.String</classname>
+ <description>Javascript code executed when a pointer button is pressed down over this element.</description>
+ </property>
+ <property>
+ <name>onmouseup</name>
+ <classname>java.lang.String</classname>
+ <description>Javascript code executed when a pointer button is released over this element.</description>
+ </property>
+ <property>
+ <name>onmouseover</name>
+ <classname>java.lang.String</classname>
+ <description>Javascript code executed when a pointer button is moved onto this element.</description>
+ </property>
+ <property>
+ <name>onmousemove</name>
+ <classname>java.lang.String</classname>
+ <description>Javascript code executed when a pointer button is moved within this element.</description>
+ </property>
+ <property>
+ <name>onmouseout</name>
+ <classname>java.lang.String</classname>
+ <description>Javascript code executed when a pointer button is moved away from this element.</description>
+ </property>
+ <property>
+ <name>onkeypress</name>
+ <classname>java.lang.String</classname>
+ <description>Javascript code executed when a key is pressed and released over this element.</description>
+ </property>
+ <property>
+ <name>onkeydown</name>
+ <classname>java.lang.String</classname>
+ <description>Javascript code executed when a key is pressed down over this element.</description>
+ </property>
+ <property>
+ <name>onkeyup</name>
+ <classname>java.lang.String</classname>
+ <description>Javascript code executed when a key is released over this element.</description>
+ </property>
+
+ <property>
+ <name>accesskey</name>
+ <classname>java.lang.String</classname>
+ <description>Access key that, when pressed, transfers focus to this element.</description>
+ </property>
+ <property>
+ <name>tabindex</name>
+ <classname>java.lang.String</classname>
+ <description>Position of this element in the tabbing order for the current document. This value must be an integer between 0 and 32767.</description>
+ </property>
+
+ <property required="false">
+ <name>mode</name>
+ <classname>java.lang.String</classname>
+ <description>Sets mode of requests to 'ajax' or 'server'.</description>
+ <defaultvalue>"ajax"</defaultvalue>
+ </property>
+
+ &ui_command_attributes;
+
+ &ajax_component_attributes;
+
+ </component>
+</components>
\ No newline at end of file
Property changes on: trunk/sandbox/ui/dialog-window/src/main/config/component/dialog-button.xml
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Name: svn:keywords
+ Date Revision Author
Added: trunk/sandbox/ui/dialog-window/src/main/config/component/dialog-close-button.xml
===================================================================
--- trunk/sandbox/ui/dialog-window/src/main/config/component/dialog-close-button.xml (rev 0)
+++ trunk/sandbox/ui/dialog-window/src/main/config/component/dialog-close-button.xml 2007-09-15 00:10:06 UTC (rev 2949)
@@ -0,0 +1,138 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE components
+ PUBLIC "-//AJAX4JSF//CDK Generator config/EN"
+ "https://ajax4jsf.dev.java.net/nonav/dtds/component-config.dtd" [
+<!ENTITY universal_html_attributes SYSTEM "html_universal_attributes.xml">
+]>
+<components>
+ <component>
+ <name>org.richfaces.DialogCloseButton</name>
+ <family>javax.faces.command</family>
+ <description>Dialog Close</description>
+ <superclass>org.richfaces.component.UIDialogCloseButton</superclass>
+ <classname>org.richfaces.component.html.DialogCloseButton</classname>
+ <renderer generate="true">
+ <name>org.richfaces.DialogCloseButton</name>
+ <template>dialog-close-button.xhtml</template>
+ </renderer>
+ <tag>
+ <name>dialogCloseButton</name>
+ <classname>org.richfaces.taglib.DialogCloseButtonTag</classname>
+ <superclass>org.ajax4jsf.webapp.taglib.UIComponentTagBase</superclass>
+ </tag>
+ <taghandler>
+ <classname>org.ajax4jsf.webapp.taglib.AjaxComponentHandler</classname>
+ </taghandler>
+
+ <property>
+ <name>value</name>
+ <classname>java.lang.Object</classname>
+ <description>Initial value to set when rendered for the first time.</description>
+ </property>
+
+ <property>
+ <name>dir</name>
+ <classname>java.lang.String</classname>
+ <description>Direction indication for text that does not inherit directionality. Valid values are "LTR" (left-to-right) and "RTL" (right-to-left).</description>
+ </property>
+ <property>
+ <name>lang</name>
+ <classname>java.lang.String</classname>
+ <description>Code describing the language used in the generated markup for this component.</description>
+ </property>
+ <property>
+ <name>title</name>
+ <classname>java.lang.String</classname>
+ <description>Advisory title information about markup elements generated for this component.</description>
+ </property>
+ <property>
+ <name>style</name>
+ <classname>java.lang.String</classname>
+ <description>CSS style(s) to be applied when this component is rendered.</description>
+ </property>
+ <property>
+ <name>styleClass</name>
+ <classname>java.lang.String</classname>
+ <description>Space-separated list of CSS style class(es) to be applied when this element is rendered. This value must be passed through as the "class" attribute on generated markup.</description>
+ </property>
+
+ <property>
+ <name>onblur</name>
+ <classname>java.lang.String</classname>
+ <description>Javascript code executed when this element loses focus.</description>
+ </property>
+ <property>
+ <name>ondblclick</name>
+ <classname>java.lang.String</classname>
+ <description>Javascript code executed when a pointer button is double clicked over this element.</description>
+ </property>
+ <property>
+ <name>onfocus</name>
+ <classname>java.lang.String</classname>
+ <description>Javascript code executed when this element receives focus.</description>
+ </property>
+ <property>
+ <name>onmousedown</name>
+ <classname>java.lang.String</classname>
+ <description>Javascript code executed when a pointer button is pressed down over this element.</description>
+ </property>
+ <property>
+ <name>onmouseup</name>
+ <classname>java.lang.String</classname>
+ <description>Javascript code executed when a pointer button is released over this element.</description>
+ </property>
+ <property>
+ <name>onmouseover</name>
+ <classname>java.lang.String</classname>
+ <description>Javascript code executed when a pointer button is moved onto this element.</description>
+ </property>
+ <property>
+ <name>onmousemove</name>
+ <classname>java.lang.String</classname>
+ <description>Javascript code executed when a pointer button is moved within this element.</description>
+ </property>
+ <property>
+ <name>onmouseout</name>
+ <classname>java.lang.String</classname>
+ <description>Javascript code executed when a pointer button is moved away from this element.</description>
+ </property>
+ <property>
+ <name>onkeypress</name>
+ <classname>java.lang.String</classname>
+ <description>Javascript code executed when a key is pressed and released over this element.</description>
+ </property>
+ <property>
+ <name>onkeydown</name>
+ <classname>java.lang.String</classname>
+ <description>Javascript code executed when a key is pressed down over this element.</description>
+ </property>
+ <property>
+ <name>onkeyup</name>
+ <classname>java.lang.String</classname>
+ <description>Javascript code executed when a key is released over this element.</description>
+ </property>
+
+ <property>
+ <name>accesskey</name>
+ <classname>java.lang.String</classname>
+ <description>Access key that, when pressed, transfers focus to this element.</description>
+ </property>
+ <property>
+ <name>tabindex</name>
+ <classname>java.lang.String</classname>
+ <description>Position of this element in the tabbing order for the current document. This value must be an integer between 0 and 32767.</description>
+ </property>
+
+ <property required="false">
+ <name>mode</name>
+ <classname>java.lang.String</classname>
+ <description>Sets mode of requests to 'ajax' or 'server'.</description>
+ <defaultvalue>"ajax"</defaultvalue>
+ </property>
+
+ &ui_command_attributes;
+
+ &ajax_component_attributes;
+
+ </component>
+</components>
\ No newline at end of file
Property changes on: trunk/sandbox/ui/dialog-window/src/main/config/component/dialog-close-button.xml
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Name: svn:keywords
+ Date Revision Author
Added: trunk/sandbox/ui/dialog-window/src/main/config/component/dialog-close.xml
===================================================================
--- trunk/sandbox/ui/dialog-window/src/main/config/component/dialog-close.xml (rev 0)
+++ trunk/sandbox/ui/dialog-window/src/main/config/component/dialog-close.xml 2007-09-15 00:10:06 UTC (rev 2949)
@@ -0,0 +1,138 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE components
+ PUBLIC "-//AJAX4JSF//CDK Generator config/EN"
+ "https://ajax4jsf.dev.java.net/nonav/dtds/component-config.dtd" [
+<!ENTITY universal_html_attributes SYSTEM "html_universal_attributes.xml">
+]>
+<components>
+ <component>
+ <name>org.richfaces.DialogClose</name>
+ <family>javax.faces.command</family>
+ <description>Dialog Close</description>
+ <superclass>org.richfaces.component.UIDialogClose</superclass>
+ <classname>org.richfaces.component.html.DialogClose</classname>
+ <renderer>
+ <name>org.richfaces.DialogClose</name>
+ <template>dialog-close.xhtml</template>
+ </renderer>
+ <tag>
+ <name>dialogClose</name>
+ <classname>org.richfaces.taglib.DialogCloseTag</classname>
+ <superclass>org.ajax4jsf.webapp.taglib.UIComponentTagBase</superclass>
+ </tag>
+ <taghandler>
+ <classname>org.ajax4jsf.webapp.taglib.AjaxComponentHandler</classname>
+ </taghandler>
+
+ <property>
+ <name>value</name>
+ <classname>java.lang.Object</classname>
+ <description>Initial value to set when rendered for the first time.</description>
+ </property>
+
+ <property>
+ <name>dir</name>
+ <classname>java.lang.String</classname>
+ <description>Direction indication for text that does not inherit directionality. Valid values are "LTR" (left-to-right) and "RTL" (right-to-left).</description>
+ </property>
+ <property>
+ <name>lang</name>
+ <classname>java.lang.String</classname>
+ <description>Code describing the language used in the generated markup for this component.</description>
+ </property>
+ <property>
+ <name>title</name>
+ <classname>java.lang.String</classname>
+ <description>Advisory title information about markup elements generated for this component.</description>
+ </property>
+ <property>
+ <name>style</name>
+ <classname>java.lang.String</classname>
+ <description>CSS style(s) to be applied when this component is rendered.</description>
+ </property>
+ <property>
+ <name>styleClass</name>
+ <classname>java.lang.String</classname>
+ <description>Space-separated list of CSS style class(es) to be applied when this element is rendered. This value must be passed through as the "class" attribute on generated markup.</description>
+ </property>
+
+ <property>
+ <name>onblur</name>
+ <classname>java.lang.String</classname>
+ <description>Javascript code executed when this element loses focus.</description>
+ </property>
+ <property>
+ <name>ondblclick</name>
+ <classname>java.lang.String</classname>
+ <description>Javascript code executed when a pointer button is double clicked over this element.</description>
+ </property>
+ <property>
+ <name>onfocus</name>
+ <classname>java.lang.String</classname>
+ <description>Javascript code executed when this element receives focus.</description>
+ </property>
+ <property>
+ <name>onmousedown</name>
+ <classname>java.lang.String</classname>
+ <description>Javascript code executed when a pointer button is pressed down over this element.</description>
+ </property>
+ <property>
+ <name>onmouseup</name>
+ <classname>java.lang.String</classname>
+ <description>Javascript code executed when a pointer button is released over this element.</description>
+ </property>
+ <property>
+ <name>onmouseover</name>
+ <classname>java.lang.String</classname>
+ <description>Javascript code executed when a pointer button is moved onto this element.</description>
+ </property>
+ <property>
+ <name>onmousemove</name>
+ <classname>java.lang.String</classname>
+ <description>Javascript code executed when a pointer button is moved within this element.</description>
+ </property>
+ <property>
+ <name>onmouseout</name>
+ <classname>java.lang.String</classname>
+ <description>Javascript code executed when a pointer button is moved away from this element.</description>
+ </property>
+ <property>
+ <name>onkeypress</name>
+ <classname>java.lang.String</classname>
+ <description>Javascript code executed when a key is pressed and released over this element.</description>
+ </property>
+ <property>
+ <name>onkeydown</name>
+ <classname>java.lang.String</classname>
+ <description>Javascript code executed when a key is pressed down over this element.</description>
+ </property>
+ <property>
+ <name>onkeyup</name>
+ <classname>java.lang.String</classname>
+ <description>Javascript code executed when a key is released over this element.</description>
+ </property>
+
+ <property>
+ <name>accesskey</name>
+ <classname>java.lang.String</classname>
+ <description>Access key that, when pressed, transfers focus to this element.</description>
+ </property>
+ <property>
+ <name>tabindex</name>
+ <classname>java.lang.String</classname>
+ <description>Position of this element in the tabbing order for the current document. This value must be an integer between 0 and 32767.</description>
+ </property>
+
+ <property required="false">
+ <name>mode</name>
+ <classname>java.lang.String</classname>
+ <description>Sets mode of requests to 'ajax' or 'server'.</description>
+ <defaultvalue>"ajax"</defaultvalue>
+ </property>
+
+ &ui_command_attributes;
+
+ &ajax_component_attributes;
+
+ </component>
+</components>
\ No newline at end of file
Property changes on: trunk/sandbox/ui/dialog-window/src/main/config/component/dialog-close.xml
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Name: svn:keywords
+ Date Revision Author
Added: trunk/sandbox/ui/dialog-window/src/main/config/component/dialog-link.xml
===================================================================
--- trunk/sandbox/ui/dialog-window/src/main/config/component/dialog-link.xml (rev 0)
+++ trunk/sandbox/ui/dialog-window/src/main/config/component/dialog-link.xml 2007-09-15 00:10:06 UTC (rev 2949)
@@ -0,0 +1,138 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE components
+ PUBLIC "-//AJAX4JSF//CDK Generator config/EN"
+ "https://ajax4jsf.dev.java.net/nonav/dtds/component-config.dtd" [
+<!ENTITY universal_html_attributes SYSTEM "html_universal_attributes.xml">
+]>
+<components>
+ <component>
+ <name>org.richfaces.DialogLink</name>
+ <family>javax.faces.command</family>
+ <description>Dialog Link</description>
+ <superclass>org.richfaces.component.UIDialogLink</superclass>
+ <classname>org.richfaces.component.html.DialogLink</classname>
+ <renderer generate="true">
+ <name>org.richfaces.DialogLink</name>
+ <template>dialog-link.xhtml</template>
+ </renderer>
+ <tag>
+ <name>dialogLink</name>
+ <classname>org.richfaces.taglib.DialogLinkTag</classname>
+ <superclass>org.ajax4jsf.webapp.taglib.UIComponentTagBase</superclass>
+ </tag>
+ <taghandler>
+ <classname>org.ajax4jsf.webapp.taglib.AjaxComponentHandler</classname>
+ </taghandler>
+
+ <property>
+ <name>value</name>
+ <classname>java.lang.Object</classname>
+ <description>Initial value to set when rendered for the first time.</description>
+ </property>
+
+ <property>
+ <name>dir</name>
+ <classname>java.lang.String</classname>
+ <description>Direction indication for text that does not inherit directionality. Valid values are "LTR" (left-to-right) and "RTL" (right-to-left).</description>
+ </property>
+ <property>
+ <name>lang</name>
+ <classname>java.lang.String</classname>
+ <description>Code describing the language used in the generated markup for this component.</description>
+ </property>
+ <property>
+ <name>title</name>
+ <classname>java.lang.String</classname>
+ <description>Advisory title information about markup elements generated for this component.</description>
+ </property>
+ <property>
+ <name>style</name>
+ <classname>java.lang.String</classname>
+ <description>CSS style(s) to be applied when this component is rendered.</description>
+ </property>
+ <property>
+ <name>styleClass</name>
+ <classname>java.lang.String</classname>
+ <description>Space-separated list of CSS style class(es) to be applied when this element is rendered. This value must be passed through as the "class" attribute on generated markup.</description>
+ </property>
+
+ <property>
+ <name>onblur</name>
+ <classname>java.lang.String</classname>
+ <description>Javascript code executed when this element loses focus.</description>
+ </property>
+ <property>
+ <name>ondblclick</name>
+ <classname>java.lang.String</classname>
+ <description>Javascript code executed when a pointer button is double clicked over this element.</description>
+ </property>
+ <property>
+ <name>onfocus</name>
+ <classname>java.lang.String</classname>
+ <description>Javascript code executed when this element receives focus.</description>
+ </property>
+ <property>
+ <name>onmousedown</name>
+ <classname>java.lang.String</classname>
+ <description>Javascript code executed when a pointer button is pressed down over this element.</description>
+ </property>
+ <property>
+ <name>onmouseup</name>
+ <classname>java.lang.String</classname>
+ <description>Javascript code executed when a pointer button is released over this element.</description>
+ </property>
+ <property>
+ <name>onmouseover</name>
+ <classname>java.lang.String</classname>
+ <description>Javascript code executed when a pointer button is moved onto this element.</description>
+ </property>
+ <property>
+ <name>onmousemove</name>
+ <classname>java.lang.String</classname>
+ <description>Javascript code executed when a pointer button is moved within this element.</description>
+ </property>
+ <property>
+ <name>onmouseout</name>
+ <classname>java.lang.String</classname>
+ <description>Javascript code executed when a pointer button is moved away from this element.</description>
+ </property>
+ <property>
+ <name>onkeypress</name>
+ <classname>java.lang.String</classname>
+ <description>Javascript code executed when a key is pressed and released over this element.</description>
+ </property>
+ <property>
+ <name>onkeydown</name>
+ <classname>java.lang.String</classname>
+ <description>Javascript code executed when a key is pressed down over this element.</description>
+ </property>
+ <property>
+ <name>onkeyup</name>
+ <classname>java.lang.String</classname>
+ <description>Javascript code executed when a key is released over this element.</description>
+ </property>
+
+ <property>
+ <name>accesskey</name>
+ <classname>java.lang.String</classname>
+ <description>Access key that, when pressed, transfers focus to this element.</description>
+ </property>
+ <property>
+ <name>tabindex</name>
+ <classname>java.lang.String</classname>
+ <description>Position of this element in the tabbing order for the current document. This value must be an integer between 0 and 32767.</description>
+ </property>
+
+ <property required="false">
+ <name>mode</name>
+ <classname>java.lang.String</classname>
+ <description>Sets mode of requests to 'ajax' or 'server'.</description>
+ <defaultvalue>"ajax"</defaultvalue>
+ </property>
+
+ &ui_command_attributes;
+
+ &ajax_component_attributes;
+
+ </component>
+</components>
\ No newline at end of file
Property changes on: trunk/sandbox/ui/dialog-window/src/main/config/component/dialog-link.xml
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Name: svn:keywords
+ Date Revision Author
Added: trunk/sandbox/ui/dialog-window/src/main/config/component/dialog-vertical-filler.xml
===================================================================
--- trunk/sandbox/ui/dialog-window/src/main/config/component/dialog-vertical-filler.xml (rev 0)
+++ trunk/sandbox/ui/dialog-window/src/main/config/component/dialog-vertical-filler.xml 2007-09-15 00:10:06 UTC (rev 2949)
@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE components
+ PUBLIC "-//AJAX4JSF//CDK Generator config/EN"
+ "https://ajax4jsf.dev.java.net/nonav/dtds/component-config.dtd" [
+<!ENTITY universal_html_attributes SYSTEM "html_universal_attributes.xml">
+]>
+<components>
+ <component>
+ <name>org.richfaces.DialogVerticalFiller</name>
+ <family>javax.faces.filler</family>
+ <description>Dialog Vertical Filler</description>
+ <superclass>org.richfaces.component.UIDialogVerticalFiller</superclass>
+ <classname>org.richfaces.component.html.DialogVerticalFiller</classname>
+
+ <renderer generate="true">
+ <name>org.richfaces.DialogVerticalFiller</name>
+ <template>dialog-vertical-filler.xhtml</template>
+ </renderer>
+ <tag>
+ <name>dialogVerticalFiller</name>
+ <classname>org.richfaces.taglib.DialogVerticalFillerTag</classname>
+ <superclass>org.ajax4jsf.webapp.taglib.UIComponentTagBase</superclass>
+ </tag>
+ <taghandler>
+ <classname>org.ajax4jsf.webapp.taglib.AjaxComponentHandler</classname>
+ </taghandler>
+
+ <property>
+ <name>style</name>
+ <classname>java.lang.String</classname>
+ <description>CSS style(s) to be applied when this component is rendered.</description>
+ </property>
+ <property>
+ <name>styleClass</name>
+ <classname>java.lang.String</classname>
+ <description>Space-separated list of CSS style class(es) to be applied when this element is rendered. This value must be passed through as the "class" attribute on generated markup.</description>
+ </property>
+
+ </component>
+</components>
\ No newline at end of file
Property changes on: trunk/sandbox/ui/dialog-window/src/main/config/component/dialog-vertical-filler.xml
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Name: svn:keywords
+ Date Revision Author
Added: trunk/sandbox/ui/dialog-window/src/main/config/component/dialog-window-button.xml
===================================================================
--- trunk/sandbox/ui/dialog-window/src/main/config/component/dialog-window-button.xml (rev 0)
+++ trunk/sandbox/ui/dialog-window/src/main/config/component/dialog-window-button.xml 2007-09-15 00:10:06 UTC (rev 2949)
@@ -0,0 +1,290 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE components
+ PUBLIC "-//AJAX4JSF//CDK Generator config/EN"
+ "https://ajax4jsf.dev.java.net/nonav/dtds/component-config.dtd" [
+<!ENTITY universal_html_attributes SYSTEM "html_universal_attributes.xml">
+]>
+<components>
+ <component>
+ <name>org.richfaces.DialogWindowButton</name>
+ <family>javax.faces.command</family>
+ <description>Dialog Window</description>
+ <superclass>org.richfaces.component.UIDialogWindowButton</superclass>
+ <classname>org.richfaces.component.html.DialogWindowButton</classname>
+
+ <renderer generate="true">
+ <name>org.richfaces.DialogWindowButton</name>
+ <template>dialog-window-button.xhtml</template>
+ </renderer>
+ <tag>
+ <name>dialogWindowButton</name>
+ <classname>org.richfaces.taglib.DialogWindowButtonTag</classname>
+ <superclass>org.ajax4jsf.webapp.taglib.UIComponentTagBase</superclass>
+ </tag>
+ <taghandler>
+ <classname>org.ajax4jsf.webapp.taglib.AjaxComponentHandler</classname>
+ </taghandler>
+
+
+ <property>
+ <name>value</name>
+ <classname>java.lang.Object</classname>
+ <description>Initial value to set when rendered for the first time.</description>
+ </property>
+
+ <property exist="true">
+ <name>closeWindowAction</name>
+ <classname>javax.faces.el.MethodBinding</classname>
+ <description>Close window action</description>
+ <methodargs> </methodargs>
+ </property>
+
+ <property exist="true">
+ <name>closeWindowActionListener</name>
+ <classname>javax.faces.el.MethodBinding</classname>
+ <description>Close window action listener</description>
+ <methodargs>javax.faces.event.ActionEvent.class</methodargs>
+ </property>
+ <property>
+ <name>dir</name>
+ <classname>java.lang.String</classname>
+ <description>Direction indication for text that does not inherit directionality. Valid values are "LTR" (left-to-right) and "RTL" (right-to-left).</description>
+ </property>
+ <property>
+ <name>lang</name>
+ <classname>java.lang.String</classname>
+ <description>Code describing the language used in the generated markup for this component.</description>
+ </property>
+ <property>
+ <name>title</name>
+ <classname>java.lang.String</classname>
+ <description>Advisory title information about markup elements generated for this component.</description>
+ </property>
+ <property>
+ <name>style</name>
+ <classname>java.lang.String</classname>
+ <description>CSS style(s) to be applied when this component is rendered.</description>
+ </property>
+ <property>
+ <name>styleClass</name>
+ <classname>java.lang.String</classname>
+ <description>Space-separated list of CSS style class(es) to be applied when this element is rendered. This value must be passed through as the "class" attribute on generated markup.</description>
+ </property>
+
+ <property>
+ <name>onblur</name>
+ <classname>java.lang.String</classname>
+ <description>Javascript code executed when this element loses focus.</description>
+ </property>
+ <property>
+ <name>ondblclick</name>
+ <classname>java.lang.String</classname>
+ <description>Javascript code executed when a pointer button is double clicked over this element.</description>
+ </property>
+ <property>
+ <name>onfocus</name>
+ <classname>java.lang.String</classname>
+ <description>Javascript code executed when this element receives focus.</description>
+ </property>
+ <property>
+ <name>onmousedown</name>
+ <classname>java.lang.String</classname>
+ <description>Javascript code executed when a pointer button is pressed down over this element.</description>
+ </property>
+ <property>
+ <name>onmouseup</name>
+ <classname>java.lang.String</classname>
+ <description>Javascript code executed when a pointer button is released over this element.</description>
+ </property>
+ <property>
+ <name>onmouseover</name>
+ <classname>java.lang.String</classname>
+ <description>Javascript code executed when a pointer button is moved onto this element.</description>
+ </property>
+ <property>
+ <name>onmousemove</name>
+ <classname>java.lang.String</classname>
+ <description>Javascript code executed when a pointer button is moved within this element.</description>
+ </property>
+ <property>
+ <name>onmouseout</name>
+ <classname>java.lang.String</classname>
+ <description>Javascript code executed when a pointer button is moved away from this element.</description>
+ </property>
+ <property>
+ <name>onkeypress</name>
+ <classname>java.lang.String</classname>
+ <description>Javascript code executed when a key is pressed and released over this element.</description>
+ </property>
+ <property>
+ <name>onkeydown</name>
+ <classname>java.lang.String</classname>
+ <description>Javascript code executed when a key is pressed down over this element.</description>
+ </property>
+ <property>
+ <name>onkeyup</name>
+ <classname>java.lang.String</classname>
+ <description>Javascript code executed when a key is released over this element.</description>
+ </property>
+
+ <property>
+ <name>accesskey</name>
+ <classname>java.lang.String</classname>
+ <description>Access key that, when pressed, transfers focus to this element.</description>
+ </property>
+ <property>
+ <name>tabindex</name>
+ <classname>java.lang.String</classname>
+ <description>Position of this element in the tabbing order for the current document. This value must be an integer between 0 and 32767.</description>
+ </property>
+
+ <property>
+ <name>width</name>
+ <classname>java.lang.String</classname>
+ <description>Width of created dialog window.</description>
+ </property>
+
+ <property>
+ <name>height</name>
+ <classname>java.lang.String</classname>
+ <description>Height of created dialog window.</description>
+ </property>
+
+ <property>
+ <name>posx</name>
+ <classname>java.lang.String</classname>
+ <description>Horizontal position of created dialog window. Can be absolute integer,
+ or relative (integer plus '%') or one of "left", "center", "right". Defaults to "center"</description>
+ </property>
+
+ <property>
+ <name>posy</name>
+ <classname>java.lang.String</classname>
+ <description>Vertical position of created dialog window. Can be absolute integer,
+ or relative (integer plus '%') or one of "bottom", "middle", "top",. Defaults to "middle"</description>
+ </property>
+
+ <property>
+ <name>align</name>
+ <classname>java.lang.String</classname>
+ <description>Horizontal alignment of created dialog window. One of "left", "center", "right", defaults to "center"</description>
+ </property>
+
+ <property>
+ <name>valign</name>
+ <classname>java.lang.String</classname>
+ <description>Vertical alignment of created dialog window. One of "bottom", "middle", "top", defaults to "middle"</description>
+ </property>
+
+ <property>
+ <name>resizable</name>
+ <classname>boolean</classname>
+ <description>Possibility for a customer to change dialog window size
+ by dragging from within +/- 2px zone of any border.
+ The value is a Boolean (true/false). Default value is 'true'.</description>
+ <defaultvalue>true</defaultvalue>
+ </property>
+
+ <property>
+ <name>float</name>
+ <classname>boolean</classname>
+ <description>Possibility for a customer to change dialog window position
+ by dragging from within 16px zone of the top border.
+ The value is a Boolean (true/false). Default value is 'true'.</description>
+ <defaultvalue>true</defaultvalue>
+ </property>
+
+ <property>
+ <name>headerHeight</name>
+ <classname>java.lang.String</classname>
+ <description>The height of zone near the top border of dialog window,
+ by dragging from which customer can change dialog window position if float=true.
+ When float=false, this attribute is ignored.
+ The value is a number of pixels. Default value is 16px.</description>
+ <defaultvalue>"16px"</defaultvalue>
+ </property>
+
+ <property>
+ <name>maxWidth</name>
+ <classname>java.lang.String</classname>
+ <description>Maximum width of dialog window.
+ Can be absolute number in pixels or relative in % of browser width.
+ Used at initial calculation of width if 'width' attribute is not set,
+ and at resizing. Default value is undefined.</description>
+ </property>
+
+ <property>
+ <name>maxHeight</name>
+ <classname>java.lang.String</classname>
+ <description>Maximum height of dialog window.
+ Can be absolute number in pixels or relative in % of browser height.
+ Used at initial calculation of height if 'height' attribute is not set,
+ and at resizing. Default value is undefined.</description>
+ </property>
+
+ <property>
+ <name>posFunction</name>
+ <classname>java.lang.String</classname>
+ <description>Java script function name to be used for
+ calculating position of dialog window. The function should
+ accept parameters (windowId, referenceId, options).
+ windowId - id of element in html document representing the
+ dialog window, coordinates of which are to be set;
+ referenceId - id of element in html document, relative to
+ which dialog window is to be positioned;
+ options - positioning parameters posx and posy that may be
+ either used or ignored by the function.
+ If posFunction is not set, posx and posy are treated as
+ coordinates in browser window.
+ Default value is undefined.</description>
+ </property>
+
+ <property>
+ <name>posReferenceId</name>
+ <classname>java.lang.String</classname>
+ <description>Id of a component used for
+ calculating position of dialog window. Is taken into account
+ only when posFunction is set.
+ By default posReferenceId equals to id of this component.</description>
+ </property>
+
+ <property required="false">
+ <name>mode</name>
+ <classname>java.lang.String</classname>
+ <description>Sets mode of requests to 'ajax' or 'server'.</description>
+ <defaultvalue>"ajax"</defaultvalue>
+ </property>
+
+ <property>
+ <name>hideParentDialog</name>
+ <classname>boolean</classname>
+ <description>If set to true and the control is placed
+ in another (parent) dialog, then the parent dialog will be
+ hidden before new one is opened. If subdialog is closed
+ with "close:" prefix (or no prefix), the parent dialog will be
+ set visible again. If subdialog is closed with "closeall:" prefix,
+ then as usual control will be returned to the main page,
+ without activating the parent dialog.
+ The value is a Boolean (true/false). Default value is 'false'.</description>
+ <defaultvalue>false</defaultvalue>
+ </property>
+
+ &ui_command_attributes;
+
+<!--
+ AJAX component attributes
+
+ ajaxSingle
+ bypassUpdates
+ limitToList
+ reRender
+ status
+ eventsQueue
+ requestDelay
+ oncomplete
+-->
+
+ &ajax_component_attributes;
+
+ </component>
+</components>
\ No newline at end of file
Property changes on: trunk/sandbox/ui/dialog-window/src/main/config/component/dialog-window-button.xml
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Name: svn:keywords
+ Date Revision Author
Added: trunk/sandbox/ui/dialog-window/src/main/config/component/dialog-window-output-link.xml
===================================================================
--- trunk/sandbox/ui/dialog-window/src/main/config/component/dialog-window-output-link.xml (rev 0)
+++ trunk/sandbox/ui/dialog-window/src/main/config/component/dialog-window-output-link.xml 2007-09-15 00:10:06 UTC (rev 2949)
@@ -0,0 +1,256 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE components
+ PUBLIC "-//AJAX4JSF//CDK Generator config/EN"
+ "https://ajax4jsf.dev.java.net/nonav/dtds/component-config.dtd" [
+<!ENTITY universal_html_attributes SYSTEM "html_universal_attributes.xml">
+]>
+<components>
+ <component>
+ <name>org.richfaces.DialogWindowOutputLink</name>
+ <family>javax.faces.command</family>
+ <description>Dialog Window Output Link</description>
+ <superclass>org.richfaces.component.UIDialogWindowOutputLink</superclass>
+ <classname>org.richfaces.component.html.DialogWindowOutputLink</classname>
+
+ <renderer generate="true">
+ <name>org.richfaces.DialogWindowOutputLink</name>
+ <template>dialog-window-output-link.xhtml</template>
+ </renderer>
+ <tag>
+ <name>dialogWindowOutputLink</name>
+ <classname>org.richfaces.taglib.DialogWindowOutputLinkTag</classname>
+ <superclass>org.ajax4jsf.webapp.taglib.UIComponentTagBase</superclass>
+ </tag>
+ <taghandler>
+ <classname>org.ajax4jsf.webapp.taglib.AjaxComponentHandler</classname>
+ </taghandler>
+
+ <property>
+ <name>value</name>
+ <classname>java.lang.Object</classname>
+ <description>Initial value to set when rendered for the first time.</description>
+ </property>
+
+ <property exist="true">
+ <name>closeWindowAction</name>
+ <classname>javax.faces.el.MethodBinding</classname>
+ <description>Close window action</description>
+ <methodargs> </methodargs>
+ </property>
+
+ <property exist="true">
+ <name>closeWindowActionListener</name>
+ <classname>javax.faces.el.MethodBinding</classname>
+ <description>Close window action listener</description>
+ <methodargs>javax.faces.event.ActionEvent.class</methodargs>
+ </property>
+
+ <property>
+ <name>dir</name>
+ <classname>java.lang.String</classname>
+ <description>Direction indication for text that does not inherit directionality. Valid values are "LTR" (left-to-right) and "RTL" (right-to-left).</description>
+ </property>
+ <property>
+ <name>lang</name>
+ <classname>java.lang.String</classname>
+ <description>Code describing the language used in the generated markup for this component.</description>
+ </property>
+ <property>
+ <name>title</name>
+ <classname>java.lang.String</classname>
+ <description>Advisory title information about markup elements generated for this component.</description>
+ </property>
+ <property>
+ <name>style</name>
+ <classname>java.lang.String</classname>
+ <description>CSS style(s) to be applied when this component is rendered.</description>
+ </property>
+ <property>
+ <name>styleClass</name>
+ <classname>java.lang.String</classname>
+ <description>Space-separated list of CSS style class(es) to be applied when this element is rendered. This value must be passed through as the "class" attribute on generated markup.</description>
+ </property>
+
+ <property>
+ <name>onblur</name>
+ <classname>java.lang.String</classname>
+ <description>Javascript code executed when this element loses focus.</description>
+ </property>
+ <property>
+ <name>ondblclick</name>
+ <classname>java.lang.String</classname>
+ <description>Javascript code executed when a pointer button is double clicked over this element.</description>
+ </property>
+ <property>
+ <name>onfocus</name>
+ <classname>java.lang.String</classname>
+ <description>Javascript code executed when this element receives focus.</description>
+ </property>
+ <property>
+ <name>onmousedown</name>
+ <classname>java.lang.String</classname>
+ <description>Javascript code executed when a pointer button is pressed down over this element.</description>
+ </property>
+ <property>
+ <name>onmouseup</name>
+ <classname>java.lang.String</classname>
+ <description>Javascript code executed when a pointer button is released over this element.</description>
+ </property>
+ <property>
+ <name>onmouseover</name>
+ <classname>java.lang.String</classname>
+ <description>Javascript code executed when a pointer button is moved onto this element.</description>
+ </property>
+ <property>
+ <name>onmousemove</name>
+ <classname>java.lang.String</classname>
+ <description>Javascript code executed when a pointer button is moved within this element.</description>
+ </property>
+ <property>
+ <name>onmouseout</name>
+ <classname>java.lang.String</classname>
+ <description>Javascript code executed when a pointer button is moved away from this element.</description>
+ </property>
+ <property>
+ <name>onkeypress</name>
+ <classname>java.lang.String</classname>
+ <description>Javascript code executed when a key is pressed and released over this element.</description>
+ </property>
+ <property>
+ <name>onkeydown</name>
+ <classname>java.lang.String</classname>
+ <description>Javascript code executed when a key is pressed down over this element.</description>
+ </property>
+ <property>
+ <name>onkeyup</name>
+ <classname>java.lang.String</classname>
+ <description>Javascript code executed when a key is released over this element.</description>
+ </property>
+
+ <property>
+ <name>accesskey</name>
+ <classname>java.lang.String</classname>
+ <description>Access key that, when pressed, transfers focus to this element.</description>
+ </property>
+ <property>
+ <name>tabindex</name>
+ <classname>java.lang.String</classname>
+ <description>Position of this element in the tabbing order for the current document. This value must be an integer between 0 and 32767.</description>
+ </property>
+
+ <property>
+ <name>width</name>
+ <classname>java.lang.String</classname>
+ <description>Width of created dialog window.</description>
+ </property>
+
+ <property>
+ <name>height</name>
+ <classname>java.lang.String</classname>
+ <description>Height of created dialog window.</description>
+ </property>
+
+ <property>
+ <name>posx</name>
+ <classname>java.lang.String</classname>
+ <description>Horizontal position of created dialog window. Can be absolute integer,
+ or relative (integer plus '%') or one of "left", "center", "right". Defaults to "center"</description>
+ </property>
+
+ <property>
+ <name>posy</name>
+ <classname>java.lang.String</classname>
+ <description>Vertical position of created dialog window. Can be absolute integer,
+ or relative (integer plus '%') or one of "bottom", "middle", "top",. Defaults to "middle"</description>
+ </property>
+
+ <property>
+ <name>resizable</name>
+ <classname>boolean</classname>
+ <description>Possibility for a customer to change dialog window size
+ by dragging from within +/- 2px zone of any border.
+ The value is a Boolean (true/false). Default value is 'true'.</description>
+ <defaultvalue>true</defaultvalue>
+ </property>
+
+ <property>
+ <name>float</name>
+ <classname>boolean</classname>
+ <description>Possibility for a customer to change dialog window position
+ by dragging from within 16px zone of the top border.
+ The value is a Boolean (true/false). Default value is 'true'.</description>
+ <defaultvalue>true</defaultvalue>
+ </property>
+
+ <property>
+ <name>headerHeight</name>
+ <classname>java.lang.String</classname>
+ <description>The height of zone near the top border of dialog window,
+ by dragging from which customer can change dialog window position if float=true.
+ When float=false, this attribute is ignored.
+ The value is a number of pixels. Default value is 16px.</description>
+ <defaultvalue>"16px"</defaultvalue>
+ </property>
+
+ <property>
+ <name>maxWidth</name>
+ <classname>java.lang.String</classname>
+ <description>Maximum width of dialog window.
+ Can be absolute number in pixels or relative in % of browser width.
+ Used at initial calculation of width if 'width' attribute is not set,
+ and at resizing. Default value is undefined.</description>
+ </property>
+
+ <property>
+ <name>maxHeight</name>
+ <classname>java.lang.String</classname>
+ <description>Maximum height of dialog window.
+ Can be absolute number in pixels or relative in % of browser height.
+ Used at initial calculation of height if 'height' attribute is not set,
+ and at resizing. Default value is undefined.</description>
+ </property>
+
+ <property>
+ <name>posFunction</name>
+ <classname>java.lang.String</classname>
+ <description>Java script function name to be used for
+ calculating position of dialog window. The function should
+ accept parameters (windowId, referenceId, options).
+ windowId - id of element in html document representing the
+ dialog window, coordinates of which are to be set;
+ referenceId - id of element in html document, relative to
+ which dialog window is to be positioned;
+ options - positioning parameters posx and posy that may be
+ either used or ignored by the function.
+ If posFunction is not set, posx and posy are treated as
+ coordinates in browser window.
+ Default value is undefined.</description>
+ </property>
+
+ <property>
+ <name>posReferenceId</name>
+ <classname>java.lang.String</classname>
+ <description>Id of a component used for
+ calculating position of dialog window. Is taken into account
+ only when posFunction is set.
+ By default posReferenceId equals to id of this component.</description>
+ </property>
+
+ <property>
+ <name>hideParentDialog</name>
+ <classname>boolean</classname>
+ <description>If set to true and the control is placed
+ in another (parent) dialog, then the parent dialog will be
+ hidden before new one is opened. If subdialog is closed
+ with "close:" prefix (or no prefix), the parent dialog will be
+ set visible again. If subdialog is closed with "closeall:" prefix,
+ then as usual control will be returned to the main page,
+ without activating the parent dialog.
+ The value is a Boolean (true/false). Default value is 'false'.</description>
+ <defaultvalue>false</defaultvalue>
+ </property>
+
+ &ajax_component_attributes;
+
+ </component>
+</components>
\ No newline at end of file
Property changes on: trunk/sandbox/ui/dialog-window/src/main/config/component/dialog-window-output-link.xml
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Name: svn:keywords
+ Date Revision Author
Added: trunk/sandbox/ui/dialog-window/src/main/config/component/dialog-window.xml
===================================================================
--- trunk/sandbox/ui/dialog-window/src/main/config/component/dialog-window.xml (rev 0)
+++ trunk/sandbox/ui/dialog-window/src/main/config/component/dialog-window.xml 2007-09-15 00:10:06 UTC (rev 2949)
@@ -0,0 +1,305 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE components
+ PUBLIC "-//AJAX4JSF//CDK Generator config/EN"
+ "https://ajax4jsf.dev.java.net/nonav/dtds/component-config.dtd" [
+<!ENTITY universal_html_attributes SYSTEM "html_universal_attributes.xml">
+]>
+<components>
+ <component>
+ <name>org.richfaces.DialogWindow</name>
+ <family>javax.faces.command</family>
+ <description>Dialog Window</description>
+ <superclass>org.richfaces.component.UIDialogWindow</superclass>
+ <classname>org.richfaces.component.html.DialogWindow</classname>
+
+ <renderer generate="true">
+ <name>org.richfaces.DialogWindow</name>
+ <template>dialog-window.xhtml</template>
+ </renderer>
+ <tag>
+ <name>dialogWindow</name>
+ <classname>org.richfaces.taglib.DialogWindowTag</classname>
+ <superclass>org.richfaces.taglib.DialogWindowTagBase</superclass>
+ </tag>
+ <taghandler>
+ <classname>org.richfaces.taglib.DialogWindowComponentHandler</classname>
+ </taghandler>
+
+
+ <property exist="true">
+ <name>closeWindowAction</name>
+ <classname>javax.faces.el.MethodBinding</classname>
+ <description>Close window action</description>
+ <methodargs> </methodargs>
+ </property>
+
+ <property exist="true">
+ <name>closeWindowActionListener</name>
+ <classname>javax.faces.el.MethodBinding</classname>
+ <description>Close window action listener</description>
+ <methodargs>javax.faces.event.ActionEvent.class</methodargs>
+ </property>
+
+ <property>
+ <name>value</name>
+ <classname>java.lang.String</classname>
+ <description>Initial value to set when rendered for the first time.</description>
+ </property>
+
+ <property>
+ <name>dir</name>
+ <classname>java.lang.String</classname>
+ <description>Direction indication for text that does not inherit directionality. Valid values are "LTR" (left-to-right) and "RTL" (right-to-left).</description>
+ </property>
+ <property>
+ <name>lang</name>
+ <classname>java.lang.String</classname>
+ <description>Code describing the language used in the generated markup for this component.</description>
+ </property>
+ <property>
+ <name>title</name>
+ <classname>java.lang.String</classname>
+ <description>Advisory title information about markup elements generated for this component.</description>
+ </property>
+ <property>
+ <name>style</name>
+ <classname>java.lang.String</classname>
+ <description>CSS style(s) to be applied when this component is rendered.</description>
+ </property>
+ <property>
+ <name>styleClass</name>
+ <classname>java.lang.String</classname>
+ <description>Space-separated list of CSS style class(es) to be applied when this element is rendered. This value must be passed through as the "class" attribute on generated markup.</description>
+ </property>
+
+ <property>
+ <name>onblur</name>
+ <classname>java.lang.String</classname>
+ <description>Javascript code executed when this element loses focus.</description>
+ </property>
+ <property>
+ <name>ondblclick</name>
+ <classname>java.lang.String</classname>
+ <description>Javascript code executed when a pointer button is double clicked over this element.</description>
+ </property>
+ <property>
+ <name>onfocus</name>
+ <classname>java.lang.String</classname>
+ <description>Javascript code executed when this element receives focus.</description>
+ </property>
+ <property>
+ <name>onmousedown</name>
+ <classname>java.lang.String</classname>
+ <description>Javascript code executed when a pointer button is pressed down over this element.</description>
+ </property>
+ <property>
+ <name>onmouseup</name>
+ <classname>java.lang.String</classname>
+ <description>Javascript code executed when a pointer button is released over this element.</description>
+ </property>
+ <property>
+ <name>onmouseover</name>
+ <classname>java.lang.String</classname>
+ <description>Javascript code executed when a pointer button is moved onto this element.</description>
+ </property>
+ <property>
+ <name>onmousemove</name>
+ <classname>java.lang.String</classname>
+ <description>Javascript code executed when a pointer button is moved within this element.</description>
+ </property>
+ <property>
+ <name>onmouseout</name>
+ <classname>java.lang.String</classname>
+ <description>Javascript code executed when a pointer button is moved away from this element.</description>
+ </property>
+ <property>
+ <name>onkeypress</name>
+ <classname>java.lang.String</classname>
+ <description>Javascript code executed when a key is pressed and released over this element.</description>
+ </property>
+ <property>
+ <name>onkeydown</name>
+ <classname>java.lang.String</classname>
+ <description>Javascript code executed when a key is pressed down over this element.</description>
+ </property>
+ <property>
+ <name>onkeyup</name>
+ <classname>java.lang.String</classname>
+ <description>Javascript code executed when a key is released over this element.</description>
+ </property>
+
+ <property>
+ <name>accesskey</name>
+ <classname>java.lang.String</classname>
+ <description>Access key that, when pressed, transfers focus to this element.</description>
+ </property>
+ <property>
+ <name>tabindex</name>
+ <classname>java.lang.String</classname>
+ <description>Position of this element in the tabbing order for the current document. This value must be an integer between 0 and 32767.</description>
+ </property>
+
+ <property>
+ <name>width</name>
+ <classname>java.lang.String</classname>
+ <description>Width of created dialog window.
+ Can be absolute number in pixels or relative in % of browser width.
+ </description>
+ </property>
+
+ <property>
+ <name>height</name>
+ <classname>java.lang.String</classname>
+ <description>Height of created dialog window.
+ Can be absolute number in pixels or relative in % of browser width.
+ </description>
+ </property>
+
+ <property>
+ <name>posx</name>
+ <classname>java.lang.String</classname>
+ <description>Horizontal position of created dialog window. Can be absolute integer,
+ or relative (integer plus '%') or one of "left", "center", "right". Defaults to "center"</description>
+ </property>
+
+ <property>
+ <name>posy</name>
+ <classname>java.lang.String</classname>
+ <description>Vertical position of created dialog window. Can be absolute integer,
+ or relative (integer plus '%') or one of "bottom", "middle", "top",. Defaults to "middle"</description>
+ </property>
+
+ <property>
+ <name>align</name>
+ <classname>java.lang.String</classname>
+ <description>Horizontal alignment of created dialog window. One of "left", "center", "right", defaults to "center"</description>
+ </property>
+
+ <property>
+ <name>valign</name>
+ <classname>java.lang.String</classname>
+ <description>Vertical alignment of created dialog window. One of "bottom", "middle", "top", defaults to "middle"</description>
+ </property>
+
+ <property>
+ <name>resizable</name>
+ <classname>boolean</classname>
+ <description>Possibility for a customer to change dialog window size
+ by dragging from within +/- 2px zone of any border.
+ The value is a Boolean (true/false). Default value is 'true'.</description>
+ <defaultvalue>true</defaultvalue>
+ </property>
+
+ <property>
+ <name>float</name>
+ <classname>boolean</classname>
+ <description>Possibility for a customer to change dialog window position
+ by dragging from within 16px zone of the top border.
+ The value is a Boolean (true/false). Default value is 'true'.</description>
+ <defaultvalue>true</defaultvalue>
+ </property>
+
+ <property>
+ <name>headerHeight</name>
+ <classname>java.lang.String</classname>
+ <description>The height of zone near the top border of dialog window,
+ by dragging from which customer can change dialog window position if float=true.
+ When float=false, this attribute is ignored.
+ The value is a number of pixels. Default value is 16px.</description>
+ <defaultvalue>"16px"</defaultvalue>
+ </property>
+
+ <property>
+ <name>allowTransparency</name>
+ <classname>boolean</classname>
+ <description>Possibility for a customer to provide transparent
+ background of content so that for instance visible dialog could have
+ rounded corners.
+ The value is a Boolean (true/false). Default value is 'false'.</description>
+ <defaultvalue>false</defaultvalue>
+ </property>
+
+ <property>
+ <name>maxWidth</name>
+ <classname>java.lang.String</classname>
+ <description>Maximum width of dialog window.
+ Can be absolute number in pixels or relative in % of browser width.
+ Used at initial calculation of width if 'width' attribute is not set,
+ and at resizing. Default value is undefined.</description>
+ </property>
+
+ <property>
+ <name>maxHeight</name>
+ <classname>java.lang.String</classname>
+ <description>Maximum height of dialog window.
+ Can be absolute number in pixels or relative in % of browser height.
+ Used at initial calculation of height if 'height' attribute is not set,
+ and at resizing. Default value is undefined.</description>
+ </property>
+
+ <property>
+ <name>posFunction</name>
+ <classname>java.lang.String</classname>
+ <description>Java script function name to be used for
+ calculating position of dialog window. The function should
+ accept parameters (windowId, referenceId, options).
+ windowId - id of element in html document representing the
+ dialog window, coordinates of which are to be set;
+ referenceId - id of element in html document, relative to
+ which dialog window is to be positioned;
+ options - positioning parameters posx and posy that may be
+ either used or ignored by the function.
+ If posFunction is not set, posx and posy are treated as
+ coordinates in browser window.
+ Default value is undefined.</description>
+ </property>
+
+ <property>
+ <name>posReferenceId</name>
+ <classname>java.lang.String</classname>
+ <description>Id of a component used for
+ calculating position of dialog window. Is taken into account
+ only when posFunction is set.
+ By default posReferenceId equals to id of this component.</description>
+ </property>
+
+ <property required="false">
+ <name>mode</name>
+ <classname>java.lang.String</classname>
+ <description>Sets mode of requests to 'ajax' or 'server'.</description>
+ <defaultvalue>"ajax"</defaultvalue>
+ </property>
+
+ <property>
+ <name>hideParentDialog</name>
+ <classname>boolean</classname>
+ <description>If set to true and the control is placed
+ in another (parent) dialog, then the parent dialog will be
+ hidden before new one is opened. If subdialog is closed
+ with "close:" prefix (or no prefix), the parent dialog will be
+ set visible again. If subdialog is closed with "closeall:" prefix,
+ then as usual control will be returned to the main page,
+ without activating the parent dialog.
+ The value is a Boolean (true/false). Default value is 'false'.</description>
+ <defaultvalue>false</defaultvalue>
+ </property>
+
+ &ui_command_attributes;
+
+<!--
+ AJAX component attributes
+
+ ajaxSingle
+ bypassUpdates
+ limitToList
+ reRender
+ status
+ eventsQueue
+ requestDelay
+ oncomplete
+-->
+
+ &ajax_component_attributes;
+
+ </component>
+</components>
\ No newline at end of file
Property changes on: trunk/sandbox/ui/dialog-window/src/main/config/component/dialog-window.xml
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Name: svn:keywords
+ Date Revision Author
Added: trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/component/ActionPrefixHolder.java
===================================================================
--- trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/component/ActionPrefixHolder.java (rev 0)
+++ trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/component/ActionPrefixHolder.java 2007-09-15 00:10:06 UTC (rev 2949)
@@ -0,0 +1,15 @@
+package org.richfaces.component;
+
+public interface ActionPrefixHolder {
+ public static String PREFIX_NORMAL = "normal:";
+ public static String PREFIX_DIALOG = "dialog:";
+ public static String PREFIX_CLOSE = "close:";
+ public static String PREFIX_NOCLOSE = "noclose:";
+ public static String PREFIX_CLOSEALL = "closeall:";
+
+ public void setPrefix(String s);
+ public String getPrefix();
+ public void setNullPath();
+ public boolean isNullPath();
+
+}
Property changes on: trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/component/ActionPrefixHolder.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Name: svn:keywords
+ Date Revision Author
Added: trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/component/DialogActionState.java
===================================================================
--- trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/component/DialogActionState.java (rev 0)
+++ trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/component/DialogActionState.java 2007-09-15 00:10:06 UTC (rev 2949)
@@ -0,0 +1,50 @@
+package org.richfaces.component;
+
+import java.io.Serializable;
+
+/**
+ *
+ * @author glory
+ *
+ */
+
+public class DialogActionState implements Serializable {
+ private static final long serialVersionUID = 1L;
+
+ public static final String SERVER_MODE = "server";
+ public static final String AJAX_MODE = "ajax";
+
+ private boolean immediate = false;
+ private boolean immediateSet = false;
+ private String mode = AJAX_MODE;
+
+ public DialogActionState() {}
+
+ public boolean isImmediate() {
+ return immediate;
+ }
+
+ public boolean isImmediateSet() {
+ return immediateSet;
+ }
+
+ public void setImmediate(boolean immediate) {
+ if (immediate != this.immediate) {
+ this.immediate = immediate;
+ }
+ this.immediateSet = true;
+ }
+
+ public String getMode() {
+ return mode;
+ }
+
+ public void setMode(String mode) {
+ this.mode = mode;
+ }
+
+ public boolean isServerMode() {
+ return SERVER_MODE.equals(mode);
+ }
+
+}
Property changes on: trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/component/DialogActionState.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Name: svn:keywords
+ Date Revision Author
Added: trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/component/DialogCloseEvent.java
===================================================================
--- trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/component/DialogCloseEvent.java (rev 0)
+++ trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/component/DialogCloseEvent.java 2007-09-15 00:10:06 UTC (rev 2949)
@@ -0,0 +1,29 @@
+package org.richfaces.component;
+
+import javax.faces.component.UIComponent;
+import javax.faces.event.FacesListener;
+
+/**
+ *
+ * @author glory
+ *
+ */
+
+public class DialogCloseEvent extends DialogEvent {
+ private static final long serialVersionUID = 1L;
+
+ public DialogCloseEvent(UIComponent component) {
+ super(component);
+ }
+
+// @Override
+ public boolean isAppropriateListener(FacesListener listener) {
+ return (listener instanceof DialogCloseListener);
+ }
+
+// @Override
+ public void processListener(FacesListener listener) {
+ ((DialogCloseListener)listener).processDialogClose(this);
+ }
+
+}
Property changes on: trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/component/DialogCloseEvent.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Name: svn:keywords
+ Date Revision Author
Added: trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/component/DialogCloseListener.java
===================================================================
--- trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/component/DialogCloseListener.java (rev 0)
+++ trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/component/DialogCloseListener.java 2007-09-15 00:10:06 UTC (rev 2949)
@@ -0,0 +1,13 @@
+package org.richfaces.component;
+
+import javax.faces.event.FacesListener;
+
+/**
+ *
+ * @author glory
+ *
+ */
+
+public interface DialogCloseListener extends FacesListener {
+ public void processDialogClose(DialogCloseEvent event);
+}
Property changes on: trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/component/DialogCloseListener.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Name: svn:keywords
+ Date Revision Author
Added: trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/component/DialogCloseListenerImpl.java
===================================================================
--- trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/component/DialogCloseListenerImpl.java (rev 0)
+++ trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/component/DialogCloseListenerImpl.java 2007-09-15 00:10:06 UTC (rev 2949)
@@ -0,0 +1,94 @@
+package org.richfaces.component;
+
+import javax.faces.application.ViewHandler;
+import javax.faces.component.UIComponent;
+import javax.faces.component.UIViewRoot;
+import javax.faces.context.FacesContext;
+
+import org.ajax4jsf.context.AjaxContext;
+import org.ajax4jsf.event.AjaxEvent;
+
+public class DialogCloseListenerImpl implements DialogCloseListener {
+ public void processDialogClose(DialogCloseEvent event) {
+ UIComponent c = event.getComponent();
+ if(!(c instanceof UIDialogClose)) return;
+ UIDialogClose component = (UIDialogClose)c;
+ /*
+ * If dialog is not going to be closed, nothing
+ * to be done, new view has already been set by
+ * navigation handler.
+ */
+ if(ActionPrefixHolder.PREFIX_NOCLOSE.equals(component.prefix)) return;
+
+ FacesContext context = FacesContext.getCurrentInstance();
+
+ /*
+ * Save id of view that would be shown in the dialog
+ * window if it had not to be closed. Renderer will pass
+ * it to js function closeDialog()
+ */
+ UIViewRoot viewroot = context.getViewRoot();
+ String viewId = viewroot.getViewId();
+ if(component.isNullPath()) {
+ viewId = "null";
+ }
+ String closeId = component.getClientId(context) + "_close";
+ context.getExternalContext().getRequestMap().put(closeId, viewId);
+ if(ActionPrefixHolder.PREFIX_CLOSEALL.equals(component.prefix)) {
+ String closeAll = component.getClientId(context) + "_closeall";
+ context.getExternalContext().getRequestMap().put(closeAll, viewId);
+ }
+
+ /*
+ * We need to prevent new view rendering in dialog
+ * window. So view set by navigation handler is
+ * to be replaced with old view.
+ */
+ UIViewRoot oldRoot = event.getSourceViewRoot();
+ String oldViewId = event.getSourceViewId();
+ ViewHandler vh = UIDialogAction.getViewHandler(context);
+// UIViewRoot newRoot = vh.createView(context, oldViewId);
+// context.setViewRoot(newRoot);
+ UIViewRoot newRoot = null;
+ try {
+ if(oldViewId.equals(oldRoot.getViewId()) && !UIDialogAction.isServerMode(component)) {
+ newRoot = oldRoot;
+ }
+ } catch (Exception e) {
+ //ignore
+ }
+ if(newRoot == null) {
+ newRoot = vh.createView(context, oldViewId);
+ } else {
+ try {
+ Object st = oldRoot.saveState(context);
+ newRoot.restoreState(context, st);
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ context.getExternalContext().getRequestMap().put(AjaxContext.AJAX_CONTEXT_KEY, event.getAjaxContext());
+ }
+
+ context.setViewRoot(newRoot);
+
+ Object nc = null;
+ try {
+ nc = newRoot.findComponent(component.getClientId(context));
+ } catch (Exception e) {
+ //ignore
+ }
+ if(nc instanceof UIComponent) {
+ UIComponent newComponent = (UIComponent)nc;
+ try {
+ AjaxEvent e = new AjaxEvent(newRoot);
+ newRoot.queueEvent(e);
+ e = new AjaxEvent(newComponent);
+ newComponent.queueEvent(e);
+ } catch (Exception exc) {
+ System.out.println("Cannot queue event: " + newComponent.getClass().getName());
+ }
+ }
+
+ }
+
+}
Property changes on: trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/component/DialogCloseListenerImpl.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Name: svn:keywords
+ Date Revision Author
Added: trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/component/DialogContext.java
===================================================================
--- trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/component/DialogContext.java (rev 0)
+++ trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/component/DialogContext.java 2007-09-15 00:10:06 UTC (rev 2949)
@@ -0,0 +1,161 @@
+package org.richfaces.component;
+
+import java.io.Serializable;
+import java.util.Collection;
+import java.util.HashMap;
+import java.util.Map;
+import java.util.Set;
+
+public class DialogContext implements Map, Serializable {
+ private static final long serialVersionUID = 1L;
+
+ private String dialogId;
+ private Map map = new HashMap();
+ private Map parameters = new HashMap();
+ private String dialogPath = null;
+ private boolean locked = true;
+
+ DialogContext parent = null;
+ DialogContext child = null;
+
+ public void setDialogId(String s) {
+ this.dialogId = s;
+ }
+
+ public String getDialogId() {
+ return dialogId;
+ }
+
+ public void clear() {
+ map.clear();
+ }
+
+ public boolean containsKey(Object key) {
+ return map.containsKey(key);
+ }
+
+ public boolean containsValue(Object value) {
+ return map.containsValue(value);
+ }
+
+ public Set entrySet() {
+ return map.entrySet();
+ }
+
+ public Object get(Object key) {
+ return findMapForParameter(key).get(key);
+ }
+
+ public boolean isEmpty() {
+ return map.isEmpty();
+ }
+
+ public Set keySet() {
+ return map.keySet();
+ }
+
+ public Object put(Object key, Object value) {
+ if(locked) return findMapForParameter(key).get(key);
+ if(value == null) return findMapForParameter(key).remove(key);
+ return findMapForParameter(key).put(key, value);
+ }
+
+ public void putAll(Map t) {
+ if(locked) return;
+ map.putAll(t);
+ }
+
+ public Object remove(Object key) {
+ return map.remove(key);
+ }
+
+ public int size() {
+ return map.size();
+ }
+
+ public Collection values() {
+ return map.values();
+ }
+
+ public String getDialogPath() {
+ return dialogPath;
+ }
+
+ public void setDialogPath(String dialogPath) {
+ this.dialogPath = dialogPath;
+ }
+
+ public boolean isLocked() {
+ return locked;
+ }
+
+ public void setLocked(boolean b) {
+ locked = b;
+ }
+
+ public void setParentContext(DialogContext parent) {
+ this.parent = parent;
+ }
+
+ public DialogContext getParentContext() {
+ return parent;
+ }
+
+ public void addChildContext(DialogContext child) {
+ this.child = child;
+ child.parent = this;
+ // hack! common map for all dialogs
+ child.map = map;
+ }
+
+ public void removeChildContext(DialogContext child) {
+ if(this.child == child) {
+ this.child = null;
+ child.parent = null;
+ }
+ }
+
+ public DialogContext getChildContext(int index) {
+ return child;
+ }
+
+ public int getChildContextCount() {
+ return child == null ? 0 : 1;
+ }
+
+ public void removeFromParent() {
+ if(parent != null) parent.removeChildContext(this);
+ }
+
+ public void deactivate() {
+ setLocked(true);
+ setDialogPath(null);
+ if(child != null) {
+ child.deactivate();
+ }
+ removeFromParent();
+ }
+
+ public void setParameter(String key, Object value) {
+ if(value == null) {
+ parameters.remove(key);
+ } else {
+ if(!(value instanceof Serializable)) {
+ value = value.toString();
+ }
+ parameters.put(key, value);
+ }
+ }
+
+ public Object getParameter(String key) {
+ return parameters.get(key);
+ }
+
+ private Map findMapForParameter(Object key) {
+ if(key == null) return map;
+ if(parameters.containsKey(key)) return parameters;
+ if(parent == null) return map;
+ return parent.findMapForParameter(key);
+ }
+
+}
Property changes on: trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/component/DialogContext.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Name: svn:keywords
+ Date Revision Author
Added: trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/component/DialogContextManager.java
===================================================================
--- trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/component/DialogContextManager.java (rev 0)
+++ trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/component/DialogContextManager.java 2007-09-15 00:10:06 UTC (rev 2949)
@@ -0,0 +1,56 @@
+package org.richfaces.component;
+
+import java.io.Serializable;
+import java.util.HashMap;
+import java.util.Map;
+
+import javax.faces.context.FacesContext;
+
+public class DialogContextManager implements Serializable {
+ private static final long serialVersionUID = 1L;
+ public static final String DIALOG_CONTEXT_MANAGER = "DIALOG_CONTEXT_MANAGER";
+ public static final String ACTIVE_CONTEXT_NAME = "dialog";
+
+ public static DialogContextManager getInstance(FacesContext context) {
+ DialogContextManager instance = (DialogContextManager)context.getExternalContext().getSessionMap().get(DIALOG_CONTEXT_MANAGER);
+ if(instance == null) {
+ instance = new DialogContextManager();
+ context.getExternalContext().getSessionMap().put(DIALOG_CONTEXT_MANAGER, instance);
+ }
+ return instance;
+ }
+
+// Map<String, DialogContext> contexts = new HashMap<String, DialogContext>();
+ Map contexts = new HashMap();
+ DialogContext active = null;
+
+ public DialogContext getContext(String dialogId) {
+ DialogContext context = (DialogContext)contexts.get(dialogId);
+ if(context == null) {
+ context = new DialogContext();
+ context.setDialogId(dialogId);
+ contexts.put(dialogId, context);
+ }
+ return context;
+ }
+
+ public void removeContext(String dialogId) {
+ contexts.remove(dialogId);
+ }
+
+ public void setActiveRequest(String dialogId) {
+ if(dialogId == null) {
+ active = null;
+ return;
+ }
+ DialogContext context = getContext(dialogId);
+ active = context;
+ FacesContext.getCurrentInstance().getExternalContext().getRequestMap().put(ACTIVE_CONTEXT_NAME, context);
+ FacesContext.getCurrentInstance().getExternalContext().getSessionMap().put(ACTIVE_CONTEXT_NAME, context);
+ }
+
+ public DialogContext getActiveContext() {
+ return active;
+ }
+
+}
Property changes on: trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/component/DialogContextManager.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Name: svn:keywords
+ Date Revision Author
Added: trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/component/DialogEvent.java
===================================================================
--- trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/component/DialogEvent.java (rev 0)
+++ trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/component/DialogEvent.java 2007-09-15 00:10:06 UTC (rev 2949)
@@ -0,0 +1,50 @@
+package org.richfaces.component;
+
+import javax.faces.component.ActionSource;
+import javax.faces.component.UIComponent;
+import javax.faces.component.UIViewRoot;
+import javax.faces.context.FacesContext;
+import javax.faces.event.FacesEvent;
+import javax.faces.event.PhaseId;
+
+import org.ajax4jsf.component.AjaxComponent;
+import org.ajax4jsf.context.AjaxContext;
+
+public abstract class DialogEvent extends FacesEvent {
+ UIViewRoot root;
+ /**
+ * View id of page that sends this event.
+ * It is to be keeped to override view that will
+ * be set by navigation handler, because that other
+ * view is needed for the parent window.
+ */
+ String sourceViewId;
+ AjaxContext ajaxContext;
+
+ public DialogEvent(UIComponent component) {
+ super(component);
+ setPhaseId(PhaseId.INVOKE_APPLICATION);
+ if(component instanceof ActionSource && ((ActionSource)component).isImmediate()) {
+ setPhaseId(PhaseId.APPLY_REQUEST_VALUES);
+ } else if(component instanceof AjaxComponent && ((AjaxComponent)component).isBypassUpdates()) {
+ setPhaseId(PhaseId.UPDATE_MODEL_VALUES);
+ }
+ FacesContext context = FacesContext.getCurrentInstance();
+ root = context.getViewRoot();
+ sourceViewId = context.getViewRoot().getViewId();
+ ajaxContext = AjaxContext.getCurrentInstance(context);
+ }
+
+ public String getSourceViewId() {
+ return sourceViewId;
+ }
+
+ public UIViewRoot getSourceViewRoot() {
+ return root;
+ }
+
+ public AjaxContext getAjaxContext() {
+ return ajaxContext;
+ }
+
+}
Property changes on: trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/component/DialogEvent.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Name: svn:keywords
+ Date Revision Author
Added: trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/component/DialogOpenEvent.java
===================================================================
--- trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/component/DialogOpenEvent.java (rev 0)
+++ trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/component/DialogOpenEvent.java 2007-09-15 00:10:06 UTC (rev 2949)
@@ -0,0 +1,37 @@
+package org.richfaces.component;
+
+import javax.faces.component.UIComponent;
+import javax.faces.event.FacesListener;
+
+public class DialogOpenEvent extends DialogEvent {
+ private static final long serialVersionUID = 1L;
+
+ boolean close = false;
+
+ public DialogOpenEvent(UIComponent component) {
+ super(component);
+ }
+
+// @Override
+ public boolean isAppropriateListener(FacesListener listener) {
+ return (listener instanceof DialogOpenListener);
+ }
+
+// @Override
+ public void processListener(FacesListener listener) {
+ ((DialogOpenListener)listener).processDialogOpen(this);
+ }
+
+ public void setSourceViewId(String viewId) {
+ sourceViewId = viewId;
+ }
+
+ public void setClose(boolean b) {
+ close = b;
+ }
+
+ public boolean isClose() {
+ return close;
+ }
+
+}
Property changes on: trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/component/DialogOpenEvent.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Name: svn:keywords
+ Date Revision Author
Added: trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/component/DialogOpenListener.java
===================================================================
--- trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/component/DialogOpenListener.java (rev 0)
+++ trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/component/DialogOpenListener.java 2007-09-15 00:10:06 UTC (rev 2949)
@@ -0,0 +1,13 @@
+package org.richfaces.component;
+
+import javax.faces.event.FacesListener;
+
+/**
+ *
+ * @author glory
+ *
+ */
+
+public interface DialogOpenListener extends FacesListener {
+ public void processDialogOpen(DialogOpenEvent event);
+}
Property changes on: trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/component/DialogOpenListener.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Name: svn:keywords
+ Date Revision Author
Added: trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/component/DialogOpenListenerImpl.java
===================================================================
--- trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/component/DialogOpenListenerImpl.java (rev 0)
+++ trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/component/DialogOpenListenerImpl.java 2007-09-15 00:10:06 UTC (rev 2949)
@@ -0,0 +1,155 @@
+package org.richfaces.component;
+
+import javax.faces.application.ViewHandler;
+import javax.faces.component.UIComponent;
+import javax.faces.component.UIViewRoot;
+import javax.faces.context.FacesContext;
+
+import org.ajax4jsf.context.AjaxContext;
+import org.ajax4jsf.event.AjaxEvent;
+import org.richfaces.renderkit.DialogWindowUtils;
+
+
+/**
+ *
+ * @author glory
+ *
+ */
+
+public class DialogOpenListenerImpl implements DialogOpenListener {
+ DialogOpenEvent lastProcessedEvent = null;
+ /**
+ * This method is invoked during invoke application phase
+ * after navigation handler calculated and set new view id
+ * (as result of processing an ActionEvent).
+ * Now it is the best time two interfere into its logic
+ * and 'redistribute' views in parent and child windows.
+ */
+ public void processDialogOpen(DialogOpenEvent event) {
+ if(lastProcessedEvent == event) return;
+ lastProcessedEvent = event;
+ UIComponent c = event.getComponent();
+ if(!(c instanceof UIDialogWindow)) return;
+ UIDialogWindow component = (UIDialogWindow)c;
+
+ /*
+ * If dialog is not needed, nothing else is to be done.
+ *
+ */
+ if(ActionPrefixHolder.PREFIX_NORMAL.equals(component.prefix)) {
+ if(!event.isClose()) {
+ rejectOpen();
+ }
+ return;
+ }
+ if(component.isNullPath()) {
+ if(!event.isClose()) {
+ rejectOpen();
+ return;
+ }
+ }
+
+ FacesContext context = FacesContext.getCurrentInstance();
+ UIViewRoot viewroot = context.getViewRoot();
+ ViewHandler vh = UIDialogAction.getViewHandler(context);
+ UIViewRoot oldRoot = event.getSourceViewRoot();
+
+ if(!event.isClose()) {
+ /*
+ * Child dialog is about to open.
+ * The view id caculated by the navigation handler
+ * is to be saved and passed to child dialog window.
+ */
+ String viewId = viewroot.getViewId();
+ String targetActionURL = vh.getActionURL(context, viewId);
+ targetActionURL += component.getParameterRequest();
+ DialogContext dcontext = DialogContextManager.getInstance(context).getContext(component.getClientId(context));
+ dcontext.setDialogPath(targetActionURL);
+ } else {
+ /*
+ * Child dialog has just been closed.
+ * Nothing to be saved for future use.
+ */
+ }
+
+ /*
+ * We need to prevent rendering new view in parent
+ * window. Here we have two cases:
+ * 1) Child dialog is about to open. In this case
+ * we need to restore in (this) parent window old view. *
+ * 2) Child dialog has just been closed. In this case
+ * event keeps view id that should be shown in
+ * So view set by navigation handler is (this) parent
+ * window.
+ */
+ String oldViewId = event.getSourceViewId();
+ UIViewRoot newRoot = null;
+ boolean b1 = oldViewId == null || oldViewId.equals("null");
+ boolean b2 = b1 || oldViewId.equals(oldRoot.getViewId());
+ boolean b3 = (
+ (!UIDialogAction.isServerMode(component) &&
+ DialogWindowUtils.findAncestorForm(context, component) != null)
+ || component.isClose());
+ boolean b = (b1 || (b2 && b3));
+ try {
+ if(b) {
+ newRoot = oldRoot;
+ }
+ } catch (Exception e) {
+ //ignore
+ }
+ if(newRoot == null) {
+ newRoot = vh.createView(context, oldViewId);
+ } else {
+ if(!b) try {
+// System.out.println("Restore state");
+ Object st = oldRoot.saveState(context);
+ newRoot.restoreState(context, st);
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ context.getExternalContext().getRequestMap().put(AjaxContext.AJAX_CONTEXT_KEY, event.getAjaxContext());
+ }
+
+ context.setViewRoot(newRoot);
+
+ Object nc = null;
+ try {
+ if(b) {
+ nc = component;
+ } else {
+ nc = newRoot.findComponent(component.getClientId(context));
+ }
+ } catch (Exception e) {
+ //ignore
+ }
+ if(nc instanceof UIComponent) {
+ UIComponent newComponent = (UIComponent)nc;
+ AjaxEvent e = new AjaxEvent(newRoot);
+ try {
+// newRoot.queueEvent(e);
+ e = new AjaxEvent(newComponent);
+ newComponent.queueEvent(e);
+ } catch (Exception exc) {
+ System.out.println("Cannot queue event: " + newComponent.getClass().getName());
+ }
+ }
+
+ }
+
+ private void rejectOpen() {
+ FacesContext context = FacesContext.getCurrentInstance();
+ DialogContext dcontext = DialogContextManager.getInstance(context).getActiveContext();
+ if(dcontext == null) return;
+ DialogContext parentContext = dcontext.getParentContext();
+ dcontext.deactivate();
+ if(parentContext != null) {
+ DialogContextManager.getInstance(context).setActiveRequest(parentContext.getDialogId());
+ } else {
+ DialogContextManager.getInstance(context).setActiveRequest(null);
+ }
+
+
+ }
+
+}
Property changes on: trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/component/DialogOpenListenerImpl.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Name: svn:keywords
+ Date Revision Author
Added: trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/component/DialogWindowClosedEvent.java
===================================================================
--- trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/component/DialogWindowClosedEvent.java (rev 0)
+++ trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/component/DialogWindowClosedEvent.java 2007-09-15 00:10:06 UTC (rev 2949)
@@ -0,0 +1,24 @@
+/**
+ *
+ */
+package org.richfaces.component;
+
+import javax.faces.component.UIComponent;
+import javax.faces.event.ActionEvent;
+
+/**
+ * @author Nick Belaevski - nbelaevski at exadel.com
+ * created 08.12.2006
+ *
+ */
+public class DialogWindowClosedEvent extends ActionEvent {
+
+ public DialogWindowClosedEvent(UIComponent component) {
+ super(component);
+ }
+
+ /**
+ *
+ */
+ private static final long serialVersionUID = 3091213737507355826L;
+}
Property changes on: trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/component/DialogWindowClosedEvent.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Name: svn:keywords
+ Date Revision Author
Added: trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/component/UIDialogAction.java
===================================================================
--- trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/component/UIDialogAction.java (rev 0)
+++ trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/component/UIDialogAction.java 2007-09-15 00:10:06 UTC (rev 2949)
@@ -0,0 +1,192 @@
+package org.richfaces.component;
+
+import javax.faces.FacesException;
+import javax.faces.application.ViewHandler;
+import javax.faces.component.UIComponent;
+import javax.faces.component.UIData;
+import javax.faces.context.FacesContext;
+import javax.faces.el.MethodBinding;
+import javax.faces.el.ValueBinding;
+
+import org.ajax4jsf.ajax.ForceRender;
+import org.ajax4jsf.component.AjaxActionComponent;
+import org.ajax4jsf.event.AjaxListener;
+
+/**
+ *
+ * @author glory
+ */
+public abstract class UIDialogAction extends AjaxActionComponent {
+ protected DialogActionState state = new DialogActionState();
+ transient private MethodBinding actionListener = null;
+ transient private MethodBinding action = null;
+ private Object value = null;
+ private Object _reRender = null; /* Default is null*/
+
+ public UIDialogAction() {}
+
+ public static ViewHandler getViewHandler(FacesContext context) throws FacesException {
+ return context.getApplication().getViewHandler();
+ }
+
+ public void setReRender(Object __reRender) {
+ this._reRender = __reRender;
+ }
+ public Object getReRender() {
+ if (null != this._reRender) {
+ return this._reRender;
+ }
+ ValueBinding vb = getValueBinding("reRender");
+ if (null != vb) {
+ return (Object)vb.getValue(getFacesContext());
+ } else {
+ return null;
+ }
+ }
+
+ /**
+ * MethodBinding pointing at the application action to be invoked,
+ * if this UIComponent is activated by the user, during the Apply
+ * Request Values or Invoke Application phase of the request
+ * processing lifecycle, depending on the value of the immediate
+ * property.
+ * Setter for action
+ * @param action - new value
+ */
+ public void setAction(MethodBinding action) {
+ this.action = action;
+ }
+
+ /**
+ * MethodBinding pointing at the application action to be invoked,
+ * if this UIComponent is activated by the user, during the Apply
+ * Request Values or Invoke Application phase of the request
+ * processing lifecycle, depending on the value of the immediate
+ * property.
+ * Getter for action
+ * @return action value from local variable or value bindings
+ */
+ public MethodBinding getAction() {
+ return this.action;
+ }
+
+ public MethodBinding getActionListener() {
+ return this.actionListener;
+ }
+
+ public void setActionListener(MethodBinding actionListener) {
+ this.actionListener = actionListener;
+ }
+
+ public boolean isImmediate() {
+ if (state.isImmediateSet()) {
+ return state.isImmediate();
+ }
+ ValueBinding vb = getValueBinding("immediate");
+ if (vb != null) {
+ return Boolean.TRUE.equals(vb.getValue(getFacesContext()));
+ } else {
+ return state.isImmediate();
+ }
+ }
+
+ public void setImmediate(boolean immediate) {
+ state.setImmediate(immediate);
+ }
+
+ public Object getValue() {
+ if (value != null) {
+ return value;
+ }
+ ValueBinding vb = getValueBinding("value");
+ if (vb != null) {
+ return vb.getValue(getFacesContext());
+ } else {
+ return null;
+ }
+ }
+
+ public void setValue(Object value) {
+ this.value = value;
+ }
+
+ public String getMode() {
+ return state.getMode();
+ }
+
+ public void setMode(String mode) {
+ state.setMode(mode);
+ }
+
+ public void provideForceRerender() {
+ if(isServerMode(this)) return;
+ if(findParentUIData() == null) return;
+ if(hasForceRender()) return;
+ addAjaxListener(new ForceRender());
+ }
+
+ UIData findParentUIData() {
+ UIComponent c = this;
+ while(c != null && !(c instanceof UIData)) c = c.getParent();
+ return (UIData)c;
+ }
+ boolean hasForceRender() {
+ AjaxListener[] ls = getAjaxListeners();
+ if(ls == null || ls.length == 0) return false;
+ for (int i = 0; i < ls.length; i++) {
+ if(ls[i] instanceof ForceRender) return true;
+ }
+ return false;
+ }
+
+// public Object getReRender() {
+// return null;
+// }
+
+ public Object saveState(FacesContext context) {
+ Object values[] = new Object[6];
+ values[0] = super.saveState(context);
+ values[1] = saveAttachedState(context, state);
+ values[2] = saveAttachedState(context, action);
+ values[3] = saveAttachedState(context, actionListener);
+ values[4] = value;
+ values[5] = _reRender;
+ return values;
+ }
+
+ public void restoreState(FacesContext context, Object state) {
+ Object values[] = (Object[]) state;
+ super.restoreState(context, values[0]);
+ this.state = (DialogActionState)restoreAttachedState(context, values[1]);
+ this.action = (MethodBinding)restoreAttachedState(context, values[2]);
+ this.actionListener = (MethodBinding)restoreAttachedState(context, values[3]);
+ this.value = values[4];
+ this._reRender = values[5];
+ }
+
+ public static boolean isServerMode(UIComponent component) {
+ if(!(component instanceof UIDialogAction)) return false;
+ UIDialogAction dialogAction = (UIDialogAction)component;
+ return dialogAction.state.isServerMode();
+ }
+
+ public boolean isIgnoreDupResponses() {
+ return true;
+ }
+
+ public void setIgnoreDupResponses(boolean newvalue) {
+
+ };
+
+
+ int timeout = 10000;
+
+ public int getTimeout() {
+ return timeout;
+ }
+
+ public void setTimeout(int timeout) {
+ this.timeout = timeout;
+ }
+
+}
Property changes on: trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/component/UIDialogAction.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Name: svn:keywords
+ Date Revision Author
Added: trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/component/UIDialogButton.java
===================================================================
--- trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/component/UIDialogButton.java (rev 0)
+++ trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/component/UIDialogButton.java 2007-09-15 00:10:06 UTC (rev 2949)
@@ -0,0 +1,22 @@
+/*
+ * Created on 04.08.2006
+ */
+package org.richfaces.component;
+
+import org.ajax4jsf.component.UIAjaxCommandButton;
+
+
+/**
+ * @author igels
+ */
+abstract public class UIDialogButton extends UIDialogAction {
+ public static final String COMPONENT_TYPE = UIAjaxCommandButton.COMPONENT_TYPE;
+ public static final String COMPONENT_FAMILY = "javax.faces.Command";
+
+ public UIDialogButton() {}
+
+ public String getFamily() {
+ return COMPONENT_FAMILY;
+ }
+
+}
\ No newline at end of file
Property changes on: trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/component/UIDialogButton.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Name: svn:keywords
+ Date Revision Author
Added: trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/component/UIDialogClose.java
===================================================================
--- trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/component/UIDialogClose.java (rev 0)
+++ trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/component/UIDialogClose.java 2007-09-15 00:10:06 UTC (rev 2949)
@@ -0,0 +1,61 @@
+/*
+ * Created on 04.08.2006
+ */
+package org.richfaces.component;
+
+import javax.faces.context.FacesContext;
+import javax.faces.event.AbortProcessingException;
+import javax.faces.event.FacesEvent;
+
+import org.ajax4jsf.component.UIAjaxCommandLink;
+import org.ajax4jsf.renderkit.AjaxRendererUtils;
+
+/**
+ * @author igels
+ */
+abstract public class UIDialogClose extends UIDialogAction implements ActionPrefixHolder {
+ public static final String COMPONENT_TYPE = UIAjaxCommandLink.COMPONENT_TYPE;
+ public static final String COMPONENT_FAMILY = "javax.faces.Command";
+
+ String prefix = null;
+ boolean isNullPath = false;
+ DialogCloseListenerImpl listener = new DialogCloseListenerImpl();
+
+ public UIDialogClose() {}
+
+ public String getFamily() {
+ return COMPONENT_FAMILY;
+ }
+
+ protected void setupReRender() {
+ FacesContext context = getFacesContext();
+ if(context.getMessages().hasNext()) {
+ super.setupReRender();
+ }
+ AjaxRendererUtils.addRegionByName(context,this,this.getId());
+ }
+
+ public void setPrefix(String s) {
+ prefix = s;
+ }
+
+ public String getPrefix() {
+ return prefix;
+ }
+
+ public void setNullPath() {
+ isNullPath = true;
+ }
+
+ public boolean isNullPath() {
+ return isNullPath;
+ }
+
+ public void broadcast(FacesEvent event) throws AbortProcessingException {
+ super.broadcast(event);
+ if (event.isAppropriateListener(listener)) {
+ event.processListener(listener);
+ }
+ }
+
+}
Property changes on: trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/component/UIDialogClose.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Name: svn:keywords
+ Date Revision Author
Added: trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/component/UIDialogCloseButton.java
===================================================================
--- trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/component/UIDialogCloseButton.java (rev 0)
+++ trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/component/UIDialogCloseButton.java 2007-09-15 00:10:06 UTC (rev 2949)
@@ -0,0 +1,11 @@
+package org.richfaces.component;
+
+import org.ajax4jsf.component.UIAjaxCommandButton;
+
+
+abstract public class UIDialogCloseButton extends UIDialogClose {
+ public static final String COMPONENT_TYPE = UIAjaxCommandButton.COMPONENT_TYPE;
+
+ public UIDialogCloseButton() {}
+
+}
Property changes on: trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/component/UIDialogCloseButton.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Name: svn:keywords
+ Date Revision Author
Added: trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/component/UIDialogLink.java
===================================================================
--- trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/component/UIDialogLink.java (rev 0)
+++ trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/component/UIDialogLink.java 2007-09-15 00:10:06 UTC (rev 2949)
@@ -0,0 +1,21 @@
+/*
+ * Created on 04.08.2006
+ */
+package org.richfaces.component;
+
+import org.ajax4jsf.component.UIAjaxCommandLink;
+
+
+/**
+ * @author igels
+ */
+abstract public class UIDialogLink extends UIDialogAction {
+ public static final String COMPONENT_TYPE = UIAjaxCommandLink.COMPONENT_TYPE;
+ public static final String COMPONENT_FAMILY = "javax.faces.Command";
+
+ public UIDialogLink() {}
+
+ public String getFamily() {
+ return COMPONENT_FAMILY;
+ }
+}
\ No newline at end of file
Property changes on: trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/component/UIDialogLink.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Name: svn:keywords
+ Date Revision Author
Added: trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/component/UIDialogVerticalFiller.java
===================================================================
--- trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/component/UIDialogVerticalFiller.java (rev 0)
+++ trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/component/UIDialogVerticalFiller.java 2007-09-15 00:10:06 UTC (rev 2949)
@@ -0,0 +1,12 @@
+package org.richfaces.component;
+
+import javax.faces.component.UIComponentBase;
+
+public class UIDialogVerticalFiller extends UIComponentBase {
+ public static final String COMPONENT_FAMILY = "javax.faces.Filler";
+
+ public String getFamily() {
+ return COMPONENT_FAMILY;
+ }
+
+}
Property changes on: trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/component/UIDialogVerticalFiller.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Name: svn:keywords
+ Date Revision Author
Added: trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/component/UIDialogWindow.java
===================================================================
--- trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/component/UIDialogWindow.java (rev 0)
+++ trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/component/UIDialogWindow.java 2007-09-15 00:10:06 UTC (rev 2949)
@@ -0,0 +1,297 @@
+/*
+ * Created on 03.08.2006
+ */
+package org.richfaces.component;
+
+import java.util.List;
+import java.util.Map;
+
+import javax.faces.application.ViewHandler;
+import javax.faces.component.ActionSource;
+import javax.faces.component.UIComponent;
+import javax.faces.component.UIData;
+import javax.faces.component.UIPanel;
+import javax.faces.component.UIParameter;
+import javax.faces.context.FacesContext;
+import javax.faces.el.MethodBinding;
+import javax.faces.el.ValueBinding;
+import javax.faces.event.AbortProcessingException;
+import javax.faces.event.FacesEvent;
+
+import org.ajax4jsf.component.AjaxContainer;
+import org.ajax4jsf.component.UIAjaxCommandLink;
+import org.ajax4jsf.context.AjaxContext;
+import org.ajax4jsf.context.ViewIdHolder;
+import org.ajax4jsf.renderkit.AjaxRendererUtils;
+
+/**
+ * @author igels
+ */
+abstract public class UIDialogWindow extends UIDialogAction implements ActionPrefixHolder, ActionSource, ViewIdHolder { //UIAjaxCommandLink {
+ public static final String COMPONENT_TYPE = UIAjaxCommandLink.COMPONENT_TYPE;
+
+ public static final String COMPONENT_FAMILY = "javax.faces.Command";
+
+ private transient MethodBinding closeWindowAction = null;
+ private transient MethodBinding closeWindowActionListener = null;
+
+ private transient boolean closeAction;
+
+ transient String prefix = null;
+ boolean isNullPath = false;
+ DialogOpenListenerImpl listener = new DialogOpenListenerImpl();
+
+ public UIDialogWindow() {}
+
+ public String getFamily() {
+ return COMPONENT_FAMILY;
+ }
+
+/*
+ public Object getReRender() {
+ return getId();
+ }
+*/
+
+ protected void setupReRender() {
+ FacesContext context = getFacesContext();
+ String action = (String)context.getExternalContext().getRequestParameterMap().get("action");
+ boolean isClose = action != null && action.startsWith("close");
+ UIComponent c = isClose ? getAjaxContainer() : null;
+ if(c != null && c != context.getViewRoot()) {
+ super.setupReRender();
+ AjaxRendererUtils.addRegionByName(context,this,this.getId());
+// addRegionsFromContainer((AjaxContainer)c, c);
+ } else {
+ AjaxRendererUtils.addRegionByName(context,this,this.getId());
+ }
+ }
+
+ public boolean isClose() {
+ FacesContext context = getFacesContext();
+ String action = (String)context.getExternalContext().getRequestParameterMap().get("action");
+ return action != null && action.startsWith("close");
+ }
+
+ UIComponent getAjaxContainer() {
+ UIComponent c = this;
+ while(c != null && !(c instanceof AjaxContainer)) c = c.getParent();
+ return c;
+ }
+
+ void addRegionsFromContainer(AjaxContainer c, UIComponent component) {
+ List ls = component.getChildren();
+ if(ls == null || ls.size() == 0) return;
+ for (int i = 0;i < ls.size(); i++) {
+ UIComponent cc = (UIComponent)ls.get(i);
+ if(cc instanceof AjaxContainer) {
+ addRegionsFromContainer((AjaxContainer)cc, cc);
+ } else if(cc instanceof UIData) {
+ //nothing
+ } else if(cc instanceof UIPanel) {
+// If id is not set commented code should work instead of adding region
+// but it is an agreed limitation to require for explicit id.
+// addRegionsFromContainer(c, cc);
+ AjaxRendererUtils.addRegionByName(getFacesContext(), cc, cc.getId());
+ } else {
+ AjaxRendererUtils.addRegionByName(getFacesContext(), cc, cc.getId());
+ }
+ }
+ }
+
+ private String _posReferenceId = null; /* Default is null*/
+ private String _posExternalReferenceId = null; /* Default is null*/
+
+ public String getPosReferenceId() {
+ if (null != this._posReferenceId) {
+ return this._posReferenceId;
+ }
+ ValueBinding vb = getValueBinding("posReferenceId");
+ if (null != vb) {
+ return (String)vb.getValue(getFacesContext());
+ } else {
+ return null;
+ }
+ }
+ public void setPosReferenceId( String __posReferenceId ){
+ this._posReferenceId = __posReferenceId;
+ }
+ public String getExternalPosReferenceId() {
+ return _posExternalReferenceId;
+ }
+ public void setPosExternalReferenceId( String _posExternalReferenceId ){
+ this._posExternalReferenceId = _posExternalReferenceId;
+ }
+
+
+ public void setPrefix(String s) {
+ prefix = s;
+ }
+
+ public String getPrefix() {
+ return prefix;
+ }
+
+ public void setNullPath() {
+ isNullPath = true;
+ }
+
+ public boolean isNullPath() {
+ return isNullPath;
+ }
+
+ public void broadcast(FacesEvent event) throws AbortProcessingException {
+ if (event instanceof DialogWindowClosedEvent) {
+ boolean closeActionSet = closeAction;
+ try {
+ closeAction = true;
+ super.broadcast(event);
+ } finally {
+ closeAction = closeActionSet;
+ }
+ } else {
+ super.broadcast(event);
+ }
+
+ if (event.isAppropriateListener(listener)) {
+ event.processListener(listener);
+ }
+ }
+
+ public boolean skipNavigation(String ViewId) {
+ if(isClose()) return true;
+
+ if(ActionPrefixHolder.PREFIX_NORMAL.equals(prefix)) {
+ if(!isClose()) {
+ rejectOpen();
+ }
+ return false;
+ }
+ if(isNullPath()) {
+ if(!isClose()) {
+ rejectOpen();
+ return false;
+ }
+ }
+ return true;
+ }
+
+ String viewId = null;
+
+ public void initViewId() {
+ viewId = FacesContext.getCurrentInstance().getViewRoot().getViewId();
+ }
+
+ public String getViewId() {
+ return viewId;
+ }
+
+ public void setViewId(String newViewId) {
+ FacesContext context = FacesContext.getCurrentInstance();
+ AjaxContext.getCurrentInstance().setViewIdHolder(null);
+ if(!isClose()) {
+ String dialogId = getClientId(context);
+ DialogContext dcontext = DialogContextManager.getInstance(context).getContext(dialogId);
+
+ ViewHandler vh = UIDialogAction.getViewHandler(context);
+ /*
+ * Child dialog is about to open.
+ * The view id caculated by the navigation handler
+ * is to be saved and passed to child dialog window.
+ */
+ String targetActionURL = vh.getActionURL(context, newViewId);
+ targetActionURL += getParameterRequest();
+
+ dcontext.setDialogPath(targetActionURL);
+ }
+ }
+
+ public String getParameterRequest() {
+ StringBuffer sb = new StringBuffer();
+ Map map = FacesContext.getCurrentInstance().getExternalContext().getRequestParameterMap();
+ List c = getChildren();
+ int k = 0;
+ if(c != null) for (int i = 0; i < c.size(); i++) {
+ if(c.get(i) instanceof UIParameter) {
+ UIParameter p = (UIParameter)c.get(i);
+ String name = p.getName();
+ Object value = map.get(name);
+ if(value == null) continue;
+ if(k == 0) sb.append('?'); else sb.append('&');
+ ///TODO: encode value
+ sb.append(name).append('=').append(value);
+ k++;
+ }
+ }
+ return sb.toString();
+ }
+
+ private void rejectOpen() {
+ FacesContext context = FacesContext.getCurrentInstance();
+ DialogContext dcontext = DialogContextManager.getInstance(context).getActiveContext();
+ if(dcontext == null) return;
+ DialogContext parentContext = dcontext.getParentContext();
+ dcontext.deactivate();
+ if(parentContext != null) {
+ DialogContextManager.getInstance(context).setActiveRequest(parentContext.getDialogId());
+ } else {
+ DialogContextManager.getInstance(context).setActiveRequest(null);
+ }
+ AjaxContext.getCurrentInstance().setViewIdHolder(null);
+ }
+
+ public Object saveState(FacesContext context) {
+ Object values[] = new Object[5];
+ values[0] = super.saveState(context);
+ values[1] = saveAttachedState(context, _posReferenceId);
+ values[2] = saveAttachedState(context, _posExternalReferenceId);
+ values[3] = saveAttachedState(context, closeWindowAction);
+ values[4] = saveAttachedState(context, closeWindowActionListener);
+ return values;
+ }
+
+ public void restoreState(FacesContext context, Object state) {
+ Object values[] = (Object[]) state;
+ super.restoreState(context, values[0]);
+ this._posReferenceId = (String)restoreAttachedState(context, values[1]);
+ this._posExternalReferenceId = (String)restoreAttachedState(context, values[2]);
+ this.closeWindowAction = (MethodBinding) restoreAttachedState(context, values[3]);
+ this.closeWindowActionListener = (MethodBinding) restoreAttachedState(context, values[4]);
+ }
+
+ public MethodBinding getCloseWindowAction() {
+ return this.closeWindowAction;
+ }
+
+ public void setCloseWindowAction(MethodBinding closeWindowListener) {
+ this.closeWindowAction = closeWindowListener;
+ }
+
+ public MethodBinding getCloseWindowActionListener() {
+ return closeWindowActionListener;
+ }
+
+ public void setCloseWindowActionListener(MethodBinding closeWindowActionListener) {
+ this.closeWindowActionListener = closeWindowActionListener;
+ }
+
+ public MethodBinding getAction() {
+ if (isCloseAction()) {
+ return getCloseWindowAction();
+ }
+
+ return super.getAction();
+ }
+
+ public MethodBinding getActionListener() {
+ if (isCloseAction()) {
+ return getCloseWindowActionListener();
+ }
+
+ return super.getActionListener();
+ }
+
+ public boolean isCloseAction() {
+ return closeAction;
+ }
+}
Property changes on: trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/component/UIDialogWindow.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Name: svn:keywords
+ Date Revision Author
Added: trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/component/UIDialogWindowButton.java
===================================================================
--- trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/component/UIDialogWindowButton.java (rev 0)
+++ trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/component/UIDialogWindowButton.java 2007-09-15 00:10:06 UTC (rev 2949)
@@ -0,0 +1,11 @@
+package org.richfaces.component;
+
+import org.ajax4jsf.component.UIAjaxCommandButton;
+
+
+abstract public class UIDialogWindowButton extends UIDialogWindow {
+ public static final String COMPONENT_TYPE = UIAjaxCommandButton.COMPONENT_TYPE;
+
+ public UIDialogWindowButton() {}
+
+}
Property changes on: trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/component/UIDialogWindowButton.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Name: svn:keywords
+ Date Revision Author
Added: trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/component/UIDialogWindowOutputLink.java
===================================================================
--- trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/component/UIDialogWindowOutputLink.java (rev 0)
+++ trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/component/UIDialogWindowOutputLink.java 2007-09-15 00:10:06 UTC (rev 2949)
@@ -0,0 +1,5 @@
+package org.richfaces.component;
+
+public abstract class UIDialogWindowOutputLink extends UIDialogWindow {
+
+}
Property changes on: trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/component/UIDialogWindowOutputLink.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Name: svn:keywords
+ Date Revision Author
Added: trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/component/UIOutputLink.java
===================================================================
--- trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/component/UIOutputLink.java (rev 0)
+++ trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/component/UIOutputLink.java 2007-09-15 00:10:06 UTC (rev 2949)
@@ -0,0 +1,5 @@
+package org.richfaces.component;
+
+public class UIOutputLink {
+
+}
Property changes on: trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/component/UIOutputLink.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Name: svn:keywords
+ Date Revision Author
Added: trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/renderkit/DialogBaseActionRenderer.java
===================================================================
--- trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/renderkit/DialogBaseActionRenderer.java (rev 0)
+++ trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/renderkit/DialogBaseActionRenderer.java 2007-09-15 00:10:06 UTC (rev 2949)
@@ -0,0 +1,92 @@
+package org.richfaces.renderkit;
+
+import javax.faces.component.UIComponent;
+import javax.faces.context.FacesContext;
+import javax.faces.event.ActionEvent;
+
+import org.ajax4jsf.javascript.JSFunction;
+import org.ajax4jsf.javascript.PrototypeScript;
+import org.ajax4jsf.renderkit.AjaxCommandRendererBase;
+import org.ajax4jsf.renderkit.AjaxRendererUtils;
+import org.ajax4jsf.resource.InternetResource;
+import org.richfaces.component.DialogContext;
+import org.richfaces.component.DialogContextManager;
+import org.richfaces.component.UIDialogAction;
+
+
+/**
+ *
+ * @author glory
+ *
+ */
+public abstract class DialogBaseActionRenderer extends AjaxCommandRendererBase {
+ private InternetResource[] _scripts = {new PrototypeScript(), getResource("script/dialog-window.js") };
+
+ protected InternetResource[] getAdditionalScripts() {
+ return _scripts;
+ }
+
+ protected void doAjaxDecode(FacesContext context, UIComponent component) {
+ super.doDecode(context, component);
+ }
+
+// @Override
+ public void doDecode(FacesContext context, UIComponent component) {
+ if(!DialogWindowRenderer.isSubmitted(getUtils(), context, component)) {
+ return;
+ }
+
+ if(!UIDialogAction.isServerMode(component)) {
+ super.doDecode(context, component);
+ } else {
+ Object type = component.getAttributes().get("type");
+ if (null == type || ! "reset".equalsIgnoreCase((String)type) ) {
+ ActionEvent event;
+ event = new ActionEvent(component);
+ component.queueEvent(event);
+ //no ajax event
+ }
+ }
+ }
+
+ public String getOnClick(FacesContext context, UIComponent component) {
+ if (getUtils().isBooleanAttribute(component, "disabled")) {
+ return "return false;";
+ }
+ DialogContext dcontext = DialogContextManager.getInstance(context).getActiveContext();
+
+ StringBuffer superOnClick = null;
+ if(UIDialogAction.isServerMode(component)) {
+ String formId = DialogWindowUtils.findAncestorForm(context, component);
+
+ JSFunction f = new JSFunction("DialogContext.submitDialogAction");
+ f.addParameter(formId);
+ f.addParameter(component.getClientId(context));
+ f.addParameter(AjaxRendererUtils.buildEventOptions(context, component));
+ superOnClick = new StringBuffer();
+ f.appendScript(superOnClick);
+ superOnClick.append(';');
+ if (!"reset".equals(component.getAttributes().get("type"))) {
+ superOnClick.append("return false;");
+ }
+ } else {
+ superOnClick = new StringBuffer(super.getOnClick(context, component));
+ }
+ String script = "" +
+ "try {\n" +
+ (dcontext != null ? "if(window) { onDialogLink(" + getOnDialogLinkParameter(dcontext) + "); }\n" : "") +
+ superOnClick.toString() + "\n" +
+ "} catch (e) {\n" +
+ "alert('Error in onclick ' + e.message);\n" +
+ "}\n" +
+ "return false;\n" +
+ "";
+
+ return script;
+ }
+
+ protected String getOnDialogLinkParameter(DialogContext dcontext) {
+ return "'" + dcontext.getDialogPath() + "'";
+ }
+
+}
Property changes on: trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/renderkit/DialogBaseActionRenderer.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Name: svn:keywords
+ Date Revision Author
Added: trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/renderkit/DialogButtonRenderer.java
===================================================================
--- trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/renderkit/DialogButtonRenderer.java (rev 0)
+++ trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/renderkit/DialogButtonRenderer.java 2007-09-15 00:10:06 UTC (rev 2949)
@@ -0,0 +1,32 @@
+/*
+ * Created on 04.08.2006
+ */
+package org.richfaces.renderkit;
+
+import javax.faces.component.UIComponent;
+import javax.faces.context.FacesContext;
+
+import org.richfaces.component.UIDialogWindow;
+
+
+/**
+ * @author igels
+ *
+ */
+public class DialogButtonRenderer extends DialogBaseActionRenderer {
+ public static final String RENDERER_TYPE = "org.ajax4jsf.components.AjaxButtonRenderer";
+
+// @Override
+ protected Class getComponentClass() {
+ return UIDialogWindow.class;
+ }
+
+// @Override
+ public void doDecode(FacesContext context, UIComponent component) {
+ super.doDecode(context, component);
+ if (DialogWindowRenderer.isSubmitted(getUtils(), context, component)) {
+ //fire event to get new actionURL
+ }
+ }
+
+}
\ No newline at end of file
Property changes on: trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/renderkit/DialogButtonRenderer.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Name: svn:keywords
+ Date Revision Author
Added: trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/renderkit/DialogCloseRenderer.java
===================================================================
--- trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/renderkit/DialogCloseRenderer.java (rev 0)
+++ trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/renderkit/DialogCloseRenderer.java 2007-09-15 00:10:06 UTC (rev 2949)
@@ -0,0 +1,112 @@
+/*
+ * Created on 04.08.2006
+ */
+package org.richfaces.renderkit;
+
+import java.io.IOException;
+
+import javax.faces.component.ActionSource;
+import javax.faces.component.UIComponent;
+import javax.faces.context.FacesContext;
+import javax.faces.el.MethodBinding;
+import javax.faces.event.ActionEvent;
+import javax.servlet.http.HttpSession;
+
+import org.richfaces.component.ActionPrefixHolder;
+import org.richfaces.component.DialogCloseEvent;
+import org.richfaces.component.DialogContext;
+import org.richfaces.component.UIDialogAction;
+import org.richfaces.component.UIDialogWindow;
+
+
+/**
+ * @author igels
+ *
+ */
+public class DialogCloseRenderer extends DialogBaseActionRenderer {
+
+// @Override
+ protected Class getComponentClass() {
+ return UIDialogWindow.class;
+ }
+
+// @Override
+ public void doDecode(FacesContext context, UIComponent component) {
+ if(!DialogWindowRenderer.isSubmitted(getUtils(), context, component)) {
+ return;
+ }
+
+ ActionSource actionSource = (ActionSource) component;
+ MethodBinding binding = actionSource.getAction();
+ if(!(binding instanceof DialogMethodBinding)) {
+ actionSource.setAction(new DialogMethodBinding(binding, (ActionPrefixHolder)component));
+ }
+
+ DialogCloseEvent dialogEvent = new DialogCloseEvent(component);
+
+ if(!UIDialogAction.isServerMode(component)) {
+ super.doAjaxDecode(context, component);
+ } else {
+ Object type = component.getAttributes().get("type");
+ if (null == type || ! "reset".equalsIgnoreCase((String)type) ) {
+ ActionEvent event;
+ event = new ActionEvent(component);
+ component.queueEvent(event);
+ //no ajax event
+ }
+ }
+ dialogEvent.queue();
+ }
+
+ public String getRegistration(FacesContext context, UIComponent component) throws IOException {
+ /*
+ * If close button was pressed, navigation handler
+ * calculated id of view that is to be shown after
+ * dialog window is closed. This id should be passed
+ * as parameter to js function closeDialog() which
+ * then will invoke parent window with it.
+ */
+
+ String script =
+// "<script>" +
+ "try {" +
+ "if(window && window.registerInParent) { " +
+ "registerInParent(); " +
+ getCloseMethod(context, component) +
+// ((parentTargetViewId != null) ? methodName + "('" + id + "','" + parentTargetViewId + "');" : "") +
+ "}" +
+ "} catch (e) {" +
+ "alert('registration script error: ' + e.message);" +
+ "}" +
+// "</script>" +
+ "";
+ return script;
+ }
+
+ private String getCloseMethod(FacesContext context, UIComponent component) {
+ String closeId = component.getClientId(context) + "_close";
+ String parentTargetViewId = (String)context.getExternalContext().getRequestMap().get(closeId);
+ String closeAll = component.getClientId(context) + "_closeall";
+ String ptv = (String)context.getExternalContext().getRequestMap().get(closeAll);
+ if(parentTargetViewId == null) return "";
+
+ String methodName = (ptv != null) ? "closeAll" : "closeDialog";
+
+ HttpSession session = (HttpSession)context.getExternalContext().getSession(false);
+ String id = session.getId();
+
+ String result =
+ "var args = {};" +
+ "args.id = '" + id + "';" +
+ "args.targetViewId = '" + parentTargetViewId + "';" +
+
+ "" + methodName + "(args);"
+ ;
+ return result;
+ }
+
+ protected String getOnDialogLinkParameter(DialogContext dcontext) {
+ return "";
+ }
+
+}
\ No newline at end of file
Property changes on: trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/renderkit/DialogCloseRenderer.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Name: svn:keywords
+ Date Revision Author
Added: trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/renderkit/DialogLinkRenderer.java
===================================================================
--- trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/renderkit/DialogLinkRenderer.java (rev 0)
+++ trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/renderkit/DialogLinkRenderer.java 2007-09-15 00:10:06 UTC (rev 2949)
@@ -0,0 +1,31 @@
+/*
+ * Created on 04.08.2006
+ */
+package org.richfaces.renderkit;
+
+import javax.faces.component.UIComponent;
+import javax.faces.context.FacesContext;
+
+import org.richfaces.component.UIDialogWindow;
+
+
+/**
+ * @author igels
+ *
+ */
+public class DialogLinkRenderer extends DialogBaseActionRenderer {
+
+// @Override
+ protected Class getComponentClass() {
+ return UIDialogWindow.class;
+ }
+
+// @Override
+ public void doDecode(FacesContext context, UIComponent component) {
+ super.doDecode(context, component);
+ if (DialogWindowRenderer.isSubmitted(getUtils(), context, component)) {
+ //fire event to get new actionURL
+ }
+ }
+
+}
\ No newline at end of file
Property changes on: trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/renderkit/DialogLinkRenderer.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Name: svn:keywords
+ Date Revision Author
Added: trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/renderkit/DialogMethodBinding.java
===================================================================
--- trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/renderkit/DialogMethodBinding.java (rev 0)
+++ trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/renderkit/DialogMethodBinding.java 2007-09-15 00:10:06 UTC (rev 2949)
@@ -0,0 +1,105 @@
+package org.richfaces.renderkit;
+
+import javax.faces.component.StateHolder;
+import javax.faces.component.UIComponent;
+import javax.faces.component.UIComponentBase;
+import javax.faces.context.FacesContext;
+import javax.faces.el.EvaluationException;
+import javax.faces.el.MethodBinding;
+import javax.faces.el.MethodNotFoundException;
+
+import org.richfaces.component.ActionPrefixHolder;
+
+
+public class DialogMethodBinding extends MethodBinding implements StateHolder {
+ private static final long serialVersionUID = 1L;
+
+ ActionPrefixHolder prefixHolder;
+ MethodBinding binding;
+ String clientId = null;
+ boolean isTransient = false;
+
+ public DialogMethodBinding() {}
+
+ public DialogMethodBinding(MethodBinding binding, ActionPrefixHolder prefixHolder) {
+ this.binding = binding;
+ this.prefixHolder = prefixHolder;
+ if(prefixHolder instanceof UIComponent) {
+ clientId = ((UIComponent)prefixHolder).getClientId(FacesContext.getCurrentInstance());
+ }
+ }
+
+// @Override
+ public Class getType(FacesContext context) throws MethodNotFoundException {
+ return binding == null ? Void.class : binding.getType(context);
+ }
+
+// @Override
+ public Object invoke(FacesContext context, Object[] params) throws EvaluationException, MethodNotFoundException {
+ if(binding == null) {
+ setNullPath();
+ return null;
+ }
+ Object outcome = binding.invoke(context, params);
+ if(outcome == null || "null".equals(outcome)) {
+ setNullPath();
+ return null;
+ }
+ String s = outcome.toString();
+ int index = s.indexOf(':');
+ if(index >= 0) {
+ setPrefix(s.substring(0, index + 1));
+ outcome = s.substring(index + 1);
+ }
+ if(outcome == null || "".equals(outcome) || "null".equals(outcome)) {
+ setNullPath();
+ return null;
+ }
+ return outcome;
+ }
+
+ private void setPrefix(String prefix) {
+ getPrefixHolder();
+ if(prefixHolder != null) prefixHolder.setPrefix(prefix);
+ }
+
+ private void setNullPath() {
+ getPrefixHolder();
+ if(prefixHolder != null) prefixHolder.setNullPath();
+ }
+
+ void getPrefixHolder() {
+ if(prefixHolder != null || clientId == null) return;
+ getPrefixHolder(FacesContext.getCurrentInstance());
+ }
+
+ void getPrefixHolder(FacesContext context) {
+ if(prefixHolder != null || clientId == null) return;
+ UIComponent c = context.getViewRoot().findComponent(clientId);
+ if(c instanceof ActionPrefixHolder) prefixHolder = (ActionPrefixHolder)c;
+ }
+
+ public boolean isTransient() {
+ return (binding instanceof StateHolder) ? ((StateHolder)binding).isTransient() : isTransient;
+ }
+
+ public void restoreState(FacesContext context, Object data) {
+ Object[] os = (Object[])data;
+ binding = (MethodBinding)UIComponentBase.restoreAttachedState(context, os[0]);
+ clientId = (String)os[1];
+// getPrefixHolder(context);
+ }
+
+ public Object saveState(FacesContext context) {
+ Object[] os = new Object[2];
+ os[0] = UIComponentBase.saveAttachedState(context, binding);
+ os[1] = clientId;
+ return os;
+ }
+
+ public void setTransient(boolean b) {
+ this.isTransient = b;
+ if(binding instanceof StateHolder) ((StateHolder)binding).setTransient(b);
+ }
+
+}
Property changes on: trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/renderkit/DialogMethodBinding.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Name: svn:keywords
+ Date Revision Author
Added: trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/renderkit/DialogVerticalFillerRenderer.java
===================================================================
--- trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/renderkit/DialogVerticalFillerRenderer.java (rev 0)
+++ trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/renderkit/DialogVerticalFillerRenderer.java 2007-09-15 00:10:06 UTC (rev 2949)
@@ -0,0 +1,20 @@
+package org.richfaces.renderkit;
+
+import org.ajax4jsf.renderkit.AjaxComponentRendererBase;
+import org.ajax4jsf.resource.InternetResource;
+import org.richfaces.component.UIDialogVerticalFiller;
+
+
+public class DialogVerticalFillerRenderer extends AjaxComponentRendererBase {
+ private InternetResource[] _scripts = { getResource("style/dialog-window.css") };
+
+// @Override
+ protected Class getComponentClass() {
+ return UIDialogVerticalFiller.class;
+ }
+
+ protected InternetResource[] getStyles() {
+ return _scripts;
+ }
+
+}
Property changes on: trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/renderkit/DialogVerticalFillerRenderer.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Name: svn:keywords
+ Date Revision Author
Added: trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/renderkit/DialogWindowOutputLinkRenderer.java
===================================================================
--- trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/renderkit/DialogWindowOutputLinkRenderer.java (rev 0)
+++ trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/renderkit/DialogWindowOutputLinkRenderer.java 2007-09-15 00:10:06 UTC (rev 2949)
@@ -0,0 +1,59 @@
+package org.richfaces.renderkit;
+
+import javax.faces.application.ViewHandler;
+import javax.faces.component.UIComponent;
+import javax.faces.context.FacesContext;
+
+import org.ajax4jsf.event.AjaxEvent;
+import org.richfaces.component.DialogContext;
+import org.richfaces.component.DialogContextManager;
+import org.richfaces.component.DialogOpenEvent;
+import org.richfaces.component.UIDialogAction;
+import org.richfaces.component.UIDialogWindow;
+
+
+public class DialogWindowOutputLinkRenderer extends DialogWindowRenderer {
+
+// @Override
+ public void doDecode(FacesContext context, UIComponent component) {
+ if(!isSubmitted(getUtils(), context, component)) {
+ return;
+ }
+ String dialogId = component.getClientId(context);
+ String action = (String)context.getExternalContext().getRequestParameterMap().get("action");
+ DialogContext dcontext = DialogContextManager.getInstance(context).getContext(dialogId);
+ DialogOpenEvent dialogEvent = new DialogOpenEvent(component);
+
+ if(!"close".equals(action) && !"closeall".equals(action)) {
+ DialogContext parentContext = DialogContextManager.getInstance(context).getActiveContext();
+ DialogContextManager.getInstance(context).setActiveRequest(dialogId);
+ if(parentContext != null && parentContext != dcontext) parentContext.addChildContext(dcontext);
+ dcontext.setLocked(false);
+ ViewHandler vh = UIDialogAction.getViewHandler(context);
+ String targetActionURL = (String)((UIDialogWindow)component).getValue();
+ targetActionURL = vh.getActionURL(context, targetActionURL);
+ dcontext.setDialogPath(targetActionURL);
+ component.queueEvent( new AjaxEvent(component));
+ context.renderResponse();
+ } else {
+ String targetViewId = (String)context.getExternalContext().getRequestParameterMap().get("targetViewId");
+ if(targetViewId != null) {
+ dialogEvent.setSourceViewId(targetViewId);
+ }
+ DialogContext parentContext = dcontext.getParentContext();
+ dcontext.deactivate();
+ if(parentContext != null) {
+ DialogContextManager.getInstance(context).setActiveRequest(parentContext.getDialogId());
+ } else if("closeall".equals(action)) {
+ DialogContextManager.getInstance(context).setActiveRequest(null);
+ } else {
+ DialogContextManager.getInstance(context).setActiveRequest(null);
+ }
+ dialogEvent.setClose(true);
+ dialogEvent.queue();
+ component.queueEvent( new AjaxEvent(component));
+ }
+
+ }
+
+}
Property changes on: trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/renderkit/DialogWindowOutputLinkRenderer.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Name: svn:keywords
+ Date Revision Author
Added: trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/renderkit/DialogWindowRenderer.java
===================================================================
--- trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/renderkit/DialogWindowRenderer.java (rev 0)
+++ trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/renderkit/DialogWindowRenderer.java 2007-09-15 00:10:06 UTC (rev 2949)
@@ -0,0 +1,291 @@
+/*
+ * Created on 03.08.2006
+ */
+package org.richfaces.renderkit;
+
+import java.io.IOException;
+import java.util.Map;
+
+import javax.faces.component.ActionSource;
+import javax.faces.component.UIComponent;
+import javax.faces.context.FacesContext;
+import javax.faces.context.ResponseWriter;
+import javax.faces.el.MethodBinding;
+import javax.faces.event.ActionEvent;
+
+import org.ajax4jsf.context.ViewIdHolder;
+import org.ajax4jsf.event.AjaxEvent;
+import org.ajax4jsf.javascript.JSFunction;
+import org.ajax4jsf.javascript.PrototypeScript;
+import org.ajax4jsf.renderkit.AjaxCommandRendererBase;
+import org.ajax4jsf.renderkit.AjaxRendererUtils;
+import org.ajax4jsf.renderkit.RendererUtils;
+import org.ajax4jsf.resource.InternetResource;
+import org.richfaces.component.ActionPrefixHolder;
+import org.richfaces.component.DialogContext;
+import org.richfaces.component.DialogContextManager;
+import org.richfaces.component.DialogOpenEvent;
+import org.richfaces.component.DialogWindowClosedEvent;
+import org.richfaces.component.UIDialogAction;
+import org.richfaces.component.UIDialogWindow;
+
+
+/**
+ * @author igels
+ *
+ */
+public class DialogWindowRenderer extends AjaxCommandRendererBase {
+
+ private InternetResource[] _scripts = {new PrototypeScript(), getResource("script/dialog-window.js") };
+
+// @Override
+ protected Class getComponentClass() {
+ return UIDialogWindow.class;
+ }
+
+// @Override
+ protected InternetResource[] getAdditionalScripts() {
+ return _scripts;
+ }
+
+ /**
+ * Action is invoked in two cases:
+ * 1) Button has been pressed - standard JSF invocation.
+ * 2) Child dialog has just been closed - it simulates
+ * action of this component by AJAX request
+ */
+// @Override
+ public void doDecode(FacesContext context, UIComponent component) {
+ if(!isSubmitted(getUtils(), context, component)) {
+ return;
+ }
+
+// ((UIDialogAction)component).provideForceRerender();
+
+ String dialogId = component.getClientId(context);
+
+ /*
+ * Parameter action=close is set by js function closeDialog()
+ * for AJAX request simulating this action.
+ */
+ String action = (String)context.getExternalContext().getRequestParameterMap().get("action");
+
+ DialogContext dcontext = DialogContextManager.getInstance(context).getContext(dialogId);
+
+ String posReferenceId = (String)context.getExternalContext().getRequestParameterMap().get("posReferenceId");
+ ((UIDialogWindow)component).setPosExternalReferenceId(posReferenceId);
+
+ ActionSource actionSource = (ActionSource) component;
+
+ /*
+ * Specific navigation for open/close dialogs
+ * includes prefixes to outcomes. We need to
+ * intercept computed outcome to extract the prefix
+ * and provide JSF with outcome stripped of it.
+ */
+ MethodBinding binding = actionSource.getAction();
+ if(!(binding instanceof DialogMethodBinding)) {
+ actionSource.setAction(new DialogMethodBinding(binding, (ActionPrefixHolder)component));
+ }
+
+ DialogOpenEvent dialogEvent = new DialogOpenEvent(component);
+
+ if(!"close".equals(action) && !"closeall".equals(action)) {
+
+ /*
+ * Button has been pressed.
+ * Child dialog is to be open.
+ * We need to send a standard ActionEvent to
+ * let JSF to pass all the lifecycle up to
+ * the end of invoke application phase where
+ * we will interfere and change the navigation logic.
+ */
+ DialogContext parentContext = DialogContextManager.getInstance(context).getActiveContext();
+ DialogContextManager.getInstance(context).setActiveRequest(dialogId);
+ if(parentContext != null && parentContext != dcontext) parentContext.addChildContext(dcontext);
+ dcontext.setLocked(false);
+
+ Object type = component.getAttributes().get("type");
+ if (null == type || ! "reset".equalsIgnoreCase((String)type) ) {
+/// String mode = ((UIDialogAction)component).getMode();
+ ActionEvent event;
+ event = new ActionEvent(component);
+ component.queueEvent(event);
+ if(component instanceof ViewIdHolder) {
+ component.queueEvent( new AjaxEvent(component));
+// ((UIDialogWindow)component).initViewId();
+// AjaxContext.getCurrentInstance(context).setViewIdHolder((ViewIdHolder)component);
+// return;
+ }
+
+ } else {
+ component.queueEvent( new AjaxEvent(component));
+ }
+ } else {
+ /*
+ * Child dialog has just been closed.
+ * It simulates action of this component
+ * by AJAX request from js function closeDialog()
+ * Parameter 'targetViewId' is id of view
+ * that would be shown in dialog window if it had not
+ * to be closed. Now it is saved in event
+ * to be substituted for view root of this window.
+ */
+ String targetViewId = (String)context.getExternalContext().getRequestParameterMap().get("targetViewId");
+ if(targetViewId != null) {
+ dialogEvent.setSourceViewId(targetViewId);
+ }
+ DialogContext parentContext = dcontext.getParentContext();
+ dcontext.deactivate();
+ if(parentContext != null) {
+ DialogContextManager.getInstance(context).setActiveRequest(parentContext.getDialogId());
+ } else if("closeall".equals(action)) {
+ DialogContextManager.getInstance(context).setActiveRequest(null);
+ } else {
+ DialogContextManager.getInstance(context).setActiveRequest(null);
+ }
+
+ component.queueEvent(new DialogWindowClosedEvent(component));
+
+ component.queueEvent( new AjaxEvent(component));
+ dialogEvent.setClose(true);
+ }
+
+ /*
+ * Queue event that will be processed during
+ * invoke application phase after navigation handler
+ * has calculated and set new view id.
+ * See UIDialogWindow.processDialogOpen for details
+ * of processing this event to change navigation logic.
+ */
+ dialogEvent.queue();
+ }
+
+ public String getOnClick(FacesContext context, UIComponent component) {
+ if (getUtils().isBooleanAttribute(component,"disabled")) {
+ return "return false;";
+ }
+ String dialogPath = DialogWindowUtils.getDialogPath(context, component);
+ if(dialogPath != null) return "return false;";
+
+ DialogWindowUtils.saveParameters(component, context);
+
+ StringBuffer sb = new StringBuffer();
+ sb.append(DialogWindowUtils.getRunCondition());
+
+ if(UIDialogAction.isServerMode(component)
+ //|| DialogWindowUtils.findAncestorForm(context, component) == null
+ ) {
+ String formId = DialogWindowUtils._getFormId(context, component);
+
+ JSFunction f = new JSFunction("DialogContext.submitDialogAction");
+ f.addParameter(formId);
+ f.addParameter(component.getClientId(context));
+ f.addParameter(AjaxRendererUtils.buildEventOptions(context, component));
+ f.appendScript(sb);
+ sb.append(';');
+
+ if (!"reset".equals(component.getAttributes().get("type"))) {
+ sb.append("return false;");
+ }
+// } else if(DialogWindowUtils.findAncestorForm(context, component) == null) {
+// JSFunction f = new JSFunction("A4J.AJAX.Submit");
+// f.addParameter("_viewRoot");
+// f.addParameter("");
+// f.addParameter(new JSReference("event"));
+// f.addParameter(AjaxRendererUtils.buildEventOptions(context, component));
+// f.appendScript(sb);
+// sb.append(';');
+//
+// if (!"reset".equals(component.getAttributes().get("type"))) {
+// sb.append("return false;");
+// }
+// return sb.toString();
+ } else {
+ sb = DialogWindowUtils.buildOnClick(component, context);
+ sb.insert(0, DialogWindowUtils.getRunCondition());
+ if (!"reset".equals(component.getAttributes().get("type"))) {
+ sb.append(";return false;");
+ }
+ }
+ return sb.toString();
+ }
+
+ public String getDialogBox(FacesContext context, UIComponent component) throws IOException {
+ DialogContext dcontext = DialogContextManager.getInstance(context).getContext(component.getClientId(context));
+ String dialogPath = DialogWindowUtils.getDialogPath(context, component);
+ if(dialogPath == null) return "";
+ String dialogId = component.getClientId(context);
+ // Added by Hans, Wed Mar 7 14:55:24 EET 2007, CH-1541
+ StringBuffer options = new StringBuffer(DialogWindowUtils.getOptions(context, component, getUtils()));
+ options.deleteCharAt(options.length() - 1);
+ String spacerImage = getResource("/com/exadel/vcp/dialogwindow/renderer/html_basic/images/spacer.gif")
+ .getUri(context, null);
+ DialogWindowUtils.append(options, "spacerImage", spacerImage);
+ options.append('}');
+ // by Hans
+ String iframe =
+// "<script type=\"text/javascript\">" +
+ "try {" +
+ "if(window && window.DialogContext) {" +
+ options.toString() +
+ "new DialogContext(\'" + dialogId + "\', \'" + dialogPath + "\', " + getParentDialogId(dcontext) + ", options);" +
+ "}" +
+ "} catch (e) {" +
+ "alert('Error in dialog window script: ' + e.message);" +
+ "}" +
+// "</script>" +
+ "";
+ return iframe;
+ }
+
+ public String getLinkID(FacesContext context, UIComponent component) throws IOException {
+ return component.getClientId(context) + "_a";
+ }
+
+ // repeated from AjaxCommandRendererBase
+ public static boolean isSubmitted(RendererUtils utils, FacesContext facesContext, UIComponent uiComponent) {
+ // Componet accept only ajax requests.
+ if (!UIDialogWindow.isServerMode(uiComponent) && !AjaxRendererUtils.isAjaxRequest(facesContext)
+ && DialogWindowUtils.findAncestorForm(facesContext, uiComponent) != null) {
+ return false;
+ }
+ if(utils.isBooleanAttribute(uiComponent, "disabled")) {
+ return false;
+ }
+ String clientId = uiComponent.getClientId(facesContext);
+ Map paramMap = facesContext.getExternalContext().getRequestParameterMap();
+ Object value = paramMap.get( clientId );
+ return null != value;
+ }
+
+ public String getParentDialogId(DialogContext dcontext) {
+ DialogContext parentContext = dcontext.getParentContext();
+ return (parentContext == null) ? null : "'" + parentContext.getDialogId() + "'";
+ }
+
+ public void insertFormBegin(FacesContext context, UIComponent component) {
+ String formId = DialogWindowUtils.findAncestorForm(context, component);
+ if (formId == null) {
+ ResponseWriter out = context.getResponseWriter();
+ try {
+ out.startElement("form", component);
+ out.writeAttribute("method", "post", null);
+ out.writeAttribute("id", DialogWindowUtils._getInternalFormId(context, component), null);
+ } catch (Exception e) {
+ }
+ }
+ }
+
+ public void insertFormEnd(FacesContext context, UIComponent component) {
+ String formId = DialogWindowUtils.findAncestorForm(context, component);
+ if (formId == null) {
+ ResponseWriter out = context.getResponseWriter();
+ try {
+ out.endElement("form");
+ } catch (Exception e) {
+ }
+ }
+ }
+
+}
\ No newline at end of file
Property changes on: trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/renderkit/DialogWindowRenderer.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Name: svn:keywords
+ Date Revision Author
Added: trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/renderkit/DialogWindowUtils.java
===================================================================
--- trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/renderkit/DialogWindowUtils.java (rev 0)
+++ trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/renderkit/DialogWindowUtils.java 2007-09-15 00:10:06 UTC (rev 2949)
@@ -0,0 +1,260 @@
+package org.richfaces.renderkit;
+
+import java.util.Iterator;
+import java.util.Map;
+
+import javax.faces.component.UIComponent;
+import javax.faces.component.UIForm;
+import javax.faces.component.UIParameter;
+import javax.faces.context.FacesContext;
+
+import org.ajax4jsf.Messages;
+import org.ajax4jsf.component.AjaxSupport;
+import org.ajax4jsf.component.JavaScriptParameter;
+import org.ajax4jsf.javascript.JSFunction;
+import org.ajax4jsf.javascript.JSReference;
+import org.ajax4jsf.javascript.ScriptUtils;
+import org.ajax4jsf.renderkit.AjaxRendererUtils;
+import org.ajax4jsf.renderkit.RendererUtils;
+import org.ajax4jsf.renderkit.RendererUtils.HTML;
+import org.richfaces.component.DialogContext;
+import org.richfaces.component.DialogContextManager;
+import org.richfaces.component.UIDialogAction;
+import org.richfaces.component.UIDialogWindow;
+
+
+public class DialogWindowUtils {
+
+ /**
+ * Options:
+ * width public
+ * height public
+ * posx public
+ * posy public
+ * resizable public
+ * _float public
+ * maxWidth public
+ * maxHeight public
+ * hideParentDialog public
+ * headerHeight public
+ * posFunction public
+ * posReferenceId public
+ *
+ * @param context
+ * @param component
+ * @param utils
+ * @return
+ */
+
+ public static String getOptions(FacesContext context, UIComponent component, RendererUtils utils) {
+ StringBuffer options = new StringBuffer("{");
+ options.append("var options= {};");
+ UIComponent nestingContainer = (UIComponent) AjaxRendererUtils.findAjaxContainer(context, component);
+ UIComponent nestingForm = AjaxRendererUtils.getNestingForm(component);
+ String formId = nestingForm != null ? nestingForm.getClientId(context) : "";
+ append(options, "container", nestingContainer.getClientId(context));
+ append(options, "form", formId);
+
+ Object w = component.getAttributes().get("width");
+ if(w == null || w.toString().trim().length() == 0 || "auto".equals(w)) {
+ w = "-1";
+ } else {
+ w = strip(w);
+ }
+ append(options, "width", w);
+
+ Object h = component.getAttributes().get("height");
+ if(h == null || h.toString().trim().length() == 0 || "auto".equals(h)) {
+ h = "-1";
+ } else {
+ h = strip(h);
+ }
+ append(options, "height", h);
+
+ Object x = component.getAttributes().get("posx");
+ if(x == null) x = component.getAttributes().get("align");
+ if(x == null || x.toString().trim().length() == 0) {
+ x = "50%";
+ } else {
+ x = strip(x);
+ }
+ if(x.equals("left")) x = "0%";
+ else if(x.equals("center") || x.equals("middle")) x = "50%";
+ else if(x.equals("right")) x = "100%";
+ append(options, "posx", x);
+
+ Object y = component.getAttributes().get("posy");
+ if(y == null) y = component.getAttributes().get("valign");
+ if(y == null || y.toString().trim().length() == 0) {
+ y = "50%";
+ } else {
+ y = strip(y);
+ }
+ if(y.equals("top")) y = "0%";
+ else if(y.equals("middle") || y.equals("center")) y = "50%";
+ else if(y.equals("bottom")) y = "100%";
+ append(options, "posy", y);
+
+ w = component.getAttributes().get("maxWidth");
+ if(w == null || w.toString().trim().length() == 0) {
+ w = "-1";
+ } else {
+ w = strip(w);
+ }
+ append(options, "maxWidth", w);
+
+ h = component.getAttributes().get("maxHeight");
+ if(h == null || h.toString().trim().length() == 0) {
+ h = "-1";
+ } else {
+ h = strip(h);
+ }
+ append(options, "maxHeight", h);
+
+ if(!UIDialogAction.isServerMode(component)
+ && DialogWindowRenderer.isSubmitted(utils, context, component)
+ && findAncestorForm(context, component) != null) {
+ append(options, "ajax", "true");
+ }
+
+ Object c = component.getAttributes().get("resizable");
+ if(c == null) c = Boolean.TRUE;
+ append(options, "resizable", c);
+
+ c = component.getAttributes().get("float");
+ if(c == null) c = Boolean.TRUE;
+ append(options, "_float", c);
+
+ c = component.getAttributes().get("headerHeight");
+ if(c == null) c = "16px";
+ append(options, "headerHeight", c);
+
+ c = component.getAttributes().get("posFunction");
+ if(c != null) {
+ append(options, "posFunction", c);
+ }
+
+ Object posReferenceId = ((UIDialogWindow)component).getExternalPosReferenceId();
+ if(posReferenceId == null) posReferenceId = ((UIDialogWindow)component).getPosReferenceId();
+ if(posReferenceId != null) {
+ append(options, "posReferenceId", posReferenceId);
+ }
+
+ c = component.getAttributes().get("hideParentDialog");
+ if(c == null) c = Boolean.FALSE;
+ append(options, "hideParentDialog", c);
+
+ options.append('}');
+ return options.toString();
+ }
+
+ static String strip(Object value) {
+ String v = value.toString().trim();
+ if(v.endsWith("px")) return v.substring(0, v.length() - 2);
+ return v;
+ }
+
+ public static void append(StringBuffer options, String name, Object value) {
+ options.append("options.").append(name).append("='").append(value.toString()).append("';");
+ }
+
+ public static String findAncestorForm(FacesContext context,UIComponent component) {
+ while (component != null && !(component instanceof UIForm)) {
+ component = component.getParent();
+ }
+ return component != null ? component.getClientId(context) : null;
+ }
+
+ public static String _getFormId(FacesContext context, UIComponent component) {
+ String formId = findAncestorForm(context, component);
+ if (formId == null)
+ return _getInternalFormId(context, component);
+ else
+ return formId;
+ }
+
+ public static String _getInternalFormId(FacesContext context, UIComponent component) {
+ return "dialogForm_" + component.getClientId(context);
+ }
+
+ /**
+ * This is modified version of AjaxRendererUtils.buildOnClick
+ * We need to insert into options id of reference component
+ * transferred by DW.open(dialogId, referenceId)
+ * @param uiComponent
+ * @param facesContext
+ * @return
+ */
+
+ public static StringBuffer buildOnClick(UIComponent uiComponent, FacesContext facesContext) {
+ String eventName = HTML.onclick_ATTRIBUTE;
+ StringBuffer onEvent = new StringBuffer();
+ if(null != eventName) {
+ String commandOnEvent = (String) uiComponent.getAttributes().get(eventName);
+ if (commandOnEvent != null) {
+ onEvent.append(commandOnEvent);
+ onEvent.append(';');
+ }
+ }
+ Map options = AjaxRendererUtils.buildEventOptions(facesContext, uiComponent);
+ onEvent.append("var options=").append(ScriptUtils.toScript(options)).append(";");
+ onEvent.append("if(this.posReferenceId) { options.parameters.posReferenceId=this.posReferenceId;this.posReferenceId=null; }");
+
+ JSFunction ajaxFunction = AjaxRendererUtils.buildAjaxFunction(uiComponent, facesContext);
+ ajaxFunction.addParameter(new JSReference("options"));
+
+ // appendAjaxSubmitParameters(facesContext, uiComponent, onEvent);
+ onEvent.append("try {");
+ ajaxFunction.appendScript(onEvent);
+ onEvent.append("} catch (e) {alert('Error in onclick: ' + e.message);}");
+
+ if (uiComponent instanceof AjaxSupport) {
+ AjaxSupport support = (AjaxSupport) uiComponent;
+ if (support.isDisableDefault()) {
+ onEvent.append("; return false;");
+ }
+ }
+ return onEvent;
+
+ }
+
+ public static String getRunCondition() {
+ return "try {if(window.hasModalDialog) return false;this.onclick='';this.click=null; window.hasModalDialog=true;} catch (e) {'error in runCondition: ' + e.message};";
+ }
+
+ public static String getDialogPath(FacesContext context, UIComponent component) {
+ DialogContext dcontext = DialogContextManager.getInstance(context).getContext(component.getClientId(context));
+ return dcontext.getDialogPath();
+ }
+
+ public static void saveParameters(UIComponent uiComponent, FacesContext facesContext) {
+ if(!(uiComponent instanceof UIDialogWindow)) return;
+ String dialogId = uiComponent.getClientId(facesContext);
+ DialogContext context = DialogContextManager.getInstance(facesContext).getContext(dialogId);
+ for (Iterator it = uiComponent.getChildren().iterator(); it.hasNext();) {
+ UIComponent child = (UIComponent) it.next();
+ if (child instanceof UIParameter) {
+ String name = ((UIParameter) child).getName();
+ Object value = ((UIParameter) child).getValue();
+ if (null == name) {
+ throw new IllegalArgumentException(Messages.getMessage(
+ Messages.UNNAMED_PARAMETER_ERROR, uiComponent
+ .getClientId(facesContext)));
+ }
+ boolean escape = true;
+ if (child instanceof JavaScriptParameter) {
+ JavaScriptParameter actionParam = (JavaScriptParameter) child;
+ escape = !actionParam.isNoEscape();
+ }
+ if (escape) {
+ context.setParameter(name, value);
+ } else {
+// parameters.put(name, new JSReference(value.toString()));
+ }
+ }
+ }
+
+ }
+
+
+}
Property changes on: trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/renderkit/DialogWindowUtils.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Name: svn:keywords
+ Date Revision Author
Added: trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/taglib/DialogWindowComponentHandler.java
===================================================================
--- trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/taglib/DialogWindowComponentHandler.java (rev 0)
+++ trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/taglib/DialogWindowComponentHandler.java 2007-09-15 00:10:06 UTC (rev 2949)
@@ -0,0 +1,68 @@
+/**
+ *
+ */
+package org.richfaces.taglib;
+
+import javax.faces.event.ActionEvent;
+
+import org.ajax4jsf.webapp.taglib.AjaxComponentHandler;
+import org.richfaces.component.UIDialogWindow;
+
+import com.sun.facelets.FaceletContext;
+import com.sun.facelets.el.LegacyMethodBinding;
+import com.sun.facelets.tag.MetaRule;
+import com.sun.facelets.tag.MetaRuleset;
+import com.sun.facelets.tag.Metadata;
+import com.sun.facelets.tag.MetadataTarget;
+import com.sun.facelets.tag.TagAttribute;
+import com.sun.facelets.tag.jsf.ComponentConfig;
+
+/**
+ * @author Nick Belaevski - nbelaevski at exadel.com
+ * created 08.12.2006
+ *
+ */
+public class DialogWindowComponentHandler extends AjaxComponentHandler {
+
+ public DialogWindowComponentHandler(ComponentConfig componentConfig) {
+ super(componentConfig);
+ }
+
+ protected MetaRuleset createMetaRuleset(Class type) {
+ MetaRuleset metaRuleset = super.createMetaRuleset(type);
+ metaRuleset.addRule(new MetaRule() {
+
+ public Metadata applyRule(String name, final TagAttribute attribute, MetadataTarget meta) {
+ if (meta.isTargetInstanceOf(UIDialogWindow.class)) {
+
+ if ("closeWindowActionListener".equals(name)) {
+ return new Metadata() {
+
+ public void applyMetadata(FaceletContext context, Object instance) {
+ ((UIDialogWindow) instance).setCloseWindowActionListener(new LegacyMethodBinding(
+ attribute.getMethodExpression(context, null,
+ new Class[] { ActionEvent.class })));
+ }
+
+ };
+ } else if ("closeWindowAction".equals(name)) {
+ return new Metadata() {
+
+ public void applyMetadata(FaceletContext context, Object instance) {
+ ((UIDialogWindow) instance).setCloseWindowAction(new LegacyMethodBinding(
+ attribute.getMethodExpression(context, String.class,
+ new Class[] { })));
+ }
+
+ };
+ }
+ }
+
+ return null;
+ }
+
+ });
+
+ return metaRuleset;
+ }
+}
Property changes on: trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/taglib/DialogWindowComponentHandler.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Name: svn:keywords
+ Date Revision Author
Added: trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/taglib/DialogWindowTagBase.java
===================================================================
--- trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/taglib/DialogWindowTagBase.java (rev 0)
+++ trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/taglib/DialogWindowTagBase.java 2007-09-15 00:10:06 UTC (rev 2949)
@@ -0,0 +1,63 @@
+/**
+ *
+ */
+package org.richfaces.taglib;
+
+import javax.faces.component.UIComponent;
+import javax.faces.el.MethodBinding;
+import javax.faces.event.ActionEvent;
+
+import org.ajax4jsf.webapp.taglib.SimpleActionMethodBinding;
+import org.ajax4jsf.webapp.taglib.UIComponentTagBase;
+import org.richfaces.component.UIDialogWindow;
+
+
+/**
+ * @author Nick Belaevski - nbelaevski at exadel.com
+ * created 08.12.2006
+ *
+ */
+public abstract class DialogWindowTagBase extends UIComponentTagBase {
+ private String _closeWindowAction = null;
+ private String _closeWindowActionListener = null;
+
+ public void release() {
+ super.release();
+ this._closeWindowAction = null;
+ this._closeWindowActionListener = null;
+ }
+
+ public void setCloseWindowAction(String windowAction) {
+ _closeWindowAction = windowAction;
+ }
+
+ public void setCloseWindowActionListener(String windowActionListener) {
+ _closeWindowActionListener = windowActionListener;
+ }
+
+ protected void setProperties(UIComponent component) {
+ super.setProperties(component);
+ if(null != this._closeWindowActionListener){
+ if (isValueReference(this._closeWindowActionListener)) {
+ MethodBinding mb = getFacesContext().getApplication().createMethodBinding(this._closeWindowActionListener,
+ new Class[]{ActionEvent.class});
+ ((UIDialogWindow)component).setCloseWindowActionListener(mb);
+ } else {
+ getFacesContext().getExternalContext().log("Component " + component.getClientId(getFacesContext()) + " has invalid closeWindowActionListener value: " + this._closeWindowActionListener);
+ }
+ }
+
+ if(null != this._closeWindowAction){
+ MethodBinding mb;
+
+ if (isValueReference(this._closeWindowAction)) {
+ mb = getFacesContext().getApplication().createMethodBinding(this._closeWindowAction,
+ new Class[]{});
+ } else {
+ mb = new SimpleActionMethodBinding(this._closeWindowAction);
+ }
+
+ ((UIDialogWindow)component).setCloseWindowAction(mb);
+ }
+ }
+}
Property changes on: trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/taglib/DialogWindowTagBase.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Name: svn:keywords
+ Date Revision Author
Added: trunk/sandbox/ui/dialog-window/src/main/resources/org/richfaces/renderkit/images/spacer.gif
===================================================================
(Binary files differ)
Property changes on: trunk/sandbox/ui/dialog-window/src/main/resources/org/richfaces/renderkit/images/spacer.gif
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/sandbox/ui/dialog-window/src/main/resources/org/richfaces/renderkit/script/dialog-button.js
===================================================================
Added: trunk/sandbox/ui/dialog-window/src/main/resources/org/richfaces/renderkit/script/dialog-close.js
===================================================================
Added: trunk/sandbox/ui/dialog-window/src/main/resources/org/richfaces/renderkit/script/dialog-link.js
===================================================================
Added: trunk/sandbox/ui/dialog-window/src/main/resources/org/richfaces/renderkit/script/dialog-window.js
===================================================================
--- trunk/sandbox/ui/dialog-window/src/main/resources/org/richfaces/renderkit/script/dialog-window.js (rev 0)
+++ trunk/sandbox/ui/dialog-window/src/main/resources/org/richfaces/renderkit/script/dialog-window.js 2007-09-15 00:10:06 UTC (rev 2949)
@@ -0,0 +1,1558 @@
+function createX() {
+// alert(window.location);
+ return {};
+}
+
+var dialogs = createX();
+
+Resizer = Class.create();
+
+Resizer.prototype = {
+ initialize: function() {
+ this.bound = false;
+ this.listeners = {};
+ },
+
+ doInit: function() {
+ if(this.bound) return;
+ if(!window.document) return;
+ this.bound = true;
+ try {
+ Event.observe(window, 'resize', this.resize.bind(this), false);
+ Event.observe(window.document.body, 'scroll', this.resize.bind(this), false);
+ Event.observe(window, 'scroll', this.resize.bind(this), false);
+ } catch (e) {
+ alert(e.message);
+ }
+ },
+
+ addListener: function(context) {
+ this.doInit();
+ this.listeners[context.dialogId] = context._doResize.bind(context);
+ },
+
+ removeListener: function(context) {
+ this.listeners[context.dialogId] = null;
+ },
+
+ resize: function() {
+ for (x in this.listeners) {
+ if(this.listeners[x]) this.listeners[x]();
+ }
+ }
+}
+
+function getResizer() {
+ if(getTopWindow() != window) return getTopWindow().getResizer();
+ if(window.ResizerImpl) return window.ResizerImpl;
+ return new Resizer();
+}
+
+var ResizerImpl = getResizer();
+
+DialogContext = Class.create();
+
+function getTopWindow() {
+ if(window.parent && window.parent != window) {
+ return window.parent.getTopWindow();
+ }
+ if(window.opener && window.opener != window) {
+ return window.opener.getTopWindow();
+ }
+ return window;
+}
+
+DialogContext.prototype = {
+
+ initialize: function(dialogId, dialogPath, parentDialogId, options) {
+ try {
+ this.linkId = dialogId + "_a";
+ this.dialogId = dialogId;
+ this.divId = dialogId + "_div";
+ this.screenId = dialogId + "_screen";
+ this.dialogPath = dialogPath;
+ this.persistentDialogPath = dialogPath;
+
+ this.options = options;
+ this.parentDialogId = parentDialogId;
+ this.shape = new DW.Shape(this);
+ this.filler = new DW.Filler(this);
+
+ var closeParent = "true" == options.hideParentDialog;
+ if(this.parentDialogId && closeParent) {
+ var p = getTopWindow().dialogs[this.parentDialogId];
+ if(p && p.iframe) {
+ p.hidden = true;
+ Element.setStyle(p.iframe, {"visibility" : "hidden" });
+ }
+ }
+
+ if(!options.ajax) {
+ Event.observe(window, 'load', this.openDialog.bind(this), false);
+ } else {
+ this.openDialog();
+ }
+
+ } catch (e) {
+ alert("initialize error: " + e.message);
+ }
+ },
+
+ getParentDialogWindow: function() {
+ if(this.parentDialogId) {
+ this.parentDialogWindow = this.topWindow.dialogs[this.parentDialogId].dialogWindow;
+ } else {
+ this.parentDialogWindow = this.topWindow;
+ }
+ return this.parentDialogWindow;
+ },
+
+ _destroy: function() {
+ try {
+ this.parentDialogWindow.hasModalDialog = false;
+ ResizerImpl.removeListener(this);
+
+ if(this.dialogWindow && this.onLoadEvent) {
+ Event.stopObserving(this.dialogWindow, "load", this.onLoadEvent);
+ this.onLoadEvent = null;
+ }
+
+ this.enableSelects();
+
+ var w = this.topWindow;
+
+ var g = this.parentDialogWindow.document.getElementById(this.linkId);
+ var scr = this.parentDialogWindow.document.getElementById(this.screenId);
+ if(scr && scr.parentNode) {
+ scr.parentNode.removeChild(scr);
+ }
+ if(!g) {
+ alert('Cannot find link ' + this.linkId);
+ }
+ var div = w.document.getElementById(this.divId);
+ if(div && div.parentNode) {
+ if(DW.isIE) {
+ if (this.options && this.options.spacerImage)
+ div.src= this.options.spacerImage;
+ else
+ div.src = "about:blank";
+// div.src="javascript:void(0)";
+ }
+ div.parentNode.removeChild(div);
+ }
+ this.topWindow.dialogs[this.dialogId] = null;
+ this.shape.destroy();
+ } catch (e) {
+ alert('Error in destroy: ' + e.message);
+ }
+ },
+
+ openDialog: function() {
+ try {
+ disableDocumentFocusElements(this.dialogId);
+ this.topWindow = getTopWindow();
+ this.topWindow.dialogs[this.dialogId] = this;
+ this.topWindow.currentDialog = this;
+ if(this.parentDialogId) {
+ var d = this.topWindow.dialogs[this.parentDialogId];
+ if(!d) throw("Cannot find context for parent dialog " + this.parentDialogId);
+ this.parentDialogWindow = d.dialogWindow;
+ d.shape.borders.setVisible(false);
+ } else {
+ this.parentDialogWindow = this.topWindow;
+ }
+
+ this.parentDialogWindow.hasModalDialog = true;
+ this.disableSelects();
+
+ var scr = this.getParentDialogWindow().document.createElement("div");
+// scr.frameBorder = "0";
+ scr.id = this.screenId;
+ scr.style.position = "absolute";
+ scr.style.top = "0px";
+ scr.style.left = "0px";
+ Element.setStyle(scr, {"border-style" : "none" });
+ Element.setStyle(scr, {"background-color" : "#d0d0d0" });
+ Element.setStyle(scr, {"z-index" : "99" });
+ scr.style.filter="alpha(opacity=50)";
+ scr.style.opacity = "0.5";
+ this.parentDialogWindow.document.body.appendChild(scr);
+
+ var iframe = this.topWindow.document.createElement("iframe");
+ var div = iframe;
+//// var div = this.topWindow.document.createElement("div");
+//// this.frameDiv = div;
+//// div.id = this.divId;
+ div.style.position = "absolute";
+ Element.setStyle(div, {"z-index" : "99"});
+ Element.setStyle(div, {"border" : "0px", "padding" : "0px 0px 0px 0px", "margin" : "0px 0px 0px 0px" });
+
+ Event.observe(iframe, 'load', this.testOnLoad.bind(this), false);
+ this.iframe = iframe;
+ iframe.id = this.divId;
+ iframe.src = this.dialogPath;
+ iframe.frameBorder = "0";
+ iframe.scrolling="no";
+ Element.setStyle(iframe, {"overflow-y" : "hidden" });
+ Element.setStyle(iframe, {"visibility" : "hidden" });
+ Element.setStyle(iframe, {"border" : "0px", "padding" : "0px 0px 0px 0px", "margin" : "0px 0px 0px 0px" });
+
+//// div.appendChild(iframe);
+ this.shape.init(div, this.options);
+
+ this.topWindow.document.body.appendChild(div);
+
+ ResizerImpl.addListener(this);
+
+/// this._doResize();
+
+ } catch (e) {
+ var mess = (e.message) ? e.message : e;
+ alert("Error in open dialog: " + mess);
+ }
+ },
+
+ testOnLoad: function(event) {
+ try {
+ if(!this.iframe || !this.iframe.parentNode) return;
+ var w = this.iframe.contentWindow;
+ if(w) {
+ // copy of registerInParent();
+ if(!w.thisDialogContext) {
+ w.thisDialogContext = this;
+ w.thisDialogContext.dialogWindow = w;
+ }
+ w.thisDialogContext._doOnLoad();
+ }
+ } catch (e) {
+ alert("Error in testOnLoad " + e.message);
+ }
+ },
+
+ getDialogPath: function() {
+ return this.dialogPath;
+ },
+
+ _doResize: function() {
+ try {
+ if(closed) {
+ alert('closed!!!!!');
+ return;
+ }
+ if(!this.loaded) return;
+ if(!this.parentDialogWindow) return;
+ var parentPositionObject = this.parentDialogWindow.getBase();
+ var topPositionObject = this.topWindow.getBase();
+ var scr = this.parentDialogWindow.$(this.screenId);
+ if(scr) {
+ scr.style.top = parentPositionObject.scrollTop + "px";
+ scr.style.left = parentPositionObject.scrollLeft + "px";
+ scr.style.width = "" + parentPositionObject.clientWidth + "px";
+ scr.style.height = "" + parentPositionObject.clientHeight + "px";
+ }
+ this.shape.resize();
+ this.filler.iterate();
+ } catch (e) {
+ alert('Error in _doResize: ' + e.message);
+ }
+ },
+
+ registerOnLoad: function(_window) {
+/*
+ this.dialogWindow = _window;
+ if(!this.onLoadEvent) {
+ this.onLoadEvent = this._doOnLoad.bind(this);
+ Event.observe(_window, 'load', this.onLoadEvent, false);
+ }
+*/
+ },
+
+ _doOnLoad: function() {
+ try {
+ this.loaded = true;
+ Element.setStyle(this.dialogWindow.document.body, { "margin" : "0px 0px 0px 0px" });
+ if("transparent" == Element.getStyle(this.dialogWindow.document.body, "background-color")) {
+ this.iframe.allowTransparency = true;
+ }
+ this.filler.onLoad();
+ this._doResize();
+ this.filler.enable();
+ if(!this.hidden) {
+ Element.setStyle(this.iframe, {"visibility" : "visible" });
+ }
+ } catch (e) {
+ alert('Error in _doOnLoad' + e.message);
+ }
+ },
+
+ disableSelects: function() {
+ try {
+ this.selects = this.getParentDialogWindow().document.getElementsByTagName("SELECT");
+ if(this.selects) {
+ for (k in this.selects) {
+ this.selects[k]._disabled = this.selects[k].disabled || false;
+ this.selects[k].disabled = true;
+ }
+ }
+ } catch (e) {
+ alert('Error in disableSelects: ' + e.message);
+ }
+ },
+
+ enableSelects: function() {
+ try {
+ if(this.selects) {
+ for (k in this.selects) {
+ this.selects[k].disabled = this.selects[k]._disabled || false;
+ }
+ }
+ } catch (e) {
+ alert('Error in disableSelects: ' + e.message);
+ }
+ },
+
+ onOptionsChanged: function() {
+ this.shape.init(this.iframe, this.options);
+ this._doResize();
+ }
+
+}
+
+var thisDialogContext = null;
+
+function registerInParent() {
+ if(thisDialogContext) {
+ return;
+ }
+ thisDialogContext = getTopWindow().currentDialog;
+ if(thisDialogContext) {
+ thisDialogContext.dialogWindow = window;
+// thisDialogContext.registerOnLoad(window);
+ }
+}
+
+function onDialogLink(dialogPath) {
+ if(thisDialogContext) {
+ thisDialogContext.topWindow.currentDialog = thisDialogContext;
+ thisDialogContext.dialogPath = dialogPath;
+ }
+}
+
+function createObject() {
+ return {};
+}
+
+function closeDialog(args) {
+ if(!thisDialogContext) return;
+ var context = thisDialogContext;
+ var id = (!args) ? null : args.id;
+ var targetViewId = (!args) ? null : args.targetViewId;
+ var container = context.options.container;
+ var form = context.options.form;
+ thisDialogContext = null;
+ if(context.parentDialogId) {
+ var p = context.topWindow.dialogs[context.parentDialogId];
+ context.topWindow.currentDialog = p;
+ context.topWindow.currentDialog.shape.borders.setVisible(true);
+ p.hidden = false;
+ if(p && p.iframe) {
+ Element.setStyle(p.iframe, {"visibility" : "visible" });
+ }
+ }
+ try {
+ enableDocumentFocusElements(container.id);
+ var pdw = context.getParentDialogWindow();
+ var g = pdw.document.getElementById(context.linkId);
+ context._destroy();
+ var ps = pdw.createObject();
+ ps[context.dialogId] = context.dialogId;
+/// alert(context.dialogId);
+ ps['action'] = 'close';
+
+ if(targetViewId) {
+ var ii = targetViewId.indexOf('?');
+ if(ii > 0) {
+ ps['targetViewId'] = targetViewId.substring(0, ii);
+ } else {
+ ps['targetViewId'] = targetViewId;
+ }
+ }
+ var gevent = pdw.createObject();
+ gevent.target = g;
+ gevent.srcElement = g;
+
+ var parameters = pdw.createObject();
+ parameters['parameters'] = ps;
+
+ var theForm = pdw.window.document.getElementById(form);
+ var action = null;
+
+ if (context.persistentDialogPath) {
+ var path = context.persistentDialogPath;
+ var ii = path.indexOf('?');
+ if(ii > 0) {
+ action = theForm.action + path.substring(ii);
+ }
+ }
+
+ if (action) {
+ parameters.actionUrl = action;
+ }
+
+ pdw.A4J.AJAX.Submit(container,form,gevent,parameters);
+
+ return false;
+ } catch(e) {
+ alert(e.message);
+ }
+ return false;
+}
+
+function closeAll(args) {
+ if(!thisDialogContext) return;
+ var context = thisDialogContext;
+ var id = (!args) ? null : args.id;
+ var targetViewId = (!args) ? null : args.targetViewId;
+ var container = context.options.container;
+ var form = context.options.form;
+ thisDialogContext = null;
+ if(context.parentDialogId) {
+ context.topWindow.currentDialog.shape.borders.setVisible(true);
+ context.topWindow.currentDialog = context.topWindow.dialogs[context.parentDialogId];
+ }
+ try {
+ context._destroy();
+ if(!context.parentDialogId) {
+ var pdw = context.parentDialogWindow;
+ var g = pdw.document.getElementById(context.linkId);
+ var ps = pdw.createObject();
+ ps[context.dialogId] = context.dialogId;
+ ps['action'] = 'closeall';
+ if(targetViewId) {
+ ps['targetViewId'] = targetViewId;
+ }
+ var gevent = pdw.createObject();
+ gevent.target = g;
+ gevent.srcElement = g;
+
+ var parameters = pdw.createObject();
+ parameters['parameters'] = ps;
+
+ var theForm = pdw.window.document.getElementById(form);
+ var action = null;
+
+ if (context.persistentDialogPath) {
+ var path = context.persistentDialogPath;
+ var ii = path.indexOf('?');
+ if(ii > 0) {
+ action = theForm.action + path.substring(ii);
+ }
+ }
+
+ if (action) {
+ parameters.actionUrl = action;
+ }
+
+ pdw.A4J.AJAX.Submit(container,form,gevent,parameters);
+ return false;
+ } else {
+ return context.parentDialogWindow.closeAll(args);
+ }
+ } catch(e) {
+ alert(e.message);
+ }
+ return false;
+}
+
+DialogContext.submitDialogAction = function(formId, dialogId, options) {
+ try {
+ var parentForm = document.forms[formId];
+ if(parentForm == null) {
+ alert('Cannot find form ' + formId);
+ return false;
+ }
+
+ if(options && options.parameters) {
+ for (var x in options.parameters) {
+ if(x == dialogId) continue;
+ addHiddenToForm(parentForm, "" + x, options.parameters[x]);
+ }
+ }
+ addHiddenToForm(parentForm, dialogId, dialogId);
+ parentForm.submit();
+ return false;
+ } catch (e) {
+ alert('Error in DialogContext.submitDialogAction: ' + e.message);
+ }
+}
+
+function addHiddenToForm(parentForm, name, value) {
+ var fInput = parentForm[name];
+ if(fInput==null) {
+ fInput = document.createElement("input");
+ fInput.type = "hidden";
+ fInput.name = name;
+ parentForm.appendChild(fInput);
+ }
+ fInput.value = value;
+}
+
+function getBase() {
+ return (document.compatMode && document.compatMode.toLowerCase() == "css1compat" &&
+ !/Netscape|Opera/.test(navigator.userAgent)) ?
+ document.documentElement : (document.body || null);
+}
+
+function setImagesToButton(element, images) {
+ if (!Exadel) return;
+ Exadel.setImages(element, images);
+}
+
+DW = {
+ isIE: window.navigator.userAgent.indexOf("MSIE") > 0,
+ isNS: window.navigator.userAgent.indexOf("Netscape") > 0,
+ isFF: window.navigator.userAgent.indexOf("Firefox") > 0
+};
+
+DW.close = function() {
+ closeDialog();
+}
+
+DW.closeAll = function() {
+ closeAll();
+}
+
+DW.open = function(id, referenceId) {
+ if(!id) return;
+ var element = $(id + "_a");
+ if(element) {
+ if(referenceId) {
+ element.posReferenceId = referenceId;
+ }
+ if(element.click) {
+ element.click();
+ } else if(element.href && element.onclick) {
+ try {
+ var gevent = {};
+ gevent.target = element;
+ gevent.srcElement = element;
+ element.onclick.call(element, gevent);
+ } catch (e) {
+ alert("Error in DW.open: " + e.message);
+ }
+ }
+ }
+}
+
+DW.Shape = Class.create();
+
+DW.Shape.prototype = {
+
+ initialize: function(context) {
+ this.context = context;
+ this.posx = new DW.Unit(this, 'posx');
+ this.posy = new DW.Unit(this, 'posy');
+ this.width = new DW.Unit(this, 'width');
+ this.height = new DW.Unit(this, 'height');
+ this.borders = new DW.Borders(this);
+
+ this.maxWidth = new DW.Unit(this, 'maxWidth');
+ this.maxHeight = new DW.Unit(this, 'maxHeight');
+ this.posFunction = null;
+ this.posReferenceId = null;
+ },
+
+ init: function(div, options) {
+ this.div = div;
+ this.posx.init(div, options);
+ this.posy.init(div, options);
+ this.width.init(div, options);
+ this.height.init(div, options);
+ this.maxWidth.init(div, options);
+ this.maxHeight.init(div, options);
+
+ this.posFunction = options["posFunction"];
+ this.posReferenceId = options["posReferenceId"];
+
+ this.dialogWidth = 10;
+ this.dialogHeight = 10;
+
+ this.borders.init(options);
+ },
+
+ resize: function() {
+ if(this.context && this.context.dragging) return;
+ if(this.width.value < 0 || this.height.value < 0) {
+ this.setDefaultSize();
+ return;
+ }
+
+ var parentPositionObject = this.context.parentDialogWindow.getBase();
+ var topPositionObject = this.context.topWindow.getBase();
+
+ this.computeSize(parentPositionObject, topPositionObject);
+ this.computePosition(parentPositionObject, topPositionObject);
+ this.borders.resize();
+ },
+
+ computeSize: function(parentPositionObject, topPositionObject) {
+ this.computeMaximumSize(parentPositionObject, topPositionObject);
+
+ if(this.width.isRelative) {
+ this.width.pixelValue = topPositionObject.clientWidth * this.width.value / 100;
+ } else {
+ this.width.pixelValue = this.width.value;
+ }
+ this.dialogWidth = this.width.pixelValue + this.width.delta;
+ if(this.maxWidth.pixelValue > 0 && this.maxWidth.pixelValue < this.dialogWidth) {
+ this.width.pixelValue += this.maxWidth.pixelValue - this.dialogWidth;
+ this.dialogWidth = this.maxWidth.pixelValue;
+ }
+ if(this.dialogWidth < 10) this.dialogWidth = 10;
+ this.div.style.width = "" + this.dialogWidth + "px";
+
+ if(this.height.isRelative) {
+ this.height.pixelValue = topPositionObject.clientHeight * this.height.value / 100;
+ } else {
+ this.height.pixelValue = this.height.value;
+ }
+ this.dialogHeight = this.height.pixelValue + this.height.delta;
+ if(this.maxHeight.pixelValue > 0 && this.maxHeight.pixelValue < this.dialogHeight) {
+ this.height.pixelValue += this.maxHeight.pixelValue - this.dialogHeight;
+ this.dialogHeight = this.maxHeight.pixelValue;
+ }
+ if(this.dialogHeight < 10) this.dialogHeight = 10;
+ this.div.style.height = "" + this.dialogHeight + "px";
+ this.kick();
+ },
+
+ computeMaximumSize: function(parentPositionObject, topPositionObject) {
+ if(this.maxWidth.value <= 0) {
+ this.maxWidth.pixelValue = -1;
+ } else if(this.maxWidth.isRelative) {
+ this.maxWidth.pixelValue = topPositionObject.clientWidth * this.maxWidth.value / 100;
+ } else {
+ this.maxWidth.pixelValue = this.maxWidth.value;
+ }
+
+ if(this.maxHeight.value <= 0) {
+ this.maxHeight.pixelValue = -1;
+ } else if(this.maxHeight.isRelative) {
+ this.maxHeight.pixelValue = topPositionObject.clientHeight * this.maxHeight.value / 100;
+ } else {
+ this.maxHeight.pixelValue = this.maxHeight.value;
+ }
+ },
+
+ computePosition: function(parentPositionObject, topPositionObject) {
+ if(this.posFunction) {
+ if(!this.functionApplied) {
+ this.functionApplied = true
+ try {
+ var _posRefId = (this.posReferenceId) ? "'" + this.posReferenceId + "'" : "'" + this.context.linkId + "'";
+ eval(this.posFunction + "('" + this.div.id + "', " + _posRefId + ");");
+ var a = this.div.offsetLeft;
+ var b = this.div.offsetTop;
+ if(this.div.style.left) {
+ this.posx.pixelValue = parseInt(this.div.style.left);
+ } else {
+ this.posx.pixelValue = 0;
+ }
+ if(this.div.style.top) {
+ this.posy.pixelValue = parseInt(this.div.style.top);
+ } else {
+ this.posy.pixelValue = 0;
+ }
+ } catch (e) {
+ alert('Error in calling posFunction=' + this.posFunction + ": " + e.message);
+ this.computePositionInternal(parentPositionObject, topPositionObject);
+ }
+ }
+ } else {
+ this.computePositionInternal(parentPositionObject, topPositionObject);
+ }
+ this.kick();
+ },
+
+ computePositionInternal: function(parentPositionObject, topPositionObject) {
+ if(this.posx.isRelative) {
+ this.posx.pixelValue = (topPositionObject.clientWidth * this.posx.value / 100 + topPositionObject.scrollLeft - this.width.pixelValue * this.posx.value / 100);
+ } else {
+ this.posx.pixelValue = topPositionObject.scrollLeft + this.posx.value;
+ }
+ this.div.style.left = "" + (this.posx.pixelValue + this.posx.delta) + "px";
+
+ if(this.posy.isRelative) {
+ this.posy.pixelValue = (topPositionObject.clientHeight * this.posy.value / 100 + topPositionObject.scrollTop - this.height.pixelValue * this.posy.value / 100);
+ } else {
+ this.posy.pixelValue = topPositionObject.scrollTop + this.posy.value;
+ }
+ this.div.style.top = "" + (this.posy.pixelValue + this.posy.delta) + "px";
+ this.kick();
+ },
+
+ setDefaultSize: function() {
+ if(!this.context.dialogWindow) return;
+ var parentPositionObject = this.context.parentDialogWindow.getBase();
+ var topPositionObject = this.context.topWindow.getBase();
+
+ var dw = this.width.value < 0;
+ var dh = this.height.value < 0;
+ if(!dw && !dh) return;
+ this.isSettingDefaultSize = true;
+ if(dw) {
+ this.width.value = 50;
+ this.width.isRelative = true;
+ }
+ if(dh) {
+ this.height.value = 50;
+ this.height.isRelative = false;
+ }
+ this.computeSize(parentPositionObject, topPositionObject);
+ var _d = this.context.dialogWindow.document.documentElement;
+ var _b = this.context.dialogWindow.document.body;
+ var base = (DW.isNS) ? _d :
+ (DW.isFF && _b.offsetWidth == _b.scrollWidth) ? _d
+ : _b;
+ if(dw) {
+ var a = base.offsetWidth;
+ var b = base.clientWidth;
+ var c = base.scrollWidth;
+ var res = c;
+ if(DW.isIE) {
+ res += a - b;
+ }
+ this.width.value = res;
+ this.width.isRelative = false;
+ this.computeSize(parentPositionObject, topPositionObject);
+ }
+ if(dh) {
+ this.height.value = base.scrollHeight;
+ this.computeSize(parentPositionObject, topPositionObject);
+ }
+ this.isSettingDefaultSize = false;
+
+ this.computePosition(parentPositionObject, topPositionObject);
+ this.borders.resize();
+ },
+
+ kick: function() {
+ var scr_w = this.context.dialogWindow.document.body.scrollWidth;
+ var offw = this.context.dialogWindow.document.body.offsetWidth;
+ var cl_w = this.context.dialogWindow.document.body.clientWidth;
+
+ var off_d_w = this.context.dialogWindow.document.documentElement.offsetWidth;
+ var cli_d_w = this.context.dialogWindow.document.documentElement.clientWidth;
+ var scr_d_w = this.context.dialogWindow.document.documentElement.scrollWidth;
+
+ var scr_h = this.context.dialogWindow.document.body.scrollHeight;
+ var offh = this.context.dialogWindow.document.body.offsetHeight;
+ var cl_h = this.context.dialogWindow.document.body.clientHeight;
+
+ var off_d_h = this.context.dialogWindow.document.documentElement.offsetHeight;
+ var cli_d_h = this.context.dialogWindow.document.documentElement.clientHeight;
+ var scr_d_h = this.context.dialogWindow.document.documentElement.scrollHeight;
+/*
+ alert(
+ "scrollWidth=" + this.context.dialogWindow.document.body.scrollWidth
+ + "\nde_scrollWidth=" + this.context.dialogWindow.document.documentElement.scrollWidth
+ + "\noffsetWidth=" + this.context.dialogWindow.document.body.offsetWidth
+ + "\nde_offsetWidth=" + this.context.dialogWindow.document.documentElement.offsetWidth
+ + "\nclientWidth=" + this.context.dialogWindow.document.body.clientWidth
+ + "\nde_clientWidth=" + this.context.dialogWindow.document.documentElement.clientWidth
+
+ + "scrollHeight=" + this.context.dialogWindow.document.body.scrollHeight
+ + "\nde_scrollHeight=" + this.context.dialogWindow.document.documentElement.scrollHeight
+ + "\noffsetHeight=" + this.context.dialogWindow.document.body.offsetHeight
+ + "\nde_offsetHeight=" + this.context.dialogWindow.document.documentElement.offsetHeight
+ + "\nclientHeight=" + this.context.dialogWindow.document.body.clientHeight
+ + "\nde_clientHeight=" + this.context.dialogWindow.document.documentElement.clientHeight
+
+ + "\ncw=" + this.width.pixelValue + "\n" +
+ + "agent=" + window.navigator.userAgent
+ );
+*/
+ },
+
+ destroy: function() {
+ this.borders.destroy();
+ }
+
+}
+
+DW.Unit = Class.create();
+
+DW.Unit.prototype = {
+
+ initialize: function(shape, name) {
+ this.shape = shape;
+ this.name = name;
+ this.value = 50;
+ this.isRelative = true;
+ this.pixelValue = 0;
+ this.delta = 0;
+ },
+
+ init: function(div, options) {
+ this.div = div;
+ var v = options[this.name];
+// alert(name + ":" + v);
+ if(!v) v = "50%";
+ i = v.indexOf("%");
+ if(i >= 0) {
+ this.isRelative = true;
+ v = v.substring(0, i);
+ } else {
+ this.isRelative = false;
+ }
+ this.value = parseInt(v);
+ }
+}
+
+DW.Borders = Class.create();
+
+DW.Borders.prototype = {
+ initialize: function(shape) {
+ this.shape = shape;
+ this.W = new DW.Border_W(shape);
+ this.E = new DW.Border_E(shape);
+ this.N = new DW.Border_N(shape);
+ this.S = new DW.Border_S(shape);
+ this.NW = new DW.Border_NW(shape);
+ this.NE = new DW.Border_NE(shape);
+ this.SW = new DW.Border_SW(shape);
+ this.SE = new DW.Border_SE(shape);
+ this.Move = new DW.Border_Move(shape);
+ this.all = [];
+ },
+
+ init: function(options) {
+ var _float = options._float;
+ if(_float && _float == 'false') _float = false;
+ this.shape.headerHeight = options.headerHeight;
+ var resizable = options.resizable;
+ if(resizable && resizable == 'false') resizable = false;
+
+ this.destroy();
+
+ if(!_float && !resizable) {
+ this.all = [];
+ } else if(_float && resizable) {
+ this.all = [this.W, this.N, this.E, this.S, this.NW, this.NE, this.SW, this.SE, this.Move];
+ } else if(_float) {
+ this.all = [this.Move];
+ } else {
+ this.all = [this.W, this.N, this.E, this.S, this.NW, this.NE, this.SW, this.SE ];
+ }
+
+ for (var k = 0; k < this.all.length; k++) {
+ this.all[k].init();
+ }
+ },
+
+ resize: function() {
+ var b = (!this.shape.context) ? true : false;
+ if(b || !this.shape.context.dragging) {
+ for (var k = 0; k < this.all.length; k++) {
+ this.all[k].resize();
+ }
+ }
+ },
+
+ setVisible: function(b) {
+ for (var k = 0; k < this.all.length; k++) {
+ this.all[k].setVisible(b);
+ }
+ },
+
+ destroy: function() {
+ for (var k = 0; k < this.all.length; k++) {
+ this.all[k].destroy();
+ }
+ }
+
+}
+
+DW.Border_Abstract = {
+
+ initialize: function(shape) {
+ this.shape = shape;
+ this.div = null;
+ },
+
+ init: function() {
+ var doc = this.shape.context.topWindow.document;
+
+ if(this.div && this.div.parentNode) {
+ //reuse
+ } else if(DW.isIE && this.narrow) {
+ this.div = doc.createElement("table");
+ this.div.cellSpacing = 0;
+ this.div.cellPadding = 0;
+ this.div.border = 0;
+ var b = doc.createElement("tbody");
+ var r = doc.createElement("tr");
+ this.td = doc.createElement("td");
+ Element.setStyle(this.td, {"border" : "0px" });
+ Element.setStyle(this.td, {"background-color" : "black" });
+ r.appendChild(this.td);
+ b.appendChild(r);
+ this.div.appendChild(b);
+ } else {
+ this.div = doc.createElement("div");
+ this.td = this.div;
+ }
+
+ this.div.id = this.shape.context.divId + "_" + this.getDirectionID();
+ this.div.style.position = "absolute";
+ Element.setStyle(this.div, {"z-index" : "100" });
+ Element.setStyle(this.td, {"z-index" : "100" });
+ Element.setStyle(this.div, {"cursor" : this.getCursorName() });
+ Element.setStyle(this.div, {"background-color" : "#00d000" });
+ this.div.style.filter="alpha(opacity=1)";
+ this.div.style.opacity = "0.01";
+ this.setDimensions();
+
+ doc.body.appendChild(this.div);
+ this.createDragRecognizer();
+ },
+
+ setCursor: function() {
+ Element.setStyle(this.div, {"cursor" : this.getCursorName() });
+ this.shape.context.topWindow.status = "Cursor set";
+ },
+
+ setTop: function(value) {
+ this.div.style.top = "" + value + "px";
+ },
+
+ setLeft: function(value) {
+ this.div.style.left = "" + value + "px";
+ },
+
+ setWidth: function(value) {
+ if(value < 0) value = 0;
+ this.td.style.width = "" + value + "px";
+ },
+
+ setHeight: function(value) {
+ if(value < 0) value = 0;
+ this.td.style.height = "" + value + "px";
+ },
+
+ createDragRecognizer: function() {
+ this.eventMouseDown = this.recognizeDrag.bindAsEventListener(this);
+ Event.observe(this.div, "mousedown", this.eventMouseDown);
+ this.eventMouseMove = this.drag.bindAsEventListener(this);
+ Event.observe(this.div, "mousemove", this.eventMouseMove);
+ this.eventMouseUp = this.dragEnd.bindAsEventListener(this);
+ Event.observe(this.div, "mouseup", this.eventMouseUp);
+ },
+
+ recognizeDrag: function(event) {
+ try {
+ this.shape.context.dragging = {};
+ this.x0 = event.clientX;
+ this.y0 = event.clientY;
+ this.dx = 0;
+ this.dy = 0;
+ var po = this.shape.context.topWindow.getBase();
+ this.setLeft(0);
+ this.setTop(0);
+ this.setWidth(po.scrollLeft + po.clientWidth);
+ this.setHeight(po.scrollTop + po.clientHeight);
+// this.cursor = this.shape.context.topWindow.document.body.style.cursor;
+// this.shape.context.topWindow.document.body.style.cursor = this.div.style.cursor;
+ Element.setStyle(this.div, {"z-index" : "101" });
+ Element.setStyle(this.td, {"z-index" : "101" });
+ } catch (e) {
+ alert('Error in recognizeDrag' + e.message);
+ }
+ },
+
+ drag: function(event) {
+ if(!this.shape.context.dragging) return false;
+ this.dx = event.clientX - this.x0;
+ this.dy = event.clientY - this.y0;
+ this.doDrag(event);
+ this.shape.context.filler.iterate();
+// this.setCursor();
+ },
+
+ dragEnd: function(event) {
+ if(!this.shape.context.dragging) return false;
+ this.shape.context.dragging = null;
+ this.setDimensions();
+ this.doDragEnd();
+ this.shape.context._doResize();
+ Element.setStyle(this.div, {"z-index" : "100" });
+ Element.setStyle(this.td, {"z-index" : "100" });
+// this.shape.context.topWindow.document.body.style.cursor = this.cursor;
+ },
+
+ setVisible: function(b) {
+ Element.setStyle(this.div, {"visibility" : ((b) ? "visible" : "hidden") });
+ },
+
+ destroy: function() {
+ if(this.div && this.div.parentNode) {
+ if(this.eventMouseDown) {
+ Event.stopObserving(this.div, "mousedown", this.eventMouseDown);
+ Event.stopObserving(this.div, "mousemove", this.eventMouseMove);
+ Event.stopObserving(this.div, "mouseup", this.eventMouseUp);
+ this.eventMouseDown = null;
+ this.eventMouseMove = null;
+ this.eventMouseUp = null;
+ }
+ this.div.parentNode.removeChild(this.div);
+ this.div = null;
+ }
+ },
+
+ getNewDimension: function(sx, sy) {
+ return [this.getNewWidth(sx), this.getNewHeight(sy)];
+ },
+
+ getNewWidth: function(sx) {
+ if(sx == 0) return -1;
+ var newWidth = (this.shape.width.pixelValue + this.shape.width.delta + sx * this.dx);
+ var delta = 0;
+ if(newWidth < 20) {
+ delta = 20 - newWidth;
+ } else if(this.shape.maxWidth.pixelValue > 0 && newWidth > this.shape.maxWidth.pixelValue) {
+ delta = newWidth - this.shape.maxWidth.pixelValue;
+ }
+ if(delta == 0) return newWidth;
+ this.dx += sx * delta;
+ return -1;
+ },
+
+ getNewHeight: function(sy) {
+ if(sy == 0) return -1;
+ var newHeight = (this.shape.height.pixelValue + this.shape.height.delta + sy * this.dy);
+ var delta = 0;
+ if(newHeight < 20) {
+ delta = 20 - newHeight;
+ } else if(this.shape.maxHeight.pixelValue > 0 && newHeight > this.shape.maxHeight.pixelValue) {
+ delta = newHeight - this.shape.maxHeight.pixelValue;
+ }
+ if(delta == 0) return newHeight;
+ this.dy += sy * delta;
+ return -1;
+ }
+
+}
+
+DW.Border_W = Class.create();
+
+DW.Border_W.prototype = {
+
+ getDirectionID: function() {
+ return "w";
+ },
+ getCursorName: function() {
+ return "w-resize";
+ },
+
+ setDimensions: function() {
+ this.setWidth(4);
+ },
+
+ resize : function() {
+ this.setTop(this.shape.posy.pixelValue + this.shape.posy.delta + 4);
+ this.setLeft(this.shape.posx.pixelValue + this.shape.posx.delta - 2);
+ this.setHeight(this.shape.dialogHeight - 8);
+ },
+
+ doDrag: function(event) {
+ var dim = this.getNewDimension(-1, 0);
+ if(dim[0] > 0) {
+ this.shape.div.style.width = "" + dim[0] + "px";
+ this.shape.div.style.left = "" + (this.shape.posx.pixelValue + this.shape.posx.delta + this.dx) + "px";
+ }
+ },
+
+ doDragEnd: function(event) {
+ this.shape.posx.delta += this.dx;
+ this.shape.width.delta -= this.dx;
+ }
+
+}
+
+Object.extend(DW.Border_W.prototype, DW.Border_Abstract);
+
+DW.Border_E = Class.create();
+
+DW.Border_E.prototype = {
+
+ getDirectionID: function() {
+ return "e";
+ },
+ getCursorName: function() {
+ return "e-resize";
+ },
+
+ setDimensions: function() {
+ this.setWidth(4);
+ },
+
+ resize : function() {
+ this.setTop(this.shape.posy.pixelValue + this.shape.posy.delta + 4);
+ this.setLeft(this.shape.posx.pixelValue + this.shape.posx.delta +
+ this.shape.width.pixelValue + this.shape.width.delta - 2);
+ this.setHeight(this.shape.dialogHeight - 8);
+ },
+
+ doDrag: function(event) {
+ var dim = this.getNewDimension(1, 0);
+ if(dim[0] > 0) {
+ this.shape.div.style.width = "" + dim[0] + "px";
+ }
+ },
+
+ doDragEnd: function(event) {
+ this.shape.width.delta += this.dx;
+ }
+
+}
+
+Object.extend(DW.Border_E.prototype, DW.Border_Abstract);
+
+DW.Border_N = Class.create();
+
+DW.Border_N.prototype = {
+ narrow : true,
+
+ getDirectionID: function() {
+ return "n";
+ },
+ getCursorName: function() {
+ return "n-resize";
+ },
+
+ setDimensions: function() {
+ this.setHeight(4);
+ },
+
+ resize : function() {
+ this.setTop(this.shape.posy.pixelValue + this.shape.posy.delta - 2);
+ this.setLeft(this.shape.posx.pixelValue + this.shape.posx.delta + 4);
+ this.setWidth(this.shape.dialogWidth - 8);
+ },
+
+ doDrag: function(event) {
+ var dim = this.getNewDimension(0, -1);
+ if(dim[1] > 0) {
+ this.shape.div.style.height = "" + dim[1] + "px";
+ this.shape.div.style.top = "" + (this.shape.posy.pixelValue + this.shape.posy.delta + this.dy) + "px";
+ }
+ },
+
+ doDragEnd: function(event) {
+ this.shape.posy.delta += this.dy;
+ this.shape.height.delta -= this.dy;
+ }
+
+}
+
+Object.extend(DW.Border_N.prototype, DW.Border_Abstract);
+
+DW.Border_S = Class.create();
+
+DW.Border_S.prototype = {
+ narrow : true,
+
+ getDirectionID: function() {
+ return "s";
+ },
+ getCursorName: function() {
+ return "s-resize";
+ },
+
+ setDimensions: function() {
+ this.setHeight(4);
+ },
+
+ resize : function() {
+ this.setTop(this.shape.posy.pixelValue + this.shape.posy.delta +
+ this.shape.height.pixelValue + this.shape.height.delta - 2);
+ this.setLeft(this.shape.posx.pixelValue + this.shape.posx.delta + 4);
+ this.setWidth(this.shape.dialogWidth - 8);
+ },
+
+ doDrag: function(event) {
+ var dim = this.getNewDimension(0, 1);
+ if(dim[1] > 0) {
+ this.shape.div.style.height = "" + dim[1] + "px";
+ }
+ },
+
+ doDragEnd: function(event) {
+ this.shape.height.delta += this.dy;
+ }
+
+}
+
+Object.extend(DW.Border_S.prototype, DW.Border_Abstract);
+
+DW.Border_NW = Class.create();
+
+DW.Border_NW.prototype = {
+
+ getDirectionID: function() {
+ return "nw";
+ },
+ getCursorName: function() {
+ return "nw-resize";
+ },
+
+ setDimensions: function() {
+ this.setWidth(8);
+ this.setHeight(8);
+ },
+
+ resize : function() {
+ this.setTop(this.shape.posy.pixelValue + this.shape.posy.delta - 2);
+ this.setLeft(this.shape.posx.pixelValue + this.shape.posx.delta - 2);
+ },
+
+ doDrag: function(event) {
+ var dim = this.getNewDimension(-1, -1);
+ if(dim[1] > 0) {
+ this.shape.div.style.height = "" + dim[1] + "px";
+ this.shape.div.style.top = "" + (this.shape.posy.pixelValue + this.shape.posy.delta + this.dy) + "px";
+ }
+ if(dim[0] > 0) {
+ this.shape.div.style.width = "" + dim[0] + "px";
+ this.shape.div.style.left = "" + (this.shape.posx.pixelValue + this.shape.posx.delta + this.dx) + "px";
+ }
+ },
+
+ doDragEnd: function(event) {
+ this.shape.posy.delta += this.dy;
+ this.shape.height.delta -= this.dy;
+ this.shape.posx.delta += this.dx;
+ this.shape.width.delta -= this.dx;
+ }
+
+}
+
+Object.extend(DW.Border_NW.prototype, DW.Border_Abstract);
+
+DW.Border_NE = Class.create();
+
+DW.Border_NE.prototype = {
+
+ getDirectionID: function() {
+ return "ne";
+ },
+ getCursorName: function() {
+ return "ne-resize";
+ },
+
+ setDimensions: function() {
+ this.setWidth(8);
+ this.setHeight(8);
+ },
+
+ resize : function() {
+ this.setTop(this.shape.posy.pixelValue + this.shape.posy.delta - 2);
+ this.setLeft(this.shape.posx.pixelValue + this.shape.posx.delta +
+ this.shape.width.pixelValue + this.shape.width.delta - 6);
+ },
+
+ doDrag: function(event) {
+ var dim = this.getNewDimension(1, -1);
+ if(dim[1] > 0) {
+ this.shape.div.style.height = "" + dim[1] + "px";
+ this.shape.div.style.top = "" + (this.shape.posy.pixelValue + this.shape.posy.delta + this.dy) + "px";
+ }
+ if(dim[0] > 0) {
+ this.shape.div.style.width = "" + dim[0] + "px";
+ }
+ },
+
+ doDragEnd: function(event) {
+ this.shape.posy.delta += this.dy;
+ this.shape.height.delta -= this.dy;
+ this.shape.width.delta += this.dx;
+ }
+
+}
+
+Object.extend(DW.Border_NE.prototype, DW.Border_Abstract);
+
+DW.Border_SW = Class.create();
+
+DW.Border_SW.prototype = {
+ narrow : true,
+
+ getDirectionID: function() {
+ return "sw";
+ },
+ getCursorName: function() {
+ return "sw-resize";
+ },
+
+ setDimensions: function() {
+ this.setWidth(8);
+ this.setHeight(8);
+ },
+
+ resize : function() {
+ this.setTop(this.shape.posy.pixelValue + this.shape.posy.delta +
+ this.shape.height.pixelValue + this.shape.height.delta - 6);
+ this.setLeft(this.shape.posx.pixelValue + this.shape.posx.delta - 2);
+ },
+
+ doDrag: function(event) {
+ var dim = this.getNewDimension(-1, 1);
+ if(dim[1] > 0) {
+ this.shape.div.style.height = "" + dim[1] + "px";
+ }
+ if(dim[0] > 0) {
+ this.shape.div.style.width = "" + dim[0] + "px";
+ this.shape.div.style.left = "" + (this.shape.posx.pixelValue + this.shape.posx.delta + this.dx) + "px";
+ }
+ },
+
+ doDragEnd: function(event) {
+ this.shape.height.delta += this.dy;
+ this.shape.posx.delta += this.dx;
+ this.shape.width.delta -= this.dx;
+ }
+
+}
+
+Object.extend(DW.Border_SW.prototype, DW.Border_Abstract);
+
+DW.Border_SE = Class.create();
+
+DW.Border_SE.prototype = {
+ narrow : true,
+
+ getDirectionID: function() {
+ return "se";
+ },
+ getCursorName: function() {
+ return "se-resize";
+ },
+
+ setDimensions: function() {
+ this.setWidth(8);
+ this.setHeight(8);
+ },
+
+ resize : function() {
+ this.setTop(this.shape.posy.pixelValue + this.shape.posy.delta +
+ this.shape.height.pixelValue + this.shape.height.delta - 6);
+ this.setLeft(this.shape.posx.pixelValue + this.shape.posx.delta +
+ this.shape.width.pixelValue + this.shape.width.delta - 6);
+ },
+
+ doDrag: function(event) {
+ var dim = this.getNewDimension(1, 1);
+ if(dim[1] > 0) {
+ this.shape.div.style.height = "" + dim[1] + "px";
+ }
+ if(dim[0] > 0) {
+ this.shape.div.style.width = "" + dim[0] + "px";
+ }
+ },
+
+ doDragEnd: function(event) {
+ this.shape.height.delta += this.dy;
+ this.shape.width.delta += this.dx;
+ }
+
+}
+
+Object.extend(DW.Border_SE.prototype, DW.Border_Abstract);
+
+
+DW.Border_Move = Class.create();
+
+DW.Border_Move.prototype = {
+
+ getDirectionID: function() {
+ return "m";
+ },
+ getCursorName: function() {
+ return "move";
+ },
+
+ setDimensions: function() {
+ try {
+ this.td.style.height = this.shape.headerHeight;
+ } catch (e) {
+ alert("Invalid headerHeight: " + this.shape.headerHeight);
+ this.shape.headerHeight = "16px";
+ this.td.style.height = this.shape.headerHeight;
+ }
+ },
+
+ resize : function() {
+ this.setTop(this.shape.posy.pixelValue + this.shape.posy.delta + 4);
+ this.setLeft(this.shape.posx.pixelValue + this.shape.posx.delta + 4);
+ this.setWidth(this.shape.dialogWidth - 8);
+ },
+
+ doDrag: function(event) {
+ this.shape.div.style.left = "" + (this.shape.posx.pixelValue + this.shape.posx.delta + this.dx) + "px";
+ this.shape.div.style.top = "" + (this.shape.posy.pixelValue + this.shape.posy.delta + this.dy) + "px";
+ },
+
+ doDragEnd: function(event) {
+ this.shape.posx.delta += this.dx;
+ this.shape.posy.delta += this.dy;
+ }
+
+}
+
+Object.extend(DW.Border_Move.prototype, DW.Border_Abstract);
+
+
+DW.Filler = Class.create();
+
+DW.Filler.prototype = {
+ initialize: function(context) {
+ this.context = context;
+ this.ok = false;
+ },
+
+ onLoad: function() {
+ var w = this.context.dialogWindow;
+ if(!w || !w.document.getElementsByClassName) return;
+ this.fillers = w.document.getElementsByClassName('filler');
+ if(!this.fillers) return;
+ if(this.fillers.length == 0) return;
+ },
+
+ enable: function() {
+ this.ok = true;
+ },
+
+ iterate: function() {
+ if(!this.ok) return;
+ this.context.shape.kick();
+ var delta = this.getDelta();
+ var iterations = 0;
+ while(delta != 0 && iterations < 20) {
+ this.apply(delta);
+ this.context.shape.kick();
+ var d = this.getDelta();
+ if(d == delta) break;
+ delta = d;
+ iterations++;
+ }
+ },
+
+ getDelta: function() {
+ var w = this.context.dialogWindow;
+ var a = w.document.body.offsetHeight;
+ var b = w.document.body.clientHeight;
+ var c = w.document.body.scrollHeight;
+ var wH = this.context.iframe.clientHeight;
+ var sH = 0;
+ if(DW.isIE) {
+ sH = c + (a - b); //IE
+ } else if(b > a) {
+ sH = a; //FF
+ } else {
+ sH = c; //IE & NS
+ }
+ if(sH == 0) sH = c;
+
+ return (wH - sH);
+ },
+
+ apply: function(delta) {
+ var l = this.fillers.length;
+ for (var k = 0; k < l; k++) {
+ var delta_k = delta / l;
+ var v = this.fillers[k].offsetHeight;
+ if(v == 0) {
+ try {
+ var v0 = parseInt(this.fillers[k].style.height);
+ if(v0) v = v0;
+ } catch (e) {
+ }
+ }
+ if(v + delta_k < 0) delta_k = -v;
+ v += delta_k;
+ Element.setStyle(this.fillers[k], { "height" : "" + v + "px" });
+ }
+ }
+
+}
+
+DW.showJustBelowAndCentered = function(dialogId, referenceId) {
+ var dialog = $(dialogId);
+ if(!dialog) return;
+ var reference = (!referenceId) ? dialog : $(referenceId);
+ if(!reference) reference = dialog;
+ var pos = Position.cumulativeOffset(reference);
+ var referenceLeft = pos[0];
+ var referenceTop = pos[1];
+ var top = referenceTop + reference.offsetHeight;
+ var left = referenceLeft - (dialog.offsetWidth - reference.offsetWidth) / 2;
+
+ dialog.style.left = "" + left + "px";
+ dialog.style.top = "" + top + "px";
+}
+
+DW.getDialogContext = function() {
+ return thisDialogContext;
+}
+
+function disableDocumentFocusElements(id){
+ //this function removes all links and inputs from tabbing navigation
+ //if element have tabindex it value saves in component
+ var links = document.links;
+ var forms = document.forms;
+ if(links)
+ for (var i=0; i<links.length; i++)
+ if(!this.isInMP(links[i],id)){
+ if (links[i].tabIndex)
+ links[i].prevTabIndex = document.links[i].tabIndex;
+ links[i].tabIndex = -1;
+ }
+ if (forms)
+ for (var i=0; i<forms.length; i++)
+ for (var j=0; j<forms[i].length; j++)
+ if(!this.isInMP(forms[i][j],id)){
+ if (forms[i][j].tabIndex)
+ forms[i][j].prevTabIndex = forms[i][j].tabIndex;
+ forms[i][j].tabIndex = -1;
+ }
+}
+
+function enableDocumentFocusElements(id){
+ //this function restores state of elements tabindex
+ var links = top.document.links;
+ var forms = top.document.forms;
+ if(links)
+ for (var i=0; i<links.length; i++)
+ if(!this.isInMP(links[i],id))
+ if (links[i].prevTabIndex)
+ links[i].tabIndex = links[i].prevTabIndex;
+ else
+ links[i].tabIndex = 0;
+ if (forms)
+ for (var i=0; i<document.forms.length; i++)
+ for (var j=0; j<document.forms[i].length; j++)
+ if(!this.isInMP(document.forms[i][j],id))
+ if (forms[i][j].prevTabIndex)
+ forms[i][j].tabIndex = forms[i][j].prevTabIndex;
+ else
+ forms[i][j].tabIndex = 0;
+}
+
+function isInMP (elem,id){
+ while (elem.parentNode.tagName.toLowerCase() != "body")
+ if (elem.parentNode.id == id)
+ return true;
+ else
+ elem = elem.parentNode;
+ return false;
+}
\ No newline at end of file
Added: trunk/sandbox/ui/dialog-window/src/main/resources/org/richfaces/renderkit/style/dialog-window.css
===================================================================
--- trunk/sandbox/ui/dialog-window/src/main/resources/org/richfaces/renderkit/style/dialog-window.css (rev 0)
+++ trunk/sandbox/ui/dialog-window/src/main/resources/org/richfaces/renderkit/style/dialog-window.css 2007-09-15 00:10:06 UTC (rev 2949)
@@ -0,0 +1,7 @@
+.filler {
+ width:0px;
+ height:0px;
+ border:0px;
+ padding:0px 0px 0px 0px;
+ margin:0px 0px 0px 0px;
+}
\ No newline at end of file
Property changes on: trunk/sandbox/ui/dialog-window/src/main/resources/org/richfaces/renderkit/style/dialog-window.css
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: trunk/sandbox/ui/dialog-window/src/main/resources/org/richfaces/renderkit/style/tmp
===================================================================
Added: trunk/sandbox/ui/dialog-window/src/main/templates/dialog-button.xhtml
===================================================================
--- trunk/sandbox/ui/dialog-window/src/main/templates/dialog-button.xhtml (rev 0)
+++ trunk/sandbox/ui/dialog-window/src/main/templates/dialog-button.xhtml 2007-09-15 00:10:06 UTC (rev 2949)
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<f:root xmlns:f="http://jsf.exadel.com/template"
+ xmlns:c="http://java.sun.com/jsf/core"
+ xmlns:ui="http://jsf.exadel.com/ui"
+ xmlns:vcp="http://jsf.exadel.com/vcp"
+ xmlns:u="http://jsf.exadel.com/util"
+ xmlns:x="http://jsf.exadel.com/mock"
+ baseclass="org.richfaces.renderkit.DialogButtonRenderer"
+ class="org.richfaces.renderkit.DialogButtonTemplate"
+ component="org.richfaces.component.UIDialogButton">
+
+ <f:clientId var="clientId" />
+
+ <button id="#{clientId}"
+ dir="#{component.attributes['dir']}"
+ lang="#{component.attributes['lang']}"
+ title="#{component.attributes['title']}"
+ style="#{component.attributes['style']}"
+ class="#{component.attributes['styleClass']}"
+ onblur="#{component.attributes['onblur']}"
+ ondblclick="#{component.attributes['ondblclick']}"
+ onfocus="#{component.attributes['onfocus']}"
+ onmousedown="#{component.attributes['onmousedown']}"
+ onmouseup="#{component.attributes['onmouseup']}"
+ onmouseover="#{component.attributes['onmouseover']}"
+ onmousemove="#{component.attributes['onmousemove']}"
+ onmouseout="#{component.attributes['onmouseout']}"
+ onkeypress="#{component.attributes['onkeypress']}"
+ onkeydown="#{component.attributes['onkeydown']}"
+ onkeyup="#{component.attributes['onkeyup']}"
+ accesskey="#{component.attributes['accesskey']}"
+ tabindex="#{component.attributes['tabindex']}"
+ onclick="#{this:getOnClick(context,component)}"
+ >#{component.attributes['value']}<vcp:body/></button>
+</f:root>
\ No newline at end of file
Property changes on: trunk/sandbox/ui/dialog-window/src/main/templates/dialog-button.xhtml
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: trunk/sandbox/ui/dialog-window/src/main/templates/dialog-close-button.xhtml
===================================================================
--- trunk/sandbox/ui/dialog-window/src/main/templates/dialog-close-button.xhtml (rev 0)
+++ trunk/sandbox/ui/dialog-window/src/main/templates/dialog-close-button.xhtml 2007-09-15 00:10:06 UTC (rev 2949)
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<f:root xmlns:f="http://jsf.exadel.com/template"
+ xmlns:c="http://java.sun.com/jsf/core"
+ xmlns:ui="http://jsf.exadel.com/ui"
+ xmlns:vcp="http://jsf.exadel.com/vcp"
+ xmlns:u="http://jsf.exadel.com/util"
+ xmlns:x="http://jsf.exadel.com/mock"
+ baseclass="org.richfaces.renderkit.DialogCloseRenderer"
+ class="org.richfaces.renderkit.DialogCloseButtonTemplate"
+ component="org.richfaces.component.UIDialogCloseButton">
+<f:clientid var="clientId"/>
+<span id="#{clientId}">
+ <button href="#" style="#{component.attributes['style']}"
+ class="#{component.attributes['styleClass']}"
+ onclick="#{this:getOnClick(context,component)}"
+ >
+ <f:call name="utils.encodePassThruWithExclusions">
+ <f:parameter value="onclick"/>
+ </f:call>
+ #{component.attributes['value']}<vcp:body/>
+ <script>#{this:getRegistration(context,component)}</script>
+ </button>
+</span>
+</f:root>
Property changes on: trunk/sandbox/ui/dialog-window/src/main/templates/dialog-close-button.xhtml
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: trunk/sandbox/ui/dialog-window/src/main/templates/dialog-close.xhtml
===================================================================
--- trunk/sandbox/ui/dialog-window/src/main/templates/dialog-close.xhtml (rev 0)
+++ trunk/sandbox/ui/dialog-window/src/main/templates/dialog-close.xhtml 2007-09-15 00:10:06 UTC (rev 2949)
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<f:root xmlns:f="http://jsf.exadel.com/template"
+ xmlns:c="http://java.sun.com/jsf/core"
+ xmlns:ui="http://jsf.exadel.com/ui"
+ xmlns:vcp="http://jsf.exadel.com/vcp"
+ xmlns:u="http://jsf.exadel.com/util"
+ xmlns:x="http://jsf.exadel.com/mock"
+ baseclass="org.richfaces.renderkit.DialogCloseRenderer"
+ class="org.richfaces.renderkit.DialogCloseTemplate"
+ component="org.richfaces.component.UIDialogClose">
+ <f:clientid var="clientId"/>
+ <span id="#{clientId}">
+ <a href="#" style="#{component.attributes['style']}"
+ class="#{component.attributes['styleClass']}"
+ onclick="#{this:getOnClick(context,component)}"
+ >
+ <f:call name="utils.encodePassThruWithExclusions">
+ <f:parameter value="onclick"/>
+ </f:call>
+ #{component.attributes['value']}<vcp:body/>
+ </a>
+ <script>#{this:getRegistration(context,component)}</script>
+ </span>
+</f:root>
\ No newline at end of file
Property changes on: trunk/sandbox/ui/dialog-window/src/main/templates/dialog-close.xhtml
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: trunk/sandbox/ui/dialog-window/src/main/templates/dialog-link.xhtml
===================================================================
--- trunk/sandbox/ui/dialog-window/src/main/templates/dialog-link.xhtml (rev 0)
+++ trunk/sandbox/ui/dialog-window/src/main/templates/dialog-link.xhtml 2007-09-15 00:10:06 UTC (rev 2949)
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<f:root xmlns:f="http://jsf.exadel.com/template"
+ xmlns:c="http://java.sun.com/jsf/core"
+ xmlns:ui="http://jsf.exadel.com/ui"
+ xmlns:vcp="http://jsf.exadel.com/vcp"
+ xmlns:u="http://jsf.exadel.com/util"
+ xmlns:x="http://jsf.exadel.com/mock"
+ baseclass="org.richfaces.renderkit.DialogLinkRenderer"
+ class="org.richfaces.renderkit.DialogLinkTemplate"
+ component="org.richfaces.component.UIDialogLink">
+
+ <f:clientid var="clientId"/>
+
+ <a href="#" id="#{clientId}" style="#{component.attributes['style']}"
+ class="#{component.attributes['styleClass']}"
+ onclick="#{this:getOnClick(context,component)}"
+ >
+ <f:call name="utils.encodePassThruWithExclusions">
+ <f:parameter value="onclick"/>
+ </f:call>
+ #{component.attributes['value']}<vcp:body/>
+ </a>
+</f:root>
\ No newline at end of file
Property changes on: trunk/sandbox/ui/dialog-window/src/main/templates/dialog-link.xhtml
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: trunk/sandbox/ui/dialog-window/src/main/templates/dialog-vertical-filler.xhtml
===================================================================
--- trunk/sandbox/ui/dialog-window/src/main/templates/dialog-vertical-filler.xhtml (rev 0)
+++ trunk/sandbox/ui/dialog-window/src/main/templates/dialog-vertical-filler.xhtml 2007-09-15 00:10:06 UTC (rev 2949)
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<f:root xmlns:f="http://jsf.exadel.com/template"
+ xmlns:c="http://java.sun.com/jsf/core"
+ xmlns:ui="http://jsf.exadel.com/ui"
+ xmlns:vcp="http://jsf.exadel.com/vcp"
+ xmlns:u="http://jsf.exadel.com/util"
+ xmlns:x="http://jsf.exadel.com/mock"
+ baseclass="org.richfaces.renderkit.DialogVerticalFillerRenderer"
+ class="org.richfaces.renderkit.DialogVerticalFillerTemplate"
+ component="org.richfaces.component.UIDialogVerticalFiller">
+
+ <f:clientid var="clientId"/>
+ <table border="0px" cellspacing="0" cellpadding="0" style="background-color: black;">
+ <tbody>
+ <tr>
+ <td class="filler #{component.attributes['styleClass']}"
+ style="#{component.attributes['style']}"
+ id="#{clientId}"/>
+ </tr>
+ </tbody>
+ </table>
+</f:root>
\ No newline at end of file
Property changes on: trunk/sandbox/ui/dialog-window/src/main/templates/dialog-vertical-filler.xhtml
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: trunk/sandbox/ui/dialog-window/src/main/templates/dialog-window-button.xhtml
===================================================================
--- trunk/sandbox/ui/dialog-window/src/main/templates/dialog-window-button.xhtml (rev 0)
+++ trunk/sandbox/ui/dialog-window/src/main/templates/dialog-window-button.xhtml 2007-09-15 00:10:06 UTC (rev 2949)
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<f:root xmlns:f="http://jsf.exadel.com/template"
+ xmlns:c="http://java.sun.com/jsf/core"
+ xmlns:ui="http://jsf.exadel.com/ui"
+ xmlns:vcp="http://jsf.exadel.com/vcp"
+ xmlns:u="http://jsf.exadel.com/util"
+ xmlns:x="http://jsf.exadel.com/mock"
+ baseclass="org.richfaces.renderkit.DialogWindowRenderer"
+ class="org.richfaces.renderkit.DialogWindowButtonTemplate"
+ component="org.richfaces.component.UIDialogWindowButton">
+
+ <f:clientid var="clientId"/>
+<span id="#{clientId}">
+ <button href="#" id="#{this:getLinkID(context,component)}"
+ style="#{component.attributes['style']}"
+ class="#{component.attributes['styleClass']}"
+ oncomplete="#{component.attributes['oncomplete']}"
+ onclick="#{this:getOnClick(context,component)}"
+ >
+ <f:call name="utils.encodePassThruWithExclusions">
+ <f:parameter value="onclick"/>
+ </f:call>
+ #{component.attributes['value']}<vcp:body/>
+ </button>
+ <script type="text/javascript">#{this:getDialogBox(context,component)}</script>
+</span>
+</f:root>
\ No newline at end of file
Property changes on: trunk/sandbox/ui/dialog-window/src/main/templates/dialog-window-button.xhtml
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: trunk/sandbox/ui/dialog-window/src/main/templates/dialog-window-output-link.xhtml
===================================================================
--- trunk/sandbox/ui/dialog-window/src/main/templates/dialog-window-output-link.xhtml (rev 0)
+++ trunk/sandbox/ui/dialog-window/src/main/templates/dialog-window-output-link.xhtml 2007-09-15 00:10:06 UTC (rev 2949)
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<f:root xmlns:f="http://jsf.exadel.com/template"
+ xmlns:c="http://java.sun.com/jsf/core"
+ xmlns:ui="http://jsf.exadel.com/ui"
+ xmlns:vcp="http://jsf.exadel.com/vcp"
+ xmlns:u="http://jsf.exadel.com/util"
+ xmlns:x="http://jsf.exadel.com/mock"
+ baseclass="org.richfaces.renderkit.DialogWindowOutputLinkRenderer"
+ class="org.richfaces.renderkit.DialogWindowOutputLinkTemplate"
+ component="org.richfaces.component.UIDialogWindowOutputLink">
+
+ <f:clientid var="clientId"/>
+<span id="#{clientId}">
+ <a href="#" id="#{this:getLinkID(context,component)}"
+ style="#{component.attributes['style']}"
+ class="#{component.attributes['styleClass']}"
+ oncomplete="#{component.attributes['oncomplete']}"
+ onclick="#{this:getOnClick(context,component)}"
+ value="#{component.attributes['value']}"
+ >
+ <f:call name="utils.encodePassThruWithExclusions">
+ <f:parameter value="onclick"/>
+ </f:call>
+ <vcp:body/>
+ </a>
+ <script type="text/javascript">#{this:getDialogBox(context,component)}</script>
+</span>
+</f:root>
\ No newline at end of file
Property changes on: trunk/sandbox/ui/dialog-window/src/main/templates/dialog-window-output-link.xhtml
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: trunk/sandbox/ui/dialog-window/src/main/templates/dialog-window.xhtml
===================================================================
--- trunk/sandbox/ui/dialog-window/src/main/templates/dialog-window.xhtml (rev 0)
+++ trunk/sandbox/ui/dialog-window/src/main/templates/dialog-window.xhtml 2007-09-15 00:10:06 UTC (rev 2949)
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<f:root xmlns:f="http://jsf.exadel.com/template"
+ xmlns:c=" http://java.sun.com/jsf/core"
+ xmlns:ui=" http://jsf.exadel.com/ui"
+ xmlns:vcp=" http://jsf.exadel.com/vcp"
+ xmlns:u=" http://jsf.exadel.com/vcp"
+ xmlns:x=" http://jsf.exadel.com/vcp"
+ baseclass="org.richfaces.renderkit.DialogWindowRenderer"
+ class="org.richfaces.renderkit.DialogWindowTemplate"
+ component="org.richfaces.component.UIDialogWindow">
+
+ <f:clientid var="clientId"/>
+<span id="#{clientId}">
+ <a href="#" id="#{this:getLinkID(context,component)}"
+ style="#{component.attributes['style']}"
+ class="#{component.attributes['styleClass']}"
+ oncomplete="#{component.attributes['oncomplete']}"
+ onclick="#{this:getOnClick(context,component)}"
+ oncontextmenu="return false;"
+ >
+ <f:call name="utils.encodePassThruWithExclusions">
+ <f:parameter value="onclick,oncontextmenu"/>
+ </f:call>
+ #{component.attributes['value']}<vcp:body/>
+ </a>
+ <script type="text/javascript">#{this:getDialogBox(context,component)}</script>
+</span>
+</f:root>
\ No newline at end of file
Property changes on: trunk/sandbox/ui/dialog-window/src/main/templates/dialog-window.xhtml
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: trunk/sandbox/ui/dialog-window/src/test/java/package.html
===================================================================
--- trunk/sandbox/ui/dialog-window/src/test/java/package.html (rev 0)
+++ trunk/sandbox/ui/dialog-window/src/test/java/package.html 2007-09-15 00:10:06 UTC (rev 2949)
@@ -0,0 +1,9 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=Cp1251"/>
+<title>Package description</title>
+</head>
+<body>
+</body>
+</html>
\ No newline at end of file
Property changes on: trunk/sandbox/ui/dialog-window/src/test/java/package.html
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Modified: trunk/test-applications/facelets/pom.xml
===================================================================
--- trunk/test-applications/facelets/pom.xml 2007-09-14 17:58:30 UTC (rev 2948)
+++ trunk/test-applications/facelets/pom.xml 2007-09-15 00:10:06 UTC (rev 2949)
@@ -2,7 +2,7 @@
<parent>
<artifactId>test-applications</artifactId>
<groupId>org.richfaces</groupId>
- <version>3.1.0-SNAPSHOT</version>
+ <version>3.1.1-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
Modified: trunk/test-applications/jsp/pom.xml
===================================================================
--- trunk/test-applications/jsp/pom.xml 2007-09-14 17:58:30 UTC (rev 2948)
+++ trunk/test-applications/jsp/pom.xml 2007-09-15 00:10:06 UTC (rev 2949)
@@ -2,7 +2,7 @@
<parent>
<artifactId>test-applications</artifactId>
<groupId>org.richfaces</groupId>
- <version>3.1.0-SNAPSHOT</version>
+ <version>3.1.1-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
Modified: trunk/test-applications/pom.xml
===================================================================
--- trunk/test-applications/pom.xml 2007-09-14 17:58:30 UTC (rev 2948)
+++ trunk/test-applications/pom.xml 2007-09-15 00:10:06 UTC (rev 2949)
@@ -2,7 +2,7 @@
<parent>
<artifactId>samples</artifactId>
<groupId>org.richfaces</groupId>
- <version>3.1.0-SNAPSHOT</version>
+ <version>3.1.1-SNAPSHOT</version>
<relativePath>../samples</relativePath>
</parent>
@@ -43,11 +43,11 @@
<groupId>org.richfaces</groupId>
<artifactId>test-applications</artifactId>
<packaging>pom</packaging>
- <version>3.1.0-SNAPSHOT</version>
+ <version>3.1.1-SNAPSHOT</version>
<name>RichFaces Test Applications</name>
<properties>
- <rfVersion>3.1.0-SNAPSHOT</rfVersion>
+ <rfVersion>3.1.1-SNAPSHOT</rfVersion>
</properties>
<modules>
Modified: trunk/ui/dataTable/pom.xml
===================================================================
--- trunk/ui/dataTable/pom.xml 2007-09-14 17:58:30 UTC (rev 2948)
+++ trunk/ui/dataTable/pom.xml 2007-09-15 00:10:06 UTC (rev 2949)
@@ -45,7 +45,7 @@
<dependency>
<groupId>org.richfaces.ui</groupId>
<artifactId>richfaces-ui-core</artifactId>
- <version>3.1.0-SNAPSHOT</version>
+ <version>3.1.1-SNAPSHOT</version>
</dependency>
-->
</dependencies>
Modified: trunk/ui/drag-drop/pom.xml
===================================================================
--- trunk/ui/drag-drop/pom.xml 2007-09-14 17:58:30 UTC (rev 2948)
+++ trunk/ui/drag-drop/pom.xml 2007-09-15 00:10:06 UTC (rev 2949)
@@ -45,7 +45,7 @@
<dependency>
<groupId>org.richfaces.ui</groupId>
<artifactId>richfaces-ui-core</artifactId>
- <version>3.1.0-SNAPSHOT</version>
+ <version>3.1.1-SNAPSHOT</version>
</dependency>
-->
</dependencies>
Added: trunk/ui/dropdown-menu/src/main/config/resources/resources-config.xml
===================================================================
--- trunk/ui/dropdown-menu/src/main/config/resources/resources-config.xml (rev 0)
+++ trunk/ui/dropdown-menu/src/main/config/resources/resources-config.xml 2007-09-15 00:10:06 UTC (rev 2949)
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<resource-config>
+<!-- Menu list background -->
+
+
+ <resource class="org.richfaces.renderkit.html.images.background.MenuListBackground">
+ <name>org.richfaces.renderkit.html.images.background.MenuListBackground</name>
+ </resource>
+</resource-config>
Property changes on: trunk/ui/dropdown-menu/src/main/config/resources/resources-config.xml
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Name: svn:keywords
+ Date Revision Author
More information about the richfaces-svn-commits
mailing list