/nova-table-field

Table field for Laravel Nova

Primary LanguageVueMIT LicenseMIT

Nova Table Field

Latest Version on Packagist Total Downloads

Simple Laravel Nova Table field.

Form View

Form View GIF

Installation

Install the package in a Laravel Nova project via Composer:

composer require optimistdigital/nova-table-field

Usage

The Table field provides a convenient interface to edit rows and columns stored inside JSON equivalent column.

use OptimistDigital\NovaTableField\Table;

public function fields(Request $request)
{
    return [
        Table::make('Countries')

        // Optional:
        ->disableAdding() // Disable adding new rows and columns
        ->disableDeleting() // Disable deleting rows and columns
        ->minRows(1) // The minimum number of rows in the table
        ->maxRows(10) // The maximum number of rows in the table
        ->minColumns(1) // The minimum number of columns in the table
        ->maxColumns(10) // The maximum number of columns in the table
    ];
}

Note that you also have to cast the JSON data to array in your model

protected $casts = ['countries' => 'array'];

Localization

The translations file can be published by using the following publish command:

php artisan vendor:publish --provider="OptimistDigital\NovaTableField\FieldServiceProvider" --tag="translations"

You can then edit the strings to your liking.