JBoss Rich Faces SVN: r17837 - in root/tests/metamer/trunk: src/main/webapp/components/richDataScroller and 1 other directory.
by richfaces-svn-commits@lists.jboss.org
Author: lfryc(a)redhat.com
Date: 2010-07-10 15:12:51 -0400 (Sat, 10 Jul 2010)
New Revision: 17837
Modified:
root/tests/metamer/trunk/pom.xml
root/tests/metamer/trunk/src/main/webapp/components/richDataScroller/simple.xhtml
Log:
https://jira.jboss.org/browse/RFPL-466
* refactoring because componentControl moved to another taglib
Modified: root/tests/metamer/trunk/pom.xml
===================================================================
--- root/tests/metamer/trunk/pom.xml 2010-07-10 19:12:18 UTC (rev 17836)
+++ root/tests/metamer/trunk/pom.xml 2010-07-10 19:12:51 UTC (rev 17837)
@@ -98,11 +98,7 @@
<groupId>org.richfaces.ui.iteration</groupId>
<artifactId>richfaces-ui-iteration-ui</artifactId>
</dependency>
- <dependency>
- <groupId>org.richfaces.ui.misc</groupId>
- <artifactId>componentcontrol-ui</artifactId>
- </dependency>
-
+
<!-- Java Server Faces 2 -->
<dependency>
<groupId>${jsf2.api.groupid}</groupId>
@@ -142,7 +138,6 @@
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
- <version>1.5.8</version>
</dependency>
<dependency>
<groupId>log4j</groupId>
@@ -157,13 +152,6 @@
<scope>test</scope>
</dependency>
- <dependency>
- <groupId>joda-time</groupId>
- <artifactId>joda-time</artifactId>
- <version>1.6</version>
- <type>jar</type>
- </dependency>
-
<!--<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-validator</artifactId>
@@ -400,3 +388,4 @@
</project>
+
Modified: root/tests/metamer/trunk/src/main/webapp/components/richDataScroller/simple.xhtml
===================================================================
--- root/tests/metamer/trunk/src/main/webapp/components/richDataScroller/simple.xhtml 2010-07-10 19:12:18 UTC (rev 17836)
+++ root/tests/metamer/trunk/src/main/webapp/components/richDataScroller/simple.xhtml 2010-07-10 19:12:51 UTC (rev 17837)
@@ -24,7 +24,7 @@
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:h="http://java.sun.com/jsf/html" xmlns:f="http://java.sun.com/jsf/core"
xmlns:ui="http://java.sun.com/jsf/facelets" xmlns:a4j="http://richfaces.org/a4j"
xmlns:ta="http://java.sun.com/jsf/composite/testapp" xmlns:it="http://richfaces.org/iteration"
- xmlns:cc="http://richfaces.org/componentControl" xmlns:rich="http://richfaces.org/rich">
+ xmlns:rich="http://richfaces.org/rich">
<ui:composition template="/templates/template.xhtml">
@@ -39,6 +39,7 @@
<ui:define name="outOfTemplateBefore">
<br/>
+
<h:outputText value="Show data in table: " />
<h:selectBooleanCheckbox value="#{richDataScrollerBean.state}">
<a4j:ajax render="richDataTable scroller1"/>
@@ -131,45 +132,45 @@
<ui:define name="outOfTemplateAfter">
<fieldset><legend>JavaScript API - scroller1</legend>
<h:commandButton value="«« first">
- <cc:componentControl event="click" target="scroller1" operation="switchToPage">
+ <rich:componentControl event="click" target="scroller1" operation="switchToPage">
<f:param value="first" />
- </cc:componentControl>
+ </rich:componentControl>
</h:commandButton>
<h:commandButton value="« previous">
- <cc:componentControl event="click" target="scroller1" operation="switchToPage">
+ <rich:componentControl event="click" target="scroller1" operation="switchToPage">
<f:param value="fastrewind" />
- </cc:componentControl>
+ </rich:componentControl>
</h:commandButton>
<h:commandButton value="next »">
- <cc:componentControl event="click" target="scroller1" operation="switchToPage">
+ <rich:componentControl event="click" target="scroller1" operation="switchToPage">
<f:param value="fastforward" />
- </cc:componentControl>
+ </rich:componentControl>
</h:commandButton>
<h:commandButton value="last »»">
- <cc:componentControl event="click" target="scroller1" operation="switchToPage">
+ <rich:componentControl event="click" target="scroller1" operation="switchToPage">
<f:param value="last" />
- </cc:componentControl>
+ </rich:componentControl>
</h:commandButton>
<br/>
<h:commandButton value="«« first">
- <cc:componentControl event="click" target="scroller1" operation="first" />
+ <rich:componentControl event="click" target="scroller1" operation="first" />
</h:commandButton>
<h:commandButton value="« previous">
- <cc:componentControl event="click" target="scroller1" operation="previous" />
+ <rich:componentControl event="click" target="scroller1" operation="previous" />
</h:commandButton>
<h:commandButton value="next »">
- <cc:componentControl event="click" target="scroller1" operation="next" />
+ <rich:componentControl event="click" target="scroller1" operation="next" />
</h:commandButton>
<h:commandButton value="last »»">
- <cc:componentControl event="click" target="scroller1" operation="last" />
+ <rich:componentControl event="click" target="scroller1" operation="last" />
</h:commandButton>
</fieldset>
@@ -177,45 +178,45 @@
<fieldset><legend>JavaScript API - scroller2</legend>
<h:commandButton value="«« first">
- <cc:componentControl event="click" target="scroller2" operation="switchToPage">
+ <rich:componentControl event="click" target="scroller2" operation="switchToPage">
<f:param value="first" />
- </cc:componentControl>
+ </rich:componentControl>
</h:commandButton>
<h:commandButton value="« previous">
- <cc:componentControl event="click" target="scroller2" operation="switchToPage">
+ <rich:componentControl event="click" target="scroller2" operation="switchToPage">
<f:param value="fastrewind" />
- </cc:componentControl>
+ </rich:componentControl>
</h:commandButton>
<h:commandButton value="next »">
- <cc:componentControl event="click" target="scroller2" operation="switchToPage">
+ <rich:componentControl event="click" target="scroller2" operation="switchToPage">
<f:param value="fastforward" />
- </cc:componentControl>
+ </rich:componentControl>
</h:commandButton>
<h:commandButton value="last »»">
- <cc:componentControl event="click" target="scroller2" operation="switchToPage">
+ <rich:componentControl event="click" target="scroller2" operation="switchToPage">
<f:param value="last" />
- </cc:componentControl>
+ </rich:componentControl>
</h:commandButton>
<br/>
<h:commandButton value="«« first">
- <cc:componentControl event="click" target="scroller2" operation="first" />
+ <rich:componentControl event="click" target="scroller2" operation="first" />
</h:commandButton>
<h:commandButton value="« previous">
- <cc:componentControl event="click" target="scroller2" operation="previous" />
+ <rich:componentControl event="click" target="scroller2" operation="previous" />
</h:commandButton>
<h:commandButton value="next »">
- <cc:componentControl event="click" target="scroller2" operation="next" />
+ <rich:componentControl event="click" target="scroller2" operation="next" />
</h:commandButton>
<h:commandButton value="last »»">
- <cc:componentControl event="click" target="scroller2" operation="last" />
+ <rich:componentControl event="click" target="scroller2" operation="last" />
</h:commandButton>
</fieldset>
14 years, 6 months
JBoss Rich Faces SVN: r17836 - in root/tests/metamer/trunk/src/main: resources/org/richfaces/testapp/bean and 4 other directories.
by richfaces-svn-commits@lists.jboss.org
Author: lfryc(a)redhat.com
Date: 2010-07-10 15:12:18 -0400 (Sat, 10 Jul 2010)
New Revision: 17836
Added:
root/tests/metamer/trunk/src/main/java/org/richfaces/testapp/bean/RichDataScrollerBean.java
root/tests/metamer/trunk/src/main/java/org/richfaces/testapp/bean/RichExtendedDataTableBean.java
root/tests/metamer/trunk/src/main/resources/org/richfaces/testapp/bean/RichDataScrollerBean.properties
root/tests/metamer/trunk/src/main/resources/org/richfaces/testapp/bean/RichExtendedDataTableBean.properties
root/tests/metamer/trunk/src/main/webapp/components/richDataScroller/
root/tests/metamer/trunk/src/main/webapp/components/richDataScroller/list.xhtml
root/tests/metamer/trunk/src/main/webapp/components/richDataScroller/simple.xhtml
root/tests/metamer/trunk/src/main/webapp/components/richExtendedDataTable/
root/tests/metamer/trunk/src/main/webapp/components/richExtendedDataTable/components1.xhtml
root/tests/metamer/trunk/src/main/webapp/components/richExtendedDataTable/components2.xhtml
root/tests/metamer/trunk/src/main/webapp/components/richExtendedDataTable/list.xhtml
root/tests/metamer/trunk/src/main/webapp/components/richExtendedDataTable/scroller.xhtml
root/tests/metamer/trunk/src/main/webapp/components/richExtendedDataTable/simple.xhtml
root/tests/metamer/trunk/src/main/webapp/resources/css/richDataScroller.css
root/tests/metamer/trunk/src/main/webapp/resources/css/richExtendedDataTable.css
Modified:
root/tests/metamer/trunk/src/main/java/org/richfaces/testapp/bean/RichBean.java
Log:
https://jira.jboss.org/browse/RFPL-466
* added extended data table
* added data scroller
Modified: root/tests/metamer/trunk/src/main/java/org/richfaces/testapp/bean/RichBean.java
===================================================================
--- root/tests/metamer/trunk/src/main/java/org/richfaces/testapp/bean/RichBean.java 2010-07-10 19:10:47 UTC (rev 17835)
+++ root/tests/metamer/trunk/src/main/java/org/richfaces/testapp/bean/RichBean.java 2010-07-10 19:12:18 UTC (rev 17836)
@@ -99,7 +99,9 @@
components.put("a4jPoll", "A4J Poll");
components.put("a4jPush", "A4J Push");
components.put("commandButton", "JSF Command Button");
+ components.put("richDataScroller", "Rich Data Scroller");
components.put("richDataTable", "Rich Data Table");
+ components.put("richExtendedDataTable", "Rich Extended Data Table");
}
private List<String> createSkinList() {
Added: root/tests/metamer/trunk/src/main/java/org/richfaces/testapp/bean/RichDataScrollerBean.java
===================================================================
--- root/tests/metamer/trunk/src/main/java/org/richfaces/testapp/bean/RichDataScrollerBean.java (rev 0)
+++ root/tests/metamer/trunk/src/main/java/org/richfaces/testapp/bean/RichDataScrollerBean.java 2010-07-10 19:12:18 UTC (rev 17836)
@@ -0,0 +1,118 @@
+/*******************************************************************************
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc. and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ *******************************************************************************/
+
+package org.richfaces.testapp.bean;
+
+import java.io.Serializable;
+import javax.annotation.PostConstruct;
+
+import javax.faces.bean.ManagedBean;
+import javax.faces.bean.SessionScoped;
+
+import org.richfaces.component.UIDataScroller;
+import org.richfaces.testapp.Attributes;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+/**
+ * Managed bean for rich:dataScroller.
+ *
+ * @author <a href="mailto:ppitonak@redhat.com">Pavol Pitonak</a>
+ * @version $Revision$
+ */
+@ManagedBean(name = "richDataScrollerBean")
+@SessionScoped
+public class RichDataScrollerBean implements Serializable {
+
+ private static final long serialVersionUID = 122475400649809L;
+ private static Logger logger;
+ private Attributes attributes;
+ private int page = 1;
+ private boolean state = true;
+
+ /**
+ * Initializes the managed bean.
+ */
+ @PostConstruct
+ public void init() {
+ logger = LoggerFactory.getLogger(getClass());
+ logger.debug("initializing bean " + getClass().getName());
+
+ attributes = Attributes.getUIComponentAttributes(UIDataScroller.class, getClass());
+
+ attributes.put("boundaryControls", "show");
+ attributes.put("fastControls", "show");
+ attributes.put("fastStep", 1);
+ attributes.put("lastPageMode", "short");
+ attributes.put("maxPages", 10);
+ attributes.put("rendered", true);
+ attributes.put("render", "richDataTable");
+
+ // FIXME doesn't work: could not find dataTable for datascroller scroller1
+ attributes.remove("for");
+
+ // will be tested in another way
+ attributes.remove("page");
+
+ }
+
+ public Attributes getAttributes() {
+ return attributes;
+ }
+
+ public void setAttributes(Attributes attributes) {
+ this.attributes = attributes;
+ }
+
+ /**
+ * Getter for page.
+ * @return number of the page to which table is scrolled
+ */
+ public int getPage() {
+ return page;
+ }
+
+ /**
+ * Setter for page.
+ * @param page number of the page to which table is scrolled
+ */
+ public void setPage(int page) {
+ this.page = page;
+ }
+
+ /**
+ * Getter for state.
+ * @return true if non-empty data model should be used in table
+ */
+ public boolean isState() {
+ return state;
+ }
+
+ /**
+ * Setter for state.
+ * @param state true if non-empty data model should be used in table
+ */
+ public void setState(boolean state) {
+ this.state = state;
+ }
+
+}
Added: root/tests/metamer/trunk/src/main/java/org/richfaces/testapp/bean/RichExtendedDataTableBean.java
===================================================================
--- root/tests/metamer/trunk/src/main/java/org/richfaces/testapp/bean/RichExtendedDataTableBean.java (rev 0)
+++ root/tests/metamer/trunk/src/main/java/org/richfaces/testapp/bean/RichExtendedDataTableBean.java 2010-07-10 19:12:18 UTC (rev 17836)
@@ -0,0 +1,147 @@
+/*******************************************************************************
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc. and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ *******************************************************************************/
+
+package org.richfaces.testapp.bean;
+
+import java.io.Serializable;
+import java.util.HashMap;
+import java.util.Map;
+import javax.annotation.PostConstruct;
+
+import javax.faces.bean.ManagedBean;
+import javax.faces.bean.SessionScoped;
+
+import org.ajax4jsf.model.DataComponentState;
+import org.richfaces.component.UIExtendedDataTable;
+import org.richfaces.event.SortingEvent;
+import org.richfaces.testapp.Attributes;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+/**
+ * Managed bean for rich:extendedDataTable.
+ *
+ * @author <a href="mailto:ppitonak@redhat.com">Pavol Pitonak</a>
+ * @version $Revision$
+ */
+@ManagedBean(name = "richExtendedDataTableBean")
+@SessionScoped
+public class RichExtendedDataTableBean implements Serializable {
+
+ private static final long serialVersionUID = 481478880649809L;
+ private static Logger logger;
+ private Attributes attributes;
+ private DataComponentState dataTableState;
+ private Map<Object, Integer> stateMap = new HashMap<Object, Integer>();
+ private int page = 1;
+ private boolean state = true;
+
+ /**
+ * Initializes the managed bean.
+ */
+ @PostConstruct
+ public void init() {
+ logger = LoggerFactory.getLogger(getClass());
+ logger.debug("initializing bean " + getClass().getName());
+
+ attributes = Attributes.getUIComponentAttributes(UIExtendedDataTable.class, getClass());
+ attributes.put("rendered", true);
+ attributes.put("rows", 30);
+ attributes.put("styleClass", "extended-data-table");
+ attributes.put("style", null);
+
+ // TODO these must be tested in other way
+ attributes.remove("componentState");
+ attributes.remove("rowKeyVar");
+ attributes.remove("stateVar");
+ attributes.remove("value");
+ attributes.remove("var");
+
+ // TODO can be these set as attributes or only as facets?
+ attributes.remove("caption");
+ attributes.remove("header");
+ attributes.remove("footer");
+ attributes.remove("noData");
+ }
+
+ public Attributes getAttributes() {
+ return attributes;
+ }
+
+ public void setAttributes(Attributes attributes) {
+ this.attributes = attributes;
+ }
+
+ /**
+ * Getter for page.
+ *
+ * @return page number that will be used by data scroller
+ */
+ public int getPage() {
+ return page;
+ }
+
+ /**
+ * Setter for page.
+ * @param page page number that will be used by data scroller
+ */
+ public void setPage(int page) {
+ this.page = page;
+ }
+
+ public Map<Object, Integer> getStateMap() {
+ return stateMap;
+ }
+
+ public void setStateMap(Map<Object, Integer> stateMap) {
+ this.stateMap = stateMap;
+ }
+
+ public DataComponentState getDataTableState() {
+ return dataTableState;
+ }
+
+ public void setDataTableState(DataComponentState dataTableState) {
+ this.dataTableState = dataTableState;
+ }
+
+ /**
+ * Getter for state.
+ * @return true if data should be displayed in table
+ */
+ public boolean isState() {
+ return state;
+ }
+
+ /**
+ * Setter for state.
+ * @param state true if data should be displayed in table
+ */
+ public void setState(boolean state) {
+ this.state = state;
+ }
+
+ public void sortingListener(SortingEvent event) {
+ System.out.println(event.getSortOrder());
+ }
+
+}
Added: root/tests/metamer/trunk/src/main/resources/org/richfaces/testapp/bean/RichDataScrollerBean.properties
===================================================================
--- root/tests/metamer/trunk/src/main/resources/org/richfaces/testapp/bean/RichDataScrollerBean.properties (rev 0)
+++ root/tests/metamer/trunk/src/main/resources/org/richfaces/testapp/bean/RichDataScrollerBean.properties 2010-07-10 19:12:18 UTC (rev 17836)
@@ -0,0 +1,10 @@
+attr.boundaryControls.show=show
+attr.boundaryControls.auto=auto
+attr.boundaryControls.hide=hide
+
+attr.fastControls.show=show
+attr.fastControls.hide=hide
+attr.fastControls.auto=auto
+
+attr.lastPageMode.full=full
+attr.lastPageMode.short=short
\ No newline at end of file
Added: root/tests/metamer/trunk/src/main/resources/org/richfaces/testapp/bean/RichExtendedDataTableBean.properties
===================================================================
Added: root/tests/metamer/trunk/src/main/webapp/components/richDataScroller/list.xhtml
===================================================================
--- root/tests/metamer/trunk/src/main/webapp/components/richDataScroller/list.xhtml (rev 0)
+++ root/tests/metamer/trunk/src/main/webapp/components/richDataScroller/list.xhtml 2010-07-10 19:12:18 UTC (rev 17836)
@@ -0,0 +1,39 @@
+<!--
+JBoss, Home of Professional Open Source
+Copyright 2010, Red Hat, Inc. and individual contributors
+by the @authors tag. See the copyright.txt in the distribution for a
+full listing of individual contributors.
+
+This is free software; you can redistribute it and/or modify it
+under the terms of the GNU Lesser General Public License as
+published by the Free Software Foundation; either version 2.1 of
+the License, or (at your option) any later version.
+
+This software is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+Lesser General Public License for more details.
+
+You should have received a copy of the GNU Lesser General Public
+License along with this software; if not, write to the Free
+Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+02110-1301 USA, or see the FSF site: http://www.fsf.org.
+-->
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xmlns:h="http://java.sun.com/jsf/html" xmlns:f="http://java.sun.com/jsf/core"
+ xmlns:ui="http://java.sun.com/jsf/facelets" xmlns:a4j="http://richfaces.org/a4j" xmlns:c="http://java.sun.com/jsp/jstl/core">
+
+ <h:head>
+ <title>Rich Data Table</title>
+ <meta http-equiv="Content-Type" content="text/xhtml; charset=UTF-8" />
+ <h:outputStylesheet library="css" name="list.css" />
+ </h:head>
+
+ <h:body>
+
+ <h:outputLink value="simple.xhtml" styleClass="link">Simple</h:outputLink>
+ <div class="description">Simple page that contains <b>rich:dataTable</b> with two <b>rich:dataScroller</b>s and input boxes for all their attributes.</div>
+
+ </h:body>
+</html>
\ No newline at end of file
Added: root/tests/metamer/trunk/src/main/webapp/components/richDataScroller/simple.xhtml
===================================================================
--- root/tests/metamer/trunk/src/main/webapp/components/richDataScroller/simple.xhtml (rev 0)
+++ root/tests/metamer/trunk/src/main/webapp/components/richDataScroller/simple.xhtml 2010-07-10 19:12:18 UTC (rev 17836)
@@ -0,0 +1,228 @@
+<!--
+JBoss, Home of Professional Open Source
+Copyright 2010, Red Hat, Inc. and individual contributors
+by the @authors tag. See the copyright.txt in the distribution for a
+full listing of individual contributors.
+
+This is free software; you can redistribute it and/or modify it
+under the terms of the GNU Lesser General Public License as
+published by the Free Software Foundation; either version 2.1 of
+the License, or (at your option) any later version.
+
+This software is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+Lesser General Public License for more details.
+
+You should have received a copy of the GNU Lesser General Public
+License along with this software; if not, write to the Free
+Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+02110-1301 USA, or see the FSF site: http://www.fsf.org.
+-->
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xmlns:h="http://java.sun.com/jsf/html" xmlns:f="http://java.sun.com/jsf/core"
+ xmlns:ui="http://java.sun.com/jsf/facelets" xmlns:a4j="http://richfaces.org/a4j"
+ xmlns:ta="http://java.sun.com/jsf/composite/testapp" xmlns:it="http://richfaces.org/iteration"
+ xmlns:cc="http://richfaces.org/componentControl" xmlns:rich="http://richfaces.org/rich">
+
+ <ui:composition template="/templates/template.xhtml">
+
+ <ui:define name="head">
+ <f:metadata>
+ <f:viewParam name="templates" value="#{templateBean.templates}">
+ <f:converter converterId="templatesListConverter" />
+ </f:viewParam>
+ </f:metadata>
+ <h:outputStylesheet library="css" name="richDataScroller.css"/>
+ </ui:define>
+
+ <ui:define name="outOfTemplateBefore">
+ <br/>
+ <h:outputText value="Show data in table: " />
+ <h:selectBooleanCheckbox value="#{richDataScrollerBean.state}">
+ <a4j:ajax render="richDataTable scroller1"/>
+ </h:selectBooleanCheckbox>
+ <br/><br/>
+ <it:dataScroller id="scroller1"
+ boundaryControls="#{richDataScrollerBean.attributes['boundaryControls']}"
+ dataTable="#{richDataScrollerBean.attributes['dataTable']}"
+ fastControls="#{richDataScrollerBean.attributes['fastControls']}"
+ fastForward="#{richDataScrollerBean.attributes['fastForward']}"
+ fastRewind="#{richDataScrollerBean.attributes['fastRewind']}"
+ fastStep="#{richDataScrollerBean.attributes['fastStep']}"
+ first="#{richDataScrollerBean.attributes['first']}"
+ for="richDataTable"
+ iterationState="#{richDataScrollerBean.attributes['iterationState']}"
+ last="#{richDataScrollerBean.attributes['last']}"
+ lastPageMode="#{richDataScrollerBean.attributes['lastPageMode']}"
+ localPageSet="#{richDataScrollerBean.attributes['localPageSet']}"
+ maxPages="#{richDataScrollerBean.attributes['maxPages']}"
+ page="#{richDataScrollerBean.page}"
+ pageCount="#{richDataScrollerBean.attributes['pageCount']}"
+ rendered="#{richDataScrollerBean.attributes['rendered']}"
+ render="#{richDataScrollerBean.attributes['render']}"
+ rowCount="#{richDataScrollerBean.attributes['rowCount']}"
+ scrollerListeners="#{richDataScrollerBean.attributes['scrollerListeners']}"
+ />
+ </ui:define>
+
+ <ui:define name="component">
+
+ <it:dataTable id="richDataTable"
+ rows="9"
+ value="#{richDataScrollerBean.state ? model.capitals : null}"
+ var="record"
+ >
+
+ <f:facet name="noData">
+ <h:outputText value="There is no data." style="color: red;"/>
+ </f:facet>
+
+ <it:column id="columnState" sortBy="#{record.state}">
+ <f:facet name="header">
+ <h:outputText id="columnHeaderState" value="State" />
+ </f:facet>
+
+ <h:outputText value="#{record.state}" />
+ <f:facet name="footer">
+ <h:outputText id="columnFooterState" value="State" />
+ </f:facet>
+ </it:column>
+
+ <it:column id="columnCapital" sortBy="#{record.name}">
+ <f:facet name="header">
+ <h:outputText id="columnHeaderCapital" value="Capital" />
+ </f:facet>
+
+ <h:outputText value="#{record.name}" />
+ <f:facet name="footer">
+ <h:outputText id="columnFooterCapital" value="Capital" />
+ </f:facet>
+ </it:column>
+
+ <f:facet name="footer">
+ <it:dataScroller id="scroller2"
+ boundaryControls="#{richDataScrollerBean.attributes['boundaryControls']}"
+ dataTable="#{richDataScrollerBean.attributes['dataTable']}"
+ fastControls="#{richDataScrollerBean.attributes['fastControls']}"
+ fastForward="#{richDataScrollerBean.attributes['fastForward']}"
+ fastRewind="#{richDataScrollerBean.attributes['fastRewind']}"
+ fastStep="#{richDataScrollerBean.attributes['fastStep']}"
+ first="#{richDataScrollerBean.attributes['first']}"
+ for="richDataTable"
+ iterationState="#{richDataScrollerBean.attributes['iterationState']}"
+ last="#{richDataScrollerBean.attributes['last']}"
+ lastPageMode="#{richDataScrollerBean.attributes['lastPageMode']}"
+ localPageSet="#{richDataScrollerBean.attributes['localPageSet']}"
+ maxPages="#{richDataScrollerBean.attributes['maxPages']}"
+ page="#{richDataScrollerBean.page}"
+ pageCount="#{richDataScrollerBean.attributes['pageCount']}"
+ rendered="#{richDataScrollerBean.attributes['rendered']}"
+ render="#{richDataScrollerBean.attributes['render']}"
+ rowCount="#{richDataScrollerBean.attributes['rowCount']}"
+ scrollerListeners="#{richDataScrollerBean.attributes['scrollerListeners']}"
+ />
+ </f:facet>
+
+ </it:dataTable>
+ </ui:define>
+
+ <ui:define name="outOfTemplateAfter">
+ <fieldset><legend>JavaScript API - scroller1</legend>
+ <h:commandButton value="«« first">
+ <cc:componentControl event="click" target="scroller1" operation="switchToPage">
+ <f:param value="first" />
+ </cc:componentControl>
+ </h:commandButton>
+
+ <h:commandButton value="« previous">
+ <cc:componentControl event="click" target="scroller1" operation="switchToPage">
+ <f:param value="fastrewind" />
+ </cc:componentControl>
+ </h:commandButton>
+
+ <h:commandButton value="next »">
+ <cc:componentControl event="click" target="scroller1" operation="switchToPage">
+ <f:param value="fastforward" />
+ </cc:componentControl>
+ </h:commandButton>
+
+ <h:commandButton value="last »»">
+ <cc:componentControl event="click" target="scroller1" operation="switchToPage">
+ <f:param value="last" />
+ </cc:componentControl>
+ </h:commandButton>
+
+ <br/>
+
+ <h:commandButton value="«« first">
+ <cc:componentControl event="click" target="scroller1" operation="first" />
+ </h:commandButton>
+
+ <h:commandButton value="« previous">
+ <cc:componentControl event="click" target="scroller1" operation="previous" />
+ </h:commandButton>
+
+ <h:commandButton value="next »">
+ <cc:componentControl event="click" target="scroller1" operation="next" />
+ </h:commandButton>
+
+ <h:commandButton value="last »»">
+ <cc:componentControl event="click" target="scroller1" operation="last" />
+ </h:commandButton>
+ </fieldset>
+
+ <br/>
+
+ <fieldset><legend>JavaScript API - scroller2</legend>
+ <h:commandButton value="«« first">
+ <cc:componentControl event="click" target="scroller2" operation="switchToPage">
+ <f:param value="first" />
+ </cc:componentControl>
+ </h:commandButton>
+
+ <h:commandButton value="« previous">
+ <cc:componentControl event="click" target="scroller2" operation="switchToPage">
+ <f:param value="fastrewind" />
+ </cc:componentControl>
+ </h:commandButton>
+
+ <h:commandButton value="next »">
+ <cc:componentControl event="click" target="scroller2" operation="switchToPage">
+ <f:param value="fastforward" />
+ </cc:componentControl>
+ </h:commandButton>
+
+ <h:commandButton value="last »»">
+ <cc:componentControl event="click" target="scroller2" operation="switchToPage">
+ <f:param value="last" />
+ </cc:componentControl>
+ </h:commandButton>
+
+ <br/>
+
+ <h:commandButton value="«« first">
+ <cc:componentControl event="click" target="scroller2" operation="first" />
+ </h:commandButton>
+
+ <h:commandButton value="« previous">
+ <cc:componentControl event="click" target="scroller2" operation="previous" />
+ </h:commandButton>
+
+ <h:commandButton value="next »">
+ <cc:componentControl event="click" target="scroller2" operation="next" />
+ </h:commandButton>
+
+ <h:commandButton value="last »»">
+ <cc:componentControl event="click" target="scroller2" operation="last" />
+ </h:commandButton>
+ </fieldset>
+
+ <br/><br/>
+
+ <ta:attributes value="#{richDataScrollerBean.attributes}" id="attributes" />
+ </ui:define>
+
+ </ui:composition>
+</html>
\ No newline at end of file
Added: root/tests/metamer/trunk/src/main/webapp/components/richExtendedDataTable/components1.xhtml
===================================================================
--- root/tests/metamer/trunk/src/main/webapp/components/richExtendedDataTable/components1.xhtml (rev 0)
+++ root/tests/metamer/trunk/src/main/webapp/components/richExtendedDataTable/components1.xhtml 2010-07-10 19:12:18 UTC (rev 17836)
@@ -0,0 +1,180 @@
+<!--
+JBoss, Home of Professional Open Source
+Copyright 2010, Red Hat, Inc. and individual contributors
+by the @authors tag. See the copyright.txt in the distribution for a
+full listing of individual contributors.
+
+This is free software; you can redistribute it and/or modify it
+under the terms of the GNU Lesser General Public License as
+published by the Free Software Foundation; either version 2.1 of
+the License, or (at your option) any later version.
+
+This software is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+Lesser General Public License for more details.
+
+You should have received a copy of the GNU Lesser General Public
+License along with this software; if not, write to the Free
+Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+02110-1301 USA, or see the FSF site: http://www.fsf.org.
+-->
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xmlns:h="http://java.sun.com/jsf/html" xmlns:f="http://java.sun.com/jsf/core"
+ xmlns:ui="http://java.sun.com/jsf/facelets" xmlns:a4j="http://richfaces.org/a4j"
+ xmlns:ta="http://java.sun.com/jsf/composite/testapp" xmlns:it="http://richfaces.org/iteration"
+ xmlns:cc="http://richfaces.org/componentControl" xmlns:rich="http://richfaces.org/rich">
+
+ <ui:composition template="/templates/template.xhtml">
+
+ <ui:define name="head">
+ <f:metadata>
+ <f:viewParam name="templates" value="#{templateBean.templates}">
+ <f:converter converterId="templatesListConverter" />
+ </f:viewParam>
+ </f:metadata>
+ <h:outputStylesheet library="css" name="richExtendedDataTable.css"/>
+ </ui:define>
+
+ <ui:define name="outOfTemplateBefore">
+ <br/>
+ <h:outputText value="Show data in table: " />
+ <h:selectBooleanCheckbox value="#{richExtendedDataTableBean.state}">
+ <a4j:ajax render="richEDT scroller1"/>
+ </h:selectBooleanCheckbox>
+ <br/><br/>
+ <it:dataScroller id="scroller1" for="richEDT" page="#{richExtendedDataTableBean.page}" maxPages="7" render="richEDT"/>
+ </ui:define>
+
+ <ui:define name="component">
+
+ <it:dataTable id="richEDT"
+ filterVar="#{richExtendedDataTableBean.attributes['filterVar']}"
+ filteringListeners="#{richExtendedDataTableBean.attributes['filteringListeners']}"
+ first="#{richExtendedDataTableBean.attributes['first']}"
+ iterationState="#{richExtendedDataTableBean.attributes['iterationState']}"
+ iterationStatusVar="#{richExtendedDataTableBean.attributes['iterationStatusVar']}"
+ keepSaved="#{richExtendedDataTableBean.attributes['keepSaved']}"
+ noDataLabel="#{richExtendedDataTableBean.attributes['noDataLabel']}"
+ relativeRowIndex="#{richExtendedDataTableBean.attributes['relativeRowIndex']}"
+ rendered="#{richExtendedDataTableBean.attributes['rendered']}"
+ rowAvailable="#{richExtendedDataTableBean.attributes['rowAvailable']}"
+ rowCount="#{richExtendedDataTableBean.attributes['rowCount']}"
+ rowData="#{richExtendedDataTableBean.attributes['rowData']}"
+ rowIndex="#{richExtendedDataTableBean.attributes['rowIndex']}"
+ rowKey="#{richExtendedDataTableBean.attributes['rowKey']}"
+ rowKeyConverter="#{richExtendedDataTableBean.attributes['rowKeyConverter']}"
+ rows="#{richExtendedDataTableBean.attributes['rows']}"
+ sortMode="#{richExtendedDataTableBean.attributes['sortMode']}"
+ sortPriority="#{richExtendedDataTableBean.attributes['sortPriority']}"
+ sortingListeners="#{richExtendedDataTableBean.attributes['sortingListeners']}"
+ value="#{richExtendedDataTableBean.state ? model.employees : null}"
+ var="record"
+ >
+
+ <f:facet name="noData">
+ <h:outputText value="There is no data." style="color: red;"/>
+ </f:facet>
+
+ <f:facet name="caption">
+ <h:outputText id="captionFacet" value="Caption Facet" />
+ </f:facet>
+
+ <f:facet name="header">
+ <h:outputText value="Header Facet" />
+ </f:facet>
+
+ <it:column id="columnSex" sortBy="#{record.sex}">
+ <f:facet name="header">
+ <h:outputText id="columnHeaderSex" value="Sex" />
+ <br/>
+ <h:outputText id="columnHeaderSexComponent" value="h:graphicImage" />
+ </f:facet>
+
+ <h:graphicImage library="images" name="#{record.sex == 'MALE' ? 'male.png' : 'female.png'}" />
+
+ <f:facet name="footer">
+ <h:outputText id="columnFooterSex" value="Sex" />
+ </f:facet>
+ </it:column>
+
+ <it:column id="columnName" sortBy="#{record.name}">
+ <f:facet name="header">
+ <h:outputText id="columnHeaderName" value="Name" />
+ <br/>
+ <h:outputText id="columnHeaderNameComponent" value="h:outputText" />
+ </f:facet>
+
+ <h:outputText value="#{record.name}" />
+ <f:facet name="footer">
+ <h:outputText id="columnFooterState" value="Name" />
+ </f:facet>
+ </it:column>
+
+ <it:column id="columnTitle" sortBy="#{record.title}">
+ <f:facet name="header">
+ <h:outputText id="columnHeaderTitle" value="Title" />
+ <br/>
+ <h:outputText id="columnHeaderTitleComponent" value="rich:inplaceSelect" />
+ </f:facet>
+
+ <h:outputText value="#{record.title}" />
+ <f:facet name="footer">
+ <h:outputText id="columnFooterTitle" value="Title" />
+ </f:facet>
+ </it:column>
+
+ <it:column id="columnSmoker" sortBy="#{record.smoker}">
+ <f:facet name="header">
+ <h:outputText id="columnHeaderSmoker" value="Smoker" />
+ <br/>
+ <h:outputText id="columnHeaderSmokerComponent" value="h:selectBooleanCheckbox" />
+ </f:facet>
+
+ <h:selectBooleanCheckbox value="#{record.smoker}"/>
+
+ <f:facet name="footer">
+ <h:outputText id="columnFooterSmoker" value="Smoker" />
+ </f:facet>
+ </it:column>
+
+ <it:column id="columnFavoriteColor" sortBy="#{record.favoriteColor}">
+ <f:facet name="header">
+ <h:outputText id="columnHeaderFavoriteColor" value="Favorite Color" />
+ <br/>
+ <h:outputText id="columnHeaderFavoriteColorComponent" value="rich:colorPicker" />
+ </f:facet>
+
+ <h:outputText value="#{record.favoriteColor}" />
+ <f:facet name="footer">
+ <h:outputText id="columnFooterFavoriteColor" value="Favorite Color" />
+ </f:facet>
+ </it:column>
+
+ <it:column id="columnNumberOfKids" sortBy="#{record.numberOfKids}">
+ <f:facet name="header">
+ <h:outputText id="columnHeaderNumberOfKids" value="Number of Kids" />
+ <br/>
+ <h:outputText id="columnHeaderNumberOfKidsComponent" value="rich:inputNumberSpinner" />
+ </f:facet>
+
+ <h:outputText value="#{record.numberOfKids}" />
+ <f:facet name="footer">
+ <h:outputText id="columnFooterNumberOfKids" value="Number of Kids" />
+ </f:facet>
+ </it:column>
+
+ <f:facet name="footer">
+ <it:dataScroller id="scroller2" for="richEDT" page="#{richExtendedDataTableBean.page}" maxPages="7" render="richEDT" />
+ </f:facet>
+
+ </it:dataTable>
+ </ui:define>
+
+ <ui:define name="outOfTemplateAfter">
+ <ta:attributes value="#{richExtendedDataTableBean.attributes}" id="attributes" />
+ </ui:define>
+
+ </ui:composition>
+</html>
\ No newline at end of file
Added: root/tests/metamer/trunk/src/main/webapp/components/richExtendedDataTable/components2.xhtml
===================================================================
--- root/tests/metamer/trunk/src/main/webapp/components/richExtendedDataTable/components2.xhtml (rev 0)
+++ root/tests/metamer/trunk/src/main/webapp/components/richExtendedDataTable/components2.xhtml 2010-07-10 19:12:18 UTC (rev 17836)
@@ -0,0 +1,184 @@
+<!--
+JBoss, Home of Professional Open Source
+Copyright 2010, Red Hat, Inc. and individual contributors
+by the @authors tag. See the copyright.txt in the distribution for a
+full listing of individual contributors.
+
+This is free software; you can redistribute it and/or modify it
+under the terms of the GNU Lesser General Public License as
+published by the Free Software Foundation; either version 2.1 of
+the License, or (at your option) any later version.
+
+This software is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+Lesser General Public License for more details.
+
+You should have received a copy of the GNU Lesser General Public
+License along with this software; if not, write to the Free
+Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+02110-1301 USA, or see the FSF site: http://www.fsf.org.
+-->
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xmlns:h="http://java.sun.com/jsf/html" xmlns:f="http://java.sun.com/jsf/core"
+ xmlns:ui="http://java.sun.com/jsf/facelets" xmlns:a4j="http://richfaces.org/a4j"
+ xmlns:ta="http://java.sun.com/jsf/composite/testapp" xmlns:it="http://richfaces.org/iteration"
+ xmlns:cc="http://richfaces.org/componentControl" xmlns:rich="http://richfaces.org/rich">
+
+ <ui:composition template="/templates/template.xhtml">
+
+ <ui:define name="head">
+ <f:metadata>
+ <f:viewParam name="templates" value="#{templateBean.templates}">
+ <f:converter converterId="templatesListConverter" />
+ </f:viewParam>
+ </f:metadata>
+ <h:outputStylesheet library="css" name="richDataTable.css"/>
+ </ui:define>
+
+ <ui:define name="outOfTemplateBefore">
+ <br/>
+ <h:outputText value="Show data in table: " />
+ <h:selectBooleanCheckbox value="#{richExtendedDataTableBean.state}">
+ <a4j:ajax render="richEDT scroller1"/>
+ </h:selectBooleanCheckbox>
+ <br/><br/>
+ <it:dataScroller id="scroller1" for="richEDT" page="#{richExtendedDataTableBean.page}" maxPages="7" render="richEDT"/>
+ </ui:define>
+
+ <ui:define name="component">
+
+ <it:dataTable id="richEDT"
+ filterVar="#{richExtendedDataTableBean.attributes['filterVar']}"
+ filteringListeners="#{richExtendedDataTableBean.attributes['filteringListeners']}"
+ first="#{richExtendedDataTableBean.attributes['first']}"
+ iterationState="#{richExtendedDataTableBean.attributes['iterationState']}"
+ iterationStatusVar="#{richExtendedDataTableBean.attributes['iterationStatusVar']}"
+ keepSaved="#{richExtendedDataTableBean.attributes['keepSaved']}"
+ noDataLabel="#{richExtendedDataTableBean.attributes['noDataLabel']}"
+ relativeRowIndex="#{richExtendedDataTableBean.attributes['relativeRowIndex']}"
+ rendered="#{richExtendedDataTableBean.attributes['rendered']}"
+ rowAvailable="#{richExtendedDataTableBean.attributes['rowAvailable']}"
+ rowCount="#{richExtendedDataTableBean.attributes['rowCount']}"
+ rowData="#{richExtendedDataTableBean.attributes['rowData']}"
+ rowIndex="#{richExtendedDataTableBean.attributes['rowIndex']}"
+ rowKey="#{richExtendedDataTableBean.attributes['rowKey']}"
+ rowKeyConverter="#{richExtendedDataTableBean.attributes['rowKeyConverter']}"
+ rows="#{richExtendedDataTableBean.attributes['rows']}"
+ sortMode="#{richExtendedDataTableBean.attributes['sortMode']}"
+ sortPriority="#{richExtendedDataTableBean.attributes['sortPriority']}"
+ sortingListeners="#{richExtendedDataTableBean.attributes['sortingListeners']}"
+ value="#{richExtendedDataTableBean.state ? model.employees : null}"
+ var="record"
+ >
+
+ <f:facet name="noData">
+ <h:outputText value="There is no data." style="color: red;"/>
+ </f:facet>
+
+ <f:facet name="caption">
+ <h:outputText id="captionFacet" value="Caption Facet" />
+ </f:facet>
+
+ <f:facet name="header">
+ <h:outputText value="Header Facet" />
+ </f:facet>
+
+ <it:column id="columnSex" sortBy="#{record.sex}">
+ <f:facet name="header">
+ <h:outputText id="columnHeaderSex" value="Sex" />
+ <br/>
+ <h:outputText id="columnHeaderSexComponent" value="rich:paint2D" />
+ </f:facet>
+
+ <h:outputText value="#{record.sex}" />
+ <f:facet name="footer">
+ <h:outputText id="columnFooterSex" value="Sex" />
+ </f:facet>
+ </it:column>
+
+ <it:column id="columnName" sortBy="#{record.name}">
+ <f:facet name="header">
+ <h:outputText id="columnHeaderName" value="Name" />
+ <br/>
+ <h:outputText id="columnHeaderNameComponent" value="h:inplaceInput" />
+ </f:facet>
+
+ <h:outputText value="#{record.name}" />
+ <f:facet name="footer">
+ <h:outputText id="columnFooterState" value="Name" />
+ </f:facet>
+ </it:column>
+
+ <it:column id="columnTitle" sortBy="#{record.title}">
+ <f:facet name="header">
+ <h:outputText id="columnHeaderTitle" value="Title" />
+ <br/>
+ <h:outputText id="columnHeaderTitleComponent" value="rich:comboBox" />
+ </f:facet>
+
+ <h:outputText value="#{record.title}" />
+ <f:facet name="footer">
+ <h:outputText id="columnFooterTitle" value="Title" />
+ </f:facet>
+ </it:column>
+
+ <it:column id="columnBirthdate" sortBy="#{record.birthdate}">
+ <f:facet name="header">
+ <h:outputText id="columnHeaderBirthdate" value="Birthdate" />
+ <br/>
+ <h:outputText id="columnHeaderBirthdateComponent" value="rich:calendar" />
+ </f:facet>
+
+ <h:outputText value="#{record.birthdate}" />
+ <f:facet name="footer">
+ <h:outputText id="columnFooterBirthdate" value="Birthdate" />
+ </f:facet>
+ </it:column>
+
+ <it:column id="columnCompanies" sortBy="#{record.companies}">
+ <f:facet name="header">
+ <h:outputText id="columnHeaderCompanies" value="Companies" />
+ <br/>
+ <h:outputText id="columnHeaderCompaniesComponent" value="a4j:repeat" />
+ </f:facet>
+
+ <ul>
+ <a4j:repeat value="#{record.companies}" var="company">
+ <li>#{company.name}</li>
+ </a4j:repeat>
+
+ </ul>
+
+ <f:facet name="footer">
+ <h:outputText id="columnFooterSmoker" value="Smoker" />
+ </f:facet>
+ </it:column>
+
+ <it:column id="columnNumberOfKids" sortBy="#{record.numberOfKids}">
+ <f:facet name="header">
+ <h:outputText id="columnHeaderNumberOfKids" value="Number of Kids" />
+ <br/>
+ <h:outputText id="columnHeaderNumberOfKidsComponent" value="rich:inputNumberSlider" />
+ </f:facet>
+
+ <h:outputText value="#{record.numberOfKids}" />
+ <f:facet name="footer">
+ <h:outputText id="columnFooterNumberOfKids" value="Number of Kids" />
+ </f:facet>
+ </it:column>
+
+ <f:facet name="footer">
+ <it:dataScroller id="scroller2" for="richEDT" page="#{richExtendedDataTableBean.page}" maxPages="7" render="richEDT" />
+ </f:facet>
+
+ </it:dataTable>
+ </ui:define>
+
+ <ui:define name="outOfTemplateAfter">
+ <ta:attributes value="#{richExtendedDataTableBean.attributes}" id="attributes" />
+ </ui:define>
+
+ </ui:composition>
+</html>
\ No newline at end of file
Added: root/tests/metamer/trunk/src/main/webapp/components/richExtendedDataTable/list.xhtml
===================================================================
--- root/tests/metamer/trunk/src/main/webapp/components/richExtendedDataTable/list.xhtml (rev 0)
+++ root/tests/metamer/trunk/src/main/webapp/components/richExtendedDataTable/list.xhtml 2010-07-10 19:12:18 UTC (rev 17836)
@@ -0,0 +1,50 @@
+<!--
+JBoss, Home of Professional Open Source
+Copyright 2010, Red Hat, Inc. and individual contributors
+by the @authors tag. See the copyright.txt in the distribution for a
+full listing of individual contributors.
+
+This is free software; you can redistribute it and/or modify it
+under the terms of the GNU Lesser General Public License as
+published by the Free Software Foundation; either version 2.1 of
+the License, or (at your option) any later version.
+
+This software is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+Lesser General Public License for more details.
+
+You should have received a copy of the GNU Lesser General Public
+License along with this software; if not, write to the Free
+Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+02110-1301 USA, or see the FSF site: http://www.fsf.org.
+-->
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xmlns:h="http://java.sun.com/jsf/html" xmlns:f="http://java.sun.com/jsf/core"
+ xmlns:ui="http://java.sun.com/jsf/facelets" xmlns:a4j="http://richfaces.org/a4j" xmlns:c="http://java.sun.com/jsp/jstl/core">
+
+ <h:head>
+ <title>Rich Data Table</title>
+ <meta http-equiv="Content-Type" content="text/xhtml; charset=UTF-8" />
+ <h:outputStylesheet library="css" name="list.css" />
+ </h:head>
+
+ <h:body>
+
+ <h:outputLink value="simple.xhtml" styleClass="link">Simple</h:outputLink>
+ <div class="description">Simple page that contains <b>rich:dataTable</b> (with model containing capitals) and input boxes for all its attributes.</div>
+
+ <h:outputLink value="scroller.xhtml" styleClass="link">Data Scroller</h:outputLink>
+ <div class="description">Page that contains <b>rich:dataTable</b> (with model containing capitals), data scroller and input boxes for all its attributes.</div>
+
+ <h:outputLink value="components1.xhtml" styleClass="link">Various Components 1</h:outputLink>
+ <div class="description">Page that contains <b>rich:dataTable</b> (with model containing employees) and input boxes for all its attributes.
+ <span style="color: red">TODO will be used with various types of input and command components as soon as available</span></div>
+
+ <h:outputLink value="components2.xhtml" styleClass="link">Various Components 2</h:outputLink>
+ <div class="description">Page that contains <b>rich:dataTable</b> (with model containing employees) and input boxes for all its attributes.
+ <span style="color: red">TODO will be used with various types of input and command components as soon as available</span></div>
+
+ </h:body>
+</html>
\ No newline at end of file
Added: root/tests/metamer/trunk/src/main/webapp/components/richExtendedDataTable/scroller.xhtml
===================================================================
--- root/tests/metamer/trunk/src/main/webapp/components/richExtendedDataTable/scroller.xhtml (rev 0)
+++ root/tests/metamer/trunk/src/main/webapp/components/richExtendedDataTable/scroller.xhtml 2010-07-10 19:12:18 UTC (rev 17836)
@@ -0,0 +1,180 @@
+<!--
+JBoss, Home of Professional Open Source
+Copyright 2010, Red Hat, Inc. and individual contributors
+by the @authors tag. See the copyright.txt in the distribution for a
+full listing of individual contributors.
+
+This is free software; you can redistribute it and/or modify it
+under the terms of the GNU Lesser General Public License as
+published by the Free Software Foundation; either version 2.1 of
+the License, or (at your option) any later version.
+
+This software is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+Lesser General Public License for more details.
+
+You should have received a copy of the GNU Lesser General Public
+License along with this software; if not, write to the Free
+Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+02110-1301 USA, or see the FSF site: http://www.fsf.org.
+-->
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xmlns:h="http://java.sun.com/jsf/html" xmlns:f="http://java.sun.com/jsf/core"
+ xmlns:ui="http://java.sun.com/jsf/facelets" xmlns:a4j="http://richfaces.org/a4j"
+ xmlns:ta="http://java.sun.com/jsf/composite/testapp" xmlns:it="http://richfaces.org/iteration"
+ xmlns:cc="http://richfaces.org/componentControl" xmlns:rich="http://richfaces.org/rich">
+
+ <ui:composition template="/templates/template.xhtml">
+
+ <ui:define name="head">
+ <f:metadata>
+ <f:viewParam name="templates" value="#{templateBean.templates}">
+ <f:converter converterId="templatesListConverter" />
+ </f:viewParam>
+ </f:metadata>
+ <h:outputStylesheet library="css" name="richExtendedDataTable.css"/>
+ </ui:define>
+
+ <ui:define name="outOfTemplateBefore">
+ <br/>
+ <h:outputText value="Show data in table: " />
+ <h:selectBooleanCheckbox value="#{richExtendedDataTableBean.state}">
+ <a4j:ajax render="richEDT scroller1"/>
+ </h:selectBooleanCheckbox>
+ <br/><br/>
+ <it:dataScroller id="scroller1" for="richEDT" page="#{richExtendedDataTableBean.page}" maxPages="7" render="richEDT"/>
+ </ui:define>
+
+ <ui:define name="component">
+
+ <it:dataTable id="richEDT"
+ filterVar="#{richExtendedDataTableBean.attributes['filterVar']}"
+ filteringListeners="#{richExtendedDataTableBean.attributes['filteringListeners']}"
+ first="#{richExtendedDataTableBean.attributes['first']}"
+ iterationState="#{richExtendedDataTableBean.attributes['iterationState']}"
+ iterationStatusVar="#{richExtendedDataTableBean.attributes['iterationStatusVar']}"
+ keepSaved="#{richExtendedDataTableBean.attributes['keepSaved']}"
+ noDataLabel="#{richExtendedDataTableBean.attributes['noDataLabel']}"
+ relativeRowIndex="#{richExtendedDataTableBean.attributes['relativeRowIndex']}"
+ rendered="#{richExtendedDataTableBean.attributes['rendered']}"
+ rowAvailable="#{richExtendedDataTableBean.attributes['rowAvailable']}"
+ rowCount="#{richExtendedDataTableBean.attributes['rowCount']}"
+ rowData="#{richExtendedDataTableBean.attributes['rowData']}"
+ rowIndex="#{richExtendedDataTableBean.attributes['rowIndex']}"
+ rowKey="#{richExtendedDataTableBean.attributes['rowKey']}"
+ rowKeyConverter="#{richExtendedDataTableBean.attributes['rowKeyConverter']}"
+ rows="#{richExtendedDataTableBean.attributes['rows']}"
+ sortMode="#{richExtendedDataTableBean.attributes['sortMode']}"
+ sortPriority="#{richExtendedDataTableBean.attributes['sortPriority']}"
+ sortingListeners="#{richExtendedDataTableBean.attributes['sortingListeners']}"
+ value="#{richExtendedDataTableBean.state ? model.capitals : null}"
+ var="record"
+ >
+
+ <f:facet name="noData">
+ <h:outputText value="There is no data." style="color: red;"/>
+ </f:facet>
+
+ <f:facet name="caption">
+ <h:outputText id="captionFacet" value="Caption Facet" />
+ </f:facet>
+
+ <f:facet name="header">
+ <h:outputText value="Header Facet" />
+ </f:facet>
+
+ <it:column id="columnState" sortBy="#{record.state}">
+ <f:facet name="header">
+ <h:outputText id="columnHeaderState" value="State" />
+ </f:facet>
+
+ <h:outputText value="#{record.state}" />
+ <f:facet name="footer">
+ <h:outputText id="columnFooterState" value="State" />
+ </f:facet>
+ </it:column>
+
+ <it:column id="columnCapital" sortBy="#{record.name}">
+ <f:facet name="header">
+ <h:outputText id="columnHeaderCapital" value="Capital" />
+ </f:facet>
+
+ <h:outputText value="#{record.name}" />
+ <f:facet name="footer">
+ <h:outputText id="columnFooterCapital" value="Capital" />
+ </f:facet>
+ </it:column>
+
+ <f:facet name="footer">
+ <it:dataScroller id="scroller2" for="richEDT" page="#{richExtendedDataTableBean.page}" maxPages="7" render="richEDT" />
+ </f:facet>
+
+ </it:dataTable>
+ </ui:define>
+
+ <ui:define name="outOfTemplateAfter">
+ <h:commandButton value="sort state">
+ <cc:componentControl event="click" target="richEDT" operation="sort"/>
+ </h:commandButton>
+
+ <h:commandButton value="sort capital">
+ <cc:componentControl event="click" target="richEDT" operation="sort">
+ <f:param value="columnCapital" />
+ </cc:componentControl>
+ </h:commandButton>
+
+ <br/>
+
+ scroller1:
+ <h:commandButton value="<< first">
+ <cc:componentControl event="click" target="#{rich:clientId('scroller1')}" operation="switchToPage">
+ <f:param value="first" />
+ </cc:componentControl>
+ </h:commandButton>
+
+ <h:commandButton value="< previous">
+ <cc:componentControl event="click" target="#{rich:clientId('scroller1')}" operation="previous" />
+ </h:commandButton>
+
+ <h:commandButton value="next >">
+ <cc:componentControl event="click" target="#{rich:clientId('scroller1')}" operation="next" />
+ </h:commandButton>
+
+ <h:commandButton value="last >>">
+ <cc:componentControl event="click" target="#{rich:clientId('scroller1')}" operation="switchToPage">
+ <f:param value="last" />
+ </cc:componentControl>
+ </h:commandButton>
+
+ <br/>
+
+ scroller2:
+ <h:commandButton value="<< first">
+ <cc:componentControl event="click" target="#{rich:clientId('scroller2')}" operation="switchToPage">
+ <f:param value="first" />
+ </cc:componentControl>
+ </h:commandButton>
+
+ <h:commandButton value="< previous">
+ <cc:componentControl event="click" target="#{rich:clientId('scroller2')}" operation="previous" />
+ </h:commandButton>
+
+ <h:commandButton value="next >">
+ <cc:componentControl event="click" target="#{rich:clientId('scroller2')}" operation="next" />
+ </h:commandButton>
+
+ <h:commandButton value="last >>">
+ <cc:componentControl event="click" target="#{rich:clientId('scroller2')}" operation="switchToPage">
+ <f:param value="last" />
+ </cc:componentControl>
+ </h:commandButton>
+
+ <br/><br/>
+
+ <ta:attributes value="#{richExtendedDataTableBean.attributes}" id="attributes" />
+ </ui:define>
+
+ </ui:composition>
+</html>
\ No newline at end of file
Added: root/tests/metamer/trunk/src/main/webapp/components/richExtendedDataTable/simple.xhtml
===================================================================
--- root/tests/metamer/trunk/src/main/webapp/components/richExtendedDataTable/simple.xhtml (rev 0)
+++ root/tests/metamer/trunk/src/main/webapp/components/richExtendedDataTable/simple.xhtml 2010-07-10 19:12:18 UTC (rev 17836)
@@ -0,0 +1,135 @@
+<!--
+JBoss, Home of Professional Open Source
+Copyright 2010, Red Hat, Inc. and individual contributors
+by the @authors tag. See the copyright.txt in the distribution for a
+full listing of individual contributors.
+
+This is free software; you can redistribute it and/or modify it
+under the terms of the GNU Lesser General Public License as
+published by the Free Software Foundation; either version 2.1 of
+the License, or (at your option) any later version.
+
+This software is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+Lesser General Public License for more details.
+
+You should have received a copy of the GNU Lesser General Public
+License along with this software; if not, write to the Free
+Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+02110-1301 USA, or see the FSF site: http://www.fsf.org.
+-->
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xmlns:h="http://java.sun.com/jsf/html" xmlns:f="http://java.sun.com/jsf/core"
+ xmlns:ui="http://java.sun.com/jsf/facelets" xmlns:a4j="http://richfaces.org/a4j"
+ xmlns:ta="http://java.sun.com/jsf/composite/testapp" xmlns:it="http://richfaces.org/iteration"
+ xmlns:cc="http://richfaces.org/componentControl" xmlns:rich="http://richfaces.org/rich">
+
+ <ui:composition template="/templates/template.xhtml">
+
+ <ui:define name="head">
+ <f:metadata>
+ <f:viewParam name="templates" value="#{templateBean.templates}">
+ <f:converter converterId="templatesListConverter" />
+ </f:viewParam>
+ </f:metadata>
+ <h:outputStylesheet library="css" name="richExtendedDataTable.css"/>
+ </ui:define>
+
+ <ui:define name="outOfTemplateBefore">
+ <br/>
+ <h:outputText value="Show data in table: " />
+ <h:selectBooleanCheckbox value="#{richExtendedDataTableBean.state}">
+ <a4j:ajax render="richEDT scroller1"/>
+ </h:selectBooleanCheckbox>
+ <br/><br/>
+ </ui:define>
+
+ <ui:define name="component">
+
+ <it:extendedDataTable id="richEDT"
+ clientFirst="#{richExtendedDataTableBean.attributes['clientFirst']}"
+ clientRows="#{richExtendedDataTableBean.attributes['clientRows']}"
+ filterVar="#{richExtendedDataTableBean.attributes['filterVar']}"
+ filteringListeners="#{richExtendedDataTableBean.attributes['filteringListeners']}"
+ first="#{richExtendedDataTableBean.attributes['first']}"
+ iterationState="#{richExtendedDataTableBean.attributes['iterationState']}"
+ iterationStatusVar="#{richExtendedDataTableBean.attributes['iterationStatusVar']}"
+ keepSaved="#{richExtendedDataTableBean.attributes['keepSaved']}"
+ noDataLabel="#{richExtendedDataTableBean.attributes['noDataLabel']}"
+ relativeRowIndex="#{richExtendedDataTableBean.attributes['relativeRowIndex']}"
+ rendered="#{richExtendedDataTableBean.attributes['rendered']}"
+ rowAvailable="#{richExtendedDataTableBean.attributes['rowAvailable']}"
+ rowCount="#{richExtendedDataTableBean.attributes['rowCount']}"
+ rowData="#{richExtendedDataTableBean.attributes['rowData']}"
+ rowIndex="#{richExtendedDataTableBean.attributes['rowIndex']}"
+ rowKey="#{richExtendedDataTableBean.attributes['rowKey']}"
+ rowKeyConverter="#{richExtendedDataTableBean.attributes['rowKeyConverter']}"
+ rows="#{richExtendedDataTableBean.attributes['rows']}"
+ sortMode="#{richExtendedDataTableBean.attributes['sortMode']}"
+ sortPriority="#{richExtendedDataTableBean.attributes['sortPriority']}"
+ sortingListeners="#{richExtendedDataTableBean.attributes['sortingListeners']}"
+ style="#{richExtendedDataTableBean.attributes['style']}"
+ styleClass="#{richExtendedDataTableBean.attributes['styleClass']}"
+ value="#{richExtendedDataTableBean.state ? model.capitals : null}"
+ var="record"
+
+
+ >
+
+ <f:facet name="noData">
+ <h:outputText value="There is no data." style="color: red;"/>
+ </f:facet>
+
+ <f:facet name="caption">
+ <h:outputText id="captionFacet" value="Caption Facet" />
+ </f:facet>
+
+ <f:facet name="header">
+ <h:outputText value="Header Facet" />
+ </f:facet>
+
+ <it:column id="columnState" sortBy="#{record.state}">
+ <f:facet name="header">
+ <h:outputText id="columnHeaderState" value="State Header" />
+ </f:facet>
+
+ <h:outputText value="#{record.state}" />
+ <f:facet name="footer">
+ <h:outputText id="columnFooterState" value="State Footer" />
+ </f:facet>
+ </it:column>
+
+ <it:column id="columnCapital" sortBy="#{record.name}">
+ <f:facet name="header">
+ <h:outputText id="columnHeaderCapital" value="Capital Header" />
+ </f:facet>
+
+ <h:outputText value="#{record.name}" />
+ <f:facet name="footer">
+ <h:outputText id="columnFooterCapital" value="Capital Footer" />
+ </f:facet>
+ </it:column>
+
+ </it:extendedDataTable>
+ </ui:define>
+
+ <ui:define name="outOfTemplateAfter">
+ <h:commandButton value="sort states">
+ <cc:componentControl event="click" target="richEDT" operation="sort"/>
+ </h:commandButton>
+
+ <h:commandButton value="sort capitals">
+ <cc:componentControl event="click" target="richEDT" operation="sort">
+ <f:param value="columnCapital" />
+ </cc:componentControl>
+ </h:commandButton>
+
+ <br/><br/>
+
+ <ta:attributes value="#{richExtendedDataTableBean.attributes}" id="attributes" />
+ </ui:define>
+
+ </ui:composition>
+</html>
\ No newline at end of file
Added: root/tests/metamer/trunk/src/main/webapp/resources/css/richDataScroller.css
===================================================================
Added: root/tests/metamer/trunk/src/main/webapp/resources/css/richExtendedDataTable.css
===================================================================
--- root/tests/metamer/trunk/src/main/webapp/resources/css/richExtendedDataTable.css (rev 0)
+++ root/tests/metamer/trunk/src/main/webapp/resources/css/richExtendedDataTable.css 2010-07-10 19:12:18 UTC (rev 17836)
@@ -0,0 +1,16 @@
+.align-center {
+ text-align: center;
+}
+
+.align-left {
+ text-align: left;
+}
+
+.align-right {
+ text-align: right;
+}
+
+.extended-data-table {
+ width: 300;
+ height: 400px;
+}
\ No newline at end of file
14 years, 6 months
JBoss Rich Faces SVN: r17834 - in root/tests/metamer/trunk/src/main: resources/org/richfaces/testapp/bean and 1 other directories.
by richfaces-svn-commits@lists.jboss.org
Author: lfryc(a)redhat.com
Date: 2010-07-10 15:08:40 -0400 (Sat, 10 Jul 2010)
New Revision: 17834
Added:
root/tests/metamer/trunk/src/main/java/org/richfaces/testapp/bean/A4JOutputPanelBean.java
root/tests/metamer/trunk/src/main/resources/org/richfaces/testapp/bean/A4JOutputPanelBean.properties
Modified:
root/tests/metamer/trunk/src/main/java/org/richfaces/testapp/bean/A4JMediaOutputBean.java
root/tests/metamer/trunk/src/main/java/org/richfaces/testapp/bean/A4JPollBean.java
root/tests/metamer/trunk/src/main/java/org/richfaces/testapp/bean/RichBean.java
root/tests/metamer/trunk/src/main/webapp/components/a4jMediaOutput/image.xhtml
Log:
https://jira.jboss.org/browse/RFPL-466
* added a4j:outputPanel
* removed unnecessary code from a4j:poll bean
* a4j:mediaOutput fixed
Modified: root/tests/metamer/trunk/src/main/java/org/richfaces/testapp/bean/A4JMediaOutputBean.java
===================================================================
--- root/tests/metamer/trunk/src/main/java/org/richfaces/testapp/bean/A4JMediaOutputBean.java 2010-07-10 19:06:08 UTC (rev 17833)
+++ root/tests/metamer/trunk/src/main/java/org/richfaces/testapp/bean/A4JMediaOutputBean.java 2010-07-10 19:08:40 UTC (rev 17834)
@@ -65,6 +65,12 @@
logger.info("initializing bean " + getClass().getName());
attributes = Attributes.getUIComponentAttributes(UIMediaOutput.class, getClass());
+ attributes.put("session", true);
+ attributes.put("rendered", true);
+ attributes.remove("createContent");
+ attributes.remove("element");
+ attributes.remove("value");
+ attributes.remove("mimeType");
}
/**
Copied: root/tests/metamer/trunk/src/main/java/org/richfaces/testapp/bean/A4JOutputPanelBean.java (from rev 17833, root/tests/metamer/trunk/src/main/java/org/richfaces/testapp/bean/A4JPollBean.java)
===================================================================
--- root/tests/metamer/trunk/src/main/java/org/richfaces/testapp/bean/A4JOutputPanelBean.java (rev 0)
+++ root/tests/metamer/trunk/src/main/java/org/richfaces/testapp/bean/A4JOutputPanelBean.java 2010-07-10 19:08:40 UTC (rev 17834)
@@ -0,0 +1,98 @@
+/*******************************************************************************
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc. and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ *******************************************************************************/
+package org.richfaces.testapp.bean;
+
+import java.io.Serializable;
+
+import javax.annotation.PostConstruct;
+import javax.faces.bean.ManagedBean;
+import javax.faces.bean.SessionScoped;
+import org.richfaces.component.UIOutputPanel;
+
+import org.richfaces.testapp.Attributes;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+/**
+ * Managed bean for a4j:outputPanel.
+ *
+ * @author <a href="mailto:ppitonak@redhat.com">Pavol Pitonak</a>
+ * @version $Revision$
+ */
+@ManagedBean(name = "a4jOutputPanelBean")
+@SessionScoped
+public class A4JOutputPanelBean implements Serializable {
+
+ private static final long serialVersionUID = 4814439475400649809L;
+ private static Logger logger;
+ private Attributes attributes;
+ private int counter;
+
+ /**
+ * Initializes the managed bean.
+ */
+ @PostConstruct
+ public void init() {
+ logger = LoggerFactory.getLogger(getClass());
+ logger.debug("initializing bean " + getClass().getName());
+
+ attributes = Attributes.getUIComponentAttributes(UIOutputPanel.class, getClass());
+ attributes.put("ajaxRendered", true);
+ attributes.put("layout", "block");
+ attributes.put("rendered", true);
+ attributes.put("styleClass", "");
+ }
+
+ /**
+ * Getter for attributes.
+ *
+ * @return A map containing all attributes of tested component. Name of the component is key in the map.
+ */
+ public Attributes getAttributes() {
+ return attributes;
+ }
+
+ /**
+ * Setter for attributes.
+ *
+ * @param attributes
+ * map containing all attributes of tested component. Name of the component is key in the map.
+ */
+ public void setAttributes(Attributes attributes) {
+ this.attributes = attributes;
+ }
+
+ public int getCounter() {
+ return counter;
+ }
+
+ public void setCounter(int counter) {
+ this.counter = counter;
+ }
+
+ public String increaseCounterAction() {
+ counter++;
+ return null;
+ }
+
+}
+
Modified: root/tests/metamer/trunk/src/main/java/org/richfaces/testapp/bean/A4JPollBean.java
===================================================================
--- root/tests/metamer/trunk/src/main/java/org/richfaces/testapp/bean/A4JPollBean.java 2010-07-10 19:06:08 UTC (rev 17833)
+++ root/tests/metamer/trunk/src/main/java/org/richfaces/testapp/bean/A4JPollBean.java 2010-07-10 19:08:40 UTC (rev 17834)
@@ -35,9 +35,9 @@
import org.slf4j.LoggerFactory;
/**
- * Managed bean for a4j:push.
+ * Managed bean for a4j:poll.
*
- * @author Nick Belaevski, <a href="mailto:ppitonak@redhat.com">Pavol Pitonak</a>
+ * @author <a href="mailto:ppitonak@redhat.com">Pavol Pitonak</a>
* @version $Revision$
*/
@ManagedBean(name = "a4jPollBean")
@@ -87,16 +87,6 @@
return new Date();
}
- public void enablePoll(ActionEvent event) {
- logger.debug("enablePoll");
- attributes.put("enabled", true);
- }
-
- public void disablePoll(ActionEvent event) {
- logger.debug("disablePoll");
- attributes.put("enabled", false);
- }
-
public int getCounter() {
return counter;
}
@@ -106,7 +96,6 @@
}
public String increaseCounterAction() {
- logger.debug("increaseCounterAction");
counter++;
return null;
}
Modified: root/tests/metamer/trunk/src/main/java/org/richfaces/testapp/bean/RichBean.java
===================================================================
--- root/tests/metamer/trunk/src/main/java/org/richfaces/testapp/bean/RichBean.java 2010-07-10 19:06:08 UTC (rev 17833)
+++ root/tests/metamer/trunk/src/main/java/org/richfaces/testapp/bean/RichBean.java 2010-07-10 19:08:40 UTC (rev 17834)
@@ -94,6 +94,7 @@
components.put("a4jCommandButton", "A4J Command Button");
components.put("a4jLog", "A4J Log");
components.put("a4jMediaOutput", "A4J Media Output");
+ components.put("a4jOutputPanel", "A4J Output Panel");
components.put("a4jPoll", "A4J Poll");
components.put("a4jPush", "A4J Push");
components.put("commandButton", "JSF Command Button");
Added: root/tests/metamer/trunk/src/main/resources/org/richfaces/testapp/bean/A4JOutputPanelBean.properties
===================================================================
--- root/tests/metamer/trunk/src/main/resources/org/richfaces/testapp/bean/A4JOutputPanelBean.properties (rev 0)
+++ root/tests/metamer/trunk/src/main/resources/org/richfaces/testapp/bean/A4JOutputPanelBean.properties 2010-07-10 19:08:40 UTC (rev 17834)
@@ -0,0 +1,7 @@
+attr.layout.block=block
+attr.layout.inline=inline
+attr.layout.none=none
+
+attr.styleClass.blue-background=blue-background
+attr.styleClass.gray-background=gray-background
+attr.styleClass.none=
\ No newline at end of file
Modified: root/tests/metamer/trunk/src/main/webapp/components/a4jMediaOutput/image.xhtml
===================================================================
--- root/tests/metamer/trunk/src/main/webapp/components/a4jMediaOutput/image.xhtml 2010-07-10 19:06:08 UTC (rev 17833)
+++ root/tests/metamer/trunk/src/main/webapp/components/a4jMediaOutput/image.xhtml 2010-07-10 19:08:40 UTC (rev 17834)
@@ -18,8 +18,61 @@
</ui:define>
<ui:define name="component">
- <a4j:mediaOutput id="mediaOutput" createContent="#{a4jMediaOutputBean.paint}" value="#{mediaData}"
- element="img" cacheable="false" session="true" mimeType="image/jpeg" />
+ <a4j:mediaOutput id="mediaOutput"
+ accesskey="#{a4jMediaOutputBean.attributes['accesskey']}"
+ align="#{a4jMediaOutputBean.attributes['align']}"
+ archive="#{a4jMediaOutputBean.attributes['archive']}"
+ border="#{a4jMediaOutputBean.attributes['border']}"
+ cacheable="#{a4jMediaOutputBean.attributes['cacheable']}"
+ charset="#{a4jMediaOutputBean.attributes['charset']}"
+ classid="#{a4jMediaOutputBean.attributes['classid']}"
+ codebase="#{a4jMediaOutputBean.attributes['codebase']}"
+ codetype="#{a4jMediaOutputBean.attributes['codetype']}"
+ converter="#{a4jMediaOutputBean.attributes['converter']}"
+ coords="#{a4jMediaOutputBean.attributes['coords']}"
+ createContent="#{a4jMediaOutputBean.paint}"
+ createContentExpression="#{a4jMediaOutputBean.attributes['createContentExpression']}"
+ declare="#{a4jMediaOutputBean.attributes['declare']}"
+ dir="#{a4jMediaOutputBean.attributes['dir']}"
+ element="img"
+ expires="#{a4jMediaOutputBean.attributes['expires']}"
+ hreflang="#{a4jMediaOutputBean.attributes['hreflang']}"
+ hspace="#{a4jMediaOutputBean.attributes['hspace']}"
+ ismap="#{a4jMediaOutputBean.attributes['ismap']}"
+ lang="#{a4jMediaOutputBean.attributes['lang']}"
+ lastmodified="#{a4jMediaOutputBean.attributes['lastmodified']}"
+ localValue="#{a4jMediaOutputBean.attributes['localValue']}"
+ mimeType="image/jpeg"
+ onblur="#{a4jMediaOutputBean.attributes['onblur']}"
+ onclick="#{a4jMediaOutputBean.attributes['onclick']}"
+ ondblclick="#{a4jMediaOutputBean.attributes['ondblclick']}"
+ onfocus="#{a4jMediaOutputBean.attributes['onfocus']}"
+ onkeydown="#{a4jMediaOutputBean.attributes['onkeydown']}"
+ onkeypress="#{a4jMediaOutputBean.attributes['onkeypress']}"
+ onkeyup="#{a4jMediaOutputBean.attributes['onkeyup']}"
+ onmousedown="#{a4jMediaOutputBean.attributes['onmousedown']}"
+ onmousemove="#{a4jMediaOutputBean.attributes['onmousemove']}"
+ onmouseout="#{a4jMediaOutputBean.attributes['onmouseout']}"
+ onmouseover="#{a4jMediaOutputBean.attributes['onmouseover']}"
+ onmouseup="#{a4jMediaOutputBean.attributes['onmouseup']}"
+ rel="#{a4jMediaOutputBean.attributes['rel']}"
+ rendered="#{a4jMediaOutputBean.attributes['rendered']}"
+ resource="#{a4jMediaOutputBean.attributes['resource']}"
+ rev="#{a4jMediaOutputBean.attributes['rev']}"
+ session="#{a4jMediaOutputBean.attributes['session']}"
+ shape="#{a4jMediaOutputBean.attributes['shape']}"
+ standby="#{a4jMediaOutputBean.attributes['standby']}"
+ style="#{a4jMediaOutputBean.attributes['style']}"
+ styleClass="#{a4jMediaOutputBean.attributes['styleClass']}"
+ tabindex="#{a4jMediaOutputBean.attributes['tabindex']}"
+ target="#{a4jMediaOutputBean.attributes['target']}"
+ title="#{a4jMediaOutputBean.attributes['title']}"
+ type="#{a4jMediaOutputBean.attributes['type']}"
+ urlAttribute="#{a4jMediaOutputBean.attributes['urlAttribute']}"
+ usermap="#{a4jMediaOutputBean.attributes['usermap']}"
+ value="#{mediaData}"
+ vspace="#{a4jMediaOutputBean.attributes['vspace']}"
+ />
</ui:define>
<ui:define name="outOfTemplateAfter">
14 years, 6 months
JBoss Rich Faces SVN: r17833 - in root/tests/metamer/trunk/src/main: java/org/richfaces/testapp/bean and 5 other directories.
by richfaces-svn-commits@lists.jboss.org
Author: lfryc(a)redhat.com
Date: 2010-07-10 15:06:08 -0400 (Sat, 10 Jul 2010)
New Revision: 17833
Added:
root/tests/metamer/trunk/src/main/java/org/richfaces/testapp/bean/A4JPollBean.java
root/tests/metamer/trunk/src/main/java/org/richfaces/testapp/bean/A4JPushBean.java
root/tests/metamer/trunk/src/main/resources/org/richfaces/testapp/bean/A4JPollBean.properties
root/tests/metamer/trunk/src/main/resources/org/richfaces/testapp/bean/A4JPushBean.properties
root/tests/metamer/trunk/src/main/webapp/components/a4jPoll/
root/tests/metamer/trunk/src/main/webapp/components/a4jPoll/list.xhtml
root/tests/metamer/trunk/src/main/webapp/components/a4jPoll/simple.xhtml
root/tests/metamer/trunk/src/main/webapp/components/a4jPush/
root/tests/metamer/trunk/src/main/webapp/components/a4jPush/list.xhtml
root/tests/metamer/trunk/src/main/webapp/components/a4jPush/simple.xhtml
root/tests/metamer/trunk/src/main/webapp/resources/css/a4jPoll.css
root/tests/metamer/trunk/src/main/webapp/resources/css/a4jPush.css
Modified:
root/tests/metamer/trunk/src/main/java/org/richfaces/testapp/Attributes.java
root/tests/metamer/trunk/src/main/java/org/richfaces/testapp/bean/RichBean.java
Log:
https://jira.jboss.org/jira/browse/RFPL-466
* added a4j:push and a4j:poll
* invocation of action and actionListener in class Attributes fixed
Modified: root/tests/metamer/trunk/src/main/java/org/richfaces/testapp/Attributes.java
===================================================================
--- root/tests/metamer/trunk/src/main/java/org/richfaces/testapp/Attributes.java 2010-07-10 19:02:19 UTC (rev 17832)
+++ root/tests/metamer/trunk/src/main/java/org/richfaces/testapp/Attributes.java 2010-07-10 19:06:08 UTC (rev 17833)
@@ -390,6 +390,10 @@
MethodExpression method = null;
String outcome = (String) attributes.get("action");
+ if (outcome == null) {
+ return null;
+ }
+
// if no select options for "action" are defined in property file and it is an EL expression
if (!hasSelectOptions("action") && isStringEL(outcome)) {
method = ExpressionFactory.newInstance().createMethodExpression(elContext, outcome, String.class, new Class[0]);
@@ -419,6 +423,10 @@
MethodExpression method = null;
String listener = (String) attributes.get("actionListener");
+ if (listener == null) {
+ return;
+ }
+
// if no select options for "actionListener" are defined in property file and it is an EL expression
if (!hasSelectOptions("actionListener") && isStringEL(listener)) {
method = ExpressionFactory.newInstance().createMethodExpression(elContext, listener, void.class,
Added: root/tests/metamer/trunk/src/main/java/org/richfaces/testapp/bean/A4JPollBean.java
===================================================================
--- root/tests/metamer/trunk/src/main/java/org/richfaces/testapp/bean/A4JPollBean.java (rev 0)
+++ root/tests/metamer/trunk/src/main/java/org/richfaces/testapp/bean/A4JPollBean.java 2010-07-10 19:06:08 UTC (rev 17833)
@@ -0,0 +1,127 @@
+/*******************************************************************************
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc. and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ *******************************************************************************/
+package org.richfaces.testapp.bean;
+
+import java.io.Serializable;
+import java.util.Date;
+
+import javax.annotation.PostConstruct;
+import javax.faces.bean.ManagedBean;
+import javax.faces.bean.SessionScoped;
+import javax.faces.event.ActionEvent;
+import org.richfaces.component.UIPoll;
+
+import org.richfaces.testapp.Attributes;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+/**
+ * Managed bean for a4j:push.
+ *
+ * @author Nick Belaevski, <a href="mailto:ppitonak@redhat.com">Pavol Pitonak</a>
+ * @version $Revision$
+ */
+@ManagedBean(name = "a4jPollBean")
+@SessionScoped
+public class A4JPollBean implements Serializable {
+
+ private static final long serialVersionUID = 4810889475400649809L;
+ private static Logger logger;
+ private Attributes attributes;
+ private int counter;
+
+ /**
+ * Initializes the managed bean.
+ */
+ @PostConstruct
+ public void init() {
+ logger = LoggerFactory.getLogger(getClass());
+ logger.debug("initializing bean " + getClass().getName());
+
+ attributes = Attributes.getUIComponentAttributes(UIPoll.class, getClass());
+ attributes.put("rendered", true);
+ attributes.put("interval", 5000);
+ attributes.put("action", "increaseCounterAction");
+ attributes.put("actionListener", "increaseCounter3ActionListener");
+ }
+
+ /**
+ * Getter for attributes.
+ *
+ * @return A map containing all attributes of tested component. Name of the component is key in the map.
+ */
+ public Attributes getAttributes() {
+ return attributes;
+ }
+
+ /**
+ * Setter for attributes.
+ *
+ * @param attributes
+ * map containing all attributes of tested component. Name of the component is key in the map.
+ */
+ public void setAttributes(Attributes attributes) {
+ this.attributes = attributes;
+ }
+
+ public Date getDate() {
+ return new Date();
+ }
+
+ public void enablePoll(ActionEvent event) {
+ logger.debug("enablePoll");
+ attributes.put("enabled", true);
+ }
+
+ public void disablePoll(ActionEvent event) {
+ logger.debug("disablePoll");
+ attributes.put("enabled", false);
+ }
+
+ public int getCounter() {
+ return counter;
+ }
+
+ public void setCounter(int counter) {
+ this.counter = counter;
+ }
+
+ public String increaseCounterAction() {
+ logger.debug("increaseCounterAction");
+ counter++;
+ return null;
+ }
+
+ public String decreaseCounterAction() {
+ counter--;
+ return null;
+ }
+
+ public void increaseCounter3ActionListener(ActionEvent event) {
+ counter += 3;
+ }
+
+ public void decreaseCounter3ActionListener(ActionEvent event) {
+ counter -= 3;
+ }
+}
+
Added: root/tests/metamer/trunk/src/main/java/org/richfaces/testapp/bean/A4JPushBean.java
===================================================================
--- root/tests/metamer/trunk/src/main/java/org/richfaces/testapp/bean/A4JPushBean.java (rev 0)
+++ root/tests/metamer/trunk/src/main/java/org/richfaces/testapp/bean/A4JPushBean.java 2010-07-10 19:06:08 UTC (rev 17833)
@@ -0,0 +1,134 @@
+/*******************************************************************************
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc. and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ *******************************************************************************/
+package org.richfaces.testapp.bean;
+
+import java.io.Serializable;
+import java.text.SimpleDateFormat;
+import java.util.Date;
+import java.util.EventListener;
+import java.util.EventObject;
+
+import javax.annotation.PostConstruct;
+import javax.faces.bean.ManagedBean;
+import javax.faces.bean.SessionScoped;
+import javax.faces.event.ActionEvent;
+import org.ajax4jsf.event.PushEventListener;
+import org.richfaces.component.UIPush;
+
+import org.richfaces.testapp.Attributes;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+/**
+ * Managed bean for a4j:push.
+ *
+ * @author Nick Belaevski, <a href="mailto:ppitonak@redhat.com">Pavol Pitonak</a>
+ * @version $Revision$
+ */
+@ManagedBean(name = "a4jPushBean")
+@SessionScoped
+public class A4JPushBean implements Serializable {
+
+ private static final long serialVersionUID = 4810889475400649809L;
+ private static Logger logger;
+ private Attributes attributes;
+ private int counter = 0;
+ private transient volatile PushEventListener listener;
+ private String formattedDate = null;
+
+ /**
+ * Initializes the managed bean.
+ */
+ @PostConstruct
+ public void init() {
+ logger = LoggerFactory.getLogger(getClass());
+ logger.debug("initializing bean " + getClass().getName());
+
+ attributes = Attributes.getUIComponentAttributes(UIPush.class, getClass());
+ attributes.put("interval", 1000);
+ attributes.put("action", "increaseCounterAction");
+ attributes.put("actionListener", "increaseCounter3ActionListener");
+ attributes.put("rendered", true);
+ attributes.put("enabled", true);
+
+ // will be set on page and cannot be changed
+ attributes.remove("eventProducer");
+ }
+
+ /**
+ * Getter for attributes.
+ *
+ * @return A map containing all attributes of tested component. Name of the component is key in the map.
+ */
+ public Attributes getAttributes() {
+ return attributes;
+ }
+
+ /**
+ * Setter for attributes.
+ *
+ * @param attributes
+ * map containing all attributes of tested component. Name of the component is key in the map.
+ */
+ public void setAttributes(Attributes attributes) {
+ this.attributes = attributes;
+ }
+
+ public void setListener(EventListener listener) {
+ this.listener = (PushEventListener) listener;
+ }
+
+ public void generateEvent() {
+ listener.onEvent(new EventObject(this));
+ }
+
+ public int getCounter() {
+ return counter;
+ }
+
+ public String increaseCounterAction() {
+ counter++;
+ return null;
+ }
+
+ public String decreaseCounterAction() {
+ counter--;
+ return null;
+ }
+
+ public void increaseCounter3ActionListener(ActionEvent event) {
+ counter += 3;
+ }
+
+ public void decreaseCounter3ActionListener(ActionEvent event) {
+ counter -= 3;
+ }
+
+ public String getDateString() {
+ if (formattedDate == null) {
+ formattedDate = new SimpleDateFormat("HH:mm:ss SSSS").format(new Date());
+ }
+
+ return formattedDate;
+ }
+}
+
Modified: root/tests/metamer/trunk/src/main/java/org/richfaces/testapp/bean/RichBean.java
===================================================================
--- root/tests/metamer/trunk/src/main/java/org/richfaces/testapp/bean/RichBean.java 2010-07-10 19:02:19 UTC (rev 17832)
+++ root/tests/metamer/trunk/src/main/java/org/richfaces/testapp/bean/RichBean.java 2010-07-10 19:06:08 UTC (rev 17833)
@@ -94,6 +94,8 @@
components.put("a4jCommandButton", "A4J Command Button");
components.put("a4jLog", "A4J Log");
components.put("a4jMediaOutput", "A4J Media Output");
+ components.put("a4jPoll", "A4J Poll");
+ components.put("a4jPush", "A4J Push");
components.put("commandButton", "JSF Command Button");
}
Added: root/tests/metamer/trunk/src/main/resources/org/richfaces/testapp/bean/A4JPollBean.properties
===================================================================
--- root/tests/metamer/trunk/src/main/resources/org/richfaces/testapp/bean/A4JPollBean.properties (rev 0)
+++ root/tests/metamer/trunk/src/main/resources/org/richfaces/testapp/bean/A4JPollBean.properties 2010-07-10 19:06:08 UTC (rev 17833)
@@ -0,0 +1,5 @@
+attr.action.increaseCounterAction=increaseCounterAction
+attr.action.decreaseCounterAction=decreaseCounterAction
+
+attr.actionListener.increaseCounter3ActionListener=increaseCounter3ActionListener
+attr.actionListener.decreaseCounter3ActionListener=decreaseCounter3ActionListener
\ No newline at end of file
Added: root/tests/metamer/trunk/src/main/resources/org/richfaces/testapp/bean/A4JPushBean.properties
===================================================================
--- root/tests/metamer/trunk/src/main/resources/org/richfaces/testapp/bean/A4JPushBean.properties (rev 0)
+++ root/tests/metamer/trunk/src/main/resources/org/richfaces/testapp/bean/A4JPushBean.properties 2010-07-10 19:06:08 UTC (rev 17833)
@@ -0,0 +1,5 @@
+attr.action.increaseCounterAction=increaseCounterAction
+attr.action.decreaseCounterAction=decreaseCounterAction
+
+attr.actionListener.increaseCounter3ActionListener=increaseCounter3ActionListener
+attr.actionListener.decreaseCounter3ActionListener=decreaseCounter3ActionListener
\ No newline at end of file
Added: root/tests/metamer/trunk/src/main/webapp/components/a4jPoll/list.xhtml
===================================================================
--- root/tests/metamer/trunk/src/main/webapp/components/a4jPoll/list.xhtml (rev 0)
+++ root/tests/metamer/trunk/src/main/webapp/components/a4jPoll/list.xhtml 2010-07-10 19:06:08 UTC (rev 17833)
@@ -0,0 +1,17 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xmlns:h="http://java.sun.com/jsf/html" xmlns:f="http://java.sun.com/jsf/core"
+ xmlns:ui="http://java.sun.com/jsf/facelets" xmlns:a4j="http://richfaces.org/a4j" xmlns:c="http://java.sun.com/jsp/jstl/core">
+
+<h:head>
+ <title>A4J Poll</title>
+ <meta http-equiv="Content-Type" content="text/xhtml; charset=UTF-8" />
+ <h:outputStylesheet library="css" name="list.css" />
+</h:head>
+
+<h:body>
+
+ <h:outputLink value="simple.xhtml" styleClass="link">Simple</h:outputLink>
+ <div class="description">Simple page that contains <b>a4j:poll</b> and input boxes for all its attributes.</div>
+
+</h:body>
+</html>
\ No newline at end of file
Added: root/tests/metamer/trunk/src/main/webapp/components/a4jPoll/simple.xhtml
===================================================================
--- root/tests/metamer/trunk/src/main/webapp/components/a4jPoll/simple.xhtml (rev 0)
+++ root/tests/metamer/trunk/src/main/webapp/components/a4jPoll/simple.xhtml 2010-07-10 19:06:08 UTC (rev 17833)
@@ -0,0 +1,50 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xmlns:h="http://java.sun.com/jsf/html" xmlns:f="http://java.sun.com/jsf/core"
+ xmlns:ui="http://java.sun.com/jsf/facelets" xmlns:a4j="http://richfaces.org/a4j"
+ xmlns:ta="http://java.sun.com/jsf/composite/testapp">
+
+ <ui:composition template="/templates/template.xhtml">
+
+ <ui:define name="head">
+ <f:metadata>
+ <f:viewParam name="templates" value="#{templateBean.templates}">
+ <f:converter converterId="templatesListConverter" />
+ </f:viewParam>
+ </f:metadata>
+ <h:outputStylesheet library="css" name="a4jPoll.css"/>
+ </ui:define>
+
+ <ui:define name="outOfTemplateBefore">
+ </ui:define>
+
+ <ui:define name="component">
+ <h:panelGroup id="pollPanel">
+ <a4j:poll id="poll"
+ action="#{a4jPollBean.attributes.action}"
+ actionListener="#{a4jPollBean.attributes.actionListener}"
+ bypassUpdates="#{a4jPollBean.attributes['bypassUpdates']}"
+ enabled="#{a4jPollBean.attributes['enabled']}"
+ immediate="#{a4jPollBean.attributes['immediate']}"
+ interval="#{a4jPollBean.attributes['interval']}"
+ onbeforedomupdate="#{a4jPollBean.attributes['onbeforedomupdate']}"
+ onbegin="#{a4jPollBean.attributes['onbegin']}"
+ oncomplete="#{a4jPollBean.attributes['oncomplete']}"
+ ontimer="#{a4jPollBean.attributes['ontimer']}"
+ rendered="#{a4jPollBean.attributes['rendered']}"
+ value="#{a4jPollBean.attributes['value']}"
+ >
+ <a4j:ajax event="timer" render="time" />
+ </a4j:poll>
+ </h:panelGroup>
+
+ <h:panelGroup id="time">
+ #{a4jPollBean.date} *** #{a4jPollBean.counter}
+ </h:panelGroup>
+ </ui:define>
+
+ <ui:define name="outOfTemplateAfter">
+ <ta:attributes value="#{a4jPollBean.attributes}" id="attributes" />
+ </ui:define>
+
+ </ui:composition>
+</html>
\ No newline at end of file
Added: root/tests/metamer/trunk/src/main/webapp/components/a4jPush/list.xhtml
===================================================================
--- root/tests/metamer/trunk/src/main/webapp/components/a4jPush/list.xhtml (rev 0)
+++ root/tests/metamer/trunk/src/main/webapp/components/a4jPush/list.xhtml 2010-07-10 19:06:08 UTC (rev 17833)
@@ -0,0 +1,17 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xmlns:h="http://java.sun.com/jsf/html" xmlns:f="http://java.sun.com/jsf/core"
+ xmlns:ui="http://java.sun.com/jsf/facelets" xmlns:a4j="http://richfaces.org/a4j" xmlns:c="http://java.sun.com/jsp/jstl/core">
+
+<h:head>
+ <title>A4J Push</title>
+ <meta http-equiv="Content-Type" content="text/xhtml; charset=UTF-8" />
+ <h:outputStylesheet library="css" name="list.css" />
+</h:head>
+
+<h:body>
+
+ <h:outputLink value="simple.xhtml" styleClass="link">Simple</h:outputLink>
+ <div class="description">Simple page that contains <b>a4j:push</b> and input boxes for all its attributes.</div>
+
+</h:body>
+</html>
\ No newline at end of file
Added: root/tests/metamer/trunk/src/main/webapp/components/a4jPush/simple.xhtml
===================================================================
--- root/tests/metamer/trunk/src/main/webapp/components/a4jPush/simple.xhtml (rev 0)
+++ root/tests/metamer/trunk/src/main/webapp/components/a4jPush/simple.xhtml 2010-07-10 19:06:08 UTC (rev 17833)
@@ -0,0 +1,55 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xmlns:h="http://java.sun.com/jsf/html" xmlns:f="http://java.sun.com/jsf/core"
+ xmlns:ui="http://java.sun.com/jsf/facelets" xmlns:a4j="http://richfaces.org/a4j"
+ xmlns:ta="http://java.sun.com/jsf/composite/testapp">
+
+ <ui:composition template="/templates/template.xhtml">
+
+ <ui:define name="head">
+ <f:metadata>
+ <f:viewParam name="templates" value="#{templateBean.templates}">
+ <f:converter converterId="templatesListConverter" />
+ </f:viewParam>
+ </f:metadata>
+ <h:outputStylesheet library="css" name="a4jPush.css"/>
+ </ui:define>
+
+ <ui:define name="outOfTemplateBefore">
+ </ui:define>
+
+ <ui:define name="component">
+ <h:panelGrid columns="2">
+ Time: <h:panelGroup id="time">#{a4jPushBean.dateString} * #{a4jPushBean.counter}</h:panelGroup>
+ </h:panelGrid>
+ <a4j:push id="push"
+ action="#{a4jPushBean.attributes.action}"
+ actionListener="#{a4jPushBean.attributes.actionListener}"
+ bypassUpdates="#{a4jPushBean.attributes['bypassUpdates']}"
+ enabled="#{a4jPushBean.attributes['enabled']}"
+ eventProducer="#{a4jPushBean.setListener}"
+ hasActiveBehavior="#{a4jPushBean.attributes['hasActiveBehavior']}"
+ immediate="#{a4jPushBean.attributes['immediate']}"
+ interval="#{a4jPushBean.attributes['interval']}"
+ onbeforedomupdate="#{a4jPushBean.attributes['onbeforedomupdate']}"
+ onbegin="#{a4jPushBean.attributes['onbegin']}"
+ oncomplete="#{a4jPushBean.attributes['oncomplete']}"
+ ondataavailable="#{a4jPushBean.attributes['ondataavailable']}"
+ rendered="#{a4jPushBean.attributes['rendered']}"
+ value="#{a4jPushBean.attributes['value']}"
+ >
+ <f:ajax render="#{'form:time'}" />
+ <f:param name="testParam" value="testValue" />
+ <f:param name="testParam1" value="testValue1" />
+ </a4j:push>
+
+ <h:commandLink value="Generate push event" action="#{a4jPushBean.generateEvent}">
+ <f:ajax render="@none" />
+ </h:commandLink>
+ </ui:define>
+
+ <ui:define name="outOfTemplateAfter">
+ <ta:attributes value="#{a4jPushBean.attributes}" id="attributes" />
+ </ui:define>
+
+ </ui:composition>
+</html>
\ No newline at end of file
Added: root/tests/metamer/trunk/src/main/webapp/resources/css/a4jPoll.css
===================================================================
Added: root/tests/metamer/trunk/src/main/webapp/resources/css/a4jPush.css
===================================================================
14 years, 6 months
JBoss Rich Faces SVN: r17832 - root/tests/metamer/trunk.
by richfaces-svn-commits@lists.jboss.org
Author: lfryc(a)redhat.com
Date: 2010-07-10 15:02:19 -0400 (Sat, 10 Jul 2010)
New Revision: 17832
Modified:
root/tests/metamer/trunk/pom.xml
Log:
added jboss repository
Modified: root/tests/metamer/trunk/pom.xml
===================================================================
--- root/tests/metamer/trunk/pom.xml 2010-07-10 19:02:00 UTC (rev 17831)
+++ root/tests/metamer/trunk/pom.xml 2010-07-10 19:02:19 UTC (rev 17832)
@@ -334,11 +334,13 @@
<id>maven-repository2.dev.java.net</id>
<name>Java.net Repository for Maven 2</name>
<url>http://download.java.net/maven/2</url>
- <snapshots>
- <enabled>true</enabled>
- </snapshots>
</repository>
- </repositories>
+ <repository>
+ <id>jboss-public-repository-group</id>
+ <name>JBoss Public Maven Repository Group</name>
+ <url>https://repository.jboss.org/nexus/content/groups/public/</url>
+ </repository>
+ </repositories>
</project>
14 years, 6 months
JBoss Rich Faces SVN: r17831 - in root/tests/metamer/trunk: src/main/java/org/richfaces/testapp and 14 other directories.
by richfaces-svn-commits@lists.jboss.org
Author: lfryc(a)redhat.com
Date: 2010-07-10 15:02:00 -0400 (Sat, 10 Jul 2010)
New Revision: 17831
Added:
root/tests/metamer/trunk/src/main/java/org/richfaces/testapp/bean/A4JActionListenerBean.java
root/tests/metamer/trunk/src/main/resources/log4j.properties
root/tests/metamer/trunk/src/main/webapp/components/a4jActionListener/
root/tests/metamer/trunk/src/main/webapp/components/a4jActionListener/all.xhtml
root/tests/metamer/trunk/src/main/webapp/components/a4jActionListener/list.xhtml
root/tests/metamer/trunk/src/main/webapp/components/a4jAjax/hCommandButton.xhtml
root/tests/metamer/trunk/src/main/webapp/components/a4jAjax/hCommandLink.xhtml
root/tests/metamer/trunk/src/main/webapp/components/a4jAjax/hGraphicImage.xhtml
root/tests/metamer/trunk/src/main/webapp/components/a4jAjax/hInputSecret.xhtml
root/tests/metamer/trunk/src/main/webapp/components/a4jAjax/hInputText.xhtml
root/tests/metamer/trunk/src/main/webapp/components/a4jAjax/hInputTextarea.xhtml
root/tests/metamer/trunk/src/main/webapp/components/a4jAjax/hSelectBooleanCheckbox.xhtml
root/tests/metamer/trunk/src/main/webapp/components/a4jAjax/hSelectManyCheckbox.xhtml
root/tests/metamer/trunk/src/main/webapp/components/a4jAjax/hSelectManyListbox.xhtml
root/tests/metamer/trunk/src/main/webapp/components/a4jAjax/hSelectManyMenu.xhtml
root/tests/metamer/trunk/src/main/webapp/components/a4jAjax/hSelectOneListbox.xhtml
root/tests/metamer/trunk/src/main/webapp/components/a4jAjax/hSelectOneMenu.xhtml
root/tests/metamer/trunk/src/main/webapp/components/a4jAjax/hSelectOneRadio.xhtml
root/tests/metamer/trunk/src/main/webapp/resources/css/a4jActionListener.css
root/tests/metamer/trunk/src/main/webapp/resources/demo/
root/tests/metamer/trunk/src/main/webapp/resources/demo/actionComposite.xhtml
root/tests/metamer/trunk/src/main/webapp/resources/images/richfaces.jpg
Removed:
root/tests/metamer/trunk/src/main/webapp/components/a4jAjax/input.xhtml
Modified:
root/tests/metamer/trunk/pom.xml
root/tests/metamer/trunk/src/main/java/org/richfaces/testapp/RichPhaseListener.java
root/tests/metamer/trunk/src/main/java/org/richfaces/testapp/TemplatesList.java
root/tests/metamer/trunk/src/main/java/org/richfaces/testapp/bean/A4JAjaxBean.java
root/tests/metamer/trunk/src/main/java/org/richfaces/testapp/bean/A4JCommandButtonBean.java
root/tests/metamer/trunk/src/main/java/org/richfaces/testapp/bean/RichBean.java
root/tests/metamer/trunk/src/main/resources/org/richfaces/testapp/bean/A4JCommandButtonBean.properties
root/tests/metamer/trunk/src/main/webapp/WEB-INF/faces-config.xml
root/tests/metamer/trunk/src/main/webapp/components/a4jAjax/list.xhtml
root/tests/metamer/trunk/src/main/webapp/components/a4jLog/simple.xhtml
root/tests/metamer/trunk/src/main/webapp/index.xhtml
root/tests/metamer/trunk/src/main/webapp/templates/header.xhtml
Log:
https://jira.jboss.org/jira/browse/RFPL-466
* created a new profile in pom.xml (glassfish3)
* added slf4j-log4j12 dependency + configuration file
* logging level changed in some classes
* unnecessary code removed from TemplateList
* added pages for a4j:ajax used inside various standard JSF components
* added a4j:actionListener
Modified: root/tests/metamer/trunk/pom.xml
===================================================================
--- root/tests/metamer/trunk/pom.xml 2010-07-10 18:44:10 UTC (rev 17830)
+++ root/tests/metamer/trunk/pom.xml 2010-07-10 19:02:00 UTC (rev 17831)
@@ -32,25 +32,20 @@
</dependency>
<dependency>
- <groupId>org.richfaces.ui.dist</groupId>
+ <groupId>org.richfaces.ui</groupId>
<artifactId>richfaces-components-bom</artifactId>
<version>${project.version}</version>
<scope>import</scope>
<type>pom</type>
</dependency>
- <dependency>
- <groupId>org.slf4j</groupId>
- <artifactId>slf4j-simple</artifactId>
- <version>1.5.8</version>
- </dependency>
</dependencies>
</dependencyManagement>
<dependencies>
<!-- RichFaces 4 -->
<dependency>
- <groupId>org.richfaces.ui.dist</groupId>
+ <groupId>org.richfaces.ui</groupId>
<artifactId>richfaces-components-ui</artifactId>
</dependency>
<dependency>
@@ -90,15 +85,21 @@
<artifactId>jstl</artifactId>
</dependency>
- <!-- Simple Logging Facade for Java -->
+ <!-- Logging -->
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
- <artifactId>slf4j-simple</artifactId>
+ <artifactId>slf4j-log4j12</artifactId>
+ <version>1.5.8</version>
</dependency>
+ <dependency>
+ <groupId>log4j</groupId>
+ <artifactId>log4j</artifactId>
+ <version>1.2.16</version>
+ </dependency>
<dependency>
<groupId>org.testng</groupId>
@@ -251,8 +252,81 @@
<version>1.1</version>
<scope>provided</scope>
</dependency>
+
+ <dependency>
+ <groupId>javax.el</groupId>
+ <artifactId>el-api</artifactId>
+ <scope>provided</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.glassfish.web</groupId>
+ <artifactId>el-impl</artifactId>
+ <version>2.2</version>
+ <scope>provided</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.slf4j</groupId>
+ <artifactId>slf4j-api</artifactId>
+ <scope>provided</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.slf4j</groupId>
+ <artifactId>slf4j-log4j12</artifactId>
+ <scope>provided</scope>
+ </dependency>
+ <dependency>
+ <groupId>log4j</groupId>
+ <artifactId>log4j</artifactId>
+ <version>1.2.16</version>
+ <scope>provided</scope>
+ </dependency>
</dependencies>
</profile>
+ <profile>
+ <id>glassfish3</id>
+ <build>
+ <plugins>
+ <plugin>
+ <artifactId>maven-war-plugin</artifactId>
+ <configuration>
+ <webappDirectory>${project.build.directory}/${project.build.finalName}-glassfish3
+ </webappDirectory>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+
+ <dependencies>
+ <dependency>
+ <groupId>${jsf2.api.groupid}</groupId>
+ <artifactId>${jsf2.api.artifactid}</artifactId>
+ <scope>provided</scope>
+ </dependency>
+ <dependency>
+ <groupId>${jsf2.impl.groupid}</groupId>
+ <artifactId>${jsf2.impl.artifactid}</artifactId>
+ <scope>provided</scope>
+ </dependency>
+ <dependency>
+ <groupId>javax.transaction</groupId>
+ <artifactId>jta</artifactId>
+ <version>1.1</version>
+ <scope>provided</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>javax.el</groupId>
+ <artifactId>el-api</artifactId>
+ <scope>provided</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.glassfish.web</groupId>
+ <artifactId>el-impl</artifactId>
+ <version>2.2</version>
+ <scope>provided</scope>
+ </dependency>
+ </dependencies>
+ </profile>
</profiles>
<repositories>
Modified: root/tests/metamer/trunk/src/main/java/org/richfaces/testapp/RichPhaseListener.java
===================================================================
--- root/tests/metamer/trunk/src/main/java/org/richfaces/testapp/RichPhaseListener.java 2010-07-10 18:44:10 UTC (rev 17830)
+++ root/tests/metamer/trunk/src/main/java/org/richfaces/testapp/RichPhaseListener.java 2010-07-10 19:02:00 UTC (rev 17831)
@@ -44,14 +44,14 @@
* {@inheritDoc}
*/
public void afterPhase(PhaseEvent event) {
- logger.info("AFTER - " + event.getPhaseId());
+ logger.debug("AFTER - " + event.getPhaseId());
}
/**
* {@inheritDoc}
*/
public void beforePhase(PhaseEvent event) {
- logger.info("BEFORE - " + event.getPhaseId());
+ logger.debug("BEFORE - " + event.getPhaseId());
}
/**
Modified: root/tests/metamer/trunk/src/main/java/org/richfaces/testapp/TemplatesList.java
===================================================================
--- root/tests/metamer/trunk/src/main/java/org/richfaces/testapp/TemplatesList.java 2010-07-10 18:44:10 UTC (rev 17830)
+++ root/tests/metamer/trunk/src/main/java/org/richfaces/testapp/TemplatesList.java 2010-07-10 19:02:00 UTC (rev 17831)
@@ -55,10 +55,6 @@
templates.add(templates.size() - 1, e);
- for (Template t : templates) {
- logger.info(t.toString());
- }
-
return true;
}
Added: root/tests/metamer/trunk/src/main/java/org/richfaces/testapp/bean/A4JActionListenerBean.java
===================================================================
--- root/tests/metamer/trunk/src/main/java/org/richfaces/testapp/bean/A4JActionListenerBean.java (rev 0)
+++ root/tests/metamer/trunk/src/main/java/org/richfaces/testapp/bean/A4JActionListenerBean.java 2010-07-10 19:02:00 UTC (rev 17831)
@@ -0,0 +1,73 @@
+/*******************************************************************************
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc. and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ *******************************************************************************/
+package org.richfaces.testapp.bean;
+
+import javax.faces.application.FacesMessage;
+import javax.faces.bean.ManagedBean;
+import javax.faces.bean.NoneScoped;
+import javax.faces.context.FacesContext;
+import javax.faces.event.AbortProcessingException;
+import javax.faces.event.ActionEvent;
+import javax.faces.event.ActionListener;
+
+/**
+ * Managed bean for a4j:ajax.
+ *
+ * @author Nick Belaevski, <a href="mailto:ppitonak@redhat.com">Pavol Pitonak</a>
+ * @version $Revision$
+ */
+@ManagedBean(name = "a4jActionListenerBean")
+@NoneScoped
+public class A4JActionListenerBean {
+
+ public static final class ActionListenerImpl implements ActionListener {
+
+ public void processAction(ActionEvent event) throws AbortProcessingException {
+ addFacesMessage("Implementation of ActionListener created and called: " + this);
+ }
+ }
+
+ private static final class BoundActionListener implements ActionListener {
+
+ public void processAction(ActionEvent event) throws AbortProcessingException {
+ addFacesMessage("Bound listener called");
+ }
+ }
+ private ActionListener actionListener = new BoundActionListener();
+
+ private static void addFacesMessage(String messageText) {
+ FacesContext context = FacesContext.getCurrentInstance();
+ context.addMessage(null, new FacesMessage(messageText));
+ }
+
+ public void handleActionMethod(ActionEvent event) throws AbortProcessingException {
+ addFacesMessage("Method expression listener called");
+ }
+
+ public void handleActionMethodComposite(ActionEvent event) throws AbortProcessingException {
+ addFacesMessage("Method expression listener called from composite component");
+ }
+
+ public ActionListener getActionListener() {
+ return actionListener;
+ }
+}
Modified: root/tests/metamer/trunk/src/main/java/org/richfaces/testapp/bean/A4JAjaxBean.java
===================================================================
--- root/tests/metamer/trunk/src/main/java/org/richfaces/testapp/bean/A4JAjaxBean.java 2010-07-10 18:44:10 UTC (rev 17830)
+++ root/tests/metamer/trunk/src/main/java/org/richfaces/testapp/bean/A4JAjaxBean.java 2010-07-10 19:02:00 UTC (rev 17831)
@@ -23,6 +23,8 @@
package org.richfaces.testapp.bean;
import java.io.Serializable;
+import java.util.ArrayList;
+import java.util.List;
import javax.annotation.PostConstruct;
import javax.faces.bean.ManagedBean;
@@ -43,10 +45,13 @@
@SessionScoped
public class A4JAjaxBean implements Serializable {
- private static final long serialVersionUID = -1L;
+ private static final long serialVersionUID = -546567867L;
private static Logger logger;
private Attributes attributes;
private String input;
+ private List<String> cars;
+ private String car;
+ private boolean boolVal;
/**
* Initializes the managed bean.
@@ -57,8 +62,15 @@
logger.info("initializing bean " + getClass().getName());
attributes = Attributes.getBehaviorAttributes(AjaxBehavior.class, getClass());
- attributes.put("event", "keyup");
+ // the 'event' attribute for behavior tag must be a literal
+ attributes.remove("event");
attributes.put("render", "output");
+ attributes.put("execute", "@form");
+
+ cars = new ArrayList<String>();
+ cars.add("Ferrari");
+ cars.add("Lexus");
+ car = "Ferrari";
}
/**
@@ -95,4 +107,29 @@
public void setInput(String input) {
this.input = input;
}
+
+ public String getCar() {
+ return car;
+ }
+
+ public void setCar(String car) {
+ this.car = car;
+ }
+
+ public List<String> getCars() {
+ return cars;
+ }
+
+ public void setCars(List<String> cars) {
+ this.cars = cars;
+ }
+
+ public boolean isBoolVal() {
+ return boolVal;
+ }
+
+ public void setBoolVal(boolean boolVal) {
+ this.boolVal = boolVal;
+ }
+
}
Modified: root/tests/metamer/trunk/src/main/java/org/richfaces/testapp/bean/A4JCommandButtonBean.java
===================================================================
--- root/tests/metamer/trunk/src/main/java/org/richfaces/testapp/bean/A4JCommandButtonBean.java 2010-07-10 18:44:10 UTC (rev 17830)
+++ root/tests/metamer/trunk/src/main/java/org/richfaces/testapp/bean/A4JCommandButtonBean.java 2010-07-10 19:02:00 UTC (rev 17831)
@@ -66,6 +66,8 @@
attributes.put("rendered", "true");
attributes.put("disabled", "false");
attributes.putAttributeClass("disabled", Boolean.class);
+ attributes.put("action", "first6CharsAction");
+ attributes.put("actionListener", "toUpperCaseActionListener");
attributes.put("render", "output1 output2 output3");
}
Modified: root/tests/metamer/trunk/src/main/java/org/richfaces/testapp/bean/RichBean.java
===================================================================
--- root/tests/metamer/trunk/src/main/java/org/richfaces/testapp/bean/RichBean.java 2010-07-10 18:44:10 UTC (rev 17830)
+++ root/tests/metamer/trunk/src/main/java/org/richfaces/testapp/bean/RichBean.java 2010-07-10 19:02:00 UTC (rev 17831)
@@ -88,6 +88,7 @@
private void createComponentsMap() {
components = new TreeMap<String, String>();
+ components.put("a4jActionListener", "A4J Action Listener");
components.put("a4jAjax", "A4J Ajax");
components.put("a4jCommandLink", "A4J Command Link");
components.put("a4jCommandButton", "A4J Command Button");
Added: root/tests/metamer/trunk/src/main/resources/log4j.properties
===================================================================
--- root/tests/metamer/trunk/src/main/resources/log4j.properties (rev 0)
+++ root/tests/metamer/trunk/src/main/resources/log4j.properties 2010-07-10 19:02:00 UTC (rev 17831)
@@ -0,0 +1,9 @@
+#### Use two appenders, one to log to console, another to log to a file
+log4j.rootCategory=info, stdout
+
+#### First appender writes to console
+log4j.appender.stdout=org.apache.log4j.ConsoleAppender
+log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
+
+# Pattern to output the caller's file name and line number.
+log4j.appender.stdout.layout.ConversionPattern=%d %-5p %c{2} (%F:%L) %x - %m%n
Modified: root/tests/metamer/trunk/src/main/resources/org/richfaces/testapp/bean/A4JCommandButtonBean.properties
===================================================================
--- root/tests/metamer/trunk/src/main/resources/org/richfaces/testapp/bean/A4JCommandButtonBean.properties 2010-07-10 18:44:10 UTC (rev 17830)
+++ root/tests/metamer/trunk/src/main/resources/org/richfaces/testapp/bean/A4JCommandButtonBean.properties 2010-07-10 19:02:00 UTC (rev 17831)
@@ -0,0 +1,7 @@
+attr.action.first6CharsAction=first6CharsAction
+attr.action.doubleStringAction=doubleStringAction
+attr.action.toUpperCaseAction=toUpperCaseAction
+
+attr.actionListener.first6CharsActionListener=first6CharsActionListener
+attr.actionListener.doubleStringActionListener=doubleStringActionListener
+attr.actionListener.toUpperCaseActionListener=toUpperCaseActionListener
\ No newline at end of file
Modified: root/tests/metamer/trunk/src/main/webapp/WEB-INF/faces-config.xml
===================================================================
--- root/tests/metamer/trunk/src/main/webapp/WEB-INF/faces-config.xml 2010-07-10 18:44:10 UTC (rev 17830)
+++ root/tests/metamer/trunk/src/main/webapp/WEB-INF/faces-config.xml 2010-07-10 19:02:00 UTC (rev 17831)
@@ -3,6 +3,6 @@
<faces-config version="2.0" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xi="http://www.w3.org/2001/XInclude"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-facesconfig_2_0.xsd">
<lifecycle>
-<!-- <phase-listener>org.richfaces.testapp.RichPhaseListener</phase-listener>-->
+ <phase-listener>org.richfaces.testapp.RichPhaseListener</phase-listener>
</lifecycle>
</faces-config>
\ No newline at end of file
Added: root/tests/metamer/trunk/src/main/webapp/components/a4jActionListener/all.xhtml
===================================================================
--- root/tests/metamer/trunk/src/main/webapp/components/a4jActionListener/all.xhtml (rev 0)
+++ root/tests/metamer/trunk/src/main/webapp/components/a4jActionListener/all.xhtml 2010-07-10 19:02:00 UTC (rev 17831)
@@ -0,0 +1,50 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xmlns:h="http://java.sun.com/jsf/html" xmlns:f="http://java.sun.com/jsf/core"
+ xmlns:ui="http://java.sun.com/jsf/facelets"
+ xmlns:a4j="http://richfaces.org/a4j" xmlns:ta="http://java.sun.com/jsf/composite/testapp" xmlns:demo="http://java.sun.com/jsf/composite/demo">
+
+ <ui:composition template="/templates/template.xhtml">
+
+ <ui:define name="head">
+ <f:metadata>
+ <f:viewParam name="templates" value="#{templateBean.templates}">
+ <f:converter converterId="templatesListConverter" />
+ </f:viewParam>
+ </f:metadata>
+
+ <h:outputStylesheet library="css" name="a4jActionListener.css"/>
+ </ui:define>
+
+ <ui:define name="outOfTemplateBefore">
+ </ui:define>
+
+ <ui:define name="component">
+ <h:messages id="messages" />
+
+ <h:panelGrid columns="1">
+ <h:commandButton value="Invoke listener by type">
+ <a4j:actionListener type="org.richfaces.testapp.bean.A4JActionListenerBean$ActionListenerImpl" />
+ <f:ajax render="messages" />
+ </h:commandButton>
+
+ <h:commandButton value="Invoke listener by binding">
+ <a4j:actionListener binding="#{a4jActionListenerBean.actionListener}" />
+ <f:ajax render="messages" />
+ </h:commandButton>
+
+ <h:commandButton value="Invoke listener method">
+ <a4j:actionListener listener="#{a4jActionListenerBean.handleActionMethod}" />
+ <f:ajax render="messages" />
+ </h:commandButton>
+
+ <demo:actionComposite render=":form:messages" value="Invoke listener method in composite component">
+ <a4j:actionListener for="button" listener="#{a4jActionListenerBean.handleActionMethodComposite}" />
+ </demo:actionComposite>
+ </h:panelGrid>
+ </ui:define>
+
+ <ui:define name="outOfTemplateAfter">
+ </ui:define>
+
+ </ui:composition>
+</html>
\ No newline at end of file
Added: root/tests/metamer/trunk/src/main/webapp/components/a4jActionListener/list.xhtml
===================================================================
--- root/tests/metamer/trunk/src/main/webapp/components/a4jActionListener/list.xhtml (rev 0)
+++ root/tests/metamer/trunk/src/main/webapp/components/a4jActionListener/list.xhtml 2010-07-10 19:02:00 UTC (rev 17831)
@@ -0,0 +1,18 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xmlns:h="http://java.sun.com/jsf/html" xmlns:f="http://java.sun.com/jsf/core"
+ xmlns:ui="http://java.sun.com/jsf/facelets" xmlns:a4j="http://richfaces.org/a4j"
+ xmlns:c="http://java.sun.com/jsp/jstl/core">
+
+ <h:head>
+ <title>A4J Action Listener</title>
+ <meta http-equiv="Content-Type" content="text/xhtml; charset=UTF-8" />
+ <h:outputStylesheet library="css" name="list.css" />
+ </h:head>
+
+ <h:body>
+
+ <h:outputLink value="all.xhtml" styleClass="link">All</h:outputLink>
+ <div class="description">Page that contains a4j:actionListener invoked by type, binding, method and from composite component.</div>
+
+ </h:body>
+</html>
\ No newline at end of file
Copied: root/tests/metamer/trunk/src/main/webapp/components/a4jAjax/hCommandButton.xhtml (from rev 17830, root/tests/metamer/trunk/src/main/webapp/components/a4jAjax/input.xhtml)
===================================================================
--- root/tests/metamer/trunk/src/main/webapp/components/a4jAjax/hCommandButton.xhtml (rev 0)
+++ root/tests/metamer/trunk/src/main/webapp/components/a4jAjax/hCommandButton.xhtml 2010-07-10 19:02:00 UTC (rev 17831)
@@ -0,0 +1,52 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xmlns:h="http://java.sun.com/jsf/html" xmlns:f="http://java.sun.com/jsf/core"
+ xmlns:ui="http://java.sun.com/jsf/facelets" xmlns:a4j="http://richfaces.org/a4j"
+ xmlns:ta="http://java.sun.com/jsf/composite/testapp">
+
+ <ui:composition template="/templates/template.xhtml">
+
+ <ui:define name="head">
+ <f:metadata>
+ <f:viewParam name="templates" value="#{templateBean.templates}">
+ <f:converter converterId="templatesListConverter" />
+ </f:viewParam>
+ </f:metadata>
+ <h:outputStylesheet library="css" name="a4jAjax.css"/>
+ </ui:define>
+
+ <ui:define name="outOfTemplateBefore">
+ </ui:define>
+
+ <ui:define name="component">
+ <h:inputText id="input" value="#{a4jAjaxBean.input}"/>
+ <h:commandButton id="commandButton" value="Submit" >
+ <a4j:ajax id="inputAjax" bypassUpdates="#{a4jAjaxBean.attributes['bypassUpdates']}"
+ data="#{a4jAjaxBean.attributes['data']}"
+ disabled="#{a4jAjaxBean.attributes['disabled']}"
+ event="click"
+ execute="#{a4jAjaxBean.attributes['execute']}"
+ immediate="#{a4jAjaxBean.attributes['immediate']}"
+ limitRender="#{a4jAjaxBean.attributes['limitRender']}"
+ onbeforedomupdate="#{a4jAjaxBean.attributes['onbeforedomupdate']}"
+ onbegin="#{a4jAjaxBean.attributes['onbegin']}"
+ oncomplete="#{a4jAjaxBean.attributes['oncomplete']}"
+ onerror="#{a4jAjaxBean.attributes['onerror']}"
+ onevent="#{a4jAjaxBean.attributes['onevent']}"
+ queueId="#{a4jAjaxBean.attributes['queueId']}"
+ render="#{a4jAjaxBean.attributes['render']}"
+ status="#{a4jAjaxBean.attributes['status']}"
+ />
+ </h:commandButton>
+
+ <a4j:outputPanel id="output" layout="block">
+ <h:outputText value="#{a4jAjaxBean.input}"/>
+ </a4j:outputPanel>
+
+ </ui:define>
+
+ <ui:define name="outOfTemplateAfter">
+ <ta:attributes value="#{a4jAjaxBean.attributes}" id="attributes" render="log"/>
+ </ui:define>
+
+ </ui:composition>
+</html>
\ No newline at end of file
Copied: root/tests/metamer/trunk/src/main/webapp/components/a4jAjax/hCommandLink.xhtml (from rev 17830, root/tests/metamer/trunk/src/main/webapp/components/a4jAjax/input.xhtml)
===================================================================
--- root/tests/metamer/trunk/src/main/webapp/components/a4jAjax/hCommandLink.xhtml (rev 0)
+++ root/tests/metamer/trunk/src/main/webapp/components/a4jAjax/hCommandLink.xhtml 2010-07-10 19:02:00 UTC (rev 17831)
@@ -0,0 +1,52 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xmlns:h="http://java.sun.com/jsf/html" xmlns:f="http://java.sun.com/jsf/core"
+ xmlns:ui="http://java.sun.com/jsf/facelets" xmlns:a4j="http://richfaces.org/a4j"
+ xmlns:ta="http://java.sun.com/jsf/composite/testapp">
+
+ <ui:composition template="/templates/template.xhtml">
+
+ <ui:define name="head">
+ <f:metadata>
+ <f:viewParam name="templates" value="#{templateBean.templates}">
+ <f:converter converterId="templatesListConverter" />
+ </f:viewParam>
+ </f:metadata>
+ <h:outputStylesheet library="css" name="a4jAjax.css"/>
+ </ui:define>
+
+ <ui:define name="outOfTemplateBefore">
+ </ui:define>
+
+ <ui:define name="component">
+ <h:inputText id="input" value="#{a4jAjaxBean.input}"/>
+ <h:commandLink id="commandLink" value="Submit">
+ <a4j:ajax id="inputAjax" bypassUpdates="#{a4jAjaxBean.attributes['bypassUpdates']}"
+ data="#{a4jAjaxBean.attributes['data']}"
+ disabled="#{a4jAjaxBean.attributes['disabled']}"
+ event="click"
+ execute="#{a4jAjaxBean.attributes['execute']}"
+ immediate="#{a4jAjaxBean.attributes['immediate']}"
+ limitRender="#{a4jAjaxBean.attributes['limitRender']}"
+ onbeforedomupdate="#{a4jAjaxBean.attributes['onbeforedomupdate']}"
+ onbegin="#{a4jAjaxBean.attributes['onbegin']}"
+ oncomplete="#{a4jAjaxBean.attributes['oncomplete']}"
+ onerror="#{a4jAjaxBean.attributes['onerror']}"
+ onevent="#{a4jAjaxBean.attributes['onevent']}"
+ queueId="#{a4jAjaxBean.attributes['queueId']}"
+ render="#{a4jAjaxBean.attributes['render']}"
+ status="#{a4jAjaxBean.attributes['status']}"
+ />
+ </h:commandLink>
+
+ <a4j:outputPanel id="output" layout="block">
+ <h:outputText value="#{a4jAjaxBean.input}"/>
+ </a4j:outputPanel>
+
+ </ui:define>
+
+ <ui:define name="outOfTemplateAfter">
+ <ta:attributes value="#{a4jAjaxBean.attributes}" id="attributes" render="log"/>
+ </ui:define>
+
+ </ui:composition>
+</html>
\ No newline at end of file
Copied: root/tests/metamer/trunk/src/main/webapp/components/a4jAjax/hGraphicImage.xhtml (from rev 17830, root/tests/metamer/trunk/src/main/webapp/components/a4jAjax/input.xhtml)
===================================================================
--- root/tests/metamer/trunk/src/main/webapp/components/a4jAjax/hGraphicImage.xhtml (rev 0)
+++ root/tests/metamer/trunk/src/main/webapp/components/a4jAjax/hGraphicImage.xhtml 2010-07-10 19:02:00 UTC (rev 17831)
@@ -0,0 +1,51 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xmlns:h="http://java.sun.com/jsf/html" xmlns:f="http://java.sun.com/jsf/core"
+ xmlns:ui="http://java.sun.com/jsf/facelets" xmlns:a4j="http://richfaces.org/a4j"
+ xmlns:ta="http://java.sun.com/jsf/composite/testapp">
+
+ <ui:composition template="/templates/template.xhtml">
+
+ <ui:define name="head">
+ <f:metadata>
+ <f:viewParam name="templates" value="#{templateBean.templates}">
+ <f:converter converterId="templatesListConverter" />
+ </f:viewParam>
+ </f:metadata>
+ <h:outputStylesheet library="css" name="a4jAjax.css"/>
+ </ui:define>
+
+ <ui:define name="outOfTemplateBefore">
+ </ui:define>
+
+ <ui:define name="component">
+ <h:graphicImage id="image" library="images" name="richfaces.jpg">
+ <a4j:ajax id="inputAjax" bypassUpdates="#{a4jAjaxBean.attributes['bypassUpdates']}"
+ data="#{a4jAjaxBean.attributes['data']}"
+ disabled="#{a4jAjaxBean.attributes['disabled']}"
+ event="click"
+ execute="#{a4jAjaxBean.attributes['execute']}"
+ immediate="#{a4jAjaxBean.attributes['immediate']}"
+ limitRender="#{a4jAjaxBean.attributes['limitRender']}"
+ onbeforedomupdate="#{a4jAjaxBean.attributes['onbeforedomupdate']}"
+ onbegin="#{a4jAjaxBean.attributes['onbegin']}"
+ oncomplete="#{a4jAjaxBean.attributes['oncomplete']}"
+ onerror="#{a4jAjaxBean.attributes['onerror']}"
+ onevent="#{a4jAjaxBean.attributes['onevent']}"
+ queueId="#{a4jAjaxBean.attributes['queueId']}"
+ render="#{a4jAjaxBean.attributes['render']}"
+ status="#{a4jAjaxBean.attributes['status']}"
+ />
+ </h:graphicImage>
+
+ <a4j:outputPanel id="output">
+ <h:outputText value="#{a4jAjaxBean.input}"/>
+ </a4j:outputPanel>
+
+ </ui:define>
+
+ <ui:define name="outOfTemplateAfter">
+ <ta:attributes value="#{a4jAjaxBean.attributes}" id="attributes" render="log"/>
+ </ui:define>
+
+ </ui:composition>
+</html>
\ No newline at end of file
Copied: root/tests/metamer/trunk/src/main/webapp/components/a4jAjax/hInputSecret.xhtml (from rev 17830, root/tests/metamer/trunk/src/main/webapp/components/a4jAjax/input.xhtml)
===================================================================
--- root/tests/metamer/trunk/src/main/webapp/components/a4jAjax/hInputSecret.xhtml (rev 0)
+++ root/tests/metamer/trunk/src/main/webapp/components/a4jAjax/hInputSecret.xhtml 2010-07-10 19:02:00 UTC (rev 17831)
@@ -0,0 +1,51 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xmlns:h="http://java.sun.com/jsf/html" xmlns:f="http://java.sun.com/jsf/core"
+ xmlns:ui="http://java.sun.com/jsf/facelets" xmlns:a4j="http://richfaces.org/a4j"
+ xmlns:ta="http://java.sun.com/jsf/composite/testapp">
+
+ <ui:composition template="/templates/template.xhtml">
+
+ <ui:define name="head">
+ <f:metadata>
+ <f:viewParam name="templates" value="#{templateBean.templates}">
+ <f:converter converterId="templatesListConverter" />
+ </f:viewParam>
+ </f:metadata>
+ <h:outputStylesheet library="css" name="a4jAjax.css"/>
+ </ui:define>
+
+ <ui:define name="outOfTemplateBefore">
+ </ui:define>
+
+ <ui:define name="component">
+ <h:inputSecret id="input" value="#{a4jAjaxBean.input}">
+ <a4j:ajax id="inputAjax" bypassUpdates="#{a4jAjaxBean.attributes['bypassUpdates']}"
+ data="#{a4jAjaxBean.attributes['data']}"
+ disabled="#{a4jAjaxBean.attributes['disabled']}"
+ event="keyup"
+ execute="#{a4jAjaxBean.attributes['execute']}"
+ immediate="#{a4jAjaxBean.attributes['immediate']}"
+ limitRender="#{a4jAjaxBean.attributes['limitRender']}"
+ onbeforedomupdate="#{a4jAjaxBean.attributes['onbeforedomupdate']}"
+ onbegin="#{a4jAjaxBean.attributes['onbegin']}"
+ oncomplete="#{a4jAjaxBean.attributes['oncomplete']}"
+ onerror="#{a4jAjaxBean.attributes['onerror']}"
+ onevent="#{a4jAjaxBean.attributes['onevent']}"
+ queueId="#{a4jAjaxBean.attributes['queueId']}"
+ render="#{a4jAjaxBean.attributes['render']}"
+ status="#{a4jAjaxBean.attributes['status']}"
+ />
+ </h:inputSecret>
+
+ <a4j:outputPanel id="output">
+ <h:outputText value="#{a4jAjaxBean.input}"/>
+ </a4j:outputPanel>
+
+ </ui:define>
+
+ <ui:define name="outOfTemplateAfter">
+ <ta:attributes value="#{a4jAjaxBean.attributes}" id="attributes" render="log"/>
+ </ui:define>
+
+ </ui:composition>
+</html>
\ No newline at end of file
Copied: root/tests/metamer/trunk/src/main/webapp/components/a4jAjax/hInputText.xhtml (from rev 17830, root/tests/metamer/trunk/src/main/webapp/components/a4jAjax/input.xhtml)
===================================================================
--- root/tests/metamer/trunk/src/main/webapp/components/a4jAjax/hInputText.xhtml (rev 0)
+++ root/tests/metamer/trunk/src/main/webapp/components/a4jAjax/hInputText.xhtml 2010-07-10 19:02:00 UTC (rev 17831)
@@ -0,0 +1,51 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xmlns:h="http://java.sun.com/jsf/html" xmlns:f="http://java.sun.com/jsf/core"
+ xmlns:ui="http://java.sun.com/jsf/facelets" xmlns:a4j="http://richfaces.org/a4j"
+ xmlns:ta="http://java.sun.com/jsf/composite/testapp">
+
+ <ui:composition template="/templates/template.xhtml">
+
+ <ui:define name="head">
+ <f:metadata>
+ <f:viewParam name="templates" value="#{templateBean.templates}">
+ <f:converter converterId="templatesListConverter" />
+ </f:viewParam>
+ </f:metadata>
+ <h:outputStylesheet library="css" name="a4jAjax.css"/>
+ </ui:define>
+
+ <ui:define name="outOfTemplateBefore">
+ </ui:define>
+
+ <ui:define name="component">
+ <h:inputText id="input" value="#{a4jAjaxBean.input}">
+ <a4j:ajax id="inputAjax" bypassUpdates="#{a4jAjaxBean.attributes['bypassUpdates']}"
+ data="#{a4jAjaxBean.attributes['data']}"
+ disabled="#{a4jAjaxBean.attributes['disabled']}"
+ event="keyup"
+ execute="#{a4jAjaxBean.attributes['execute']}"
+ immediate="#{a4jAjaxBean.attributes['immediate']}"
+ limitRender="#{a4jAjaxBean.attributes['limitRender']}"
+ onbeforedomupdate="#{a4jAjaxBean.attributes['onbeforedomupdate']}"
+ onbegin="#{a4jAjaxBean.attributes['onbegin']}"
+ oncomplete="#{a4jAjaxBean.attributes['oncomplete']}"
+ onerror="#{a4jAjaxBean.attributes['onerror']}"
+ onevent="#{a4jAjaxBean.attributes['onevent']}"
+ queueId="#{a4jAjaxBean.attributes['queueId']}"
+ render="#{a4jAjaxBean.attributes['render']}"
+ status="#{a4jAjaxBean.attributes['status']}"
+ />
+ </h:inputText>
+
+ <a4j:outputPanel id="output">
+ <h:outputText value="#{a4jAjaxBean.input}"/>
+ </a4j:outputPanel>
+
+ </ui:define>
+
+ <ui:define name="outOfTemplateAfter">
+ <ta:attributes value="#{a4jAjaxBean.attributes}" id="attributes" render="log"/>
+ </ui:define>
+
+ </ui:composition>
+</html>
\ No newline at end of file
Copied: root/tests/metamer/trunk/src/main/webapp/components/a4jAjax/hInputTextarea.xhtml (from rev 17830, root/tests/metamer/trunk/src/main/webapp/components/a4jAjax/input.xhtml)
===================================================================
--- root/tests/metamer/trunk/src/main/webapp/components/a4jAjax/hInputTextarea.xhtml (rev 0)
+++ root/tests/metamer/trunk/src/main/webapp/components/a4jAjax/hInputTextarea.xhtml 2010-07-10 19:02:00 UTC (rev 17831)
@@ -0,0 +1,51 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xmlns:h="http://java.sun.com/jsf/html" xmlns:f="http://java.sun.com/jsf/core"
+ xmlns:ui="http://java.sun.com/jsf/facelets" xmlns:a4j="http://richfaces.org/a4j"
+ xmlns:ta="http://java.sun.com/jsf/composite/testapp">
+
+ <ui:composition template="/templates/template.xhtml">
+
+ <ui:define name="head">
+ <f:metadata>
+ <f:viewParam name="templates" value="#{templateBean.templates}">
+ <f:converter converterId="templatesListConverter" />
+ </f:viewParam>
+ </f:metadata>
+ <h:outputStylesheet library="css" name="a4jAjax.css"/>
+ </ui:define>
+
+ <ui:define name="outOfTemplateBefore">
+ </ui:define>
+
+ <ui:define name="component">
+ <h:inputTextarea id="input" value="#{a4jAjaxBean.input}">
+ <a4j:ajax id="inputAjax" bypassUpdates="#{a4jAjaxBean.attributes['bypassUpdates']}"
+ data="#{a4jAjaxBean.attributes['data']}"
+ disabled="#{a4jAjaxBean.attributes['disabled']}"
+ event="keyup"
+ execute="#{a4jAjaxBean.attributes['execute']}"
+ immediate="#{a4jAjaxBean.attributes['immediate']}"
+ limitRender="#{a4jAjaxBean.attributes['limitRender']}"
+ onbeforedomupdate="#{a4jAjaxBean.attributes['onbeforedomupdate']}"
+ onbegin="#{a4jAjaxBean.attributes['onbegin']}"
+ oncomplete="#{a4jAjaxBean.attributes['oncomplete']}"
+ onerror="#{a4jAjaxBean.attributes['onerror']}"
+ onevent="#{a4jAjaxBean.attributes['onevent']}"
+ queueId="#{a4jAjaxBean.attributes['queueId']}"
+ render="#{a4jAjaxBean.attributes['render']}"
+ status="#{a4jAjaxBean.attributes['status']}"
+ />
+ </h:inputTextarea>
+
+ <a4j:outputPanel id="output">
+ <h:outputText value="#{a4jAjaxBean.input}"/>
+ </a4j:outputPanel>
+
+ </ui:define>
+
+ <ui:define name="outOfTemplateAfter">
+ <ta:attributes value="#{a4jAjaxBean.attributes}" id="attributes" render="log"/>
+ </ui:define>
+
+ </ui:composition>
+</html>
\ No newline at end of file
Copied: root/tests/metamer/trunk/src/main/webapp/components/a4jAjax/hSelectBooleanCheckbox.xhtml (from rev 17830, root/tests/metamer/trunk/src/main/webapp/components/a4jAjax/input.xhtml)
===================================================================
--- root/tests/metamer/trunk/src/main/webapp/components/a4jAjax/hSelectBooleanCheckbox.xhtml (rev 0)
+++ root/tests/metamer/trunk/src/main/webapp/components/a4jAjax/hSelectBooleanCheckbox.xhtml 2010-07-10 19:02:00 UTC (rev 17831)
@@ -0,0 +1,53 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xmlns:h="http://java.sun.com/jsf/html" xmlns:f="http://java.sun.com/jsf/core"
+ xmlns:ui="http://java.sun.com/jsf/facelets" xmlns:a4j="http://richfaces.org/a4j"
+ xmlns:ta="http://java.sun.com/jsf/composite/testapp">
+
+ <ui:composition template="/templates/template.xhtml">
+
+ <ui:define name="head">
+ <f:metadata>
+ <f:viewParam name="templates" value="#{templateBean.templates}">
+ <f:converter converterId="templatesListConverter" />
+ </f:viewParam>
+ </f:metadata>
+ <h:outputStylesheet library="css" name="a4jAjax.css"/>
+ </ui:define>
+
+ <ui:define name="outOfTemplateBefore">
+ </ui:define>
+
+ <ui:define name="component">
+ <h:selectBooleanCheckbox id="selectBooleanCheckbox" value="#{a4jAjaxBean.boolVal}">
+ <a4j:ajax id="a4jAjax" bypassUpdates="#{a4jAjaxBean.attributes['bypassUpdates']}"
+ data="#{a4jAjaxBean.attributes['data']}"
+ disabled="#{a4jAjaxBean.attributes['disabled']}"
+ event="change"
+ execute="#{a4jAjaxBean.attributes['execute']}"
+ immediate="#{a4jAjaxBean.attributes['immediate']}"
+ limitRender="#{a4jAjaxBean.attributes['limitRender']}"
+ onbeforedomupdate="#{a4jAjaxBean.attributes['onbeforedomupdate']}"
+ onbegin="#{a4jAjaxBean.attributes['onbegin']}"
+ oncomplete="#{a4jAjaxBean.attributes['oncomplete']}"
+ onerror="#{a4jAjaxBean.attributes['onerror']}"
+ onevent="#{a4jAjaxBean.attributes['onevent']}"
+ queueId="#{a4jAjaxBean.attributes['queueId']}"
+ render="#{a4jAjaxBean.attributes['render']}"
+ status="#{a4jAjaxBean.attributes['status']}"
+ />
+ </h:selectBooleanCheckbox>
+
+ <br/>
+
+ <a4j:outputPanel id="output">
+ Your selection: #{a4jAjaxBean.boolVal}
+ </a4j:outputPanel>
+
+ </ui:define>
+
+ <ui:define name="outOfTemplateAfter">
+ <ta:attributes value="#{a4jAjaxBean.attributes}" id="attributes" render="log"/>
+ </ui:define>
+
+ </ui:composition>
+</html>
\ No newline at end of file
Copied: root/tests/metamer/trunk/src/main/webapp/components/a4jAjax/hSelectManyCheckbox.xhtml (from rev 17830, root/tests/metamer/trunk/src/main/webapp/components/a4jAjax/input.xhtml)
===================================================================
--- root/tests/metamer/trunk/src/main/webapp/components/a4jAjax/hSelectManyCheckbox.xhtml (rev 0)
+++ root/tests/metamer/trunk/src/main/webapp/components/a4jAjax/hSelectManyCheckbox.xhtml 2010-07-10 19:02:00 UTC (rev 17831)
@@ -0,0 +1,58 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xmlns:h="http://java.sun.com/jsf/html" xmlns:f="http://java.sun.com/jsf/core"
+ xmlns:ui="http://java.sun.com/jsf/facelets" xmlns:a4j="http://richfaces.org/a4j"
+ xmlns:ta="http://java.sun.com/jsf/composite/testapp">
+
+ <ui:composition template="/templates/template.xhtml">
+
+ <ui:define name="head">
+ <f:metadata>
+ <f:viewParam name="templates" value="#{templateBean.templates}">
+ <f:converter converterId="templatesListConverter" />
+ </f:viewParam>
+ </f:metadata>
+ <h:outputStylesheet library="css" name="a4jAjax.css"/>
+ </ui:define>
+
+ <ui:define name="outOfTemplateBefore">
+ </ui:define>
+
+ <ui:define name="component">
+ <h:selectManyCheckbox id="selectManyCheckbox" value="#{a4jAjaxBean.cars}">
+ <f:selectItem itemValue="Audi"/>
+ <f:selectItem itemValue="Mercedes"/>
+ <f:selectItem itemValue="Ferrari"/>
+ <f:selectItem itemValue="Lexus"/>
+
+ <a4j:ajax id="a4jAjax" bypassUpdates="#{a4jAjaxBean.attributes['bypassUpdates']}"
+ data="#{a4jAjaxBean.attributes['data']}"
+ disabled="#{a4jAjaxBean.attributes['disabled']}"
+ event="change"
+ execute="#{a4jAjaxBean.attributes['execute']}"
+ immediate="#{a4jAjaxBean.attributes['immediate']}"
+ limitRender="#{a4jAjaxBean.attributes['limitRender']}"
+ onbeforedomupdate="#{a4jAjaxBean.attributes['onbeforedomupdate']}"
+ onbegin="#{a4jAjaxBean.attributes['onbegin']}"
+ oncomplete="#{a4jAjaxBean.attributes['oncomplete']}"
+ onerror="#{a4jAjaxBean.attributes['onerror']}"
+ onevent="#{a4jAjaxBean.attributes['onevent']}"
+ queueId="#{a4jAjaxBean.attributes['queueId']}"
+ render="#{a4jAjaxBean.attributes['render']}"
+ status="#{a4jAjaxBean.attributes['status']}"
+ />
+ </h:selectManyCheckbox>
+
+ <br/>
+
+ <a4j:outputPanel id="output">
+ Your selection: #{a4jAjaxBean.cars}
+ </a4j:outputPanel>
+
+ </ui:define>
+
+ <ui:define name="outOfTemplateAfter">
+ <ta:attributes value="#{a4jAjaxBean.attributes}" id="attributes" render="log"/>
+ </ui:define>
+
+ </ui:composition>
+</html>
\ No newline at end of file
Copied: root/tests/metamer/trunk/src/main/webapp/components/a4jAjax/hSelectManyListbox.xhtml (from rev 17830, root/tests/metamer/trunk/src/main/webapp/components/a4jAjax/input.xhtml)
===================================================================
--- root/tests/metamer/trunk/src/main/webapp/components/a4jAjax/hSelectManyListbox.xhtml (rev 0)
+++ root/tests/metamer/trunk/src/main/webapp/components/a4jAjax/hSelectManyListbox.xhtml 2010-07-10 19:02:00 UTC (rev 17831)
@@ -0,0 +1,58 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xmlns:h="http://java.sun.com/jsf/html" xmlns:f="http://java.sun.com/jsf/core"
+ xmlns:ui="http://java.sun.com/jsf/facelets" xmlns:a4j="http://richfaces.org/a4j"
+ xmlns:ta="http://java.sun.com/jsf/composite/testapp">
+
+ <ui:composition template="/templates/template.xhtml">
+
+ <ui:define name="head">
+ <f:metadata>
+ <f:viewParam name="templates" value="#{templateBean.templates}">
+ <f:converter converterId="templatesListConverter" />
+ </f:viewParam>
+ </f:metadata>
+ <h:outputStylesheet library="css" name="a4jAjax.css"/>
+ </ui:define>
+
+ <ui:define name="outOfTemplateBefore">
+ </ui:define>
+
+ <ui:define name="component">
+ <h:selectManyListbox id="selectManyListbox" value="#{a4jAjaxBean.cars}">
+ <f:selectItem itemValue="Audi"/>
+ <f:selectItem itemValue="Mercedes"/>
+ <f:selectItem itemValue="Ferrari"/>
+ <f:selectItem itemValue="Lexus"/>
+
+ <a4j:ajax id="a4jAjax" bypassUpdates="#{a4jAjaxBean.attributes['bypassUpdates']}"
+ data="#{a4jAjaxBean.attributes['data']}"
+ disabled="#{a4jAjaxBean.attributes['disabled']}"
+ event="change"
+ execute="#{a4jAjaxBean.attributes['execute']}"
+ immediate="#{a4jAjaxBean.attributes['immediate']}"
+ limitRender="#{a4jAjaxBean.attributes['limitRender']}"
+ onbeforedomupdate="#{a4jAjaxBean.attributes['onbeforedomupdate']}"
+ onbegin="#{a4jAjaxBean.attributes['onbegin']}"
+ oncomplete="#{a4jAjaxBean.attributes['oncomplete']}"
+ onerror="#{a4jAjaxBean.attributes['onerror']}"
+ onevent="#{a4jAjaxBean.attributes['onevent']}"
+ queueId="#{a4jAjaxBean.attributes['queueId']}"
+ render="#{a4jAjaxBean.attributes['render']}"
+ status="#{a4jAjaxBean.attributes['status']}"
+ />
+ </h:selectManyListbox>
+
+ <br/>
+
+ <a4j:outputPanel id="output">
+ Your selection: #{a4jAjaxBean.cars}
+ </a4j:outputPanel>
+
+ </ui:define>
+
+ <ui:define name="outOfTemplateAfter">
+ <ta:attributes value="#{a4jAjaxBean.attributes}" id="attributes" render="log"/>
+ </ui:define>
+
+ </ui:composition>
+</html>
\ No newline at end of file
Copied: root/tests/metamer/trunk/src/main/webapp/components/a4jAjax/hSelectManyMenu.xhtml (from rev 17830, root/tests/metamer/trunk/src/main/webapp/components/a4jAjax/input.xhtml)
===================================================================
--- root/tests/metamer/trunk/src/main/webapp/components/a4jAjax/hSelectManyMenu.xhtml (rev 0)
+++ root/tests/metamer/trunk/src/main/webapp/components/a4jAjax/hSelectManyMenu.xhtml 2010-07-10 19:02:00 UTC (rev 17831)
@@ -0,0 +1,59 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xmlns:h="http://java.sun.com/jsf/html" xmlns:f="http://java.sun.com/jsf/core"
+ xmlns:ui="http://java.sun.com/jsf/facelets" xmlns:a4j="http://richfaces.org/a4j"
+ xmlns:ta="http://java.sun.com/jsf/composite/testapp">
+
+ <ui:composition template="/templates/template.xhtml">
+
+ <ui:define name="head">
+ <f:metadata>
+ <f:viewParam name="templates" value="#{templateBean.templates}">
+ <f:converter converterId="templatesListConverter" />
+ </f:viewParam>
+ </f:metadata>
+ <h:outputStylesheet library="css" name="a4jAjax.css"/>
+ </ui:define>
+
+ <ui:define name="outOfTemplateBefore">
+ </ui:define>
+
+ <ui:define name="component">
+ <h:selectManyMenu id="selectManyMenu" value="#{a4jAjaxBean.cars}" >
+ <f:selectItem itemValue="Audi" itemLabel="Audi"/>
+ <f:selectItem itemValue="Mercedes" itemLabel="Mercedes"/>
+ <f:selectItem itemValue="Ferrari" itemLabel="Ferrari"/>
+ <f:selectItem itemValue="Lexus" itemLabel="Lexus"/>
+ <f:selectItem itemValue="BMW" itemLabel="BMW"/>
+
+ <a4j:ajax id="a4jAjax" bypassUpdates="#{a4jAjaxBean.attributes['bypassUpdates']}"
+ data="#{a4jAjaxBean.attributes['data']}"
+ disabled="#{a4jAjaxBean.attributes['disabled']}"
+ event="change"
+ execute="#{a4jAjaxBean.attributes['execute']}"
+ immediate="#{a4jAjaxBean.attributes['immediate']}"
+ limitRender="#{a4jAjaxBean.attributes['limitRender']}"
+ onbeforedomupdate="#{a4jAjaxBean.attributes['onbeforedomupdate']}"
+ onbegin="#{a4jAjaxBean.attributes['onbegin']}"
+ oncomplete="#{a4jAjaxBean.attributes['oncomplete']}"
+ onerror="#{a4jAjaxBean.attributes['onerror']}"
+ onevent="#{a4jAjaxBean.attributes['onevent']}"
+ queueId="#{a4jAjaxBean.attributes['queueId']}"
+ render="#{a4jAjaxBean.attributes['render']}"
+ status="#{a4jAjaxBean.attributes['status']}"
+ />
+ </h:selectManyMenu>
+
+ <br/>
+
+ <a4j:outputPanel id="output">
+ Your selection: #{a4jAjaxBean.cars}
+ </a4j:outputPanel>
+
+ </ui:define>
+
+ <ui:define name="outOfTemplateAfter">
+ <ta:attributes value="#{a4jAjaxBean.attributes}" id="attributes" render="log"/>
+ </ui:define>
+
+ </ui:composition>
+</html>
\ No newline at end of file
Copied: root/tests/metamer/trunk/src/main/webapp/components/a4jAjax/hSelectOneListbox.xhtml (from rev 17830, root/tests/metamer/trunk/src/main/webapp/components/a4jAjax/input.xhtml)
===================================================================
--- root/tests/metamer/trunk/src/main/webapp/components/a4jAjax/hSelectOneListbox.xhtml (rev 0)
+++ root/tests/metamer/trunk/src/main/webapp/components/a4jAjax/hSelectOneListbox.xhtml 2010-07-10 19:02:00 UTC (rev 17831)
@@ -0,0 +1,58 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xmlns:h="http://java.sun.com/jsf/html" xmlns:f="http://java.sun.com/jsf/core"
+ xmlns:ui="http://java.sun.com/jsf/facelets" xmlns:a4j="http://richfaces.org/a4j"
+ xmlns:ta="http://java.sun.com/jsf/composite/testapp">
+
+ <ui:composition template="/templates/template.xhtml">
+
+ <ui:define name="head">
+ <f:metadata>
+ <f:viewParam name="templates" value="#{templateBean.templates}">
+ <f:converter converterId="templatesListConverter" />
+ </f:viewParam>
+ </f:metadata>
+ <h:outputStylesheet library="css" name="a4jAjax.css"/>
+ </ui:define>
+
+ <ui:define name="outOfTemplateBefore">
+ </ui:define>
+
+ <ui:define name="component">
+ <h:selectOneListbox id="selectManyListbox" value="#{a4jAjaxBean.car}">
+ <f:selectItem itemValue="Audi"/>
+ <f:selectItem itemValue="Mercedes"/>
+ <f:selectItem itemValue="Ferrari"/>
+ <f:selectItem itemValue="Lexus"/>
+
+ <a4j:ajax id="a4jAjax" bypassUpdates="#{a4jAjaxBean.attributes['bypassUpdates']}"
+ data="#{a4jAjaxBean.attributes['data']}"
+ disabled="#{a4jAjaxBean.attributes['disabled']}"
+ event="change"
+ execute="#{a4jAjaxBean.attributes['execute']}"
+ immediate="#{a4jAjaxBean.attributes['immediate']}"
+ limitRender="#{a4jAjaxBean.attributes['limitRender']}"
+ onbeforedomupdate="#{a4jAjaxBean.attributes['onbeforedomupdate']}"
+ onbegin="#{a4jAjaxBean.attributes['onbegin']}"
+ oncomplete="#{a4jAjaxBean.attributes['oncomplete']}"
+ onerror="#{a4jAjaxBean.attributes['onerror']}"
+ onevent="#{a4jAjaxBean.attributes['onevent']}"
+ queueId="#{a4jAjaxBean.attributes['queueId']}"
+ render="#{a4jAjaxBean.attributes['render']}"
+ status="#{a4jAjaxBean.attributes['status']}"
+ />
+ </h:selectOneListbox>
+
+ <br/>
+
+ <a4j:outputPanel id="output">
+ Your selection: #{a4jAjaxBean.car}
+ </a4j:outputPanel>
+
+ </ui:define>
+
+ <ui:define name="outOfTemplateAfter">
+ <ta:attributes value="#{a4jAjaxBean.attributes}" id="attributes" render="log"/>
+ </ui:define>
+
+ </ui:composition>
+</html>
\ No newline at end of file
Copied: root/tests/metamer/trunk/src/main/webapp/components/a4jAjax/hSelectOneMenu.xhtml (from rev 17830, root/tests/metamer/trunk/src/main/webapp/components/a4jAjax/input.xhtml)
===================================================================
--- root/tests/metamer/trunk/src/main/webapp/components/a4jAjax/hSelectOneMenu.xhtml (rev 0)
+++ root/tests/metamer/trunk/src/main/webapp/components/a4jAjax/hSelectOneMenu.xhtml 2010-07-10 19:02:00 UTC (rev 17831)
@@ -0,0 +1,59 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xmlns:h="http://java.sun.com/jsf/html" xmlns:f="http://java.sun.com/jsf/core"
+ xmlns:ui="http://java.sun.com/jsf/facelets" xmlns:a4j="http://richfaces.org/a4j"
+ xmlns:ta="http://java.sun.com/jsf/composite/testapp">
+
+ <ui:composition template="/templates/template.xhtml">
+
+ <ui:define name="head">
+ <f:metadata>
+ <f:viewParam name="templates" value="#{templateBean.templates}">
+ <f:converter converterId="templatesListConverter" />
+ </f:viewParam>
+ </f:metadata>
+ <h:outputStylesheet library="css" name="a4jAjax.css"/>
+ </ui:define>
+
+ <ui:define name="outOfTemplateBefore">
+ </ui:define>
+
+ <ui:define name="component">
+ <h:selectOneMenu id="selectManyMenu" value="#{a4jAjaxBean.car}" >
+ <f:selectItem itemValue="Audi" itemLabel="Audi"/>
+ <f:selectItem itemValue="Mercedes" itemLabel="Mercedes"/>
+ <f:selectItem itemValue="Ferrari" itemLabel="Ferrari"/>
+ <f:selectItem itemValue="Lexus" itemLabel="Lexus"/>
+ <f:selectItem itemValue="BMW" itemLabel="BMW"/>
+
+ <a4j:ajax id="a4jAjax" bypassUpdates="#{a4jAjaxBean.attributes['bypassUpdates']}"
+ data="#{a4jAjaxBean.attributes['data']}"
+ disabled="#{a4jAjaxBean.attributes['disabled']}"
+ event="change"
+ execute="#{a4jAjaxBean.attributes['execute']}"
+ immediate="#{a4jAjaxBean.attributes['immediate']}"
+ limitRender="#{a4jAjaxBean.attributes['limitRender']}"
+ onbeforedomupdate="#{a4jAjaxBean.attributes['onbeforedomupdate']}"
+ onbegin="#{a4jAjaxBean.attributes['onbegin']}"
+ oncomplete="#{a4jAjaxBean.attributes['oncomplete']}"
+ onerror="#{a4jAjaxBean.attributes['onerror']}"
+ onevent="#{a4jAjaxBean.attributes['onevent']}"
+ queueId="#{a4jAjaxBean.attributes['queueId']}"
+ render="#{a4jAjaxBean.attributes['render']}"
+ status="#{a4jAjaxBean.attributes['status']}"
+ />
+ </h:selectOneMenu>
+
+ <br/>
+
+ <a4j:outputPanel id="output">
+ Your selection: #{a4jAjaxBean.car}
+ </a4j:outputPanel>
+
+ </ui:define>
+
+ <ui:define name="outOfTemplateAfter">
+ <ta:attributes value="#{a4jAjaxBean.attributes}" id="attributes" render="log"/>
+ </ui:define>
+
+ </ui:composition>
+</html>
\ No newline at end of file
Copied: root/tests/metamer/trunk/src/main/webapp/components/a4jAjax/hSelectOneRadio.xhtml (from rev 17830, root/tests/metamer/trunk/src/main/webapp/components/a4jAjax/input.xhtml)
===================================================================
--- root/tests/metamer/trunk/src/main/webapp/components/a4jAjax/hSelectOneRadio.xhtml (rev 0)
+++ root/tests/metamer/trunk/src/main/webapp/components/a4jAjax/hSelectOneRadio.xhtml 2010-07-10 19:02:00 UTC (rev 17831)
@@ -0,0 +1,59 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xmlns:h="http://java.sun.com/jsf/html" xmlns:f="http://java.sun.com/jsf/core"
+ xmlns:ui="http://java.sun.com/jsf/facelets" xmlns:a4j="http://richfaces.org/a4j"
+ xmlns:ta="http://java.sun.com/jsf/composite/testapp">
+
+ <ui:composition template="/templates/template.xhtml">
+
+ <ui:define name="head">
+ <f:metadata>
+ <f:viewParam name="templates" value="#{templateBean.templates}">
+ <f:converter converterId="templatesListConverter" />
+ </f:viewParam>
+ </f:metadata>
+ <h:outputStylesheet library="css" name="a4jAjax.css"/>
+ </ui:define>
+
+ <ui:define name="outOfTemplateBefore">
+ </ui:define>
+
+ <ui:define name="component">
+ <h:selectOneRadio id="selectOneRadio" value="#{a4jAjaxBean.car}">
+ <f:selectItem itemValue="Audi" itemLabel="Audi"/>
+ <f:selectItem itemValue="Mercedes" itemLabel="Mercedes"/>
+ <f:selectItem itemValue="Ferrari" itemLabel="Ferrari"/>
+ <f:selectItem itemValue="Lexus" itemLabel="Lexus"/>
+ <f:selectItem itemValue="BMW" itemLabel="BMW"/>
+
+ <a4j:ajax id="a4jAjax" bypassUpdates="#{a4jAjaxBean.attributes['bypassUpdates']}"
+ data="#{a4jAjaxBean.attributes['data']}"
+ disabled="#{a4jAjaxBean.attributes['disabled']}"
+ event="change"
+ execute="#{a4jAjaxBean.attributes['execute']}"
+ immediate="#{a4jAjaxBean.attributes['immediate']}"
+ limitRender="#{a4jAjaxBean.attributes['limitRender']}"
+ onbeforedomupdate="#{a4jAjaxBean.attributes['onbeforedomupdate']}"
+ onbegin="#{a4jAjaxBean.attributes['onbegin']}"
+ oncomplete="#{a4jAjaxBean.attributes['oncomplete']}"
+ onerror="#{a4jAjaxBean.attributes['onerror']}"
+ onevent="#{a4jAjaxBean.attributes['onevent']}"
+ queueId="#{a4jAjaxBean.attributes['queueId']}"
+ render="#{a4jAjaxBean.attributes['render']}"
+ status="#{a4jAjaxBean.attributes['status']}"
+ />
+ </h:selectOneRadio>
+
+ <br/>
+
+ <a4j:outputPanel id="output">
+ Your selection: #{a4jAjaxBean.car}
+ </a4j:outputPanel>
+
+ </ui:define>
+
+ <ui:define name="outOfTemplateAfter">
+ <ta:attributes value="#{a4jAjaxBean.attributes}" id="attributes" render="log"/>
+ </ui:define>
+
+ </ui:composition>
+</html>
\ No newline at end of file
Deleted: root/tests/metamer/trunk/src/main/webapp/components/a4jAjax/input.xhtml
===================================================================
--- root/tests/metamer/trunk/src/main/webapp/components/a4jAjax/input.xhtml 2010-07-10 18:44:10 UTC (rev 17830)
+++ root/tests/metamer/trunk/src/main/webapp/components/a4jAjax/input.xhtml 2010-07-10 19:02:00 UTC (rev 17831)
@@ -1,51 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xmlns:h="http://java.sun.com/jsf/html" xmlns:f="http://java.sun.com/jsf/core"
- xmlns:ui="http://java.sun.com/jsf/facelets" xmlns:a4j="http://richfaces.org/a4j"
- xmlns:ta="http://java.sun.com/jsf/composite/testapp">
-
- <ui:composition template="/templates/template.xhtml">
-
- <ui:define name="head">
- <f:metadata>
- <f:viewParam name="templates" value="#{templateBean.templates}">
- <f:converter converterId="templatesListConverter" />
- </f:viewParam>
- </f:metadata>
- <h:outputStylesheet library="css" name="a4jAjax.css"/>
- </ui:define>
-
- <ui:define name="outOfTemplateBefore">
- </ui:define>
-
- <ui:define name="component">
- <h:inputText id="input" value="#{a4jAjaxBean.input}">
- <a4j:ajax id="inputAjax" bypassUpdates="#{a4jAjaxBean.attributes['bypassUpdates']}"
- data="#{a4jAjaxBean.attributes['data']}"
- disabled="#{a4jAjaxBean.attributes['disabled']}"
- event="keyup"
- execute="#{a4jAjaxBean.attributes['execute']}"
- immediate="#{a4jAjaxBean.attributes['immediate']}"
- limitRender="#{a4jAjaxBean.attributes['limitRender']}"
- onbeforedomupdate="#{a4jAjaxBean.attributes['onbeforedomupdate']}"
- onbegin="#{a4jAjaxBean.attributes['onbegin']}"
- oncomplete="#{a4jAjaxBean.attributes['oncomplete']}"
- onerror="#{a4jAjaxBean.attributes['onerror']}"
- onevent="#{a4jAjaxBean.attributes['onevent']}"
- queueId="#{a4jAjaxBean.attributes['queueId']}"
- render="#{a4jAjaxBean.attributes['render']}"
- status="#{a4jAjaxBean.attributes['status']}"
- />
- </h:inputText>
-
- <a4j:outputPanel id="output">
- <h:outputText value="#{a4jAjaxBean.input}"/>
- </a4j:outputPanel>
-
- </ui:define>
-
- <ui:define name="outOfTemplateAfter">
- <ta:attributes value="#{a4jAjaxBean.attributes}" id="attributes" render="log"/>
- </ui:define>
-
- </ui:composition>
-</html>
\ No newline at end of file
Modified: root/tests/metamer/trunk/src/main/webapp/components/a4jAjax/list.xhtml
===================================================================
--- root/tests/metamer/trunk/src/main/webapp/components/a4jAjax/list.xhtml 2010-07-10 18:44:10 UTC (rev 17830)
+++ root/tests/metamer/trunk/src/main/webapp/components/a4jAjax/list.xhtml 2010-07-10 19:02:00 UTC (rev 17831)
@@ -10,8 +10,43 @@
<h:body>
- <h:outputLink value="input.xhtml" styleClass="link">Input Text</h:outputLink>
- <div class="description">Simple page that contains h:inputText with a4j:ajax and input boxes for all its attributes.</div>
+ <h:outputLink value="hCommandButton.xhtml" styleClass="link">Command Button</h:outputLink>
+ <div class="description">Simple page that contains <b>h:commandButton</b> with <b>a4j:ajax</b> and input boxes for all its attributes.</div>
+ <h:outputLink value="hCommandLink.xhtml" styleClass="link">Command Link</h:outputLink>
+ <div class="description">Simple page that contains <b>h:commandLink</b> with <b>a4j:ajax</b> and input boxes for all its attributes.</div>
+
+ <h:outputLink value="hInputText.xhtml" styleClass="link">Input Text</h:outputLink>
+ <div class="description">Simple page that contains <b>h:inputText</b> with <b>a4j:ajax</b> and input boxes for all its attributes.</div>
+
+ <h:outputLink value="hInputSecret.xhtml" styleClass="link">Input Secret</h:outputLink>
+ <div class="description">Simple page that contains <b>h:inputSecret</b> with <b>a4j:ajax</b> and input boxes for all its attributes.</div>
+
+ <h:outputLink value="hInputTextarea.xhtml" styleClass="link">Input Textarea</h:outputLink>
+ <div class="description">Simple page that contains <b>h:inputTextarea</b> with <b>a4j:ajax</b> and input boxes for all its attributes.</div>
+
+ <h:outputLink value="hGraphicImage.xhtml" styleClass="link">Graphic Image</h:outputLink>
+ <div class="description">Simple page that contains <b>h:graphicImage</b> with <b>a4j:ajax</b> and input boxes for all its attributes.</div>
+
+ <h:outputLink value="hSelectManyMenu.xhtml" styleClass="link">Select Many Menu</h:outputLink>
+ <div class="description">Simple page that contains <b>h:selectManyMenu</b> with <b>a4j:ajax</b> and input boxes for all its attributes.</div>
+
+ <h:outputLink value="hSelectManyListbox.xhtml" styleClass="link">Select Many Listbox</h:outputLink>
+ <div class="description">Simple page that contains <b>h:selectManyListbox</b> with <b>a4j:ajax</b> and input boxes for all its attributes.</div>
+
+ <h:outputLink value="hSelectManyCheckbox.xhtml" styleClass="link">Select Many Checkbox</h:outputLink>
+ <div class="description">Simple page that contains <b>h:selectManyCheckbox</b> with <b>a4j:ajax</b> and input boxes for all its attributes.</div>
+
+ <h:outputLink value="hSelectOneMenu.xhtml" styleClass="link">Select One Menu</h:outputLink>
+ <div class="description">Simple page that contains <b>h:selectOneMenu</b> with <b>a4j:ajax</b> and input boxes for all its attributes.</div>
+
+ <h:outputLink value="hSelectBooleanCheckbox.xhtml" styleClass="link">Select Boolean Checkbox</h:outputLink>
+ <div class="description">Simple page that contains <b>h:selectBooleanCheckbox</b> with <b>a4j:ajax</b> and input boxes for all its attributes.</div>
+
+ <h:outputLink value="hSelectOneRadio.xhtml" styleClass="link">Select One Radio</h:outputLink>
+ <div class="description">Simple page that contains <b>h:selectOneRadio</b> with <b>a4j:ajax</b> and input boxes for all its attributes.</div>
+
+ <h:outputLink value="hSelectOneListbox.xhtml" styleClass="link">Select One Listbox</h:outputLink>
+ <div class="description">Simple page that contains <b>h:selectOneListbox</b> with <b>a4j:ajax</b> and input boxes for all its attributes.</div>
</h:body>
</html>
\ No newline at end of file
Modified: root/tests/metamer/trunk/src/main/webapp/components/a4jLog/simple.xhtml
===================================================================
--- root/tests/metamer/trunk/src/main/webapp/components/a4jLog/simple.xhtml 2010-07-10 18:44:10 UTC (rev 17830)
+++ root/tests/metamer/trunk/src/main/webapp/components/a4jLog/simple.xhtml 2010-07-10 19:02:00 UTC (rev 17831)
@@ -18,13 +18,16 @@
</ui:define>
<ui:define name="component">
- <h:inputText id="nameInput" value="#{a4jLogBean.name}" />
+ <h:inputText id="nameInput" styleClass="nameInput" value="#{a4jLogBean.name}" />
<a4j:commandButton id="submitButton" value="Submit" render="out" execute="@form" />
- <input type="button" id="debugButton" value="Debug Message" onclick="RichFaces.log.debug('***DEBUG***')" />
- <input type="button" id="infoButton" value="Info Message" onclick="RichFaces.log.info('***INFO***')"/>
- <input type="button" id="warnButton" value="Warning Message" onclick="RichFaces.log.warn('***WARN***')"/>
- <input type="button" id="errorButton" value="Error Message" onclick="RichFaces.log.error('***ERROR***')"/>
-
+ <input type="button" id="debugButton" value="Debug Message"
+ onclick="eval('RichFaces.log.debug(\'' + jQuery('input[type=text][id$=nameInput]').val() + '\')')"/>
+ <input type="button" id="infoButton" value="Info Message"
+ onclick="eval('RichFaces.log.info(\'' + jQuery('input[type=text][id$=nameInput]').val() + '\')')"/>
+ <input type="button" id="warnButton" value="Warning Message"
+ onclick="eval('RichFaces.log.warn(\'' + jQuery('input[type=text][id$=nameInput]').val() + '\')')"/>
+ <input type="button" id="errorButton" value="Error Message"
+ onclick="eval('RichFaces.log.error(\'' + jQuery('input[type=text][id$=nameInput]').val() + '\')')"/>
<br/>
<a4j:outputPanel id="out">
Modified: root/tests/metamer/trunk/src/main/webapp/index.xhtml
===================================================================
--- root/tests/metamer/trunk/src/main/webapp/index.xhtml 2010-07-10 18:44:10 UTC (rev 17830)
+++ root/tests/metamer/trunk/src/main/webapp/index.xhtml 2010-07-10 19:02:00 UTC (rev 17831)
@@ -11,7 +11,7 @@
<h:form id="linksForm">
<h:panelGrid id="attributes">
<c:forEach items="#{richBean.components}" var="entry">
- <h:commandLink action="#{richBean.getListPage(entry.key)}" value="#{entry.key}" />
+ <h:commandLink action="#{richBean.getListPage(entry.key)}" value="#{richBean.components[entry.key]}" />
</c:forEach>
</h:panelGrid>
</h:form>
Copied: root/tests/metamer/trunk/src/main/webapp/resources/css/a4jActionListener.css (from rev 17830, root/tests/metamer/trunk/src/main/resources/org/richfaces/testapp/bean/A4JCommandButtonBean.properties)
===================================================================
Added: root/tests/metamer/trunk/src/main/webapp/resources/demo/actionComposite.xhtml
===================================================================
--- root/tests/metamer/trunk/src/main/webapp/resources/demo/actionComposite.xhtml (rev 0)
+++ root/tests/metamer/trunk/src/main/webapp/resources/demo/actionComposite.xhtml 2010-07-10 19:02:00 UTC (rev 17831)
@@ -0,0 +1,23 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"
+ xmlns:h="http://java.sun.com/jsf/html"
+ xmlns:f="http://java.sun.com/jsf/core"
+ xmlns:ui="http://java.sun.com/jsf/facelets"
+ xmlns:a4j="http://richfaces.org/a4j"
+ xmlns:composite="http://java.sun.com/jsf/composite">
+
+<composite:interface>
+ <composite:actionSource name="button" />
+ <composite:attribute name="render" />
+ <composite:attribute name="execute" />
+ <composite:attribute name="value" />
+</composite:interface>
+
+<composite:implementation>
+ <h:commandButton id="button" value="#{cc.attrs.value}">
+ <composite:insertChildren />
+
+ <a4j:ajax render="#{cc.attrs.render}" execute="#{cc.attrs.execute}" />
+ </h:commandButton>
+</composite:implementation>
+</html>
Added: root/tests/metamer/trunk/src/main/webapp/resources/images/richfaces.jpg
===================================================================
--- root/tests/metamer/trunk/src/main/webapp/resources/images/richfaces.jpg (rev 0)
+++ root/tests/metamer/trunk/src/main/webapp/resources/images/richfaces.jpg 2010-07-10 19:02:00 UTC (rev 17831)
@@ -0,0 +1,20 @@
+����
+
+
+
+
+ "" $(4,$&1'-=-157:::#+?D?8C49:7��
+
+
+
+
+7%%77777777777777777777777777777777777777777777777777��
+˼t洯��+`z�b`��c|�!��Fx�(��8���&�{9�����
+�L�ĦUr}�CM�n'[r�i�`�s���P\2��d�OG��sG�E>Df�c�?�t�GV��g�>�T��io�;0ȣ/Y�5dbppil �^l~
+9F��Mn}���d}*k��K���l�G�:���<�ZEش��l�ld��"����_����I�oe��?|�b�ըvn��{�����+�����z���TX��\|�� HA��wcN��.���
+g����Qw7�3����'X��I�wr��$�=��WUY�(cD^@�Žs����R�o@�$;u��Fڰ(���^<����/cR�t@��;T�3��b�E�1�E�3��3Ht�6����;�'P�_X`�1^v�7��#�6�O�;}�s��P�5#��u��qA�N%�b��p;�Y�;:��ZG���,����� Fx�8�9]�G�xiWY+L���mX�
+�&�A�N���k&Hdu�$l�VR����.GC�8 �8���
+�#,'|���de�c�n�^ ����a�c.�
+���Oz�� b_�ugc�]X�ŗx�N+4U��ƍ�V���,[��$���.�����Ӳ���N����7�
\ No newline at end of file
Modified: root/tests/metamer/trunk/src/main/webapp/templates/header.xhtml
===================================================================
--- root/tests/metamer/trunk/src/main/webapp/templates/header.xhtml 2010-07-10 18:44:10 UTC (rev 17830)
+++ root/tests/metamer/trunk/src/main/webapp/templates/header.xhtml 2010-07-10 19:02:00 UTC (rev 17831)
@@ -1,7 +1,6 @@
<ui:composition xmlns="http://www.w3.org/1999/xhtml" xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core" xmlns:ui="http://java.sun.com/jsf/facelets"
- xmlns:a4j="http://richfaces.org/a4j" xmlns:rich="http://java.sun.com/jsf/composite/rich"
- xmlns:c="http://java.sun.com/jsp/jstl/core">
+ xmlns:a4j="http://richfaces.org/a4j" xmlns:c="http://java.sun.com/jsp/jstl/core">
<h:panelGrid id="headerTable" columns="6" border="1" styleClass="external-table" columnClasses="header-column, header-column, header-column, header-column, header-column, header-column">
14 years, 6 months
JBoss Rich Faces SVN: r17830 - root/tests/metamer/trunk.
by richfaces-svn-commits@lists.jboss.org
Author: lfryc(a)redhat.com
Date: 2010-07-10 14:44:10 -0400 (Sat, 10 Jul 2010)
New Revision: 17830
Modified:
root/tests/metamer/trunk/pom.xml
Log:
added jstl dependency
Modified: root/tests/metamer/trunk/pom.xml
===================================================================
--- root/tests/metamer/trunk/pom.xml 2010-07-10 18:43:51 UTC (rev 17829)
+++ root/tests/metamer/trunk/pom.xml 2010-07-10 18:44:10 UTC (rev 17830)
@@ -85,6 +85,10 @@
<version>2.2</version>
<scope>runtime</scope>
</dependency>
+ <dependency>
+ <groupId>javax.servlet</groupId>
+ <artifactId>jstl</artifactId>
+ </dependency>
<!-- Simple Logging Facade for Java -->
<dependency>
14 years, 6 months
JBoss Rich Faces SVN: r17829 - root/tests/metamer/trunk.
by richfaces-svn-commits@lists.jboss.org
Author: lfryc(a)redhat.com
Date: 2010-07-10 14:43:51 -0400 (Sat, 10 Jul 2010)
New Revision: 17829
Modified:
root/tests/metamer/trunk/pom.xml
Log:
removed overwritten snapshotRepository
Modified: root/tests/metamer/trunk/pom.xml
===================================================================
--- root/tests/metamer/trunk/pom.xml 2010-07-10 18:43:30 UTC (rev 17828)
+++ root/tests/metamer/trunk/pom.xml 2010-07-10 18:43:51 UTC (rev 17829)
@@ -17,7 +17,6 @@
<name>RichFaces Examples: Testing Application</name>
<properties>
- <snapshotRepository>dav:https://repository.jboss.org/nexus/content/repositories/snapshots/</snapshotRepository>
<jetty.port>8080</jetty.port>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
14 years, 6 months
JBoss Rich Faces SVN: r17828 - in root/tests/metamer/trunk/src/main: webapp/templates and 1 other directory.
by richfaces-svn-commits@lists.jboss.org
Author: lfryc(a)redhat.com
Date: 2010-07-10 14:43:30 -0400 (Sat, 10 Jul 2010)
New Revision: 17828
Added:
root/tests/metamer/trunk/src/main/webapp/templates/a4jRepeat1.xhtml
root/tests/metamer/trunk/src/main/webapp/templates/a4jRepeat2.xhtml
root/tests/metamer/trunk/src/main/webapp/templates/hDataTable1.xhtml
root/tests/metamer/trunk/src/main/webapp/templates/hDataTable2.xhtml
root/tests/metamer/trunk/src/main/webapp/templates/uiRepeat1.xhtml
root/tests/metamer/trunk/src/main/webapp/templates/uiRepeat2.xhtml
Modified:
root/tests/metamer/trunk/src/main/java/org/richfaces/testapp/Template.java
root/tests/metamer/trunk/src/main/webapp/templates/richDataTable1.xhtml
root/tests/metamer/trunk/src/main/webapp/templates/richDataTable2.xhtml
Log:
https://jira.jboss.org/browse/RFPL-466
* class Template refactored, added JavaDocs
* added templates for h:dataTable, a4j:repeat and ui:repeat
* template with rich:dataTable refactored
Modified: root/tests/metamer/trunk/src/main/java/org/richfaces/testapp/Template.java
===================================================================
--- root/tests/metamer/trunk/src/main/java/org/richfaces/testapp/Template.java 2010-07-10 18:42:25 UTC (rev 17827)
+++ root/tests/metamer/trunk/src/main/java/org/richfaces/testapp/Template.java 2010-07-10 18:43:30 UTC (rev 17828)
@@ -23,21 +23,33 @@
package org.richfaces.testapp;
/**
- * Kids of templates that can be put in harness.
- * @author carcasser
+ * Representation of a template. The name of the template can be used as
+ * a view parameter.
*
+ * @author <a href="mailto:ppitonak@redhat.com">Pavol Pitonak</a>
+ * @version $Revision$
*/
public enum Template {
- PLAIN ("plain", "", "Plain"),
- REDDIV ("redDiv", "", "Red div"),
- BLUEDIV ("blueDiv", "", "Blue div"),
- RICHDATATABLE1 ("richDataTable1", "", "Rich Data Table Row 1"),
- RICHDATATABLE2 ("richDataTable2", "", "Rich Data Table Row 2");
+ PLAIN ("plain", "Plain"),
+ REDDIV ("redDiv", "Red div"),
+ BLUEDIV ("blueDiv", "Blue div"),
+ RICHDATATABLE1 ("richDataTable1", "Rich Data Table Row 1"),
+ RICHDATATABLE2 ("richDataTable2", "Rich Data Table Row 2"),
+ HDATATABLE1 ("hDataTable1", "JSF Data Table Row 1"),
+ HDATATABLE2 ("hDataTable2", "JSF Data Table Row 2"),
+ UIREPEAT1 ("uiRepeat1", "UI Repeat Row 1"),
+ UIREPEAT2 ("uiRepeat2", "UI Repeat Row 2"),
+ A4JREPEAT1 ("a4jRepeat1", "A4J Repeat Row 1"),
+ A4JREPEAT2 ("a4jRepeat2", "A4J Repeat Row 2");
+ /**
+ * identifier of a template
+ */
private String name;
- private String prefix;
-
+ /**
+ * human-readable name of the template
+ */
private String desc;
/**
@@ -46,9 +58,8 @@
* @param name
* @param prefix
*/
- private Template(String name, String prefix, String desc) {
+ private Template(String name, String desc) {
this.name = name;
- this.prefix = prefix;
this.desc = desc;
}
@@ -61,14 +72,6 @@
}
/**
- * Gets value of prefix field.
- * @return value of prefix field
- */
- public String getPrefix() {
- return prefix;
- }
-
- /**
* Gets value of desc field.
* @return value of desc field
*/
Added: root/tests/metamer/trunk/src/main/webapp/templates/a4jRepeat1.xhtml
===================================================================
--- root/tests/metamer/trunk/src/main/webapp/templates/a4jRepeat1.xhtml (rev 0)
+++ root/tests/metamer/trunk/src/main/webapp/templates/a4jRepeat1.xhtml 2010-07-10 18:43:30 UTC (rev 17828)
@@ -0,0 +1,17 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xmlns:h="http://java.sun.com/jsf/html" xmlns:f="http://java.sun.com/jsf/core"
+ xmlns:ui="http://java.sun.com/jsf/facelets" xmlns:rich="http://richfaces.org/rich" xmlns:a4j="http://richfaces.org/a4j">
+
+ <ui:composition>
+
+ <ul>
+ <a4j:repeat value="#{templateBean.dataTableModel}" var="item" id="containerA4JRepeat1">
+ <li><h:panelGroup columns="1" rendered="#{item == 'row 1'}">
+ <ui:include src="#{templateBean.nextTemplate}.xhtml" />
+ </h:panelGroup>
+ <h:outputText value="#{item}" rendered="#{item != 'row 1'}" /></li>
+ </a4j:repeat>
+ </ul>
+
+ </ui:composition>
+</html>
\ No newline at end of file
Added: root/tests/metamer/trunk/src/main/webapp/templates/a4jRepeat2.xhtml
===================================================================
--- root/tests/metamer/trunk/src/main/webapp/templates/a4jRepeat2.xhtml (rev 0)
+++ root/tests/metamer/trunk/src/main/webapp/templates/a4jRepeat2.xhtml 2010-07-10 18:43:30 UTC (rev 17828)
@@ -0,0 +1,17 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xmlns:h="http://java.sun.com/jsf/html" xmlns:f="http://java.sun.com/jsf/core"
+ xmlns:ui="http://java.sun.com/jsf/facelets" xmlns:rich="http://richfaces.org/rich" xmlns:a4j="http://richfaces.org/a4j">
+
+ <ui:composition>
+
+ <ul>
+ <a4j:repeat value="#{templateBean.dataTableModel}" var="item" id="containerA4JRepeat2">
+ <li><h:panelGroup columns="1" rendered="#{item == 'row 2'}">
+ <ui:include src="#{templateBean.nextTemplate}.xhtml" />
+ </h:panelGroup>
+ <h:outputText value="#{item}" rendered="#{item != 'row 2'}" /></li>
+ </a4j:repeat>
+ </ul>
+
+ </ui:composition>
+</html>
\ No newline at end of file
Copied: root/tests/metamer/trunk/src/main/webapp/templates/hDataTable1.xhtml (from rev 17827, root/tests/metamer/trunk/src/main/webapp/templates/richDataTable1.xhtml)
===================================================================
--- root/tests/metamer/trunk/src/main/webapp/templates/hDataTable1.xhtml (rev 0)
+++ root/tests/metamer/trunk/src/main/webapp/templates/hDataTable1.xhtml 2010-07-10 18:43:30 UTC (rev 17828)
@@ -0,0 +1,20 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xmlns:h="http://java.sun.com/jsf/html" xmlns:f="http://java.sun.com/jsf/core"
+ xmlns:ui="http://java.sun.com/jsf/facelets" xmlns:rich="http://richfaces.org/rich">
+
+ <ui:composition>
+
+ <h:dataTable value="#{templateBean.dataTableModel}" var="item" id="containerHDataTable1">
+ <h:column>
+ <f:facet name="header">
+ <h:outputText value="JSF Data Table" />
+ </f:facet>
+ <h:panelGroup columns="1" rendered="#{item == 'row 1'}">
+ <ui:include src="#{templateBean.nextTemplate}.xhtml" />
+ </h:panelGroup>
+ <h:outputText value="#{item}" rendered="#{item != 'row 1'}" />
+ </h:column>
+ </h:dataTable>
+
+ </ui:composition>
+</html>
\ No newline at end of file
Copied: root/tests/metamer/trunk/src/main/webapp/templates/hDataTable2.xhtml (from rev 17827, root/tests/metamer/trunk/src/main/webapp/templates/richDataTable1.xhtml)
===================================================================
--- root/tests/metamer/trunk/src/main/webapp/templates/hDataTable2.xhtml (rev 0)
+++ root/tests/metamer/trunk/src/main/webapp/templates/hDataTable2.xhtml 2010-07-10 18:43:30 UTC (rev 17828)
@@ -0,0 +1,20 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xmlns:h="http://java.sun.com/jsf/html" xmlns:f="http://java.sun.com/jsf/core"
+ xmlns:ui="http://java.sun.com/jsf/facelets" xmlns:rich="http://richfaces.org/rich">
+
+ <ui:composition>
+
+ <h:dataTable value="#{templateBean.dataTableModel}" var="item" id="containerHDataTable1">
+ <h:column>
+ <f:facet name="header">
+ <h:outputText value="JSF Data Table" />
+ </f:facet>
+ <h:panelGroup columns="1" rendered="#{item == 'row 2'}">
+ <ui:include src="#{templateBean.nextTemplate}.xhtml" />
+ </h:panelGroup>
+ <h:outputText value="#{item}" rendered="#{item != 'row 2'}" />
+ </h:column>
+ </h:dataTable>
+
+ </ui:composition>
+</html>
\ No newline at end of file
Modified: root/tests/metamer/trunk/src/main/webapp/templates/richDataTable1.xhtml
===================================================================
--- root/tests/metamer/trunk/src/main/webapp/templates/richDataTable1.xhtml 2010-07-10 18:42:25 UTC (rev 17827)
+++ root/tests/metamer/trunk/src/main/webapp/templates/richDataTable1.xhtml 2010-07-10 18:43:30 UTC (rev 17828)
@@ -4,15 +4,15 @@
<ui:composition>
- <rich:dataTable value="#{templateBean.dataTableModel}" var="item" id="containerDataTable1" rowKeyVar="row">
+ <rich:dataTable value="#{templateBean.dataTableModel}" var="item" id="containerRichDataTable1" rowKeyVar="row">
<rich:column>
<f:facet name="header">
- <h:outputText value="Data Table" />
+ <h:outputText value="Rich Data Table" />
</f:facet>
- <h:panelGroup columns="1" rendered="#{row ==0}">
+ <h:panelGroup columns="1" rendered="#{item == 'row 1'}">
<ui:include src="#{templateBean.nextTemplate}.xhtml" />
</h:panelGroup>
- <h:outputText value="#{item}" rendered="#{row != 0}" />
+ <h:outputText value="#{item}" rendered="#{item != 'row 1'}" />
</rich:column>
</rich:dataTable>
Modified: root/tests/metamer/trunk/src/main/webapp/templates/richDataTable2.xhtml
===================================================================
--- root/tests/metamer/trunk/src/main/webapp/templates/richDataTable2.xhtml 2010-07-10 18:42:25 UTC (rev 17827)
+++ root/tests/metamer/trunk/src/main/webapp/templates/richDataTable2.xhtml 2010-07-10 18:43:30 UTC (rev 17828)
@@ -4,15 +4,15 @@
<ui:composition>
- <rich:dataTable value="#{templateBean.dataTableModel}" var="item" id="containerDataTable2" rowKeyVar="row">
+ <rich:dataTable value="#{templateBean.dataTableModel}" var="item" id="containerRichDataTable2" rowKeyVar="row">
<rich:column>
<f:facet name="header">
- <h:outputText value="Data Table" />
+ <h:outputText value="Rich Data Table" />
</f:facet>
- <h:panelGroup columns="1" rendered="#{row == 1}">
+ <h:panelGroup columns="1" rendered="#{item == 'row 2'}">
<ui:include src="#{templateBean.nextTemplate}.xhtml" />
</h:panelGroup>
- <h:outputText value="#{item}" rendered="#{row != 1}" />
+ <h:outputText value="#{item}" rendered="#{item != 'row 2'}" />
</rich:column>
</rich:dataTable>
Added: root/tests/metamer/trunk/src/main/webapp/templates/uiRepeat1.xhtml
===================================================================
--- root/tests/metamer/trunk/src/main/webapp/templates/uiRepeat1.xhtml (rev 0)
+++ root/tests/metamer/trunk/src/main/webapp/templates/uiRepeat1.xhtml 2010-07-10 18:43:30 UTC (rev 17828)
@@ -0,0 +1,17 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xmlns:h="http://java.sun.com/jsf/html" xmlns:f="http://java.sun.com/jsf/core"
+ xmlns:ui="http://java.sun.com/jsf/facelets" xmlns:rich="http://richfaces.org/rich" xmlns:a4j="http://richfaces.org/a4j">
+
+ <ui:composition>
+
+ <ol>
+ <ui:repeat value="#{templateBean.dataTableModel}" var="item" id="containerUiRepeat1">
+ <li><h:panelGroup columns="1" rendered="#{item == 'row 1'}">
+ <ui:include src="#{templateBean.nextTemplate}.xhtml" />
+ </h:panelGroup>
+ <h:outputText value="#{item}" rendered="#{item != 'row 1'}" /></li>
+ </ui:repeat>
+ </ol>
+
+ </ui:composition>
+</html>
\ No newline at end of file
Added: root/tests/metamer/trunk/src/main/webapp/templates/uiRepeat2.xhtml
===================================================================
--- root/tests/metamer/trunk/src/main/webapp/templates/uiRepeat2.xhtml (rev 0)
+++ root/tests/metamer/trunk/src/main/webapp/templates/uiRepeat2.xhtml 2010-07-10 18:43:30 UTC (rev 17828)
@@ -0,0 +1,17 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xmlns:h="http://java.sun.com/jsf/html" xmlns:f="http://java.sun.com/jsf/core"
+ xmlns:ui="http://java.sun.com/jsf/facelets" xmlns:rich="http://richfaces.org/rich" xmlns:a4j="http://richfaces.org/a4j">
+
+ <ui:composition>
+
+ <ol>
+ <ui:repeat value="#{templateBean.dataTableModel}" var="item" id="containerUiRepeat2">
+ <li><h:panelGroup columns="1" rendered="#{item == 'row 2'}">
+ <ui:include src="#{templateBean.nextTemplate}.xhtml" />
+ </h:panelGroup>
+ <h:outputText value="#{item}" rendered="#{item != 'row 2'}" /></li>
+ </ui:repeat>
+ </ol>
+
+ </ui:composition>
+</html>
\ No newline at end of file
14 years, 6 months
JBoss Rich Faces SVN: r17827 - in root/tests/metamer/trunk: src/main/java/org/richfaces/testapp and 11 other directories.
by richfaces-svn-commits@lists.jboss.org
Author: lfryc(a)redhat.com
Date: 2010-07-10 14:42:25 -0400 (Sat, 10 Jul 2010)
New Revision: 17827
Added:
root/tests/metamer/trunk/assembler.xml
root/tests/metamer/trunk/readme.txt
root/tests/metamer/trunk/src/main/java/org/richfaces/testapp/bean/A4JAjaxBean.java
root/tests/metamer/trunk/src/main/resources/org/richfaces/testapp/bean/A4JAjaxBean.properties
root/tests/metamer/trunk/src/main/webapp/components/a4jAjax/
root/tests/metamer/trunk/src/main/webapp/components/a4jAjax/input.xhtml
root/tests/metamer/trunk/src/main/webapp/components/a4jAjax/list.xhtml
root/tests/metamer/trunk/src/main/webapp/resources/css/a4jAjax.css
Modified:
root/tests/metamer/trunk/pom.xml
root/tests/metamer/trunk/src/main/java/org/richfaces/testapp/Attributes.java
root/tests/metamer/trunk/src/main/java/org/richfaces/testapp/bean/A4JCommandButtonBean.java
root/tests/metamer/trunk/src/main/java/org/richfaces/testapp/bean/A4JCommandLinkBean.java
root/tests/metamer/trunk/src/main/java/org/richfaces/testapp/bean/A4JLogBean.java
root/tests/metamer/trunk/src/main/java/org/richfaces/testapp/bean/A4JMediaOutputBean.java
root/tests/metamer/trunk/src/main/java/org/richfaces/testapp/bean/CommandButtonBean.java
root/tests/metamer/trunk/src/main/java/org/richfaces/testapp/bean/RichBean.java
root/tests/metamer/trunk/src/main/webapp/components/a4jCommandButton/list.xhtml
root/tests/metamer/trunk/src/main/webapp/components/a4jCommandLink/list.xhtml
root/tests/metamer/trunk/src/main/webapp/components/a4jLog/list.xhtml
root/tests/metamer/trunk/src/main/webapp/components/a4jMediaOutput/list.xhtml
root/tests/metamer/trunk/src/main/webapp/components/commandButton/list.xhtml
root/tests/metamer/trunk/src/main/webapp/resources/css/list.css
root/tests/metamer/trunk/src/main/webapp/templates/template.xhtml
Log:
https://jira.jboss.org/browse/RFPL-466
* pom.xml refactored because of changes in RF build structure
* added readme.txt describing how to build and deploy the application
* added one page for a4j:ajax
* class Attributes refactored - added two factory methods instead of constructor
* all pages list.xhtml refactored
Added: root/tests/metamer/trunk/assembler.xml
===================================================================
--- root/tests/metamer/trunk/assembler.xml (rev 0)
+++ root/tests/metamer/trunk/assembler.xml 2010-07-10 18:42:25 UTC (rev 17827)
@@ -0,0 +1,22 @@
+<assembly xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0 http://maven.apache.org/xsd/assembly-1.1.0.xsd">
+ <formats>
+ <format>dir</format>
+ </formats>
+
+ <files>
+ <file>
+ <source>pom.xml</source>
+ </file>
+ <file>
+ <source>readme.txt</source>
+ </file>
+ </files>
+
+ <fileSets>
+ <fileSet>
+ <directory>src</directory>
+ </fileSet>
+ </fileSets>
+</assembly>
\ No newline at end of file
Modified: root/tests/metamer/trunk/pom.xml
===================================================================
--- root/tests/metamer/trunk/pom.xml 2010-07-10 18:31:32 UTC (rev 17826)
+++ root/tests/metamer/trunk/pom.xml 2010-07-10 18:42:25 UTC (rev 17827)
@@ -5,19 +5,23 @@
<modelVersion>4.0.0</modelVersion>
<parent>
- <groupId>org.richfaces.examples</groupId>
- <artifactId>examples-aggregator</artifactId>
- <version>4.0.0-SNAPSHOT</version>
+ <groupId>org.richfaces</groupId>
+ <artifactId>richfaces-parent</artifactId>
+ <version>7</version>
</parent>
-
<groupId>org.richfaces.examples</groupId>
<artifactId>testapp</artifactId>
+ <version>4.0.0-SNAPSHOT</version>
<packaging>war</packaging>
<name>RichFaces Examples: Testing Application</name>
<properties>
+ <snapshotRepository>dav:https://repository.jboss.org/nexus/content/repositories/snapshots/</snapshotRepository>
+ <jetty.port>8080</jetty.port>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+ <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
+ <richfaces.checkstyle.version>1</richfaces.checkstyle.version>
</properties>
<dependencyManagement>
@@ -27,38 +31,67 @@
<artifactId>el-api</artifactId>
<version>2.2</version>
</dependency>
+
+ <dependency>
+ <groupId>org.richfaces.ui.dist</groupId>
+ <artifactId>richfaces-components-bom</artifactId>
+ <version>${project.version}</version>
+ <scope>import</scope>
+ <type>pom</type>
+ </dependency>
+
+ <dependency>
+ <groupId>org.slf4j</groupId>
+ <artifactId>slf4j-simple</artifactId>
+ <version>1.5.8</version>
+ </dependency>
</dependencies>
</dependencyManagement>
<dependencies>
+ <!-- RichFaces 4 -->
<dependency>
- <groupId>org.richfaces.ui</groupId>
- <artifactId>richfaces-ui-core-ui</artifactId>
+ <groupId>org.richfaces.ui.dist</groupId>
+ <artifactId>richfaces-components-ui</artifactId>
</dependency>
- <!--<dependency>
- <groupId>org.richfaces.ui.components</groupId>
- <artifactId>core-ui</artifactId>
- <version>4.0.0-SNAPSHOT</version>
- </dependency>-->
- <!--<dependency>
- <groupId>org.richfaces.ui.iteration</groupId>
- <artifactId>datascroller-ui</artifactId>
- <version>4.0.0-SNAPSHOT</version>
- </dependency>-->
<dependency>
- <groupId>org.richfaces.ui-sandbox</groupId>
- <artifactId>tables-ui</artifactId>
- <version>4.0.0-SNAPSHOT</version>
+ <groupId>org.richfaces.cdk</groupId>
+ <artifactId>annotations</artifactId>
+ <version>${project.version}</version>
</dependency>
+ <!-- Java Server Faces 2 -->
<dependency>
+ <groupId>${jsf2.api.groupid}</groupId>
+ <artifactId>${jsf2.api.artifactid}</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>${jsf2.impl.groupid}</groupId>
+ <artifactId>${jsf2.impl.artifactid}</artifactId>
+ </dependency>
+
+ <dependency>
+ <groupId>javax.servlet</groupId>
+ <artifactId>servlet-api</artifactId>
+ <scope>provided</scope>
+ </dependency>
+ <dependency>
+ <groupId>javax.el</groupId>
+ <artifactId>el-api</artifactId>
+ <scope>compile</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.glassfish.web</groupId>
+ <artifactId>el-impl</artifactId>
+ <version>2.2</version>
+ <scope>runtime</scope>
+ </dependency>
+
+ <!-- Simple Logging Facade for Java -->
+ <dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
</dependency>
- <!--<dependency>
- <groupId>org.slf4j</groupId>
- <artifactId>slf4j-log4j12</artifactId>
- </dependency>-->
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-simple</artifactId>
@@ -67,30 +100,61 @@
<dependency>
<groupId>org.testng</groupId>
<artifactId>testng</artifactId>
- <version>5.9</version>
+ <version>5.12.1</version>
<scope>test</scope>
</dependency>
-
<!--<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-validator</artifactId>
<version>4.0.2.GA</version>
- <type>jar</type>
<scope>provided</scope>
</dependency>-->
-
- <dependency>
- <groupId>org.glassfish.web</groupId>
- <artifactId>el-impl</artifactId>
- <version>2.2</version>
- <scope>runtime</scope>
- </dependency>
-
</dependencies>
<build>
<finalName>testapp</finalName>
+
+ <pluginManagement>
+ <plugins>
+ <plugin>
+ <!-- Configure checkstyle report for this module -->
+ <artifactId>maven-checkstyle-plugin</artifactId>
+ <dependencies>
+ <dependency>
+ <groupId>org.richfaces</groupId>
+ <artifactId>richfaces-build-checkstyle
+ </artifactId>
+ <version>${richfaces.checkstyle.version}
+ </version>
+ </dependency>
+ </dependencies>
+ </plugin>
+ </plugins>
+ </pluginManagement>
+
+ <plugins>
+ <plugin>
+ <artifactId>maven-checkstyle-plugin</artifactId>
+ </plugin>
+ <plugin>
+ <artifactId>maven-compiler-plugin</artifactId>
+ </plugin>
+ <plugin>
+ <groupId>org.mortbay.jetty</groupId>
+ <artifactId>maven-jetty-plugin</artifactId>
+ <version>6.1.18</version>
+ <configuration>
+ <scanIntervalSeconds>10</scanIntervalSeconds>
+ <connectors>
+ <connector implementation="org.mortbay.jetty.nio.SelectChannelConnector">
+ <port>${jetty.port}</port>
+ <maxIdleTime>60000</maxIdleTime>
+ </connector>
+ </connectors>
+ </configuration>
+ </plugin>
+ </plugins>
</build>
<profiles>
@@ -108,13 +172,10 @@
<goal>war</goal>
</goals>
<configuration>
- <webappDirectory>${project.build.directory}/${project.build.finalName}-jee6
- </webappDirectory>
+ <webappDirectory>${project.build.directory}/${project.build.finalName}-jee6</webappDirectory>
<classifier>jee6</classifier>
- <packagingExcludes>WEB-INF/lib/jsf-api*,WEB-INF/lib/jsf-impl*,WEB-INF/lib/jta-*
- </packagingExcludes>
- <warSourceExcludes>WEB-INF/lib/jsf-api*,WEB-INF/lib/jsf-impl*,WEB-INF/lib/jta-*
- </warSourceExcludes>
+ <packagingExcludes>WEB-INF/lib/jsf-api*,WEB-INF/lib/jsf-impl*,WEB-INF/lib/jta-*</packagingExcludes>
+ <warSourceExcludes>WEB-INF/lib/jsf-api*,WEB-INF/lib/jsf-impl*,WEB-INF/lib/jta-*</warSourceExcludes>
</configuration>
</execution>
</executions>
@@ -122,6 +183,37 @@
<classifier>tomcat6</classifier>
</configuration>
</plugin>
+ <plugin>
+ <artifactId>maven-assembly-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>group-sources</id>
+ <goals>
+ <goal>single</goal>
+ </goals>
+ <phase>package</phase>
+ <configuration>
+ <finalName>sources</finalName>
+ <descriptor>assembler.xml</descriptor>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+ <plugin>
+ <artifactId>maven-jar-plugin</artifactId>
+ <executions>
+ <execution>
+ <goals>
+ <goal>jar</goal>
+ </goals>
+ <phase>package</phase>
+ <configuration>
+ <classesDirectory>${basedir}/target/sources/sources</classesDirectory>
+ <classifier>sources</classifier>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
</plugins>
</build>
</profile>
@@ -138,9 +230,38 @@
</plugin>
</plugins>
</build>
+
+ <dependencies>
+ <dependency>
+ <groupId>${jsf2.api.groupid}</groupId>
+ <artifactId>${jsf2.api.artifactid}</artifactId>
+ <scope>provided</scope>
+ </dependency>
+ <dependency>
+ <groupId>${jsf2.impl.groupid}</groupId>
+ <artifactId>${jsf2.impl.artifactid}</artifactId>
+ <scope>provided</scope>
+ </dependency>
+ <dependency>
+ <groupId>javax.transaction</groupId>
+ <artifactId>jta</artifactId>
+ <version>1.1</version>
+ <scope>provided</scope>
+ </dependency>
+ </dependencies>
</profile>
</profiles>
+ <repositories>
+ <repository>
+ <id>maven-repository2.dev.java.net</id>
+ <name>Java.net Repository for Maven 2</name>
+ <url>http://download.java.net/maven/2</url>
+ <snapshots>
+ <enabled>true</enabled>
+ </snapshots>
+ </repository>
+ </repositories>
</project>
Added: root/tests/metamer/trunk/readme.txt
===================================================================
--- root/tests/metamer/trunk/readme.txt (rev 0)
+++ root/tests/metamer/trunk/readme.txt 2010-07-10 18:42:25 UTC (rev 17827)
@@ -0,0 +1,48 @@
+Testapp is an application intended to test all RichFaces components on their own, inside other JSF components and in various environments. It contains set of small use-cases implemented using RichFaces components.
+
+
+1 Building and Running the application
+
+
+1.1. Requirements
+
+- Maven 2.1.0 or later
+- Tomcat 6, JBoss 6
+- JDK 1.6
+
+1.2 Optional Additional Software
+- Eclipse IDE + JBoss Tools (to explore and run the application in IDE).
+- You're free to use any other IDE also but we haven't tested an application in other environments.
+
+
+1.3 Building the application for Tomcat
+
+To build a binary for Tomcat, you need to run
+
+ mvn clean package
+
+When you see the BUILD SUCCESSFUL message you can deploy the application on the server. You can deploy it on the server by copying .war file from 'target' folder to
+the TOMCAT_HOME/webapps folder. Then, launch the startup.sh or startup.bat script from TOMCAT_HOME/bin/ directory to start the server.
+
+
+1.4 Building the application for JEE6 containers
+
+To build a binary for JEE6 container, run
+
+ mvn clean package -P jee6
+
+When you see the BUILD SUCCESSFUL message you can deploy the application on the server. You can deploy it on the server by copying .war file from 'target' folder to
+the JBOSS_HOME/server/default/deploy folder. Then, launch the run.sh or run.bat script from JBOSS_HOME/bin/ directory to start the server.
+
+
+1.5 Building and running from Eclipse IDE
+
+In order to explore, run and deploy the application in Eclipse IDE you can use one of the following options:
+
+ * Just import as maven project if using m2eclipse plugin.
+
+ * without m2eclipse - build it with the following command and import as an existing project.
+
+ mvn clean install eclipse:clean eclipse:eclipse
+
+
Modified: root/tests/metamer/trunk/src/main/java/org/richfaces/testapp/Attributes.java
===================================================================
--- root/tests/metamer/trunk/src/main/java/org/richfaces/testapp/Attributes.java 2010-07-10 18:31:32 UTC (rev 17826)
+++ root/tests/metamer/trunk/src/main/java/org/richfaces/testapp/Attributes.java 2010-07-10 18:42:25 UTC (rev 17827)
@@ -43,7 +43,8 @@
import javax.el.ExpressionFactory;
import javax.el.MethodExpression;
import javax.faces.bean.ManagedBean;
-import javax.faces.component.UIComponentBase;
+import javax.faces.component.UIComponent;
+import javax.faces.component.behavior.BehaviorBase;
import javax.faces.context.FacesContext;
import javax.faces.event.ActionEvent;
import javax.faces.model.SelectItem;
@@ -57,7 +58,7 @@
* @author <a href="mailto:ppitonak@redhat.com">Pavol Pitonak</a>
* @version $Revision$
*/
-public class Attributes implements Map<String, Object> {
+public final class Attributes implements Map<String, Object> {
private Logger logger;
// K - name of a component attribute, V - value of the component attribute
@@ -79,7 +80,7 @@
* @param beanClass
* class object of a managed bean
*/
- public Attributes(Class<? extends UIComponentBase> componentClass, Class<?> beanClass) {
+ private Attributes(Class<?> componentClass, Class<?> beanClass) {
logger = LoggerFactory.getLogger(Attributes.class);
logger.info("creating attributes map for " + componentClass);
@@ -114,6 +115,30 @@
}
/**
+ * Constructor for class Attributes.
+ *
+ * @param componentClass
+ * class object of a JSF component whose attributes will be stored
+ * @param beanClass
+ * class object of a managed bean
+ */
+ public static Attributes getUIComponentAttributes(Class<? extends UIComponent> componentClass, Class<?> beanClass) {
+ return new Attributes(componentClass, beanClass);
+ }
+
+ /**
+ * Constructor for class Attributes.
+ *
+ * @param behaviorClass
+ * class object of a JSF behavior whose attributes will be stored
+ * @param beanClass
+ * class object of a managed bean
+ */
+ public static Attributes getBehaviorAttributes(Class<? extends BehaviorBase> behaviorClass, Class<?> beanClass) {
+ return new Attributes(behaviorClass, beanClass);
+ }
+
+ /**
* Loads help.
*
* @return map where key is attribute's name and value is help for this attribute
@@ -280,6 +305,7 @@
set.add("facets");
set.add("facetsAndChildren");
set.add("family");
+ set.add("hints");
set.add("id");
set.add("inView");
set.add("namingContainer");
@@ -287,6 +313,7 @@
set.add("rendererType");
set.add("rendersChildren");
set.add("resourceBundleMap");
+ set.add("stateHelper");
set.add("transient");
return set;
}
Copied: root/tests/metamer/trunk/src/main/java/org/richfaces/testapp/bean/A4JAjaxBean.java (from rev 17826, root/tests/metamer/trunk/src/main/java/org/richfaces/testapp/bean/A4JLogBean.java)
===================================================================
--- root/tests/metamer/trunk/src/main/java/org/richfaces/testapp/bean/A4JAjaxBean.java (rev 0)
+++ root/tests/metamer/trunk/src/main/java/org/richfaces/testapp/bean/A4JAjaxBean.java 2010-07-10 18:42:25 UTC (rev 17827)
@@ -0,0 +1,98 @@
+/*******************************************************************************
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc. and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ *******************************************************************************/
+
+package org.richfaces.testapp.bean;
+
+import java.io.Serializable;
+
+import javax.annotation.PostConstruct;
+import javax.faces.bean.ManagedBean;
+import javax.faces.bean.SessionScoped;
+import org.ajax4jsf.component.behavior.AjaxBehavior;
+
+import org.richfaces.testapp.Attributes;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+/**
+ * Managed bean for a4j:ajax.
+ *
+ * @author <a href="mailto:ppitonak@redhat.com">Pavol Pitonak</a>
+ * @version $Revision$
+ */
+@ManagedBean(name = "a4jAjaxBean")
+@SessionScoped
+public class A4JAjaxBean implements Serializable {
+
+ private static final long serialVersionUID = -1L;
+ private static Logger logger;
+ private Attributes attributes;
+ private String input;
+
+ /**
+ * Initializes the managed bean.
+ */
+ @PostConstruct
+ public void init() {
+ logger = LoggerFactory.getLogger(getClass());
+ logger.info("initializing bean " + getClass().getName());
+
+ attributes = Attributes.getBehaviorAttributes(AjaxBehavior.class, getClass());
+ attributes.put("event", "keyup");
+ attributes.put("render", "output");
+ }
+
+ /**
+ * Getter for attributes.
+ *
+ * @return A map containing all attributes of tested component. Name of the component is key in the map.
+ */
+ public Attributes getAttributes() {
+ return attributes;
+ }
+
+ /**
+ * Setter for attributes.
+ *
+ * @param attributes
+ * map containing all attributes of tested component. Name of the component is key in the map.
+ */
+ public void setAttributes(Attributes attributes) {
+ this.attributes = attributes;
+ }
+
+ /**
+ * Getter for input.
+ * @return content of the input field on the page
+ */
+ public String getInput() {
+ return input;
+ }
+
+ /**
+ * Setter for input.
+ * @param input new content of the input field on the page
+ */
+ public void setInput(String input) {
+ this.input = input;
+ }
+}
Modified: root/tests/metamer/trunk/src/main/java/org/richfaces/testapp/bean/A4JCommandButtonBean.java
===================================================================
--- root/tests/metamer/trunk/src/main/java/org/richfaces/testapp/bean/A4JCommandButtonBean.java 2010-07-10 18:31:32 UTC (rev 17826)
+++ root/tests/metamer/trunk/src/main/java/org/richfaces/testapp/bean/A4JCommandButtonBean.java 2010-07-10 18:42:25 UTC (rev 17827)
@@ -60,7 +60,7 @@
logger = LoggerFactory.getLogger(getClass());
logger.info("initializing bean " + getClass().getName());
- attributes = new Attributes(UICommandButton.class, getClass());
+ attributes = Attributes.getUIComponentAttributes(UICommandButton.class, getClass());
attributes.put("value", "command button");
attributes.put("rendered", "true");
Modified: root/tests/metamer/trunk/src/main/java/org/richfaces/testapp/bean/A4JCommandLinkBean.java
===================================================================
--- root/tests/metamer/trunk/src/main/java/org/richfaces/testapp/bean/A4JCommandLinkBean.java 2010-07-10 18:31:32 UTC (rev 17826)
+++ root/tests/metamer/trunk/src/main/java/org/richfaces/testapp/bean/A4JCommandLinkBean.java 2010-07-10 18:42:25 UTC (rev 17827)
@@ -60,7 +60,7 @@
logger = LoggerFactory.getLogger(getClass());
logger.info("initializing bean " + getClass().getName());
- attributes = new Attributes(UICommandLink.class, getClass());
+ attributes = Attributes.getUIComponentAttributes(UICommandLink.class, getClass());
attributes.put("value", "command link");
attributes.put("rendered", "true");
Modified: root/tests/metamer/trunk/src/main/java/org/richfaces/testapp/bean/A4JLogBean.java
===================================================================
--- root/tests/metamer/trunk/src/main/java/org/richfaces/testapp/bean/A4JLogBean.java 2010-07-10 18:31:32 UTC (rev 17826)
+++ root/tests/metamer/trunk/src/main/java/org/richfaces/testapp/bean/A4JLogBean.java 2010-07-10 18:42:25 UTC (rev 17827)
@@ -19,6 +19,7 @@
* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
*******************************************************************************/
+
package org.richfaces.testapp.bean;
import java.io.Serializable;
@@ -56,7 +57,7 @@
logger.info("initializing bean " + getClass().getName());
name = "John";
- attributes = new Attributes(UIAjaxLog.class, getClass());
+ attributes = Attributes.getUIComponentAttributes(UIAjaxLog.class, getClass());
attributes.put("rendered", true);
attributes.put("level", "debug");
}
Modified: root/tests/metamer/trunk/src/main/java/org/richfaces/testapp/bean/A4JMediaOutputBean.java
===================================================================
--- root/tests/metamer/trunk/src/main/java/org/richfaces/testapp/bean/A4JMediaOutputBean.java 2010-07-10 18:31:32 UTC (rev 17826)
+++ root/tests/metamer/trunk/src/main/java/org/richfaces/testapp/bean/A4JMediaOutputBean.java 2010-07-10 18:42:25 UTC (rev 17827)
@@ -19,6 +19,7 @@
* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
*******************************************************************************/
+
package org.richfaces.testapp.bean;
import java.awt.Color;
@@ -63,7 +64,7 @@
logger = LoggerFactory.getLogger(getClass());
logger.info("initializing bean " + getClass().getName());
- attributes = new Attributes(UIMediaOutput.class, getClass());
+ attributes = Attributes.getUIComponentAttributes(UIMediaOutput.class, getClass());
}
/**
Modified: root/tests/metamer/trunk/src/main/java/org/richfaces/testapp/bean/CommandButtonBean.java
===================================================================
--- root/tests/metamer/trunk/src/main/java/org/richfaces/testapp/bean/CommandButtonBean.java 2010-07-10 18:31:32 UTC (rev 17826)
+++ root/tests/metamer/trunk/src/main/java/org/richfaces/testapp/bean/CommandButtonBean.java 2010-07-10 18:42:25 UTC (rev 17827)
@@ -60,7 +60,7 @@
logger = LoggerFactory.getLogger(getClass());
logger.info("initializing bean " + getClass().getName());
- attributes = new Attributes(HtmlCommandButton.class, getClass());
+ attributes = Attributes.getUIComponentAttributes(HtmlCommandButton.class, getClass());
attributes.put("value", "command button");
attributes.put("rendered", "true");
Modified: root/tests/metamer/trunk/src/main/java/org/richfaces/testapp/bean/RichBean.java
===================================================================
--- root/tests/metamer/trunk/src/main/java/org/richfaces/testapp/bean/RichBean.java 2010-07-10 18:31:32 UTC (rev 17826)
+++ root/tests/metamer/trunk/src/main/java/org/richfaces/testapp/bean/RichBean.java 2010-07-10 18:42:25 UTC (rev 17827)
@@ -87,7 +87,8 @@
private void createComponentsMap() {
components = new TreeMap<String, String>();
-
+
+ components.put("a4jAjax", "A4J Ajax");
components.put("a4jCommandLink", "A4J Command Link");
components.put("a4jCommandButton", "A4J Command Button");
components.put("a4jLog", "A4J Log");
Copied: root/tests/metamer/trunk/src/main/resources/org/richfaces/testapp/bean/A4JAjaxBean.properties (from rev 17826, root/tests/metamer/trunk/src/main/webapp/resources/css/list.css)
===================================================================
Added: root/tests/metamer/trunk/src/main/webapp/components/a4jAjax/input.xhtml
===================================================================
--- root/tests/metamer/trunk/src/main/webapp/components/a4jAjax/input.xhtml (rev 0)
+++ root/tests/metamer/trunk/src/main/webapp/components/a4jAjax/input.xhtml 2010-07-10 18:42:25 UTC (rev 17827)
@@ -0,0 +1,51 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xmlns:h="http://java.sun.com/jsf/html" xmlns:f="http://java.sun.com/jsf/core"
+ xmlns:ui="http://java.sun.com/jsf/facelets" xmlns:a4j="http://richfaces.org/a4j"
+ xmlns:ta="http://java.sun.com/jsf/composite/testapp">
+
+ <ui:composition template="/templates/template.xhtml">
+
+ <ui:define name="head">
+ <f:metadata>
+ <f:viewParam name="templates" value="#{templateBean.templates}">
+ <f:converter converterId="templatesListConverter" />
+ </f:viewParam>
+ </f:metadata>
+ <h:outputStylesheet library="css" name="a4jAjax.css"/>
+ </ui:define>
+
+ <ui:define name="outOfTemplateBefore">
+ </ui:define>
+
+ <ui:define name="component">
+ <h:inputText id="input" value="#{a4jAjaxBean.input}">
+ <a4j:ajax id="inputAjax" bypassUpdates="#{a4jAjaxBean.attributes['bypassUpdates']}"
+ data="#{a4jAjaxBean.attributes['data']}"
+ disabled="#{a4jAjaxBean.attributes['disabled']}"
+ event="keyup"
+ execute="#{a4jAjaxBean.attributes['execute']}"
+ immediate="#{a4jAjaxBean.attributes['immediate']}"
+ limitRender="#{a4jAjaxBean.attributes['limitRender']}"
+ onbeforedomupdate="#{a4jAjaxBean.attributes['onbeforedomupdate']}"
+ onbegin="#{a4jAjaxBean.attributes['onbegin']}"
+ oncomplete="#{a4jAjaxBean.attributes['oncomplete']}"
+ onerror="#{a4jAjaxBean.attributes['onerror']}"
+ onevent="#{a4jAjaxBean.attributes['onevent']}"
+ queueId="#{a4jAjaxBean.attributes['queueId']}"
+ render="#{a4jAjaxBean.attributes['render']}"
+ status="#{a4jAjaxBean.attributes['status']}"
+ />
+ </h:inputText>
+
+ <a4j:outputPanel id="output">
+ <h:outputText value="#{a4jAjaxBean.input}"/>
+ </a4j:outputPanel>
+
+ </ui:define>
+
+ <ui:define name="outOfTemplateAfter">
+ <ta:attributes value="#{a4jAjaxBean.attributes}" id="attributes" render="log"/>
+ </ui:define>
+
+ </ui:composition>
+</html>
\ No newline at end of file
Copied: root/tests/metamer/trunk/src/main/webapp/components/a4jAjax/list.xhtml (from rev 17826, root/tests/metamer/trunk/src/main/webapp/components/a4jLog/list.xhtml)
===================================================================
--- root/tests/metamer/trunk/src/main/webapp/components/a4jAjax/list.xhtml (rev 0)
+++ root/tests/metamer/trunk/src/main/webapp/components/a4jAjax/list.xhtml 2010-07-10 18:42:25 UTC (rev 17827)
@@ -0,0 +1,17 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xmlns:h="http://java.sun.com/jsf/html" xmlns:f="http://java.sun.com/jsf/core"
+ xmlns:ui="http://java.sun.com/jsf/facelets" xmlns:a4j="http://richfaces.org/a4j" xmlns:c="http://java.sun.com/jsp/jstl/core">
+
+<h:head>
+ <title>A4J Ajax</title>
+ <meta http-equiv="Content-Type" content="text/xhtml; charset=UTF-8" />
+ <h:outputStylesheet library="css" name="list.css" />
+</h:head>
+
+<h:body>
+
+ <h:outputLink value="input.xhtml" styleClass="link">Input Text</h:outputLink>
+ <div class="description">Simple page that contains h:inputText with a4j:ajax and input boxes for all its attributes.</div>
+
+</h:body>
+</html>
\ No newline at end of file
Modified: root/tests/metamer/trunk/src/main/webapp/components/a4jCommandButton/list.xhtml
===================================================================
--- root/tests/metamer/trunk/src/main/webapp/components/a4jCommandButton/list.xhtml 2010-07-10 18:31:32 UTC (rev 17826)
+++ root/tests/metamer/trunk/src/main/webapp/components/a4jCommandButton/list.xhtml 2010-07-10 18:42:25 UTC (rev 17827)
@@ -11,8 +11,8 @@
<h:body>
- <h3><h:outputLink value="simple.xhtml">Simple</h:outputLink></h3>
- <div>Simple page that contains ajax command button and input boxes for all its attributes.</div>
+ <h:outputLink value="simple.xhtml" styleClass="link">Simple</h:outputLink>
+ <div class="description">Simple page that contains ajax command button and input boxes for all its attributes.</div>
</h:body>
</html>
\ No newline at end of file
Modified: root/tests/metamer/trunk/src/main/webapp/components/a4jCommandLink/list.xhtml
===================================================================
--- root/tests/metamer/trunk/src/main/webapp/components/a4jCommandLink/list.xhtml 2010-07-10 18:31:32 UTC (rev 17826)
+++ root/tests/metamer/trunk/src/main/webapp/components/a4jCommandLink/list.xhtml 2010-07-10 18:42:25 UTC (rev 17827)
@@ -10,8 +10,8 @@
<h:body>
- <h3><h:outputLink value="simple.xhtml">Simple</h:outputLink></h3>
- <div>Simple page that contains ajax command link and input boxes for all its attributes.</div>
+ <h:outputLink value="simple.xhtml" styleClass="link">Simple</h:outputLink>
+ <div class="description">Simple page that contains ajax command link and input boxes for all its attributes.</div>
</h:body>
</html>
\ No newline at end of file
Modified: root/tests/metamer/trunk/src/main/webapp/components/a4jLog/list.xhtml
===================================================================
--- root/tests/metamer/trunk/src/main/webapp/components/a4jLog/list.xhtml 2010-07-10 18:31:32 UTC (rev 17826)
+++ root/tests/metamer/trunk/src/main/webapp/components/a4jLog/list.xhtml 2010-07-10 18:42:25 UTC (rev 17827)
@@ -10,8 +10,8 @@
<h:body>
- <h3><h:outputLink value="simple.xhtml">Simple</h:outputLink></h3>
- <div>Simple page that contains log and input boxes for all its attributes.</div>
+ <h:outputLink value="simple.xhtml" styleClass="link">Simple</h:outputLink>
+ <div class="description">Simple page that contains log and input boxes for all its attributes.</div>
</h:body>
</html>
\ No newline at end of file
Modified: root/tests/metamer/trunk/src/main/webapp/components/a4jMediaOutput/list.xhtml
===================================================================
--- root/tests/metamer/trunk/src/main/webapp/components/a4jMediaOutput/list.xhtml 2010-07-10 18:31:32 UTC (rev 17826)
+++ root/tests/metamer/trunk/src/main/webapp/components/a4jMediaOutput/list.xhtml 2010-07-10 18:42:25 UTC (rev 17827)
@@ -10,10 +10,10 @@
<h:body>
- <h3><h:outputLink value="image.xhtml">Image</h:outputLink></h3>
- <div>Simple page that contains media output (image) and input boxes for all its attributes.</div>
+ <h:outputLink value="image.xhtml" styleClass="link">Image</h:outputLink>
+ <div class="description">Simple page that contains media output (image) and input boxes for all its attributes.</div>
- <h3><h:outputLink value="flash.xhtml">Flash</h:outputLink></h3>
- <div>Simple page that contains media output (flash) and input boxes for all its attributes.</div>
+ <h:outputLink value="flash.xhtml" styleClass="link">Flash</h:outputLink>
+ <div class="description">Simple page that contains media output (flash) and input boxes for all its attributes.</div>
</h:body>
</html>
\ No newline at end of file
Modified: root/tests/metamer/trunk/src/main/webapp/components/commandButton/list.xhtml
===================================================================
--- root/tests/metamer/trunk/src/main/webapp/components/commandButton/list.xhtml 2010-07-10 18:31:32 UTC (rev 17826)
+++ root/tests/metamer/trunk/src/main/webapp/components/commandButton/list.xhtml 2010-07-10 18:42:25 UTC (rev 17827)
@@ -11,8 +11,8 @@
<h:body>
- <h3><h:outputLink value="simple.xhtml">Simple</h:outputLink></h3>
- <div>Simple page that contains standard JSF command button and input boxes for all its attributes.</div>
+ <h:outputLink value="simple.xhtml" styleClass="link">Simple</h:outputLink>
+ <div class="description">Simple page that contains standard JSF command button and input boxes for all its attributes.</div>
</h:body>
</html>
\ No newline at end of file
Copied: root/tests/metamer/trunk/src/main/webapp/resources/css/a4jAjax.css (from rev 17826, root/tests/metamer/trunk/src/main/webapp/resources/css/list.css)
===================================================================
Modified: root/tests/metamer/trunk/src/main/webapp/resources/css/list.css
===================================================================
--- root/tests/metamer/trunk/src/main/webapp/resources/css/list.css 2010-07-10 18:31:32 UTC (rev 17826)
+++ root/tests/metamer/trunk/src/main/webapp/resources/css/list.css 2010-07-10 18:42:25 UTC (rev 17827)
@@ -0,0 +1,9 @@
+.link {
+ font-size: 16px;
+ font-weight: bold;
+}
+
+.description {
+ padding-top: 5px;
+ padding-bottom: 15px;
+}
\ No newline at end of file
Modified: root/tests/metamer/trunk/src/main/webapp/templates/template.xhtml
===================================================================
--- root/tests/metamer/trunk/src/main/webapp/templates/template.xhtml 2010-07-10 18:31:32 UTC (rev 17826)
+++ root/tests/metamer/trunk/src/main/webapp/templates/template.xhtml 2010-07-10 18:42:25 UTC (rev 17827)
@@ -7,19 +7,15 @@
<meta http-equiv="Content-Type" content="text/xhtml; charset=UTF-8" />
<h:outputStylesheet library="css" name="common.css" />
<ui:insert name="head"/>
- <script type="text/javascript">A4J.AJAX.onExpired = function(loc, expiredMsg){
-
- if(window.confirm("Custom onExpired handler "+expiredMsg+" for a location: "+loc)){
-
- return loc;
-
- } else {
-
- return false;
-
- }
-
-}</script>
+ <script type="text/javascript">
+ RichFaces.ajax.onExpired = function(loc, expiredMsg){
+ if(window.confirm("Custom onExpired handler "+expiredMsg+" for a location: "+loc)){
+ return loc;
+ } else {
+ return false;
+ }
+ }
+ </script>
</h:head>
<h:body>
14 years, 6 months