package net.rrm.ehour.ui.report.detailed;
import com.google.common.base.Optional;
import net.rrm.ehour.report.criteria.ReportCriteria;
import net.rrm.ehour.ui.common.model.KeyResourceModel;
import net.rrm.ehour.ui.report.builder.ReportFactory;
import net.rrm.ehour.ui.report.builder.ReportTabFactory;
import org.apache.wicket.extensions.markup.html.tabs.AbstractTab;
import org.apache.wicket.extensions.markup.html.tabs.ITab;
import org.apache.wicket.markup.html.panel.Panel;
@ReportFactory
public class DetailedReportTabFactory implements ReportTabFactory {
@Override
public Optional<ITab> createReportTab(final ReportCriteria criteria) {
return Optional.<ITab>of(new AbstractTab(new KeyResourceModel("report.title.detailed")) {
@Override
public Panel getPanel(String panelId) {
return getDetailedReportPanel(panelId, criteria);
}
});
}
@Override
public int getRenderPriority() {
return 4;
}
private Panel getDetailedReportPanel(String id, ReportCriteria reportCriteria) {
DetailedReportModel detailedReport = new DetailedReportModel(reportCriteria);
return new DetailedReportPanel(id, detailedReport);
}
}