From b2da02d6767884b60244f81a63f4e9107ce07c81 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bar=C4=B1=C5=9F=20Soner=20U=C5=9Fakl=C4=B1?= Date: Tue, 28 Jun 2022 14:14:40 -0400 Subject: [PATCH] feat: add client side filter:chat.send, closes #10729 --- public/src/client/chats/messages.js | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/public/src/client/chats/messages.js b/public/src/client/chats/messages.js index 92cae2dc75..06ebd8f1a0 100644 --- a/public/src/client/chats/messages.js +++ b/public/src/client/chats/messages.js @@ -7,9 +7,9 @@ define('forum/chats/messages', [ ], function (components, translator, Benchpress, hooks, bootbox, alerts, messagesModule, api) { const messages = {}; - messages.sendMessage = function (roomId, inputEl) { - const message = inputEl.val(); - const mid = inputEl.attr('data-mid'); + messages.sendMessage = async function (roomId, inputEl) { + let message = inputEl.val(); + let mid = inputEl.attr('data-mid'); if (!message.trim().length) { return; @@ -18,7 +18,10 @@ define('forum/chats/messages', [ inputEl.val(''); inputEl.removeAttr('data-mid'); messages.updateRemainingLength(inputEl.parent()); - hooks.fire('action:chat.sent', { roomId, message, mid }); + const payload = { roomId, message, mid }; + // TODO: move this to success callback of api.post/put call? + hooks.fire('action:chat.sent', payload); + ({ roomId, message, mid } = await hooks.fire('filter:chat.send', payload)); if (!mid) { api.post(`/chats/${roomId}`, { message }).catch((err) => {