Example usage for org.apache.wicket.extensions.markup.html.repeater.data.table DataTable addBottomToolbar

List of usage examples for org.apache.wicket.extensions.markup.html.repeater.data.table DataTable addBottomToolbar

Introduction

In this page you can find the example usage for org.apache.wicket.extensions.markup.html.repeater.data.table DataTable addBottomToolbar.

Prototype

public void addBottomToolbar(final AbstractToolbar toolbar) 

Source Link

Document

Adds a toolbar to the datatable that will be displayed after the data

Usage

From source file:com.evolveum.midpoint.web.component.data.TablePanel.java

License:Apache License

private void initLayout(List<IColumn<T, String>> columns, int itemsPerPage, ISortableDataProvider provider) {
    DataTable<T, String> table = new SelectableDataTable<T>(ID_TABLE, columns, provider, itemsPerPage);
    table.setOutputMarkupId(true);/*from   w  w  w . ja  v  a 2 s. c  om*/

    TableHeadersToolbar headers = new TableHeadersToolbar(table, provider);
    headers.setOutputMarkupId(true);
    table.addTopToolbar(headers);

    CountToolbar count = new CountToolbar(table);
    addVisibleBehaviour(count, showCount);
    table.addBottomToolbar(count);

    add(table);

    NavigatorPanel nb2 = new NavigatorPanel(ID_PAGING, table, showPagedPaging(provider));
    addVisibleBehaviour(nb2, showPaging);
    add(nb2);
}

From source file:com.kenai.wicketgae.web.panels.person.list.ListPersonPanel.java

License:Apache License

public ListPersonPanel(final String id, final MainPage mainPage) {
    super(id);/*from  www .  j  a va2s  . c o  m*/
    this.mainPage = mainPage;

    final PersonDataProvider dataProvider = new PersonDataProvider();
    final IColumn<Person>[] columns = createColumns();

    final DataTable<Person> table = new PersonDataTable("table", columns, dataProvider, ROWS_PER_PAGE);
    table.setOutputMarkupId(true);
    add(table);

    table.addTopToolbar(new HeadersToolbar(table, null));
    table.addBottomToolbar(new AjaxNavigationToolbar(table));
}

From source file:dk.teachus.frontend.components.list.ListPanel.java

License:Apache License

private DataTable<T> createDataTable(List<IColumn<T>> columns, ISortableDataProvider<T> dataProvider,
        FilterForm<T> form, TeachUsFilter<T> filterStateLocator) {
    DataTable<T> dataTable = new DataTable<T>("table", columns, dataProvider, 40);

    if (form != null && filterStateLocator != null) {
        dataTable.addTopToolbar(new FilterSubmitToolbar(dataTable, filterStateLocator));
        dataTable.addTopToolbar(new FilterToolbar(dataTable, form, filterStateLocator));
    }//from ww  w.  j a v a 2s.c o  m

    dataTable.addTopToolbar(new AjaxFallbackHeadersToolbar(dataTable, dataProvider));
    dataTable.addTopToolbar(createNavigationToolbar(dataTable));
    dataTable.addBottomToolbar(createNavigationToolbar(dataTable));
    return dataTable;
}

From source file:net.databinder.components.hib.QueryPanel.java

License:Open Source License

/**
 * Creates a result table for the current query.
 * @return a result table, or an empty label if there is no current query
 *//*from  w w w .j  a v a 2 s .  co m*/
