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/12/01 14:37:33 UTC

[openmeetings] 01/01: [OPENMEETINGS-2000] incomplete local user settings dialog

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

solomax pushed a commit to branch OPENMEETINGS-2000-local-settings-dlg
in repository https://gitbox.apache.org/repos/asf/openmeetings.git

commit 85d587d575b90fb397c6b1c1d10a41c8cc4c27ab
Author: Maxim Solodovnik <so...@gmail.com>
AuthorDate: Tue Dec 1 21:37:09 2020 +0700

    [OPENMEETINGS-2000] incomplete local user settings dialog
---
 .../apache/openmeetings/web/common/MainPanel.java  |  2 +-
 .../openmeetings/web/common/menu/OmMenuItem.java   | 14 +++++++--
 .../apache/openmeetings/web/room/RoomPanel.html    | 20 ++++++++++++
 .../openmeetings/web/room/menu/ActionsSubMenu.java | 36 ++++++++++++++++------
 .../openmeetings/web/room/menu/PollsSubMenu.java   |  8 ++---
 .../openmeetings/web/room/menu/RoomMenuPanel.java  | 16 +---------
 6 files changed, 65 insertions(+), 31 deletions(-)

diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/MainPanel.java b/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/MainPanel.java
index 87433ec..859aff5 100644
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/MainPanel.java
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/MainPanel.java
@@ -337,7 +337,7 @@ public class MainPanel extends Panel {
 					private static final long serialVersionUID = 1L;
 
 					@Override
-					public void onClick(AjaxRequestTarget target) {
+					protected void onClick(AjaxRequestTarget target) {
 						RoomEnterBehavior.roomEnter((MainPage)getPage(), target, roomId);
 					}
 				});
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 d1f05e9..0382bfb 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
@@ -28,6 +28,7 @@ import java.util.stream.Collectors;
 import org.apache.wicket.AttributeModifier;
 import org.apache.wicket.Component;
 import org.apache.wicket.ajax.AjaxRequestTarget;
+import org.apache.wicket.ajax.attributes.AjaxRequestAttributes;
 import org.apache.wicket.markup.html.link.AbstractLink;
 import org.apache.wicket.model.Model;
 import org.apache.wicket.util.string.Strings;
