mad-web/nova-horizon-link

Smart Link for Laravel Nova to Horizon Dashboard.

5.0.0 2020-09-16 14:05 UTC

This package is auto-updated.

Last update: 2020-10-16 14:26:00 UTC


README

logo.png

Smart Link to Laravel Horizon Dashboard from Laravel Nova

Latest Stable Version Code Style Status Quality Score Software License

Laravel Nova Horizon Smart Link

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.

Demo

demo.png

Installation

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,
    ];
}

Customization

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'),
    ];
}

Contributing

Please see CONTRIBUTING and CONDUCT for details.

Security

If you discover any security related issues, please email madweb.dev@gmail.com instead of using the issue tracker.

Credits

License

The MIT License (MIT). Please see License File for more information.