|
|
@ -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; |
|
|
|
|
|
|
|
|
|
|
|