List of usage examples for org.apache.wicket.extensions.ajax.markup.html.repeater.data.table AjaxNavigationToolbar AjaxNavigationToolbar
public AjaxNavigationToolbar(final DataTable<?, ?> table)
From source file:com.doculibre.constellio.wicket.panels.admin.crud.DataPanel.java
License:Open Source License
public DataPanel(String id, int rowsPerPage) { super(id);/*w w w . j av a2 s. c o m*/ List<IColumn> columns = getColumns(); SortableListModel<T> sortableListModel = getSortableListModel(); SortableDataProvider dataProvider = new SortableListDataProvider(sortableListModel); dataTable = new DataTable("dataTable", columns.toArray(new IColumn[0]), dataProvider, rowsPerPage); add(dataTable); dataTable.setOutputMarkupId(true); dataTable.setVersioned(false); dataTable.addTopToolbar(new AjaxFallbackHeadersToolbar(dataTable, dataProvider) { @Override protected WebMarkupContainer newSortableHeader(String borderId, String property, ISortStateLocator locator) { WebMarkupContainer sortableHeader = super.newSortableHeader(borderId, property, locator); sortableHeader.add(new SimpleAttributeModifier("scope", "col")); return sortableHeader; } }); dataTable.addBottomToolbar(new AjaxNavigationToolbar(dataTable) { @Override protected PagingNavigator newPagingNavigator(String navigatorId, DataTable table) { return new AutoHidePagingNavigator(navigatorId, table); } }); dataTable.addBottomToolbar(new NoRecordsToolbar(dataTable)); dataTable.setItemReuseStrategy(new ReuseIfModelsEqualStrategy()); }
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);// w w w . j a v a2 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.swordlord.gozer.components.wicket.crosstab.CrossTabDataTable.java
License:Open Source License
private void initialise(ISortableDataProvider<DataRowBase, String> dataProvider) { setOutputMarkupId(true);/*from w w w .ja v a 2s .c o m*/ setVersioned(false); addTopToolbar(new AjaxFallbackHeadersToolbar(this, dataProvider)); addBottomToolbar(new AjaxNavigationToolbar(this)); addBottomToolbar(new NoRecordsToolbar(this)); }
From source file:com.swordlord.gozer.components.wicket.datatable.GozerDataTable.java
License:Open Source License
/** * Default constructor/*from w ww . ja v a 2 s .co m*/ * * @param id * The wicket component id * @param columns * The tables column * @param dataProvider * The tables data provider * @param rowsPerPage * The number of rows to show per page * @param model * Model wrapping the {@link com.swordlord.gozer.ui.gozerframe.GWContext} to use * @param list * The gozer definition of the table * @param form * The form to which this table belongs * @param parent * The parent panel */ public GozerDataTable(String id, List<IColumn<DataRowBase, String>> columns, GozerSortableFilterableDataProvider dataProvider, int rowsPerPage, IModel<?> model, GList list, Form<?> form, GWPanel parent) { super(id, columns, dataProvider, rowsPerPage); _markCurrentRow = list.getShowCurrent(); _dataBinding = list.getDataBinding(); _gwParent = parent; setOutputMarkupId(true); setVersioned(false); addTopToolbar(new GWListActionToolbar(model, this, list, form)); addTopToolbar(new AjaxFallbackHeadersToolbar(this, dataProvider)); // never show the filter on a modal window (it does not work properly // there ...) // on normal window we show the filter only if desired if (list.getShowFilter() && !parent.getGWContext().hasModalWindow()) { addTopToolbar(new GWListFilterToolbar(this, dataProvider)); } addBottomToolbar(new AjaxNavigationToolbar(this)); addBottomToolbar(new NoRecordsToolbar(this)); }
From source file:dk.teachus.frontend.components.list.ListPanel.java
License:Apache License
private AjaxNavigationToolbar createNavigationToolbar(DataTable<T> dataTable) { return new AjaxNavigationToolbar(dataTable) { private static final long serialVersionUID = 1L; @Override//w w w.jav a2s .c o m protected WebComponent newNavigatorLabel(String navigatorId, final DataTable<?> table) { Label label = new Label(navigatorId, new AbstractReadOnlyModel<String>() { private static final long serialVersionUID = 1L; @Override public String getObject() { int of = table.getRowCount(); int from = table.getCurrentPage() * table.getItemsPerPage(); int to = Math.min(of, from + table.getItemsPerPage()); from++; if (of == 0) { from = 0; to = 0; } String label = TeachUsSession.get().getString("ListPanel.navigatorLabel"); label = label.replace("${from}", "" + from); label = label.replace("${to}", "" + to); label = label.replace("${of}", "" + of); return label; } }); label.setRenderBodyOnly(true); return label; } @Override protected PagingNavigator newPagingNavigator(String navigatorId, DataTable<?> table) { return new AjaxPagingNavigator(navigatorId, table) { private static final long serialVersionUID = 1L; @Override protected void onAjaxEvent(final AjaxRequestTarget target) { target.add(getTable()); } @Override protected Link<?> newPagingNavigationLink(String id, IPageable pageable, final int pageNumber) { final Link<?> pagingNavigationLink = super.newPagingNavigationLink(id, pageable, pageNumber); pagingNavigationLink.setBody(Model.of("")); pagingNavigationLink .add(AttributeModifier.append("class", new AbstractReadOnlyModel<String>() { private static final long serialVersionUID = 1L; @Override public String getObject() { String cls = "btn btn-mini"; if (pageNumber == 0) { cls += " icon-fast-backward"; } else { cls += " icon-fast-forward"; } if (false == pagingNavigationLink.isEnabled()) { cls += " disabled"; } return cls; } })); return pagingNavigationLink; } @Override protected Link<?> newPagingNavigationIncrementLink(String id, IPageable pageable, final int increment) { final Link<?> pagingNavigationIncrementLink = super.newPagingNavigationIncrementLink(id, pageable, increment); pagingNavigationIncrementLink.setBody(Model.of("")); pagingNavigationIncrementLink .add(AttributeModifier.append("class", new AbstractReadOnlyModel<String>() { private static final long serialVersionUID = 1L; @Override public String getObject() { String cls = "btn btn-mini"; if (increment < 0) { cls += " icon-backward"; } else { cls += " icon-forward"; } if (false == pagingNavigationIncrementLink.isEnabled()) { cls += " disabled"; } return cls; } })); return pagingNavigationIncrementLink; } @Override protected PagingNavigation newNavigation(String id, IPageable pageable, IPagingLabelProvider labelProvider) { return new AjaxPagingNavigation(id, pageable, labelProvider) { private static final long serialVersionUID = 1L; @Override protected Link<?> newPagingNavigationLink(String id, IPageable pageable, int pageIndex) { final Link<?> pagingNavigationLink = super.newPagingNavigationLink(id, pageable, pageIndex); pagingNavigationLink .add(AttributeModifier.append("class", new AbstractReadOnlyModel<String>() { private static final long serialVersionUID = 1L; @Override public String getObject() { StringBuilder cls = new StringBuilder(); cls.append("btn btn-mini"); if (false == pagingNavigationLink.isEnabled()) { cls.append(" btn-primary disabled"); } return cls.toString(); } })); return pagingNavigationLink; } }; } }; } }; }
From source file:net.tirasa.hct.editor.widgets.AdminDataTable.java
License:Apache License
public AdminDataTable(final String id, final IColumn[] columns, final ISortableDataProvider dataProvider, final int rowsPerPage) { super(id, columns, dataProvider, rowsPerPage); setOutputMarkupId(true);/*from ww w .j a v a2 s.c om*/ setVersioned(false); addTopToolbar(new AjaxNavigationToolbar(this)); addBottomToolbar(new AjaxNavigationToolbar(this)); addTopToolbar(new AjaxFallbackHeadersToolbar(this, dataProvider)); addBottomToolbar(new NoRecordsToolbar(this)); }
From source file:org.apache.isis.viewer.wicket.ui.components.collectioncontents.ajaxtable.MyAjaxFallbackDefaultDataTable.java
License:Apache License
public MyAjaxFallbackDefaultDataTable(final String id, final List<? extends IColumn<T, S>> columns, final ISortableDataProvider<T, S> dataProvider, final int rowsPerPage) { super(id, columns, dataProvider, rowsPerPage); setOutputMarkupId(true);/*from w w w.j a v a2s . co m*/ setVersioned(false); addTopToolbar(new MyAjaxFallbackHeadersToolbar<S>(this, dataProvider)); addBottomToolbar(new AjaxNavigationToolbar(this)); addBottomToolbar(new NoRecordsToolbar(this)); }
From source file:org.hippoecm.frontend.plugins.cms.admin.widgets.AdminDataTable.java
License:Apache License
public AdminDataTable(String id, final List<IColumn<T, String>> columns, ISortableDataProvider<T, String> dataProvider, long rowsPerPage) { super(id, columns, dataProvider, rowsPerPage); setOutputMarkupId(true);//from w w w.j a v a 2 s . c om setVersioned(false); addTopToolbar(new AjaxNavigationToolbar(this)); addBottomToolbar(new AjaxNavigationToolbar(this)); addTopToolbar(new AjaxFallbackHeadersToolbar(this, dataProvider)); addBottomToolbar(new NoRecordsToolbar(this)); }
From source file:org.lbogdanov.poker.web.page.MySessionsPage.java
License:Apache License
/** * Creates a new instance of <code>MySessionsPage</code> page. *//* ww w .j a 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.ujorm.wicket.component.grid.UjoDataProvider.java
License:Apache License
/** Create AJAX-based DataTable */ public <S> DataTable<T, S> createDataTable(final String id, final int rowsPerPage) { final DataTable<T, S> result = new DataTable<T, S>(id, (List) columns, this, rowsPerPage) { @Override//from w w w . j a v a2 s .c o m protected Item<T> newRowItem(final String id, final int index, final IModel<T> model) { return new OddEvenItem<T>(id, index, model); } }; result.addTopToolbar(new AjaxNavigationToolbar(result)); result.addTopToolbar(new HeadersToolbar(result, this)); result.addBottomToolbar(new NoRecordsToolbar(result)); result.setOutputMarkupId(true); return result; }