package de.flower.rmt.ui.page.event.manager; import de.flower.common.ui.ajax.markup.html.tab.AbstractAjaxTabbedPanel; import de.flower.rmt.model.db.entity.event.Event; import de.flower.rmt.model.db.type.EventType; import de.flower.rmt.ui.page.event.manager.edit.EventEditPanel; import de.flower.rmt.ui.page.event.manager.invitations.InvitationListPanel; import de.flower.rmt.ui.page.event.manager.invitees.InviteeListPanel; import de.flower.rmt.ui.page.event.manager.lineup.match.LineupEditPanel; import de.flower.rmt.ui.page.event.manager.lineup.teams.TeamsEditPanel; import de.flower.rmt.ui.page.event.manager.notification.NotificationPanel; 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; import org.apache.wicket.model.IModel; import org.apache.wicket.model.ResourceModel; import java.util.List; /** * @author flowerrrr */ public class EventTabPanel extends AbstractAjaxTabbedPanel<Event> { public static final int EVENT_EDIT_PANEL_INDEX = 0; public static final int INVITEES_PANEL_INDEX = 1; public static final int NOTIFICATION_PANEL_INDEX = 2; public static final int INVITATIONS_PANEL_INDEX = 3; public static final int LINEUP_PANEL_INDEX = 4; public static final int TEAM_PANEL_INDEX = 5; public EventTabPanel(IModel<Event> model) { super(model); } @Override protected void addTabs(final List<ITab> tabs) { final IModel<Event> model = this.getModel(); tabs.add(new AbstractTab(new ResourceModel("manager.event.tab.edit")) { @Override public Panel getPanel(String panelId) { return new EventEditPanel(panelId, model); } }); tabs.add(new AbstractTab(new ResourceModel("manager.event.tab.participants")) { @Override public Panel getPanel(String panelId) { return new InviteeListPanel(panelId, model); } @Override public boolean isVisible() { return !model.getObject().isNew(); } }); tabs.add(new AbstractTab(new ResourceModel("manager.event.tab.notification")) { @Override public Panel getPanel(String panelId) { return new NotificationPanel(panelId, model); } @Override public boolean isVisible() { return !model.getObject().isNew(); } }); tabs.add(new AbstractTab(new ResourceModel("manager.event.tab.invitations")) { @Override public Panel getPanel(String panelId) { return new InvitationListPanel(panelId, model); } @Override public boolean isVisible() { return !model.getObject().isNew(); } }); tabs.add(new AbstractTab(new ResourceModel("manager.event.tab.lineup")) { @Override public Panel getPanel(String panelId) { return new LineupEditPanel(panelId, model); } @Override public boolean isVisible() { return !model.getObject().isNew() && (model.getObject().getEventType() != EventType.Event && model.getObject().getEventType() != EventType.Training); } }); tabs.add(new AbstractTab(new ResourceModel("manager.event.tab.lineup")) { @Override public Panel getPanel(String panelId) { return new TeamsEditPanel(panelId, model); } @Override public boolean isVisible() { return !model.getObject().isNew() && (model.getObject().getEventType() == EventType.Training); } }); } }