From 8b16a63cc2e9a8a9bdb2cb9faa9138b026e1e5cd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bar=C4=B1=C5=9F=20Soner=20U=C5=9Fakl=C4=B1?= Date: Tue, 3 Apr 2018 15:45:32 -0400 Subject: [PATCH] closes #6419 --- public/src/client/chats.js | 5 ++--- public/src/client/chats/messages.js | 10 +++++++++- 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/public/src/client/chats.js b/public/src/client/chats.js index 8b4257805c..4b1e3b0fd5 100644 --- a/public/src/client/chats.js +++ b/public/src/client/chats.js @@ -119,9 +119,8 @@ define('forum/chats', [ Chats.addCharactersLeftHandler = function (parent) { var element = parent.find('[component="chat/input"]'); - element.on('keyup', function () { - parent.find('[component="chat/message/length"]').text(element.val().length); - parent.find('[component="chat/message/remaining"]').text(config.maximumChatMessageLength - element.val().length); + element.on('change keyup paste', function () { + messages.updateRemainingLength(parent); }); }; diff --git a/public/src/client/chats/messages.js b/public/src/client/chats/messages.js index 6a772dd6e5..9828f4d065 100644 --- a/public/src/client/chats/messages.js +++ b/public/src/client/chats/messages.js @@ -18,7 +18,7 @@ define('forum/chats/messages', ['components', 'sounds', 'translator', 'benchpres inputEl.val(''); inputEl.removeAttr('data-mid'); - + messages.updateRemainingLength(inputEl.parent()); $(window).trigger('action:chat.sent', { roomId: roomId, message: msg, @@ -32,6 +32,7 @@ define('forum/chats/messages', ['components', 'sounds', 'translator', 'benchpres }, function (err) { if (err) { inputEl.val(msg); + messages.updateRemainingLength(inputEl.parent()); if (err.message === '[[error:email-not-confirmed-chat]]') { return app.showEmailConfirmWarning(err); } @@ -56,12 +57,19 @@ define('forum/chats/messages', ['components', 'sounds', 'translator', 'benchpres if (err) { inputEl.val(msg); inputEl.attr('data-mid', mid); + messages.updateRemainingLength(inputEl.parent()); return app.alertError(err.message); } }); } }; + messages.updateRemainingLength = function (parent) { + var element = parent.find('[component="chat/input"]'); + parent.find('[component="chat/message/length"]').text(element.val().length); + parent.find('[component="chat/message/remaining"]').text(config.maximumChatMessageLength - element.val().length); + }; + messages.appendChatMessage = function (chatContentEl, data) { var lastSpeaker = parseInt(chatContentEl.find('.chat-message').last().attr('data-uid'), 10); var lasttimestamp = parseInt(chatContentEl.find('.chat-message').last().attr('data-timestamp'), 10);