fix issue with scrolling on image preview
This commit is contained in:
@@ -113,8 +113,10 @@ class MessagesView extends React.Component {
|
|||||||
componentDidUpdate(prevProps, prevState) {
|
componentDidUpdate(prevProps, prevState) {
|
||||||
if (this.messagesScroller) {
|
if (this.messagesScroller) {
|
||||||
if (prevState.topic != this.state.topic || prevState.messages.length != this.state.messages.length) {
|
if (prevState.topic != this.state.topic || prevState.messages.length != this.state.messages.length) {
|
||||||
|
// New message
|
||||||
this.messagesScroller.scrollTop = this.messagesScroller.scrollHeight - this.state.scrollPosition;
|
this.messagesScroller.scrollTop = this.messagesScroller.scrollHeight - this.state.scrollPosition;
|
||||||
} else if (prevProps.viewportHeight > this.props.viewportHeight) {
|
} else if (prevProps.viewportHeight > this.props.viewportHeight) {
|
||||||
|
// Componet changed height.
|
||||||
this.messagesScroller.scrollTop += prevProps.viewportHeight - this.props.viewportHeight;
|
this.messagesScroller.scrollTop += prevProps.viewportHeight - this.props.viewportHeight;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -332,6 +334,7 @@ class MessagesView extends React.Component {
|
|||||||
if (node) {
|
if (node) {
|
||||||
node.addEventListener('scroll', this.handleScrollEvent);
|
node.addEventListener('scroll', this.handleScrollEvent);
|
||||||
this.messagesScroller = node;
|
this.messagesScroller = node;
|
||||||
|
this.messagesScroller.scrollTop = this.messagesScroller.scrollHeight - this.state.scrollPosition;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -2898,6 +2898,7 @@ function isPeerRestricted(acs) {
|
|||||||
class MessagesView extends react__WEBPACK_IMPORTED_MODULE_0___default.a.Component {
|
class MessagesView extends react__WEBPACK_IMPORTED_MODULE_0___default.a.Component {
|
||||||
constructor(props) {
|
constructor(props) {
|
||||||
super(props);
|
super(props);
|
||||||
|
console.log("Constructor call");
|
||||||
this.state = MessagesView.getDerivedStateFromProps(props, {});
|
this.state = MessagesView.getDerivedStateFromProps(props, {});
|
||||||
this.leave = this.leave.bind(this);
|
this.leave = this.leave.bind(this);
|
||||||
this.sendImageAttachment = this.sendImageAttachment.bind(this);
|
this.sendImageAttachment = this.sendImageAttachment.bind(this);
|
||||||
@@ -2927,12 +2928,14 @@ class MessagesView extends react__WEBPACK_IMPORTED_MODULE_0___default.a.Componen
|
|||||||
|
|
||||||
componentDidMount() {
|
componentDidMount() {
|
||||||
if (this.messagesScroller) {
|
if (this.messagesScroller) {
|
||||||
|
console.log("componentDidMount addEventListener scroll");
|
||||||
this.messagesScroller.addEventListener('scroll', this.handleScrollEvent);
|
this.messagesScroller.addEventListener('scroll', this.handleScrollEvent);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
componentWillUnmount() {
|
componentWillUnmount() {
|
||||||
if (this.messagesScroller) {
|
if (this.messagesScroller) {
|
||||||
|
console.log("componentDidMount removeEventListener scroll");
|
||||||
this.messagesScroller.removeEventListener('scroll', this.handleScrollEvent);
|
this.messagesScroller.removeEventListener('scroll', this.handleScrollEvent);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -3160,6 +3163,7 @@ class MessagesView extends react__WEBPACK_IMPORTED_MODULE_0___default.a.Componen
|
|||||||
if (node) {
|
if (node) {
|
||||||
node.addEventListener('scroll', this.handleScrollEvent);
|
node.addEventListener('scroll', this.handleScrollEvent);
|
||||||
this.messagesScroller = node;
|
this.messagesScroller = node;
|
||||||
|
this.messagesScroller.scrollTop = this.messagesScroller.scrollHeight - this.state.scrollPosition;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
File diff suppressed because one or more lines are too long
+1
-1
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
Reference in New Issue
Block a user