Completed
Push — master ( 7c349c...7430d0 )
by ARCANEDEV
06:03
created

sidebar.blade.php ➔ renderSidebarItem()   A

Complexity

Conditions 2
Paths 2

Size

Total Lines 23
Code Lines 16

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 2
eloc 16
nc 2
nop 1
dl 0
loc 23
rs 9.0856
c 0
b 0
f 0
1
<?php
2
/**
3
 * Render sidebar item.
4
 *
5
 * @param  \Arcanesoft\Sidebar\Entities\Item  $item
6
 *
7
 * @return string
8
 */
9
function renderSidebarItem($item)
10
{
11
    $output   = [];
12
    $output[] = '<li class="'.trim($item->childrenClass().' '.$item->activeClass('active open')).'">';
13
14
    if ($item->hasChildren()) {
15
        $output[] = '<a href="javascript:void(0);">';
16
        $output[] = '<i class="'.$item->icon().'"></i> <span>'.$item->title().'</span> <i class="fa fa-angle-left pull-right"></i>';
17
        $output[] = '</a>';
18
        $output[] = '<ul class="treeview-menu">';
19
        $output[] = $item->children()->transform(function ($child) { return renderSidebarItem($child); })->implode(PHP_EOL);
20
        $output[] = '</ul>';
21
    }
22
    else {
23
        $output[] = '<a href="'.$item->url().'">';
24
        $output[] = '<i class="'.$item->icon().'"></i> <span>'.$item->title().'</span>';
25
        $output[] = '</a>';
26
    }
27
28
    $output[] = '</li>';
29
30
    return implode(PHP_EOL, $output);
31
}
32
?>
33
34
<ul class="sidebar-menu">
35
    <li class="header">{{ trans('foundation::navigation.sidebar.main-navigation') }}</li>
36
    @foreach($sidebarItems as $item)
37
        {!! renderSidebarItem($item) !!}
38
    @endforeach
39
</ul>
40