diff --git a/src/components/BulkEditPane/BulkEditListResult/BulkEditInAppPreviewModal/BulkEditPreviewModalList.js b/src/components/BulkEditPane/BulkEditListResult/BulkEditInAppPreviewModal/BulkEditPreviewModalList.js index 0d64d1b6..f8e866dd 100644 --- a/src/components/BulkEditPane/BulkEditListResult/BulkEditInAppPreviewModal/BulkEditPreviewModalList.js +++ b/src/components/BulkEditPane/BulkEditListResult/BulkEditInAppPreviewModal/BulkEditPreviewModalList.js @@ -70,7 +70,7 @@ export const BulkEditPreviewModalList = ({ showErrorMessage(error); onPreviewError(); }, - onSettled: onPreviewSettled, + onSuccess: onPreviewSettled, }, ...pagination, }); diff --git a/src/components/BulkEditPane/BulkEditListResult/Preview/Preview.js b/src/components/BulkEditPane/BulkEditListResult/Preview/Preview.js index 287ed5ae..ca236e8e 100644 --- a/src/components/BulkEditPane/BulkEditListResult/Preview/Preview.js +++ b/src/components/BulkEditPane/BulkEditListResult/Preview/Preview.js @@ -20,7 +20,8 @@ import { CRITERIA, EDITING_STEPS, PAGINATION_CONFIG, - ERRORS_PAGINATION_CONFIG + ERRORS_PAGINATION_CONFIG, + JOB_STATUSES } from '../../../../constants'; import { usePagination } from '../../../../hooks/usePagination'; import { useBulkOperationStats } from '../../../../hooks/useBulkOperationStats'; @@ -37,10 +38,6 @@ export const Preview = ({ id, title, isInitial, bulkDetails }) => { progress, } = useSearchParams(); - const totalNumOfRecords = step === EDITING_STEPS.COMMIT ? bulkDetails?.processedNumOfRecords : bulkDetails?.matchedNumOfRecords; - const isOtherTabProcessing = progress && criteria !== progress; - const isPreviewEnabled = !isOtherTabProcessing && Boolean(id); - const { countOfRecords, countOfErrors, @@ -48,6 +45,12 @@ export const Preview = ({ id, title, isInitial, bulkDetails }) => { visibleColumns, } = useBulkOperationStats({ bulkDetails, step }); + const totalNumOfRecords = step === EDITING_STEPS.COMMIT ? bulkDetails?.processedNumOfRecords : bulkDetails?.matchedNumOfRecords; + const isOtherTabProcessing = progress && criteria !== progress; + const statusesForPreview = [JOB_STATUSES.DATA_MODIFICATION, JOB_STATUSES.COMPLETED, JOB_STATUSES.COMPLETED_WITH_ERRORS]; + const isPreviewEnabled = !isOtherTabProcessing && Boolean(id) && statusesForPreview.includes(bulkDetails?.status); + const isErrorsPreviewEnabled = isPreviewEnabled && (countOfErrors > 0 || countOfWarnings > 0); + const { errorType, toggleErrorType } = useErrorType({ countOfErrors, countOfWarnings @@ -80,7 +83,7 @@ export const Preview = ({ id, title, isInitial, bulkDetails }) => { id, step, errorType, - enabled: isPreviewEnabled, + enabled: isErrorsPreviewEnabled, ...errorsPagination, }); @@ -156,6 +159,7 @@ Preview.propTypes = { processedNumOfRecords: PropTypes.number, matchedNumOfErrors: PropTypes.number, committedNumOfErrors: PropTypes.number, - fqlQuery: PropTypes.string + fqlQuery: PropTypes.string, + status: PropTypes.string, }), }; diff --git a/src/constants/core.js b/src/constants/core.js index e81b1787..e9103afb 100644 --- a/src/constants/core.js +++ b/src/constants/core.js @@ -57,6 +57,7 @@ export const JOB_STATUSES = { REVIEW_CHANGES: 'REVIEW_CHANGES', REVIEWED_NO_MARC_RECORDS: 'REVIEWED_NO_MARC_RECORDS', APPLY_CHANGES: 'APPLY_CHANGES', + APPLY_MARC_CHANGES: 'APPLY_MARC_CHANGES', SUSPENDED: 'SUSPENDED', COMPLETED: 'COMPLETED', COMPLETED_WITH_ERRORS: 'COMPLETED_WITH_ERRORS', diff --git a/translations/ui-bulk-edit/en.json b/translations/ui-bulk-edit/en.json index 46dda5b0..419193df 100644 --- a/translations/ui-bulk-edit/en.json +++ b/translations/ui-bulk-edit/en.json @@ -483,6 +483,7 @@ "logs.status.COMPLETED_WITH_ERRORS": "Completed with errors", "logs.status.FAILED": "Failed", "logs.status.APPLY_CHANGES": "Apply changes", + "logs.status.APPLY_MARC_CHANGES": "Apply changes", "logs.status.EXECUTING_QUERY": "Executing query", "logs.status.RETRIEVING_IDENTIFIERS": "Retrieving identifiers", "logs.status.SAVED_IDENTIFIERS": "Saving identifiers",