private Component getResultsTable() {
    if (Strings.isEmpty(query.getQuery())) {
        return new Label("results", "");
    } else {
        IDataProvider dataProvider = new IDataProvider() {
            private static final long serialVersionUID = 1L;

            public void detach() {
            }

            public int size() {
                Session sess = Databinder.getHibernateSession();
                Query query = sess.createQuery(getQuery());
                return query.list().size();
            }

            public String getQuery() {
                return QueryPanel.this.query.getQuery();
            }

            public IModel model(Object object) {
                return new BoundCompoundPropertyModel(new HibernateObjectModel(object));
            }

            public Iterator iterator(int first, int count) {
                Session sess = Databinder.getHibernateSession();
                long start = System.nanoTime();
                try {
                    Query q = sess.createQuery(getQuery());
                    q.setFirstResult(first);
                    q.setMaxResults(count);
                    return q.iterate();
                } finally {
                    float nanoTime = ((System.nanoTime() - start) / 1000) / 1000.0f;
                    setExecutionInfo("query executed in " + nanoTime + " ms: " + getQuery());
                }
            }
        };
        IColumn[] columns;
        Session sess = Databinder.getHibernateSession();
        Query q = sess.createQuery(query.getQuery());
        String[] aliases;
        Type[] returnTypes;
        try {
            aliases = q.getReturnAliases();
            returnTypes = q.getReturnTypes();
        } catch (NullPointerException e) { // thrown on updates
            return new Label("results", "");
        }

        if (returnTypes.length != 1) {
            columns = new IColumn[returnTypes.length];
            for (int i = 0; i < returnTypes.length; i++) {
                String alias = aliases == null || aliases.length <= i ? returnTypes[i].getName() : aliases[i];
                final int index = i;
                columns[i] = new AbstractColumn(new Model(alias)) {
                    private static final long serialVersionUID = 1L;

                    public void populateItem(Item cellItem, String componentId, IModel rowModel) {
                        Object[] objects = (Object[]) rowModel.getObject();
                        cellItem.add(new Label(componentId,
                                new Model(objects[index] == null ? "" : objects[index].toString())));
                    }
                };
            }
        } else {
            Type returnType = returnTypes[0];
            if (returnType.isEntityType()) {
                Class clss = returnType.getReturnedClass();
                ClassMetadata metadata = Databinder.getHibernateSessionFactory().getClassMetadata(clss);
                List<IColumn> cols = new ArrayList<IColumn>();
                String idProp = metadata.getIdentifierPropertyName();
                cols.add(new PropertyColumn(new Model(idProp), idProp));
                String[] properties = metadata.getPropertyNames();
                for (String prop : properties) {
                    Type type = metadata.getPropertyType(prop);
                    if (type.isCollectionType()) {
                        // TODO: see if we could provide a link to the collection value
                    } else {
                        cols.add(new PropertyColumn(new Model(prop), prop));
                    }
                }
                columns = (IColumn[]) cols.toArray(new IColumn[cols.size()]);
            } else {
                String alias = aliases == null || aliases.length == 0 ? returnType.getName() : aliases[0];
                columns = new IColumn[] { new AbstractColumn(new Model(alias)) {
                    private static final long serialVersionUID = 1L;

                    public void populateItem(Item cellItem, String componentId, IModel rowModel) {
                        cellItem.add(new Label(componentId, rowModel));
                    }
                } };
            }
        }
        DataTable dataTable = new DataTable("results", columns, dataProvider, 10);

        dataTable.addTopToolbar(new HeadersToolbar(dataTable, null));
        dataTable.addBottomToolbar(new NavigationToolbar(dataTable));
        dataTable.setOutputMarkupId(true);
        return dataTable;
    }
}

From source file:net.fatlenny.datacitation.webapp.pages.DatasetCreationPage.java

License:Apache License

