package fr.openwide.core.showcase.web.application.task.component;
import java.util.Set;
import org.apache.wicket.markup.html.basic.Label;
import org.apache.wicket.markup.repeater.Item;
import org.apache.wicket.model.IModel;
import fr.openwide.core.showcase.core.business.task.model.ShowcaseBatchReportBean;
import fr.openwide.core.showcase.web.application.task.model.NotTreatedObjectNameModel;
import fr.openwide.core.showcase.web.application.task.model.NotTreatedObjectsIdsModel;
import fr.openwide.core.wicket.markup.html.basic.CoreLabel;
import fr.openwide.core.wicket.markup.html.panel.GenericPanel;
import fr.openwide.core.wicket.more.markup.repeater.collection.CollectionView;
import fr.openwide.core.wicket.more.util.model.Models;
public class NotTreatedObjectsPanel extends GenericPanel<ShowcaseBatchReportBean> {
private static final long serialVersionUID = -1124957096738143838L;
private final IModel<Set<Long>> idsModel;
public NotTreatedObjectsPanel(String id, final IModel<ShowcaseBatchReportBean> reportBeanModel) {
super(id, reportBeanModel);
idsModel = new NotTreatedObjectsIdsModel(reportBeanModel);
add(new CollectionView<Long>("notTreatedObjects", idsModel, Models.<Long>serializableModelFactory()) {
private static final long serialVersionUID = 1L;
@Override
protected void populateItem(Item<Long> item) {
IModel<Long> idModel = item.getModel();
item.add(
new Label("id", idModel),
new CoreLabel("name", new NotTreatedObjectNameModel(reportBeanModel, idModel))
);
}
});
}
@Override
protected void onDetach() {
super.onDetach();
idsModel.detach();
}
@Override
protected void onConfigure() {
super.onConfigure();
Set<Long> ids = idsModel.getObject();
setVisible(ids != null && !ids.isEmpty());
}
}