pdmfc/nova-action-button is a Laravel package for a laravel nova field to run actions..
It currently has 36 GitHub stars and 750.499 downloads on Packagist (latest version v0.7.4).
Install it with composer require pdmfc/nova-action-button.
Discover more Laravel packages by pdmfc
or browse all Laravel packages to compare alternatives.
Last updated
This package allows you to execute an action directly on your resource table view.
composer require pdmfc/nova-action-button
use App\Nova\Actions\ChangeRole;
use Pdmfc\NovaFields\ActionButton;
//...
public function fields()
{
return [
ActionButton::make('Action')
->action(ChangeRole::class, $this->id)
//->action(new ChangeRole(), $this->id) using a new instance
];
}
The action() method requires two params - the action class name or a new instance, and the target resource id.

You can use the native Laravel nova readonly() method to prevent users from clicking the button:
ActionButton::make('Action')
->action(ChangeRole::class, $this->id)
->readonly(function () {
return $this->role->name === 'admin';
})

To edit the button text content, use the text() method.
->text('Execute')
To enable the loading animation on button and change color, use showLoadingAnimation() and loadingColor('#fff') method.
->showLoadingAnimation()
->loadingColor('#fff') # default is #000
In order to add a svg to the button, you first need to create a vue component containing a svg and then pass the component name to the svg() method.
->svg('VueComponentName')
To change button color, use buttonColor('#21b970') method.
->buttonColor('#21b970') # default is .btn-primary color
actions() method.composer.json of a laravel nova application add the following:{
//...
"require" {
"pdmfc/nova-action-button: "*"
},
//...
"repositories": [
{
"type": "path",
"url": "../path_to_your_package_folder"
}
],
}
composer update pdmfc/nova-action-buttonYou're now ready to start contributing!
Please see CHANGELOG for more information on what has changed recently.