refactored mailer mixin - removed notices.jsx

This commit is contained in:
Jonathan Labreuille
2016-11-25 14:27:01 +01:00
committed by Vlad
parent 80efc3c12d
commit 2a04c3c054
2 changed files with 47 additions and 64 deletions

View File

@@ -3,7 +3,6 @@ import ReactDOM from 'react-dom'
import MailPoet from 'mailpoet'
import classNames from 'classnames'
import jQuery from 'jquery'
import ListingNotices from 'newsletters/listings/notices.jsx'
const _QueueMixin = {
pauseSending: function(newsletter) {
@@ -78,14 +77,8 @@ const _QueueMixin = {
<span>
{
MailPoet.I18n.t('newsletterQueueCompleted')
.replace(
"%$1d",
newsletter.queue.count_processed - newsletter.queue.count_failed
)
.replace(
"%$2d",
newsletter.queue.count_total
)
.replace("%$1d",newsletter.queue.count_processed)
.replace("%$2d", newsletter.queue.count_total)
}
</span>
);
@@ -189,16 +182,54 @@ const _MailerMixin = {
{ static: true, id: 'mailpoet_mailer_error' }
);
ReactDOM.render((
<ListingNotices
mta_log={ state.meta.mta_log }
mta_method={ state.meta.mta_method }
/>
), jQuery('[data-id="mailpoet_mailer_error"]')[0]);
ReactDOM.render(
this.getMailerError(state),
jQuery('[data-id="mailpoet_mailer_error"]')[0]
);
} else {
MailPoet.Notice.hide('mailpoet_mailer_error');
}
},
getMailerError(state) {
let mailer_error_notice;
if (state.meta.mta_log.error.operation === 'send') {
mailer_error_notice =
MailPoet.I18n.t('mailerSendErrorNotice')
.replace('%$1s', state.meta.mta_method)
.replace('%$2s', state.meta.mta_log.error.error_message);
} else {
mailer_error_notice =
MailPoet.I18n.t('mailerConnectionErrorNotice')
.replace('%$1s', state.meta.mta_log.error.error_message);
}
return (
<div>
<p>{ mailer_error_notice }</p>
<p>{ MailPoet.I18n.t('mailerResumeSendingNotice') }</p>
<p>
<a href="javascript:;"
className="button"
onClick={ this.resumeMailerSending }
>{ MailPoet.I18n.t('mailerResumeSendingButton') }</a>
</p>
</div>
);
},
resumeMailerSending() {
MailPoet.Ajax.post({
endpoint: 'mailer',
action: 'resumeSending'
}).done(function() {
MailPoet.Notice.hide('mailpoet_mailer_error');
MailPoet.Notice.success(MailPoet.I18n.t('mailerSendingResumedNotice'));
}).fail((response) => {
if (response.errors.length > 0) {
MailPoet.Notice.error(
response.errors.map(function(error) { return error.message; }),
{ scroll: true }
);
}
});
}
}

View File

@@ -1,48 +0,0 @@
import React from "react";
import MailPoet from "mailpoet";
const ListingNotices = React.createClass({
resumeSending() {
MailPoet.Ajax.post({
endpoint: 'mailer',
action: 'resumeSending'
}).done(function() {
MailPoet.Notice.hide('mailpoet_mailer_error');
MailPoet.Notice.success(MailPoet.I18n.t('mailerSendingResumedNotice'));
}).fail((response) => {
if (response.errors.length > 0) {
MailPoet.Notice.error(
response.errors.map(function(error) { return error.message; }),
{ scroll: true }
);
}
});
},
render() {
let mailer_error_notice;
if (this.props.mta_log.error.operation === 'send') {
mailer_error_notice =
MailPoet.I18n.t('mailerSendErrorNotice')
.replace('%$1s', this.props.mta_method)
.replace('%$2s', this.props.mta_log.error.error_message);
} else {
mailer_error_notice =
MailPoet.I18n.t('mailerConnectionErrorNotice')
.replace('%$1s', this.props.mta_log.error.error_message);
}
return (
<div>
<p>{ mailer_error_notice }</p>
<p>{ MailPoet.I18n.t('mailerResumeSendingNotice') }</p>
<p>
<a href="javascript:;"
className="button"
onClick={ this.resumeSending }
>{ MailPoet.I18n.t('mailerResumeSendingButton') }</a>
</p>
</div>
);
}
});
module.exports = ListingNotices;