You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@myfaces.apache.org by lo...@apache.org on 2011/10/17 20:58:32 UTC
svn commit: r1185325 - in
/myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main:
java/org/apache/myfaces/tobago/example/demo/TobagoDemoController.java
webapp/content/02/00/ webapp/content/02/00/sheet-master-detail.xhtml
Author: lofwyr
Date: Mon Oct 17 18:58:31 2011
New Revision: 1185325
URL: http://svn.apache.org/viewvc?rev=1185325&view=rev
Log:
master-detail example with <tc:columnEvent>
Added:
myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/webapp/content/02/00/
myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/webapp/content/02/00/sheet-master-detail.xhtml
- copied, changed from r1185036, myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/webapp/content/02/sheet.xhtml
Modified:
myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/java/org/apache/myfaces/tobago/example/demo/TobagoDemoController.java
Modified: myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/java/org/apache/myfaces/tobago/example/demo/TobagoDemoController.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/java/org/apache/myfaces/tobago/example/demo/TobagoDemoController.java?rev=1185325&r1=1185324&r2=1185325&view=diff
==============================================================================
--- myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/java/org/apache/myfaces/tobago/example/demo/TobagoDemoController.java (original)
+++ myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/java/org/apache/myfaces/tobago/example/demo/TobagoDemoController.java Mon Oct 17 18:58:31 2011
@@ -35,6 +35,7 @@ import org.slf4j.LoggerFactory;
import javax.faces.application.FacesMessage;
import javax.faces.component.UIColumn;
import javax.faces.component.UIComponent;
+import javax.faces.component.UIData;
import javax.faces.context.ExternalContext;
import javax.faces.context.FacesContext;
import javax.faces.event.ActionEvent;
@@ -72,6 +73,8 @@ public class TobagoDemoController {
private String solarArrayColumnLayout;
+ private SolarObject currentSolarObject;
+
private DefaultMutableTreeNode tree;
private boolean showJunctions;
@@ -354,6 +357,14 @@ public class TobagoDemoController {
}
+ public void selectLuminary(ActionEvent actionEvent) {
+ LOG.info("actionEvent=" + actionEvent);
+// final List<Integer> selectedRows = sheetState.getSelectedRows();
+ final UIData data = ComponentUtils.findAncestor(actionEvent.getComponent(), UIData.class);
+ currentSolarObject = (SolarObject) data.getRowData();
+ LOG.info("Selected: " + currentSolarObject.getName());
+ }
+
public void setSolarList(List<SolarObject> solarList) {
this.solarList = solarList;
}
@@ -557,4 +568,7 @@ public class TobagoDemoController {
}
+ public SolarObject getCurrentSolarObject() {
+ return currentSolarObject;
+ }
}
Copied: myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/webapp/content/02/00/sheet-master-detail.xhtml (from r1185036, myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/webapp/content/02/sheet.xhtml)
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/webapp/content/02/00/sheet-master-detail.xhtml?p2=myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/webapp/content/02/00/sheet-master-detail.xhtml&p1=myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/webapp/content/02/sheet.xhtml&r1=1185036&r2=1185325&rev=1185325&view=diff
==============================================================================
--- myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/webapp/content/02/sheet.xhtml (original)
+++ myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/webapp/content/02/00/sheet-master-detail.xhtml Mon Oct 17 18:58:31 2011
@@ -23,162 +23,33 @@
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core">
- <ui:param name="title" value="#{overviewBundle.sheet}"/>
+ <ui:param name="title" value="Sheet as Master-Details example"/>
- <f:facet name="toolBar">
- <tc:toolBar>
- <tc:toolBarCommand
- label="#{overviewBundle.sheet_resetLabel}" tip="#{overviewBundle.sheet_resetTip}"
- actionListener="#{overviewController.resetColumnWidths}" />
- <tc:toolBarCommand label="#" tip="#{overviewBundle.sheet_configTip}" renderedPartially="sheetConfigPopup" >
- <f:facet name="popup">
- <tc:popup width="300px" height="275px" id="sheetConfigPopup">
- <tc:box label="#{overviewBundle.sheet_configTitle}">
- <f:facet name="layout">
- <tc:gridLayout rows="fixed;fixed;fixed;fixed;fixed;fixed;fixed;fixed;fixed;1*;fixed"/>
- </f:facet>
- <tx:selectOneChoice label="showHeader"
- value="#{overviewController.sheetConfig.sheetShowHeader}"
- tip="TODO: show Header Text">
- <f:selectItem itemValue="#{true}" itemLabel="True"/>
- <f:selectItem itemValue="#{false}" itemLabel="False"/>
- </tx:selectOneChoice>
- <tx:selectBooleanCheckbox
- label="showPagingAlways" value="#{overviewController.sheetConfig.showPagingAlways}"/>
- <tx:in label="first"
- value="#{overviewController.sheetConfig.sheetFirst}"
- tip="TODO: paging Start Text">
- <f:validateLongRange minimum="0"/>
- </tx:in>
- <tx:in label="rows"
- value="#{overviewController.sheetConfig.sheetRows}"
- tip="TODO: paging Lenght Text">
- <f:validateLongRange minimum="0"/>
- </tx:in>
-
- <tx:selectOneChoice label="showRowRange"
- value="#{overviewController.sheetConfig.sheetRowPagingPosition}"
- tip="TODO: paging DirectLinkCount Text">
- <f:selectItems value="#{overviewController.sheetConfig.sheetPagingPositionItems}"/>
- </tx:selectOneChoice>
-
- <tx:selectOneChoice label="showPageRange"
- value="#{overviewController.sheetConfig.sheetPagePagingPosition}"
- tip="TODO: paging DirectLinkCount Text">
- <f:selectItems value="#{overviewController.sheetConfig.sheetPagingPositionItems}"/>
- </tx:selectOneChoice>
-
- <tx:selectOneChoice label="showDirectLinks"
- value="#{overviewController.sheetConfig.sheetDirectPagingPosition}"
- tip="TODO: paging DirectLinkCount Text">
- <f:selectItems value="#{overviewController.sheetConfig.sheetPagingPositionItems}"/>
- </tx:selectOneChoice>
-
- <tx:selectOneChoice label="directLinkCount"
- value="#{overviewController.sheetConfig.sheetDirectLinkCount}"
- tip="TODO: paging DirectLinkCount Text">
- <f:selectItems value="#{overviewController.sheetConfig.sheetDirectLinkCountItems}"/>
- </tx:selectOneChoice>
-
- <tx:selectOneChoice label="selectable"
- value="#{overviewController.sheetConfig.selectable}"
- tip="TODO: selectable Text">
- <f:selectItems value="#{overviewController.sheetConfig.sheetSelectableItems}"/>
- </tx:selectOneChoice>
-
- <tc:cell/>
-
- <tc:panel>
- <f:facet name="layout">
- <tc:gridLayout columns="*;auto;auto"/>
- </f:facet>
- <tc:cell/>
- <tc:button label="Cancel">
- <tc:attribute name="popupClose" value="immediate"/>
- </tc:button>
- <tc:button label="Ok">
- <tc:attribute name="popupClose" value="afterSubmit"/>
- <tc:attribute name="renderedPartially" value=":page:content"/>
- </tc:button>
- </tc:panel>
- </tc:box>
- </tc:popup>
- </f:facet>
- </tc:toolBarCommand>
- </tc:toolBar>
- </f:facet>
-
- <tc:panel>
+ <tc:panel id="panel">
<f:facet name="layout">
- <tc:gridLayout rows="1*;auto;3*"/>
+ <tc:gridLayout rows="1*;3*" columns="*;*"/>
</f:facet>
- <tc:out escape="false" value="#{overviewBundle.sheet_text}"/>
-
- <tc:panel>
- <f:facet name="layout">
- <tc:gridLayout columns="*;auto;auto"/>
- </f:facet>
- <tc:cell/>
- <tc:button label="#{overviewBundle.sheet_resetLabel}" tip="#{overviewBundle.sheet_resetTip}"
- actionListener="#{overviewController.resetColumnWidths}" />
- <tc:button label="Sheet Configuration" renderedPartially="sheetConfigPopup">
- <tc:popupReference for="sheetConfigPopup"/>
- </tc:button>
- </tc:panel>
+ <tc:out escape="false" value="Klick on a row and ">
+ <tc:gridLayoutConstraint columnSpan="2"/>
+ </tc:out>
<tc:sheet value="#{demo.solarList}" id="sheet"
- columns="3*;1*;3*;3*;3*;3*" var="luminary"
- state="#{demo.sheetState}"
- showHeader="#{overviewController.sheetConfig.sheetShowHeader}"
- showPagingAlways="#{overviewController.sheetConfig.showPagingAlways}"
- showRowRange="#{overviewController.sheetConfig.sheetRowPagingPosition}"
- showPageRange="#{overviewController.sheetConfig.sheetPagePagingPosition}"
- showDirectLinks="#{overviewController.sheetConfig.sheetDirectPagingPosition}"
- first="#{overviewController.sheetConfig.sheetFirst}"
- rows="#{overviewController.sheetConfig.sheetRows}"
- directLinkCount="#{overviewController.sheetConfig.sheetDirectLinkCount}"
- stateChangeListener="#{demo.stateChangeListener}"
- sortActionListener="#{overviewController.sheetSorter}"
- selectable="#{overviewController.sheetConfig.selectable}">
-<!--
- <f:facet name="reload">
- <tc:reload frequency="2000" />
- </f:facet>
--->
- <tc:column label="#{overviewBundle.solarArrayName}" id="name" sortable="true" markup="#{luminary.markup}">
+ columns="*" var="luminary"
+ state="#{demo.sheetState}">
+ <tc:column label="#{overviewBundle.solarArrayName}" id="name">
<tc:out value="#{luminary.name}" id="t_name"/>
</tc:column>
- <tc:column label="#{overviewBundle.solarArrayNumber}" id="number" sortable="false" resizable="false"
- tip="#{overviewBundle.solarArrayNumberTip}" align="center">
- <tc:out value="#{luminary.number}" id="t_number"/>
- </tc:column>
- <tc:column label="#{overviewBundle.solarArrayOrbit}" sortable="true" id="orbit">
- <f:facet name="dropDownMenu">
- <tc:menu>
- <tc:menuCommand onclick="alert('Not implemented yet, only in Tobago 1.0.x')">
- </tc:menuCommand>
- </tc:menu>
- </f:facet>
- <tc:panel>
- <f:facet name="click">
- <tc:command actionListener="#{demo.selectOrbit}" >
- <f:param value="#{luminary}" name="luminary"/>
- <tc:attribute name="renderedPartially" value="sheet"/>
- </tc:command>
- </f:facet>
- <tc:out value="#{luminary.orbit}" id="t_orbit"/>
- </tc:panel>
- </tc:column>
- <tc:column label="#{overviewBundle.solarArrayPopulation}" sortable="true" id="population">
- <tc:in value="#{luminary.population}" id="t_population"/>
- </tc:column>
- <tc:column label="#{overviewBundle.solarArrayDistance}" sortable="true" align="right" id="distance">
- <tc:out value="#{luminary.distance}" id="t_distance"/>
- </tc:column>
- <tc:column label="#{overviewBundle.solarArrayPeriod}" sortable="true" align="right" id="period">
- <tc:out value="#{luminary.period}" id="t_period"/>
- </tc:column>
+ <tc:columnEvent event="click">
+ <tc:command actionListener="#{demo.selectLuminary}">
+ <tc:attribute name="renderedPartially" value=":page:detail" />
+ </tc:command>
+ </tc:columnEvent>
</tc:sheet>
+
+ <tc:panel id="detail">
+ <tx:in label="Name" value="#{demo.currentSolarObject.name}"/>
+ </tc:panel>
+
</tc:panel>
</ui:composition>