package fr.openwide.maven.artifact.notifier.web.application.administration.page; import org.apache.wicket.ajax.AjaxRequestTarget; import org.apache.wicket.markup.html.WebPage; import org.apache.wicket.markup.html.form.Button; import org.apache.wicket.model.IModel; import org.apache.wicket.model.Model; import org.apache.wicket.model.ResourceModel; import org.apache.wicket.request.mapper.parameter.PageParameters; import org.apache.wicket.spring.injection.annot.SpringBean; import org.wicketstuff.wiquery.core.events.MouseEvent; 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.js.jquery.plugins.bootstrap.modal.behavior.AjaxModalOpenBehavior; import fr.openwide.core.wicket.more.markup.html.template.model.BreadCrumbElement; import fr.openwide.maven.artifact.notifier.core.business.user.service.IUserService; import fr.openwide.maven.artifact.notifier.core.config.application.MavenArtifactNotifierConfigurer; import fr.openwide.maven.artifact.notifier.web.application.administration.component.AdministrationUserSearchPanel; import fr.openwide.maven.artifact.notifier.web.application.administration.component.UserPortfolioPanel; import fr.openwide.maven.artifact.notifier.web.application.administration.form.UserFormPopupPanel; import fr.openwide.maven.artifact.notifier.web.application.administration.model.UserDataProvider; import fr.openwide.maven.artifact.notifier.web.application.administration.template.AdministrationTemplate; public class AdministrationUserPortfolioPage extends AdministrationTemplate { private static final long serialVersionUID = 1824247169136460059L; @SpringBean private MavenArtifactNotifierConfigurer configurer; @SpringBean private IUserService userService; public static IPageLinkDescriptor linkDescriptor() { return new LinkDescriptorBuilder() .page(AdministrationUserPortfolioPage.class) .build(); } public AdministrationUserPortfolioPage(PageParameters parameters) { super(parameters); addBreadCrumbElement(new BreadCrumbElement(new ResourceModel("navigation.administration.user"), AdministrationUserPortfolioPage.linkDescriptor())); IModel<String> searchTermModel = Model.of(""); UserPortfolioPanel portfolioPanel = new UserPortfolioPanel("portfolio", new UserDataProvider(searchTermModel), configurer.getPortfolioItemsPerPage()); add(portfolioPanel); add(new AdministrationUserSearchPanel("searchPanel", portfolioPanel.getPageable(), searchTermModel)); // User create popup UserFormPopupPanel userCreatePanel = new UserFormPopupPanel("userCreatePopupPanel"); add(userCreatePanel); Button createUser = new Button("createUser"); createUser.add(new AjaxModalOpenBehavior(userCreatePanel, MouseEvent.CLICK) { private static final long serialVersionUID = 5414159291353181776L; @Override protected void onShow(AjaxRequestTarget target) { } }); add(createUser); } @Override protected Class<? extends WebPage> getSecondMenuPage() { return AdministrationUserPortfolioPage.class; } }