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 / validation / components / AdvancedRulesList.js
jetformbuilder / assets / src / package / validation / components Last commit date
AdvancedRuleItem.js 2 years ago AdvancedRuleModalItem.js 2 years ago AdvancedRulesIsEmpty.js 2 years ago AdvancedRulesList.js 2 years ago AdvancedRulesModal.js 2 years ago ChooseRelatedField.js 2 years ago EditAdvancedRulesButton.js 2 years ago EditRulesModalContext.js 2 years ago HumanReadableRule.js 2 years ago ValidationBlockMessage.js 2 years ago ValidationMetaMessage.js 2 years ago ValidationToggleGroup.js 2 years ago
AdvancedRulesList.js
52 lines
1 import useBlockAttributes from '../../blocks/hooks/useBlockAttributes';
2 import AdvancedRulesIsEmpty from './AdvancedRulesIsEmpty';
3 import ContainersList from '../../components/ContainersList';
4 import AdvancedRuleItem from './AdvancedRuleItem';
5
6 const {
7 __,
8 } = wp.i18n;
9 const {
10 Children,
11 cloneElement,
12 } = wp.element;
13
14 const renderGroup = ( current, index ) => <>
15 <b>{ __( 'AND', 'jet-form-builder' ) }</b>
16 <AdvancedRuleItem
17 rule={ current }
18 index={ index }
19 />
20 </>;
21
22 function getRulesList( rules ) {
23 const andRules = rules.filter(
24 ( c, index ) => 0 !== index,
25 );
26
27 return [
28 <AdvancedRuleItem
29 rule={ rules[ 0 ] }
30 />,
31 ...andRules.map(
32 ( item, index ) => renderGroup( item, index + 1 ),
33 ),
34 ];
35 }
36
37 function AdvancedRulesList() {
38 const [ attributes ] = useBlockAttributes();
39
40 if ( !attributes?.validation?.rules?.length ) {
41 return <AdvancedRulesIsEmpty/>;
42 }
43
44 return <ContainersList>
45 { Children.map(
46 getRulesList( attributes.validation.rules ),
47 cloneElement,
48 ) }
49 </ContainersList>;
50 }
51
52 export default AdvancedRulesList;