List of usage examples for org.apache.wicket.extensions.markup.html.repeater.data.table DataTable DataTable
public DataTable(final String id, final List<? extends IColumn<T, S>> columns, final IDataProvider<T> dataProvider, final long rowsPerPage)
From source file:net.rrm.ehour.ui.admin.audit.AuditReportDataPanel.java
License:Open Source License
/** * @param model//www. j a va 2 s. com * @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; }
From source file:org.cast.cwm.admin.EventLog.java
License:Open Source License
public EventLog(final PageParameters params) { super(params); setPageTitle("Event Log"); addFilterForm();/*www .j av a 2 s . c o m*/ 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();// www. j av a2 s.com 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);// w w w .j a v a2s.c o m 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.efaps.ui.wicket.components.search.ResultPanel.java
License:Apache License
/** * Gets the data table.//from w ww . j ava 2 s. c o m * * @param _indexSearch the index search * @return the data table */ private DataTable<Element, Void> getDataTable(final IndexSearch _indexSearch) { final List<IColumn<Element, Void>> columns = new ArrayList<>(); columns.add(new AbstractColumn<Element, Void>(new Model<String>("")) { private static final long serialVersionUID = 1L; @Override public void populateItem(final Item<ICellPopulator<Element>> _cellItem, final String _componentId, final IModel<Element> _rowModel) { _cellItem.add(new Link(_componentId, _rowModel)); } }); if (_indexSearch.getSearch() == null || _indexSearch.getSearch().getResultFields().isEmpty()) { columns.add(new PropertyColumn<Element, Void>(new Model<String>(""), "text")); } else { for (final Entry<String, Collection<String>> entry : _indexSearch.getSearch().getResultFields() .entrySet()) { columns.add(new ResultColumn(_indexSearch.getSearch().getResultLabel().get(entry.getKey()), entry.getValue())); } } final DataTable<Element, Void> ret = new DataTable<Element, Void>("table", columns, _indexSearch.getDataProvider(), _indexSearch.getSearch() == null ? 100 : _indexSearch.getSearch().getNumHits()); ret.addTopToolbar(new HeadersToolbar<Void>(ret, null)); return ret; }
From source file:org.jaulp.wicket.data.provider.examples.datatable.DataTablePanel.java
License:Apache License
public DataTablePanel(String id) { super(id);/*from w w w .jav a 2s. com*/ final SortableFilterPersonDataProvider dataProvider = new SortableFilterPersonDataProvider(getPersons()) { private static final long serialVersionUID = 1L; @Override public List<Person> getData() { List<Person> persons = getPersons(); setData(persons); return persons; } }; dataProvider.setSort("firstname", SortOrder.ASCENDING); List<IColumn<Person, String>> columns = new ArrayList<>(); 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")); DataTable<Person, String> tableWithFilterForm = new DataTable<Person, String>("tableWithFilterForm", columns, dataProvider, 10); tableWithFilterForm.setOutputMarkupId(true); 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); FilterToolbar filterToolbar = new FilterToolbar(tableWithFilterForm, filterForm, dataProvider); tableWithFilterForm.addTopToolbar(filterToolbar); tableWithFilterForm.addTopToolbar(new NavigationToolbar(tableWithFilterForm)); tableWithFilterForm.addTopToolbar(new HeadersToolbar<>(tableWithFilterForm, dataProvider)); filterForm.add(tableWithFilterForm); }
From source file:org.lbogdanov.poker.web.page.MySessionsPage.java
License:Apache License
/** * Creates a new instance of <code>MySessionsPage</code> page. */// w ww . ja va 2 s.c o m @SuppressWarnings("unchecked") public MySessionsPage() { final SessionsProvider dataProvider = new SessionsProvider(); dataProvider.setSort("created", SortOrder.DESCENDING); // default sort: created, desc List<AbstractColumn<Session, String>> columns = Arrays.asList(new Column("session.name", "name", "name") { @Override public void populateItem(Item<ICellPopulator<Session>> item, String compId, IModel<Session> model) { Session session = model.getObject(); PageParameters params = new PageParameters().add("code", session.getCode()); Link<?> go = new BookmarkablePageLink<Void>("goto", SessionPage.class, params); go.add(new BodylessLabel("name", session.getName())); item.add(new Fragment(compId, "nameLink", MySessionsPage.this).add(go)); } }, new Column("session.description", null, "description"), new Column("session.created", "created", "created") { @Override @SuppressWarnings("rawtypes") public IModel<Object> getDataModel(IModel<Session> rowModel) { Date created = (Date) super.getDataModel(rowModel).getObject(); String formatted = DateFormat .getDateTimeInstance(DateFormat.SHORT, DateFormat.SHORT, getLocale()) .format(created); return new Model(formatted); } }, new Column("session.author", "author", "author"), new AbstractColumn<Session, String>(new ResourceModel("session.actions")) { @Override public void populateItem(Item<ICellPopulator<Session>> item, String compId, IModel<Session> model) { Link<?> delete = new AjaxFallbackLink<Session>("delete", model) { @Override public void onClick(AjaxRequestTarget target) { sessionService.delete(getModelObject()); dataProvider.invalidate(); if (target != null) { target.add(sessionsTable); } } @Override protected void updateAjaxAttributes(AjaxRequestAttributes attributes) { super.updateAjaxAttributes(attributes); AjaxCallListener listener = new AjaxCallListener(); listener.onPrecondition("return Poker.confirm(attrs.c);"); attributes.getAjaxCallListeners().add(listener); } }; item.add(new Fragment(compId, "actions", MySessionsPage.this).add(delete)); } @Override public String getCssClass() { return "actions"; } }); sessionsTable = new DataTable<Session, String>("sessions", columns, dataProvider, ITEMS_PER_PAGE.get(0)); sessionsTable.addTopToolbar(new AjaxFallbackHeadersToolbar<String>(sessionsTable, dataProvider) { @Override protected WebMarkupContainer newSortableHeader(String borderId, String property, ISortStateLocator<String> locator) { return new AjaxFallbackOrderByBorder<String>(borderId, property, locator, getAjaxCallListener()) { @Override protected void onAjaxClick(AjaxRequestTarget target) { target.add(getTable()); } @Override protected void onSortChanged() { dataProvider.invalidate(); getTable().setCurrentPage(0); } }; } }); sessionsTable.addBottomToolbar(new AjaxNavigationToolbar(sessionsTable) { @Override protected PagingNavigator newPagingNavigator(String navigatorId, final DataTable<?, ?> table) { return new BootstrapPagingNavigator(navigatorId, table) { @Override protected void onAjaxEvent(AjaxRequestTarget target) { target.add(table); } }; } }); sessionsTable.addBottomToolbar(new NoRecordsToolbar(sessionsTable)); TextField<?> sessionName = new TextField<String>("sessionName", PropertyModel.<String>of(dataProvider, "sessionName")); sessionName.add(new OnChangeAjaxBehavior() { @Override protected void onUpdate(AjaxRequestTarget target) { dataProvider.invalidate(); target.add(sessionsTable); } @Override protected void updateAjaxAttributes(AjaxRequestAttributes attributes) { super.updateAjaxAttributes(attributes); ThrottlingSettings throttling = new ThrottlingSettings("sessionName", Duration.milliseconds(300), true); attributes.setThrottlingSettings(throttling); } }); DropDownChoice<?> pageSize = new DropDownChoice<Long>("pageSize", PropertyModel.<Long>of(sessionsTable, "itemsPerPage"), ITEMS_PER_PAGE); pageSize.add(new OnChangeAjaxBehavior() { @Override protected void onUpdate(AjaxRequestTarget target) { dataProvider.invalidate(); target.add(sessionsTable); } }); add(sessionsTable.setOutputMarkupId(true), sessionName, pageSize); }
From source file:org.onexus.website.api.pages.search.figures.table.TableFigurePanel.java
License:Apache License
public TableFigurePanel(String id, ORI parentOri, IEntitySelection selection, TableFigureConfig config) { super(id);/* w w w . ja v a 2 s. c o m*/ int limit = config.getLimit() == null ? Integer.MAX_VALUE : config.getLimit(); // Create data provider dataProvider = new EntitiesRowProvider(createQuery(parentOri, config, selection), STATUS, limit); // Create columns List<IColumn<IEntityTable, String>> columns = new ArrayList<IColumn<IEntityTable, String>>(); for (IColumnConfig columnConfig : config.getColumns()) { if (!Strings.isEqual("false", columnConfig.getVisible())) { columnConfig.addColumns(columns, parentOri, false); } } // Create table resultTable = new DataTable<IEntityTable, String>("datatable", columns, dataProvider, limit) { @Override public boolean isVisible() { //return (dataProvider == null ? false : dataProvider.getKnownSize() != 0); return getItemCount() != 0; } }; resultTable.setOutputMarkupId(true); resultTable.setVersioned(false); resultTable.addTopToolbar(new HeadersToolbar(resultTable, dataProvider)); resultTable.addBottomToolbar(new NoRecordsToolbar(resultTable)); add(resultTable); add(new Label("empty", config.getEmpty()) { @Override public boolean isVisible() { //return (dataProvider == null ? false : dataProvider.getKnownSize() == 0); return resultTable.getItemCount() == 0; } }); }
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 w w w . ja v a 2 s .c om*/ 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); }
From source file:org.projectforge.web.timesheet.TimesheetEditSelectRecentDialogPanel.java
License:Open Source License
@SuppressWarnings({ "serial" }) private void addRecentSheetsTable() { final List<IColumn<TimesheetDO, String>> columns = new ArrayList<IColumn<TimesheetDO, String>>(); final CellItemListener<TimesheetDO> cellItemListener = new CellItemListener<TimesheetDO>() { public void populateItem(final Item<ICellPopulator<TimesheetDO>> item, final String componentId, final IModel<TimesheetDO> rowModel) { final TimesheetDO timesheet = rowModel.getObject(); final int rowIndex = ((Item<?>) item.findParent(Item.class)).getIndex(); String cssClasses = null; if (timesheet.isDeleted() == true) { cssClasses = RowCssClass.MARKED_AS_DELETED.getCssClass(); } else if (rowIndex < TimesheetEditPage.SIZE_OF_FIRST_RECENT_BLOCK) { cssClasses = RowCssClass.IMPORTANT_ROW.getCssClass(); }/*from w w w .jav a 2 s.co m*/ if (cssClasses != null) { item.add(AttributeModifier.append("class", cssClasses)); } } }; if (showCost2Column == true) { // Is maybe invisible but does always exist if cost2 entries does exist in the system. columns.add(new CellItemListenerPropertyColumn<TimesheetDO>(getString("fibu.kost2"), null, "kost2.shortDisplayName", cellItemListener) { @Override public void populateItem(final Item<ICellPopulator<TimesheetDO>> item, final String componentId, final IModel<TimesheetDO> rowModel) { final TimesheetDO timesheet = rowModel.getObject(); final ListSelectActionPanel actionPanel = new ListSelectActionPanel(componentId, createRecentTimeSheetSelectionLink(timesheet), new Model<String>() { @Override public String getObject() { final StringBuffer buf = new StringBuffer(); if (timesheet.getKost2() != null) { buf.append(timesheet.getKost2().getShortDisplayName()); } if (timesheet.getUserId() != null && timesheet.getUserId().equals(PFUserContext.getUserId()) == false) { if (timesheet.getKost2() != null) { buf.append(", "); } buf.append(userFormatter.getFormattedUser(timesheet.getUserId())); } return buf.toString(); } }); item.add(actionPanel); item.add(AttributeModifier.append("style", new Model<String>("white-space: nowrap;"))); final Item<?> row = item.findParent(Item.class); WicketUtils.addRowClick(row); cellItemListener.populateItem(item, componentId, rowModel); } }); columns.add(new CellItemListenerPropertyColumn<TimesheetDO>(new Model<String>(getString("fibu.kunde")), null, "kost2.projekt.kunde.name", cellItemListener)); columns.add(new CellItemListenerPropertyColumn<TimesheetDO>( new Model<String>(getString("fibu.projekt")), null, "kost2.projekt.name", cellItemListener)); columns.add(new TaskPropertyColumn<TimesheetDO>(getString("task"), null, "task", cellItemListener) .withTaskTree(taskTree)); } else { columns.add(new CellItemListenerPropertyColumn<TimesheetDO>(new Model<String>(getString("task")), null, "task.title", cellItemListener) { @Override public void populateItem(final Item<ICellPopulator<TimesheetDO>> item, final String componentId, final IModel<TimesheetDO> rowModel) { final TimesheetDO timesheet = rowModel.getObject(); final TaskDO task = rowModel.getObject().getTask(); final Label label = new Label("label", task != null ? task.getTitle() : ""); final ListSelectActionPanel actionPanel = new ListSelectActionPanel(componentId, createRecentTimeSheetSelectionLink(timesheet), label); WicketUtils.addTooltip(label, TaskFormatter.instance().getTaskPath(task.getId(), false, OutputType.HTML)); item.add(actionPanel); final Item<?> row = item.findParent(Item.class); WicketUtils.addRowClick(row); cellItemListener.populateItem(item, componentId, rowModel); } }); } columns.add(new CellItemListenerPropertyColumn<TimesheetDO>(getString("timesheet.location"), null, "location", cellItemListener) { }); columns.add(new CellItemListenerPropertyColumn<TimesheetDO>(getString("timesheet.description"), null, "shortDescription", cellItemListener)); final DivPanel panel = gridBuilder.getPanel(); final TablePanel table = new TablePanel(panel.newChildId()); panel.add(table); final IDataProvider<TimesheetDO> dataProvider = new ListDataProvider<TimesheetDO>( parentPage.getRecentTimesheets()); final DataTable<TimesheetDO, String> dataTable = new DataTable<TimesheetDO, String>(TablePanel.TABLE_ID, columns, dataProvider, 100) { @Override protected Item<TimesheetDO> newRowItem(final String id, final int index, final IModel<TimesheetDO> model) { return new OddEvenItem<TimesheetDO>(id, index, model); } }; final HeadersToolbar headersToolbar = new HeadersToolbar(dataTable, null); dataTable.addTopToolbar(headersToolbar); table.add(dataTable); }