private void initializeDatatable(String selectedFile, String queryString) {
    if (selectedFile == null) {
        add(new Label("datatable", "Error populating data table."));
        return;/*from   www  .  j av a 2s.  co m*/
    }

    try {
        TableModel tableModel;
        if (queryString.isEmpty()) {
            tableModel = citationDBService.loadDataset(selectedFile.toString());
        } else {
            String pidIdentifier = UUID.randomUUID().toString();
            PID pid = new DefaultPID.PIDBuilder(pidIdentifier).setName(pidIdentifier).build();

            Revision revision = new DefaultRevision("HEAD");

            Query query = new DefaultQuery.QueryBuilder(pid, queryString, selectedFile, revision).build();

            tableModel = citationDBService.getQueryResult(query);
        }

        revision = tableModel.getMetaData().getRevision().getRevisionId();

        List<IColumn> header = new ArrayList<>();
        List<String> headerData = tableModel.getHeaderData();

        for (int i = 0; i < headerData.size(); i++) {
            header.add(new PropertyColumn<>(new Model<>(headerData.get(i)), String.format("%s", i)));
        }
        List<String[]> rows = tableModel.getRowData();

        ListDataProvider<String[]> dataProvider = new ListDataProvider<>(rows);

        DataTable<String, String> table = new DataTable("datatable", header, dataProvider, 15);
        table.addBottomToolbar(new NavigationToolbar(table));
        table.addTopToolbar(new HeadersToolbar(table, null));
        add(table);
    } catch (CitationDBException e) {
        error(e.getMessage());
        add(new Label("datatable", "Error populating data table."));
    }
}

From source file:net.fatlenny.datacitation.webapp.pages.QueryPage.java

License:Apache License

public QueryPage(final PageParameters parameters) {
    super(parameters);

    StringValue selectedQueryPid = parameters.get(Constants.PID_PARAM);

    add(new BookmarkablePageLink<Void>("home", HomePage.class));

    add(new FeedbackPanel("feedback"));

    if (selectedQueryPid.isEmpty()) {
        error("No query transmitted. Please go back and select a valid query.");
        LOG.error("Parameter 'selectedQueryPid' null or emtpy.");
    }/*from  w  w  w .j a va 2s  . com*/

    Query query = citationDBService.getQueryById(selectedQueryPid.toString());
    TableModel tableModel = citationDBService.getQueryResult(query);

    final TextArea<String> queryString = new TextArea<String>("queryString",
            Model.of(wrapLines(query.getQuery())));
    queryString.setEnabled(false);
    add(queryString);

    List<IColumn> header = new ArrayList<>();
    List<String> headerData = tableModel.getHeaderData();

    for (int i = 0; i < headerData.size(); i++) {
        header.add(new PropertyColumn<>(new Model<>(headerData.get(i)), String.format("%s", i)));
    }

    List<String[]> rows = tableModel.getRowData();

    ListDataProvider<String[]> dataProvider = new ListDataProvider<>(rows);

    DataTable<String, String> table = new DataTable("datatable", header, dataProvider, 15);
    table.addBottomToolbar(new NavigationToolbar(table));
    table.addTopToolbar(new HeadersToolbar(table, null));
    add(table);
}

From source file:org.cast.cwm.admin.EventLog.java

License:Open Source License

public EventLog(final PageParameters params) {
    super(params);
    setPageTitle("Event Log");

    addFilterForm();//from   ww w .  j  a v  a 2 s .  com

    OrderingCriteriaBuilder builder = makeCriteriaBuilder();
    SortableHibernateProvider<Event> eventsprovider = makeHibernateProvider(builder);
    List<IDataColumn<Event>> columns = makeColumns();
    DataTable<Event, String> table = new DataTable<Event, String>("eventtable", columns, eventsprovider, 30);
    table.addTopToolbar(new HeadersToolbar<String>(table, eventsprovider));
    table.addTopToolbar(new NavigationToolbar(table));
    table.addBottomToolbar(new NavigationToolbar(table));
    table.addBottomToolbar(new NoRecordsToolbar(table, new Model<String>("No events found")));
    add(table);

    CSVDownload<Event> download = new CSVDownload<Event>(columns, eventsprovider);
    add(new ResourceLink<Object>("downloadLink", download));
}

From source file:org.cast.cwm.admin.UserContentLogPage.java

License:Open Source License

