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

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


The following commit(s) were added to refs/heads/csp by this push:
     new 5c9a741  [OPENMEETINGS-2165] more work on room
5c9a741 is described below

commit 5c9a74132330f5199358eedb50aca55e408f619b
Author: Maxim Solodovnik <[email protected]>
AuthorDate: Fri Feb 28 00:44:30 2020 +0700

    [OPENMEETINGS-2165] more work on room
---
 .../apache/openmeetings/web/room/RoomPanel.html    |  3 -
 .../apache/openmeetings/web/room/RoomPanel.java    | 92 +++++++++-------------
 .../openmeetings/web/room/sidebar/RoomSidebar.java |  2 +-
 .../apache/openmeetings/web/user/chat/Chat.html    |  8 +-
 .../openmeetings/web/user/chat/ChatForm.java       | 27 ++++---
 openmeetings-web/src/main/webapp/css/raw-chat.css  |  7 +-
 6 files changed, 58 insertions(+), 81 deletions(-)

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 0eae2c3..5ab8826 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
@@ -32,12 +32,9 @@
                <div class="event-details" wicket:id="event-details"></div>
                <div wicket:id="access-denied"></div>
                <div wicket:id="room-closed"></div>
-               <div wicket:id="wait-recording"></div>
                <div wicket:id="nickname"></div>
                <div wicket:id="client-kicked"></div>
                <div wicket:id="wait-moderator" class="wait-moder"></div>
-               <div wicket:id="wait-apply-moderation"></div>
-               <div wicket:id="noone-can-help"></div>
        </div>
        <div id="disconnected-dlg" wicket:message="title:204, data-reload:753" 
hidden="hidden">
                <wicket:message key="556"/>
diff --git 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomPanel.java
 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomPanel.java
index 0b89833..387026a 100644
--- 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomPanel.java
+++ 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomPanel.java
@@ -33,6 +33,7 @@ import java.util.List;
 import java.util.Map.Entry;
 import java.util.Set;
 
+import org.apache.commons.text.StringEscapeUtils;
 import org.apache.openmeetings.core.remote.KurentoHandler;
 import org.apache.openmeetings.core.remote.StreamProcessor;
 import org.apache.openmeetings.core.util.WebSocketHelper;
@@ -85,6 +86,7 @@ import org.apache.wicket.markup.head.PriorityHeaderItem;
 import org.apache.wicket.markup.html.WebMarkupContainer;
 import org.apache.wicket.markup.repeater.RepeatingView;
 import org.apache.wicket.model.IModel;
+import org.apache.wicket.model.Model;
 import org.apache.wicket.model.ResourceModel;
 import org.apache.wicket.protocol.ws.api.BaseWebSocketBehavior;
 import org.apache.wicket.protocol.ws.api.event.WebSocketPushPayload;
@@ -105,12 +107,13 @@ import com.github.openjson.JSONObject;
 import com.googlecode.wicket.jquery.core.JQueryBehavior;
 import com.googlecode.wicket.jquery.core.Options;
 import com.googlecode.wicket.jquery.ui.interaction.droppable.Droppable;
-import com.googlecode.wicket.jquery.ui.widget.dialog.DialogButton;
-import com.googlecode.wicket.jquery.ui.widget.dialog.DialogButtons;
-import com.googlecode.wicket.jquery.ui.widget.dialog.DialogIcon;
-import com.googlecode.wicket.jquery.ui.widget.dialog.MessageDialog;
 
+import 
de.agilecoders.wicket.core.markup.html.bootstrap.button.BootstrapAjaxLink;
+import de.agilecoders.wicket.core.markup.html.bootstrap.button.Buttons;
 import de.agilecoders.wicket.core.markup.html.bootstrap.dialog.Alert;
