package fr.openwide.maven.artifact.notifier.web.application.artifact.component;
import org.apache.wicket.markup.html.WebMarkupContainer;
import org.apache.wicket.markup.html.basic.Label;
import org.apache.wicket.markup.html.panel.Panel;
import org.apache.wicket.markup.repeater.data.DataView;
import org.apache.wicket.markup.repeater.data.IDataProvider;
import org.apache.wicket.model.ResourceModel;
import org.apache.wicket.spring.injection.annot.SpringBean;
import fr.openwide.core.wicket.more.markup.html.basic.EnclosureContainer;
import fr.openwide.core.wicket.more.markup.html.navigation.paging.HideablePagingNavigator;
import fr.openwide.maven.artifact.notifier.core.business.search.model.ArtifactBean;
import fr.openwide.maven.artifact.notifier.core.config.application.MavenArtifactNotifierConfigurer;
public class ArtifactSearchResultsPanel extends Panel {
private static final long serialVersionUID = 2168203516395191437L;
@SpringBean
private MavenArtifactNotifierConfigurer configurer;
private DataView<ArtifactBean> dataView;
public ArtifactSearchResultsPanel(String id, final IDataProvider<ArtifactBean> dataProvider) {
super(id);
add(new Label("title", new ResourceModel("artifact.follow.search.results.title")));
dataView = new ArtifactBeanDataView("artifacts", dataProvider, configurer.getArtifactSearchItemsPerPage());
add(
dataView,
new HideablePagingNavigator("pager", dataView)
.add(new EnclosureContainer("pager"))
);
add(new WebMarkupContainer("emptyList") {
private static final long serialVersionUID = 6700720373087584498L;
@Override
public boolean isVisible() {
return dataProvider.size() == 0;
}
});
}
public DataView<ArtifactBean> getDataView() {
return dataView;
}
}