norman-huth/nova-detached-actions

A Laravel Nova tool to allow for placing actions in the Nova toolbar detached from the checkbox selection mechanism.

v1.0.2 2023-12-18 20:14 UTC

This package is auto-updated.

Last update: 2024-07-18 21:32:50 UTC


README

This package is no longer necessarily required. Since Laravel Nova v4.24.0, there are now also standalone actions:
Registering Actions: Standalone Actions

The idea based on jeffersonsimaogoncalves/nova-detached-actions by Jefferson Simão Gonçalves.

Install

composer require norman-huth/nova-detached-actions

Usage

Create A Action And Extend DetachedAction Class

php artisan nova:action MyDetachedAction
use NormanHuth\NovaDetachedActions\DetachedAction;

class MyDetachedAction extends DetachedAction

Options

Destructive Action

public function actions(NovaRequest $request): array
{
    return [
        (new MyDetachedAction)->isDestructive()
    ];
}

Add Heroicon Icon

public function actions(NovaRequest $request): array
{
    return [
        (new MyDetachedAction)->icon('users')
    ];
}

Add FontAwesome Icon

FontAwesome is NOT included!

You can optional install Font Awesome free with php artisan nova-package:font-awesome.

public function actions(NovaRequest $request): array
{
    return [
        (new MyDetachedAction)->faIcon('fa-solid fa-user')
    ];
}

Add SVG Icon

public function actions(NovaRequest $request): array
{
    return [
        (new MyDetachedAction)->svgIcon('<svg xmlns="...')
    ];
}

Add Image Icon

public function actions(NovaRequest $request): array
{
    return [
        (new MyDetachedAction)->imageIcon(asset('images/users.png'))
    ];
}

Add HTML Code Icon

public function actions(NovaRequest $request): array
{
    return [
        (new MyDetachedAction)->htmlIcon('YOUR-HTML-CODE')
    ];
}

Add Classes To Button

(new MyDetachedAction)->addButtonClasses(['text-center'])

Set Button Classes

(new MyDetachedAction)->setButtonClasses(['text-center'])

Use Button Style

(new MyDetachedAction)->setButtonStyle('primary')

The default style ist primary. Available are primary, danger, success and warning.

You can publish the config file and change themes:

php artisan vendor:publish --provider=NormanHuth\NovaDetachedActions\ToolServiceProvider