+import de.agilecoders.wicket.core.markup.html.bootstrap.dialog.Modal;
+import de.agilecoders.wicket.core.markup.html.bootstrap.dialog.Modal.Backdrop;
+import 
de.agilecoders.wicket.core.markup.html.bootstrap.dialog.TextContentModal;
 
 @AuthorizeInstantiation("Room")
 public class RoomPanel extends BasePanel {
@@ -167,9 +170,12 @@ public class RoomPanel extends BasePanel {
                                List<Client> mods = cm.listByRoom(r.getId(), c 
-> c.hasRight(Room.Right.moderator));
                                log.debug("RoomPanel::roomEnter, mods IS EMPTY 
? {}, is MOD ? {}", mods.isEmpty(), _c.hasRight(Room.Right.moderator));
                                if (mods.isEmpty()) {
-                                       waitApplyModeration.open(target);
+                                       showIdeaAlert(target, 
getString(r.isModerated() ? "641" : "498"));
                                }
                        }
+                       if (r.isWaitRecording()) {
+                               showIdeaAlert(target, getString("1315"));
+                       }
                        wb.update(target);
                }
 
@@ -193,7 +199,7 @@ public class RoomPanel extends BasePanel {
                }
        };
        private RedirectMessageDialog roomClosed;
-       private MessageDialog clientKicked, nooneCanHelp, waitApplyModeration;
+       private Modal<String> clientKicked;
        private Alert waitModerator;
 
        private RoomMenuPanel menu;
@@ -367,45 +373,6 @@ public class RoomPanel extends BasePanel {
                                room.setVisible(false);
                        }
                }
