Path : /home/vishqocm/vjmedia.in/wp-content/plugins/coblocks/src/blocks/gallery-stacked/
File Upload :
Current File : /home/vishqocm//vjmedia.in/wp-content/plugins/coblocks/src/blocks/gallery-stacked/transforms.js

/**
 * External dependencies
 */
import filter from 'lodash/filter';

/**
 * Internal dependencies
 */
import { name } from './';
import { GalleryTransforms } from '../../components/block-gallery/shared';
import { BackgroundTransforms } from '../../components/background';

/**
 * WordPress dependencies
 */
const { createBlock } = wp.blocks;

const transforms = {
	from: [
		{
			type: 'block',
			blocks: [ 'coblocks/gallery-masonry' ],
			transform: ( attributes ) => (
				createBlock( `coblocks/${ name }`, {
					...GalleryTransforms( attributes ),
					...BackgroundTransforms( attributes ),
				} )
			),
		},
		{
			type: 'block',
			blocks: [ 'coblocks/gallery-carousel' ],
			transform: ( attributes ) => (
				createBlock( `coblocks/${ name }`, {
					...GalleryTransforms( attributes ),
					...BackgroundTransforms( attributes ),
				} )
			),
		},
		{
			type: 'block',
			blocks: [ 'coblocks/gallery-thumbnails' ],
			transform: ( attributes ) => (
				createBlock( `coblocks/${ name }`, {
					...GalleryTransforms( attributes ),
					...BackgroundTransforms( attributes ),
				} )
			),
		},
		{
			type: 'block',
			blocks: [ 'coblocks/gallery-offset' ],
			transform: ( attributes ) => (
				createBlock( `coblocks/${ name }`, {
					...GalleryTransforms( attributes ),
					...BackgroundTransforms( attributes ),
				} )
			),
		},
		{
			type: 'block',
			blocks: [ 'coblocks/gallery-auto-height' ],
			transform: ( attributes ) => (
				createBlock( `coblocks/${ name }`, {
					...GalleryTransforms( attributes ),
					...BackgroundTransforms( attributes ),
				} )
			),
		},
		{
			type: 'block',
			blocks: [ 'blockgallery/stacked' ],
			transform: ( attributes ) => (
				createBlock( `coblocks/${ name }`, {
					...GalleryTransforms( attributes ),
					...BackgroundTransforms( attributes ),
				} )
			),
		},
		{
			type: 'block',
			blocks: [ 'blockgallery/masonry' ],
			transform: ( attributes ) => (
				createBlock( `coblocks/${ name }`, {
					...GalleryTransforms( attributes ),
					...BackgroundTransforms( attributes ),
				} )
			),
		},
		{
			type: 'block',
			blocks: [ 'blockgallery/carousel' ],
			transform: ( attributes ) => (
				createBlock( `coblocks/${ name }`, {
					...GalleryTransforms( attributes ),
					...BackgroundTransforms( attributes ),
				} )
			),
		},
		{
			type: 'block',
			blocks: [ 'core/gallery' ],
			transform: ( attributes ) => (
				createBlock( `coblocks/${ name }`, {
					...GalleryTransforms( attributes ),
				} )
			),
		},
		{
			type: 'block',
			isMultiBlock: true,
			blocks: [ 'core/image' ],
			transform: ( attributes ) => {
				const validImages = filter( attributes, ( { id, url } ) => id && url );
				if ( validImages.length > 0 ) {
					return createBlock( `coblocks/${ name }`, {
						images: validImages.map( ( { id, url, alt, caption } ) => ( { id, url, alt, caption } ) ),
						ids: validImages.map( ( { id } ) => id ),
					} );
				}
				return createBlock( `coblocks/${ name }` );
			},
		},
		{
			type: 'prefix',
			prefix: ':stacked',
			transform: function( content ) {
				return createBlock( `coblocks/${ name }`, {
					content,
				} );
			},
		},
	],
	to: [
		{
			type: 'block',
			blocks: [ 'core/gallery' ],
			transform: ( attributes ) => (
				createBlock( 'core/gallery', {
					...GalleryTransforms( attributes ),
				} )
			),
		},
	],
};

export default transforms;