|
|
|
@ -107,6 +107,8 @@ |
|
|
|
|
unless message?.rid |
|
|
|
|
return |
|
|
|
|
|
|
|
|
|
instance = Blaze.getView($('.messages-box .wrapper')[0]).templateInstance() |
|
|
|
|
|
|
|
|
|
if ChatMessage.findOne message._id |
|
|
|
|
wrapper = $('.messages-box .wrapper') |
|
|
|
|
msgElement = $("##{message._id}", wrapper) |
|
|
|
@ -114,6 +116,15 @@ |
|
|
|
|
wrapper.animate({ |
|
|
|
|
scrollTop: pos |
|
|
|
|
}, 500) |
|
|
|
|
msgElement.addClass('highlight') |
|
|
|
|
|
|
|
|
|
setTimeout -> |
|
|
|
|
messages = wrapper[0] |
|
|
|
|
instance.atBottom = messages.scrollTop >= messages.scrollHeight - messages.clientHeight; |
|
|
|
|
|
|
|
|
|
setTimeout -> |
|
|
|
|
msgElement.removeClass('highlight') |
|
|
|
|
, 3000 |
|
|
|
|
else |
|
|
|
|
room = getRoom message.rid |
|
|
|
|
room.isLoading.set true |
|
|
|
@ -134,7 +145,6 @@ |
|
|
|
|
if item.t isnt 'command' |
|
|
|
|
ChatMessage.upsert {_id: item._id}, item |
|
|
|
|
|
|
|
|
|
instance = Blaze.getView($('.messages-box .wrapper')[0]).templateInstance() |
|
|
|
|
Meteor.defer -> |
|
|
|
|
readMessage.refreshUnreadMark(message.rid, true) |
|
|
|
|
RoomManager.updateMentionsMarksOfRoom typeName |
|
|
|
@ -144,11 +154,18 @@ |
|
|
|
|
wrapper.animate({ |
|
|
|
|
scrollTop: pos |
|
|
|
|
}, 500) |
|
|
|
|
|
|
|
|
|
msgElement.addClass('highlight') |
|
|
|
|
|
|
|
|
|
setTimeout -> |
|
|
|
|
room.isLoading.set false |
|
|
|
|
instance.atBottom = !result.moreAfter |
|
|
|
|
messages = wrapper[0] |
|
|
|
|
instance.atBottom = !result.moreAfter && messages.scrollTop >= messages.scrollHeight - messages.clientHeight; |
|
|
|
|
, 500 |
|
|
|
|
|
|
|
|
|
setTimeout -> |
|
|
|
|
msgElement.removeClass('highlight') |
|
|
|
|
, 3000 |
|
|
|
|
room.loaded += result.messages.length |
|
|
|
|
room.hasMore.set result.moreBefore |
|
|
|
|
room.hasMoreNext.set result.moreAfter |
|
|
|
|