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