/* * To change this template, choose Tools | Templates * and open the template in the editor. */ package ca.ulaval.bibl.multilius; import org.apache.wicket.ajax.markup.html.navigation.paging.AjaxPagingNavigator; import org.apache.wicket.markup.html.WebMarkupContainer; import org.apache.wicket.markup.html.WebPage; import org.apache.wicket.markup.html.basic.Label; import org.apache.wicket.markup.html.link.Link; import org.apache.wicket.markup.html.list.ListItem; import org.apache.wicket.markup.html.list.ListView; import org.apache.wicket.markup.html.list.PageableListView; import org.apache.wicket.model.PropertyModel; import java.util.List; /** * * @author Yves Zoundi */ public class Results extends WebPage implements AuthenticatedWebPage { private List results; private String nbResults; public Results(List results) { this.results = results; nbResults = "" + results.size(); add(new Label("nbResults", new PropertyModel(this, "nbResults"))); add(new Link("logout") { public void onClick() { getSession().invalidate(); redirectToInterceptPage(newPage(SignIn.class)); } }); add(new Link("newsearch") { public void onClick() { redirectToInterceptPage(newPage(getApplication() .getHomePage())); } }); WebMarkupContainer datacontainer = new WebMarkupContainer("data"); datacontainer.setOutputMarkupId(true); add(datacontainer); PageableListView listview = new PageableListView("rows", results, 10) { protected void populateItem(ListItem item) { add(new ListView(item.hashCode() + "", (List) item.getModelObject()) { @Override protected void populateItem(ListItem item) { WebMarkupContainer row = new WebMarkupContainer("row"); SearchBean.SearchResult res = (SearchBean.SearchResult) item.getModelObject(); row.add(new Label("result.label", res.label)); row.add(new Label("result.value", res.value)); add(row); } }); } }; datacontainer.add(listview); datacontainer.add(new AjaxPagingNavigator("navigator", listview)); datacontainer.setVersioned(false); } }