If read receipts avatar isn't on screen, animate it from the top of the screen.

This commit is contained in:
David Baker 2015-11-19 11:33:15 +00:00
parent 09b0d221df
commit f7fe871fee

View File

@ -131,11 +131,15 @@ module.exports = React.createClass({
var oldAvatarDomNode = document.getElementById('mx_readAvatar'+member.userId);
var startStyles = [];
var enterTransitionOpts = [];
if (oldAvatarDomNode && this.readAvatarRect) {
var oldRect = oldAvatarDomNode.getBoundingClientRect();
var topOffset = oldRect.top - this.readAvatarRect.top;
var oldNodeTop = -15; // For avatars that weren't on screen, act as if they were just off the top
if (oldAvatarDomNode) {
oldNodeTop = oldAvatarDomNode.getBoundingClientRect().top;
}
if (oldAvatarDomNode.style.left !== '0px') {
if (this.readAvatarRect) {
var topOffset = oldNodeTop - this.readAvatarRect.top;
if (oldAvatarDomNode && oldAvatarDomNode.style.left !== '0px') {
var leftOffset = oldAvatarDomNode.style.left;
// start at the old height and in the old h pos
startStyles.push({ top: topOffset, left: leftOffset });