From 187d8b0e13d89728039625f53039a175b2fc4e56 Mon Sep 17 00:00:00 2001 From: sergeev_ms Date: Fri, 26 Jun 2020 12:44:38 +0300 Subject: [PATCH] Fix style for badge and add style for icon for collapsed panel icon. --- .../web/screens/UserInboxMessageMenuBadge.java | 14 +++++++++----- .../screens/main/UserInboxSideMenuMainScreen.java | 8 ++++++++ .../user-inbox-main-menu-screen/messages-badge.css | 11 +++++++++++ 3 files changed, 28 insertions(+), 5 deletions(-) create mode 100644 modules/web/web/VAADIN/user-inbox-main-menu-screen/messages-badge.css diff --git a/modules/web/src/de/diedavids/cuba/userinbox/web/screens/UserInboxMessageMenuBadge.java b/modules/web/src/de/diedavids/cuba/userinbox/web/screens/UserInboxMessageMenuBadge.java index b2c6263..f704032 100644 --- a/modules/web/src/de/diedavids/cuba/userinbox/web/screens/UserInboxMessageMenuBadge.java +++ b/modules/web/src/de/diedavids/cuba/userinbox/web/screens/UserInboxMessageMenuBadge.java @@ -39,6 +39,7 @@ public void initMessagesMenuItem(SideMenu sideMenu, Timer updateCountersTimer, F .withScreenClass(UserInbox.class) .show() ); + messagesMenuItem.setStyleName("messages-item"); sideMenu.addMenuItem(messagesMenuItem, 0); @@ -53,14 +54,17 @@ private void initUpdateCounterTimerDelay(Timer updateCountersTimer) { } public void updateMessageCounter(SideMenu sideMenu) { - sideMenu.getMenuItemNN("messages") - .setBadgeText( - messages.formatMainMessage("menu-config.ddcui$user-inbox.badge", getMessageCounter()) - ); + final long messageCounter = getMessageCounter(); + final SideMenu.MenuItem messagesItem = sideMenu.getMenuItemNN("messages"); + messagesItem.setBadgeText( + this.messages.formatMainMessage("menu-config.ddcui$user-inbox.badge", messageCounter) + ); + if (messageCounter == 0) + messagesItem.removeStyleName("new-messages"); + else messagesItem.addStyleName("new-messages"); } private long getMessageCounter() { return messageService.countUnreadMessagesForCurrentUser(); } - } diff --git a/modules/web/src/de/diedavids/cuba/userinbox/web/screens/main/UserInboxSideMenuMainScreen.java b/modules/web/src/de/diedavids/cuba/userinbox/web/screens/main/UserInboxSideMenuMainScreen.java index 2e380c1..d821b2b 100644 --- a/modules/web/src/de/diedavids/cuba/userinbox/web/screens/main/UserInboxSideMenuMainScreen.java +++ b/modules/web/src/de/diedavids/cuba/userinbox/web/screens/main/UserInboxSideMenuMainScreen.java @@ -6,6 +6,8 @@ import com.haulmont.cuba.gui.screen.UiController; import com.haulmont.cuba.gui.screen.UiDescriptor; import com.haulmont.cuba.web.app.main.MainScreen; +import com.haulmont.cuba.web.gui.screen.ScreenDependencyUtils; +import com.vaadin.ui.Dependency; import de.diedavids.cuba.userinbox.web.screens.UserInboxMessageMenuBadge; import javax.inject.Inject; @@ -30,6 +32,8 @@ protected void onInit(InitEvent event) { updateCountersTimer, this ); + + loadStyles(); } @Subscribe @@ -42,4 +46,8 @@ protected void onUpdateCountersTimerTimerAction(Timer.TimerActionEvent event) { userInboxMessageMenuBadge.updateMessageCounter(sideMenu); } + protected void loadStyles() { + ScreenDependencyUtils.addScreenDependency(this, + "vaadin://user-inbox-main-menu-screen/messages-badge.css", Dependency.Type.STYLESHEET); + } } \ No newline at end of file diff --git a/modules/web/web/VAADIN/user-inbox-main-menu-screen/messages-badge.css b/modules/web/web/VAADIN/user-inbox-main-menu-screen/messages-badge.css new file mode 100644 index 0000000..ed27975 --- /dev/null +++ b/modules/web/web/VAADIN/user-inbox-main-menu-screen/messages-badge.css @@ -0,0 +1,11 @@ +.messages-item.c-sidemenu-item .c-sidemenu-item-caption .c-sidemenu-item-badge { + padding: 2px 5px; + top: unset; + height: 100%; + position: relative; + right: -70px; +} +.messages-item.new-messages .v-icon, +.messages-item.new-messages .c-sidemenu-item-thumbnail-icon { + color: #7ba8cb; +} \ No newline at end of file