List of usage examples for org.apache.wicket.extensions.markup.html.repeater.data.table DataTable addTopToolbar
public void addTopToolbar(final AbstractToolbar toolbar)
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; }