66
77use TYPO3 \CMS \Backend \Form \Element \AbstractFormElement ;
88
9- final class InputTextElement extends AbstractFormElement
9+ class InputTextElement extends AbstractFormElement
1010{
11+ /**
12+ * Default field information enabled for this element.
13+ *
14+ * @var array
15+ */
16+ protected $ defaultFieldInformation = [
17+ 'tcaDescription ' => [
18+ 'renderType ' => 'tcaDescription ' ,
19+ ],
20+ ];
21+
22+ /**
23+ * Default field wizards enabled for this element.
24+ *
25+ * @var array
26+ */
1127 protected $ defaultFieldWizard = [
1228 'localizationStateSelector ' => [
1329 'renderType ' => 'localizationStateSelector ' ,
@@ -30,23 +46,51 @@ public function render(): array
3046 {
3147 $ resultArray = $ this ->initializeResultArray ();
3248
49+ $ fieldInformationResult = $ this ->renderFieldInformation ();
50+ $ fieldInformationHtml = $ fieldInformationResult ['html ' ];
51+
52+ $ fieldControlResult = $ this ->renderFieldControl ();
53+ $ fieldControlHtml = $ fieldControlResult ['html ' ];
54+
3355 $ fieldWizardResult = $ this ->renderFieldWizard ();
3456 $ fieldWizardHtml = $ fieldWizardResult ['html ' ];
57+
3558 $ resultArray = $ this ->mergeChildReturnIntoExistingResult ($ resultArray , $ fieldWizardResult , false );
3659
3760 $ mainFieldHtml = [];
3861 $ mainFieldHtml [] = '<div class="form-control-wrap"> ' ;
3962 $ mainFieldHtml [] = '<div class="form-wizards-wrap"> ' ;
40- $ mainFieldHtml [] = '<div class="form-wizards-element"> ' ;
41- // Main HTML of element done here ...
42- $ mainFieldHtml [] = '</div> ' ;
43- $ mainFieldHtml [] = '<div class="form-wizards-items-bottom"> ' ;
44- $ mainFieldHtml [] = $ fieldWizardHtml ;
63+ $ mainFieldHtml [] = '<div class="form-wizards-item-element"> ' ;
64+ $ mainFieldHtml [] = '<input type="text"/> ' ;
4565 $ mainFieldHtml [] = '</div> ' ;
66+
67+ // Add part for FieldControl between the label and the form element
68+ if (!empty ($ fieldControlHtml )) {
69+ $ mainFieldHtml [] = '<div class="form-wizards-item-aside form-wizards-item-aside--field-control"> ' ;
70+ $ mainFieldHtml [] = '<div class="btn-group"> ' ;
71+ $ mainFieldHtml [] = $ fieldControlHtml ;
72+ $ mainFieldHtml [] = '</div> ' ;
73+ $ mainFieldHtml [] = '</div> ' ;
74+ }
75+
76+ // Add part for FieldWizards to the right of element node
77+ if (!empty ($ fieldWizardHtml )) {
78+ $ mainFieldHtml [] = '<div class="form-wizards-item-bottom"> ' ;
79+ $ mainFieldHtml [] = $ fieldWizardHtml ;
80+ $ mainFieldHtml [] = '</div> ' ;
81+ }
82+
4683 $ mainFieldHtml [] = '</div> ' ;
4784 $ mainFieldHtml [] = '</div> ' ;
4885
49- $ resultArray ['html ' ] = implode (LF , $ mainFieldHtml );
86+ $ fullElement = implode (LF , $ mainFieldHtml );
87+
88+ // Add part for FieldInformation to bottom of element node
89+ $ resultArray ['html ' ] = '
90+ <div class="formengine-field-item t3js-formengine-field-item">
91+ ' . $ fieldInformationHtml . $ fullElement . '
92+ </div> ' ;
93+
5094 return $ resultArray ;
5195 }
5296}
0 commit comments