public UserContentLogPage(PageParameters parameters) {
    super(parameters);

    addFilterForm();/*w  ww. j  a  v a  2  s  .  c  om*/

    AuditDataProvider<UserContent, DefaultRevisionEntity> provider = getDataProvider();

    List<IDataColumn<AuditTriple<UserContent, DefaultRevisionEntity>>> columns = makeColumns();
    // Annoying to have to make a new List here; DataTable should use <? extends IColumn>.
    ArrayList<IColumn<AuditTriple<UserContent, DefaultRevisionEntity>, String>> colList = new ArrayList<IColumn<AuditTriple<UserContent, DefaultRevisionEntity>, String>>(
            columns);
    DataTable<AuditTriple<UserContent, DefaultRevisionEntity>, String> table = new DataTable<AuditTriple<UserContent, DefaultRevisionEntity>, String>(
            "table", colList, provider, ITEMS_PER_PAGE);

    table.addTopToolbar(new HeadersToolbar<String>(table, provider));
    table.addBottomToolbar(new NavigationToolbar(table));
    table.addBottomToolbar(new NoRecordsToolbar(table, new Model<String>("No revisions found")));
    add(table);

    CSVDownload<AuditTriple<UserContent, DefaultRevisionEntity>> download = new CSVDownload<AuditTriple<UserContent, DefaultRevisionEntity>>(
            columns, provider);
    add(new ResourceLink<Object>("downloadLink", download));

    // Look for a configuration variable with site's URL, called either cwm.url or app.url.
    // If it is set, it is used to make URLs absolute in the downloaded file
    if (Application.get() instanceof CwmApplication) {
        IAppConfiguration config = CwmApplication.get().getConfiguration();
        urlPrefix = config.getString("cwm.url", config.getString("app.url", ""));
    }
}

From source file:org.dcache.webadmin.view.panels.alarms.DisplayPanel.java

License:Open Source License

public DisplayPanel(String id, final AlarmsPage parent) {
    super(id);/*from   w  ww  .j  a va2 s .com*/
    List<IColumn<LogEntry, String>> columns = new ArrayList<>();
    final AlarmTableProvider provider = parent.getWebadminApplication().getAlarmDisplayService()
            .getDataProvider();
    addDeleteColumn(columns, provider);
    addCloseColumn(columns, provider);
    addAttributeColumns(columns);
    addNotesColumn(columns, provider);

    add(new Label("tableTitle", new PropertyModel<String>(provider, "tableTitle")));
    DataTable<LogEntry, String> table = new DataTable<LogEntry, String>("alarms", columns, provider, 100) {
        private static final long serialVersionUID = -6574880701979145714L;

        protected Item<LogEntry> newRowItem(final String id, final int index, final IModel<LogEntry> model) {
            Item<LogEntry> item = super.newRowItem(id, index, model);
            if (provider.isAlarm() == null && model.getObject().isAlarm()) {
                item.add(AttributeModifier.replace("style", "color: #880000;"));
            }
            return item;
        }
    };
    table.addBottomToolbar(new NavigationToolbar(table));
    table.addTopToolbar(new HeadersToolbar(table, provider));

    add(table);
}

From source file:org.onexus.website.api.widgets.tableviewer.DataTablePanel.java

License:Apache License

public DataTablePanel(String id, final List<? extends IColumn<IEntityTable, String>> columns,
        final EntitiesRowProvider dataProvider, final long defaultRowsPerPage) {
    super(id);//from   ww w .j  av  a2s.c o m

    this.dataProvider = dataProvider;

    indicator = new WebMarkupContainer("indicator");
    indicator.setOutputMarkupId(true);
    indicator.add(new Image("loading", OnDomReadyPanel.LOADING_IMAGE));
    add(indicator);

    DataTable<IEntityTable, String> resultTable = new DataTable<IEntityTable, String>("datatable", columns,
            dataProvider, defaultRowsPerPage);
    resultTable.setOutputMarkupId(true);
    resultTable.setVersioned(false);
    resultTable.addTopToolbar(new HeadersToolbar(resultTable, dataProvider));
    resultTable.addBottomToolbar(new NoRecordsToolbar(resultTable));
    resultTable.addBottomToolbar(new NavigationToolbar(resultTable));
    add(resultTable);
}