|
|
@ -38,11 +38,23 @@ const StatusList = React.createClass({
|
|
|
|
handleScroll (e) {
|
|
|
|
handleScroll (e) {
|
|
|
|
const { scrollTop, scrollHeight, clientHeight } = e.target;
|
|
|
|
const { scrollTop, scrollHeight, clientHeight } = e.target;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
this._oldScrollPosition = scrollHeight - scrollTop;
|
|
|
|
|
|
|
|
|
|
|
|
if (scrollTop === scrollHeight - clientHeight) {
|
|
|
|
if (scrollTop === scrollHeight - clientHeight) {
|
|
|
|
this.props.onScrollToBottom();
|
|
|
|
this.props.onScrollToBottom();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
},
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
componentDidUpdate (prevProps) {
|
|
|
|
|
|
|
|
if (prevProps.statusIds.size < this.props.statusIds.size && this._oldScrollPosition) {
|
|
|
|
|
|
|
|
const node = ReactDOM.findDOMNode(this);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (node.scrollTop > 0) {
|
|
|
|
|
|
|
|
node.scrollTop = node.scrollHeight - this._oldScrollPosition;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
|
|
render () {
|
|
|
|
render () {
|
|
|
|
const { statusIds, onScrollToBottom, trackScroll } = this.props;
|
|
|
|
const { statusIds, onScrollToBottom, trackScroll } = this.props;
|
|
|
|
|
|
|
|
|
|
|
|