PluginProbe
Bit Form – Contact Form, Payment Forms, Multi Step Forms, Calculator & Custom Form Builder / 3.2.2
Bit Form – Contact Form, Payment Forms, Multi Step Forms, Calculator & Custom Form Builder v3.2.2
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 / ButtonField.php

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

117 lines 4.1 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 class ButtonField
6 {
7 public static function init($field, $rowID, $field_name, $form_atomic_Cls_map, $formID, $error = null, $value = null)
8 {
9 $inputWrapper = new ClassicInputWrapper($field, $rowID, $field_name, $form_atomic_Cls_map, $formID, $error, $value);
10 $button = self::field($field, $rowID, $form_atomic_Cls_map, $formID);
11 return $inputWrapper->wrapper($button, true, true);
12 }
13
14 private static function getBtnClass($btnTyp)
15 {
16 switch ($btnTyp) {
17 case 'save-draft':
18 return 'bf-trigger-form-abandonment';
19 case 'next-step':
20 return 'next-step-btn';
21 case 'previous-step':
22 return 'prev-step-btn';
23 }
24 return '';
25 }
26
27 private static function getBtnTyp($btnTyp)
28 {
29 switch ($btnTyp) {
30 case 'submit':
31 case 'reset':
32 return $btnTyp;
33 default:
34 return 'button';
35 }
36 }
37
38 private static function field($field, $rowID, $form_atomic_Cls_map, $formID, $error = null, $value = null)
39 {
40 $fieldHelpers = new ClassicFieldHelpers($field, $rowID, $form_atomic_Cls_map);
41 // $helperTxt = self::helperTxt($field, $rowID, $field_name, $form_atomic_Cls_map, $formID, $error = null, $value = null);
42
43 $btnPreIcn = $fieldHelpers->icon('btnPreIcn', 'btn-pre-i');
44 $btnSufIcn = $fieldHelpers->icon('btnSufIcn', 'btn-suf-i');
45 $disabled = $fieldHelpers->disabled();
46 // $name = $field->btnTyp === 'submit' ? 'name="bit-form-submit-btn"' : '';
47 $name = $fieldHelpers->name();
48 $btnSpinner = '<span class="bf-spinner d-none" aria-hidden="true"></span>';
49 $btnClass = self::getBtnClass($field->btnTyp);
50 $btnTyp = self::getBtnTyp($field->btnTyp);
51 $ariaDescribedBy = $fieldHelpers->ariaDescribedBy();
52
53 return sprintf(
54 '<div
55 %1$s
56 class="%2$s %3$s"
57 >
58 <button
59 %4$s
60 class="%5$s %6$s %7$s"
61 type="%8$s"
62 %9$s
63 %10$s
64 %11$s
65 >
66 %12$s
67 %13$s
68 %14$s
69 %15$s
70 </button>
71 </div>',
72 $fieldHelpers->getCustomAttributes('inp-fld-wrp'), // 1
73 $fieldHelpers->getAtomicCls('inp-fld-wrp'), // 2
74 $fieldHelpers->getCustomClasses('inp-fld-wrp'), // 3
75 $fieldHelpers->getCustomAttributes('btn'), // 4
76 $fieldHelpers->getAtomicCls('btn'), // 5
77 $fieldHelpers->getCustomClasses('btn'), // 6
78 $btnClass, // 7
79 $btnTyp, // 8
80 $name, // 9
81 $disabled, // 10
82 $ariaDescribedBy, // 11
83 $btnPreIcn, // 12
84 $fieldHelpers->kses_post($fieldHelpers->renderHTMR($field->txt)), // 13
85 $btnSufIcn, // 14
86 $btnSpinner // 15
87 );
88 }
89
90 private static function helperTxt($field, $rowID, $field_name, $form_atomic_Cls_map, $formID, $error = null, $value = null)
91 {
92 $fieldHelpers = new ClassicFieldHelpers($field, $rowID, $form_atomic_Cls_map);
93 $hlpPreIcn = $fieldHelpers->icon('hlpPreIcn', 'hlp-txt-pre-i');
94 $hlpSufIcn = $fieldHelpers->icon('hlpSufIcn', 'hlp-txt-suf-i');
95 $hlpTxt = isset($field->helperTxt) ? $fieldHelpers->renderHTMR($field->helperTxt) : '';
96
97 $helperTxt = sprintf(
98 '<div
99 %1$s
100 class="%2$s %3$s"
101 >
102 %4$s
103 %5$s
104 %6$s
105 </div>',
106 $fieldHelpers->getCustomAttributes('hlp-txt'),
107 $fieldHelpers->getAtomicCls('hlp-txt'),
108 $fieldHelpers->getCustomClasses('hlp-txt'),
109 $hlpPreIcn,
110 $fieldHelpers->kses_post($hlpTxt),
111 $hlpSufIcn
112 );
113
114 return property_exists($field, 'helperTxt') ? $helperTxt : '';
115 }
116 }
117