public function breadcrumbs() { $menu = \Menu\Menu::handler('breadcrumbs'); foreach ($this->getMenuItems() as $route => $menuItems) { $items = \Menu\Menu::items('breadcrumbs'); foreach ($menuItems as $itemRoute => $itemName) { $items->add($itemRoute, $itemName); } $menu->add($route, $route, $items); } return $menu->breadcrumbs(function ($itemLists) { return $itemLists[1]; })->setElement('ol')->addClass('breadcrumb'); }
public static function genMainMenu() { Self::setMenu(); $aryMenu = Static::$arrMainMenu; $menu = Menu::handler('mainmenu'); foreach ($aryMenu as $lv1) { if (isset($lv1['childrens']) && !empty($lv1['childrens']) && is_array($lv1['childrens'])) { // With level 2 $menuItems = Menu::items(); foreach ($lv1['childrens'] as $lv2) { $menuItems->add($lv2['url'], $lv2['rawContent']); } $menu->add($lv1['url'], $lv1['rawContent'], $menuItems, null, ['class' => 'treeview']); } else { $menu->add($lv1['url'], $lv1['rawContent']); } } /*$menu->add('dashboard', '<i class="fa fa-dashboard"></i> <span>Dashboard</span>') ->add('contacts', '<i class="fa fa-dashboard"></i> <span>Contact</span> <small class="badge pull-right bg-yellow">12</small>') ->add('#', '<i class="fa fa-calendar"></i> <span>Parent</span> <i class="fa fa-angle-left pull-right"></i>', Menu::items() // ->prefixParents() ->add('#', '<i class="fa fa-angle-double-right"></i>Menu 1') ->add('#', '<i class="fa fa-angle-double-right"></i>Menu 2') ->add('#', '<i class="fa fa-angle-double-right"></i>Menu 3') , null, [ 'class' => "treeview" ] ) // ->raw(null, null, ['class' => 'divider']) ->add('inbox', '<i class="fa fa-envelope"></i> <span>Inbox</span>');*/ //styling $menu->addClass('sidebar-menu')->getAllItemLists()->map(function ($item) { if ($item->isActive()) { $item->addClass('active'); } if ($item->hasChildren()) { $item->addClass('treeview-menu'); } }); return $menu; }
public function testCanHandle() { $handles = array('foo', 'bar'); $menu = Menu::handler($handles); $this->assertEquals(array_values(Menu::getItemList()), $menu->getMenuObjects()); }
public function testChainingMethods() { $menu = Menu::handler('foo')->add('#', 'foo')->onItem()->data_foo('bar')->addClass('active')->getContent()->href('lol')->stop()->add('#', 'bar'); $this->assertEquals('<ul>' . '<li data-foo="bar" class="active">' . '<a href="http://localhost/lol">foo</a>' . '</li>' . '<li>' . '<a href="#">bar</a>' . '</li>' . '</ul>', $menu->render()); }
/** * @param $name * @param array $menu * @return mixed */ public function fromArray($name, array $menu) { $parent = Menu::handler($name); $this->buildMenu($menu, $parent); return $parent; }
private function composeSubMenus() { // Compose the contact sub-menu View::composer('contact.shared', function ($view) { $menu = Menu::handler('contactMenu'); $menu->add(route('contact.enquiries'), 'General Enquiries')->add(route('contact.book'), 'Book Us')->add(route('contact.feedback'), 'Provide Feedback'); $menu->addClass('nav nav-tabs'); $view->with('menu', $menu->render()); }); // Compose the profile sub-menu View::composer('members.profile', function ($view) { $username = $view->getData()['user']->username; $menu = Menu::handler('profileMenu'); $menu->add(route('members.profile', $username), 'Details')->add(route('members.profile', ['username' => $username, 'tab' => 'events']), 'Events')->add(route('members.profile', ['username' => $username, 'tab' => 'training']), 'Training'); $menu->addClass('nav nav-tabs'); $view->with('menu', $menu->render()); }); // Compose the 'my profile' sub-menu View::composer('members.my_profile', function ($view) { $menu = Menu::handler('profileMenu'); $menu->add(route('members.myprofile'), 'My Details')->add(route('members.myprofile', 'events'), 'Events')->add(route('members.myprofile', 'training'), 'Training'); $menu->addClass('nav nav-tabs'); $view->with('menu', $menu->render()); }); // Compose the signup sub-menu View::composer('events.signup', function ($view) { $menu = Menu::handler('signupMenu'); $menu->add(route('events.signup', 'em'), 'Requiring an EM')->activePattern('\\/events\\/signup$')->add(route('events.signup', 'crew'), 'Requiring Crew'); $menu->addClass('nav nav-tabs'); $view->with('menu', $menu->render()); }); }