Do not keep scroll to bottom in inactive channels
This commit is contained in:
parent
7fb92fee64
commit
2f84b01427
@ -4,6 +4,7 @@ const $ = require("jquery");
|
||||
const options = require("./options");
|
||||
const socket = require("./socket");
|
||||
const templates = require("../views");
|
||||
const chat = $("#chat");
|
||||
const input = $("#input");
|
||||
const Mousetrap = require("mousetrap");
|
||||
|
||||
@ -29,8 +30,11 @@ function renderPreview(preview, msg) {
|
||||
preview.shown = preview.shown && options.shouldOpenMessagePreview(preview.type);
|
||||
|
||||
const container = msg.closest(".chat");
|
||||
const channelId = container.data("id");
|
||||
const activeChannelId = chat.find(".chan.active").data("id");
|
||||
|
||||
let bottom = false;
|
||||
if (container.length) {
|
||||
if (container.length && activeChannelId === channelId) {
|
||||
bottom = container.isScrollBottom();
|
||||
}
|
||||
|
||||
@ -41,12 +45,14 @@ function renderPreview(preview, msg) {
|
||||
previewContainer
|
||||
.append(templates.msg_preview({preview: preview}));
|
||||
|
||||
if (activeChannelId === channelId) {
|
||||
if (preview.shown && bottom) {
|
||||
handleImageInPreview(msg.find(".toggle-content"), container);
|
||||
}
|
||||
|
||||
container.trigger("keepToBottom");
|
||||
}
|
||||
}
|
||||
|
||||
$("#chat").on("click", ".text .toggle-button", function() {
|
||||
const self = $(this);
|
||||
|
@ -46,7 +46,9 @@ function processReceivedMessage(data) {
|
||||
data.msg
|
||||
);
|
||||
|
||||
if (activeChannelId === targetId) {
|
||||
container.trigger("keepToBottom");
|
||||
}
|
||||
|
||||
notifyMessage(targetId, channel, data);
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user