package com.constellio.app.ui.framework.components;
import com.constellio.app.ui.framework.buttons.IconButton;
import com.constellio.app.ui.pages.events.EventCategory;
import com.vaadin.server.ThemeResource;
import com.vaadin.shared.ui.label.ContentMode;
import com.vaadin.ui.Button;
import com.vaadin.ui.HorizontalLayout;
import com.vaadin.ui.Label;
import com.vaadin.ui.Layout;
import com.vaadin.ui.NativeSelect;
import com.vaadin.ui.Panel;
import com.vaadin.ui.themes.ValoTheme;
public abstract class EventReportGenerationPanel extends Panel {
private EventCategory eventCategory;
public EventReportGenerationPanel(EventCategory eventCategory) {
this.eventCategory = eventCategory;
Layout hLayout = new HorizontalLayout();
hLayout.setSizeFull();
NativeSelect selectReport = new NativeSelect();
selectReport.addItem(getReportTitle(eventCategory));
selectReport.setNullSelectionAllowed(false);
hLayout.addComponent(selectReport);
Label separator1 = new Label(" ", ContentMode.HTML);
hLayout.addComponent(separator1);
Button viewReportButton = new IconButton(new ThemeResource("images/commun/loupe_carnet.gif"), "Generate report") {
@Override
protected void buttonClick(ClickEvent event) {
//TODO
}
};
hLayout.addComponent(viewReportButton);
Label separator2 = new Label(" ", ContentMode.HTML);
hLayout.addComponent(separator2);
Button generateReportButton = new IconButton(new ThemeResource("images/commun/disket.gif"), "Save report") {
@Override
protected void buttonClick(ClickEvent event) {
//TODO
}
};
hLayout.addComponent(generateReportButton);
setContent(hLayout);
addStyleName(ValoTheme.PANEL_BORDERLESS);
}
protected abstract String getReportTitle(EventCategory eventCategory);
}