This commit is contained in:
Guillermo Giuliana 2021-01-05 21:02:35 -03:00 committed by GitHub
parent 1ea4509e4f
commit 49dc1ab56c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 20 additions and 4 deletions

View File

@ -14,6 +14,7 @@ import Button from 'core-components/button';
import Header from 'core-components/header'; import Header from 'core-components/header';
import Listing from 'core-components/listing'; import Listing from 'core-components/listing';
import Loading from 'core-components/loading'; import Loading from 'core-components/loading';
import Message from 'core-components/message';
import Form from 'core-components/form'; import Form from 'core-components/form';
import FormField from 'core-components/form-field'; import FormField from 'core-components/form-field';
import SubmitButton from 'core-components/submit-button'; import SubmitButton from 'core-components/submit-button';
@ -30,6 +31,7 @@ class AdminPanelCustomResponses extends React.Component {
formLoading: false, formLoading: false,
selectedIndex: -1, selectedIndex: -1,
errors: {}, errors: {},
error:'',
originalForm: { originalForm: {
title: '', title: '',
content: TextEditor.createEmpty(), content: TextEditor.createEmpty(),
@ -95,11 +97,16 @@ class AdminPanelCustomResponses extends React.Component {
<SubmitButton type="secondary" size="small">{i18n('SAVE')}</SubmitButton> <SubmitButton type="secondary" size="small">{i18n('SAVE')}</SubmitButton>
</div> </div>
</div> </div>
{this.state.error ? this.renderErrorMessage() : null}
</Form> </Form>
</div> </div>
); );
} }
renderErrorMessage() {
return(
<Message className="admin-panel-custom-responses__message" type="error">{i18n(this.state.error)}</Message>
)
}
renderOptionalButtons() { renderOptionalButtons() {
return ( return (
<div className="admin-panel-custom-responses__optional-buttons"> <div className="admin-panel-custom-responses__optional-buttons">
@ -190,9 +197,13 @@ class AdminPanelCustomResponses extends React.Component {
language: _.includes(allowedLanguages, form.language) ? form.language : allowedLanguages[0] language: _.includes(allowedLanguages, form.language) ? form.language : allowedLanguages[0]
} }
}).then(() => { }).then(() => {
this.setState({error: ''});
this.retrieveCustomResponses(); this.retrieveCustomResponses();
this.onItemChange(-1); this.onItemChange(-1);
}).catch(this.onItemChange.bind(this, -1)); }).catch((e) => {
this.onItemChange.bind(this, -1)
this.setState({error: e.message, formLoading:false});
});
} }
} }

View File

@ -7,6 +7,11 @@
float: right; float: right;
} }
&__message {
margin-top: 10px;
text-align: center;
}
&__actions, &__actions,
&__optional-buttons { &__optional-buttons {
display: flex; display: flex;

View File

@ -37,7 +37,7 @@ class AddCustomResponseController extends Controller {
'requestData' => [ 'requestData' => [
'name' => [ 'name' => [
'validation' => DataValidator::notBlank()->length(5, 100), 'validation' => DataValidator::notBlank()->length(5, 100),
'error' => ERRORS::INVALID_NAME 'error' => ERRORS::INVALID_TITLE
], ],
'content' => [ 'content' => [
'validation' => DataValidator::content(), 'validation' => DataValidator::content(),