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

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

Introduction

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

Prototype

public void addTopToolbar(final AbstractToolbar toolbar) 

Source Link

Document

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

Usage

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

License:Apache License

private void initLayout(List<IColumn<T, String>> columns, ISortableDataProvider provider, int pageSize) {
    setOutputMarkupId(true);/*from ww  w  .ja v a 2  s .c  o  m*/
    WebMarkupContainer box = new WebMarkupContainer(ID_BOX);
    box.add(new AttributeAppender("class", new AbstractReadOnlyModel<String>() {
        private static final long serialVersionUID = 1L;

        @Override
        public String getObject() {
            String boxCssClasses = getAdditionalBoxCssClasses();
            if (boxCssClasses == null) {
                return "";
            } else {
                return " " + boxCssClasses;
            }
        }
    }));
    add(box);

    WebMarkupContainer tableContainer = new WebMarkupContainer(ID_TABLE_CONTAINER);
    tableContainer.setOutputMarkupId(true);

    DataTable<T, String> table = new SelectableDataTable<T>(ID_TABLE, columns, provider, pageSize) {
        @Override
        protected Item<T> newRowItem(String id, int index, IModel<T> rowModel) {
            Item<T> item = super.newRowItem(id, index, rowModel);
            return customizeNewRowItem(item, rowModel);
        }
    };
    table.setOutputMarkupId(true);
    tableContainer.add(table);
    box.add(tableContainer);

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

    box.add(createHeader(ID_HEADER));
    box.add(createFooter(ID_FOOTER));
}

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   ww  w . j ava2  s .  com

    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   w  w w . j  a  v a 2 s.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:com.locke.tricks.u.U.java

License:Apache License

@SuppressWarnings("unchecked")
public U() {//w w  w  .ja va2  s .c om

    final IColumn<Utility>[] columns = new IColumn[2];
    columns[0] = new PropertyColumn<Utility>(new Model<String>("Code"), "code", "code");
    columns[1] = new PropertyColumn<Utility>(new Model<String>("Output"), "output", "output");

    final DataTable<Utility> dataTable = new DataTable<Utility>("utilities", columns,
            this.utilitiesDataProvider, Integer.MAX_VALUE);
    dataTable.addTopToolbar(new HeadersToolbar(dataTable, new ISortStateLocator() {

        private ISortState sortState = new SingleSortState();

        public ISortState getSortState() {
            return this.sortState;
        }

        public void setSortState(final ISortState state) {
            this.sortState = state;
        }
    }));
    add(dataTable);

    this.utilities.add(new Utility("Time.now().toString()") {

        @Override
        public String getOutput() {
            return Time.now().toString();
        }
    });
    this.utilities.add(new Utility("Duration.ONE_WEEK.toString()") {

        @Override
        public String getOutput() {
            return Duration.ONE_WEEK.toString();
        }
    });
    this.utilities.add(new Utility("Duration.ONE_WEEK.add(Duration.ONE_DAY).toString()") {

        @Override
        public String getOutput() {
            return Duration.ONE_WEEK.add(Duration.ONE_DAY).toString();
        }
    });
    this.utilities.add(new Utility("Time.now().add(Duration.ONE_WEEK).toString()") {

        @Override
        public String getOutput() {
            return Time.now().add(Duration.ONE_WEEK).toString();
        }
    });
    this.utilities.add(new Utility("Bytes.valueOf(\"512K\") + Bytes.megabytes(1.3)") {

        @Override
        public String getOutput() {
            return Bytes.bytes(Bytes.valueOf("512K").bytes() + Bytes.megabytes(1.3).bytes()).toString();
        }
    });
    this.utilities.add(new Utility("Parsing \'13 + 13\' using MetaPattern") {

        @Override
        public String getOutput() {
            final IntegerGroup a = new IntegerGroup(MetaPattern.DIGITS);
            final IntegerGroup b = new IntegerGroup(MetaPattern.DIGITS);
            final MetaPattern sum = new MetaPattern(new MetaPattern[] { a, MetaPattern.OPTIONAL_WHITESPACE,
                    MetaPattern.PLUS, MetaPattern.OPTIONAL_WHITESPACE, b });
            final Matcher matcher = sum.matcher("13 + 13");
            if (matcher.matches()) {
                return Integer.toString(a.getInt(matcher) + b.getInt(matcher));
            }
            return "Failed to match.";
        }
    });
}

From source file:de.alpharogroup.wicket.data.provider.examples.datatable.DataTablePanel.java

License:Apache License

