From fec13735a76dd011a60d73ddba235797f79ecb0d Mon Sep 17 00:00:00 2001 From: MitarashiDango Date: Thu, 31 Aug 2017 00:30:25 +0900 Subject: [PATCH] error fixed (when loading pages in single column mode.) (#4746) --- .../features/ui/components/columns_area.js | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) diff --git a/app/javascript/mastodon/features/ui/components/columns_area.js b/app/javascript/mastodon/features/ui/components/columns_area.js index 2dd71dbc6..a4c60d968 100644 --- a/app/javascript/mastodon/features/ui/components/columns_area.js +++ b/app/javascript/mastodon/features/ui/components/columns_area.js @@ -48,18 +48,31 @@ export default class ColumnsArea extends ImmutablePureComponent { } componentDidMount() { - this.node.addEventListener('wheel', this.handleWheel, detectPassiveEvents ? { passive: true } : false); + if (!this.props.singleColumn) { + this.node.addEventListener('wheel', this.handleWheel, detectPassiveEvents ? { passive: true } : false); + } this.lastIndex = getIndex(this.context.router.history.location.pathname); this.setState({ shouldAnimate: true }); } - componentDidUpdate() { + componentWillUpdate(nextProps) { + if (this.props.singleColumn !== nextProps.singleColumn && nextProps.singleColumn) { + this.node.removeEventListener('wheel', this.handleWheel); + } + } + + componentDidUpdate(prevProps) { + if (this.props.singleColumn !== prevProps.singleColumn && !this.props.singleColumn) { + this.node.addEventListener('wheel', this.handleWheel, detectPassiveEvents ? { passive: true } : false); + } this.lastIndex = getIndex(this.context.router.history.location.pathname); this.setState({ shouldAnimate: true }); } componentWillUnmount () { - this.node.removeEventListener('wheel', this.handleWheel); + if (!this.props.singleColumn) { + this.node.removeEventListener('wheel', this.handleWheel); + } } handleChildrenContentChange() {