Removes welcome notification creation component and routes

Updates welcome notification template
This commit is contained in:
Vlad
2017-05-17 21:43:45 -04:00
committed by stoletniy
parent ce3eb06924
commit 3e988b7a56
4 changed files with 6 additions and 108 deletions

View File

@@ -9,7 +9,6 @@ import NewsletterTemplates from 'newsletters/templates.jsx'
import NewsletterSend from 'newsletters/send.jsx' import NewsletterSend from 'newsletters/send.jsx'
import NewsletterTypeStandard from 'newsletters/types/standard.jsx' import NewsletterTypeStandard from 'newsletters/types/standard.jsx'
import NewsletterTypeWelcome from 'newsletters/types/welcome/welcome.jsx'
import NewsletterTypeNotification from 'newsletters/types/notification/notification.jsx' import NewsletterTypeNotification from 'newsletters/types/notification/notification.jsx'
import NewsletterListStandard from 'newsletters/listings/standard.jsx' import NewsletterListStandard from 'newsletters/listings/standard.jsx'
@@ -44,7 +43,6 @@ if(container) {
<Route path="new" component={ NewsletterTypes } /> <Route path="new" component={ NewsletterTypes } />
{/* New newsletter: types */} {/* New newsletter: types */}
<Route path="new/standard" component={ NewsletterTypeStandard } /> <Route path="new/standard" component={ NewsletterTypeStandard } />
<Route path="new/welcome" component={ NewsletterTypeWelcome } />
<Route path="new/notification" component={ NewsletterTypeNotification } /> <Route path="new/notification" component={ NewsletterTypeNotification } />
{/* Template selection */} {/* Template selection */}
<Route name="template" path="template/:id" component={ NewsletterTemplates } /> <Route name="template" path="template/:id" component={ NewsletterTemplates } />

View File

@@ -63,7 +63,9 @@ define(
'action': function() { 'action': function() {
return ( return (
<div> <div>
Premium feature text (TBD) <a href="?page=mailpoet-settings#premium" target="_blank">
{MailPoet.I18n.t('getPremiumVersion')}
</a>
</div> </div>
) )
}() }()
@@ -74,7 +76,7 @@ define(
'description': MailPoet.I18n.t('postNotificationNewsletterTypeDescription'), 'description': MailPoet.I18n.t('postNotificationNewsletterTypeDescription'),
'action': function() { 'action': function() {
return ( return (
<a className="button button-primary" onClick={ this.createNewsletter.bind(null, 'standard') }> <a className="button button-primary" onClick={ this.setupNewsletter.bind(null, 'notification') }>
{MailPoet.I18n.t('setUp')} {MailPoet.I18n.t('setUp')}
</a> </a>
) )
@@ -82,7 +84,7 @@ define(
} }
]; ];
types = Hooks.applyFilters('mailpoet_newsletters_types', types); types = Hooks.applyFilters('mailpoet_newsletters_types', types, this);
return ( return (
<div> <div>

View File

@@ -1,103 +0,0 @@
define(
[
'underscore',
'react',
'react-router',
'mailpoet',
'newsletters/types/welcome/scheduling.jsx',
'newsletters/breadcrumb.jsx'
],
function(
_,
React,
Router,
MailPoet,
Scheduling,
Breadcrumb
) {
var field = {
name: 'options',
label: 'Event',
type: 'reactComponent',
component: Scheduling,
};
var availableSegments = window.mailpoet_segments || {},
defaultSegment = 1;
if (_.size(availableSegments) > 0) {
defaultSegment = _.first(availableSegments).id;
}
var NewsletterWelcome = React.createClass({
contextTypes: {
router: React.PropTypes.object.isRequired
},
getInitialState: function() {
return {
options: {
event: 'segment',
segment: defaultSegment,
role: 'subscriber',
afterTimeNumber: 1,
afterTimeType: 'immediate',
}
};
},
handleValueChange: function(event) {
var state = this.state;
state[event.target.name] = event.target.value;
this.setState(state);
},
handleNext: function() {
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(function(error) { return error.message; }),
{ scroll: true }
);
}
});
},
showTemplateSelection: function(newsletterId) {
this.context.router.push(`/template/${newsletterId}`);
},
render: function() {
return (
<div>
<h1>{MailPoet.I18n.t('welcomeNewsletterTypeTitle')}</h1>
<Breadcrumb step="type" />
<h3>{MailPoet.I18n.t('selectEventToSendWelcomeEmail')}</h3>
<Scheduling
item={this.state}
field={field}
onValueChange={this.handleValueChange} />
<p className="submit">
<input
className="button button-primary"
type="button"
onClick={ this.handleNext }
value={MailPoet.I18n.t('next')} />
</p>
</div>
);
},
});
return NewsletterWelcome;
}
);

View File

@@ -121,6 +121,7 @@
'create': __('Create'), 'create': __('Create'),
'welcomeNewsletterTypeTitle': __('Welcome Email'), 'welcomeNewsletterTypeTitle': __('Welcome Email'),
'welcomeNewsletterTypeDescription': __('Automatically send an email (or series of emails) to new subscribers or WordPress users. Send a day, a week, or a month after they sign up.'), 'welcomeNewsletterTypeDescription': __('Automatically send an email (or series of emails) to new subscribers or WordPress users. Send a day, a week, or a month after they sign up.'),
'getPremiumVersion': __('Get premium version!'),
'setUp': __('Set up'), 'setUp': __('Set up'),
'postNotificationNewsletterTypeTitle': __('Latest Post Notifications'), 'postNotificationNewsletterTypeTitle': __('Latest Post Notifications'),
'postNotificationNewsletterTypeDescription': __('Let MailPoet email your subscribers with your latest content. You can send daily, weekly, monthly, or even immediately after publication.'), 'postNotificationNewsletterTypeDescription': __('Let MailPoet email your subscribers with your latest content. You can send daily, weekly, monthly, or even immediately after publication.'),