PLT-3332 Removed multiple change channel header messages (#3390)
* disabled submit upon form submission to avoid asynchronous errors * Used state instead of props
Этот коммит содержится в:
коммит произвёл
Christopher Speller
родитель
3ec92b8c60
Коммит
5be6661f12
@@ -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
|
||||
|
||||
Ссылка в новой задаче
Block a user