Example usage for com.google.gwt.user.cellview.client PageSizePager PageSizePager

List of usage examples for com.google.gwt.user.cellview.client PageSizePager PageSizePager

Introduction

In this page you can find the example usage for com.google.gwt.user.cellview.client PageSizePager PageSizePager.

Prototype

@UiConstructor
public PageSizePager(final int increment) 

Source Link

Document

Construct a PageSizePager with a given increment.

Usage

From source file:com.databasepreservation.visualization.client.common.lists.AsyncTableCell.java

public AsyncTableCell(Filter filter, boolean justActive, Facets facets, String summary, boolean selectable,
        boolean exportable, int initialPageSize, int pageSizeIncrement, O object) {
    super();//from w w w .  ja v  a  2  s .  c o m

    this.initialPageSize = initialPageSize;
    this.pageSizeIncrement = pageSizeIncrement;
    this.object = object;

    if (summary == null) {
        summary = "summary" + Random.nextInt(1000);
    }

    this.filter = filter;
    this.justActive = justActive;
    this.facets = facets;
    this.selectable = selectable;

    display = new AccessibleCellTable<T>(getInitialPageSize(),
            (MyCellTableResources) GWT.create(MyCellTableResources.class), getKeyProvider(), summary);
    display.setKeyboardSelectionPolicy(KeyboardSelectionPolicy.DISABLED);
    display.setLoadingIndicator(new HTML(SafeHtmlUtils.fromSafeConstant(
            "<div class='spinner'><div class='double-bounce1'></div><div class='double-bounce2'></div></div>")));

    configure(display);

    this.dataProvider = new MyAsyncDataProvider<T>(display, new IndexResultDataProvider<T>() {

        @Override
        public void getData(Sublist sublist, ColumnSortList columnSortList,
                AsyncCallback<IndexResult<T>> callback) {
            AsyncTableCell.this.getData(sublist, columnSortList, callback);
        }
    }) {

        @Override
        protected void fireChangeEvent(IndexResult<T> result) {
            ValueChangeEvent.fire(AsyncTableCell.this, result);
        }
    };

    dataProvider.addDataDisplay(display);

    if (exportable) {
        // mimic PageSizePager
        exportButtons = new FlexTable();
        exportButtons.setCellPadding(0);
        exportButtons.setCellSpacing(0);

        exportVisibleButton = new Anchor("Export visible");
        exportVisibleButton.addClickHandler(new ClickHandler() {
            @Override
            public void onClick(ClickEvent event) {
                AsyncTableCell.this.exportVisibleClickHandler();
            }
        });

        exportAllButton = new Anchor("Export all");
        exportAllButton.addClickHandler(new ClickHandler() {
            @Override
            public void onClick(ClickEvent event) {
                AsyncTableCell.this.exportAllClickHandler();
            }
        });

        exportButtons.setWidget(0, 0, exportVisibleButton);
        exportButtons.setText(0, 1, " | ");
        exportButtons.setWidget(0, 2, exportAllButton);
    }

    resultsPager = new AccessibleSimplePager(AccessibleSimplePager.TextLocation.LEFT,
            (SimplePager.Resources) GWT.create(SimplePager.Resources.class), false, initialPageSize, false,
            false, (SimplePager.ImageButtonsConstants) GWT.create(SimplePager.ImageButtonsConstants.class));
    resultsPager.setDisplay(display);

    pageSizePager = new PageSizePager(getPageSizePagerIncrement());
    pageSizePager.setDisplay(display);

    createSelectAllPanel();

    displayScroll = new ScrollPanel(display);
    displayScrollWrapper = new SimplePanel(displayScroll);

    add(selectAllPanel);
    add(displayScrollWrapper);
    add(resultsPager);
    if (exportButtons != null) {
        add(exportButtons);
    }
    add(pageSizePager);

    selectionModel = new SingleSelectionModel<>(getKeyProvider());

    Handler<T> selectionEventManager = getSelectionEventManager();
    if (selectionEventManager != null) {
        display.setSelectionModel(selectionModel, selectionEventManager);
    } else {
        display.setSelectionModel(selectionModel);
    }

    columnSortHandler = new AsyncHandler(display);
    display.addColumnSortHandler(columnSortHandler);

    display.addLoadingStateChangeHandler(new LoadingStateChangeEvent.Handler() {
        @Override
        public void onLoadingStateChanged(LoadingStateChangeEvent event) {
            if (LoadingStateChangeEvent.LoadingState.LOADED.equals(event.getLoadingState())) {
                handleScrollChanges();
            }
        }
    });

    addStyleName("my-asyncdatagrid");
    resultsPager.addStyleName("my-asyncdatagrid-pager-results");
    pageSizePager.addStyleName("my-asyncdatagrid-pager-pagesize");
    displayScrollWrapper.addStyleName("my-asyncdatagrid-display-scroll-wrapper");
    display.addStyleName("my-asyncdatagrid-display");
    if (exportButtons != null) {
        exportButtons.addStyleName("my-asyncdatagrid-pager-pagesize");
        // exportVisibleButton.addStyleName("btn btn-export btn-export-visible");
        // exportAllButton.addStyleName("btn btn-export btn-export-all");
    }

    displayScroll.addScrollHandler(new ScrollHandler() {
        @Override
        public void onScroll(ScrollEvent event) {
            handleScrollChanges();
        }
    });

    addValueChangeHandler(new ValueChangeHandler<IndexResult<T>>() {
        @Override
        public void onValueChange(ValueChangeEvent<IndexResult<T>> event) {
            selected = new HashSet<T>();
            hideSelectAllPanel();
        }
    });

    Label emptyInfo = new Label(messages.noItemsToDisplay());
    display.setEmptyTableWidget(emptyInfo);
}