diff --git a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/AbstractHawkbitUI.java b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/AbstractHawkbitUI.java index 8a2a5f0e3..ca5d12498 100644 --- a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/AbstractHawkbitUI.java +++ b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/AbstractHawkbitUI.java @@ -9,6 +9,7 @@ */ package org.eclipse.hawkbit.ui; +import com.vaadin.shared.ui.ContentMode; import org.eclipse.hawkbit.ui.components.NotificationUnreadButton; import org.eclipse.hawkbit.ui.error.ErrorView; import org.eclipse.hawkbit.ui.menu.DashboardEvent.PostViewChangeEvent; @@ -25,6 +26,7 @@ import org.slf4j.LoggerFactory; import org.springframework.context.ApplicationContext; import org.springframework.context.ApplicationListener; import org.springframework.context.support.AbstractApplicationContext; +import org.springframework.util.ObjectUtils; import org.vaadin.spring.events.EventBus.UIEventBus; import com.vaadin.annotations.Theme; @@ -156,6 +158,11 @@ public abstract class AbstractHawkbitUI extends UI implements DetachListener { contentVerticalLayout.addComponent(content); contentVerticalLayout.setExpandRatio(content, 1.0F); + String footerNotification = uiProperties.getNotification().getText(); + if (!ObjectUtils.isEmpty(footerNotification)) { + contentVerticalLayout.addComponent(buildFooterNotification(footerNotification)); + } + rootLayout.addComponent(dashboardMenu); rootLayout.addComponent(contentVerticalLayout); rootLayout.setExpandRatio(contentVerticalLayout, 1.0F); @@ -194,6 +201,14 @@ public abstract class AbstractHawkbitUI extends UI implements DetachListener { LOG.debug("Current locale of the application is : {}", getLocale()); } + private static Component buildFooterNotification(String text) { + Label notification = new Label(); + notification.setValue(text); + notification.setWidth("100%"); + notification.setContentMode(ContentMode.HTML); + return notification; + } + private static Panel buildContent() { final Panel content = new Panel(); content.setSizeFull(); diff --git a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/UiProperties.java b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/UiProperties.java index 5df9fe8d3..80e4d719f 100644 --- a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/UiProperties.java +++ b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/UiProperties.java @@ -37,6 +37,8 @@ public class UiProperties implements Serializable { private final Event event = new Event(); + private final Notification notification = new Notification(); + /** * @return True if menu item has gravatar else false */ @@ -578,6 +580,18 @@ public class UiProperties implements Serializable { } } + public static class Notification implements Serializable { + private String text = ""; + + public String getText() { + return text; + } + + public void setText(final String text) { + this.text = text; + } + } + /** * @return Demo account details */ @@ -606,4 +620,8 @@ public class UiProperties implements Serializable { return localization; } + public Notification getNotification() { + return notification; + } + }