Commit 34dfe4e8 authored by Nicolas Widart's avatar Nicolas Widart

Refactor for clarity

parent 1d14679c
...@@ -4,33 +4,35 @@ use Illuminate\Support\Facades\URL; ...@@ -4,33 +4,35 @@ use Illuminate\Support\Facades\URL;
class MenuRenderer class MenuRenderer
{ {
protected $menuId;
private $startTag = '<div class="dd">'; private $startTag = '<div class="dd">';
private $endTag = '</div>'; private $endTag = '</div>';
private $menu = ''; private $menu = '';
public function renderForMenu($menuId, $menuItems) public function renderForMenu($menuId, $menuItems)
{ {
$this->menu .= $this->startTag; $this->menuId = $menuId;
$this->renderItemsForMenu($menuId, $menuItems);
$this->menu .= $this->startTag;
$this->renderItems($menuItems);
$this->menu .= $this->endTag; $this->menu .= $this->endTag;
return $this->menu; return $this->menu;
} }
private function renderItemsForMenu($menuId, $items) private function renderItems($items)
{ {
$this->menu .= '<ol class="dd-list">'; $this->menu .= '<ol class="dd-list">';
foreach ($items as $item) { foreach ($items as $item) {
$this->menu .= "<li class=\"dd-item\" data-id=\"{$item->id}\">"; $this->menu .= "<li class=\"dd-item\" data-id=\"{$item->id}\">";
$this->menu .= '<a class="btn btn-sm btn-info" $this->menu .= '<a class="btn btn-sm btn-info"
style="float:left; margin-right: 15px;" style="float:left; margin-right: 15px;"
href="' . URL::route('dashboard.menuitem.edit', [$menuId, $item->id]) . '">Edit</a>'; href="' . URL::route('dashboard.menuitem.edit', [$this->menuId, $item->id]) . '">
Edit</a>';
$this->menu .= "<div class=\"dd-handle\">{$item->title}</div>"; $this->menu .= "<div class=\"dd-handle\">{$item->title}</div>";
if (!$item->children()->get()->isEmpty()) { if (!$item->children()->get()->isEmpty()) {
$this->renderItemsForMenu($menuId, $item->children()->get()); $this->renderItems($item->children()->get());
} }
$this->menu .= '</li>'; $this->menu .= '</li>';
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment