package hu.sch.web.wicket.components.tables; import hu.sch.domain.ValuationData; import hu.sch.web.wicket.components.customlinks.GroupLink; import java.util.List; import org.apache.wicket.AttributeModifier; import org.apache.wicket.extensions.markup.html.repeater.data.grid.ICellPopulator; import org.apache.wicket.extensions.markup.html.repeater.data.sort.SortOrder; import org.apache.wicket.extensions.markup.html.repeater.data.table.IColumn; import org.apache.wicket.extensions.markup.html.repeater.data.table.PropertyColumn; import org.apache.wicket.markup.html.panel.Panel; import org.apache.wicket.markup.repeater.Item; import org.apache.wicket.model.IModel; import org.apache.wicket.model.Model; /** * Értékelési táblázat, amely a félévet, a kör nevét és az értékelést * tartalmazza (pont- és belépőkérelem). Ezt használjuk egy felhasználó korábbi * értékeléseinek megjelenítéséhez. * * @author messo * @since 2.3.1 */ public class ValuationTableForUser extends ValuationTable { public ValuationTableForUser(String id, List<ValuationData> items, int rowsPerPage) { super(id, items, rowsPerPage, false); provider.setSort(MySortableDataProvider.SORT_BY_SEMESTER, SortOrder.DESCENDING); } public ValuationTableForUser(String id, List<ValuationData> items) { this(id, items, 20); } @Override protected void populateColumns(List<IColumn<ValuationData, String>> columns) { columns.add(new PropertyColumn<ValuationData, String>(new Model<String>("Szemeszter"), MySortableDataProvider.SORT_BY_SEMESTER, "semester") { @Override public void populateItem(Item<ICellPopulator<ValuationData>> item, String componentId, IModel<ValuationData> rowModel) { super.populateItem(item, componentId, rowModel); item.add(AttributeModifier.replace("style", "width: 130px")); } }); columns.add(new PanelColumn<ValuationData>("Kör", MySortableDataProvider.SORT_BY_GROUP) { @Override protected Panel getPanel(String componentId, ValuationData vd) { return new GroupLink(componentId, vd.getGroup()); } }); columns.add(new PropertyColumn<ValuationData, String>(new Model<String>("Pont"), MySortableDataProvider.SORT_BY_POINT, "pointRequest.point")); columns.add(new PropertyColumn<ValuationData, String>(new Model<String>("Belépő típusa"), MySortableDataProvider.SORT_BY_ENTRANT, "entrantRequest.entrantType")); columns.add(new PropertyColumn<ValuationData, String>(new Model<String>("Szöveges értékelés"), "entrantRequest.valuationText") { @Override public void populateItem(Item<ICellPopulator<ValuationData>> item, String componentId, IModel<ValuationData> rowModel) { super.populateItem(item, componentId, rowModel); item.add(AttributeModifier.replace("style", "width: 350px")); } }); } }