Create and register a page sidebar event handler

parent 062a171c
<?php
namespace Modules\Page\Sidebar;
namespace Modules\Page\Events\Handlers;
use Maatwebsite\Sidebar\Group;
use Maatwebsite\Sidebar\Item;
use Maatwebsite\Sidebar\Menu;
use Modules\Core\Events\BuildingSidebar;
use Modules\User\Contracts\Authentication;
class SidebarExtender implements \Maatwebsite\Sidebar\SidebarExtender
class AddPageSidebar implements \Maatwebsite\Sidebar\SidebarExtender
{
/**
* @var Authentication
......@@ -24,9 +25,15 @@ class SidebarExtender implements \Maatwebsite\Sidebar\SidebarExtender
$this->auth = $auth;
}
public function handle(BuildingSidebar $sidebar)
{
$menu = $sidebar->getMenu();
$menu1 = $this->extendWith($menu);
$sidebar->add($menu1);
}
/**
* @param Menu $menu
*
* @return Menu
*/
public function extendWith(Menu $menu)
......
......@@ -4,9 +4,12 @@ namespace Modules\Page\Providers;
use Illuminate\Support\Facades\Config;
use Illuminate\Support\ServiceProvider;
use Modules\Core\Events\BuildingSidebar;
use Modules\Core\Events\CollectingAssets;
use Modules\Core\Traits\CanGetSidebarClassForModule;
use Modules\Core\Traits\CanPublishConfiguration;
use Modules\Page\Entities\Page;
use Modules\Page\Events\Handlers\AddPageSidebar;
use Modules\Page\Repositories\Cache\CachePageDecorator;
use Modules\Page\Repositories\Eloquent\EloquentPageRepository;
use Modules\Page\Repositories\PageRepository;
......@@ -15,7 +18,7 @@ use Modules\Tag\Repositories\TagManager;
class PageServiceProvider extends ServiceProvider
{
use CanPublishConfiguration;
use CanPublishConfiguration, CanGetSidebarClassForModule;
/**
* Indicates if loading of the provider is deferred.
*
......@@ -31,6 +34,11 @@ class PageServiceProvider extends ServiceProvider
public function register()
{
$this->registerBindings();
$this->app['events']->listen(
BuildingSidebar::class,
$this->getSidebarClassForModule('page', AddPageSidebar::class)
);
}
public function boot()
......
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