You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@shale.apache.org by gv...@apache.org on 2006/11/14 06:13:21 UTC
svn commit: r474666 - in /shale/sandbox/shale-clay-trinidad: ./
src/main/java/org/apache/myfaces/trinidad/blank/
src/main/java/org/apache/shale/clay/component/chain/trinidad/
src/main/webapp/WEB-INF/ src/main/webapp/pages/
Author: gvanmatre
Date: Mon Nov 13 21:13:20 2006
New Revision: 474666
URL: http://svn.apache.org/viewvc?view=rev&rev=474666
Log:
More on the Clay/Trinidad integration. Added support for the rest of the Trinidad custom method action component attributes. Dropped in a partial page rendering test and added a tree component and a few other components. The partial page rendering is amazingly simple to use.
Added:
shale/sandbox/shale-clay-trinidad/src/main/java/org/apache/shale/clay/component/chain/trinidad/PropertyListenerCommand.java
- copied, changed from r473148, shale/sandbox/shale-clay-trinidad/src/main/java/org/apache/shale/clay/component/chain/trinidad/AttributeChangeListenerCommand.java
Removed:
shale/sandbox/shale-clay-trinidad/src/main/java/org/apache/shale/clay/component/chain/trinidad/AttributeChangeListenerCommand.java
Modified:
shale/sandbox/shale-clay-trinidad/pom.xml
shale/sandbox/shale-clay-trinidad/src/main/java/org/apache/myfaces/trinidad/blank/ComponentTreeModelAdapter.java
shale/sandbox/shale-clay-trinidad/src/main/java/org/apache/myfaces/trinidad/blank/HelloWorldBacking.java
shale/sandbox/shale-clay-trinidad/src/main/java/org/apache/myfaces/trinidad/blank/ShowDisplayElementBacking.java
shale/sandbox/shale-clay-trinidad/src/main/java/org/apache/myfaces/trinidad/blank/TreeModelAdapter.java
shale/sandbox/shale-clay-trinidad/src/main/webapp/WEB-INF/chain-config.xml
shale/sandbox/shale-clay-trinidad/src/main/webapp/pages/showDisplayElement.html
Modified: shale/sandbox/shale-clay-trinidad/pom.xml
URL: http://svn.apache.org/viewvc/shale/sandbox/shale-clay-trinidad/pom.xml?view=diff&rev=474666&r1=474665&r2=474666
==============================================================================
--- shale/sandbox/shale-clay-trinidad/pom.xml (original)
+++ shale/sandbox/shale-clay-trinidad/pom.xml Mon Nov 13 21:13:20 2006
@@ -15,8 +15,12 @@
<finalName>${artifactId}</finalName>
<resources>
<resource>
- <targetPath>${project.build.outputDirectory}/META-INF</targetPath>
- <directory>${project.build.outputDirectory}/src/main/resources/META-INF</directory>
+ <targetPath>
+ ${project.build.outputDirectory}/META-INF
+ </targetPath>
+ <directory>
+ ${project.build.outputDirectory}/src/main/resources/META-INF
+ </directory>
<includes>
<include>**/*.xml</include>
</includes>
@@ -162,12 +166,12 @@
</dependency>
<!-- Apache Trinidad
- You need to build for the source.
- svn co http://svn.apache.org/repos/asf/incubator/adffaces/trunk/trinidad trinidad
- cd trinidad
- mvn install
- ** rock on **
- -->
+ You need to build for the source.
+ svn co http://svn.apache.org/repos/asf/incubator/adffaces/trunk/trinidad trinidad
+ cd trinidad
+ mvn install
+ ** rock on **
+ -->
<dependency>
<groupId>org.apache.myfaces.trinidad</groupId>
<artifactId>trinidad-api</artifactId>
@@ -206,13 +210,12 @@
<artifactId>shale-view</artifactId>
<version>1.0.4-SNAPSHOT</version>
</dependency>
-
+
<dependency>
- <groupId>org.apache.shale</groupId>
- <artifactId>shale-tiger</artifactId>
- <version>1.0.4-SNAPSHOT</version>
- </dependency>
-
+ <groupId>org.apache.shale</groupId>
+ <artifactId>shale-tiger</artifactId>
+ <version>1.0.4-SNAPSHOT</version>
+ </dependency>
<dependency>
<groupId>org.apache.shale</groupId>
Modified: shale/sandbox/shale-clay-trinidad/src/main/java/org/apache/myfaces/trinidad/blank/ComponentTreeModelAdapter.java
URL: http://svn.apache.org/viewvc/shale/sandbox/shale-clay-trinidad/src/main/java/org/apache/myfaces/trinidad/blank/ComponentTreeModelAdapter.java?view=diff&rev=474666&r1=474665&r2=474666
==============================================================================
--- shale/sandbox/shale-clay-trinidad/src/main/java/org/apache/myfaces/trinidad/blank/ComponentTreeModelAdapter.java (original)
+++ shale/sandbox/shale-clay-trinidad/src/main/java/org/apache/myfaces/trinidad/blank/ComponentTreeModelAdapter.java Mon Nov 13 21:13:20 2006
@@ -1,12 +1,24 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to you under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
package org.apache.myfaces.trinidad.blank;
import org.apache.shale.tiger.managed.Bean;
import org.apache.shale.tiger.managed.Scope;
-/**
- * @author Gary VanMatre
- *
- */
@Bean(name = "displayElementTree", scope = Scope.SESSION)
public class ComponentTreeModelAdapter extends TreeModelAdapter {
private static final long serialVersionUID = -6792244110698122858L;
Modified: shale/sandbox/shale-clay-trinidad/src/main/java/org/apache/myfaces/trinidad/blank/HelloWorldBacking.java
URL: http://svn.apache.org/viewvc/shale/sandbox/shale-clay-trinidad/src/main/java/org/apache/myfaces/trinidad/blank/HelloWorldBacking.java?view=diff&rev=474666&r1=474665&r2=474666
==============================================================================
--- shale/sandbox/shale-clay-trinidad/src/main/java/org/apache/myfaces/trinidad/blank/HelloWorldBacking.java (original)
+++ shale/sandbox/shale-clay-trinidad/src/main/java/org/apache/myfaces/trinidad/blank/HelloWorldBacking.java Mon Nov 13 21:13:20 2006
@@ -1,12 +1,13 @@
/*
- * Copyright 2006 The Apache Software Foundation.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to you under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
* http://www.apache.org/licenses/LICENSE-2.0
- *
+ *
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
Modified: shale/sandbox/shale-clay-trinidad/src/main/java/org/apache/myfaces/trinidad/blank/ShowDisplayElementBacking.java
URL: http://svn.apache.org/viewvc/shale/sandbox/shale-clay-trinidad/src/main/java/org/apache/myfaces/trinidad/blank/ShowDisplayElementBacking.java?view=diff&rev=474666&r1=474665&r2=474666
==============================================================================
--- shale/sandbox/shale-clay-trinidad/src/main/java/org/apache/myfaces/trinidad/blank/ShowDisplayElementBacking.java (original)
+++ shale/sandbox/shale-clay-trinidad/src/main/java/org/apache/myfaces/trinidad/blank/ShowDisplayElementBacking.java Mon Nov 13 21:13:20 2006
@@ -1,13 +1,43 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to you under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
package org.apache.myfaces.trinidad.blank;
import java.io.Serializable;
import java.util.ArrayList;
+import java.util.Calendar;
+import java.util.Date;
import java.util.Iterator;
import java.util.List;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.apache.myfaces.trinidad.event.AttributeChangeEvent;
+import org.apache.myfaces.trinidad.event.FocusEvent;
+import org.apache.myfaces.trinidad.event.RangeChangeEvent;
+import org.apache.myfaces.trinidad.event.RowDisclosureEvent;
+import org.apache.myfaces.trinidad.event.SelectionEvent;
+import org.apache.shale.clay.config.beans.ActionListenerBean;
import org.apache.shale.clay.config.beans.ComponentBean;
import org.apache.shale.clay.config.beans.ConfigBean;
import org.apache.shale.clay.config.beans.ConfigBeanFactory;
+import org.apache.shale.clay.config.beans.ConverterBean;
+import org.apache.shale.clay.config.beans.ValidatorBean;
+import org.apache.shale.clay.config.beans.ValueChangeListenerBean;
import org.apache.shale.tiger.managed.Bean;
import org.apache.shale.tiger.managed.Scope;
import org.apache.shale.tiger.view.Prerender;
@@ -17,6 +47,16 @@
@Bean(name="page3", scope=Scope.REQUEST)
@View public class ShowDisplayElementBacking extends AbstractFacesBean {
+ /**
+ * <p>
+ * Common logger utility class.
+ * </p>
+ */
+ private static Log log;
+ static {
+ log = LogFactory.getLog(ShowDisplayElementBacking.class);
+ }
+
private String showJsfid = null;
@Prerender public void load() {
@@ -70,6 +110,7 @@
public static class ComponentWrapper implements Serializable {
+
private ComponentBean bean = null;
private List<ComponentWrapper> children = null;
@@ -78,9 +119,6 @@
}
public String getJsfid() {
- if (bean.getJsfid().startsWith("/")) {
- return bean.getJsfid().substring(1);
- }
return bean.getJsfid();
}
@@ -95,20 +133,91 @@
public String getId() {
return bean.getId();
}
-
- public List<ComponentWrapper> getChildren() {
- if (bean.getChildren().size() > 0) {
- children = new ArrayList<ComponentWrapper>();
- Iterator ci = bean.getChildrenIterator();
- while (ci.hasNext()) {
- ComponentBean c = (ComponentBean) ci.next();
- children.add(new ComponentWrapper(c));
- }
+
+ public String getType() {
+ if (bean instanceof ValidatorBean) {
+ return "Validator";
+ } else if (bean instanceof ConverterBean) {
+ return "Converter";
+ } else if (bean instanceof ActionListenerBean) {
+ return "ActionListener";
+ } else if (bean instanceof ValueChangeListenerBean) {
+ return "ValueChangeListener";
}
-
- return children;
+
+ return "Component";
}
-
+
+ public List<ComponentWrapper> getChildren() {
+ List tmpList = new ArrayList<ComponentBean>();
+ Iterator ci = bean.getChildrenIterator();
+ while (ci.hasNext()) {
+ ComponentBean c = (ComponentBean) ci.next();
+ tmpList.add(new ComponentWrapper(c));
+ }
+
+ if (bean.getConverter() != null) {
+ tmpList.add(new ComponentWrapper(bean.getConverter()));
+ }
+
+ ci = bean.getActionListenerIterator();
+ while (ci.hasNext()) {
+ ComponentBean c = (ComponentBean) ci.next();
+ tmpList.add(new ComponentWrapper(c));
+ }
+
+ ci = bean.getValidatorIterator();
+ while (ci.hasNext()) {
+ ComponentBean c = (ComponentBean) ci.next();
+ tmpList.add(new ComponentWrapper(c));
+ }
+
+ ci = bean.getValueChangeListenerIterator();
+ while (ci.hasNext()) {
+ ComponentBean c = (ComponentBean) ci.next();
+ tmpList.add(new ComponentWrapper(c));
+ }
+
+
+ if (tmpList.size() > 0) {
+ children = new ArrayList<ComponentWrapper>();
+ children.addAll(tmpList);
+ }
+
+ return children;
+ }
+
};
+ public void rowDisclosureListener(RowDisclosureEvent event) {
+ log.info("fire --> rowDisclosureListener: " + event.toString());
+
+ }
+
+ public void attributeChangeListener(AttributeChangeEvent event) {
+ log.info("fire --> attributeChangeListener: " + event.toString());
+
+ }
+
+ public void selectionListener(SelectionEvent event) {
+ log.info("fire --> selectionListener: " + event.toString());
+
+ }
+
+
+ public void focusListener(FocusEvent event) {
+ log.info("fire --> focusListener: " + event.toString());
+
+ }
+
+ public void rangeChangeListener(RangeChangeEvent event) {
+ log.info("fire --> rangeChangeListener: " + event.toString());
+
+ }
+
+
+ public Date getCurrentTime() {
+ return Calendar.getInstance().getTime();
+ }
+
}
Modified: shale/sandbox/shale-clay-trinidad/src/main/java/org/apache/myfaces/trinidad/blank/TreeModelAdapter.java
URL: http://svn.apache.org/viewvc/shale/sandbox/shale-clay-trinidad/src/main/java/org/apache/myfaces/trinidad/blank/TreeModelAdapter.java?view=diff&rev=474666&r1=474665&r2=474666
==============================================================================
--- shale/sandbox/shale-clay-trinidad/src/main/java/org/apache/myfaces/trinidad/blank/TreeModelAdapter.java (original)
+++ shale/sandbox/shale-clay-trinidad/src/main/java/org/apache/myfaces/trinidad/blank/TreeModelAdapter.java Mon Nov 13 21:13:20 2006
@@ -1,3 +1,20 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to you under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
package org.apache.myfaces.trinidad.blank;
import java.beans.IntrospectionException;
@@ -7,6 +24,8 @@
import org.apache.myfaces.trinidad.model.TreeModel;
/**
+ * Note: Copied from the Trinidad Demo
+ *
* This class facilitates the construction of a ChildPropertyTreeModel instance
* via managed-beans. ChildPropertyTreeModel does not have a no-arg constructor.
* This class does, and so can be instantiated as a managed-bean. Two properties
Copied: shale/sandbox/shale-clay-trinidad/src/main/java/org/apache/shale/clay/component/chain/trinidad/PropertyListenerCommand.java (from r473148, shale/sandbox/shale-clay-trinidad/src/main/java/org/apache/shale/clay/component/chain/trinidad/AttributeChangeListenerCommand.java)
URL: http://svn.apache.org/viewvc/shale/sandbox/shale-clay-trinidad/src/main/java/org/apache/shale/clay/component/chain/trinidad/PropertyListenerCommand.java?view=diff&rev=474666&p1=shale/sandbox/shale-clay-trinidad/src/main/java/org/apache/shale/clay/component/chain/trinidad/AttributeChangeListenerCommand.java&r1=473148&p2=shale/sandbox/shale-clay-trinidad/src/main/java/org/apache/shale/clay/component/chain/trinidad/PropertyListenerCommand.java&r2=474666
==============================================================================
--- shale/sandbox/shale-clay-trinidad/src/main/java/org/apache/shale/clay/component/chain/trinidad/AttributeChangeListenerCommand.java (original)
+++ shale/sandbox/shale-clay-trinidad/src/main/java/org/apache/shale/clay/component/chain/trinidad/PropertyListenerCommand.java Mon Nov 13 21:13:20 2006
@@ -1,21 +1,42 @@
package org.apache.shale.clay.component.chain.trinidad;
+import java.util.HashMap;
+import java.util.Map;
+
import javax.faces.component.UIComponent;
import javax.faces.context.FacesContext;
import javax.faces.el.MethodBinding;
+import javax.faces.event.ActionEvent;
import org.apache.commons.chain.Context;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.apache.myfaces.trinidad.component.UIXComponent;
import org.apache.myfaces.trinidad.event.AttributeChangeEvent;
+import org.apache.myfaces.trinidad.event.ChartDrillDownEvent;
+import org.apache.myfaces.trinidad.event.DisclosureEvent;
+import org.apache.myfaces.trinidad.event.FocusEvent;
+import org.apache.myfaces.trinidad.event.LaunchEvent;
+import org.apache.myfaces.trinidad.event.PollEvent;
+import org.apache.myfaces.trinidad.event.RangeChangeEvent;
+import org.apache.myfaces.trinidad.event.ReturnEvent;
+import org.apache.myfaces.trinidad.event.RowDisclosureEvent;
+import org.apache.myfaces.trinidad.event.SelectionEvent;
+import org.apache.myfaces.trinidad.event.SortEvent;
import org.apache.shale.clay.component.chain.AbstractCommand;
import org.apache.shale.clay.component.chain.AssignPropertiesCommand;
import org.apache.shale.clay.component.chain.ClayContext;
import org.apache.shale.clay.config.beans.AttributeBean;
import org.apache.shale.clay.config.beans.ComponentBean;
+import org.apache.shale.util.PropertyHelper;
+
+public class PropertyListenerCommand extends AbstractCommand {
+
+ /**
+ * <p>Holds a cross-reference of attribute name to formal parameter.</p>
+ */
+ private static Map methodBindAttrs = new HashMap();
-public class AttributeChangeListenerCommand extends AbstractCommand {
/**
* <p>
* Common logger utility class.
@@ -23,17 +44,32 @@
*/
private static Log log;
static {
- log = LogFactory.getLog(AttributeChangeListenerCommand.class);
- }
+ log = LogFactory.getLog(PropertyListenerCommand.class);
+
+ methodBindAttrs.put("attributeChangeListener", new Class[] {AttributeChangeEvent.class});
+ methodBindAttrs.put("focusListener", new Class[] {FocusEvent.class});
+ methodBindAttrs.put("rowDisclosureListener", new Class[] {RowDisclosureEvent.class});
+ methodBindAttrs.put("selectionListener", new Class[] {SelectionEvent.class});
+ methodBindAttrs.put("rangeChangeListener", new Class[] {RangeChangeEvent.class});
+ methodBindAttrs.put("sortListener", new Class[] {SortEvent.class});
+ methodBindAttrs.put("chartDrillDownListener", new Class[] {ChartDrillDownEvent.class});
+ methodBindAttrs.put("returnListener", new Class[] {ReturnEvent.class});
+ methodBindAttrs.put("launchListener", new Class[] {LaunchEvent.class});
+ methodBindAttrs.put("pollListener", new Class[] {PollEvent.class});
+ methodBindAttrs.put("disclosureListener", new Class[] {DisclosureEvent.class});
+ methodBindAttrs.put("previousActionListener", new Class[] {ActionEvent.class});
+ methodBindAttrs.put("nextActionListener", new Class[] {ActionEvent.class});
+ methodBindAttrs.put("nextAction", new Class[0]);
+ methodBindAttrs.put("previousAction", new Class[0]);
+ };
/**
* <p>
- * Looks to see if the {@link AttributeBean} on the {@link ClayContext} is a
- * <code>AttributeChangeListener</code> attribute. If it is, create a
+ * Looks to see if the {@link AttributeBean} on the {@link ClayContext} is one
+ * of the custom Trinidad method binding event attributes. If it is, create a
* <code>MethodBinding</code> and assign it to the component returning a
* <code>true</code> value. Otherwise, return a <code>false</code>
- * value. This <code>Command</code> is invoked from the
- * {@link AssignPropertiesCommand} chain.
+ * value.
* </p>
*
* @param context common chains
@@ -61,7 +97,8 @@
throw new NullPointerException(getMessages().getMessage("clay.null.facesContext"));
}
- if (attributeBean.getName().equals("attributeChangeListener") && attributeBean.getValue() != null) {
+ Class[] formalParameter = (Class[]) methodBindAttrs.get(attributeBean.getName());
+ if (formalParameter != null && attributeBean.getValue() != null) {
isFinal = true;
UIComponent child = (UIComponent) clayContext.getChild();
@@ -74,12 +111,14 @@
String expr = replaceMnemonic(clayContext);
MethodBinding mb = facesContext.getApplication()
- .createMethodBinding(expr, new Class[]{AttributeChangeEvent.class});
- ((UIXComponent) child).setAttributeChangeListener(mb);
+ .createMethodBinding(expr, formalParameter);
+ PropertyHelper propertyHelper = new PropertyHelper();
+
+ propertyHelper.setValue(child, attributeBean.getName(), mb);
} else {
- log.error("Cannot bind attributeChangeListener expression to a"
+ log.error("Cannot bind " + attributeBean.getName() + " expression to a"
+ " component not extending UIXComponent: " + attributeBean.toString());
}
}
Modified: shale/sandbox/shale-clay-trinidad/src/main/webapp/WEB-INF/chain-config.xml
URL: http://svn.apache.org/viewvc/shale/sandbox/shale-clay-trinidad/src/main/webapp/WEB-INF/chain-config.xml?view=diff&rev=474666&r1=474665&r2=474666
==============================================================================
--- shale/sandbox/shale-clay-trinidad/src/main/webapp/WEB-INF/chain-config.xml (original)
+++ shale/sandbox/shale-clay-trinidad/src/main/webapp/WEB-INF/chain-config.xml Mon Nov 13 21:13:20 2006
@@ -52,10 +52,65 @@
className="org.apache.shale.clay.parser.builder.chain.JsfDefaultBuilderRule"
prefix="trh" />
</chain>
- <!-- defines a custom handler for the attributeChangeListener component method binding event property -->
<chain name="attributeChangeListener">
<command
- className="org.apache.shale.clay.component.chain.trinidad.AttributeChangeListenerCommand" />
+ className="org.apache.shale.clay.component.chain.trinidad.PropertyListenerCommand" />
+ </chain>
+ <chain name="rowDisclosureListener">
+ <command
+ className="org.apache.shale.clay.component.chain.trinidad.PropertyListenerCommand" />
+ </chain>
+ <chain name="selectionListener">
+ <command
+ className="org.apache.shale.clay.component.chain.trinidad.PropertyListenerCommand" />
+ </chain>
+ <chain name="focusListener">
+ <command
+ className="org.apache.shale.clay.component.chain.trinidad.PropertyListenerCommand" />
+ </chain>
+ <chain name="sortListener">
+ <command
+ className="org.apache.shale.clay.component.chain.trinidad.PropertyListenerCommand" />
+ </chain>
+ <chain name="rangeChangeListener">
+ <command
+ className="org.apache.shale.clay.component.chain.trinidad.PropertyListenerCommand" />
+ </chain>
+ <chain name="chartDrillDownListener">
+ <command
+ className="org.apache.shale.clay.component.chain.trinidad.PropertyListenerCommand" />
+ </chain>
+ <chain name="returnListener">
+ <command
+ className="org.apache.shale.clay.component.chain.trinidad.PropertyListenerCommand" />
+ </chain>
+ <chain name="launchListener">
+ <command
+ className="org.apache.shale.clay.component.chain.trinidad.PropertyListenerCommand" />
+ </chain>
+ <chain name="pollListener">
+ <command
+ className="org.apache.shale.clay.component.chain.trinidad.PropertyListenerCommand" />
+ </chain>
+ <chain name="disclosureListener">
+ <command
+ className="org.apache.shale.clay.component.chain.trinidad.PropertyListenerCommand" />
+ </chain>
+ <chain name="previousActionListener">
+ <command
+ className="org.apache.shale.clay.component.chain.trinidad.PropertyListenerCommand" />
+ </chain>
+ <chain name="nextActionListener">
+ <command
+ className="org.apache.shale.clay.component.chain.trinidad.PropertyListenerCommand" />
+ </chain>
+ <chain name="nextAction">
+ <command
+ className="org.apache.shale.clay.component.chain.trinidad.PropertyListenerCommand" />
+ </chain>
+ <chain name="previousAction">
+ <command
+ className="org.apache.shale.clay.component.chain.trinidad.PropertyListenerCommand" />
</chain>
</catalog>
Modified: shale/sandbox/shale-clay-trinidad/src/main/webapp/pages/showDisplayElement.html
URL: http://svn.apache.org/viewvc/shale/sandbox/shale-clay-trinidad/src/main/webapp/pages/showDisplayElement.html?view=diff&rev=474666&r1=474665&r2=474666
==============================================================================
--- shale/sandbox/shale-clay-trinidad/src/main/webapp/pages/showDisplayElement.html (original)
+++ shale/sandbox/shale-clay-trinidad/src/main/webapp/pages/showDisplayElement.html Mon Nov 13 21:13:20 2006
@@ -24,26 +24,43 @@
xmlns:tr="http://myfaces.apache.org/trinidad" >
<jsp:directive.page contentType="text/html;charset=utf-8"/>
+ <f:view>
<tr:form id="form">
+
<tr:panelGroupLayout layout="vertical">
<f:facet name="separator">
<tr:separator />
</f:facet>
- <tr:panelGroupLayout layout="horizontal">
- <f:facet name="separator">
- <tr:separator />
- </f:facet>
+
+ <tr:panelGroupLayout layout="horizontal">
- <tr:selectOneChoice id="jsfid" required="true" label="Choose a Page:" value="#{@managed-bean-name.showJsfid}">
+ <tr:outputLabel for="currentTime" value="Last Full Page Submit Timestamp:" />
+ <tr:outputText id="currentTime" value="#{@managed-bean-name.currentTime}">
+ <f:convertDateTime pattern="MM/dd/yyyy hh:mm:ss"/>
+ </tr:outputText>
+
+ </tr:panelGroupLayout>
+
+ <tr:panelPartialRoot id="ajax">
+ <tr:subform id="subform">
+ <tr:panelGroupLayout layout="horizontal">
+ <tr:selectOneChoice id="jsfid" required="true" label="Choose a Page:"
+ value="#{@managed-bean-name.showJsfid}">
<f:selectItem itemLabel="Page 1" itemValue="/pages/index.html"/>
<f:selectItem itemLabel="Page 2" itemValue="/pages/page2.html"/>
<f:selectItem itemLabel="Page 3" itemValue="/pages/showDisplayElement.html"/>
</tr:selectOneChoice>
- <tr:commandLink text="Show" />
+ <tr:commandLink id="showit" text="Show" partialSubmit="true"/>
</tr:panelGroupLayout>
-
- <tr:treeTable id="tree" var="foo" value="#{displayElementTree.model}" summary="Component Tree">
+ <tr:treeTable id="treeTable" var="foo" value="#{displayElementTree.model}" summary="Component Tree"
+ rowDisclosureListener="#{@managed-bean-name.rowDisclosureListener}"
+ attributeChangeListener="#{@managed-bean-name.attributeChangeListener}"
+ selectionListener="#{@managed-bean-name.selectionListener}"
+ focusListener="#{@managed-bean-name.focusListener}"
+ rangeChangeListener="#{@managed-bean-name.rangeChangeListener}"
+ partialTriggers="jsfid showit"
+ >
<f:facet name="nodeStamp">
<tr:column>
@@ -59,6 +76,13 @@
<tr:column>
<f:facet name="header">
+ <h:outputText value="type"/>
+ </f:facet>
+ <tr:outputText value="#{foo.type}"/>
+ </tr:column>
+
+ <tr:column>
+ <f:facet name="header">
<h:outputText value="componentType"/>
</f:facet>
<tr:outputText value="#{foo.componentType}"/>
@@ -72,6 +96,33 @@
</tr:column>
</tr:treeTable>
+ </tr:subform>
+
+ <tr:tree id="tree" var="foo" value="#{displayElementTree.model}" summary="Component Tree"
+ rowDisclosureListener="#{@managed-bean-name.rowDisclosureListener}"
+ attributeChangeListener="#{@managed-bean-name.attributeChangeListener}"
+ selectionListener="#{@managed-bean-name.selectionListener}"
+ focusListener="#{@managed-bean-name.focusListener}"
+ partialTriggers="subform:jsfid subform:showit"
+ >
+
+ <f:facet name="nodeStamp">
+ <tr:panelList rows="2">
+ <tr:outputText value="#{foo.type}"/>
+ <tr:outputText value="#{foo.jsfid}"/>
+ <tr:outputText value="#{foo.componentType}"/>
+ <tr:outputText value="#{foo.id}"/>
+ <tr:outputText value="#{foo.extends}"/>
+ </tr:panelList>
+ </f:facet>
+
+ </tr:tree>
+
+ </tr:panelPartialRoot>
+
+
</tr:panelGroupLayout>
- </tr:form>
+
+ </tr:form>
+ </f:view>
</jsp:root>