diff --git a/public/src/client/chats.js b/public/src/client/chats.js index 2e9221023f..95fa9266b7 100644 --- a/public/src/client/chats.js +++ b/public/src/client/chats.js @@ -2,7 +2,7 @@ /* globals define, app, ajaxify, utils, socket, templates */ -define('forum/chats', ['string', 'sounds', 'forum/infinitescroll', 'translator'], function(S, sounds, infinitescroll, translator) { +define('forum/chats', ['components', 'string', 'sounds', 'forum/infinitescroll', 'translator'], function(components, S, sounds, infinitescroll, translator) { var Chats = { initialised: false }; @@ -69,9 +69,14 @@ define('forum/chats', ['string', 'sounds', 'forum/infinitescroll', 'translator'] uid = Chats.getRecipientUid(); if (app.previousUrl && app.previousUrl.match(/chats/)) { + var text = components.get('chat/input').val(); ajaxify.go('chats', function() { app.openChat(username, uid); }, true); + + $(window).one('action:chat.loaded', function() { + components.get('chat/input').val(text); + }); } else { window.history.go(-1); } diff --git a/public/src/modules/chat.js b/public/src/modules/chat.js index f2a994cf1e..2a272e8c0c 100644 --- a/public/src/modules/chat.js +++ b/public/src/modules/chat.js @@ -1,7 +1,7 @@ "use strict"; /* globals app, config, define, socket, templates, utils, ajaxify */ -define('chat', ['taskbar', 'string', 'sounds', 'forum/chats', 'translator'], function(taskbar, S, sounds, Chats, translator) { +define('chat', ['components', 'taskbar', 'string', 'sounds', 'forum/chats', 'translator'], function(components, taskbar, S, sounds, Chats, translator) { var module = {}; var newMessage = false; @@ -205,6 +205,11 @@ define('chat', ['taskbar', 'string', 'sounds', 'forum/chats', 'translator'], fun }); function gotoChats() { + var text = components.get('chat/input').val(); + $(window).one('action:ajaxify.end', function() { + components.get('chat/input').val(text); + }); + ajaxify.go('chats/' + utils.slugify(username)); module.close(chatModal); }