PluginProbe
Bit Form – Contact Form, Payment Forms, Multi Step Forms, Calculator & Custom Form Builder / 3.3.1
Bit Form – Contact Form, Payment Forms, Multi Step Forms, Calculator & Custom Form Builder v3.3.1
3.3.1 V-3.3.0 3.2.2 3.2.1 3.2.0 3.1.4 3.1.3 3.1.2 3.1.1 3.1.0 V3.0.3 V3.0.2 -3.0.1 V_3.0.0 1.1.1 1.1.8 1.2 1.3 1.4 1.4.18 1.5.2 1.9 2.0 2.10.0 2.10.1 All 138 releases
bit-form / includes / Frontend / Form / View / Theme / Fields / DecisionBoxField.php

DecisionBoxField.php in Bit Form – Contact Form, Payment Forms, Multi Step Forms, Calculator & Custom Form Builder 3.3.1, at includes/Frontend/Form/View/Theme/Fields/DecisionBoxField.php

151 lines 5.7 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2
3 namespace BitCode\BitForm\Frontend\Form\View\Theme\Fields;
4
5 use BitCode\BitForm\Core\Util\FrontendHelpers;
6
7 class DecisionBoxField
8 {
9 public static function init($field, $rowID, $field_name, $form_atomic_Cls_map, $formID, $error = null, $value = null)
10 {
11 $inputWrapper = new ClassicInputWrapper($field, $rowID, $field_name, $form_atomic_Cls_map, $formID, $error, $value);
12 $input = self::field($field, $rowID, $field_name, $form_atomic_Cls_map, $formID, $error, $value);
13 return $inputWrapper->wrapper($input, true);
14 }
15
16 private static function field($field, $rowID, $field_name, $form_atomic_Cls_map, $formID, $error = null, $value = null)
17 {
18 $fieldHelpers = new ClassicFieldHelpers($field, $rowID, $form_atomic_Cls_map);
19
20 $suggestions = '';
21 $req = $fieldHelpers->required();
22 $disabled = '';
23 $readonly = '';
24 $name = $fieldHelpers->name();
25 $value = '';
26 $ariaDescribedBy = $fieldHelpers->ariaDescribedBy();
27 $ariaRequired = $fieldHelpers->ariaRequired();
28 // Get dynamic label ID to link the checkbox group to its label for screen readers
29 $labelId = $fieldHelpers->getLabelId();
30 $bfFrontendFormIds = FrontendHelpers::$bfFrontendFormIds;
31 $contentCount = count($bfFrontendFormIds);
32 if ($fieldHelpers->property_exists_nested($field, 'msg->checked')) {
33 $value = "value='{$field->msg->checked}'";
34 }
35 $checked = '';
36
37 if ($fieldHelpers->property_exists_nested($field, 'valid->disabled', true)) {
38 $disabled = 'disabled';
39 }
40
41 if ($fieldHelpers->property_exists_nested($field, 'valid->checked', true) || $fieldHelpers->isChecked()) {
42 $checked = 'checked';
43 }
44
45 if ($fieldHelpers->property_exists_nested($field, 'valid->readonly', true)) {
46 $readonly = 'readonly';
47 }
48
49 $lbl = '';
50 if (isset($field->lbl) && !empty($field->lbl)) {
51 $lbl = $field->lbl;
52 } elseif ($fieldHelpers->property_exists_nested($field, 'info->lbl') && !empty($field->info->lbl)) {
53 $lbl = $field->info->lbl;
54 }
55
56 return sprintf(
57 '<div
58 %1$s
59 class="%2$s %3$s"
60 role="group"
61 aria-labelledby="%4$s"
62 %5$s
63 >
64 <svg class="%6$s" aria-hidden="true">
65 <symbol id="%7$s-ck-svg" viewBox="0 0 12 10">
66 <polyline
67 class="%8$s"
68 points="1.5 6 4.5 9 10.5 1"
69 ></polyline>
70 </symbol>
71 </svg>
72
73 <div
74 %9$s
75 class="%10$s %11$s"
76 >
77 <input
78 id="%12$s-%13$s-decision"
79 type="checkbox"
80 class="%14$s"
81 %15$s
82 %16$s
83 %17$s
84 %18$s
85 %19$s
86 %20$s
87 %21$s
88 />
89 <label
90 %22$s
91 data-cl
92 for="%23$s-%24$s-decision"
93 class="%25$s"
94 >
95 <span
96 %26$s
97 data-bx
98 class="%27$s %28$s"
99 >
100 <svg width="12" height="10" viewBox="0 0 12 10" class="%29$s" aria-hidden="true">
101 <use data-ck-icn href="#%30$s-ck-svg" class="%31$s" />
102 </svg>
103 </span>
104 <span
105 %32$s
106 class="%33$s %34$s"
107 >
108 %35$s
109 </span>
110 </label>
111 </div>
112 </div>',
113 $fieldHelpers->getCustomAttributes('cc'), // 1
114 $fieldHelpers->getAtomicCls('cc'), // 2
115 $fieldHelpers->getCustomClasses('cc'), // 3
116 $labelId, // 4
117 $ariaDescribedBy, // 5
118 $fieldHelpers->getAtomicCls('cks'), // 6
119 $rowID, // 7
120 $fieldHelpers->getAtomicCls('ck-svgline'), // 8
121 $fieldHelpers->getCustomAttributes('cw'), // 9
122 $fieldHelpers->getAtomicCls('cw'), // 10
123 $fieldHelpers->getCustomClasses('cw'), // 11
124 $rowID, // 12
125 $contentCount, // 13
126 $fieldHelpers->getAtomicCls('ci'), // 14
127 $disabled, // 15
128 $readonly, // 16
129 $req, // 17
130 $ariaRequired, // 18
131 $name, // 19
132 $checked, // 20
133 $value, // 21
134 $fieldHelpers->getCustomAttributes('cl'), // 22
135 $rowID, // 23
136 $contentCount, // 24
137 $fieldHelpers->getAtomicCls('cl'), // 25
138 $fieldHelpers->getCustomAttributes('bx'), // 26
139 $fieldHelpers->getAtomicCls('bx'), // 27
140 $fieldHelpers->getAtomicCls('bx'), // 28
141 $fieldHelpers->getAtomicCls('svgwrp'), // 29
142 $rowID, // 30
143 $fieldHelpers->getAtomicCls('ck-icn'), // 31
144 $fieldHelpers->getCustomAttributes('ct'), // 32
145 $fieldHelpers->getAtomicCls('ct'), // 33
146 $fieldHelpers->getCustomClasses('ct'), // 34
147 $fieldHelpers->kses_post($fieldHelpers->renderHTMR($lbl)) // 35
148 );
149 }
150 }
151