List of usage examples for org.apache.wicket.extensions.markup.html.repeater.data.sort ISortStateLocator getSortState
ISortState<T> getSortState();
From source file:com.googlecode.wicket.kendo.ui.datatable.DataProviderBehavior.java
License:Apache License
@SuppressWarnings("unchecked") protected void setSort(String property, SortOrder order) { ISortStateLocator<String> locator = (ISortStateLocator<String>) this.provider; locator.getSortState().setPropertySortOrder(property, order); }
From source file:com.googlecode.wicket.kendo.ui.datatable.DataSourceBehavior.java
License:Apache License
@SuppressWarnings("unchecked") protected void setSort(String property, SortOrder order) { ISortStateLocator<String> locator = ((ISortStateLocator<String>) this.provider); locator.getSortState().setPropertySortOrder(property, order); }
From source file:com.wiquery.plugin.antilia.grid.DefaultHeaderCell.java
License:Apache License
/** * @param id//from w w w . j a va 2 s . c om * @param model */ public DefaultHeaderCell(String id, int column, Table<E> table, IModel<String> titleModel, final IColumn<E> columnModel) { super(id, columnModel); this.table = table; this.column = column; setRenderBodyOnly(true); add(new HiddenField<Integer>("colWidth", new Model<Integer>() { private static final long serialVersionUID = 1L; @Override public Integer getObject() { return DefaultHeaderCell.this.getColumnModel().getWidth(); } @Override public void setObject(Integer object) { if (object instanceof Integer) { DefaultHeaderCell.this.getColumnModel().setWidth(((Integer) object).intValue()); } } }, Integer.class)); DraggableTitle<E> draggableTarget = new DraggableTitle<E>("dragger", column) { private static final long serialVersionUID = 1L; @Override protected Table<E> getTable() { return DefaultHeaderCell.this.getTable(); } }; if (columnModel.isSortable()) { draggableTarget.add(new AjaxEventBehavior("ondblclick") { private static final long serialVersionUID = 1L; @Override protected void onEvent(AjaxRequestTarget target) { if (target != null) { IColumn<E> columnModel = DefaultHeaderCell.this.getColumnModel(); if (!columnModel.isSortable()) { return; } IPageableComponent<E> component = getTable(); IDataProvider<E> dataProvider = component.getDataProvider(); if (dataProvider instanceof ISortStateLocator) { ISortStateLocator locator = (ISortStateLocator) dataProvider; ISortState sortState = locator.getSortState(); if (sortState != null) { int sortOrder = sortState.getPropertySortOrder(columnModel.getSortProperty()); if (sortOrder == ISortState.DESCENDING) sortState.setPropertySortOrder(columnModel.getSortProperty(), ISortState.ASCENDING); else if (sortOrder == ISortState.ASCENDING) sortState.setPropertySortOrder(columnModel.getSortProperty(), ISortState.DESCENDING); else sortState.setPropertySortOrder(columnModel.getSortProperty(), ISortState.ASCENDING); } component.reset(); } target.addComponent((Component) component); } } }); } draggableTarget.setOutputMarkupId(true); add(draggableTarget); Label title = new Label("title", titleModel); title.add(new AttributeModifier("class", new AbstractReadOnlyModel<String>() { private static final long serialVersionUID = 1L; @Override public String getObject() { IColumn<E> columnModel = DefaultHeaderCell.this.getColumnModel(); if (!columnModel.isSortable()) { return "headerTitle"; } IPageableComponent<E> component = getTable(); IDataProvider<E> dataProvider = component.getDataProvider(); if (dataProvider instanceof ISortStateLocator) { ISortStateLocator locator = (ISortStateLocator) dataProvider; ISortState sortState = locator.getSortState(); if (sortState != null) { int sortOrder = sortState.getPropertySortOrder(columnModel.getSortProperty()); if (sortOrder == ISortState.DESCENDING) return "headerTitleDesc"; else if (sortOrder == ISortState.ASCENDING) return "headerTitleAsc"; } } return "headerTitle"; } })); draggableTarget.add(title); WebMarkupContainer dragTd = new WebMarkupContainer("dragTd"); dragTd.add(new AttributeModifier("id", new AbstractReadOnlyModel<String>() { private static final long serialVersionUID = 1L; @Override public String getObject() { if (!DefaultHeaderCell.this.getTable().isColumnsResizable()) return DefaultHeaderCell.this.getTable().getMarkupId() + "_cND_" + DefaultHeaderCell.this.getColumn(); if (columnModel.isResizable()) return DefaultHeaderCell.this.getTable().getMarkupId() + "_c_" + DefaultHeaderCell.this.getColumn(); // this naming does the trick of making the column non re-sizable return DefaultHeaderCell.this.getTable().getMarkupId() + "_cND_" + DefaultHeaderCell.this.getColumn(); } })); dragTd.add(new AttributeModifier("class", new AbstractReadOnlyModel<String>() { private static final long serialVersionUID = 1L; @Override public String getObject() { if (!DefaultHeaderCell.this.getTable().isColumnsResizable()) return "noResCol"; if (columnModel.isResizable()) return "resCol"; return "noResCol"; } })); add(dragTd); WebMarkupContainer sortInfo = new WebMarkupContainer("sortInfo"); sortInfo.add(new AttributeModifier("class", new AbstractReadOnlyModel<String>() { private static final long serialVersionUID = 1L; @Override public String getObject() { IColumn<E> columnModel = DefaultHeaderCell.this.getColumnModel(); if (!columnModel.isSortable()) { return ""; } IPageableComponent<E> component = getTable(); IDataProvider<E> dataProvider = component.getDataProvider(); if (dataProvider instanceof ISortStateLocator) { ISortStateLocator locator = (ISortStateLocator) dataProvider; ISortState sortState = locator.getSortState(); if (sortState != null) { int sortOrder = sortState.getPropertySortOrder(columnModel.getSortProperty()); if (sortOrder == ISortState.DESCENDING) return "ui-icon ui-icon-triangle-1-s"; else if (sortOrder == ISortState.ASCENDING) return "ui-icon ui-icon-triangle-1-n"; } } return ""; } })); draggableTarget.add(sortInfo); }
From source file:org.apache.isis.viewer.wicket.ui.components.collectioncontents.ajaxtable.IsisAjaxHeadersToolbar.java
License:Apache License
/** * Factory method for the sort icon//w w w . j ava 2 s .c o m * * @param id * the component id * @param column * the column for which a sort icon is needed * @param stateLocator * locator for the ISortState implementation used by sortable headers * @param <T> * The model object type of the data table * @return A component that should be used as a sort icon */ protected <T> Component newSortIcon(String id, final IColumn<T, S> column, final ISortStateLocator<S> stateLocator) { return new WebComponent(id) { @Override protected void onComponentTag(ComponentTag tag) { super.onComponentTag(tag); if (column.isSortable()) { ISortState<S> sortState = stateLocator.getSortState(); S sortProperty = column.getSortProperty(); SortOrder sortOrder = sortProperty == null ? SortOrder.NONE : sortState.getPropertySortOrder(sortProperty); if (sortOrder == SortOrder.ASCENDING) { Attributes.addClass(tag, CLASS_SORT_UP); } else if (sortOrder == SortOrder.DESCENDING) { Attributes.addClass(tag, CLASS_SORT_DOWN); } else { Attributes.addClass(tag, CLASS_SORT_NONE); } } } }; }
From source file:org.sakaiproject.wicket.markup.html.repeater.data.table.BasicHeadersToolbar.java
License:Educational Community License
public BasicHeadersToolbar(DataTable table, ISortStateLocator stateLocator) { super(table); setRenderBodyOnly(true);//w w w . ja va 2 s . c om RepeatingView headers = new RepeatingView("headers"); add(headers); final IColumn[] columns = table.getColumns(); for (int i = 0; i < columns.length; i++) { final IColumn column = columns[i]; WebMarkupContainer item = new WebMarkupContainer(headers.newChildId()); headers.add(item); WebMarkupContainer header = null; if (column.isSortable()) { header = newSortableHeader("header", column.getSortProperty(), stateLocator); } else { header = new WebMarkupContainer("header"); } if (column instanceof PropertyColumn) { String expression = ((PropertyColumn) column).getPropertyExpression(); if (expression != null) header.setMarkupId(expression); } if (column instanceof IStyledColumn) { header.add(new CssAttributeBehavior() { private static final long serialVersionUID = 1L; protected String getCssClass() { return ((IStyledColumn) column).getCssClass(); } }); } final ISortState state = stateLocator.getSortState(); Image indicatorImage = new Image("indicator") { private static final long serialVersionUID = 1L; protected ResourceReference getImageResourceReference() { int sortOrder = ISortState.NONE; if (column.isSortable() && column.getSortProperty() != null) sortOrder = state.getPropertySortOrder(column.getSortProperty()); if (sortOrder == ISortState.DESCENDING) return upArrowReference; else if (sortOrder == ISortState.ASCENDING) return downArrowReference; return noArrowReference; } }; header.add(indicatorImage); indicatorImage.setVisible(column.isSortable() && column.getSortProperty() != null); item.add(header); item.setRenderBodyOnly(true); header.add(column.getHeader("label")); } }