Passed
Pull Request — master (#275)
by Sergei
03:07
created

Field::submitButton()   A

Complexity

Conditions 2
Paths 2

Size

Total Lines 9
Code Lines 4

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 5
CRAP Score 2

Importance

Changes 0
Metric Value
cc 2
eloc 4
c 0
b 0
f 0
nc 2
nop 2
dl 0
loc 9
ccs 5
cts 5
cp 1
crap 2
rs 10
1
<?php
2
3
declare(strict_types=1);
4
5
namespace Yiisoft\Form\InputData\FormModel;
6
7
use Yiisoft\Form\Field\Button;
8
use Yiisoft\Form\Field\ButtonGroup;
9
use Yiisoft\Form\Field\Checkbox;
10
use Yiisoft\Form\Field\CheckboxList;
11
use Yiisoft\Form\Field\Date;
12
use Yiisoft\Form\Field\DateTime;
13
use Yiisoft\Form\Field\DateTimeLocal;
14
use Yiisoft\Form\Field\Email;
15
use Yiisoft\Form\Field\ErrorSummary;
16
use Yiisoft\Form\Field\Fieldset;
17
use Yiisoft\Form\Field\File;
18
use Yiisoft\Form\Field\Hidden;
19
use Yiisoft\Form\Field\Image;
20
use Yiisoft\Form\Field\Number;
21
use Yiisoft\Form\Field\Part\Error;
22
use Yiisoft\Form\Field\Part\Hint;
23
use Yiisoft\Form\Field\Part\Label;
24
use Yiisoft\Form\Field\Password;
25
use Yiisoft\Form\Field\RadioList;
26
use Yiisoft\Form\Field\Range;
27
use Yiisoft\Form\Field\ResetButton;
28
use Yiisoft\Form\Field\Select;
29
use Yiisoft\Form\Field\SubmitButton;
30
use Yiisoft\Form\Field\Telephone;
31
use Yiisoft\Form\Field\Text;
32
use Yiisoft\Form\Field\Textarea;
33
use Yiisoft\Form\Field\Url;
34
use Yiisoft\Form\FormModelInterface;
35
36
class Field
37
{
38 1
    final public static function button(?string $content = null, array $config = []): Button
39
    {
40 1
        $field = Button::widget($config);
41
42 1
        if ($content !== null) {
43 1
            $field = $field->content($content);
0 ignored issues
show
Bug introduced by
The method content() does not exist on Yiisoft\Widget\Widget. It seems like you code against a sub-type of Yiisoft\Widget\Widget such as Yiisoft\Form\Field\Part\Label or Yiisoft\Form\Field\Part\Hint or Yiisoft\Form\Field\Fieldset or Yiisoft\Form\Field\Base\ButtonField. ( Ignorable by Annotation )

If this is a false-positive, you can also ignore this issue in your code via the ignore-call  annotation

43
            /** @scrutinizer ignore-call */ 
44
            $field = $field->content($content);
Loading history...
44
        }
45
46 1
        return $field;
47
    }
48
49 1
    final public static function buttonGroup(array $config = []): ButtonGroup
50
    {
51 1
        return ButtonGroup::widget(config: $config);
0 ignored issues
show
Bug Best Practice introduced by
The expression return Yiisoft\Form\Fiel...nGroup::widget($config) returns the type Yiisoft\Widget\Widget which includes types incompatible with the type-hinted return Yiisoft\Form\Field\ButtonGroup.
Loading history...
52
    }
53
54 1
    final public static function checkbox(
55
        FormModelInterface $formModel,
56
        string $attribute,
57
        array $config = []
58
    ): Checkbox {
59 1
        return Checkbox::widget(config: $config)->inputData(new FormModelInputData($formModel, $attribute));
0 ignored issues
show
Bug introduced by
The method inputData() does not exist on Yiisoft\Widget\Widget. It seems like you code against a sub-type of Yiisoft\Widget\Widget such as Yiisoft\Form\Field\Part\Label or Yiisoft\Form\Field\Part\Error or Yiisoft\Form\Field\Part\Hint or Yiisoft\Form\Field\RadioList or Yiisoft\Form\Field\Base\InputField or Yiisoft\Form\Field\CheckboxList. ( Ignorable by Annotation )

If this is a false-positive, you can also ignore this issue in your code via the ignore-call  annotation

59
        return Checkbox::widget(config: $config)->/** @scrutinizer ignore-call */ inputData(new FormModelInputData($formModel, $attribute));
Loading history...
60
    }
61
62 1
    final public static function checkboxList(
63
        FormModelInterface $formModel,
64
        string $attribute,
65
        array $config = []
66
    ): CheckboxList {
67 1
        return CheckboxList::widget(config: $config)->inputData(new FormModelInputData($formModel, $attribute));
68
    }
69
70 1
    final public static function date(FormModelInterface $formModel, string $attribute, array $config = []): Date
71
    {
72 1
        return Date::widget(config: $config)->inputData(new FormModelInputData($formModel, $attribute));
73
    }
74
75 1
    final public static function dateTime(
76
        FormModelInterface $formModel,
77
        string $attribute,
78
        array $config = []
79
    ): DateTime {
80 1
        return DateTime::widget(config: $config)->inputData(new FormModelInputData($formModel, $attribute));
81
    }
82
83 1
    final public static function dateTimeLocal(
84
        FormModelInterface $formModel,
85
        string $attribute,
86
        array $config = []
87
    ): DateTimeLocal {
88 1
        return DateTimeLocal::widget(config: $config)->inputData(new FormModelInputData($formModel, $attribute));
89
    }
90
91 1
    final public static function email(FormModelInterface $formModel, string $attribute, array $config = []): Email
92
    {
93 1
        return Email::widget(config: $config)->inputData(new FormModelInputData($formModel, $attribute));
94
    }
95
96 3
    final public static function errorSummary(FormModelInterface $formModel, array $config = []): ErrorSummary
97
    {
98 3
        return ErrorSummary::widget(config: $config)->validationResult($formModel->getValidationResult());
0 ignored issues
show
Bug introduced by
The method validationResult() does not exist on Yiisoft\Widget\Widget. It seems like you code against a sub-type of Yiisoft\Widget\Widget such as Yiisoft\Form\Field\ErrorSummary. ( Ignorable by Annotation )

If this is a false-positive, you can also ignore this issue in your code via the ignore-call  annotation

98
        return ErrorSummary::widget(config: $config)->/** @scrutinizer ignore-call */ validationResult($formModel->getValidationResult());
Loading history...
99
    }
100
101 2
    final public static function fieldset(array $config = []): Fieldset
102
    {
103 2
        return Fieldset::widget(config: $config);
0 ignored issues
show
Bug Best Practice introduced by
The expression return Yiisoft\Form\Fiel...eldset::widget($config) returns the type Yiisoft\Widget\Widget which includes types incompatible with the type-hinted return Yiisoft\Form\Field\Fieldset.
Loading history...
104
    }
105
106 1
    final public static function file(FormModelInterface $formModel, string $attribute, array $config = []): File
107
    {
108 1
        return File::widget(config: $config)->inputData(new FormModelInputData($formModel, $attribute));
109
    }
110
111 2
    final public static function hidden(FormModelInterface $formModel, string $attribute, array $config = []): Hidden
112
    {
113 2
        return Hidden::widget(config: $config)->inputData(new FormModelInputData($formModel, $attribute));
114
    }
115
116 1
    final public static function image(array $config = []): Image
117
    {
118 1
        return Image::widget(config: $config);
0 ignored issues
show
Bug Best Practice introduced by
The expression return Yiisoft\Form\Field\Image::widget($config) returns the type Yiisoft\Widget\Widget which includes types incompatible with the type-hinted return Yiisoft\Form\Field\Image.
Loading history...
119
    }
120
121 1
    final public static function number(FormModelInterface $formModel, string $attribute, array $config = []): Number
122
    {
123 1
        return Number::widget(config: $config)->inputData(new FormModelInputData($formModel, $attribute));
124
    }
125
126 1
    final public static function password(
127
        FormModelInterface $formModel,
128
        string $attribute,
129
        array $config = []
130
    ): Password {
131 1
        return Password::widget(config: $config)->inputData(new FormModelInputData($formModel, $attribute));
132
    }
133
134 1
    final public static function radioList(
135
        FormModelInterface $formModel,
136
        string $attribute,
137
        array $config = []
138
    ): RadioList {
139 1
        return RadioList::widget(config: $config)->inputData(new FormModelInputData($formModel, $attribute));
140
    }
141
142 1
    final public static function range(FormModelInterface $formModel, string $attribute, array $config = []): Range
143
    {
144 1
        return Range::widget(config: $config)->inputData(new FormModelInputData($formModel, $attribute));
145
    }
146
147 1
    final public static function resetButton(?string $content = null, array $config = []): ResetButton
148
    {
149 1
        $field = ResetButton::widget(config: $config);
150
151 1
        if ($content !== null) {
152 1
            $field = $field->content($content);
153
        }
154
155 1
        return $field;
156
    }
157
158 1
    final public static function select(FormModelInterface $formModel, string $attribute, array $config = []): Select
159
    {
160 1
        return Select::widget(config: $config)->inputData(new FormModelInputData($formModel, $attribute));
161
    }
162
163 1
    final public static function submitButton(?string $content = null, array $config = []): SubmitButton
164
    {
165 1
        $field = SubmitButton::widget(config: $config);
166
167 1
        if ($content !== null) {
168 1
            $field = $field->content($content);
169
        }
170
171 1
        return $field;
172
    }
173
174 1
    final public static function telephone(
175
        FormModelInterface $formModel,
176
        string $attribute,
177
        array $config = []
178
    ): Telephone {
179 1
        return Telephone::widget(config: $config)->inputData(new FormModelInputData($formModel, $attribute));
180
    }
181
182 3
    final public static function text(FormModelInterface $formModel, string $attribute, array $config = []): Text
183
    {
184 3
        return Text::widget(config: $config)->inputData(new FormModelInputData($formModel, $attribute));
185
    }
186
187 1
    final public static function textarea(
188
        FormModelInterface $formModel,
189
        string $attribute,
190
        array $config = []
191
    ): Textarea {
192 1
        return Textarea::widget(config: $config)->inputData(new FormModelInputData($formModel, $attribute));
193
    }
194
195 1
    final public static function url(FormModelInterface $formModel, string $attribute, array $config = []): Url
196
    {
197 1
        return Url::widget(config: $config)->inputData(new FormModelInputData($formModel, $attribute));
198
    }
199
200 1
    final public static function label(FormModelInterface $formModel, string $attribute, array $config = []): Label
201
    {
202 1
        return Label::widget(config: $config)->inputData(new FormModelInputData($formModel, $attribute));
203
    }
204
205 6
    final public static function hint(FormModelInterface $formModel, string $attribute, array $config = []): Hint
206
    {
207 6
        return Hint::widget(config: $config)->inputData(new FormModelInputData($formModel, $attribute));
208
    }
209
210 6
    final public static function error(FormModelInterface $formModel, string $attribute, array $config = []): Error
211
    {
212 6
        return Error::widget(config: $config)->inputData(new FormModelInputData($formModel, $attribute));
213
    }
214
}
215