Code Duplication    Length = 101-105 lines in 2 locations

src/Presenters/Admin/AdminltePresenter.php 1 location

@@ 7-111 (lines=105) @@
4
5
use Nwidart\Menus\Presenters\Presenter;
6
7
class AdminltePresenter extends Presenter
8
{
9
    /**
10
     * {@inheritdoc }.
11
     */
12
    public function getOpenTagWrapper()
13
    {
14
        return PHP_EOL . '<ul class="sidebar-menu tree" data-widget="tree">' . PHP_EOL;
15
    }
16
17
    /**
18
     * {@inheritdoc }.
19
     */
20
    public function getCloseTagWrapper()
21
    {
22
        return PHP_EOL . '</ul>' . PHP_EOL;
23
    }
24
25
    /**
26
     * {@inheritdoc }.
27
     */
28
    public function getMenuWithoutDropdownWrapper($item)
29
    {
30
        return '<li' . $this->getActiveState($item) . '><a href="' . $item->getUrl() . '" ' . $item->getAttributes() . '>' . $item->getIcon() . ' <span>' . $item->title . '</span></a></li>' . PHP_EOL;
31
    }
32
33
    /**
34
     * {@inheritdoc }.
35
     */
36
    public function getActiveState($item, $state = ' class="active"')
37
    {
38
        return $item->isActive() ? $state : null;
39
    }
40
41
    /**
42
     * Get active state on child items.
43
     *
44
     * @param $item
45
     * @param string $state
46
     *
47
     * @return null|string
48
     */
49
    public function getActiveStateOnChild($item, $state = 'active')
50
    {
51
        return $item->hasActiveOnChild() ? $state : null;
52
    }
53
54
    /**
55
     * {@inheritdoc }.
56
     */
57
    public function getDividerWrapper()
58
    {
59
        return '<li class="divider"></li>';
60
    }
61
62
    /**
63
     * {@inheritdoc }.
64
     */
65
    public function getHeaderWrapper($item)
66
    {
67
        return '<li class="header">' . $item->title . '</li>';
68
    }
69
70
    /**
71
     * {@inheritdoc }.
72
     */
73
    public function getMenuWithDropDownWrapper($item)
74
    {
75
        return '<li class="treeview' . $this->getActiveStateOnChild($item, ' active') . '">
76
		          <a href="#">
77
					' . $item->getIcon() . ' <span>' . $item->title . '</span>
78
                    <span class="pull-right-container">
79
                      <i class="fa fa-angle-left pull-right"></i>
80
                    </span>
81
			      </a>
82
			      <ul class="treeview-menu">
83
			      	' . $this->getChildMenuItems($item) . '
84
			      </ul>
85
		      	</li>'
86
        . PHP_EOL;
87
    }
88
89
    /**
90
     * Get multilevel menu wrapper.
91
     *
92
     * @param \Nwidart\Menus\MenuItem $item
93
     *
94
     * @return string`
95
     */
96
    public function getMultiLevelDropdownWrapper($item)
97
    {
98
        return '<li class="treeview' . $this->getActiveStateOnChild($item, ' active') . '">
99
		          <a href="#">
100
					' . $item->getIcon() . ' <span>' . $item->title . '</span>
101
			      	<span class="pull-right-container">
102
                      <i class="fa fa-angle-left pull-right"></i>
103
                    </span>
104
			      </a>
105
			      <ul class="treeview-menu">
106
			      	' . $this->getChildMenuItems($item) . '
107
			      </ul>
108
		      	</li>'
109
        . PHP_EOL;
110
    }
111
}
112

src/Presenters/Bootstrap/NavbarPresenter.php 1 location

@@ 7-107 (lines=101) @@
4
5
use Nwidart\Menus\Presenters\Presenter;
6
7
class NavbarPresenter extends Presenter
8
{
9
    /**
10
     * {@inheritdoc }.
11
     */
12
    public function getOpenTagWrapper()
13
    {
14
        return PHP_EOL . '<ul class="nav navbar-nav">' . PHP_EOL;
15
    }
16
17
    /**
18
     * {@inheritdoc }.
19
     */
20
    public function getCloseTagWrapper()
21
    {
22
        return PHP_EOL . '</ul>' . PHP_EOL;
23
    }
24
25
    /**
26
     * {@inheritdoc }.
27
     */
28
    public function getMenuWithoutDropdownWrapper($item)
29
    {
30
        return '<li' . $this->getActiveState($item) . '><a href="' . $item->getUrl() . '" ' . $item->getAttributes() . '>' . $item->getIcon() . ' ' . $item->title . '</a></li>' . PHP_EOL;
31
    }
32
33
    /**
34
     * {@inheritdoc }.
35
     */
36
    public function getActiveState($item, $state = ' class="active"')
37
    {
38
        return $item->isActive() ? $state : null;
39
    }
40
41
    /**
42
     * Get active state on child items.
43
     *
44
     * @param $item
45
     * @param string $state
46
     *
47
     * @return null|string
48
     */
49
    public function getActiveStateOnChild($item, $state = 'active')
50
    {
51
        return $item->hasActiveOnChild() ? $state : null;
52
    }
53
54
    /**
55
     * {@inheritdoc }.
56
     */
57
    public function getDividerWrapper()
58
    {
59
        return '<li class="divider"></li>';
60
    }
61
62
    /**
63
     * {@inheritdoc }.
64
     */
65
    public function getHeaderWrapper($item)
66
    {
67
        return '<li class="dropdown-header">' . $item->title . '</li>';
68
    }
69
70
    /**
71
     * {@inheritdoc }.
72
     */
73
    public function getMenuWithDropDownWrapper($item)
74
    {
75
        return '<li class="dropdown' . $this->getActiveStateOnChild($item, ' active') . '">
76
		          <a href="#" class="dropdown-toggle" data-toggle="dropdown">
77
					' . $item->getIcon() . ' ' . $item->title . '
78
			      	<b class="caret"></b>
79
			      </a>
80
			      <ul class="dropdown-menu">
81
			      	' . $this->getChildMenuItems($item) . '
82
			      </ul>
83
		      	</li>'
84
        . PHP_EOL;
85
    }
86
87
    /**
88
     * Get multilevel menu wrapper.
89
     *
90
     * @param \Nwidart\Menus\MenuItem $item
91
     *
92
     * @return string`
93
     */
94
    public function getMultiLevelDropdownWrapper($item)
95
    {
96
        return '<li class="dropdown' . $this->getActiveStateOnChild($item, ' active') . '">
97
		          <a href="#" class="dropdown-toggle" data-toggle="dropdown">
98
					' . $item->getIcon() . ' ' . $item->title . '
99
			      	<b class="caret pull-right caret-right"></b>
100
			      </a>
101
			      <ul class="dropdown-menu">
102
			      	' . $this->getChildMenuItems($item) . '
103
			      </ul>
104
		      	</li>'
105
        . PHP_EOL;
106
    }
107
}
108