Skip to content

Allows you to update a single column of a resource all at once directly from the index page.

License

Notifications You must be signed in to change notification settings

dcasia/batch-edit-toolbar

Repository files navigation

Batch Edit Toolbar

Latest Version on Packagist Total Downloads License

Batch Edit Toolbar in Action

Allows you to update a single column of a resource all at once directly from the index page.

Installation

You can install the package via composer:

composer require digital-creative/batch-edit-toolbar

Basic Usage

To use the new functionality all you need to do is to add the batchEditable method to your field definition, this method should return an array containing the options as defined below.

class UserResource extends Resource
{
    public function fields(NovaRequest $request): array
    {
        return [
            Text::make('Title', 'title')
                ->rules('required')
                ->batchEditable(fn () => [
                    'icon' => 'annotation', // accepts any heroicon name supported by Nova: https://v1.heroicons.com
                    
                    /**
                     * These are all optional, and the current values are the default ones
                     */
                    'tooltip' => 'Update {attribute}', // Appears when hovering the icon.
                    'title' => 'Update {attribute}', // Appears in the modal title.
                    'cancelButtonText' => 'Cancel', // Appears in the modal cancel button.
                    'confirmButtonText' => 'Update', // Appears in the modal confirm button.
                    'confirmText' => null, // Appears above the field in the modal.
                    'modalSize' => '2xl', // Can be "sm", "md", "lg", "xl", "2xl", "3xl", "4xl", "5xl", "6xl", "7xl".
                    'modalStyle' => 'window', // Can be either 'fullscreen' or 'window'.
                ]),
    
            /**
             * You can also use a custom SVG icon directly 
             */
            Text::make('Description', 'description')
                ->rules('required')
                ->batchEditable(fn () => [
                    'icon' => <<<SVG
                        <svg>...</svg>
                    SVG,
                ]),                
        ];
    }
}

⭐️ 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.