Fix column swiping (#4211)

This fixes broken behavior and enable animation only on swiping.
This commit is contained in:
unarist 2017-07-16 00:25:04 +09:00 committed by Eugen Rochko
parent 05cd37097c
commit 695439775e

View File

@ -33,8 +33,22 @@ export default class ColumnsArea extends ImmutablePureComponent {
children: PropTypes.node,
};
state = {
shouldAnimate: false,
}
componentWillReceiveProps() {
this.setState({ shouldAnimate: false });
}
componentDidMount() {
this.lastIndex = getIndex(this.context.router.history.location.pathname);
this.setState({ shouldAnimate: true });
}
componentDidUpdate() {
this.lastIndex = getIndex(this.context.router.history.location.pathname);
this.setState({ shouldAnimate: true });
}
handleSwipe = (index) => {
@ -74,9 +88,10 @@ export default class ColumnsArea extends ImmutablePureComponent {
render () {
const { columns, children, singleColumn } = this.props;
const { shouldAnimate } = this.state;
const columnIndex = getIndex(this.context.router.history.location.pathname);
const shouldAnimate = Math.abs(this.lastIndex - columnIndex) === 1;
this.pendingIndex = null;
if (singleColumn) {
return columnIndex !== -1 ? (