From d63a9db85006fdb5c97b58fe78862b15653296e3 Mon Sep 17 00:00:00 2001 From: Ella Date: Thu, 15 Aug 2024 14:40:02 +0200 Subject: [PATCH 1/3] Media & Text: remove image/video transforms for placeholder --- packages/block-library/src/media-text/transforms.js | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/packages/block-library/src/media-text/transforms.js b/packages/block-library/src/media-text/transforms.js index b4a3328d4508b..4aff729832572 100644 --- a/packages/block-library/src/media-text/transforms.js +++ b/packages/block-library/src/media-text/transforms.js @@ -101,9 +101,7 @@ const transforms = { { type: 'block', blocks: [ 'core/image' ], - isMatch: ( { mediaType, mediaUrl } ) => { - return ! mediaUrl || mediaType === 'image'; - }, + isMatch: ( { mediaType } ) => mediaType === 'image', transform: ( { mediaAlt, mediaId, mediaUrl, anchor } ) => { return createBlock( 'core/image', { alt: mediaAlt, @@ -116,9 +114,7 @@ const transforms = { { type: 'block', blocks: [ 'core/video' ], - isMatch: ( { mediaType, mediaUrl } ) => { - return ! mediaUrl || mediaType === 'video'; - }, + isMatch: ( { mediaType } ) => mediaType === 'video', transform: ( { mediaId, mediaUrl, anchor } ) => { return createBlock( 'core/video', { id: mediaId, From b3028facd8b520faab86612ad57f50da6a54336f Mon Sep 17 00:00:00 2001 From: Ella Date: Thu, 15 Aug 2024 14:58:25 +0200 Subject: [PATCH 2/3] fix content loss --- .../src/media-text/transforms.js | 42 ++++++++++++------- 1 file changed, 27 insertions(+), 15 deletions(-) diff --git a/packages/block-library/src/media-text/transforms.js b/packages/block-library/src/media-text/transforms.js index 4aff729832572..fd6ef160c3f11 100644 --- a/packages/block-library/src/media-text/transforms.js +++ b/packages/block-library/src/media-text/transforms.js @@ -3,6 +3,25 @@ */ import { createBlock } from '@wordpress/blocks'; +function transform( + { mediaType, mediaPosition, mediaAlt, mediaId, mediaUrl, anchor }, + innerBlocks +) { + const output = [ ...innerBlocks ]; + if ( mediaType ) { + const action = mediaPosition === 'right' ? 'push' : 'unshift'; + output[ action ]( + createBlock( `core/${ mediaType }`, { + alt: mediaAlt, + id: mediaId, + url: mediaUrl, + anchor, + } ) + ); + } + return output; +} + const transforms = { from: [ { @@ -102,26 +121,19 @@ const transforms = { type: 'block', blocks: [ 'core/image' ], isMatch: ( { mediaType } ) => mediaType === 'image', - transform: ( { mediaAlt, mediaId, mediaUrl, anchor } ) => { - return createBlock( 'core/image', { - alt: mediaAlt, - id: mediaId, - url: mediaUrl, - anchor, - } ); - }, + transform, }, { type: 'block', blocks: [ 'core/video' ], isMatch: ( { mediaType } ) => mediaType === 'video', - transform: ( { mediaId, mediaUrl, anchor } ) => { - return createBlock( 'core/video', { - id: mediaId, - src: mediaUrl, - anchor, - } ); - }, + transform, + }, + { + type: 'block', + // To do: ideally this should be '*', and quote should also use '*'. + blocks: [ 'core/paragraph' ], + transform, }, { type: 'block', From 2e594b7d8a9d4799eaf25d130cb88e0597ae3b2c Mon Sep 17 00:00:00 2001 From: Ella Date: Fri, 30 Aug 2024 13:16:34 +0200 Subject: [PATCH 3/3] rename --- packages/block-library/src/media-text/transforms.js | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/packages/block-library/src/media-text/transforms.js b/packages/block-library/src/media-text/transforms.js index fd6ef160c3f11..77e22121dba91 100644 --- a/packages/block-library/src/media-text/transforms.js +++ b/packages/block-library/src/media-text/transforms.js @@ -3,7 +3,7 @@ */ import { createBlock } from '@wordpress/blocks'; -function transform( +function unwrap( { mediaType, mediaPosition, mediaAlt, mediaId, mediaUrl, anchor }, innerBlocks ) { @@ -121,19 +121,19 @@ const transforms = { type: 'block', blocks: [ 'core/image' ], isMatch: ( { mediaType } ) => mediaType === 'image', - transform, + transform: unwrap, }, { type: 'block', blocks: [ 'core/video' ], isMatch: ( { mediaType } ) => mediaType === 'video', - transform, + transform: unwrap, }, { type: 'block', // To do: ideally this should be '*', and quote should also use '*'. blocks: [ 'core/paragraph' ], - transform, + transform: unwrap, }, { type: 'block',