import BundleColumnError from './bundle_column_error';
import { Compose, Notifications, HomeTimeline, CommunityTimeline, PublicTimeline, HashtagTimeline, FavouritedStatuses } from '../../ui/util/async-components';
+import detectPassiveEvents from 'detect-passive-events';
import { scrollRight } from '../../../scroll';
const componentMap = {
}
componentDidMount() {
+ this.node.addEventListener('wheel', this.handleWheel, detectPassiveEvents ? { passive: true } : false);
this.lastIndex = getIndex(this.context.router.history.location.pathname);
this.setState({ shouldAnimate: true });
}
this.setState({ shouldAnimate: true });
}
+ componentWillUnmount () {
+ this.node.removeEventListener('wheel', this.handleWheel);
+ }
+
handleChildrenContentChange() {
if (!this.props.singleColumn) {
- scrollRight(this.node);
+ scrollRight(this.node, this.node.scrollWidth - window.innerWidth);
}
}
}
}
+ handleWheel = () => {
+ if (typeof this._interruptScrollAnimation !== 'function') {
+ return;
+ }
+
+ this._interruptScrollAnimation();
+ }
+
setRef = (node) => {
this.node = node;
}
};
};
-export const scrollRight = (node) => scroll(node, 'scrollLeft', node.scrollWidth);
+export const scrollRight = (node, position) => scroll(node, 'scrollLeft', position);
export const scrollTop = (node) => scroll(node, 'scrollTop', 0);