public DataTablePanel(final String id) {
    super(id);//from  w  w w .  j  ava  2  s .  c  o m

    final SortableFilterPersonDataProvider dataProvider = new SortableFilterPersonDataProvider(
            PersonDatabaseManager.getInstance().getPersons()) {
        private static final long serialVersionUID = 1L;

        @Override
        public List<Person> getData() {
            final List<Person> persons = PersonDatabaseManager.getInstance().getPersons();
            setData(persons);
            return persons;
        }
    };
    dataProvider.setSort("firstname", SortOrder.ASCENDING);

    final List<IColumn<Person, String>> columns = new ArrayList<>();

    columns.add(new AbstractColumn<Person, String>(new Model<>("Actions")) {
        /**
         * The serialVersionUID
         */
        private static final long serialVersionUID = 1L;

        /**
         * {@inheritDoc}
         */
        @Override
        public void populateItem(final Item<ICellPopulator<Person>> cellItem, final String componentId,
                final IModel<Person> model) {
            final ActionPanel<Person> editActionPanel = new ActionPanel<Person>(componentId, model) {

                /**
                 * The serialVersionUID
                 */
                private static final long serialVersionUID = 1L;

                /**
                 * {@inheritDoc}
                 */
                @Override
                protected IModel<String> newActionLinkLabelModel() {
                    return ResourceModelFactory.newResourceModel("global.main.button.edit.label");
                }

                /**
                 * {@inheritDoc}
                 */
                @Override
                protected void onAction(final AjaxRequestTarget target) {
                    DataTablePanel.this.onEdit(target);
                }

            };
            cellItem.add(editActionPanel);
        }
    });

    columns.add(new PropertyColumn<Person, String>(Model.of("First name"), "firstname", "firstname"));
    columns.add(new PropertyColumn<Person, String>(Model.of("Last Name"), "lastname", "lastname") {
        private static final long serialVersionUID = 1L;

        @Override
        public String getCssClass() {
            return "last-name";
        }
    });
    columns.add(new PropertyColumn<Person, String>(Model.of("Date of birth"), "dateOfBirth", "dateOfBirth"));

    final DataTable<Person, String> tableWithFilterForm = new DataTable<>("tableWithFilterForm", columns,
            dataProvider, 10);
    tableWithFilterForm.setOutputMarkupId(true);

    final FilterForm<PersonFilter> filterForm = new FilterForm<>("filterForm", dataProvider);
    filterForm.add(new TextField<>("dateFrom", PropertyModel.of(dataProvider, "filterState.dateFrom")));
    filterForm.add(new TextField<>("dateTo", PropertyModel.of(dataProvider, "filterState.dateTo")));
    add(filterForm);

    final FilterToolbar filterToolbar = new FilterToolbar(tableWithFilterForm, filterForm);
    tableWithFilterForm.addTopToolbar(filterToolbar);
    tableWithFilterForm.addTopToolbar(new NavigationToolbar(tableWithFilterForm));
    tableWithFilterForm.addTopToolbar(new HeadersToolbar<>(tableWithFilterForm, dataProvider));
    filterForm.add(tableWithFilterForm);
}

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));
    }/*w w  w .  j av a2 s .com*/

    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 va2  s.c  o  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  w  w  w  .  jav  a 2 s . c o 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.");
    }// w w  w.  jav  a2  s  .c  o  m

    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:net.rrm.ehour.ui.admin.audit.AuditReportDataPanel.java

License:Open Source License

/**
 * @param model/*from   www  . ja va2  s  . c  o  m*/
 * @return
 */
@SuppressWarnings("unchecked")
private WebMarkupContainer getPagingDataView(IModel<ReportCriteria> model) {
    final WebMarkupContainer dataContainer = new WebMarkupContainer("dataContainer");
    dataContainer.setOutputMarkupId(true);
    final EhourConfig config = EhourWebSession.getEhourConfig();

    List<IColumn<Audit, Date>> columns = new ArrayList<>();
    columns.add(new DateColumn(new ResourceModel("audit.report.column.date"), config));
    columns.add(
            new PropertyColumn<Audit, Date>(new ResourceModel("audit.report.column.lastName"), "userFullName"));
    columns.add(new PropertyColumn<Audit, Date>(new ResourceModel("audit.report.column.action"), "action"));
    columns.add(new PropertyColumn<Audit, Date>(new ResourceModel("audit.report.column.type"),
            "auditActionType.value"));

    AuditReportDataProvider dataProvider = new AuditReportDataProvider(getReportRequest(model));
    DataTable<Audit, Date> table = new DataTable<Audit, Date>("data", columns, dataProvider, 20) {
        @Override
        protected Item<Audit> newRowItem(String id, int index, IModel<Audit> model) {
            return new OddEvenItem<>(id, index, model);
        }
    };

    table.setOutputMarkupId(true);

    dataContainer.add(table);
    table.addTopToolbar(new AjaxFallbackHeadersToolbar(table, dataProvider));

    dataContainer.add(new HoverPagingNavigator("navigator", table));

    return dataContainer;
}