Added an option to show a footer notification (#1504)
* Added an option to show a footer notification Signed-off-by: Denislav Prinov <denislav.prinov@bosch.com> * Refactoring Signed-off-by: Denislav Prinov <denislav.prinov@bosch.com> --------- Signed-off-by: Denislav Prinov <denislav.prinov@bosch.com>
This commit is contained in:
@@ -9,6 +9,7 @@
|
|||||||
*/
|
*/
|
||||||
package org.eclipse.hawkbit.ui;
|
package org.eclipse.hawkbit.ui;
|
||||||
|
|
||||||
|
import com.vaadin.shared.ui.ContentMode;
|
||||||
import org.eclipse.hawkbit.ui.components.NotificationUnreadButton;
|
import org.eclipse.hawkbit.ui.components.NotificationUnreadButton;
|
||||||
import org.eclipse.hawkbit.ui.error.ErrorView;
|
import org.eclipse.hawkbit.ui.error.ErrorView;
|
||||||
import org.eclipse.hawkbit.ui.menu.DashboardEvent.PostViewChangeEvent;
|
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.ApplicationContext;
|
||||||
import org.springframework.context.ApplicationListener;
|
import org.springframework.context.ApplicationListener;
|
||||||
import org.springframework.context.support.AbstractApplicationContext;
|
import org.springframework.context.support.AbstractApplicationContext;
|
||||||
|
import org.springframework.util.ObjectUtils;
|
||||||
import org.vaadin.spring.events.EventBus.UIEventBus;
|
import org.vaadin.spring.events.EventBus.UIEventBus;
|
||||||
|
|
||||||
import com.vaadin.annotations.Theme;
|
import com.vaadin.annotations.Theme;
|
||||||
@@ -156,6 +158,11 @@ public abstract class AbstractHawkbitUI extends UI implements DetachListener {
|
|||||||
contentVerticalLayout.addComponent(content);
|
contentVerticalLayout.addComponent(content);
|
||||||
contentVerticalLayout.setExpandRatio(content, 1.0F);
|
contentVerticalLayout.setExpandRatio(content, 1.0F);
|
||||||
|
|
||||||
|
String footerNotification = uiProperties.getNotification().getText();
|
||||||
|
if (!ObjectUtils.isEmpty(footerNotification)) {
|
||||||
|
contentVerticalLayout.addComponent(buildFooterNotification(footerNotification));
|
||||||
|
}
|
||||||
|
|
||||||
rootLayout.addComponent(dashboardMenu);
|
rootLayout.addComponent(dashboardMenu);
|
||||||
rootLayout.addComponent(contentVerticalLayout);
|
rootLayout.addComponent(contentVerticalLayout);
|
||||||
rootLayout.setExpandRatio(contentVerticalLayout, 1.0F);
|
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());
|
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() {
|
private static Panel buildContent() {
|
||||||
final Panel content = new Panel();
|
final Panel content = new Panel();
|
||||||
content.setSizeFull();
|
content.setSizeFull();
|
||||||
|
|||||||
@@ -37,6 +37,8 @@ public class UiProperties implements Serializable {
|
|||||||
|
|
||||||
private final Event event = new Event();
|
private final Event event = new Event();
|
||||||
|
|
||||||
|
private final Notification notification = new Notification();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @return True if menu item has gravatar else false
|
* @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
|
* @return Demo account details
|
||||||
*/
|
*/
|
||||||
@@ -606,4 +620,8 @@ public class UiProperties implements Serializable {
|
|||||||
return localization;
|
return localization;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public Notification getNotification() {
|
||||||
|
return notification;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user