diff --git a/static/src/js/components/PublishPreview/PublishPreview.jsx b/static/src/js/components/PublishPreview/PublishPreview.jsx index 5bc3cbbad..b6372a46d 100644 --- a/static/src/js/components/PublishPreview/PublishPreview.jsx +++ b/static/src/js/components/PublishPreview/PublishPreview.jsx @@ -21,6 +21,7 @@ import MetadataPreview from '../MetadataPreview/MetadataPreview' import Page from '../Page/Page' import useAppContext from '../../hooks/useAppContext' import useIngestDraftMutation from '../../hooks/useIngestDraftMutation' +import removeMetadataKeys from '../../utils/removeMetadataKeys' /** * Renders a PublishPreview component @@ -112,6 +113,15 @@ const PublishPreview = () => { ingestMutation(derivedConceptType, ummMetadata, nativeId, providerId) } + // Calls ingestDraft mutation with a new nativeId + const handleClone = () => { + const cloneNativeId = `MMT_${crypto.randomUUID()}` + // Removes the value from the metadata that has to be unique + removeMetadataKeys(ummMetadata, ['Name', 'LongName', 'ShortName']) + + ingestMutation(derivedConceptType, ummMetadata, cloneNativeId, providerId) + } + // Handles the user selecting delete from the delete model const handleDelete = () => { deleteMutation({ @@ -186,6 +196,22 @@ const PublishPreview = () => { {' '} Record +