Fix eslint rules

[MAILPOET-1348]
This commit is contained in:
Pavel Dohnal
2018-04-18 14:11:05 +01:00
parent b2473c9b65
commit b073f95008
3 changed files with 141 additions and 146 deletions

View File

@@ -2,6 +2,7 @@ import React from 'react';
import AutomaticEmailsBreadcrumb from 'newsletters/types/automatic_emails/breadcrumb.jsx';
import MailPoet from 'mailpoet';
import _ from 'underscore';
import PropTypes from 'prop-types';
class AutomaticEmailEventsList extends React.Component {
constructor(props) {
@@ -21,7 +22,8 @@ class AutomaticEmailEventsList extends React.Component {
if (this.email.premium) {
action = (
<a href="?page=mailpoet-premium"
<a
href="?page=mailpoet-premium"
target="_blank"
>
{MailPoet.I18n.t('premiumFeatureLink')}
@@ -31,7 +33,8 @@ class AutomaticEmailEventsList extends React.Component {
const disabled = event.soon;
action = (
<a className="button button-primary"
<a
className="button button-primary"
disabled={disabled}
onClick={!disabled ? this.eventsConfigurator.bind(null, event.slug) : null}
>
@@ -91,4 +94,18 @@ class AutomaticEmailEventsList extends React.Component {
}
}
AutomaticEmailEventsList.propTypes = {
route: PropTypes.shape({
data: PropTypes.shape({
email: PropTypes.string.isRequired,
}).isRequired,
}).isRequired,
router: PropTypes.shape({
push: PropTypes.func.isRequired,
}).isRequired,
};
module.exports = AutomaticEmailEventsList;

View File

@@ -1,96 +1,84 @@
define(
[
'underscore',
'react',
'react-router',
'mailpoet',
'newsletters/types/notification/scheduling.jsx',
'newsletters/breadcrumb.jsx',
],
(
_,
React,
Router,
MailPoet,
Scheduling,
Breadcrumb
) => {
const field = {
name: 'options',
type: 'reactComponent',
component: Scheduling,
import React from 'react';
import MailPoet from 'mailpoet';
import Breadcrumb from 'newsletters/breadcrumb.jsx';
import _ from 'underscore';
import Scheduling from 'newsletters/types/notification/scheduling.jsx';
const field = {
name: 'options',
type: 'reactComponent',
component: Scheduling,
};
const NewsletterNotification = React.createClass({
contextTypes: {
router: React.PropTypes.object.isRequired,
},
getInitialState: function getInitialState() {
return {
options: {
intervalType: 'daily',
timeOfDay: 0,
weekDay: 1,
monthDay: 0,
nthWeekDay: 1,
},
};
const NewsletterNotification = React.createClass({
contextTypes: {
router: React.PropTypes.object.isRequired,
},
getInitialState: function getInitialState() {
return {
options: {
intervalType: 'daily',
timeOfDay: 0,
weekDay: 1,
monthDay: 0,
nthWeekDay: 1,
},
};
},
handleValueChange: function handleValueChange(event) {
const state = this.state;
state[event.target.name] = event.target.value;
this.setState(state);
},
handleNext: function handleNext() {
MailPoet.Ajax.post({
api_version: window.mailpoet_api_version,
endpoint: 'newsletters',
action: 'create',
data: _.extend({}, this.state, {
type: 'notification',
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 }
);
}
});
},
showTemplateSelection: function showTemplateSelection(newsletterId) {
this.context.router.push(`/template/${newsletterId}`);
},
render: function render() {
return (
<div>
<h1>{MailPoet.I18n.t('postNotificationNewsletterTypeTitle')}</h1>
<Breadcrumb step="type" />
<h3>{MailPoet.I18n.t('selectFrequency')}</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>
},
handleValueChange: function handleValueChange(event) {
const state = this.state;
state[event.target.name] = event.target.value;
this.setState(state);
},
handleNext: function handleNext() {
MailPoet.Ajax.post({
api_version: window.mailpoet_api_version,
endpoint: 'newsletters',
action: 'create',
data: _.extend({}, this.state, {
type: 'notification',
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 }
);
},
}
});
},
showTemplateSelection: function showTemplateSelection(newsletterId) {
this.context.router.push(`/template/${newsletterId}`);
},
render: function render() {
return (
<div>
<h1>{MailPoet.I18n.t('postNotificationNewsletterTypeTitle')}</h1>
<Breadcrumb step="type" />
<h3>{MailPoet.I18n.t('selectFrequency')}</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>
);
},
});
module.exports = NewsletterNotification;
return NewsletterNotification;
}
);

View File

@@ -1,53 +1,43 @@
define(
[
'react',
'react-router',
'mailpoet',
'newsletters/breadcrumb.jsx',
],
(
React,
Router,
MailPoet,
Breadcrumb
) => {
const NewsletterStandard = React.createClass({
contextTypes: {
router: React.PropTypes.object.isRequired,
},
showTemplateSelection: function showTemplateSelection(newsletterId) {
this.context.router.push(`/template/${newsletterId}`);
},
componentDidMount: function componentDidMount() {
// No options for this type, create a newsletter upon mounting
MailPoet.Ajax.post({
api_version: window.mailpoet_api_version,
endpoint: 'newsletters',
action: 'create',
data: {
type: 'standard',
},
}).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 }
);
}
});
},
render: function render() {
return (
<div>
<h1>{MailPoet.I18n.t('regularNewsletterTypeTitle')}</h1>
<Breadcrumb step="type" />
</div>
);
},
});
import React from 'react';
import MailPoet from 'mailpoet';
import Breadcrumb from 'newsletters/breadcrumb.jsx';
const NewsletterStandard = React.createClass({
contextTypes: {
router: React.PropTypes.object.isRequired,
},
showTemplateSelection: function showTemplateSelection(newsletterId) {
this.context.router.push(`/template/${newsletterId}`);
},
componentDidMount: function componentDidMount() {
// No options for this type, create a newsletter upon mounting
MailPoet.Ajax.post({
api_version: window.mailpoet_api_version,
endpoint: 'newsletters',
action: 'create',
data: {
type: 'standard',
},
}).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 }
);
}
});
},
render: function render() {
return (
<div>
<h1>{MailPoet.I18n.t('regularNewsletterTypeTitle')}</h1>
<Breadcrumb step="type" />
</div>
);
},
});
module.exports = NewsletterStandard;
return NewsletterStandard;
}
);