PluginProbe ʕ •ᴥ•ʔ
JetFormBuilder — Dynamic Blocks Form Builder / 3.1.1
JetFormBuilder — Dynamic Blocks Form Builder v3.1.1
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 / package / blocks / helpers / getFormFieldsBlocks.js
jetformbuilder / assets / src / package / blocks / helpers Last commit date
ChangeNameByLabel.js 2 years ago ControlsSettings.js 2 years ago appendField.js 2 years ago blocksRecursiveIterator.js 2 years ago getAvailableFields.js 2 years ago getAvailableFieldsString.js 2 years ago getBlockControls.js 2 years ago getBlocksByName.js 2 years ago getCurrentInnerBlocks.js 2 years ago getFieldsWithoutCurrent.js 2 years ago getFormFieldsBlocks.js 2 years ago getInnerBlocks.js 2 years ago
getFormFieldsBlocks.js
57 lines
1 import blocksRecursiveIterator from './blocksRecursiveIterator';
2
3 const {
4 applyFilters,
5 addFilter,
6 } = wp.hooks;
7 const {
8 select,
9 } = wp.data;
10
11 function getFormFieldsBlocks(
12 exclude = [],
13 placeholder = false,
14 suppressFilter = false,
15 context = 'default',
16 ) {
17 let formFields = [];
18 let skipFields = [
19 'submit',
20 'form-break',
21 'heading',
22 'group-break',
23 'conditional',
24 ...exclude,
25 ];
26
27 blocksRecursiveIterator( block => {
28 if ( block.name.includes( 'jet-forms/' )
29 && !skipFields.find( field => block.name.includes( field ) )
30 ) {
31
32 const blockType = select( 'core/blocks' ).
33 getBlockType( block.name );
34
35 if ( !blockType.hasOwnProperty( 'jfbGetFields' ) ) {
36 return;
37 }
38
39 const newFields = blockType.jfbGetFields.call( block, context );
40
41 formFields.push(
42 ...newFields.filter( current => !formFields.some(
43 ( { value } ) => value === current.value,
44 ) ),
45 );
46 }
47 } );
48
49 formFields = placeholder
50 ? [ { value: '', label: placeholder }, ...formFields ]
51 : formFields;
52
53 return suppressFilter ? formFields : applyFilters(
54 'jet.fb.getFormFieldsBlocks', formFields, context );
55 }
56
57 export default getFormFieldsBlocks;