PluginProbe ʕ •ᴥ•ʔ
GenerateBlocks / 1.8.3
GenerateBlocks v1.8.3
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 / headline / transforms.js
generateblocks / src / blocks / headline Last commit date
components 2 years ago css 2 years ago attributes.js 3 years ago block.js 2 years ago deprecated.js 3 years ago edit.js 2 years ago editor.scss 2 years ago element-icons.js 4 years ago markformat.js 4 years ago save.js 4 years ago transforms.js 3 years ago
transforms.js
57 lines
1 /**
2 * WordPress dependencies
3 */
4 import {
5 createBlock,
6 } from '@wordpress/blocks';
7
8 const elementToLevel = { h1: 1, h2: 2, h3: 3, h4: 4, h5: 5, h6: 6 };
9 const levelToElement = { 1: 'h1', 2: 'h2', 3: 'h3', 4: 'h4', 5: 'h5', 6: 'h6' };
10
11 const transforms = {
12 from: [
13 {
14 type: 'block',
15 blocks: [ 'core/paragraph' ],
16 transform: ( { content } ) => {
17 return createBlock( 'generateblocks/headline', {
18 content,
19 } );
20 },
21 },
22 {
23 type: 'block',
24 blocks: [ 'core/heading' ],
25 transform: ( { content, level } ) => {
26 return createBlock( 'generateblocks/headline', {
27 content,
28 element: levelToElement[ level ],
29 } );
30 },
31 },
32 ],
33 to: [
34 {
35 type: 'block',
36 blocks: [ 'core/paragraph' ],
37 transform: ( { content } ) => {
38 return createBlock( 'core/paragraph', {
39 content,
40 } );
41 },
42 },
43 {
44 type: 'block',
45 blocks: [ 'core/heading' ],
46 transform: ( { content, element } ) => {
47 return createBlock( 'core/heading', {
48 content,
49 level: elementToLevel.hasOwnProperty( element ) ? elementToLevel[ element ] : 2,
50 } );
51 },
52 },
53 ],
54 };
55
56 export default transforms;
57