Smart Link to Laravel Horizon Dashboard from Laravel Nova
Ability to add link to the Laravel Horizon
Dashboard in the Laravel Nova sidebar. Link automatically disables if current user hasn't access to the Horizon Dashboard according
with access policy which is defined in Horizon::auth
method. For more information, checkout the documentation.
At first, install via composer:
composer require mad-web/nova-horizon-link
Next up, register the link in the tools
method of the NovaServiceProvider
:
// app/Providers/NovaServiceProvider.php
// ...
public function tools()
{
return [
// ...
new \MadWeb\NovaHorizonLink\HorizonLink,
];
}
By default, link label is - Horizon Queues, if you prefer to customize it, just pass new label text into constructor:
// app/Providers/NovaServiceProvider.php
// ...
public function tools()
{
return [
// ...
new \MadWeb\NovaHorizonLink\HorizonLink('Custom Label'),
];
}
In addition, you may use Horizon logo, just pass null
or call useLogo
method to provide more readable view:
// app/Providers/NovaServiceProvider.php
// ...
public function tools()
{
return [
// ...
new \MadWeb\NovaHorizonLink\HorizonLink(null),
// or
\MadWeb\NovaHorizonLink\HorizonLink::useLogo(),
];
}
If you need to customize link target
attribute (for example to open a page in a new tab), just pass it as second parameter into constructor or as first parameter into useLogo
method.
A value should be without prepended underscore _
:
// app/Providers/NovaServiceProvider.php
// ...
public function tools()
{
return [
// ...
new \MadWeb\NovaHorizonLink\HorizonLink('Horizon Queues', 'blank'),
// or
\MadWeb\NovaHorizonLink\HorizonLink::useLogo('blank'),
];
}
If you prefer to use Fluent Interface:
// app/Providers/NovaServiceProvider.php
// ...
public function tools()
{
return [
// ...
\MadWeb\NovaHorizonLink\HorizonLink::make()->target('blank'),
// or
\MadWeb\NovaHorizonLink\HorizonLink::useLogo()->target('blank'),
];
}
Please see CONTRIBUTING and CONDUCT for details.
If you discover any security related issues, please email [email protected] instead of using the issue tracker.
The MIT License (MIT). Please see License File for more information.