summaryrefslogtreecommitdiffstats
path: root/webapp/components/edit_channel_purpose_modal.jsx
diff options
context:
space:
mode:
Diffstat (limited to 'webapp/components/edit_channel_purpose_modal.jsx')
-rw-r--r--webapp/components/edit_channel_purpose_modal.jsx33
1 files changed, 10 insertions, 23 deletions
diff --git a/webapp/components/edit_channel_purpose_modal.jsx b/webapp/components/edit_channel_purpose_modal.jsx
index 31d8e1bbd..bfb4d181a 100644
--- a/webapp/components/edit_channel_purpose_modal.jsx
+++ b/webapp/components/edit_channel_purpose_modal.jsx
@@ -1,17 +1,16 @@
// Copyright (c) 2015 Mattermost, Inc. All Rights Reserved.
// See License.txt for license information.
-import $ from 'jquery';
-import ReactDOM from 'react-dom';
+import PreferenceStore from 'stores/preference_store.jsx';
+
import * as AsyncClient from 'utils/async_client.jsx';
import Client from 'client/web_client.jsx';
import Constants from 'utils/constants.jsx';
-import {FormattedMessage} from 'react-intl';
-import PreferenceStore from 'stores/preference_store.jsx';
-import {Modal} from 'react-bootstrap';
import * as Utils from 'utils/utils.jsx';
import React from 'react';
+import {Modal} from 'react-bootstrap';
+import {FormattedMessage} from 'react-intl';
export default class EditChannelPurposeModal extends React.Component {
constructor(props) {
@@ -26,30 +25,22 @@ export default class EditChannelPurposeModal extends React.Component {
this.state = {
serverError: '',
+ show: true,
submitted: false
};
}
componentDidMount() {
PreferenceStore.addChangeListener(this.onPreferenceChange);
+ Utils.placeCaretAtEnd(this.refs.purpose);
}
componentWillUnmount() {
PreferenceStore.removeChangeListener(this.onPreferenceChange);
}
- componentDidUpdate() {
- if (this.props.show) {
- $(ReactDOM.findDOMNode(this.refs.purpose)).focus();
- }
- }
-
handleHide() {
- this.setState({serverError: '', submitted: false});
-
- if (this.props.onModalDismissed) {
- this.props.onModalDismissed();
- }
+ this.setState({show: false});
}
onPreferenceChange() {
@@ -75,7 +66,7 @@ export default class EditChannelPurposeModal extends React.Component {
Client.updateChannelPurpose(
this.props.channel.id,
- ReactDOM.findDOMNode(this.refs.purpose).value.trim(),
+ this.refs.purpose.value.trim(),
() => {
AsyncClient.getChannel(this.props.channel.id);
@@ -92,10 +83,6 @@ export default class EditChannelPurposeModal extends React.Component {
}
render() {
- if (!this.props.show) {
- return null;
- }
-
let serverError = null;
if (this.state.serverError) {
serverError = (
@@ -145,8 +132,9 @@ export default class EditChannelPurposeModal extends React.Component {
<Modal
className='modal-edit-channel-purpose'
ref='modal'
- show={this.props.show}
+ show={this.state.show}
onHide={this.handleHide}
+ onExited={this.props.onModalDismissed}
>
<Modal.Header closeButton={true}>
<Modal.Title>
@@ -202,7 +190,6 @@ export default class EditChannelPurposeModal extends React.Component {
}
EditChannelPurposeModal.propTypes = {
- show: React.PropTypes.bool.isRequired,
channel: React.PropTypes.object,
onModalDismissed: React.PropTypes.func.isRequired
};