diff --git a/public/src/client/chats.js b/public/src/client/chats.js index 3dca09bc38..c7cb1921ae 100644 --- a/public/src/client/chats.js +++ b/public/src/client/chats.js @@ -83,6 +83,7 @@ define('forum/chats', [ Chats.addRenameHandler(ajaxify.data.roomId, $('[component="chat/room/name"]')); Chats.addScrollHandler(ajaxify.data.roomId, ajaxify.data.uid, $('.chat-content')); + Chats.addCharactersLeftHandler(components.get('chat/input')); }; Chats.addScrollHandler = function (roomId, uid, el) { @@ -123,6 +124,12 @@ define('forum/chats', [ }); }; + Chats.addCharactersLeftHandler = function (element) { + element.on('keyup', function () { + $('[component="chat/message/length"]').text(element.val().length); + }); + }; + Chats.addEditDeleteHandler = function (element, roomId) { element.on('click', '[data-action="edit"]', function () { var messageId = $(this).parents('[data-mid]').attr('data-mid'); diff --git a/public/src/modules/chat.js b/public/src/modules/chat.js index d05829c79d..d245e5ce23 100644 --- a/public/src/modules/chat.js +++ b/public/src/modules/chat.js @@ -266,6 +266,8 @@ define('chat', [ Chats.addScrollHandler(chatModal.attr('data-roomid'), data.uid, chatModal.find('.chat-content')); + Chats.addCharactersLeftHandler(chatModal.find('[component="chat/input"]')); + taskbar.push('chat', chatModal.attr('UUID'), { title: data.roomName || (data.users.length ? data.users[0].username : ''), roomId: data.roomId, diff --git a/src/socket.io/modules.js b/src/socket.io/modules.js index 184609129a..e3f7cc171b 100644 --- a/src/socket.io/modules.js +++ b/src/socket.io/modules.js @@ -145,6 +145,7 @@ SocketModules.chats.loadRoom = function (socket, data, callback) { results.roomData.groupChat = results.roomData.hasOwnProperty('groupChat') ? results.roomData.groupChat : results.users.length > 2; results.roomData.isOwner = parseInt(results.roomData.owner, 10) === socket.uid; results.roomData.maximumUsersInChatRoom = parseInt(meta.config.maximumUsersInChatRoom, 10) || 0; + results.roomData.maximumChatMessageLength = parseInt(meta.config.maximumChatMessageLength) || 1000; results.roomData.showUserInput = !results.roomData.maximumUsersInChatRoom || results.roomData.maximumUsersInChatRoom > 2; next(null, results.roomData); },