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

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

Introduction

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

Prototype

public DataTable(final String id, final List<? extends IColumn<T, S>> columns,
        final IDataProvider<T> dataProvider, final long rowsPerPage) 

Source Link

Document

Constructor

Usage

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);
}