DataGridExtension   A
last analyzed

Complexity

Total Complexity 9

Size/Duplication

Total Lines 71
Duplicated Lines 0 %

Importance

Changes 2
Bugs 0 Features 0
Metric Value
eloc 26
dl 0
loc 71
rs 10
c 2
b 0
f 0
wmc 9

9 Methods

Rating   Name   Duplication   Size   Complexity  
A gridView() 0 3 1
A gridFilters() 0 3 1
A getFunctions() 0 26 1
A gridPagination() 0 3 1
A gridHead() 0 3 1
A gridWidget() 0 3 1
A gridBody() 0 3 1
A gridStart() 0 3 1
A gridEnd() 0 3 1
1
<?php
2
3
4
namespace Pfilsx\DataGrid\Twig;
5
6
7
use Pfilsx\DataGrid\Grid\DataGridView;
8
use Twig\Extension\AbstractExtension;
9
use Twig\TwigFunction;
10
11
class DataGridExtension extends AbstractExtension
12
{
13
14
    public function getFunctions(): array
15
    {
16
        return [
17
            new TwigFunction('grid_start', [$this, 'gridStart'], [
18
                'is_safe' => ['html']
19
            ]),
20
            new TwigFunction('grid_head', [$this, 'gridHead'], [
21
                'is_safe' => ['html']
22
            ]),
23
            new TwigFunction('grid_filters', [$this, 'gridFilters'], [
24
                'is_safe' => ['html']
25
            ]),
26
            new TwigFunction('grid_body', [$this, 'gridBody'], [
27
                'is_safe' => ['html']
28
            ]),
29
            new TwigFunction('grid_end', [$this, 'gridEnd'], [
30
                'is_safe' => ['html']
31
            ]),
32
            new TwigFunction('grid_pagination', [$this, 'gridPagination'], [
33
                'is_safe' => ['html']
34
            ]),
35
            new TwigFunction('grid_widget', [$this, 'gridWidget'], [
36
                'is_safe' => ['html']
37
            ]),
38
            new TwigFunction('grid_view', [$this, 'gridView'], [
39
                'is_safe' => ['html']
40
            ]),
41
        ];
42
    }
43
44
    public function gridStart(DataGridView $gridView, array $attributes = [])
45
    {
46
        return $gridView->renderGridStart($attributes);
47
    }
48
49
    public function gridHead(DataGridView $gridView)
50
    {
51
        return $gridView->renderGridHead();
52
    }
53
54
    public function gridFilters(DataGridView $gridView)
55
    {
56
        return $gridView->renderGridFilters();
57
    }
58
59
    public function gridBody(DataGridView $gridView)
60
    {
61
        return $gridView->renderGridBody();
62
    }
63
64
    public function gridEnd(DataGridView $gridView)
65
    {
66
        return $gridView->renderGridEnd();
67
    }
68
69
    public function gridPagination(DataGridView $gridView)
70
    {
71
        return $gridView->renderGridPagination();
72
    }
73
74
    public function gridWidget(DataGridView $gridView)
75
    {
76
        return $gridView->renderGridWidget();
77
    }
78
79
    public function gridView(DataGridView $gridView, array $attributes = [])
80
    {
81
        return $gridView->renderGridView($attributes);
82
    }
83
}
84