package fr.openwide.core.showcase.web.application.portfolio.page; import org.apache.wicket.markup.html.WebPage; import org.apache.wicket.model.ResourceModel; import org.apache.wicket.request.mapper.parameter.PageParameters; import fr.openwide.core.showcase.web.application.portfolio.component.UserPortfolioPanel; import fr.openwide.core.showcase.web.application.portfolio.component.UserSearchPanel; import fr.openwide.core.showcase.web.application.portfolio.model.UserDataProvider; import fr.openwide.core.showcase.web.application.util.property.ShowcaseWebappPropertyIds; import fr.openwide.core.showcase.web.application.util.template.MainTemplate; import fr.openwide.core.wicket.more.link.descriptor.IPageLinkDescriptor; import fr.openwide.core.wicket.more.link.descriptor.builder.LinkDescriptorBuilder; import fr.openwide.core.wicket.more.markup.html.template.model.BreadCrumbElement; import fr.openwide.core.wicket.more.model.ApplicationPropertyModel; public class PortfolioMainPage extends MainTemplate { private static final long serialVersionUID = 6572019030268485555L; public static final IPageLinkDescriptor linkDescriptor() { return LinkDescriptorBuilder.start() .page(PortfolioMainPage.class); } public PortfolioMainPage(PageParameters parameters) { super(parameters); addBreadCrumbElement(new BreadCrumbElement(new ResourceModel("portfolio.pageTitle"), PortfolioMainPage.linkDescriptor())); UserDataProvider userDataProvider = new UserDataProvider(); // Porfolio UserPortfolioPanel portfolioPanel = new UserPortfolioPanel("userPortfolio", userDataProvider, ApplicationPropertyModel.of(ShowcaseWebappPropertyIds.PORTFOLIO_ITEMS_PER_PAGE_USER).getObject()); add(portfolioPanel); // Search add(new UserSearchPanel("userSearchPanel", portfolioPanel.getPageable(), userDataProvider)); } @Override protected Class<? extends WebPage> getFirstMenuPage() { return PortfolioMainPage.class; } @Override protected Class<? extends WebPage> getSecondMenuPage() { return null; } }