From 361a606edb8d9325fe8962d722f5703907cce4f4 Mon Sep 17 00:00:00 2001 From: unarist Date: Mon, 22 May 2017 22:01:27 +0900 Subject: [PATCH] Keep children of the column-collapsable until the transition is completed (#3218) --- .../mastodon/components/column_collapsable.js | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/app/javascript/mastodon/components/column_collapsable.js b/app/javascript/mastodon/components/column_collapsable.js index fc4ed309c..c7c953acd 100644 --- a/app/javascript/mastodon/components/column_collapsable.js +++ b/app/javascript/mastodon/components/column_collapsable.js @@ -13,30 +13,35 @@ class ColumnCollapsable extends React.PureComponent { state = { collapsed: true, + animating: false, }; handleToggleCollapsed = () => { const currentState = this.state.collapsed; - this.setState({ collapsed: !currentState }); + this.setState({ collapsed: !currentState, animating: true }); if (!currentState && this.props.onCollapse) { this.props.onCollapse(); } } + handleTransitionEnd = () => { + this.setState({ animating: false }); + } + render () { const { icon, title, fullHeight, children } = this.props; - const { collapsed } = this.state; + const { collapsed, animating } = this.state; return ( -
+
- {!collapsed && children} + {(!collapsed || animating) && children}
);