Test Failed
Push — master ( e97986...2933e0 )
by Bruno
19:41 queued 09:43
created

RenderableVuetifyTrait   A

Complexity

Total Complexity 5

Size/Duplication

Total Lines 30
Duplicated Lines 0 %

Importance

Changes 2
Bugs 1 Features 0
Metric Value
wmc 5
eloc 10
c 2
b 1
f 0
dl 0
loc 30
rs 10

1 Method

Rating   Name   Duplication   Size   Complexity  
A editable() 0 18 5
1
<?php declare(strict_types=1);
2
3
namespace Formularium\Frontend\Vuetify;
4
5
use Formularium\Field;
6
use Formularium\Frontend\HTML\Renderable;
7
use Formularium\HTMLNode;
8
9
trait RenderableVuetifyTrait
10
{
11
    /**
12
     * Subcall of wrapper editable() from RenderableTrait
13
     *
14
     * @param mixed $value
15
     * @param Field $field
16
     * @param HTMLNode $previous
17
     * @return HTMLNode
18
     */
19
    abstract public function _editable($value, Field $field, HTMLNode $previous): HTMLNode;
20
21
    public function editable($value, Field $field, HTMLNode $previous): HTMLNode
22
    {
23
        /** @var HTMLNode $base */
24
        $base = $this->_editable($value, $field, $previous);
25
26
        $base->filter(function ($e) {
27
            if ($e instanceof HTMLNode) {
28
                if ($e->getTag() === 'label') {
29
                    return false;
30
                }
31
                if ($e->getTag() === 'div' && $e->getAttribute('class') === ['formularium-comment']) {
32
                    return false;
33
                }
34
            }
35
            return true;
36
        });
37
38
        return $base;
39
    }
40
}
41