aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMatti Tahvonen <matti.tahvonen@itmill.com>2008-06-17 09:36:23 +0000
committerMatti Tahvonen <matti.tahvonen@itmill.com>2008-06-17 09:36:23 +0000
commit02152d0ccd11c665db7cf340d0af7e1e30143931 (patch)
tree23d2346c2711114e4882dd99f1133a5e5ac3e60b
parentcfb9a0f85e5e08a190bb692ae984702ec459ca56 (diff)
downloadvaadin-framework-02152d0ccd11c665db7cf340d0af7e1e30143931.tar.gz
vaadin-framework-02152d0ccd11c665db7cf340d0af7e1e30143931.zip
avoiding continuously growing cache when reloading page repeatedly
svn changeset:4907/svn branch:trunk
-rw-r--r--src/com/itmill/toolkit/terminal/gwt/client/ui/IScrollTable.java26
1 files changed, 15 insertions, 11 deletions
diff --git a/src/com/itmill/toolkit/terminal/gwt/client/ui/IScrollTable.java b/src/com/itmill/toolkit/terminal/gwt/client/ui/IScrollTable.java
index e0ff2b0f77..0dc7ebac21 100644
--- a/src/com/itmill/toolkit/terminal/gwt/client/ui/IScrollTable.java
+++ b/src/com/itmill/toolkit/terminal/gwt/client/ui/IScrollTable.java
@@ -615,18 +615,22 @@ public class IScrollTable extends Composite implements Table, ScrollListener,
}
if (enabled) {
- DeferredCommand.addCommand(new Command() {
- public void execute() {
- if (totalRows - 1 > tBody.getLastRendered()) {
- // fetch cache rows
- rowRequestHandler.setReqFirstRow(tBody
- .getLastRendered() + 1);
- rowRequestHandler
- .setReqRows((int) (pageLength * CACHE_RATE));
- rowRequestHandler.deferRowFetch(1);
+ // Do we need cache rows
+ if (tBody.getLastRendered() + 1 < firstRowInViewPort + pageLength
+ + CACHE_REACT_RATE * pageLength) {
+ DeferredCommand.addCommand(new Command() {
+ public void execute() {
+ if (totalRows - 1 > tBody.getLastRendered()) {
+ // fetch cache rows
+ rowRequestHandler.setReqFirstRow(tBody
+ .getLastRendered() + 1);
+ rowRequestHandler
+ .setReqRows((int) (pageLength * CACHE_RATE));
+ rowRequestHandler.deferRowFetch(1);
+ }
}
- }
- });
+ });
+ }
}
initializedAndAttached = true;
}