[richfaces-svn-commits] JBoss Rich Faces SVN: r9193 - in trunk/test-applications/jsp/src/main: webapp/DataScroller and 1 other directory.

richfaces-svn-commits at lists.jboss.org richfaces-svn-commits at lists.jboss.org
Tue Jun 24 10:24:45 EDT 2008


Author: mvitenkov
Date: 2008-06-24 10:24:45 -0400 (Tue, 24 Jun 2008)
New Revision: 9193

Modified:
   trunk/test-applications/jsp/src/main/java/dataScroller/DataScroller.java
   trunk/test-applications/jsp/src/main/webapp/DataScroller/DataScroller.jsp
   trunk/test-applications/jsp/src/main/webapp/DataScroller/DataScrollerProperty.jsp
Log:
dataScroller sorting & filtering features

Modified: trunk/test-applications/jsp/src/main/java/dataScroller/DataScroller.java
===================================================================
--- trunk/test-applications/jsp/src/main/java/dataScroller/DataScroller.java	2008-06-24 14:20:15 UTC (rev 9192)
+++ trunk/test-applications/jsp/src/main/java/dataScroller/DataScroller.java	2008-06-24 14:24:45 UTC (rev 9193)
@@ -6,7 +6,10 @@
 
 import org.richfaces.component.html.HtmlDatascroller;
 import org.richfaces.event.DataScrollerEvent;
+import org.richfaces.model.Ordering;
 
