Passed
Push — master ( bc0996...c35245 )
by Bruno
05:47
created

Framework::editableCompose()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 12
Code Lines 8

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
cc 1
eloc 8
c 1
b 0
f 0
nc 1
nop 3
dl 0
loc 12
rs 10
1
<?php
2
3
namespace Formularium\Frontend\Parsley;
4
5
use Formularium\HTMLElement;
6
use Formularium\Model;
7
8
class Framework extends \Formularium\Framework
9
{
10
    public function __construct(string $name = 'Parsley')
11
    {
12
        parent::__construct($name);
13
    }
14
15
    public function htmlFooter(HTMLElement &$footer)
16
    {
17
        $footer->appendContent([
18
            HTMLElement::factory('script', ['src' => "https://code.jquery.com/jquery-3.2.1.slim.min.js", 'integrity' => "sha384-KJ3o2DKtIkvYIK3UENzmM7KCkRr/rE9/Qpg6aAZGJwFDMVNA/GpGFF93hXpG5KkN", 'crossorigin' => "anonymous"]),
19
            HTMLElement::factory('script', ['src' => "https://cdnjs.cloudflare.com/ajax/libs/parsley.js/2.9.1/parsley.min.js"])
20
        ]);
21
    }
22
23
    public function form(HTMLElement $form)
24
    {
25
        $form->setAttributes([
26
            'data-parsley-success-class' => 'asdfasdf'
27
        ]);
28
    }
29
 
30
    public function editableCompose(Model $m, array $elements, string $previousCompose): string
31
    {
32
        // TODO: these are bootstrap classes
33
        $atts = [
34
            'data-parsley-validate' => '',
35
            'data-parsley-trigger' => "change",
36
            'data-parsley-error-class' => "is-invalid",
37
            'data-parsley-success-class' => "is-valid",
38
            'data-parsley-errors-wrapper' => "<span class='invalid-feedback'></span>",
39
            'data-parsley-error-template' => "<div></div>"
40
        ];
41
        return HTMLElement::factory('div', $atts, [$previousCompose], true)->getRenderHTML();
42
    }
43
}
44