Renderable_date   A
last analyzed

Complexity

Total Complexity 1

Size/Duplication

Total Lines 21
Duplicated Lines 0 %

Importance

Changes 1
Bugs 0 Features 1
Metric Value
eloc 12
c 1
b 0
f 1
dl 0
loc 21
rs 10
wmc 1

1 Method

Rating   Name   Duplication   Size   Complexity  
A editable() 0 19 1
1
<?php declare(strict_types=1); 
2
3
namespace Formularium\Frontend\Materialize\Renderable;
4
5
use Formularium\Field;
6
use Formularium\HTMLNode;
7
8
class Renderable_date extends Renderable_string
9
{
10
    public function editable($value, Field $field, HTMLNode $previous): HTMLNode
11
    {
12
        $element = parent::editable($value, $field, $previous);
13
        $input = $element->get('input')[0];
14
        $input->setAttributes(['type' => 'text', 'class' => 'datepicker']);
15
        $id = $input->getAttribute('id')[0];
16
        $element->appendContent(
17
            HTMLNode::factory(
18
                'script',
19
                [],
20
                "document.addEventListener('DOMContentLoaded', function() {
21
                    var elems = document.querySelectorAll('#${id}');
22
                    var options = {'format': 'yyyy-mm-dd'};
23
                    var instances = M.Datepicker.init(elems, options);
24
                });",
25
                true
26
            )
27
        );
28
        return $element;
29
    }
30
}
31