Use early return instead of else

[MAILPOET-3848]
This commit is contained in:
Jan Lysý
2021-10-14 08:58:31 +02:00
committed by Veljko V
parent dccfc98792
commit 4f58fa52d7
2 changed files with 66 additions and 64 deletions

View File

@@ -86,51 +86,51 @@ class EventsConditions extends React.Component {
e.preventDefault();
if (!this.isValid()) {
this.validate();
} else {
const { history } = this.props;
const {
eventSlug, afterTimeType, afterTimeNumber, event, segment, eventOptionValue,
} = this.state;
const options = {
group: this.email.slug,
event: eventSlug,
afterTimeType,
};
if (afterTimeNumber) options.afterTimeNumber = afterTimeNumber;
options.sendTo = (event.sendToLists) ? 'segment' : 'user';
if (segment) options.segment = segment;
if (eventOptionValue) {
options.meta = JSON.stringify({ option: eventOptionValue });
}
MailPoet.Ajax.post({
api_version: window.mailpoet_api_version,
endpoint: 'newsletters',
action: 'create',
data: {
type: 'automatic',
subject: MailPoet.I18n.t('draftNewsletterTitle'),
options,
},
}).done((response) => {
MailPoet.trackEvent('Emails > New Automatic Email Created', {
'MailPoet Premium version': window.mailpoet_premium_version,
'MailPoet Free version': window.mailpoet_version,
'Event type': options.event,
'Schedule type': options.afterTimeType,
'Schedule value': options.afterTimeNumber,
});
history.push(`/template/${response.data.id}`);
}).fail((response) => {
if (response.errors.length > 0) {
this.context.notices.error(
response.errors.map((error) => <p key={error.message}>{error.message}</p>),
{ scroll: true }
);
}
});
return;
}
const { history } = this.props;
const {
eventSlug, afterTimeType, afterTimeNumber, event, segment, eventOptionValue,
} = this.state;
const options = {
group: this.email.slug,
event: eventSlug,
afterTimeType,
};
if (afterTimeNumber) options.afterTimeNumber = afterTimeNumber;
options.sendTo = (event.sendToLists) ? 'segment' : 'user';
if (segment) options.segment = segment;
if (eventOptionValue) {
options.meta = JSON.stringify({ option: eventOptionValue });
}
MailPoet.Ajax.post({
api_version: window.mailpoet_api_version,
endpoint: 'newsletters',
action: 'create',
data: {
type: 'automatic',
subject: MailPoet.I18n.t('draftNewsletterTitle'),
options,
},
}).done((response) => {
MailPoet.trackEvent('Emails > New Automatic Email Created', {
'MailPoet Premium version': window.mailpoet_premium_version,
'MailPoet Free version': window.mailpoet_version,
'Event type': options.event,
'Schedule type': options.afterTimeType,
'Schedule value': options.afterTimeNumber,
});
history.push(`/template/${response.data.id}`);
}).fail((response) => {
if (response.errors.length > 0) {
this.context.notices.error(
response.errors.map((error) => <p key={error.message}>{error.message}</p>),
{ scroll: true }
);
}
});
}
getEvent(eventSlug) {

View File

@@ -51,31 +51,33 @@ class NewsletterWelcome extends React.Component {
handleNext(event) {
event.preventDefault();
if (!this.isValid()) {
jQuery('#welcome_scheduling').parsley().validate();
} else {
MailPoet.Ajax.post({
api_version: window.mailpoet_api_version,
endpoint: 'newsletters',
action: 'create',
data: _.extend({}, this.state, {
type: 'welcome',
subject: MailPoet.I18n.t('draftNewsletterTitle'),
}),
}).done((response) => {
this.showTemplateSelection(response.data.id);
}).fail((response) => {
if (response.errors.length > 0) {
MailPoet.Notice.error(
response.errors.map((error) => error.message),
{ scroll: true }
);
}
});
this.validate();
return;
}
MailPoet.Ajax.post({
api_version: window.mailpoet_api_version,
endpoint: 'newsletters',
action: 'create',
data: _.extend({}, this.state, {
type: 'welcome',
subject: MailPoet.I18n.t('draftNewsletterTitle'),
}),
}).done((response) => {
this.showTemplateSelection(response.data.id);
}).fail((response) => {
if (response.errors.length > 0) {
MailPoet.Notice.error(
response.errors.map((error) => error.message),
{ scroll: true }
);
}
});
}
isValid = () => jQuery('#welcome_scheduling').parsley().isValid();
validate = () => jQuery('#welcome_scheduling').parsley().validate();
showTemplateSelection(newsletterId) {
this.props.history.push(`/template/${newsletterId}`);
}