:::{php:namespace} Atk4\Ui ::: (menu)= # Menu :::{php:class} Menu ::: Menu implements horizontal or vertical multi-level menu by using Fomantic-UI 'menu'. ## Using Menu :::{php:method} addItem($label, $action) ::: Here is a simple usage: ``` $menu = Menu::addTo($app); $menu->addItem('foo'); $menu->addItem('bar'); ``` to make menu vertical: ``` $menu->addClass('vertical'); ``` ## Decorating Menu Items See {php:class}`MenuItem` for more options: ``` $menu->addItem(['foo', 'icon' => 'book']); ``` ## Specifying Links and Actions Menu items can use links and actions: ``` $menu->addItem('foo', 'test.php'); $menu->addItem('bar', new JsModal('Test')); ``` ## Creating sub-menus :::{php:method} addMenu($label) ::: :::{php:method} addGroup($label) ::: :::{php:method} addRightMenu($label) ::: You can create sub-menu for either vertical or horizontal menu. For a vertical menu you can also use groups. For horizontal menu, you can use addRightMenu. ``` $menu = Menu::addTo($app); $menu->addItem('foo'); $sub = $menu->addMenu('Some Bars'); $sub->addItem('bar 1'); $sub->addItem('bar 2'); ``` ## Headers :::{php:method} addHeader($label) ::: ## Advanced Use You can add other elements inside menu. Refer to `demos/basic/menu.php`. ## MenuItem :::{php:class} MenuItem ::: :::{php:attr} label ::: :::{php:attr} icon ::: Additionally you can use {php:meth}`View::addClass()` to disable or style your menu items.