[Glitch] Replace onScrollToBottom with onLoadMore

Port b0664a5e6c to glitch-soc
master
Thibaut Girka 7 years ago committed by ThibG
parent a81ed7b205
commit 8b98afa781
  1. 12
      app/javascript/flavours/glitch/components/scrollable_list.js
  2. 2
      app/javascript/flavours/glitch/components/status_list.js
  3. 4
      app/javascript/flavours/glitch/features/account_timeline/index.js
  4. 4
      app/javascript/flavours/glitch/features/bookmarked_statuses/index.js
  5. 4
      app/javascript/flavours/glitch/features/favourited_statuses/index.js
  6. 4
      app/javascript/flavours/glitch/features/notifications/index.js
  7. 5
      app/javascript/flavours/glitch/features/ui/containers/status_list_container.js

@ -17,7 +17,7 @@ export default class ScrollableList extends PureComponent {
static propTypes = {
scrollKey: PropTypes.string.isRequired,
onScrollToBottom: PropTypes.func,
onLoadMore: PropTypes.func.isRequired,
onScrollToTop: PropTypes.func,
onScroll: PropTypes.func,
trackScroll: PropTypes.bool,
@ -44,9 +44,11 @@ export default class ScrollableList extends PureComponent {
const { scrollTop, scrollHeight, clientHeight } = this.node;
const offset = scrollHeight - scrollTop - clientHeight;
if (400 > offset && this.props.onScrollToBottom && !this.props.isLoading) {
this.props.onScrollToBottom();
} else if (scrollTop < 100 && this.props.onScrollToTop) {
if (400 > offset && this.props.onLoadMore && !this.props.isLoading) {
this.props.onLoadMore();
}
if (scrollTop < 100 && this.props.onScrollToTop) {
this.props.onScrollToTop();
} else if (this.props.onScroll) {
this.props.onScroll();
@ -144,7 +146,7 @@ export default class ScrollableList extends PureComponent {
handleLoadMore = (e) => {
e.preventDefault();
this.props.onScrollToBottom();
this.props.onLoadMore();
}
render () {

@ -12,7 +12,7 @@ export default class StatusList extends ImmutablePureComponent {
scrollKey: PropTypes.string.isRequired,
statusIds: ImmutablePropTypes.list.isRequired,
featuredStatusIds: ImmutablePropTypes.list,
onScrollToBottom: PropTypes.func,
onLoadMore: PropTypes.func,
onScrollToTop: PropTypes.func,
onScroll: PropTypes.func,
trackScroll: PropTypes.bool,

@ -56,7 +56,7 @@ export default class AccountTimeline extends ImmutablePureComponent {
}
}
handleScrollToBottom = () => {
handleLoadMore = () => {
if (!this.props.isLoading && this.props.hasMore) {
this.props.dispatch(expandAccountTimeline(this.props.params.accountId, this.props.withReplies));
}
@ -84,7 +84,7 @@ export default class AccountTimeline extends ImmutablePureComponent {
featuredStatusIds={featuredStatusIds}
isLoading={isLoading}
hasMore={hasMore}
onScrollToBottom={this.handleScrollToBottom}
onLoadMore={this.handleLoadMore}
/>
</Column>
);

@ -62,7 +62,7 @@ export default class Bookmarks extends ImmutablePureComponent {
this.column = c;
}
handleScrollToBottom = debounce(() => {
handleLoadMore = debounce(() => {
this.props.dispatch(expandBookmarkedStatuses());
}, 300, { leading: true })
@ -89,7 +89,7 @@ export default class Bookmarks extends ImmutablePureComponent {
scrollKey={`bookmarked_statuses-${columnId}`}
hasMore={hasMore}
isLoading={isLoading}
onScrollToBottom={this.handleScrollToBottom}
onLoadMore={this.handleLoadMore}
/>
</Column>
);

@ -62,7 +62,7 @@ export default class Favourites extends ImmutablePureComponent {
this.column = c;
}
handleScrollToBottom = debounce(() => {
handleLoadMore = debounce(() => {
this.props.dispatch(expandFavouritedStatuses());
}, 300, { leading: true })
@ -89,7 +89,7 @@ export default class Favourites extends ImmutablePureComponent {
scrollKey={`favourited_statuses-${columnId}`}
hasMore={hasMore}
isLoading={isLoading}
onScrollToBottom={this.handleScrollToBottom}
onLoadMore={this.handleLoadMore}
/>
</Column>
);

@ -67,7 +67,7 @@ export default class Notifications extends React.PureComponent {
trackScroll: true,
};
handleScrollToBottom = debounce(() => {
handleLoadMore = debounce(() => {
this.props.dispatch(scrollTopNotifications(false));
this.props.dispatch(expandNotifications());
}, 300, { leading: true });
@ -153,7 +153,7 @@ export default class Notifications extends React.PureComponent {
isLoading={isLoading}
hasMore={hasMore}
emptyMessage={emptyMessage}
onScrollToBottom={this.handleScrollToBottom}
onLoadMore={this.handleLoadMore}
onScrollToTop={this.handleScrollToTop}
onScroll={this.handleScroll}
shouldUpdateScroll={shouldUpdateScroll}

@ -60,10 +60,7 @@ const makeMapStateToProps = () => {
const mapDispatchToProps = (dispatch, { timelineId, loadMore }) => ({
onScrollToBottom: debounce(() => {
dispatch(scrollTopTimeline(timelineId, false));
loadMore();
}, 300, { leading: true }),
onLoadMore: debounce(loadMore, 300, { leading: true }),
onScrollToTop: debounce(() => {
dispatch(scrollTopTimeline(timelineId, true));

Loading…
Cancel
Save