Fix column swiping (#4211)

This fixes broken behavior and enable animation only on swiping.
remotes/1727458204337373841/tmp_refs/heads/signup-info-prompt
unarist 2017-07-16 00:25:04 +09:00 committed by Eugen Rochko
parent 05cd37097c
commit 695439775e
1 changed files with 16 additions and 1 deletions

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 ? (