vendor/easycorp/easyadmin-bundle/src/Dto/MenuItemDto.php line 8

Open in your IDE?
  1. <?php
  2. namespace EasyCorp\Bundle\EasyAdminBundle\Dto;
  3. /**
  4.  * @author Javier Eguiluz <javier.eguiluz@gmail.com>
  5.  */
  6. final class MenuItemDto
  7. {
  8.     public const TYPE_CRUD 'crud';
  9.     public const TYPE_URL 'url';
  10.     public const TYPE_SECTION 'section';
  11.     public const TYPE_EXIT_IMPERSONATION 'exit_impersonation';
  12.     public const TYPE_DASHBOARD 'dashboard';
  13.     public const TYPE_LOGOUT 'logout';
  14.     public const TYPE_SUBMENU 'submenu';
  15.     public const TYPE_ROUTE 'route';
  16.     private $type;
  17.     private $index;
  18.     private $subIndex;
  19.     private $label;
  20.     private $icon;
  21.     private $cssClass;
  22.     private $permission;
  23.     private $routeName;
  24.     private $routeParameters;
  25.     private $linkUrl;
  26.     private $linkRel;
  27.     private $linkTarget;
  28.     private $translationParameters;
  29.     /** @var MenuItemDto[] */
  30.     private $subItems;
  31.     public function __construct()
  32.     {
  33.         $this->cssClass '';
  34.         $this->translationParameters = [];
  35.         $this->linkRel '';
  36.         $this->linkTarget '_self';
  37.         $this->subItems = [];
  38.     }
  39.     public function getType(): string
  40.     {
  41.         return $this->type;
  42.     }
  43.     public function setType(string $type): void
  44.     {
  45.         $this->type $type;
  46.     }
  47.     public function getIndex(): int
  48.     {
  49.         return $this->index;
  50.     }
  51.     public function setIndex(int $index): void
  52.     {
  53.         $this->index $index;
  54.     }
  55.     public function getSubIndex(): int
  56.     {
  57.         return $this->subIndex;
  58.     }
  59.     public function setSubIndex(int $subIndex): void
  60.     {
  61.         $this->subIndex $subIndex;
  62.     }
  63.     public function getLabel(): string
  64.     {
  65.         return $this->label;
  66.     }
  67.     public function setLabel(string $label): void
  68.     {
  69.         $this->label $label;
  70.     }
  71.     public function getIcon(): ?string
  72.     {
  73.         return $this->icon;
  74.     }
  75.     public function setIcon(?string $icon): void
  76.     {
  77.         $this->icon $icon;
  78.     }
  79.     public function getLinkUrl(): string
  80.     {
  81.         return $this->linkUrl;
  82.     }
  83.     public function setLinkUrl(?string $linkUrl): void
  84.     {
  85.         $this->linkUrl $linkUrl;
  86.     }
  87.     public function getRouteName(): ?string
  88.     {
  89.         return $this->routeName;
  90.     }
  91.     public function setRouteName(?string $routeName): void
  92.     {
  93.         $this->routeName $routeName;
  94.     }
  95.     public function getRouteParameters(): ?array
  96.     {
  97.         return $this->routeParameters;
  98.     }
  99.     public function setRouteParameter(string $parameterName$parameterValue): void
  100.     {
  101.         $this->routeParameters[$parameterName] = $parameterValue;
  102.     }
  103.     public function setRouteParameters(?array $routeParameters): void
  104.     {
  105.         $this->routeParameters $routeParameters;
  106.     }
  107.     public function getPermission(): ?string
  108.     {
  109.         return $this->permission;
  110.     }
  111.     public function setPermission(?string $permission): void
  112.     {
  113.         $this->permission $permission;
  114.     }
  115.     public function getCssClass(): string
  116.     {
  117.         return $this->cssClass;
  118.     }
  119.     public function setCssClass(string $cssClass): void
  120.     {
  121.         $this->cssClass $cssClass;
  122.     }
  123.     public function getLinkRel(): string
  124.     {
  125.         return $this->linkRel;
  126.     }
  127.     public function setLinkRel(string $linkRel): void
  128.     {
  129.         $this->linkRel $linkRel;
  130.     }
  131.     public function getLinkTarget(): string
  132.     {
  133.         return $this->linkTarget;
  134.     }
  135.     public function setLinkTarget(string $linkTarget): void
  136.     {
  137.         $this->linkTarget $linkTarget;
  138.     }
  139.     public function getTranslationParameters(): array
  140.     {
  141.         return $this->translationParameters;
  142.     }
  143.     public function setTranslationParameters(array $translationParameters): void
  144.     {
  145.         $this->translationParameters $translationParameters;
  146.     }
  147.     /**
  148.      * @return MenuItemDto[]
  149.      */
  150.     public function getSubItems(): array
  151.     {
  152.         return $this->subItems;
  153.     }
  154.     /**
  155.      * @param MenuItemDto[] $subItems
  156.      */
  157.     public function setSubItems(array $subItems): void
  158.     {
  159.         $this->subItems $subItems;
  160.     }
  161.     public function hasSubItems(): bool
  162.     {
  163.         return self::TYPE_SUBMENU === $this->type && \count($this->subItems) > 0;
  164.     }
  165.     public function isMenuSection(): bool
  166.     {
  167.         return self::TYPE_SECTION === $this->type;
  168.     }
  169. }