FleetCart/Modules/Menu/MegaMenu/SubMenu.php
2023-12-03 14:07:47 +00:00

58 lines
986 B
PHP

<?php
namespace Modules\Menu\MegaMenu;
use Modules\Category\Entities\Category;
class SubMenu
{
private $subMenu;
private $subMenuItems;
public function __construct($subMenu)
{
$this->subMenu = $subMenu;
}
public function url()
{
return $this->subMenu->url();
}
public function target()
{
if ($this->subMenu instanceof Category) {
return '_self';
}
return $this->subMenu->target;
}
public function name()
{
return $this->subMenu->name;
}
public function hasItems()
{
return $this->items()->isNotEmpty();
}
public function items()
{
if (!is_null($this->subMenuItems)) {
return $this->subMenuItems;
}
return $this->subMenuItems = $this->subMenu->items->map(function ($item) {
return new SubMenu($item);
});
}
}