From 46571ccd77cf40e4faee44f26ac2647c6f97d1a7 Mon Sep 17 00:00:00 2001 From: Julian Lam Date: Mon, 14 Dec 2015 13:39:53 -0500 Subject: [PATCH] closes #3930 --- public/src/client/chats.js | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/public/src/client/chats.js b/public/src/client/chats.js index 0531c40de9..9f0103333e 100644 --- a/public/src/client/chats.js +++ b/public/src/client/chats.js @@ -27,6 +27,11 @@ define('forum/chats', ['components', 'string', 'sounds', 'forum/infinitescroll', Chats.scrollToBottom($('.expanded-chat ul')); Chats.initialised = true; + + if (ajaxify.data.hasOwnProperty('meta') && ajaxify.data.meta.hasOwnProperty('uid')) { + // This is an active chat, focus on the input box + components.get('chat/input').focus(); + } }; Chats.getRecipientUid = function() { @@ -93,8 +98,6 @@ define('forum/chats', ['components', 'string', 'sounds', 'forum/infinitescroll', if (prev.length) { Chats.switchChat(parseInt(prev.attr('data-uid'), 10), prev.attr('data-username')); } - - $('[component="chat/input"]').focus(); }); Mousetrap.bind('ctrl+down', function() { var activeContact = $('.chats-list .bg-primary'), @@ -103,8 +106,6 @@ define('forum/chats', ['components', 'string', 'sounds', 'forum/infinitescroll', if (next.length) { Chats.switchChat(parseInt(next.attr('data-uid'), 10), next.attr('data-username')); } - - $('[component="chat/input"]').focus(); }); Mousetrap.bind('up', function(e) { if (e.target === components.get('chat/input').get(0)) { @@ -195,11 +196,12 @@ define('forum/chats', ['components', 'string', 'sounds', 'forum/infinitescroll', var contactEl = $('.chats-list [data-uid="' + uid + '"]'); Chats.loadChatSince(uid, $('.chat-content'), 'recent'); - Chats.addSendHandlers(uid, $('[component="chat/input"]'), $('[data-action="send"]')); + Chats.addSendHandlers(uid, components.get('chat/input'), $('[data-action="send"]')); contactEl.addClass('bg-primary').siblings().removeClass('bg-primary'); - $('[component="chat/title"]').text(username); - $('[component="chat/messages"]').attr('data-uid', uid).attr('data-username', username); - $('[component="breadcrumb/current"]').text(username); + components.get('chat/title').text(username); + components.get('chat/messages').attr('data-uid', uid).attr('data-username', username); + components.get('breadcrumb/current').text(username); + components.get('chat/input').focus(); if (window.history && window.history.pushState) { var url = 'chats/' + utils.slugify(username);