mirror of
https://github.com/NodeBB/NodeBB.git
synced 2026-02-03 13:19:51 +01:00
removed duplicated code in chats
This commit is contained in:
@@ -38,10 +38,6 @@ define('forum/chats', ['components', 'string', 'sounds', 'forum/infinitescroll',
|
||||
};
|
||||
|
||||
Chats.addEventListeners = function() {
|
||||
var inputEl = $('.chat-input'),
|
||||
sendEl = $('.expanded-chat button[data-action="send"]'),
|
||||
popoutEl = $('[data-action="pop-out"]');
|
||||
|
||||
$('.chats-list').on('click', 'li', function(e) {
|
||||
var env = utils.findBootstrapEnvironment();
|
||||
if (env === 'xs' || env === 'sm') {
|
||||
@@ -51,29 +47,9 @@ define('forum/chats', ['components', 'string', 'sounds', 'forum/infinitescroll',
|
||||
}
|
||||
});
|
||||
|
||||
inputEl.on('keypress', function(e) {
|
||||
if(e.which === 13 && !e.shiftKey) {
|
||||
Chats.sendMessage(Chats.getRecipientUid(), inputEl);
|
||||
return false;
|
||||
}
|
||||
});
|
||||
Chats.addSendHandlers(Chats.getRecipientUid(), $('.chat-input'), $('.expanded-chat button[data-action="send"]'));
|
||||
|
||||
inputEl.on('keyup', function() {
|
||||
var val = !!$(this).val();
|
||||
if ((val && $(this).attr('data-typing') === 'true') || (!val && $(this).attr('data-typing') === 'false')) {
|
||||
return;
|
||||
}
|
||||
|
||||
Chats.notifyTyping(Chats.getRecipientUid(), val);
|
||||
$(this).attr('data-typing', val);
|
||||
});
|
||||
|
||||
sendEl.on('click', function(e) {
|
||||
Chats.sendMessage(Chats.getRecipientUid(), inputEl);
|
||||
return false;
|
||||
});
|
||||
|
||||
popoutEl.on('click', function() {
|
||||
$('[data-action="pop-out"]').on('click', function() {
|
||||
var username = $('.expanded-chat').attr('data-username'),
|
||||
uid = Chats.getRecipientUid(),
|
||||
text = components.get('chat/input').val();
|
||||
@@ -109,6 +85,32 @@ define('forum/chats', ['components', 'string', 'sounds', 'forum/infinitescroll',
|
||||
});
|
||||
};
|
||||
|
||||
Chats.addSendHandlers = function(toUid, inputEl, sendEl) {
|
||||
|
||||
inputEl.off('keypress').on('keypress', function(e) {
|
||||
if (e.which === 13 && !e.shiftKey) {
|
||||
Chats.sendMessage(toUid, inputEl);
|
||||
return false;
|
||||
}
|
||||
});
|
||||
|
||||
inputEl.off('keyup').on('keyup', function() {
|
||||
var val = !!$(this).val();
|
||||
if ((val && $(this).attr('data-typing') === 'true') || (!val && $(this).attr('data-typing') === 'false')) {
|
||||
return;
|
||||
}
|
||||
|
||||
Chats.notifyTyping(toUid, val);
|
||||
$(this).attr('data-typing', val);
|
||||
});
|
||||
|
||||
sendEl.off('click').on('click', function(e) {
|
||||
Chats.sendMessage(toUid, inputEl);
|
||||
inputEl.focus();
|
||||
return false;
|
||||
});
|
||||
};
|
||||
|
||||
function loadChatSince(since) {
|
||||
var uid = Chats.getRecipientUid();
|
||||
if (!uid) {
|
||||
|
||||
@@ -302,7 +302,7 @@ define('chat', ['components', 'taskbar', 'string', 'sounds', 'forum/chats', 'tra
|
||||
return false;
|
||||
});
|
||||
|
||||
addSendHandler(chatModal);
|
||||
Chats.addSendHandlers(chatModal.attr('touid'), chatModal.find('#chat-message-input'), chatModal.find('#chat-message-send-btn'));
|
||||
|
||||
getChatMessages(chatModal, function() {
|
||||
checkStatus(chatModal);
|
||||
@@ -435,32 +435,6 @@ define('chat', ['components', 'taskbar', 'string', 'sounds', 'forum/chats', 'tra
|
||||
});
|
||||
}
|
||||
|
||||
function addSendHandler(chatModal) {
|
||||
var input = chatModal.find('#chat-message-input');
|
||||
input.off('keypress').on('keypress', function(e) {
|
||||
if (e.which === 13 && !e.shiftKey) {
|
||||
Chats.sendMessage(chatModal.attr('touid'), input);
|
||||
return false;
|
||||
}
|
||||
});
|
||||
|
||||
input.off('keyup').on('keyup', function() {
|
||||
var val = !!$(this).val();
|
||||
if ((val && $(this).attr('data-typing') === 'true') || (!val && $(this).attr('data-typing') === 'false')) {
|
||||
return;
|
||||
}
|
||||
|
||||
Chats.notifyTyping(chatModal.attr('touid'), val);
|
||||
$(this).attr('data-typing', val);
|
||||
});
|
||||
|
||||
chatModal.find('#chat-message-send-btn').off('click').on('click', function(e){
|
||||
Chats.sendMessage(chatModal.attr('touid'), input);
|
||||
input.focus();
|
||||
return false;
|
||||
});
|
||||
}
|
||||
|
||||
module.appendChatMessage = function(chatModal, data, done) {
|
||||
var chatContent = chatModal.find('.chat-content'),
|
||||
lastSpeaker = parseInt(chatContent.find('.chat-message').last().attr('data-uid'), 10);
|
||||
|
||||
Reference in New Issue
Block a user