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">×</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> <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);