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
+