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 <solomax...@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);

Reply via email to