From 8dba43b5607cd146356cdc94b7cd31796d34a04b Mon Sep 17 00:00:00 2001 From: Pavel Dohnal Date: Wed, 28 Aug 2019 15:28:58 +0200 Subject: [PATCH] Refactor into a function component [MAILPOET-2192] --- .../listings/notification_history.jsx | 159 +++++++++--------- 1 file changed, 78 insertions(+), 81 deletions(-) diff --git a/assets/js/src/newsletters/listings/notification_history.jsx b/assets/js/src/newsletters/listings/notification_history.jsx index 598e763bc1..d6d2d14043 100644 --- a/assets/js/src/newsletters/listings/notification_history.jsx +++ b/assets/js/src/newsletters/listings/notification_history.jsx @@ -43,7 +43,7 @@ const columns = [ }, ]; -let newsletterActions = [ +const newsletterActions = addStatsCTAAction([ { name: 'view', link: function link(newsletter) { @@ -57,94 +57,91 @@ let newsletterActions = [ { name: 'trash', }, -]; -newsletterActions = addStatsCTAAction(newsletterActions); +]); -class NewsletterListNotificationHistory extends React.Component { - static displayName = 'NewsletterListNotificationHistory'; +const renderItem = (newsletter, actions, meta) => { + const rowClasses = classNames( + 'manage-column', + 'column-primary', + 'has-row-actions' + ); - static propTypes = { - location: PropTypes.object.isRequired, // eslint-disable-line react/forbid-prop-types - match: PropTypes.shape({ - params: PropTypes.object, // eslint-disable-line react/forbid-prop-types - }).isRequired, - }; + const segments = newsletter.segments.map((segment) => segment.name).join(', '); - renderItem = (newsletter, actions, meta) => { - const rowClasses = classNames( - 'manage-column', - 'column-primary', - 'has-row-actions' - ); - - const segments = newsletter.segments.map((segment) => segment.name).join(', '); - - return ( -
- - - - { newsletter.queue.newsletter_rendered_subject || newsletter.subject } - - - { actions } + return ( + <> + + + + { newsletter.queue.newsletter_rendered_subject || newsletter.subject } + + + { actions } + + + + + + { segments } + + { (mailpoetTrackingEnabled === true) ? ( + + - - - - - { segments } - - { (mailpoetTrackingEnabled === true) ? ( - - - - ) : null } - - { (newsletter.sent_at) ? MailPoet.Date.format(newsletter.sent_at) : MailPoet.I18n.t('notSentYet') } - -
- ); - }; + ) : null } + + { (newsletter.sent_at) ? MailPoet.Date.format(newsletter.sent_at) : MailPoet.I18n.t('notSentYet') } + + + ); +}; - render() { - return ( -
- +const NewsletterListNotificationHistory = (props) => ( + <> + - + - + - - {MailPoet.I18n.t('backToPostNotifications')} - + + {MailPoet.I18n.t('backToPostNotifications')} + - { checkMailerStatus(state); checkCronStatus(state); }} - /> -
- ); - } -} + { checkMailerStatus(state); checkCronStatus(state); }} + /> + +); + +NewsletterListNotificationHistory.propTypes = { + location: PropTypes.shape({ + pathname: PropTypes.string, + }).isRequired, + match: PropTypes.shape({ + params: PropTypes.shape({ + id: PropTypes.string, + }), + }).isRequired, +}; export default NewsletterListNotificationHistory;