A container for grouping fields that depend on other field values. Dependencies can be set on any field type or value.
The package can be installed through Composer.
composer require epartment/nova-dependency-container
- Add the
Epartment\NovaDependencyContainer\HasDependencies
trait to your Nova Resource. - Add the
Epartment\NovaDependencyContainer\NovaDependencyContainer
to your Nova Resourcefields
method.
class Page extends Resource
{
use HasDependencies;
public function fields(Request $request)
{
return [
Select::make('Name format', 'name_format')->options([
0 => 'First Name',
1 => 'First Name / Last Name',
2 => 'Full Name'
])->displayUsingLabels(),
NovaDependencyContainer::make([
Text::make('First Name', 'first_name')
])->dependsOn('name_format', 0),
];
}
}
The package supports two kinds of dependencies:
->dependsOn('field', 'value')
->dependsOnNotEmpty('field')
These dependencies can be combined by chaining the methods on the NovaDependencyContainer
:
NovaDependencyContainer::make(...)
->dependsOn('field1', 'value1')
->dependsOnNotEmpty('field2')
->dependsOn('field3', 'value3')
The fields used as dependencies can by of any of the default Laravel Nova field types.
For example a checkbox:
The MIT License (MIT). Please see License File for more information.