Ejemplo n.º 1
0
 /**
  * @param string|null $modelClass
  */
 function __construct($modelClass = null)
 {
     $this->modelClass = $modelClass;
     if (is_null(static::$current)) {
         static::$current = $this;
         $this->level(0);
     } else {
         static::$current->addItem($this);
         $this->level(static::$current->level() + 1);
     }
 }
Ejemplo n.º 2
0
 /**
  * @param string|null $modelClass
  */
 function __construct($modelClass = null)
 {
     $admin = Admin::instance();
     $this->router = $admin->router;
     $this->htmlBuilder = $admin->htmlBuilder;
     $this->modelClass = $modelClass;
     $this->subItems = [];
     if (is_null(static::$current)) {
         static::$current = $this;
     } else {
         static::$current->addItem($this);
     }
 }
Ejemplo n.º 3
0
 /**
  * @return MenuItem[]
  */
 public function getMenu()
 {
     return $this->menu->items();
 }
Ejemplo n.º 4
0
 /** @test */
 public function it_renders()
 {
     $menuWithItems = new MenuItem();
     $menuWithItems->label('With Items');
     for ($i = 0; $i < 3; $i++) {
         $menu = new MenuItem();
         $menu->label('Test Label')->icon('fa-test');
         $result = $menu->render();
         $this->assertEquals('<li><a><i></i> Test Label</a></li>', $result);
         $menuWithItems->addItem($menu);
     }
     $result = $menuWithItems->render();
     $this->assertEquals('<li><a><i></i> With Items<span></span></a><ul><li><a><i></i> Test Label</a></li><li><a><i></i> Test Label</a></li><li><a><i></i> Test Label</a></li></ul></li>', $result);
 }
Ejemplo n.º 5
0
 protected function renderSingleItem()
 {
     $content = $this->htmlBuilder->tag('i', ['class' => ['fa', 'fa-fw', $this->menuItem->getIcon()]]);
     $content .= ' ' . $this->menuItem->getLabel();
     return $this->htmlBuilder->tag('a', ['href' => $this->menuItem->getUrl()], $content);
 }