+import util.data.Data;
+
 public class DataScroller {
 	
 	private ArrayList dataTable;
@@ -27,8 +30,45 @@
     private String page = "10";
     private Object value = null;
     private String stepControls = "auto";
+    private String sortMode;
+	private boolean selfSorted;
+	private Ordering sortOrder;
+	private String filterValue;
+	private String currentSortOrder;
     
-    public String act() {
+    public String getSortMode() {
+		return sortMode;
+	}
+
+	public void setSortMode(String sortMode) {
+		this.sortMode = sortMode;
+	}
+
+	public boolean isSelfSorted() {
+		return selfSorted;
+	}
+
+	public void setSelfSorted(boolean selfSorted) {
+		this.selfSorted = selfSorted;
+	}
+
+	public String getFilterValue() {
+		return filterValue;
+	}
+
+	public void setFilterValue(String filterValue) {
+		this.filterValue = filterValue;
+	}
+
+	public Ordering getSortOrder() {
+		return sortOrder;
+	}
+
+	public String getCurrentSortOrder() {
+		return currentSortOrder;
+	}
+
+	public String act() {
 		action = "action work!";
 		return null;
 	}
@@ -80,6 +120,10 @@
 		maxPages = 20;
 		limitToList = false;
 		
+		filterValue = "";
+		sortMode = "single";
+		sortOrder = Ordering.ASCENDING;
+		selfSorted = true;
 		
 		dataTable = new ArrayList();
 		
@@ -90,6 +134,13 @@
 				
 	}
 	
+	public void setCurrentSortOrder(String currentSortOrder) {
+		if("DESCENDING".equals(currentSortOrder)) this.sortOrder = Ordering.DESCENDING;
+		else if("UNSORTED".equals(currentSortOrder)) this.sortOrder = Ordering.UNSORTED;
+		else if("ASCENDING".equals(currentSortOrder)) this.sortOrder = Ordering.ASCENDING;
+		this.currentSortOrder = currentSortOrder;
+	}
+	
 	public void CutArray(){
 		int k = dataTable.size()-1;
 		for(int i = k ;i > (k+1)/2; i--)
@@ -298,4 +349,8 @@
 	public void setStepControls(String stepControls) {
 		this.stepControls = stepControls;
 	}
+
+	public void setSortOrder(Ordering sortOrder) {
+		this.sortOrder = sortOrder;
+	}
 }

Modified: trunk/test-applications/jsp/src/main/webapp/DataScroller/DataScroller.jsp
===================================================================
--- trunk/test-applications/jsp/src/main/webapp/DataScroller/DataScroller.jsp	2008-06-24 14:20:15 UTC (rev 9192)
+++ trunk/test-applications/jsp/src/main/webapp/DataScroller/DataScroller.jsp	2008-06-24 14:24:45 UTC (rev 9193)
@@ -6,7 +6,7 @@
 <f:subview id="DataScrollerSubviewID">
 	
 	<rich:dataTable id="dataTableId" value="#{dataScroller.dataTable}"
-		var="dT" cellpadding="5px" rows="5" border="1">
+		var="dT" cellpadding="5px" rows="5" border="1" reRender="dsID" sortMode="#{dataScroller.sortMode}">
 		<f:facet name="header">
 			<rich:datascroller ajaxSingle="#{dataScroller.ajaxSingle}" 
 				boundaryControls="#{dataScroller.boundaryControls}"
@@ -26,20 +26,20 @@
 				onmousedown="#{event.onmousedown}"
 				onmousemove="#{event.onmousemove}" onmouseout="#{event.onmouseout}"
 				onmouseover="#{event.onmouseover}" onmouseup="#{event.onmouseup}">
-				<f:facet name="pages">
-					<h:outputText value="#{index} / #{pages}" />
-				</f:facet> 
+				 
 			</rich:datascroller>
 		</f:facet>
 		<f:facet name="footer">
 			
 		</f:facet>
-		<h:column>
-			<h:outputText value="#{dT.data0}" />
-		</h:column>
-		<h:column>
-			<h:outputText value="#{dT.data1} " /> <h:outputLink value="http://www.jboss.com/"><f:verbatim>Link</f:verbatim></h:outputLink>
-		</h:column>
+		<rich:column sortBy="#{dT.str0}" filterBy="#{dT.str0}" filterEvent="onchange" 
+		selfSorted="#{dataScroller.selfSorted}" sortOrder="#{dataScroller.sortOrder}" filterValue="#{dataScroller.filterValue}">
+			<h:outputText value="#{dT.str0}" />
+		</rich:column>
+		<rich:column sortBy="#{dT.int0}" filterBy="#{dT.int0}" filterEvent="onchange" 
+		sortOrder="#{dataScroller.sortOrder}">
+			<h:outputText value="#{dT.int0} " />
+		</rich:column>
 	</rich:dataTable>
 	<h:panelGrid id="dataScrollerActionID" columns="1">
 		<a4j:commandButton value="Show action" reRender="dataScrollerActionID" style=" width : 95px;"></a4j:commandButton>

Modified: trunk/test-applications/jsp/src/main/webapp/DataScroller/DataScrollerProperty.jsp
===================================================================
--- trunk/test-applications/jsp/src/main/webapp/DataScroller/DataScrollerProperty.jsp	2008-06-24 14:20:15 UTC (rev 9192)
+++ trunk/test-applications/jsp/src/main/webapp/DataScroller/DataScrollerProperty.jsp	2008-06-24 14:24:45 UTC (rev 9193)
@@ -62,13 +62,33 @@
     			
 				<h:outputText value="value"></h:outputText>
 				<h:outputText value="#{dataScroller.value}"></h:outputText>
-    			
+    			    			 			
 				<h:outputText value="stepControls"></h:outputText>
 				<h:selectOneRadio value="#{dataScroller.stepControls}">
 					<f:selectItem itemLabel="auto" itemValue="auto" />
 					<f:selectItem itemLabel="show" itemValue="show" />
 					<f:selectItem itemLabel="hide" itemValue="hide" />
-					<a4j:support event="onclick" reRender="dataTableId"></a4j:support>
+					<a4j:support event="onclick" reRender="dataTableId,dsID"></a4j:support>
 				</h:selectOneRadio>
+								
+				<h:outputText value="sortMode"></h:outputText>
+				<h:selectOneRadio value="#{dataScroller.sortMode}">
+				<f:selectItem itemLabel="single" itemValue="single"/>
+				<f:selectItem itemLabel="multi" itemValue="multi"/>
+				<a4j:support event="onchange" reRender="dataTableId,dsID"></a4j:support>
+				</h:selectOneRadio>
+				
+				<h:outputText value="sortOrder"></h:outputText>
+				<h:selectOneRadio value="#{dataScroller.sortOrder}">
+				<f:selectItem itemLabel="ASCENDING" itemValue="ASCENDING"/>
+				<f:selectItem itemLabel="DESCENDING" itemValue="DESCENDING"/>
+				<f:selectItem itemLabel="UNSORTED" itemValue="UNSORTED"/>
+				<a4j:support event="onchange" reRender="dataTableId,dsID"></a4j:support>
+				</h:selectOneRadio>
+				
+				<h:outputText value="selfSorted(1st)"></h:outputText>
+				<h:selectBooleanCheckbox value="#{dataScroller.selfSorted}">
+				<a4j:support event="onchange" reRender="dataTableId,dsID"></a4j:support>
+				</h:selectBooleanCheckbox>
 			</h:panelGrid>
 </f:subview>
\ No newline at end of file




More information about the richfaces-svn-commits mailing list