You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openmeetings.apache.org by so...@apache.org on 2020/09/27 12:35:09 UTC

[openmeetings] branch master updated: [OPENMEETINGS-2457] vote menu is updated as expected

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 <so...@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