From 858d342960f264b60ebff91d213f9ddf01537e1e Mon Sep 17 00:00:00 2001 From: Markus Kreth Date: Thu, 1 Nov 2018 15:53:05 +0100 Subject: [PATCH] Button for Contextmenu added. --- pom.xml | 11 +++++---- .../ui/components/CalendarComponent.java | 23 ++++++++++++++++++- src/main/resources/simplelogger.properties | 2 +- 3 files changed, 30 insertions(+), 6 deletions(-) diff --git a/pom.xml b/pom.xml index c2b291d..1b1cc52 100644 --- a/pom.xml +++ b/pom.xml @@ -75,6 +75,10 @@ calendar-component 2.0-BETA4 + + com.vaadin + vaadin-context-menu + org.hibernate @@ -248,7 +252,6 @@ org.apache.maven.plugins maven-surefire-plugin - 2.22.1 @@ -270,20 +273,20 @@ 0.8.2 - default-prepare-agent + default-jacoco-prepare-agent prepare-agent - default-report + default-jacoco-report prepare-package report - default-check + default-jacoco-check check diff --git a/src/main/java/de/kreth/vaadin/clubhelper/vaadinclubhelper/ui/components/CalendarComponent.java b/src/main/java/de/kreth/vaadin/clubhelper/vaadinclubhelper/ui/components/CalendarComponent.java index 5f56436..32cd1b8 100644 --- a/src/main/java/de/kreth/vaadin/clubhelper/vaadinclubhelper/ui/components/CalendarComponent.java +++ b/src/main/java/de/kreth/vaadin/clubhelper/vaadinclubhelper/ui/components/CalendarComponent.java @@ -13,9 +13,15 @@ import org.vaadin.addon.calendar.ui.CalendarComponentEvents.DateClickHandler; import org.vaadin.addon.calendar.ui.CalendarComponentEvents.ForwardHandler; import org.vaadin.addon.calendar.ui.CalendarComponentEvents.ItemClickHandler; +import com.vaadin.contextmenu.ContextMenu; +import com.vaadin.contextmenu.MenuItem; import com.vaadin.shared.Registration; +import com.vaadin.ui.Button; +import com.vaadin.ui.Button.ClickEvent; import com.vaadin.ui.CustomComponent; +import com.vaadin.ui.HorizontalLayout; import com.vaadin.ui.Label; +import com.vaadin.ui.Notification; import com.vaadin.ui.VerticalLayout; import de.kreth.vaadin.clubhelper.vaadinclubhelper.data.ClubEvent; @@ -36,6 +42,11 @@ public class CalendarComponent extends CustomComponent { monthName = new Label(); monthName.setStyleName("title_label"); + Button popupButton = new Button("Menu"); + popupButton.addClickListener(ev -> openPopupMenu(ev)); + + HorizontalLayout head = new HorizontalLayout(monthName, popupButton); + dataProvider = new ClubEventProvider(); calendar = new Calendar<>(dataProvider) .withMonth(Month.from(LocalDateTime.now())); @@ -44,11 +55,21 @@ public class CalendarComponent extends CustomComponent { updateMonthText(calendar.getStartDate()); - VerticalLayout layout = new VerticalLayout(monthName, calendar); + VerticalLayout layout = new VerticalLayout(head, calendar); layout.setSizeFull(); setCompositionRoot(layout); } + private void openPopupMenu(ClickEvent ev) { + ContextMenu contextMenu = new ContextMenu(ev.getButton(), true); + contextMenu.addItem("Export", ev1 -> calendarExport(ev1)); + contextMenu.open(210, 40); + } + + private void calendarExport(MenuItem ev1) { + Notification.show("Do Export"); + } + private void updateMonthText(ZonedDateTime startDate) { monthName.setValue(dfMonth.format(startDate)); } diff --git a/src/main/resources/simplelogger.properties b/src/main/resources/simplelogger.properties index 26c0aa0..8dd5541 100644 --- a/src/main/resources/simplelogger.properties +++ b/src/main/resources/simplelogger.properties @@ -1,3 +1,3 @@ -org.slf4j.simpleLogger.defaultLogLevel = warn +org.slf4j.simpleLogger.defaultLogLevel = trace log4j.logger.org.hibernate.type=info log4j.logger.org.jboss.logging=warn \ No newline at end of file