PluginProbe ʕ •ᴥ•ʔ
GenerateBlocks / 2.0.0
GenerateBlocks v2.0.0
trunk 1.0 1.0.1 1.0.2 1.1.0 1.1.1 1.1.2 1.2.0 1.3.0 1.3.1 1.3.2 1.3.3 1.3.4 1.3.5 1.4.0 1.4.1 1.4.2 1.4.3 1.4.4 1.5.0 1.5.1 1.5.2 1.5.3 1.5.4 1.6.0 1.7.0 1.7.1 1.7.2 1.7.3 1.8.0 1.8.1 1.8.2 1.8.3 1.9.0 1.9.1 2.0.0 2.0.1 2.0.2 2.1.0 2.1.1 2.1.2 2.2.0 2.2.1 2.3.0
generateblocks / src / blocks / text / transforms.js
generateblocks / src / blocks / text Last commit date
components 1 year ago block.json 1 year ago edit.js 1 year ago editor.scss 1 year ago index.js 1 year ago save.js 1 year ago transforms.js 1 year ago
transforms.js
54 lines
1 /**
2 * WordPress dependencies
3 */
4 import { createBlock } from '@wordpress/blocks';
5
6 const elementToLevel = { h1: 1, h2: 2, h3: 3, h4: 4, h5: 5, h6: 6 };
7 const levelToElement = { 1: 'h1', 2: 'h2', 3: 'h3', 4: 'h4', 5: 'h5', 6: 'h6' };
8
9 export const transforms = {
10 from: [
11 {
12 type: 'block',
13 blocks: [ 'core/paragraph' ],
14 transform: ( { content } ) => {
15 return createBlock( 'generateblocks/text', {
16 content,
17 tagName: 'p',
18 } );
19 },
20 },
21 {
22 type: 'block',
23 blocks: [ 'core/heading' ],
24 transform: ( { content, level } ) => {
25 return createBlock( 'generateblocks/text', {
26 content,
27 tagName: levelToElement[ level ],
28 } );
29 },
30 },
31 ],
32 to: [
33 {
34 type: 'block',
35 blocks: [ 'core/paragraph' ],
36 transform: ( { content } ) => {
37 return createBlock( 'core/paragraph', {
38 content,
39 } );
40 },
41 },
42 {
43 type: 'block',
44 blocks: [ 'core/heading' ],
45 transform: ( { content, tagName } ) => {
46 return createBlock( 'core/heading', {
47 content,
48 level: elementToLevel.hasOwnProperty( tagName ) ? elementToLevel[ tagName ] : 2,
49 } );
50 },
51 },
52 ],
53 };
54