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:v...
- </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