diff options
author | Joram Wilander <jwawilander@gmail.com> | 2016-11-04 11:21:14 -0400 |
---|---|---|
committer | Harrison Healey <harrisonmhealey@gmail.com> | 2016-11-04 11:21:14 -0400 |
commit | e6f7a47c99075a39d862308659b904bfaf64a11a (patch) | |
tree | 863f6eb80a2367fb080437d9e037fca283e3c270 /webapp/components/channel_info_modal.jsx | |
parent | dbdd719c51d061dfc327644d4b2ca89a0595b4f1 (diff) | |
download | chat-e6f7a47c99075a39d862308659b904bfaf64a11a.tar.gz chat-e6f7a47c99075a39d862308659b904bfaf64a11a.tar.bz2 chat-e6f7a47c99075a39d862308659b904bfaf64a11a.zip |
PLT-4507 Don't mount modals until opened to make resetting state automatic (#4358)
* Don't mount modals until opened to make resetting state automatic
* Move dimiss handler to be fired after modal exit animation complete
Diffstat (limited to 'webapp/components/channel_info_modal.jsx')
-rw-r--r-- | webapp/components/channel_info_modal.jsx | 22 |
1 files changed, 11 insertions, 11 deletions
diff --git a/webapp/components/channel_info_modal.jsx b/webapp/components/channel_info_modal.jsx index 7e0ff3873..fce4b75db 100644 --- a/webapp/components/channel_info_modal.jsx +++ b/webapp/components/channel_info_modal.jsx @@ -11,16 +11,16 @@ import * as TextFormatting from 'utils/text_formatting.jsx'; import React from 'react'; export default class ChannelInfoModal extends React.Component { - shouldComponentUpdate(nextProps) { - if (nextProps.show !== this.props.show) { - return true; - } + constructor(props) { + super(props); - if (!Utils.areObjectsEqual(nextProps.channel, this.props.channel)) { - return true; - } + this.onHide = this.onHide.bind(this); + + this.state = {show: true}; + } - return false; + onHide() { + this.setState({show: false}); } render() { @@ -83,8 +83,9 @@ export default class ChannelInfoModal extends React.Component { return ( <Modal dialogClassName='about-modal' - show={this.props.show} - onHide={this.props.onHide} + show={this.state.show} + onHide={this.onHide} + onExited={this.props.onHide} > <Modal.Header closeButton={true}> <Modal.Title> @@ -123,7 +124,6 @@ export default class ChannelInfoModal extends React.Component { } ChannelInfoModal.propTypes = { - show: React.PropTypes.bool.isRequired, onHide: React.PropTypes.func.isRequired, channel: React.PropTypes.object.isRequired }; |