From 4f58fa52d780b5be9a788e79b6d8e64ebcd65d0e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20Lys=C3=BD?= Date: Thu, 14 Oct 2021 08:58:31 +0200 Subject: [PATCH] Use early return instead of else [MAILPOET-3848] --- .../automatic_emails/events_conditions.jsx | 88 +++++++++---------- .../src/newsletters/types/welcome/welcome.jsx | 42 ++++----- 2 files changed, 66 insertions(+), 64 deletions(-) diff --git a/assets/js/src/newsletters/automatic_emails/events_conditions.jsx b/assets/js/src/newsletters/automatic_emails/events_conditions.jsx index c372174309..22e10bfad2 100644 --- a/assets/js/src/newsletters/automatic_emails/events_conditions.jsx +++ b/assets/js/src/newsletters/automatic_emails/events_conditions.jsx @@ -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) =>

{error.message}

), - { 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) =>

{error.message}

), + { scroll: true } + ); + } + }); } getEvent(eventSlug) { diff --git a/assets/js/src/newsletters/types/welcome/welcome.jsx b/assets/js/src/newsletters/types/welcome/welcome.jsx index bb8582261b..21529ded71 100644 --- a/assets/js/src/newsletters/types/welcome/welcome.jsx +++ b/assets/js/src/newsletters/types/welcome/welcome.jsx @@ -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}`); }