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.

GitHub

View Github