File "transforms.js"

Full path: /home/webcknlt/admissiontell.com/wp-content/plugins/generateblocks/src/blocks/media/transforms.js
File size: 985 B (985 B bytes)
MIME-type: text/x-java
Charset: utf-8

Download   Open   Edit   Advanced Editor &nnbsp; Back

/**
 * WordPress dependencies
 */
import { createBlock } from '@wordpress/blocks';

export const transforms = {
	from: [
		{
			type: 'block',
			blocks: [ 'core/image' ],
			transform: ( { id, url, alt, title, href, linkTarget } ) => {
				return createBlock( 'generateblocks/media', {
					tagName: 'img',
					mediaId: id,
					htmlAttributes: {
						src: url,
						alt,
						title,
					},
					linkHtmlAttributes: {
						href,
						target: linkTarget ?? '',
					},
				} );
			},
		},
		{
			type: 'block',
			blocks: [ 'core/post-featured-image' ],
			transform: ( {} ) => {
				return createBlock( 'generateblocks/media', {
					tagName: 'img',
					htmlAttributes: {
						src: '{{featured_image key:url}}',
					},
				} );
			},
		},
	],
	to: [
		{
			type: 'block',
			blocks: [ 'core/image' ],
			transform: ( { mediaId, htmlAttributes } ) => {
				return createBlock( 'core/image', {
					id: mediaId,
					url: htmlAttributes?.src ?? '',
				} );
			},
		},
	],
};