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 = {
|
this.state = {
|
||||||
header: props.channel.header,
|
header: props.channel.header,
|
||||||
serverError: ''
|
serverError: '',
|
||||||
|
submitted: false
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -55,7 +56,8 @@ class EditChannelHeaderModal extends React.Component {
|
|||||||
componentWillReceiveProps(nextProps) {
|
componentWillReceiveProps(nextProps) {
|
||||||
if (this.props !== nextProps) {
|
if (this.props !== nextProps) {
|
||||||
this.setState({
|
this.setState({
|
||||||
header: nextProps.channel.header
|
header: nextProps.channel.header,
|
||||||
|
submitted: false
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -77,6 +79,8 @@ class EditChannelHeaderModal extends React.Component {
|
|||||||
}
|
}
|
||||||
|
|
||||||
handleSubmit() {
|
handleSubmit() {
|
||||||
|
this.setState({submitted: true});
|
||||||
|
|
||||||
Client.updateChannelHeader(
|
Client.updateChannelHeader(
|
||||||
this.props.channel.id,
|
this.props.channel.id,
|
||||||
this.state.header,
|
this.state.header,
|
||||||
@@ -102,6 +106,7 @@ class EditChannelHeaderModal extends React.Component {
|
|||||||
onShow() {
|
onShow() {
|
||||||
const textarea = ReactDOM.findDOMNode(this.refs.textarea);
|
const textarea = ReactDOM.findDOMNode(this.refs.textarea);
|
||||||
Utils.placeCaretAtEnd(textarea);
|
Utils.placeCaretAtEnd(textarea);
|
||||||
|
this.submitted = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
onHide() {
|
onHide() {
|
||||||
@@ -190,6 +195,7 @@ class EditChannelHeaderModal extends React.Component {
|
|||||||
/>
|
/>
|
||||||
</button>
|
</button>
|
||||||
<button
|
<button
|
||||||
|
disabled={this.state.submitted}
|
||||||
type='button'
|
type='button'
|
||||||
className='btn btn-primary'
|
className='btn btn-primary'
|
||||||
onClick={this.handleSubmit}
|
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.ctrlSend = PreferenceStore.getBool(Constants.Preferences.CATEGORY_ADVANCED_SETTINGS, 'send_on_ctrl_enter');
|
||||||
|
|
||||||
this.state = {
|
this.state = {
|
||||||
serverError: ''
|
serverError: '',
|
||||||
|
submitted: false
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -75,6 +76,9 @@ export default class EditChannelPurposeModal extends React.Component {
|
|||||||
if (!this.props.channel) {
|
if (!this.props.channel) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
this.setState({submitted: true});
|
||||||
|
|
||||||
Client.updateChannelPurpose(
|
Client.updateChannelPurpose(
|
||||||
this.props.channel.id,
|
this.props.channel.id,
|
||||||
ReactDOM.findDOMNode(this.refs.purpose).value.trim(),
|
ReactDOM.findDOMNode(this.refs.purpose).value.trim(),
|
||||||
@@ -189,6 +193,7 @@ export default class EditChannelPurposeModal extends React.Component {
|
|||||||
<button
|
<button
|
||||||
type='button'
|
type='button'
|
||||||
className='btn btn-primary'
|
className='btn btn-primary'
|
||||||
|
disabled={this.state.submitted}
|
||||||
onClick={this.handleSave}
|
onClick={this.handleSave}
|
||||||
>
|
>
|
||||||
<FormattedMessage
|
<FormattedMessage
|
||||||
|
|||||||
Ссылка в новой задаче
Block a user