/** * Constructor * @param pageSize */ public AbstractPagedTable( int pageSize ) { this.pageSize = pageSize; pager.setDisplay( cellTable ); pager.setPageSize( pageSize ); // } else if ( pager instanceof SimplePager ) { // ( (SimplePager) pager ).setPageSize( pageSize ); // } }
@Override protected void onRangeOrRowCountChanged() { HasRows display = getDisplay(); label.setText( createText() ); // Update the prev and first buttons. setPrevPageButtonsDisabled( !hasPreviousPage() ); // Update the next and last buttons. if ( isRangeLimited() || !display.isRowCountExact() ) { setNextPageButtonsDisabled( !hasNextPage() ); setFastForwardDisabled( !hasNextPages( getFastForwardPages() ) ); } }
/** * Construct a {@link SimplePager} with the specified text location. * @param location the location of the text relative to the buttons */ public GuvnorSimplePager( TextLocation location ) { this( location, getDefaultResources(), true, DEFAULT_FAST_FORWARD_ROWS, true ); }
@Override public void previousPage() { if ( getDisplay() != null ) { Range range = getDisplay().getVisibleRange(); setPageStart( range.getStart() - getPageSize() ); } }
events.setKeyboardSelectionPolicy( KeyboardSelectionPolicy.DISABLED ); GuvnorSimplePager gsp = new GuvnorSimplePager(); gsp.setDisplay( events ); gsp.setPageSize( 4 );
@Override public void setPageStart( int index ) { if ( getDisplay() != null ) { Range range = getDisplay().getVisibleRange(); int displayPageSize = getPageSize(); if ( isRangeLimited() && getDisplay().isRowCountExact() ) { displayPageSize = Math.min( getPageSize(), getDisplay().getRowCount() - index ); } index = Math.max( 0, index ); if ( index != range.getStart() ) { getDisplay().setVisibleRange( index, displayPageSize ); } } }
initWidget( layout ); if ( location == TextLocation.RIGHT ) { layout.add( label ); setDisplay( null );
protected void onRangeChanged(HasData<JarListPageRow> display) { PageRequest request = new PageRequest(pager.getPageStart(), pageSize); m2RepoService.call(new RemoteCallback<PageResponse<JarListPageRow>>() { @Override public void callback(final PageResponse<JarListPageRow> response) { updateRowCount(response.getTotalRowSize(), response.isTotalRowSizeExact()); updateRowData(response.getStartRowIndex(), response.getPageRowList()); } }).listJars(request, searchFilter); } });
/** * Let the page know that the table is loading. Call this method to clear * all data from the table and hide the current range when new data is being * loaded into the table. */ public void startLoading() { getDisplay().setRowCount( 0, true ); label.setHTML( "" ); }
/** * Get the number of pages to fast forward based on the current page size. * @return the number of pages to fast forward */ private int getFastForwardPages() { int pageSize = getPageSize(); return pageSize > 0 ? fastForwardRows / pageSize : 0; }
@Override public void nextPage() { if ( getDisplay() != null ) { Range range = getDisplay().getVisibleRange(); setPageStart( range.getStart() + getPageSize() ); } }
protected void onRangeChanged( HasData<InboxPageRow> display ) { InboxPageRequest request = new InboxPageRequest(); request.setInboxName( inboxName ); request.setStartRowIndex( pager.getPageStart() ); request.setPageSize( pageSize ); inboxService.call(new RemoteCallback<PageResponse<InboxPageRow>>() { @Override public void callback(final PageResponse<InboxPageRow> response) { updateRowCount(response.getTotalRowSize(), response.isTotalRowSizeExact()); updateRowData(response.getStartRowIndex(), response.getPageRowList()); } }).loadInbox(request); /* repositoryService.loadInbox( request, new GenericCallback<PageResponse<InboxPageRow>>() { public void onSuccess( PageResponse<InboxPageRow> response ) { updateRowCount( response.getTotalRowSize(), response.isTotalRowSizeExact() ); updateRowData( response.getStartRowIndex(), response.getPageRowList() ); } } );*/ } } );
protected String createText() { NumberFormat formatter = NumberFormat.getFormat( "#,###" ); HasRows display = getDisplay(); Range range = display.getVisibleRange(); int pageStart = range.getStart() + 1; int pageSize = range.getLength(); int dataSize = display.getRowCount(); int endIndex = Math.min( dataSize, pageStart + pageSize - 1 ); endIndex = Math.max( pageStart, endIndex ); boolean exact = display.isRowCountExact(); if ( dataSize == 0 ) { return "0 of 0"; } else if ( pageStart == endIndex ) { return formatter.format( pageStart ) + " of " + formatter.format( dataSize ); } return formatter.format( pageStart ) + "-" + formatter.format( endIndex ) + ( exact ? " of " : " of over " ) + formatter.format( dataSize ); }