@@ -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;
diff --git a/assets/js/src/newsletters/types/notification/notification.jsx b/assets/js/src/newsletters/types/notification/notification.jsx
index b8d8ec1ef8..5cfadb1f44 100644
--- a/assets/js/src/newsletters/types/notification/notification.jsx
+++ b/assets/js/src/newsletters/types/notification/notification.jsx
@@ -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 (
-
-
{MailPoet.I18n.t('postNotificationNewsletterTypeTitle')}
-
-
-
{MailPoet.I18n.t('selectFrequency')}
-
-
-
-
-
-
-
+ },
+ 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 (
+
+
{MailPoet.I18n.t('postNotificationNewsletterTypeTitle')}
+
+
+
{MailPoet.I18n.t('selectFrequency')}
+
+
+
+
+
+
+
+ );
+ },
+});
+
+module.exports = NewsletterNotification;
- return NewsletterNotification;
- }
-);
diff --git a/assets/js/src/newsletters/types/standard.jsx b/assets/js/src/newsletters/types/standard.jsx
index 0d9d79d426..883c0b806d 100644
--- a/assets/js/src/newsletters/types/standard.jsx
+++ b/assets/js/src/newsletters/types/standard.jsx
@@ -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 (
-
-
{MailPoet.I18n.t('regularNewsletterTypeTitle')}
-
-
- );
- },
- });
+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 (
+
+
{MailPoet.I18n.t('regularNewsletterTypeTitle')}
+
+
+ );
+ },
+});
+
+module.exports = NewsletterStandard;
- return NewsletterStandard;
- }
-);