|
|
|
@ -82,15 +82,19 @@ export default class ScrollableList extends PureComponent {
|
|
|
|
|
lastScrollWasSynthetic = false;
|
|
|
|
|
scrollToTopOnMouseIdle = false;
|
|
|
|
|
|
|
|
|
|
_getScrollingElement = () => {
|
|
|
|
|
if (this.props.bindToDocument) {
|
|
|
|
|
return (document.scrollingElement || document.body);
|
|
|
|
|
} else {
|
|
|
|
|
return this.node;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
setScrollTop = newScrollTop => {
|
|
|
|
|
if (this.getScrollTop() !== newScrollTop) {
|
|
|
|
|
this.lastScrollWasSynthetic = true;
|
|
|
|
|
|
|
|
|
|
if (this.props.bindToDocument) {
|
|
|
|
|
document.scrollingElement.scrollTop = newScrollTop;
|
|
|
|
|
} else {
|
|
|
|
|
this.node.scrollTop = newScrollTop;
|
|
|
|
|
}
|
|
|
|
|
this._getScrollingElement().scrollTop = newScrollTop;
|
|
|
|
|
}
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
@ -151,15 +155,15 @@ export default class ScrollableList extends PureComponent {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
getScrollTop = () => {
|
|
|
|
|
return this.props.bindToDocument ? document.scrollingElement.scrollTop : this.node.scrollTop;
|
|
|
|
|
return this._getScrollingElement().scrollTop;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
getScrollHeight = () => {
|
|
|
|
|
return this.props.bindToDocument ? document.scrollingElement.scrollHeight : this.node.scrollHeight;
|
|
|
|
|
return this._getScrollingElement().scrollHeight;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
getClientHeight = () => {
|
|
|
|
|
return this.props.bindToDocument ? document.scrollingElement.clientHeight : this.node.clientHeight;
|
|
|
|
|
return this._getScrollingElement().clientHeight;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
updateScrollBottom = (snapshot) => {
|
|
|
|
|