mirror of
https://github.com/NodeBB/NodeBB.git
synced 2026-03-03 19:11:22 +01:00
fix: keep chat input in view after adding new messages
This commit is contained in:
@@ -100,7 +100,6 @@ define('forum/chats/messages', [
|
|||||||
newMessage.appendTo(chatContentEl);
|
newMessage.appendTo(chatContentEl);
|
||||||
messages.onMessagesAddedToDom(newMessage);
|
messages.onMessagesAddedToDom(newMessage);
|
||||||
if (isAtBottom || msgData.self) {
|
if (isAtBottom || msgData.self) {
|
||||||
messages.scrollToBottomAfterImageLoad(chatContentEl);
|
|
||||||
// remove some message elements if there are too many
|
// remove some message elements if there are too many
|
||||||
const chatMsgEls = chatContentEl.find('[data-mid]');
|
const chatMsgEls = chatContentEl.find('[data-mid]');
|
||||||
if (chatMsgEls.length > 150) {
|
if (chatMsgEls.length > 150) {
|
||||||
@@ -108,6 +107,12 @@ define('forum/chats/messages', [
|
|||||||
chatMsgEls.slice(0, removeCount).remove();
|
chatMsgEls.slice(0, removeCount).remove();
|
||||||
chatContentEl.find('[data-mid].new').removeClass('new');
|
chatContentEl.find('[data-mid].new').removeClass('new');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
messages.scrollToBottomAfterImageLoad(chatContentEl);
|
||||||
|
const $composer = chatContentEl.siblings('[component="chat/composer"]');
|
||||||
|
if ($composer.length) {
|
||||||
|
$composer[0].scrollIntoView(true);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
hooks.fire('action:chat.received', {
|
hooks.fire('action:chat.received', {
|
||||||
|
|||||||
Reference in New Issue
Block a user