Merge pull request #496 from davibe/restore-scroll

restore scroll position after loading previous messages
This commit is contained in:
Jérémie Astori 2016-07-28 00:48:08 -04:00 committed by GitHub
commit a7fe19deca

View File

@ -353,11 +353,19 @@ $(function() {
var documentFragment = buildChannelMessages(data.chan, data.messages); var documentFragment = buildChannelMessages(data.chan, data.messages);
var chan = chat var chan = chat
.find("#chan-" + data.chan) .find("#chan-" + data.chan)
.find(".messages") .find(".messages");
.prepend(documentFragment)
.end(); // get the scrollable wrapper around messages
var scrollable = chan.closest(".chat");
var heightOld = chan.height();
chan.prepend(documentFragment).end();
// restore scroll position
var position = chan.height() - heightOld;
scrollable.scrollTop(position);
if (data.messages.length !== 100) { if (data.messages.length !== 100) {
chan.find(".show-more").removeClass("show"); scrollable.find(".show-more").removeClass("show");
} }
}); });