PHP code example of gobrightspot / nova-detached-actions
1. Go to this page and download the library: Download gobrightspot/nova-detached-actions library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
gobrightspot / nova-detached-actions example snippets
namespace App\Nova\Actions;
use Brightspot\Nova\Tools\DetachedActions\DetachedAction;
use Illuminate\Bus\Queueable;
use Illuminate\Queue\SerializesModels;
use Illuminate\Queue\InteractsWithQueue;
use Illuminate\Contracts\Queue\ShouldQueue;
use Laravel\Nova\Fields\ActionFields;
class ExportUsers extends DetachedAction
{
use InteractsWithQueue, Queueable, SerializesModels;
/**
* Get the displayable label of the button.
*
* @return string
*/
public function label()
{
return __('Export Users');
}
/**
* Perform the action.
*
* @param ActionFields $fields
*
* @return mixed
*/
public function handle(ActionFields $fields)
{
// Do work to export records
return DetachedAction::message('It worked!');
}
/**
* Get the fields available on the action.
*
* @return array
*/
public function fields()
{
return [];
}
}
/**
* Get the actions available for the resource.
*
* @param \Illuminate\Http\Request $request
* @return array
*/
public function actions(Request $request)
{
return [
new App\Nova\Actions\ExportUsers
];
}
/** @return array<int,string> */
public function handleRequest(ActionRequest $request): array
{
dispatch(new GenerateTicketReport($request->resolveFields()));
return DetachedAction::message('Nice job!');
}
/**
* Get the actions available for the resource.
*
* @param \Illuminate\Http\Request $request
* @return array
*/
public function actions(Request $request)
{
return [
(new DownloadExcel)->withHeadings()->askForWriterType()->withMeta([
'detachedAction' => true,
'label' => 'Export',
'name' => 'Export',
'showOnIndexToolbar' => true
])->confirmButtonText('Export'),
];
}
public static function additionalInformation(Request $request)
{
return [
'visibleActionsLimit' => 4
];
}
public static function additionalInformation(Request $request)
{
return [
'visibleActionsLimit' => 2,
'showInvisibleActionsArrow' => true,
'invisibleActionsIcon' => 'menu'
];
}
return [
(new ImportUsers)->extraClassesWithDefault('bg-info')
];
return [
(new ImportUsers)->extraClasses('bg-logo text-white hover:black')
];
return [
(new ImportUsers)->icon('add')
];
return [
(new ImportUsers)->icon('upload')->iconClasses('mr-3 -ml-2')
];
bash
php artisan nova:action ExportUsers
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.