PluginProbe
Bit Form – Contact Form, Payment Forms, Multi Step Forms, Calculator & Custom Form Builder / 2.21.13
Bit Form – Contact Form, Payment Forms, Multi Step Forms, Calculator & Custom Form Builder v2.21.13
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 / TextField.php

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

122 lines 3.4 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 TextField
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, $form_atomic_Cls_map, $value);
13 return $inputWrapper->wrapper($input);
14 }
15
16 private static function field($field, $rowID, $form_atomic_Cls_map, $value)
17 {
18 $fieldHelpers = new ClassicFieldHelpers($field, $rowID, $form_atomic_Cls_map);
19
20 $prefixIcn = $fieldHelpers->icon('prefixIcn', 'pre-i');
21 $suffixIcn = $fieldHelpers->icon('suffixIcn', 'suf-i');
22 $sugg = '';
23 $req = $fieldHelpers->required();
24 $disabled = $fieldHelpers->disabled();
25 $readonly = $fieldHelpers->readonly();
26 $inputMode = '';
27 $name = $fieldHelpers->name();
28 $ac = $fieldHelpers->autocomplete();
29 $mx = '';
30 $mn = '';
31 $ph = $fieldHelpers->placeholder();
32 $value = $fieldHelpers->value();
33 $list = '';
34 $bfFrontendFormIds = FrontendHelpers::$bfFrontendFormIds;
35 $contentCount = count($bfFrontendFormIds);
36
37 $onClickAttr = self::onClickAttr($field, $rowID);
38
39 if (property_exists($field, 'suggestions') && count($field->suggestions) > 0) {
40 $list = "list='{$rowID}-{$contentCount}-datalist'";
41 $sugg .= "<datalist id='{$rowID}-{$contentCount}-datalist'>";
42 foreach ($field->suggestions as $suggestion) {
43 $val = (isset($suggestion->val) && !empty($suggestion->val)) ? $suggestion->val : $suggestion->lbl;
44 $sugg .= "<option value='{$fieldHelpers->esc_attr($val)}'>{$fieldHelpers->esc_html($suggestion->lbl)}</option>";
45 }
46 $sugg .= '</datalist>';
47 }
48
49 if (property_exists($field, 'mn') && '' !== $field->mn) {
50 $mn = "min='{$fieldHelpers->esc_attr($field->mn)}'";
51 }
52
53 if (property_exists($field, 'mx') && '' !== $field->mx) {
54 $mx = "max='{$fieldHelpers->esc_attr($field->mx)}'";
55 }
56
57 if (property_exists($field, 'inputMode') && '' !== $field->inputMode) {
58 $inputMode = "inputMode='{$fieldHelpers->esc_attr($field->inputMode)}'";
59 }
60
61 return sprintf(
62 '<div %1$s class="%2$s %3$s">
63 <input
64 %4$s
65 id="%5$s"
66 %6$s
67 class="%7$s %8$s"
68 type="%9$s"
69 %10$s
70 %11$s
71 %12$s
72 %13$s
73 %14$s
74 %15$s
75 %16$s
76 %17$s
77 %18$s
78 %19$s
79 %20$s
80 />
81 %21$s
82 %22$s
83 </div>
84 %23$s',
85 $fieldHelpers->getCustomAttributes('inp-fld-wrp'),
86 $fieldHelpers->getAtomicCls('inp-fld-wrp'),
87 $fieldHelpers->getCustomClasses('inp-fld-wrp'),
88 $fieldHelpers->getCustomAttributes('fld'),
89 "{$rowID}-{$contentCount}",
90 $list,
91 $fieldHelpers->getAtomicCls('fld'),
92 $fieldHelpers->getCustomClasses('fld'),
93 $field->typ,
94 $req,
95 $disabled,
96 $readonly,
97 $ph,
98 $mn,
99 $mx,
100 $ac,
101 $inputMode,
102 $name,
103 $value,
104 $onClickAttr,
105 $prefixIcn,
106 $suffixIcn,
107 $sugg
108 );
109 }
110
111 private static function onClickAttr($field, $rowID)
112 {
113 $onClickAttr = '';
114 $dateType = ['date', 'datetime-local', 'month', 'time', 'week'];
115 //field type check
116 if (in_array($field->typ, $dateType)) {
117 $onClickAttr = "onclick='this.showPicker();'";
118 }
119 return $onClickAttr;
120 }
121 }
122