This Laravel Nova package adds an options selector to Nova's arsenal of fields.
php: >=8.0
laravel/nova: ^4.1
Install the package in a Laravel Nova project via Composer:
composer require pavloniym/nova-options-selector
Model field should be casted as array
use Pavloniym\OptionsSelector\OptionsSelector;
public function fields(Request $request)
{
return [
OptionsSelector::make('Permissions', 'permissions')
->options([
[
'group' => [
'title' => 'Account permissions',
],
'entries' => [
[
'key' => 'account:update',
'title' => 'Update account',
'description' => 'User can update any account in database'
],
[
'key' => 'account:selfDelete',
'title' => 'Delete self account'
],
]
],
// ...
])
// Optional:
->searchable() // show search bar on form and detail views
->setGridColumnsGap(4) // set gap between columns
->setGridColumnsWidth(250) // set grid columns width in pixels
->setMaxRowWidthOnIndex('200px') // set max with on index field
];
}
This project is open-sourced software licensed under the MIT license.