pinedev / nova-dependency-container
A Laravel Nova field container allowing to depend on other fields values
Requires
- php: >=7.1.0
This package is auto-updated.
Last update: 2024-12-19 10:29:34 UTC
README
!!!!!!! CLONED FROM https://github.com/epartment/nova-dependency-container
Seems like original package wasn't updated since October 2018. So this package have custom updates, bugfixes, improves yada yada yada
Description
A container for grouping fields that depend on other field values. Dependencies can be set on any field type or value.
Demo
Installation
The package can be installed through Composer.
composer require pinedev/nova-dependency-container
Usage
- Add the
PineDev\NovaDependencyContainer\HasDependencies
trait to your Nova Resource. - Add the
PineDev\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), ]; } }
Dependencies
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:
License
The MIT License (MIT). Please see License File for more information.
Source package: The MIT License (MIT). Please see License File for more information.