Author: d.bulahov
Date: 2007-03-20 10:23:52 -0400 (Tue, 20 Mar 2007)
New Revision: 101
Modified:
trunk/richfaces/datascroller/src/main/java/org/richfaces/component/UIDatascroller.java
trunk/richfaces/datascroller/src/main/java/org/richfaces/renderkit/html/DataScrollerRenderer.java
Log:
http://jira.jboss.com/jira/browse/RF-23 fixed
Modified:
trunk/richfaces/datascroller/src/main/java/org/richfaces/component/UIDatascroller.java
===================================================================
---
trunk/richfaces/datascroller/src/main/java/org/richfaces/component/UIDatascroller.java 2007-03-19
19:08:01 UTC (rev 100)
+++
trunk/richfaces/datascroller/src/main/java/org/richfaces/component/UIDatascroller.java 2007-03-20
14:23:52 UTC (rev 101)
@@ -269,11 +269,11 @@
int rows = getRows();
int next = dataTable.getFirst() + rows;
if (next < getRowCount()) dataTable.setFirst(next);
- if (rows>0){
- if (((next+rows)/rows)>getMaxPages()){
- next=getMaxPages()*rows-rows;;
- }
- }
+ //if (rows>0){
+ // if (((next+rows)/rows)>getMaxPages()){
+ // next=getMaxPages()*rows-rows;;
+ // }
+ //}
}
else if (FAST_FORWARD_FACET_NAME.equals(facetName)) {
int fastStep = getFastStep();
@@ -283,11 +283,11 @@
int rowcount = getRowCount();
if (next >= rowcount)
next = (rowcount - 1) - ((rowcount - 1) % rows);
- if (rows>0){
- if (((next+rows)/rows)>getMaxPages()){
- next=getMaxPages()*rows-rows;;
- }
- }
+ //if (rows>0){
+ // if (((next+rows)/rows)>getMaxPages()){
+ // next=getMaxPages()*rows-rows;;
+ //}
+ //}
dataTable.setFirst(next);
}
else if (FAST_REWIND_FACET_NAME.equals(facetName)) {
@@ -304,11 +304,11 @@
int first = delta > 0 && delta < rows ? rowcount - delta : rowcount
- rows;
if (first >= 0) {
- if (rows>0){
- if (((first+rows)/rows)>getMaxPages()){
- first=getMaxPages()*rows-rows;
- }
- }
+ //if (rows>0){
+ //if (((first+rows)/rows)>getMaxPages()){
+ // first=getMaxPages()*rows-rows;
+ //}
+ //}
dataTable.setFirst(first);
}
else {
@@ -473,6 +473,9 @@
return getUIData().getFirst();
}
+ public void setFirstRow(int rows) {
+ getUIData().setFirst(rows);
+ }
Modified:
trunk/richfaces/datascroller/src/main/java/org/richfaces/renderkit/html/DataScrollerRenderer.java
===================================================================
---
trunk/richfaces/datascroller/src/main/java/org/richfaces/renderkit/html/DataScrollerRenderer.java 2007-03-19
19:08:01 UTC (rev 100)
+++
trunk/richfaces/datascroller/src/main/java/org/richfaces/renderkit/html/DataScrollerRenderer.java 2007-03-20
14:23:52 UTC (rev 101)
@@ -41,7 +41,45 @@
return UIDatascroller.class;
}
+ public void encodeBegin(FacesContext context, UIComponent component)
+ throws IOException {
+
+ UIDatascroller scroller = (UIDatascroller) component;
+
+ //if ((scroller.getRowCount()-scroller.getFirstRow())<scroller.getRows() &&
scroller.getRowCount()>=scroller.getRows()){
+ // scroller.setFirstRow(scroller.getRowCount()-scroller.getRows()+1);
+ //}
+
+ if (scroller.getHandleValue()==null){
+ scroller.setHandleValue("1");
+ }
+
+ if (scroller.getPageCount() < Integer.parseInt(scroller.getHandleValue())){
+
+ scroller.setPageIndex(scroller.getPageCount()-1);
+ scroller.setHandleValue(Integer.toString(scroller.getPageCount()));
+ }
+ else{
+ scroller.setPageIndex(Integer.parseInt(scroller.getHandleValue())-1);
+ }
+
+
+
+ if (!(scroller.getPageCount()==1) || (scroller.isRenderIfSinglePage())){
+ super.encodeBegin(context, component);
+ }
+ }
+ public void encodeEnd(FacesContext context, UIComponent component)
+ throws IOException {
+ UIDatascroller scroller = (UIDatascroller) component;
+
+ if (!(scroller.getPageCount()==1) || (scroller.isRenderIfSinglePage())){
+ super.encodeEnd(context, component);
+ }
+ }
+
+
//public static final String RENDERER_TYPE = Datascroller.RENDERER_TYPE;
private static final String PARAM_SUFFIX = "_parameter";
@@ -90,7 +128,7 @@
int maxPages = scroller.getMaxPages();
if (maxPages <= 1) {
- maxPages = 2;
+ maxPages = 1;
}
int pageCount = scroller.getPageCount();
if (pageCount <= 1) {