define( [ 'react', 'react-dom', 'mailpoet', 'classnames' ], function ( React, ReactDOM, MailPoet, classNames ) { var QueueControl = React.createClass({ getInitialState: function () { return (queueDaemon) ? queueDaemon : null; }, getDaemonData: function () { MailPoet.Ajax.post({ endpoint: 'queue', action: 'getDaemonStatus' }).done(function (response) { jQuery('.button-primary').removeClass('disabled'); if (!response) { this.replaceState(); } else { this.setState(response); } }.bind(this)); }, componentDidMount: function componentDidMount() { if (this.isMounted()) { this.getDaemonData; setInterval(this.getDaemonData, 5000); } }, controlDaemon: function (action) { jQuery('.button-primary').addClass('disabled'); MailPoet.Ajax.post({ endpoint: 'queue', action: 'controlDaemon', data: {'action': action} }).done(function (response) { if (!response) { this.replaceState(); } else { this.setState(response); } }.bind(this)); }, render: function () { if (!this.state) { return