Merge pull request #483 from matrix-org/dbkr/scrollpanel_start_at_bottom

Add 'startAtBottom' flag
This commit is contained in:
Matthew Hodgson 2016-09-16 22:38:21 +01:00 committed by GitHub
commit 00d2fd471d

View file

@ -77,6 +77,15 @@ module.exports = React.createClass({
*/ */
stickyBottom: React.PropTypes.bool, stickyBottom: React.PropTypes.bool,
/* startAtBottom: if set to true, the view is assumed to start
* scrolled to the bottom.
* XXX: It's likley this is unecessary and can be derived from
* stickyBottom, but I'm adding an extra parameter to ensure
* behaviour stays the same for other uses of ScrollPanel.
* If so, let's remove this parameter down the line.
*/
startAtBottom: React.PropTypes.bool,
/* onFillRequest(backwards): a callback which is called on scroll when /* onFillRequest(backwards): a callback which is called on scroll when
* the user nears the start (backwards = true) or end (backwards = * the user nears the start (backwards = true) or end (backwards =
* false) of the list. * false) of the list.
@ -113,6 +122,7 @@ module.exports = React.createClass({
getDefaultProps: function() { getDefaultProps: function() {
return { return {
stickyBottom: true, stickyBottom: true,
startAtBottom: true,
onFillRequest: function(backwards) { return q(false); }, onFillRequest: function(backwards) { return q(false); },
onScroll: function() {}, onScroll: function() {},
}; };
@ -324,7 +334,7 @@ module.exports = React.createClass({
* child list.) * child list.)
*/ */
resetScrollState: function() { resetScrollState: function() {
this.scrollState = {stuckAtBottom: true}; this.scrollState = {stuckAtBottom: this.props.startAtBottom};
}, },
/** /**