diff --git a/editor/components/block-list/block-invalid-warning.js b/editor/components/block-list/block-invalid-warning.js index bb75466be50e95..3d3d0c2473622c 100644 --- a/editor/components/block-list/block-invalid-warning.js +++ b/editor/components/block-list/block-invalid-warning.js @@ -15,7 +15,7 @@ import { withDispatch } from '@wordpress/data'; */ import Warning from '../warning'; -function BlockInvalidWarning( { convertToHTML, convertToBlocks } ) { +function BlockInvalidWarning( { convertToHTML, convertToBlocks, convertToClassic } ) { const hasHTMLBlock = !! getBlockType( 'core/html' ); return ( @@ -30,6 +30,10 @@ function BlockInvalidWarning( { convertToHTML, convertToBlocks } ) { ), ] } + hiddenActions={ [ + { title: __( 'Convert to Blocks' ), onClick: convertToBlocks }, + { title: __( 'Convert to Classic Block' ), onClick: convertToClassic }, + ] } > { __( 'This block has been modified externally.' ) } @@ -39,6 +43,11 @@ function BlockInvalidWarning( { convertToHTML, convertToBlocks } ) { export default withDispatch( ( dispatch, { block } ) => { const { replaceBlock } = dispatch( 'core/editor' ); return { + convertToClassic() { + replaceBlock( block.uid, createBlock( 'core/freeform', { + content: block.originalContent, + } ) ); + }, convertToHTML() { replaceBlock( block.uid, createBlock( 'core/html', { content: block.originalContent,