From e33c21ee011b45af22eedc43bcfc7dc853c82e9b Mon Sep 17 00:00:00 2001 From: Rodrigo Nascimento Date: Tue, 8 Sep 2015 09:51:08 -0300 Subject: [PATCH] Keep scroll on load more messages --- client/lib/RoomHistoryManager.coffee | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/client/lib/RoomHistoryManager.coffee b/client/lib/RoomHistoryManager.coffee index 2b3beb90695..417dba22f53 100644 --- a/client/lib/RoomHistoryManager.coffee +++ b/client/lib/RoomHistoryManager.coffee @@ -19,7 +19,6 @@ room.isLoading.set true - #$('.messages-box .wrapper').data('previous-height', $('.messages-box .wrapper').get(0)?.scrollHeight - $('.messages-box .wrapper').get(0)?.scrollTop) # ScrollListener.setLoader true lastMessage = ChatMessage.findOne({rid: rid}, {sort: {ts: 1}}) # lastMessage ?= ChatMessage.findOne({rid: rid}, {sort: {ts: 1}}) @@ -30,7 +29,14 @@ ts = new Date Meteor.call 'loadHistory', rid, ts, limit, 0, (err, result) -> + wrapper = $('.messages-box .wrapper').get(0) + previousHeight = wrapper.scrollHeight + ChatMessage.insert item for item in result + + heightDiff = wrapper.scrollHeight - previousHeight + wrapper.scrollTop += heightDiff + room.isLoading.set false room.loaded += result.length if result.length < limit