This is an automated email from the ASF dual-hosted git repository.

solomax pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/openmeetings.git


The following commit(s) were added to refs/heads/master by this push:
     new c3af882  [OPENMEETINGS-2457] vote menu is updated as expected
c3af882 is described below

commit c3af88264ac2294db474c0c88e9aad58114e30f3
Author: Maxim Solodovnik <solomax...@gmail.com>
AuthorDate: Sun Sep 27 19:34:53 2020 +0700

    [OPENMEETINGS-2457] vote menu is updated as expected
---
 .../openmeetings/web/common/menu/MenuPanel.java    |  9 ++++-
 .../openmeetings/web/common/menu/OmMenuItem.java   | 38 +++++++++++--------
 .../openmeetings/web/common/menu/RoomMenuItem.java | 39 -------------------
 .../openmeetings/web/room/menu/ActionsSubMenu.java | 44 +++++++++++-----------
 .../openmeetings/web/room/menu/PollsSubMenu.java   | 24 ++++++------
 .../openmeetings/web/room/menu/RoomMenuPanel.java  | 12 +++---
 6 files changed, 70 insertions(+), 96 deletions(-)

diff --git 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/menu/MenuPanel.java
 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/menu/MenuPanel.java
index 72b2dd1..bc561fa 100644
--- 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/menu/MenuPanel.java
+++ 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/menu/MenuPanel.java
@@ -34,12 +34,19 @@ import 
de.agilecoders.wicket.core.markup.html.bootstrap.navbar.Navbar;
  */
 public class MenuPanel extends Panel {
        private static final long serialVersionUID = 1L;
+       private final Navbar navbar = new Navbar("menu");
 
        public MenuPanel(String id, List<INavbarComponent> menus) {
                super(id);
                setOutputMarkupPlaceholderTag(true);
                setMarkupId(id);
-               add(new Navbar("menu").addComponents(menus));
+               navbar.addComponents(menus);
+       }
+
+       @Override
+       protected void onInitialize() {
+               super.onInitialize();
+               add(navbar);
        }
 
        public void update(IPartialPageRequestHandler target) {
diff --git 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/menu/OmMenuItem.java
 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/menu/OmMenuItem.java
index 0056b8e..e1e63fd 100644
--- 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/menu/OmMenuItem.java
+++ 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/menu/OmMenuItem.java
@@ -41,20 +41,34 @@ import 
de.agilecoders.wicket.core.markup.html.bootstrap.navbar.NavbarDropDownBut
 public class OmMenuItem implements INavbarComponent {
        private static final long serialVersionUID = 1L;
 
-       private String title;
-       private String desc;
-       private IconType icon;
-       private List<INavbarComponent> items = new ArrayList<>(0);
+       private final String title;
+       private final String desc;
+       private final IconType icon;
+       private final List<INavbarComponent> items = new ArrayList<>(0);
        private boolean visible = true;
 
+       public OmMenuItem(String title, String desc) {
+               this(title, desc, null, List.of());
+       }
+
+       public OmMenuItem(String title, String desc, boolean visible) {
+               this(title, desc);
+               this.visible = visible;
+       }
+
        public OmMenuItem(String title, List<INavbarComponent> items) {
-               this.title = title;
-               this.items = items;
+               this(title, null, null, items);
        }
 
-       public OmMenuItem(String title, String desc) {
+       public OmMenuItem(String title, String desc, IconType icon) {
+               this(title, desc, icon, List.of());
+       }
+
+       public OmMenuItem(String title, String desc, IconType icon, 
List<INavbarComponent> items) {
                this.title = title;
                this.desc = desc;
+               this.icon = icon;
+               this.items.addAll(items);
        }
 
        public OmMenuItem add(INavbarComponent item) {
@@ -66,14 +80,6 @@ public class OmMenuItem implements INavbarComponent {
                return desc;
        }
 
-       public void setDesc(String desc) {
-               this.desc = desc;
-       }
-
-       public void setIcon(IconType icon) {
-               this.icon = icon;
-       }
-
        public void setVisible(boolean visible) {
                this.visible = visible;
        }
@@ -94,7 +100,6 @@ public class OmMenuItem implements INavbarComponent {
                        };
                }
                item.add(AttributeModifier.append(ATTR_TITLE, desc));
-               item.setVisible(visible);
                return item;
        }
 
@@ -113,6 +118,7 @@ public class OmMenuItem implements INavbarComponent {
                if (topLevel) {
                        link.add(AttributeModifier.append(ATTR_CLASS, 
"nav-link"));
                }
+               link.setVisible(visible);
                return link.setIconType(icon);
        }
 
diff --git 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/menu/RoomMenuItem.java
 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/menu/RoomMenuItem.java
deleted file mode 100644
index 3ecb400..0000000
--- 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/menu/RoomMenuItem.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License") +  you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.openmeetings.web.common.menu;
-
-import de.agilecoders.wicket.core.markup.html.bootstrap.image.IconType;
-
-public class RoomMenuItem extends OmMenuItem {
-       private static final long serialVersionUID = 1L;
-
-       public RoomMenuItem(String name, String desc) {
-               super(name, desc);
-       }
-
-       public RoomMenuItem(String name, String desc, IconType icon) {
-               super(name, desc);
-               setIcon(icon);
-       }
-
-       public RoomMenuItem(String name, String desc, boolean enabled) {
-               super(name, desc);
-               setVisible(enabled);
-       }
-}
diff --git 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/menu/ActionsSubMenu.java
 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/menu/ActionsSubMenu.java
index 5e225c9..38fd198 100644
--- 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/menu/ActionsSubMenu.java
+++ 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/menu/ActionsSubMenu.java
@@ -29,7 +29,7 @@ import org.apache.openmeetings.db.entity.room.Room;
 import org.apache.openmeetings.db.entity.room.Room.RoomElement;
 import org.apache.openmeetings.web.app.WhiteboardManager;
 import org.apache.openmeetings.web.common.InvitationDialog;
-import org.apache.openmeetings.web.common.menu.RoomMenuItem;
+import org.apache.openmeetings.web.common.menu.OmMenuItem;
 import org.apache.openmeetings.web.room.RoomPanel;
 import org.apache.wicket.ajax.AjaxRequestTarget;
 import org.apache.wicket.injection.Injector;
@@ -41,16 +41,16 @@ public class ActionsSubMenu implements Serializable {
        private final RoomMenuPanel mp;
        private InvitationDialog invite;
        private SipDialerDialog sipDialer;
-       private RoomMenuItem actionsMenu;
-       private RoomMenuItem inviteMenuItem;
-       private RoomMenuItem shareMenuItem;
-       private RoomMenuItem applyModerMenuItem;
-       private RoomMenuItem applyWbMenuItem;
-       private RoomMenuItem applyAvMenuItem;
-       private RoomMenuItem sipDialerMenuItem;
-       private RoomMenuItem downloadPngMenuItem;
-       private RoomMenuItem downloadPdfMenuItem;
-       private RoomMenuItem resetWb;
+       private OmMenuItem actionsMenu;
+       private OmMenuItem inviteMenuItem;
+       private OmMenuItem shareMenuItem;
+       private OmMenuItem applyModerMenuItem;
+       private OmMenuItem applyWbMenuItem;
+       private OmMenuItem applyAvMenuItem;
+       private OmMenuItem sipDialerMenuItem;
+       private OmMenuItem downloadPngMenuItem;
+       private OmMenuItem downloadPdfMenuItem;
+       private OmMenuItem resetWb;
        private final boolean visible;
        @SpringBean
        private WhiteboardManager wbManager;
@@ -67,8 +67,8 @@ public class ActionsSubMenu implements Serializable {
                mp.add(invite = new InvitationDialog("invite", rif));
                rif.setDialog(invite);
                mp.add(sipDialer = new SipDialerDialog("sipDialer", room));
-               actionsMenu = new RoomMenuItem(mp.getString("635"), null, 
false);
-               inviteMenuItem = new RoomMenuItem(mp.getString("213"), 
mp.getString("1489"), false) {
+               actionsMenu = new OmMenuItem(mp.getString("635"), null, false);
+               inviteMenuItem = new OmMenuItem(mp.getString("213"), 
mp.getString("1489"), false) {
                        private static final long serialVersionUID = 1L;
 
                        @Override
@@ -77,7 +77,7 @@ public class ActionsSubMenu implements Serializable {
                                invite.show(target);
                        }
                };
-               shareMenuItem = new RoomMenuItem(mp.getString("239"), 
mp.getString("1480"), false) {
+               shareMenuItem = new OmMenuItem(mp.getString("239"), 
mp.getString("1480"), false) {
                        private static final long serialVersionUID = 1L;
 
                        @Override
@@ -85,7 +85,7 @@ public class ActionsSubMenu implements Serializable {
                                target.appendJavaScript("Sharer.open();");
                        }
                };
-               applyModerMenuItem = new RoomMenuItem(mp.getString("784"), 
mp.getString("1481"), false) {
+               applyModerMenuItem = new OmMenuItem(mp.getString("784"), 
mp.getString("1481"), false) {
                        private static final long serialVersionUID = 1L;
 
                        @Override
@@ -93,7 +93,7 @@ public class ActionsSubMenu implements Serializable {
                                room.requestRight(Room.Right.MODERATOR, target);
                        }
                };
-               applyWbMenuItem = new RoomMenuItem(mp.getString("785"), 
mp.getString("1492"), false) {
+               applyWbMenuItem = new OmMenuItem(mp.getString("785"), 
mp.getString("1492"), false) {
                        private static final long serialVersionUID = 1L;
 
                        @Override
@@ -101,7 +101,7 @@ public class ActionsSubMenu implements Serializable {
                                room.requestRight(Room.Right.WHITEBOARD, 
target);
                        }
                };
-               applyAvMenuItem = new RoomMenuItem(mp.getString("786"), 
mp.getString("1482"), false) {
+               applyAvMenuItem = new OmMenuItem(mp.getString("786"), 
mp.getString("1482"), false) {
                        private static final long serialVersionUID = 1L;
 
                        @Override
@@ -109,7 +109,7 @@ public class ActionsSubMenu implements Serializable {
                                room.requestRight(Room.Right.VIDEO, target);
                        }
                };
-               sipDialerMenuItem = new RoomMenuItem(mp.getString("1447"), 
mp.getString("1488"), false) {
+               sipDialerMenuItem = new OmMenuItem(mp.getString("1447"), 
mp.getString("1488"), false) {
                        private static final long serialVersionUID = 1L;
 
                        @Override
@@ -117,7 +117,7 @@ public class ActionsSubMenu implements Serializable {
                                sipDialer.show(target);
                        }
                };
-               downloadPngMenuItem = new 
RoomMenuItem(mp.getString("download.png"), mp.getString("download.png")) {
+               downloadPngMenuItem = new 
OmMenuItem(mp.getString("download.png"), mp.getString("download.png")) {
                        private static final long serialVersionUID = 1L;
 
                        @Override
@@ -125,7 +125,7 @@ public class ActionsSubMenu implements Serializable {
                                download(target, EXTENSION_PNG);
                        }
                };
-               downloadPdfMenuItem = new 
RoomMenuItem(mp.getString("download.pdf"), mp.getString("download.pdf")) {
+               downloadPdfMenuItem = new 
OmMenuItem(mp.getString("download.pdf"), mp.getString("download.pdf")) {
                        private static final long serialVersionUID = 1L;
 
                        @Override
@@ -133,7 +133,7 @@ public class ActionsSubMenu implements Serializable {
                                download(target, EXTENSION_PDF);
                        }
                };
-               resetWb = new RoomMenuItem(mp.getString("reset.whiteboard"), 
mp.getString("reset.whiteboard")) {
+               resetWb = new OmMenuItem(mp.getString("reset.whiteboard"), 
mp.getString("reset.whiteboard")) {
                        private static final long serialVersionUID = 1L;
 
                        @Override
@@ -143,7 +143,7 @@ public class ActionsSubMenu implements Serializable {
                };
        }
 
-       RoomMenuItem getMenu() {
+       OmMenuItem getMenu() {
                actionsMenu
                        .add(inviteMenuItem)
                        .add(shareMenuItem)
diff --git 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/menu/PollsSubMenu.java
 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/menu/PollsSubMenu.java
index 1387abf..f3b7af6 100644
--- 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/menu/PollsSubMenu.java
+++ 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/menu/PollsSubMenu.java
@@ -31,7 +31,7 @@ import org.apache.openmeetings.db.entity.room.Room;
 import org.apache.openmeetings.db.entity.room.Room.RoomElement;
 import org.apache.openmeetings.db.entity.room.RoomPoll;
 import org.apache.openmeetings.web.app.QuickPollManager;
-import org.apache.openmeetings.web.common.menu.RoomMenuItem;
+import org.apache.openmeetings.web.common.menu.OmMenuItem;
 import org.apache.openmeetings.web.room.RoomPanel;
 import org.apache.openmeetings.web.room.poll.CreatePollDialog;
 import org.apache.openmeetings.web.room.poll.PollResultsDialog;
@@ -58,11 +58,11 @@ public class PollsSubMenu implements Serializable {
        private final CreatePollDialog createPoll;
        private final VoteDialog vote;
        private final PollResultsDialog pollResults;
-       private RoomMenuItem pollsMenu;
-       private RoomMenuItem pollQuickMenuItem;
-       private RoomMenuItem pollCreateMenuItem;
-       private RoomMenuItem pollVoteMenuItem;
-       private RoomMenuItem pollResultMenuItem;
+       private OmMenuItem pollsMenu;
+       private OmMenuItem pollQuickMenuItem;
+       private OmMenuItem pollCreateMenuItem;
+       private OmMenuItem pollVoteMenuItem;
+       private OmMenuItem pollResultMenuItem;
        private final AbstractDefaultAjaxBehavior quickPollAction = new 
AbstractDefaultAjaxBehavior() {
                private static final long serialVersionUID = 1L;
 
@@ -104,8 +104,8 @@ public class PollsSubMenu implements Serializable {
        }
 
        public void init() {
-               pollsMenu = new RoomMenuItem(mp.getString("menu.polls"), null, 
false);
-               pollQuickMenuItem = new 
RoomMenuItem(mp.getString("menu.polls.quick.title"), 
mp.getString("menu.polls.quick.descr"), false) {
+               pollsMenu = new OmMenuItem(mp.getString("menu.polls"), null, 
false);
+               pollQuickMenuItem = new 
OmMenuItem(mp.getString("menu.polls.quick.title"), 
mp.getString("menu.polls.quick.descr"), false) {
                        private static final long serialVersionUID = 1L;
 
                        @Override
@@ -113,7 +113,7 @@ public class PollsSubMenu implements Serializable {
                                qpollManager.start(room.getClient());
                        }
                };
-               pollCreateMenuItem = new RoomMenuItem(mp.getString("24"), 
mp.getString("1483"), false) {
+               pollCreateMenuItem = new OmMenuItem(mp.getString("24"), 
mp.getString("1483"), false) {
                        private static final long serialVersionUID = 1L;
 
                        @Override
@@ -122,7 +122,7 @@ public class PollsSubMenu implements Serializable {
                                createPoll.show(target);
                        }
                };
-               pollVoteMenuItem = new RoomMenuItem(mp.getString("32"), 
mp.getString("1485"), false) {
+               pollVoteMenuItem = new OmMenuItem(mp.getString("32"), 
mp.getString("1485"), false) {
                        private static final long serialVersionUID = 1L;
 
                        @Override
@@ -134,7 +134,7 @@ public class PollsSubMenu implements Serializable {
                                }
                        }
                };
-               pollResultMenuItem = new RoomMenuItem(mp.getString("37"), 
mp.getString("1484"), false) {
+               pollResultMenuItem = new OmMenuItem(mp.getString("37"), 
mp.getString("1484"), false) {
                        private static final long serialVersionUID = 1L;
 
                        @Override
@@ -146,7 +146,7 @@ public class PollsSubMenu implements Serializable {
                mp.add(quickPollAction);
        }
 
-       RoomMenuItem getMenu() {
+       OmMenuItem getMenu() {
                pollsMenu
                        .add(pollQuickMenuItem)
                        .add(pollCreateMenuItem)
diff --git 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/menu/RoomMenuPanel.java
 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/menu/RoomMenuPanel.java
index ada3493..87cc23d 100644
--- 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/menu/RoomMenuPanel.java
+++ 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/menu/RoomMenuPanel.java
@@ -50,7 +50,7 @@ import org.apache.openmeetings.web.app.ClientManager;
 import org.apache.openmeetings.web.app.WebSession;
 import org.apache.openmeetings.web.common.ImagePanel;
 import org.apache.openmeetings.web.common.menu.MenuPanel;
-import org.apache.openmeetings.web.common.menu.RoomMenuItem;
+import org.apache.openmeetings.web.common.menu.OmMenuItem;
 import org.apache.openmeetings.web.room.OmTimerBehavior;
 import org.apache.openmeetings.web.room.RoomPanel;
 import org.apache.wicket.AttributeModifier;
@@ -94,8 +94,8 @@ public class RoomMenuPanel extends Panel {
                }
        };
        private final RoomPanel room;
-       private RoomMenuItem exitMenuItem;
-       private RoomMenuItem filesMenu;
+       private OmMenuItem exitMenuItem;
+       private OmMenuItem filesMenu;
        private final ImagePanel logo = new ImagePanel("logo") {
                private static final long serialVersionUID = 1L;
 
@@ -141,7 +141,7 @@ public class RoomMenuPanel extends Panel {
 
        @Override
        protected void onInitialize() {
-               exitMenuItem = new RoomMenuItem(getString("308"), 
getString("309"), FontAwesome5IconType.sign_out_alt_s) {
+               exitMenuItem = new OmMenuItem(getString("308"), 
getString("309"), FontAwesome5IconType.sign_out_alt_s) {
                        private static final long serialVersionUID = 1L;
 
                        @Override
@@ -150,7 +150,7 @@ public class RoomMenuPanel extends Panel {
                                exit(target);
                        }
                };
-               filesMenu = new RoomMenuItem(getString("245"), null, false);
+               filesMenu = new OmMenuItem(getString("245"), null, false);
                actionsSubMenu.init();
                pollsSubMenu.init();
                add((menuPanel = new MenuPanel("menu", 
getMenu())).setVisible(isVisible()));
@@ -188,7 +188,7 @@ public class RoomMenuPanel extends Panel {
                exitMenuItem.setVisible(false);
                menu.add(exitMenuItem);
 
-               filesMenu.add(new RoomMenuItem(getString("15"), 
getString("1479")) {
+               filesMenu.add(new OmMenuItem(getString("15"), 
getString("1479")) {
                        private static final long serialVersionUID = 1L;
 
                        @Override

Reply via email to