int lastRendered = tBody.getLastRendered();
int firstRendered = tBody.getFirstRendered();
- // tell scroll position to user if currently "visible" rows are not rendered
- if( (lastRendered < firstRowInViewPort + pageLength) ||
- (firstRowInViewPort < firstRendered)) {
- announceScrollPosition();
- }
-
-
if( postLimit <= lastRendered && preLimit >= firstRendered ) {
client.updateVariable(this.paintableId, "firstvisible", firstRowInViewPort, false);
return; // scrolled withing "non-react area"
DOM.getIntAttribute(getElement(), "offsetHeight")/2
- 20
) + "px");
+
+ int last = (firstRowInViewPort + pageLength);
+ if(last > totalRows)
+ last = totalRows;
DOM.setInnerHTML(scrollPositionElement,
- firstRowInViewPort + " - " + (firstRowInViewPort + pageLength) + "...");
+ firstRowInViewPort + " - " + last + "...");
DOM.setStyleAttribute(scrollPositionElement, "display", "block");
}
private int reqRows = 0;
public void deferRowFetch() {
- if(reqRows > 0 && reqFirstRow < totalRows)
+ if(reqRows > 0 && reqFirstRow < totalRows) {
schedule(250);
+
+ // tell scroll position to user if currently "visible" rows are not rendered
+ if( (firstRowInViewPort + pageLength > tBody.getLastRendered()) ||
+ (firstRowInViewPort < tBody.getFirstRendered())) {
+ announceScrollPosition();
+ } else {
+ hideScrollPositionAnnotation();
+ }
+ }
}
public void setReqFirstRow(int reqFirstRow) {