-               nooneCanHelp = new MessageDialog("noone-can-help", 
getString("204"), getString("696"), DialogButtons.OK, DialogIcon.LIGHT) {
-                       private static final long serialVersionUID = 1L;
-
-                       @Override
-                       public void onClose(IPartialPageRequestHandler handler, 
DialogButton button) {
-                               // no-op
-                       }
-               };
-               waitApplyModeration = new 
MessageDialog("wait-apply-moderation", getString("204"), 
getString(r.isModerated() ? "641" : "498"), DialogButtons.OK, DialogIcon.LIGHT) 
{
-                       private static final long serialVersionUID = 1L;
-
-                       @Override
-                       public void onClose(IPartialPageRequestHandler handler, 
DialogButton button) {
-                               // no-op
-                       }
-               };
-               if (r.isWaitRecording()) {
-                       add(new MessageDialog("wait-recording", 
getString("1316"), getString("1315"), DialogButtons.OK, DialogIcon.LIGHT) {
-                               private static final long serialVersionUID = 1L;
-
-                               @Override
-                               public void onConfigure(JQueryBehavior 
behavior) {
-                                       super.onConfigure(behavior);
-                                       behavior.setOption("autoOpen", true);
-                               }
-
-                               @Override
-                               public boolean isResizable() {
-                                       return false;
-                               }
-
-                               @Override
-                               public void onClose(IPartialPageRequestHandler 
handler, DialogButton button) {
-                                       //no-op
-                               }
-                       });
-               } else {
-                       add(new 
WebMarkupContainer("wait-recording").setVisible(false));
-               }
                RepeatingView groupstyles = new RepeatingView("groupstyle");
                add(groupstyles.setVisible(room.isVisible() && 
!r.getGroups().isEmpty()));
                if (room.isVisible()) {
@@ -449,15 +416,20 @@ public class RoomPanel extends BasePanel {
                if (waitModerator == null) {
                        createWaitModerator(false);
                }
-               add(room, accessDenied, eventDetail, waitModerator, 
nooneCanHelp, waitApplyModeration);
-               add(clientKicked = new MessageDialog("client-kicked", 
getString("797"), getString("606"), DialogButtons.OK, DialogIcon.ERROR) {
-                       private static final long serialVersionUID = 1L;
+               add(room, accessDenied, eventDetail, waitModerator);
+               add(clientKicked = new TextContentModal("client-kicked", new 
ResourceModel("606")));
+               clientKicked
+                       .header(new ResourceModel("797"))
+                       .setCloseOnEscapeKey(false)
+                       .setBackdrop(Backdrop.FALSE)
+                       .addButton(new BootstrapAjaxLink<>("button", 
Model.of(""), Buttons.Type.Outline_Primary, new ResourceModel("54")) {
+                               private static final long serialVersionUID = 1L;
 
-                       @Override
-                       public void onClose(IPartialPageRequestHandler handler, 
DialogButton button) {
-                               menu.exit(handler);
-                       }
-               });
+                               public void onClick(AjaxRequestTarget target) {
+                                       clientKicked.close(target);
+                                       menu.exit(target);
+                               }
+                       });
        }
 
        @Override
@@ -551,7 +523,7 @@ public class RoomPanel extends BasePanel {
                                                        if 
(_c.getUid().equals(uid)) {
                                                                
handler.add(room.setVisible(false));
                                                                
getMainPanel().getChat().toggle(handler, false);
-                                                               
clientKicked.open(handler);
+                                                               
clientKicked.show(handler);
                                                                cm.exitRoom(_c);
                                                        }
                                                }
@@ -710,8 +682,7 @@ public class RoomPanel extends BasePanel {
                List<Client> mods = cm.listByRoom(r.getId(), c -> 
c.hasRight(Room.Right.moderator));
                if (mods.isEmpty()) {
                        if (r.isModerated()) {
-                               //dialog
-                               nooneCanHelp.open(handler);
+                               showIdeaAlert(handler, getString("696"));
                                return;
                        } else {
                                // we found no-one we can ask, allow right
@@ -855,4 +826,13 @@ public class RoomPanel extends BasePanel {
                }
                return clazz;
        }
+
+       private void showIdeaAlert(IPartialPageRequestHandler handler, String 
msg) {
+               showAlert(handler, "info", msg, "far fa-lightbulb");
+       }
+       private void showAlert(IPartialPageRequestHandler handler, String type, 
String msg, String icon) {
+               handler.appendJavaScript("OmUtil.alert('" + type + "', '<i 
class=\"" + icon + "\"></i>&nbsp;"
+                               + StringEscapeUtils.escapeEcmaScript(msg)
+                               + "', 10000)");
+       }
 }
diff --git 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/RoomSidebar.java
 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/RoomSidebar.java
index 249f12f..550b5dd 100644
--- 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/RoomSidebar.java
+++ 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/RoomSidebar.java
@@ -171,7 +171,7 @@ public class RoomSidebar extends Panel {
 
                add(addFolder, settings, userCount.setOutputMarkupId(true));
                add(avSettings);
-               add(new ConfirmationDialog("confirm-kick", new 
ResourceModel("603"), new ResourceModel("605")) {
+               add(confirmKick = new ConfirmationDialog("confirm-kick", new 
ResourceModel("603"), new ResourceModel("605")) {
                        private static final long serialVersionUID = 1L;
 
                        @Override
diff --git 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/chat/Chat.html
 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/chat/Chat.html
index 3e45147..074eb91 100644
--- 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/chat/Chat.html
+++ 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/chat/Chat.html
@@ -28,8 +28,12 @@
        <form wicket:id="sendForm">
                <div wicket:id="toolbarContainer" class="tool-container"></div>
                <div class="chat-msg-container">
-                       <div id="chatMessage" wicket:id="chatMessage"></div>
-                       <div class="send" wicket:id="send" 
wicket:message="title:218">&crarr;</div>
+                       <div class="input-group">
+                               <div id="chatMessage" 
wicket:id="chatMessage"></div>
+                               <div class="input-group-append" 
id="button-addon4">
+                                       <button class="send btn 
btn-outline-primary" wicket:id="send" 
wicket:message="title:218">&crarr;</button>
+                               </div>
+                       </div>
                        <input type="hidden" wicket:id="activeTab" 
id="activeChatTab"/>
                </div>
        </form>
diff --git 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/chat/ChatForm.java
 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/chat/ChatForm.java
index b672352..28eb5b8 100644
--- 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/chat/ChatForm.java
+++ 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/chat/ChatForm.java
@@ -18,9 +18,17 @@
  */
 package org.apache.openmeetings.web.user.chat;
 
-import com.github.openjson.JSONObject;
-import com.googlecode.wicket.jquery.ui.form.button.AjaxButton;
-import com.googlecode.wicket.jquery.ui.plugins.wysiwyg.WysiwygEditor;
+import static org.apache.openmeetings.core.util.ChatWebSocketHelper.ID_ALL;
+import static 
org.apache.openmeetings.core.util.ChatWebSocketHelper.ID_ROOM_PREFIX;
+import static 
org.apache.openmeetings.core.util.ChatWebSocketHelper.ID_USER_PREFIX;
+import static org.apache.openmeetings.web.app.WebSession.getUserId;
+import static org.apache.openmeetings.web.room.RoomPanel.isModerator;
+
+import java.util.Arrays;
+import java.util.Date;
+import java.util.function.BooleanSupplier;
+import java.util.function.Predicate;
+
 import org.apache.openmeetings.core.util.ChatWebSocketHelper;
 import org.apache.openmeetings.db.dao.basic.ChatDao;
 import org.apache.openmeetings.db.dao.room.RoomDao;
@@ -36,6 +44,7 @@ import org.apache.wicket.ajax.AjaxRequestTarget;
 import org.apache.wicket.ajax.attributes.AjaxRequestAttributes;
 import org.apache.wicket.ajax.attributes.IAjaxCallListener;
 import org.apache.wicket.ajax.form.AjaxFormSubmitBehavior;
+import org.apache.wicket.ajax.markup.html.form.AjaxButton;
 import org.apache.wicket.markup.html.form.Form;
 import org.apache.wicket.markup.html.form.HiddenField;
 import org.apache.wicket.model.Model;
@@ -44,16 +53,8 @@ import org.apache.wicket.util.string.Strings;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-import java.util.Arrays;
-import java.util.Date;
-import java.util.function.BooleanSupplier;
-import java.util.function.Predicate;
-
-import static org.apache.openmeetings.core.util.ChatWebSocketHelper.ID_ALL;
-import static 
org.apache.openmeetings.core.util.ChatWebSocketHelper.ID_ROOM_PREFIX;
-import static 
org.apache.openmeetings.core.util.ChatWebSocketHelper.ID_USER_PREFIX;
-import static org.apache.openmeetings.web.app.WebSession.getUserId;
-import static org.apache.openmeetings.web.room.RoomPanel.isModerator;
+import com.github.openjson.JSONObject;
+import com.googlecode.wicket.jquery.ui.plugins.wysiwyg.WysiwygEditor;
 
 public class ChatForm extends Form<Void> {
        private static final long serialVersionUID = 1L;
diff --git a/openmeetings-web/src/main/webapp/css/raw-chat.css 
b/openmeetings-web/src/main/webapp/css/raw-chat.css
index 4a6d4e2..23325c6 100644
--- a/openmeetings-web/src/main/webapp/css/raw-chat.css
+++ b/openmeetings-web/src/main/webapp/css/raw-chat.css
@@ -80,7 +80,7 @@ html[dir="rtl"] #chat .messageArea .icons {
        position: relative;
 }
 #chatMessage {
-       margin-right: 22px;
+       width: calc(100% - 16px);
        height: var(--chat-msg-height);
        max-height: var(--chat-msg-height);
 }
@@ -116,11 +116,6 @@ html[dir="rtl"] #chat .messageArea .icons {
 }
 #chat .send {
        width: 16px;
-       display: inline-block;
-       position: absolute;
-       right: 0;
-       top: 0;
-       height: 60px;
        padding-left: 0;
        padding-right: 0;
        margin-right: 0;

Reply via email to