From d38a63f0e6d43ba21cff7a80b9e185921c8b572c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C2=A0Ja=CC=81n=20Mikla=CC=81s=CC=8C?= Date: Mon, 17 Jun 2024 17:09:29 +0200 Subject: [PATCH] Add column with (non-implemented) action to cancel or reschedule [MAILPOET-5755] --- .../src/help/tasks-list/tasks-list-actions.tsx | 18 ++++++++++++++++++ .../help/tasks-list/tasks-list-data-row.jsx | 11 +++++++++++ .../help/tasks-list/tasks-list-labels-row.jsx | 3 +++ .../js/src/help/tasks-list/tasks-list.jsx | 2 +- mailpoet/views/help.html | 3 +++ 5 files changed, 36 insertions(+), 1 deletion(-) create mode 100644 mailpoet/assets/js/src/help/tasks-list/tasks-list-actions.tsx diff --git a/mailpoet/assets/js/src/help/tasks-list/tasks-list-actions.tsx b/mailpoet/assets/js/src/help/tasks-list/tasks-list-actions.tsx new file mode 100644 index 0000000000..19812002bc --- /dev/null +++ b/mailpoet/assets/js/src/help/tasks-list/tasks-list-actions.tsx @@ -0,0 +1,18 @@ +import { Button } from '@wordpress/components'; +import { MailPoet } from 'mailpoet'; + +function TaskButton({ id, type }: { id: number, type: string }): JSX.Element { + return ( + + ); +} + +export function CancelTaskButton({ id }: { id: number }): JSX.Element { + return ; +} + +export function RescheduleTaskButton({ id }: { id: number }): JSX.Element { + return ; +} diff --git a/mailpoet/assets/js/src/help/tasks-list/tasks-list-data-row.jsx b/mailpoet/assets/js/src/help/tasks-list/tasks-list-data-row.jsx index 3a9668aa10..23165cb92d 100644 --- a/mailpoet/assets/js/src/help/tasks-list/tasks-list-data-row.jsx +++ b/mailpoet/assets/js/src/help/tasks-list/tasks-list-data-row.jsx @@ -1,6 +1,7 @@ import PropTypes from 'prop-types'; import { MailPoet } from 'mailpoet'; import parseDate from 'date-fns/parse'; +import { CancelTaskButton, RescheduleTaskButton } from './tasks-list-actions'; function TasksListDataRow(props) { let scheduled = props.task.scheduled_at; @@ -68,6 +69,16 @@ function TasksListDataRow(props) { updated, )}`} + {props.show_scheduled_at ? ( + + + + ) : null} + {props.show_cancelled_at ? ( + + + + ) : null} ); } diff --git a/mailpoet/assets/js/src/help/tasks-list/tasks-list-labels-row.jsx b/mailpoet/assets/js/src/help/tasks-list/tasks-list-labels-row.jsx index b8c1d468d7..4d9292ab71 100644 --- a/mailpoet/assets/js/src/help/tasks-list/tasks-list-labels-row.jsx +++ b/mailpoet/assets/js/src/help/tasks-list/tasks-list-labels-row.jsx @@ -15,6 +15,9 @@ function TasksListLabelsRow(props) { {MailPoet.I18n.t('cancelledAt')} ) : null} {MailPoet.I18n.t('updatedAt')} + {props.show_scheduled_at || props.show_cancelled_at ? ( + {MailPoet.I18n.t('action')} + ) : null} ); } diff --git a/mailpoet/assets/js/src/help/tasks-list/tasks-list.jsx b/mailpoet/assets/js/src/help/tasks-list/tasks-list.jsx index 6fcb8c1658..f4871ff967 100644 --- a/mailpoet/assets/js/src/help/tasks-list/tasks-list.jsx +++ b/mailpoet/assets/js/src/help/tasks-list/tasks-list.jsx @@ -4,7 +4,7 @@ import { TasksListDataRow } from './tasks-list-data-row.jsx'; import { TasksListLabelsRow } from './tasks-list-labels-row.jsx'; function TasksList(props) { - const colsCount = props.show_scheduled_at || props.show_cancelled_at ? 6 : 5; + const colsCount = props.show_scheduled_at || props.show_cancelled_at ? 7 : 5; return ( diff --git a/mailpoet/views/help.html b/mailpoet/views/help.html index 26941d88b1..4f3167c65f 100644 --- a/mailpoet/views/help.html +++ b/mailpoet/views/help.html @@ -72,6 +72,9 @@ 'scheduledAt': __('Scheduled At'), 'cancelledAt': __('Cancelled At'), 'updatedAt': __('Updated At'), + 'action': _x('Action', 'Table column heading to perform an action.'), + 'cancelAction': __('Cancel task'), + 'rescheduleAction': __('Reschedule task'), 'nothingToShow': __('Nothing to show.'), 'preview': _x('Preview', 'Text of a link to email preview page.'), 'actionSchedulerStatus': __('WP Cron / Action Scheduler Status'),