LaravelPackages.net
Acme Inc.
Toggle sidebar
dillingham/nova-items-field

Nova field to handle array columns

1.019.605
111
0.6
About dillingham/nova-items-field

dillingham/nova-items-field is a Laravel package for nova field to handle array columns. It currently has 111 GitHub stars and 1.019.605 downloads on Packagist (latest version 0.6). Install it with composer require dillingham/nova-items-field. Discover more Laravel packages by dillingham or browse all Laravel packages to compare alternatives.

Last updated

Nova Items Field

Latest Version on Github Total Downloads Twitter Follow

Laravel Nova array items field with sorting, validation & many display options

nova-array-input-field

Installation

composer require dillingham/nova-items-field

Usage

use NovaItemsField\Items;
function fields() {
    return [
        Items::make('Emails'),
    ]
}

and be sure to cast the property as an array on your eloquent model

public $casts = [
    'emails' => 'array'
];

Validation

Use Laravel's built in array validation

Items::make('Emails')->rules([
    'emails.*' => 'email|min:10',
]),

Manually setting the attribute may be needed in some cases.

Items::make('Long Text', 'attribute')->rules([
    'attribute.*' => 'email|min:10',
]),

Array processing

Use the array to perform other actions by making an observer

function saving($user)
{
    foreach($user->emails as $email)
    {
        //
    }
}

Replace item vue component

Here's a brief walkthrough to customize the vue item - view

Additional options

| function | description | default | | - | - | - | | ->max(number) | limit number of items allowed | false | | ->draggable() | turn on drag/drop sorting | false | | ->fullWidth() | increase the width of field area | false | | ->maxHeight(pixel) | limit the height of the list | false | | ->listFirst()| move add new to the bottom | false | | ->inputType(text) | text, date, etc | "text" | | ->placeholder($value) | the new item input text | "Add a new item" | | ->deleteButtonValue($value) | value for delete button | "x" | | ->createButtonValue($value) | value for create button | "Add" | | ->hideCreateButton() | hide the "add" button | false |


Author

Hi 👋, Im Brian Dillingham, creator of this Nova package and others

Hope you find it useful. Feel free to reach out with feedback.

Follow me on twitter: @im_brian_d

Star History Chart