PluginProbe ʕ •ᴥ•ʔ
JetFormBuilder — Dynamic Blocks Form Builder / 3.1.3
JetFormBuilder — Dynamic Blocks Form Builder v3.1.3
3.6.3.1 3.6.3 3.6.2.2 3.6.2.1 3.6.2 3.6.1.1 3.6.1 3.6.0.1 trunk 1.0.0 1.0.1 1.0.2 1.0.3 1.1.0 1.1.1 1.1.2 1.1.3 1.1.4 1.1.5 1.1.6 1.1.7 1.2.0 1.2.1 1.2.2 1.2.3 1.2.4 1.2.5 1.2.6 1.2.7 1.3.0 1.3.1 1.3.2 1.3.3 1.4.0 1.4.1 1.4.2 1.4.3 1.5.0 1.5.1 1.5.2 1.5.3 1.5.4 1.5.5 2.0.0 2.0.1 2.0.2 2.0.3 2.0.4 2.0.5 2.0.6 2.1.0 2.1.1 2.1.10 2.1.11 2.1.2 2.1.3 2.1.4 2.1.5 2.1.6 2.1.7 2.1.8 2.1.9 3.0.0 3.0.0.1 3.0.0.2 3.0.0.3 3.0.1 3.0.1.1 3.0.2 3.0.3 3.0.4 3.0.5 3.0.6 3.0.7 3.0.8 3.0.9 3.1.0 3.1.0.1 3.1.1 3.1.2 3.1.3 3.1.4 3.1.5 3.1.6 3.1.7 3.1.8 3.1.9 3.2.0 3.2.1 3.2.2 3.2.3 3.3.0 3.3.1 3.3.2 3.3.3 3.3.3.1 3.3.4 3.3.4.1 3.3.4.2 3.4.0 3.4.1 3.4.2 3.4.3 3.4.4 3.4.5 3.4.5.1 3.4.5.2 3.4.6 3.4.7 3.4.7.1 3.5.0 3.5.1 3.5.1.1 3.5.1.2 3.5.2 3.5.2.1 3.5.3 3.5.4 3.5.5 3.5.6 3.5.6.1 3.5.6.2 3.5.6.3 3.6.0
jetformbuilder / assets / src / editor / blocks / form-break-field / index.js
jetformbuilder / assets / src / editor / blocks / form-break-field Last commit date
edit.js 2 years ago index.js 2 years ago preview.js 2 years ago
index.js
108 lines
1 import FormBreakEdit from './edit';
2 import metadata from '@blocks/form-break-field/block.json';
3
4 const { __ } = wp.i18n;
5
6 const { createBlock } = wp.blocks;
7
8 const { name, icon = '' } = metadata;
9
10 /**
11 * Available items for `useEditProps`:
12 * - uniqKey
13 * - formFields
14 * - blockName
15 * - attrHelp
16 */
17 const settings = {
18 icon: <span dangerouslySetInnerHTML={ { __html: icon } }></span>,
19 description: __(
20 `With the help of Form Break Field, divide one big form into
21 several parts and make those parts appear after filling in the previous part.`,
22 'jet-form-builder',
23 ),
24 edit: FormBreakEdit,
25 useEditProps: [ 'uniqKey', 'attrHelp', 'blockName' ],
26 example: {
27 attributes: {
28 isPreview: true,
29 },
30 },
31 transforms: {
32 to: [
33 {
34 type: 'block',
35 blocks: [ 'jet-forms/text-field' ],
36 transform: ( attributes ) => {
37 return createBlock( 'jet-forms/text-field',
38 { ...attributes } );
39 },
40 priority: 0,
41 },
42 {
43 type: 'block',
44 blocks: [ 'jet-forms/submit-field' ],
45 isMatch: attributes => attributes.add_next_button,
46 transform: ( attributes ) => {
47 return createBlock( 'jet-forms/submit-field', {
48 ...attributes,
49 action_type: 'next',
50 } );
51 },
52 priority: 0,
53 },
54 {
55 type: 'block',
56 blocks: [ 'core/buttons' ],
57 isMatch: attributes => attributes.add_next_button,
58 transform: ( { label = '' } ) => {
59 return createBlock( 'core/buttons', {}, [
60 createBlock( 'core/button', { text: label } ),
61 ] );
62 },
63 priority: 0,
64 },
65 ],
66 from: [
67 {
68 type: 'block',
69 blocks: [
70 'jet-forms/text-field',
71 ],
72 transform: ( attributes ) => {
73 return createBlock( name, { ...attributes } );
74 },
75 priority: 0,
76 },
77 {
78 type: 'block',
79 blocks: [ 'jet-forms/submit-field' ],
80 isMatch: attributes => (
81 'next' === attributes.action_type
82 ),
83 transform: ( attributes ) => {
84 return createBlock( name, { ...attributes } );
85 },
86 priority: 0,
87 },
88 {
89 type: 'block',
90 blocks: [
91 'core/buttons',
92 ],
93 transform: ( attributes, innerBlocks ) => {
94 return createBlock( name, {
95 label: innerBlocks[ 0 ]?.attributes?.text || 'Next',
96 } );
97 },
98 priority: 0,
99 },
100 ],
101 },
102 };
103
104 export {
105 metadata,
106 name,
107 settings,
108 };