List of usage examples for org.apache.wicket.extensions.markup.html.repeater.data.table ISortableDataProvider getSortState
ISortState<T> getSortState();
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;/*w w w . j a v a 2s. c om*/ // 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.PeriodResponseList.java
License:Open Source License
@Override protected ISortableDataProvider<Response> getResponseProvider() { ISortableDataProvider<Response> provider = responseService .getResponseProviderForPromptAndPeriod(promptModel, mPeriod); // response list sort order is set by application configuration ISIApplication app = ISIApplication.get(); provider.getSortState().setPropertySortOrder(app.getResponseSortField(), app.getResponseSortState()); return provider; }
From source file:org.cast.isi.panel.ResponseList.java
License:Open Source License
protected ISortableDataProvider<Response> getResponseProvider() { ISortableDataProvider<Response> provider = responseService.getResponseProviderForPrompt(promptModel, mTargetUser);//from ww w . j a v a 2 s. c o m // response list sort order is set by application configuration ISIApplication app = ISIApplication.get(); provider.getSortState().setPropertySortOrder(app.getResponseSortField(), app.getResponseSortState()); return provider; }
From source file:org.hippoecm.frontend.plugins.standards.list.AbstractListingPlugin.java
License:Apache License
@Override @SuppressWarnings("unchecked") public void onModelChanged() { if (dataTable == null) { return;/* w w w. j ava2 s . c o m*/ } final ISortState<String> sortState = provider.getSortState(); clean(); final TableDefinition<Node> tableDefinition = getTableDefinition(); final ISortableDataProvider<Node, String> dataProvider = getDataProvider(); ISortState<String> newSortState = dataProvider.getSortState(); for (ListColumn<Node> column : tableDefinition.getColumns()) { String sortProperty = column.getSortProperty(); SortOrder propertySortOrder = sortState.getPropertySortOrder(sortProperty); if (propertySortOrder != newSortState.getPropertySortOrder(sortProperty)) { newSortState.setPropertySortOrder(sortProperty, propertySortOrder); } } dataTable = getListDataTable("table", tableDefinition, dataProvider, this, isOrderable(), pagingDefinition); replace(dataTable); dataTable.init(getPluginContext()); IPluginConfig config = getPluginConfig(); if (config.getString("model.document") != null) { IModelReference<IModel> documentService = getPluginContext() .getService(config.getString("model.document"), IModelReference.class); if (documentService != null) { dataTable.setDefaultModel(documentService.getModel()); } } redraw(); }
From source file:org.hippoecm.frontend.plugins.standards.list.datatable.ListDataTable.java
License:Apache License
public ListDataTable(String id, TableDefinition<T> tableDefinition, ISortableDataProvider<T, String> dataProvider, TableSelectionListener<T> selectionListener, final boolean triState, IPagingDefinition pagingDefinition) { super(id, tableDefinition.getColumns(), dataProvider, pagingDefinition.getPageSize()); setOutputMarkupId(true);/*from ww w. j a v a 2 s .c o m*/ setVersioned(false); this.definition = tableDefinition; this.provider = dataProvider; this.selectionListener = selectionListener; if (tableDefinition.showColumnHeaders()) { addTopToolbar(new AjaxFallbackHeadersToolbar<String>(this, dataProvider) { @Override protected WebMarkupContainer newSortableHeader(String borderId, final String property, final ISortStateLocator<String> locator) { if (tableDefinition.isSortable()) { return new ListTableHeader<String>(borderId, property, locator) { @Override public void onClick(final AjaxRequestTarget target) { target.add(ListDataTable.this); } }; } else { return new TableHeader(borderId, "sort-disabled"); } } }); if (!triState) { //Initial sorting on the "Name" column (if any) for (IColumn column : getColumns()) { ListColumn<?> listColumn = (ListColumn) column; if (listColumn.getRenderer() == null || listColumn.getRenderer() instanceof NameRenderer) { dataProvider.getSortState().setPropertySortOrder(listColumn.getSortProperty(), SortOrder.ASCENDING); break; } } } } addBottomToolbar(new ListNavigationToolBar(this, pagingDefinition)); setItemReuseStrategy(new ManagedReuseStrategy() { private static final long serialVersionUID = 1L; @Override public void destroyItem(Item item) { ListDataTable.this.destroyItem(item); } }); setTableBodyCss("datatable-tbody"); }