@@ -115,6 +116,11 @@ public class OmMenuItem implements INavbarComponent {
 			public void onClick(AjaxRequestTarget target) {
 				OmMenuItem.this.onClick(target);
 			}
+
+			@Override
+			protected void updateAjaxAttributes(AjaxRequestAttributes attributes) {
+				OmMenuItem.this.updateAjaxAttributes(attributes);
+			}
 		};
 		if (topLevel) {
 			link.add(AttributeModifier.append(ATTR_CLASS, "nav-link"));
@@ -130,10 +136,14 @@ public class OmMenuItem implements INavbarComponent {
 
 	@Override
 	public ComponentPosition getPosition() {
-		return ComponentPosition.LEFT; //FIXME TODO
+		return ComponentPosition.LEFT;
+	}
+
+	protected void onClick(AjaxRequestTarget target) {
+		// no-op by default
 	}
 
-	public void onClick(AjaxRequestTarget target) {
+	protected void updateAjaxAttributes(AjaxRequestAttributes attributes) {
 		// no-op by default
 	}
 }
diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomPanel.html b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomPanel.html
index 888b8e7..9eb7952 100644
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomPanel.html
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomPanel.html
@@ -58,6 +58,26 @@
 			</div>
 		</div>
 	</div>
+	<div id="room-local-settings" class="modal fade" tabindex="-1" role="dialog" data-backdrop="static" aria-hidden="true">
+		<div class="modal-dialog modal-sm" role="document">
+			<div class="modal-content">
+				<div class="modal-header">
+					<h5 class="modal-title"><wicket:message key="edit.settings"/></h5>
+					<button type="button" class="close" data-dismiss="modal" wicket:message="aria-label:85">
+						<span aria-hidden="true">&times;</span>
+					</button>
+				</div>
+				<div class="modal-body">
+					<wicket:message key="556"/>
+				</div>
+				<div class="modal-footer">
+					<button type="button" class="btn btn-outline-secondary" data-dismiss="modal">
+						<i class="fas fa-sync-alt"></i>&nbsp;<wicket:message key="753"/>
+					</button>
+				</div>
+			</div>
+		</div>
+	</div>
 	<div hidden="hidden">
 		<div id="user-video" class="video-container">
 			<div class="video">
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 38fd198..c35c099 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
@@ -31,7 +31,10 @@ import org.apache.openmeetings.web.app.WhiteboardManager;
 import org.apache.openmeetings.web.common.InvitationDialog;
 import org.apache.openmeetings.web.common.menu.OmMenuItem;
 import org.apache.openmeetings.web.room.RoomPanel;
+import org.apache.wicket.Component;
 import org.apache.wicket.ajax.AjaxRequestTarget;
+import org.apache.wicket.ajax.attributes.AjaxRequestAttributes;
+import org.apache.wicket.ajax.attributes.IAjaxCallListener;
 import org.apache.wicket.injection.Injector;
 import org.apache.wicket.spring.injection.annot.SpringBean;
 
@@ -51,6 +54,7 @@ public class ActionsSubMenu implements Serializable {
 	private OmMenuItem downloadPngMenuItem;
 	private OmMenuItem downloadPdfMenuItem;
 	private OmMenuItem resetWb;
+	private OmMenuItem localSettings;
 	private final boolean visible;
 	@SpringBean
 	private WhiteboardManager wbManager;
@@ -72,7 +76,7 @@ public class ActionsSubMenu implements Serializable {
 			private static final long serialVersionUID = 1L;
 
 			@Override
-			public void onClick(AjaxRequestTarget target) {
+			protected void onClick(AjaxRequestTarget target) {
 				invite.updateModel(target);
 				invite.show(target);
 			}
@@ -81,7 +85,7 @@ public class ActionsSubMenu implements Serializable {
 			private static final long serialVersionUID = 1L;
 
 			@Override
-			public void onClick(AjaxRequestTarget target) {
+			protected void onClick(AjaxRequestTarget target) {
 				target.appendJavaScript("Sharer.open();");
 			}
 		};
@@ -89,7 +93,7 @@ public class ActionsSubMenu implements Serializable {
 			private static final long serialVersionUID = 1L;
 
 			@Override
-			public void onClick(AjaxRequestTarget target) {
+			protected void onClick(AjaxRequestTarget target) {
 				room.requestRight(Room.Right.MODERATOR, target);
 			}
 		};
@@ -97,7 +101,7 @@ public class ActionsSubMenu implements Serializable {
 			private static final long serialVersionUID = 1L;
 
 			@Override
-			public void onClick(AjaxRequestTarget target) {
+			protected void onClick(AjaxRequestTarget target) {
 				room.requestRight(Room.Right.WHITEBOARD, target);
 			}
 		};
@@ -105,7 +109,7 @@ public class ActionsSubMenu implements Serializable {
 			private static final long serialVersionUID = 1L;
 
 			@Override
-			public void onClick(AjaxRequestTarget target) {
+			protected void onClick(AjaxRequestTarget target) {
 				room.requestRight(Room.Right.VIDEO, target);
 			}
 		};
@@ -113,7 +117,7 @@ public class ActionsSubMenu implements Serializable {
 			private static final long serialVersionUID = 1L;
 
 			@Override
-			public void onClick(AjaxRequestTarget target) {
+			protected void onClick(AjaxRequestTarget target) {
 				sipDialer.show(target);
 			}
 		};
@@ -121,7 +125,7 @@ public class ActionsSubMenu implements Serializable {
 			private static final long serialVersionUID = 1L;
 
 			@Override
-			public void onClick(AjaxRequestTarget target) {
+			protected void onClick(AjaxRequestTarget target) {
 				download(target, EXTENSION_PNG);
 			}
 		};
@@ -129,7 +133,7 @@ public class ActionsSubMenu implements Serializable {
 			private static final long serialVersionUID = 1L;
 
 			@Override
-			public void onClick(AjaxRequestTarget target) {
+			protected void onClick(AjaxRequestTarget target) {
 				download(target, EXTENSION_PDF);
 			}
 		};
@@ -137,10 +141,23 @@ public class ActionsSubMenu implements Serializable {
 			private static final long serialVersionUID = 1L;
 
 			@Override
-			public void onClick(AjaxRequestTarget target) {
+			protected void onClick(AjaxRequestTarget target) {
 				wbManager.reset(room.getRoom().getId(), getUserId());
 			}
 		};
+		localSettings = new OmMenuItem(mp.getString("edit.settings"), mp.getString("edit.settings")) {
+			private static final long serialVersionUID = 1L;
+
+			@Override
+			protected void updateAjaxAttributes(AjaxRequestAttributes attributes) {
+				attributes.getAjaxCallListeners().add(new IAjaxCallListener() {
+					@Override
+					public CharSequence getPrecondition(Component component) {
+						return "$('#room-local-settings').modal('show'); return false;";
+					}
+				});
+			}
+		};
 	}
 
 	OmMenuItem getMenu() {
@@ -157,6 +174,7 @@ public class ActionsSubMenu implements Serializable {
 				.add(downloadPdfMenuItem)
 				.add(resetWb);
 		}
+		actionsMenu.add(localSettings);
 		return actionsMenu;
 	}
 
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 7843f55..5432adf 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
@@ -109,7 +109,7 @@ public class PollsSubMenu implements Serializable {
 			private static final long serialVersionUID = 1L;
 
 			@Override
-			public void onClick(AjaxRequestTarget target) {
+			protected void onClick(AjaxRequestTarget target) {
 				qpollManager.start(room.getClient());
 			}
 		};
@@ -117,7 +117,7 @@ public class PollsSubMenu implements Serializable {
 			private static final long serialVersionUID = 1L;
 
 			@Override
-			public void onClick(AjaxRequestTarget target) {
+			protected void onClick(AjaxRequestTarget target) {
 				createPoll.updateModel(target);
 				createPoll.show(target);
 			}
@@ -126,7 +126,7 @@ public class PollsSubMenu implements Serializable {
 			private static final long serialVersionUID = 1L;
 
 			@Override
-			public void onClick(AjaxRequestTarget target) {
+			protected void onClick(AjaxRequestTarget target) {
 				RoomPoll rp = pollDao.getByRoom(room.getRoom().getId());
 				if (rp != null) {
 					vote.updateModel(target, rp);
@@ -138,7 +138,7 @@ public class PollsSubMenu implements Serializable {
 			private static final long serialVersionUID = 1L;
 
 			@Override
-			public void onClick(AjaxRequestTarget target) {
+			protected void onClick(AjaxRequestTarget target) {
 				pollResults.updateModel(target, true, room.getClient().hasRight(Room.Right.MODERATOR));
 				pollResults.show(target);
 			}
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 e242717..edd31be 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
@@ -95,7 +95,6 @@ public class RoomMenuPanel extends Panel {
 	};
 	private final RoomPanel room;
 	private OmMenuItem exitMenuItem;
-	private OmMenuItem filesMenu;
 	private final ImagePanel logo = new ImagePanel("logo") {
 		private static final long serialVersionUID = 1L;
 
@@ -145,12 +144,11 @@ public class RoomMenuPanel extends Panel {
 			private static final long serialVersionUID = 1L;
 
 			@Override
-			public void onClick(AjaxRequestTarget target) {
+			protected void onClick(AjaxRequestTarget target) {
 				chatDao.closeMessages(getUserId());
 				exit(target);
 			}
 		};
-		filesMenu = new OmMenuItem(getString("245"), null, false);
 		actionsSubMenu.init();
 		pollsSubMenu.init();
 		add((menuPanel = new MenuPanel("menu", getMenu())).setVisible(isVisible()));
@@ -188,16 +186,6 @@ public class RoomMenuPanel extends Panel {
 		exitMenuItem.setVisible(false);
 		menu.add(exitMenuItem);
 
-		filesMenu.add(new OmMenuItem(getString("15"), getString("1479")) {
-			private static final long serialVersionUID = 1L;
-
-			@Override
-			public void onClick(AjaxRequestTarget target) {
-				room.getSidebar().showUpload(target);
-			}
-		});
-		menu.add(filesMenu);
-
 		if (actionsSubMenu.isVisible()) {
 			menu.add(actionsSubMenu.getMenu());
 		}
@@ -212,11 +200,9 @@ public class RoomMenuPanel extends Panel {
 			return;
 		}
 		Room r = room.getRoom();
-		boolean isInterview = Room.Type.INTERVIEW == r.getType();
 		User u = room.getClient().getUser();
 		boolean notExternalUser = u.getType() != User.Type.CONTACT;
 		exitMenuItem.setVisible(notExternalUser);
-		filesMenu.setVisible(!isInterview && room.getSidebar().isShowFiles());
 		boolean moder = room.getClient().hasRight(Room.Right.MODERATOR);
 		actionsSubMenu.update(moder, notExternalUser);
 		pollsSubMenu.update(moder, notExternalUser, r);