|
1 | 1 | /* eslint-disable react/no-unstable-nested-components */
|
2 | 2 |
|
3 |
| -import React, { useState } from 'react'; |
| 3 | +import React, { useMemo, useState } from 'react'; |
4 | 4 | import PropTypes from 'prop-types';
|
5 | 5 | import { useParams } from 'react-router-dom';
|
6 | 6 | import { injectIntl, intlShape } from '@edx/frontend-platform/i18n';
|
@@ -51,15 +51,15 @@ function BulkEmailContentHistory({ intl }) {
|
51 | 51 | * up a level (the `subject` field). We also convert the `sent_to` data to be a String rather than an array to fix a
|
52 | 52 | * display bug in the table.
|
53 | 53 | */
|
54 |
| - function transformDataForTable() { |
| 54 | + const transformDataForTable = useMemo(() => { |
55 | 55 | const tableData = emailHistoryData?.map((item) => ({
|
56 | 56 | ...item,
|
57 | 57 | subject: item.email.subject,
|
58 | 58 | sent_to: item.sent_to.join(', '),
|
59 | 59 | created: new Date(item.created).toLocaleString(),
|
60 | 60 | }));
|
61 | 61 | return tableData || [];
|
62 |
| - } |
| 62 | + }, [emailHistoryData]); |
63 | 63 |
|
64 | 64 | /**
|
65 | 65 | * This function is responsible for setting the current `messageContent` state data. This will be the contents of a
|
@@ -100,7 +100,7 @@ function BulkEmailContentHistory({ intl }) {
|
100 | 100 | * contents of a previously sent message.
|
101 | 101 | */
|
102 | 102 | const additionalColumns = () => {
|
103 |
| - const tableData = transformDataForTable(); |
| 103 | + const tableData = transformDataForTable; |
104 | 104 |
|
105 | 105 | return [
|
106 | 106 | {
|
@@ -137,7 +137,7 @@ function BulkEmailContentHistory({ intl }) {
|
137 | 137 | {showHistoricalEmailContentTable ? (
|
138 | 138 | <BulkEmailTaskManagerTable
|
139 | 139 | errorRetrievingData={errorRetrievingData}
|
140 |
| - tableData={transformDataForTable()} |
| 140 | + tableData={transformDataForTable} |
141 | 141 | tableDescription={intl.formatMessage(messages.emailHistoryTableViewMessageInstructions)}
|
142 | 142 | alertWarningMessage={intl.formatMessage(messages.noEmailData)}
|
143 | 143 | alertErrorMessage={intl.formatMessage(messages.errorFetchingEmailHistoryData)}
|
|
0 commit comments