about summary refs log tree commit diff
path: root/app/assets/javascripts/components/components/status_list.jsx
diff options
context:
space:
mode:
Diffstat (limited to 'app/assets/javascripts/components/components/status_list.jsx')
-rw-r--r--app/assets/javascripts/components/components/status_list.jsx13
1 files changed, 11 insertions, 2 deletions
diff --git a/app/assets/javascripts/components/components/status_list.jsx b/app/assets/javascripts/components/components/status_list.jsx
index 7fa81e512..381653d5d 100644
--- a/app/assets/javascripts/components/components/status_list.jsx
+++ b/app/assets/javascripts/components/components/status_list.jsx
@@ -8,14 +8,23 @@ const StatusList = React.createClass({
     statuses: ImmutablePropTypes.list.isRequired,
     onReply: React.PropTypes.func,
     onReblog: React.PropTypes.func,
-    onFavourite: React.PropTypes.func
+    onFavourite: React.PropTypes.func,
+    onScrollToBottom: React.PropTypes.func
   },
 
   mixins: [PureRenderMixin],
 
+  handleScroll (e) {
+    const { scrollTop, scrollHeight, clientHeight } = e.target;
+
+    if (scrollTop === scrollHeight - clientHeight) {
+      this.props.onScrollToBottom();
+    }
+  },
+
   render () {
     return (
-      <div style={{ overflowY: 'scroll', flex: '1 1 auto' }} className='scrollable'>
+      <div style={{ overflowY: 'scroll', flex: '1 1 auto' }} className='scrollable' onScroll={this.handleScroll}>
         <div>
           {this.props.statuses.map((status) => {
             return <Status key={status.get('id')} status={status} onReply={this.props.onReply} onReblog={this.props.onReblog} onFavourite={this.props.onFavourite} />;