A Laravel Nova package that allows you to hide/show columns in the index view
Column Toggler
This package provides the ability to toggle columns in the index view of any resource.
Installation
You can install the package via composer:
composer require digital-creative/column-toggler
Basic Usage
Add the DigitalCreative\ColumnToggler\ColumnTogglerTrait
to all your resources. The best way to do it is to add it directly to your App\Nova\Resource
class.
namespace App\Nova\Resources;
use DigitalCreative\ColumnToggler\ColumnTogglerTrait;
use Laravel\Nova\Resource as NovaResource;
abstract class Resource extends NovaResource
{
use ColumnTogglerTrait;
}
By default, all columns will be selected/visible on the first page load, however you can define which should be hidden by calling ->hideByDefault()
on any nova field.
public function fieldsForIndex(NovaRequest $request): array
{
return [
ID::make()->sortable(),
Text::make('First Name', 'first_name')
->sortable(),
Text::make('Last Name', 'last_name')
->sortable(),
Text::make('Favorite Color', 'favorite_color')
->sortable()
->hideByDefault(),
Boolean::make('Active', 'active')
->hideByDefault(),
];
}
Done, now a new icon will appear in the top right corner of any table resource.
License
The MIT License (MIT). Please see License File for more information.