diff --git a/assets/js/src/newsletters/listing.jsx b/assets/js/src/newsletters/listing.jsx index e69de29bb2..9ed28f0fe4 100644 --- a/assets/js/src/newsletters/listing.jsx +++ b/assets/js/src/newsletters/listing.jsx @@ -0,0 +1,75 @@ +define('newsletters', ['react', 'jquery', 'mailpoet'], function(React, jQuery, MailPoet) { + + var Newsletter = React.createClass({ + send: function(e) { + e.preventDefault(); + MailPoet.Ajax.post({ + endpoint: 'newsletters', + action: 'send', + data: this.props.newsletter.id, + onSuccess: function(response) { + alert('Sent!'); + }, + onError: function(response) { + alert('Cannot send. Set the settings and add some subscribers!'); + } + }) + }, + + render: function() { + return ( +
+

+ {this.props.newsletter.subject} - + Send + +

+
+ ); + } + }); + + var NewslettersList = React.createClass({ + load: function() { + MailPoet.Ajax.post({ + endpoint: 'newsletters', + action: 'get', + data: {}, + onSuccess: function(response) { + this.setState({data: response}); + }.bind(this) + }); + }, + + getInitialState: function() { + return {data: []}; + }, + + componentDidMount: function() { + this.load(); + setInterval(this.load, this.props.pollInterval); + }, + + render: function() { + var nodes = this.state.data.map(function (newsletter) { + return ( + + ); + }); + return ( +
+ {nodes} +
+ ); + } + }); + + var element = jQuery('#newsletters_list'); + + if(element.length > 0) { + React.render( + , + element[0] + ); + } +}); diff --git a/assets/js/src/newsletters/newsletters.jsx b/assets/js/src/newsletters/newsletters.jsx index 9ed28f0fe4..e69de29bb2 100644 --- a/assets/js/src/newsletters/newsletters.jsx +++ b/assets/js/src/newsletters/newsletters.jsx @@ -1,75 +0,0 @@ -define('newsletters', ['react', 'jquery', 'mailpoet'], function(React, jQuery, MailPoet) { - - var Newsletter = React.createClass({ - send: function(e) { - e.preventDefault(); - MailPoet.Ajax.post({ - endpoint: 'newsletters', - action: 'send', - data: this.props.newsletter.id, - onSuccess: function(response) { - alert('Sent!'); - }, - onError: function(response) { - alert('Cannot send. Set the settings and add some subscribers!'); - } - }) - }, - - render: function() { - return ( -
-

- {this.props.newsletter.subject} - - Send - -

-
- ); - } - }); - - var NewslettersList = React.createClass({ - load: function() { - MailPoet.Ajax.post({ - endpoint: 'newsletters', - action: 'get', - data: {}, - onSuccess: function(response) { - this.setState({data: response}); - }.bind(this) - }); - }, - - getInitialState: function() { - return {data: []}; - }, - - componentDidMount: function() { - this.load(); - setInterval(this.load, this.props.pollInterval); - }, - - render: function() { - var nodes = this.state.data.map(function (newsletter) { - return ( - - ); - }); - return ( -
- {nodes} -
- ); - } - }); - - var element = jQuery('#newsletters_list'); - - if(element.length > 0) { - React.render( - , - element[0] - ); - } -});