DataFilter   A
last analyzed

Complexity

Total Complexity 5

Size/Duplication

Total Lines 33
Duplicated Lines 0 %

Test Coverage

Coverage 100%

Importance

Changes 1
Bugs 0 Features 0
Metric Value
eloc 8
c 1
b 0
f 0
dl 0
loc 33
ccs 9
cts 9
cp 1
rs 10
wmc 5

2 Methods

Rating   Name   Duplication   Size   Complexity  
A compileData() 0 9 2
A transform() 0 7 3
1
<?php
2
3
namespace JeroenNoten\LaravelAdminLte\Menu\Filters;
4
5
class DataFilter implements FilterInterface
6
{
7
    /**
8
     * Transforms a menu item. Adds the compiled version of HTML data
9
     * attributes to an item when suitable.
10
     *
11
     * @param  array  $item  A menu item
12
     * @return array
13
     */
14 54
    public function transform($item)
15
    {
16 54
        if (isset($item['data']) && is_array($item['data'])) {
17 1
            $item['data-compiled'] = $this->compileData($item['data']);
18
        }
19
20 54
        return $item;
21
    }
22
23
    /**
24
     * Compile an array of HTML data attributes into a data string.
25
     *
26
     * @param  array  $dataArray  Array of HTML data attributes
27
     * @return string
28
     */
29 1
    protected function compileData($dataArray)
30
    {
31 1
        $compiled = [];
32
33 1
        foreach ($dataArray as $key => $value) {
34 1
            $compiled[] = "data-{$key}=\"{$value}\"";
35
        }
36
37 1
        return implode(' ', $compiled);
38
    }
39
}
40