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 467faec [OPENMEETINGS-2008] chat clean affects all users 467faec is described below commit 467faece48c246a191f8c5d9c709b31f91da51a4 Author: Maxim Solodovnik <solomax...@gmail.com> AuthorDate: Mon Feb 11 15:01:35 2019 +0700 [OPENMEETINGS-2008] chat clean affects all users --- .../org/apache/openmeetings/web/user/chat/ChatToolbar.java | 12 +++++++----- .../java/org/apache/openmeetings/web/user/chat/raw-chat.js | 6 +++++- 2 files changed, 12 insertions(+), 6 deletions(-) diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/chat/ChatToolbar.java b/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/chat/ChatToolbar.java index a635d3c..b87f1d8 100644 --- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/chat/ChatToolbar.java +++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/chat/ChatToolbar.java @@ -32,6 +32,7 @@ import java.util.List; import javax.servlet.http.HttpServletResponse; +import org.apache.openmeetings.core.util.WebSocketHelper; import org.apache.openmeetings.db.dao.basic.ChatDao; import org.apache.openmeetings.db.entity.basic.ChatMessage; import org.apache.openmeetings.db.entity.user.User; @@ -51,6 +52,7 @@ import org.apache.wicket.spring.injection.annot.SpringBean; import org.apache.wicket.util.resource.IResourceStream; import org.apache.wicket.util.resource.StringResourceStream; +import com.github.openjson.JSONObject; import com.googlecode.wicket.jquery.core.IJQueryWidget.JQueryWidget; import com.googlecode.wicket.jquery.ui.plugins.wysiwyg.toolbar.IWysiwygToolbar; @@ -191,19 +193,19 @@ public class ChatToolbar extends Panel implements IWysiwygToolbar { () -> { if (admin) { chatDao.deleteGlobal(); - clean(target, ID_ALL); + WebSocketHelper.sendAll(cleanMsg(ID_ALL).toString()); } return true; } , r -> { if (admin || isModerator(cm, getUserId(), r.getId())) { chatDao.deleteRoom(r.getId()); - clean(target, scope); + WebSocketHelper.sendRoom(r.getId(), cleanMsg(scope)); } return true; }, u -> { chatDao.deleteUser(u.getId()); - clean(target, scope); + WebSocketHelper.sendUser(u.getId(), cleanMsg(scope).toString()); return true; }); } @@ -221,8 +223,8 @@ public class ChatToolbar extends Panel implements IWysiwygToolbar { })); } - private static void clean(AjaxRequestTarget target, String scope) { - target.appendJavaScript("$('#" + scope + "').html('')"); + private static JSONObject cleanMsg(String scope) { + return new JSONObject().put("type", "chat").put("action", "clean").put("scope", scope); } void update(AjaxRequestTarget target) { diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/chat/raw-chat.js b/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/chat/raw-chat.js index f15537c..95d4ec2 100644 --- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/chat/raw-chat.js +++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/chat/raw-chat.js @@ -439,7 +439,11 @@ $(function() { if (m) { switch(m.type) { case "chat": - Chat.addMessage(m); + if ('clean' === m.action) { + $('#' + m.scope).html(''); + } else { + Chat.addMessage(m); + } break; case "typing": if (typeof(typingActivity) === "function") {