PLT-3332 Removed multiple change channel header messages (#3390)

* disabled submit upon form submission to avoid asynchronous errors

* Used state instead of props
Этот коммит содержится в:
David Lu
2016-06-27 08:13:16 -04:00
коммит произвёл Christopher Speller
родитель 3ec92b8c60
Коммит 5be6661f12
2 изменённых файлов: 14 добавлений и 3 удалений

Просмотреть файл

@@ -36,7 +36,8 @@ class EditChannelHeaderModal extends React.Component {
this.state = {
header: props.channel.header,
serverError: ''
serverError: '',
submitted: false
};
}
@@ -55,7 +56,8 @@ class EditChannelHeaderModal extends React.Component {
componentWillReceiveProps(nextProps) {
if (this.props !== nextProps) {
this.setState({
header: nextProps.channel.header
header: nextProps.channel.header,
submitted: false
});
}
}
@@ -77,6 +79,8 @@ class EditChannelHeaderModal extends React.Component {
}
handleSubmit() {
this.setState({submitted: true});
Client.updateChannelHeader(
this.props.channel.id,
this.state.header,
@@ -102,6 +106,7 @@ class EditChannelHeaderModal extends React.Component {
onShow() {
const textarea = ReactDOM.findDOMNode(this.refs.textarea);
Utils.placeCaretAtEnd(textarea);
this.submitted = false;
}
onHide() {
@@ -190,6 +195,7 @@ class EditChannelHeaderModal extends React.Component {
/>
</button>
<button
disabled={this.state.submitted}
type='button'
className='btn btn-primary'
onClick={this.handleSubmit}

Просмотреть файл

@@ -31,7 +31,8 @@ export default class EditChannelPurposeModal extends React.Component {
this.ctrlSend = PreferenceStore.getBool(Constants.Preferences.CATEGORY_ADVANCED_SETTINGS, 'send_on_ctrl_enter');
this.state = {
serverError: ''
serverError: '',
submitted: false
};
}
@@ -75,6 +76,9 @@ export default class EditChannelPurposeModal extends React.Component {
if (!this.props.channel) {
return;
}
this.setState({submitted: true});
Client.updateChannelPurpose(
this.props.channel.id,
ReactDOM.findDOMNode(this.refs.purpose).value.trim(),
@@ -189,6 +193,7 @@ export default class EditChannelPurposeModal extends React.Component {
<button
type='button'
className='btn btn-primary'
disabled={this.state.submitted}
onClick={this.handleSave}
>
<FormattedMessage