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

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

Introduction

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

Prototype

public <T> HeadersToolbar(final DataTable<T, S> table, final ISortStateLocator<S> stateLocator) 

Source Link

Document

Constructor

Usage

From source file:an.dpr.manteniket.components.ManteniketDataTable.java

License:Apache License

/**
 * Constructor/*w  w  w. ja va  2  s.c  om*/
 * 
 * @param id
 *            component id
 * @param columns
 *            list of columns
 * @param dataProvider
 *            data provider
 * @param rowsPerPage
 *            number of rows per page
 */
public ManteniketDataTable(final String id, final List<? extends IColumn<T, S>> columns,
        final ISortableDataProvider<T, S> dataProvider, final int rowsPerPage) {
    super(id, columns, dataProvider, rowsPerPage);

    addTopToolbar(new HeadersToolbar<S>(this, dataProvider));
    addBottomToolbar(new NoRecordsToolbar(this));
    //bootstrap
    addBottomToolbar(new BootstrapNavigationToolbar(this));
    this.add(new TableBehavior().striped());
}

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 va 2s .com*/
    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() {/*from  w  w w.  j  av  a  2 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:com.norconex.commons.wicket.bootstrap.table.BootstrapDataTable.java

License:Apache License

protected void addToolbars(ISortableDataProvider<T, S> dataProvider) {
    addTopToolbar(new BootstrapNavigationToolbar(this, true));
    addTopToolbar(new HeadersToolbar<S>(this, dataProvider));
    addBottomToolbar(new NoRecordsToolbar(this));
    addBottomToolbar(new BootstrapNavigationToolbar(this, false));
}

From source file:com.wt.dms.web.IndexManagerDataTable.java

License:Apache License

/**
 * Constructor//from w  w w. ja  v  a2s . c  om
 * 
 * @param id
 *            component id
 * @param columns
 *            list of columns
 * @param dataProvider
 *            data provider
 * @param rowsPerPage
 *            number of rows per page
 */
public IndexManagerDataTable(final String id, final List<IColumn<T>> columns,
        final ISortableDataProvider<T> dataProvider, final int rowsPerPage) {
    super(id, columns, dataProvider, rowsPerPage);

    addTopToolbar(new HeadersToolbar(this, dataProvider));
    addBottomToolbar(new NoRecordsToolbar(this));
    /*addTopToolbar(new NavigationToolbar(this));*/
    addBottomToolbar(new NavigationToolbar(this));
}

From source file:com.zh.snmp.snmpweb.components.ZhDataDable.java

License:Open Source License

/**
 * /*from   ww w  . ja  v  a  2 s.c  o m*/
 * @param id
 * @param columns
 * @param dataProvider
 * @param rowsPerPage 
 */
public ZhDataDable(String id, IColumn<T>[] columns, ISortableDataProvider<T> dataProvider, int rowsPerPage) {
    super(id, columns, dataProvider, rowsPerPage);

    addTopToolbar(new ZhNavigationToolbar(this));
    addTopToolbar(new HeadersToolbar(this, dataProvider));
    addBottomToolbar(new NoRecordsToolbar(this));
}

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  a  va  2s.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:de.tudarmstadt.ukp.csniper.webapp.support.wicket.CustomDataTable.java

License:Apache License

/**
 * Constructor//from   w  w  w. j a va 2  s.  c  o  m
 * 
 * @param id
 *            component id
 * @param columns
 *            list of columns
 * @param dataProvider
 *            data provider
 * @param rowsPerPage
 *            number of rows per page
 */
public CustomDataTable(final String id, final List<IColumn<T, String>> columns,
        final ISortableDataProvider<T, String> dataProvider, final int rowsPerPage) {
    super(id, columns, dataProvider, rowsPerPage);

    addTopToolbar(new ExtendedNavigationToolbar(this));
    addTopToolbar(new HeadersToolbar(this, dataProvider));
    addBottomToolbar(new NoRecordsToolbar(this));
}

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 2s. 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;/* www.java2 s. 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."));
    }
}