Skip to content

A Laravel Nova package that allows you to hide/show columns in the index view.

License

Notifications You must be signed in to change notification settings

dcasia/column-toggler

Repository files navigation

Column Toggler

Latest Version on Packagist Total Downloads License

Column Toggler in Action

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.

Column Toggler in Action

Configuration

You can enable / disable column sorting by adding the following to your config/nova.php file:

// config/nova.php

'vendors' => [
    'column_toggler' => [
        'enable_sorting' => false,
    ]
]

⭐️ Show Your Support

Please give a ⭐️ if this project helped you!

Other Packages You Might Like

License

The MIT License (MIT). Please see License File for more information.