List of usage examples for org.apache.wicket.extensions.markup.html.repeater.data.table ISortableDataProvider iterator
Iterator<? extends T> iterator(long first, long count);
From source file:org.artifactory.common.wicket.component.table.columns.checkbox.SelectAllCheckboxColumn.java
License:Open Source License
@SuppressWarnings({ "unchecked" })
private void selectAll(SortableTable<T> table, AjaxRequestTarget target) {
ISortableDataProvider<T> dataProvider = table.getSortableDataProvider();
Iterator<T> iterator = (Iterator<T>) dataProvider.iterator(0, dataProvider.size());
while (iterator.hasNext()) {
T rowObject = iterator.next();/* ww w. ja v a 2 s . c o m*/
if (canChangeItemSelectionState(rowObject)) {
PropertyResolver.setValue(getExpression(), rowObject, isSelectAll(), null);
}
}
onSelectAll(iterator, target);
target.add(table);
}
From source file:org.cast.cwm.service.ResponseService.java
License:Open Source License
@Override public void setResponseSortOrder(IModel<? extends Prompt> mPrompt, IModel<Response> mResponse, Integer index) { // DataProvider for Responses for this Prompt. // It is assumed that the target Response is included in this list. ISortableDataProvider<Response, String> dataProvider = getResponseProviderForPrompt(mPrompt); dataProvider.getSortState().setPropertySortOrder("sortOrder", SortOrder.ASCENDING); if (index == null) index = (int) dataProvider.size() - 1; if (index < 0) throw new IllegalArgumentException("Index cannot be negative."); if (index >= (dataProvider.size())) throw new IndexOutOfBoundsException( "Index {" + index + "} exceeds the number of Responses {" + dataProvider.size() + "}."); Iterator<? extends Response> iterator = dataProvider.iterator(0, dataProvider.size()); int iteratorIndex = 0; boolean foundResponse = false; while (iterator.hasNext()) { Response r = iterator.next(); // Reached the target response if (r.equals(mResponse.getObject())) foundResponse = true;//from w ww. j ava 2s . co m // Overwrite sortOrder; making room for insertion if necessary if (iteratorIndex >= index && !foundResponse) r.setSortOrder(iteratorIndex + 1); else r.setSortOrder(iteratorIndex); iteratorIndex++; } if (!foundResponse) throw new IllegalStateException("Unknown behavior - Response was not found in iterator."); mResponse.getObject().setSortOrder(index); cwmService.flushChanges(); }
From source file:org.cast.isi.panel.ScorePanel.java
License:Open Source License
protected static List<IModel<Response>> getResponses(ISortableDataProvider<Response> responseProvider) { List<IModel<Response>> responses = new ArrayList<IModel<Response>>(); for (Iterator<? extends Response> it = responseProvider.iterator(0, Integer.MAX_VALUE); it.hasNext();) { responses.add(new HibernateObjectModel<Response>(it.next())); }//from ww w. j ava 2 s .c om return responses; }
From source file:org.hippoecm.frontend.editor.workflow.dialog.SelectableDocumentsView.java
License:Apache License
public SelectableDocumentsView(final String id, final IModel<String> message, final ISortableDataProvider<Node, String> provider, final IEditorManager editorManager) { super(id);/* ww w.j a v a 2 s . c om*/ this.provider = provider; this.editorMgr = editorManager; setOutputMarkupId(true); add(new Label("message", message)); dataTable = new ListDataTable("datatable", getTableDefinition(), provider, new TableSelectionListener() { public void selectionChanged(IModel model) { } }, true, this); dataTable.add(CssClass.append(DocumentListColumn.DOCUMENT_LIST_CSS_CLASS)); dataTable.add(CssClass.append(new AbstractReadOnlyModel<String>() { @Override public String getObject() { return provider.size() > getPageSize() ? "hippo-paging" : ""; } })); add(dataTable); add(actionContainer = new WebMarkupContainer("actions")); add(CssClass.append("hippo-selectable-documents")); add(CssClass.append(new LoadableDetachableModel<String>() { @Override protected String load() { if (SelectableDocumentsView.this.provider.size() == 0) { return "hippo-empty"; } return ""; } })); AjaxLink selectAll = new AjaxLink("select-all") { @Override public void onClick(AjaxRequestTarget target) { selectedDocuments.clear(); ISortableDataProvider<Node, String> provider = SelectableDocumentsView.this.provider; Iterator<? extends Node> iter = provider.iterator(0, provider.size()); while (iter.hasNext()) { selectedDocuments.add(provider.model(iter.next())); } target.add(SelectableDocumentsView.this); } }; actionContainer.add(selectAll); AjaxLink selectNone = new AjaxLink("select-none") { @Override public void onClick(AjaxRequestTarget target) { selectedDocuments.clear(); target.add(SelectableDocumentsView.this); } }; actionContainer.add(selectNone); openButton = new AjaxLink("open") { @Override public void onClick(AjaxRequestTarget target) { openEditor(); } }; if (editorMgr == null) { openButton.setEnabled(false); } add(openButton); }
From source file:org.opensingular.form.wicket.mapper.masterdetail.MasterDetailBSDataTableBuilder.java
License:Apache License
@Override protected BSDataTable<T, S> newDatatable(String id, List<? extends IColumn<T, S>> columns, ISortableDataProvider<T, S> dataProvider) { return new BSDataTable<T, S>(id, columns, dataProvider) { @Override/*from www . j a va2s . c o m*/ protected AbstractToolbar newNoRecordsToolbar() { if (isShowNoRecordsToolbar()) { return new MasterDetailNoRecordsToolbar(this); } else { return null; } } @Override protected AbstractToolbar newPaginationToolbar() { return new BSPaginationToolbar(this) { @Override protected BSPaginationPanel newPagination(String id, DataTable<?, ?> table) { return new BSPaginationPanel(id, table) { @Override protected NumberedPageLink newNumberedPageLink(ListItem<Long> item) { NumberedPageLink link = super.newNumberedPageLink(item); item.add($b.classAppender("has-error", $m.get(() -> (!SValidationFeedbackHandler .collectNestedErrors(new FeedbackFence(item)).isEmpty())))); SValidationFeedbackHandler.bindTo(new FeedbackFence(item)).addListener( (handler, target, container, baseInstances, oldErrors, newErrors) -> { if (target != null) target.add(item); }).setInstanceModels($m.get(() -> { final IDataProvider<SInstance> dataProvider = (IDataProvider<SInstance>) table .getDataProvider(); final long pageIndex = item.getModelObject(); final long first = pageIndex * table.getItemsPerPage(); final long count = Math.min(table.getItemsPerPage(), dataProvider.size() - first); final Iterator<? extends SInstance> it = dataProvider.iterator(first, count); final List<IModel<? extends SInstance>> list = Lists.newArrayList(); while (it.hasNext()) list.add(dataProvider.model(it.next())); return list; })); return link; } }; } }; } }; }