Passed
Push — master ( e98e31...880950 )
by Bruno
06:29
created

Button::render()   A

Complexity

Conditions 3
Paths 3

Size

Total Lines 18
Code Lines 9

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 1
Metric Value
cc 3
eloc 9
c 1
b 0
f 1
nc 3
nop 2
dl 0
loc 18
rs 9.9666
1
<?php declare(strict_types=1);
2
3
namespace Formularium\Frontend\HTML\Element;
4
5
use Formularium\Element;
6
use Formularium\HTMLNode;
7
8
class Button extends Element
9
{
10
    public function render(array $parameters, HTMLNode $previous): HTMLNode
11
    {
12
        $node = new HTMLNode('button');
13
14
        $node->setAttributes([
15
            'type' => 'submit', // TODO
16
            'class' => '',
17
        ]);
18
19
        $node->setContent($parameters[self::LABEL] ?? '');
20
21
        foreach ([static::DISABLED, static::READONLY] as $v) {
22
            if ($parameters[$v] ?? false) {
23
                $node->setAttribute($v, $v);
24
            }
25
        }
26
27
        return $node;
28
    }
29
}
30