diff --git a/src/main/java/de/kreth/vaadin/clubhelper/vaadinclubhelper/ui/navigation/MainView.java b/src/main/java/de/kreth/vaadin/clubhelper/vaadinclubhelper/ui/navigation/MainView.java index 21af400..edaa528 100644 --- a/src/main/java/de/kreth/vaadin/clubhelper/vaadinclubhelper/ui/navigation/MainView.java +++ b/src/main/java/de/kreth/vaadin/clubhelper/vaadinclubhelper/ui/navigation/MainView.java @@ -32,6 +32,9 @@ import de.kreth.vaadin.clubhelper.vaadinclubhelper.ui.ClubhelperErrorDialog; import de.kreth.vaadin.clubhelper.vaadinclubhelper.ui.components.ClubEventProvider; import de.kreth.vaadin.clubhelper.vaadinclubhelper.ui.components.PersonGrid; import de.kreth.vaadin.clubhelper.vaadinclubhelper.ui.components.SingleEventView; +import de.kreth.vaadin.clubhelper.vaadinclubhelper.ui.components.menu.ClubhelperMenuBar; +import de.kreth.vaadin.clubhelper.vaadinclubhelper.ui.components.menu.MenuItemState; +import de.kreth.vaadin.clubhelper.vaadinclubhelper.ui.components.menu.MenuItemStateFactory; import de.kreth.vaadin.clubhelper.vaadinclubhelper.ui.navigation.ClubhelperNavigation.ClubNavigator; import net.sf.jasperreports.engine.JRException; import net.sf.jasperreports.engine.JasperExportManager; @@ -61,6 +64,10 @@ public abstract class MainView extends VerticalLayout implements View { protected ClubEventProvider dataProvider; + private ClubhelperMenuBar menuBar; + + private MenuItemStateFactory menuStateFactory; + public MainView(ApplicationContext context2, GroupDao groupDao, EventBusiness eventBusiness, PersonBusiness personBusiness, SecurityVerifier securityGroupVerifier) { @@ -71,6 +78,7 @@ public abstract class MainView extends VerticalLayout implements View { this.securityVerifier = securityGroupVerifier; dataProvider = context2.getBean(ClubEventProvider.class); + menuStateFactory = context.getBean(MenuItemStateFactory.class); } @Override @@ -91,10 +99,15 @@ public abstract class MainView extends VerticalLayout implements View { } } + MenuItemState state = menuStateFactory.currentState(); + menuBar.applyState(state); } public void initUI(ViewChangeEvent event) { + MenuItemState state = menuStateFactory.currentState(); + menuBar = new ClubhelperMenuBar(state); + navigator = (ClubNavigator) event.getNavigator(); eventView = new SingleEventView(false); @@ -107,6 +120,7 @@ public abstract class MainView extends VerticalLayout implements View { personGrid.onPersonSelect(ev -> personSelectionChange(ev)); personGrid.setVisible(false); + addComponent(menuBar); } public ApplicationContext getContext() { diff --git a/src/main/java/de/kreth/vaadin/clubhelper/vaadinclubhelper/ui/navigation/MainViewDesktop.java b/src/main/java/de/kreth/vaadin/clubhelper/vaadinclubhelper/ui/navigation/MainViewDesktop.java index b762121..d244e27 100644 --- a/src/main/java/de/kreth/vaadin/clubhelper/vaadinclubhelper/ui/navigation/MainViewDesktop.java +++ b/src/main/java/de/kreth/vaadin/clubhelper/vaadinclubhelper/ui/navigation/MainViewDesktop.java @@ -21,9 +21,6 @@ import de.kreth.vaadin.clubhelper.vaadinclubhelper.dao.GroupDao; import de.kreth.vaadin.clubhelper.vaadinclubhelper.data.ClubEvent; import de.kreth.vaadin.clubhelper.vaadinclubhelper.security.SecurityVerifier; import de.kreth.vaadin.clubhelper.vaadinclubhelper.ui.components.CalendarComponent; -import de.kreth.vaadin.clubhelper.vaadinclubhelper.ui.components.menu.ClubhelperMenuBar; -import de.kreth.vaadin.clubhelper.vaadinclubhelper.ui.components.menu.MenuItemState; -import de.kreth.vaadin.clubhelper.vaadinclubhelper.ui.components.menu.MenuItemStateFactory; public class MainViewDesktop extends MainView { @@ -37,25 +34,18 @@ public class MainViewDesktop extends MainView { private CalendarComponent calendar; - private ClubhelperMenuBar menuBar; - private DesktopHeadView head; - private MenuItemStateFactory menuStateFactory; - public MainViewDesktop(ApplicationContext context, PersonBusiness personDao, GroupDao groupDao, EventBusiness eventBusiness, SecurityVerifier securityGroupVerifier) { super(context, groupDao, eventBusiness, personDao, securityGroupVerifier); calendar = new CalendarComponent(dataProvider); - menuStateFactory = context.getBean(MenuItemStateFactory.class); } @Override public void initUI(ViewChangeEvent event) { super.initUI(event); - MenuItemState state = menuStateFactory.currentState(); - menuBar = new ClubhelperMenuBar(state); calendar = new CalendarComponent(dataProvider); calendar.setSizeFull(); calendar.setId("main.calendar"); @@ -89,7 +79,6 @@ public class MainViewDesktop extends MainView { eastLayout = new VerticalLayout(); eastLayout.addComponents(eventView, personGrid, eventButtonLayout); - addComponent(menuBar); addComponent(head); addComponent(mainLayout); setExpandRatio(mainLayout, 1f); @@ -124,8 +113,6 @@ public class MainViewDesktop extends MainView { public void enter(ViewChangeEvent event) { super.enter(event); head.updateLoggedinPerson(); - MenuItemState state = menuStateFactory.currentState(); - menuBar.applyState(state); reloadEvents(); } diff --git a/src/main/java/de/kreth/vaadin/clubhelper/vaadinclubhelper/ui/navigation/MainViewMobile.java b/src/main/java/de/kreth/vaadin/clubhelper/vaadinclubhelper/ui/navigation/MainViewMobile.java index b38a46f..99d3333 100644 --- a/src/main/java/de/kreth/vaadin/clubhelper/vaadinclubhelper/ui/navigation/MainViewMobile.java +++ b/src/main/java/de/kreth/vaadin/clubhelper/vaadinclubhelper/ui/navigation/MainViewMobile.java @@ -22,6 +22,7 @@ import com.vaadin.ui.Grid; import com.vaadin.ui.Grid.SelectionMode; import com.vaadin.ui.HorizontalLayout; import com.vaadin.ui.Label; +import com.vaadin.ui.UI; import com.vaadin.ui.Window; import de.kreth.vaadin.clubhelper.vaadinclubhelper.business.EventBusiness; @@ -44,6 +45,7 @@ public class MainViewMobile extends MainView { EventBusiness eventBusiness, SecurityVerifier securityGroupVerifier) { super(context, groupDao, eventBusiness, personDao, securityGroupVerifier); + } @Override @@ -128,7 +130,8 @@ public class MainViewMobile extends MainView { DateField dateField = new DateField(); window.setContent(dateField); - source.getUI().addWindow(window); + UI ui = source.getUI(); + ui.addWindow(window); LocalDate value = dateField.getValue(); return ZonedDateTime.from(value);