Actionable Column plugin screenshot
Dark mode ready
Multilingual support
Supports v5.x

Actionable Column

The Actionable Column plugin allows you to transform table columns with embedded action buttons—show text or badges paired with clickable actions using Filament's native system.

Tags: Tables Table Column
Supported versions:
5.x 4.x
Shreejan Pandit avatar Author: Shreejan Pandit

Documentation

The Actionable Column plugin allows you to add interactive action buttons to Filament table columns. Display text or badges with seamlessly connected action buttons using Filament's native Action system.

Compatible with Filament v4 and v5

#Features

  • Badge mode with connected action button
  • Simple text mode with side-by-side action button
  • Customizable action icons and colors
  • Entire column clickable option
  • Empty state "+ Add" button
  • Support for any Filament Action type (edit, delete, approve, etc.)
  • Independent icon and badge/text colors
  • Seamless integration with Filament tables

#Installation

You can install the package via composer:

composer require shreejan/actionable-column

#Usage

use Shreejan\ActionableColumn\Tables\Columns\ActionableColumn;
use Filament\Actions\Action;
use Filament\Forms\Components\Select;
use Filament\Support\Icons\Heroicon;

ActionableColumn::make('status')
    ->badge()                                    // Display as badge (or remove for simple text)
    ->color('success')                           // Badge/text color: success, danger, warning, info, primary
    ->actionIcon(Heroicon::PencilSquare)         // Action button icon (Heroicon enum or string)
    ->actionIconColor('warning')                 // Icon color (independent from badge color)
    ->clickableColumn()                          // Make entire column clickable (or remove for button-only)
    ->tapAction(
        Action::make('changeStatus')              // Any Filament Action: edit, delete, approve, etc.
            ->label('Change Status')
            ->tooltip('Click to change status')
            ->schema([
                Select::make('status')
                    ->options([
                        'pending' => 'Pending',
                        'approved' => 'Approved',
                        'rejected' => 'Rejected',
                    ])
                    ->required(),
            ])
            ->fillForm(fn ($record) => [
                'status' => $record->status,
            ])
            ->action(function ($record, array $data) {
                $record->update($data);
            })
    )

#Configuration Options

Method Description Default
tapAction(Action|Closure) Set any Filament Action (edit, delete, approve, etc.) -
badge() Display as badge (connected to action button) Simple text mode
color(string) Set badge/text color: success, danger, warning, info, primary -
actionIcon(Heroicon|string) Set action button icon heroicon-o-pencil-square
actionIconColor(string) Set icon color (independent from badge color) -
actionIconSize(IconSize|string) Set icon size: xs, sm, md, lg, xl, 2xl sm
actionLabel(string) Custom "+ Add" button label for empty state "Add"
clickableColumn() Make entire column clickable (not just button) Button only
showActionIcon(bool) Show/hide action button (empty state button always shows) true

All standard TextColumn methods are available: searchable(), sortable(), limit(), date(), formatStateUsing(), etc.

#CSS Customization

To customize styles without losing changes during composer install or composer update:

Default location: Create resources/css/actionable-column-custom.css (auto-detected)

Custom location: Set ACTIONABLE_COLUMN_CUSTOM_CSS_PATH in .env or config/actionable-column.php

The custom CSS loads after the default styles, allowing overrides without modifying published assets.

#Credits

#Security

If you discover a security vulnerability within this package, please send an e-mail to shreezanpandit@gmail.com. All security vulnerabilities will be promptly addressed.

#Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

#📄 License

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


Made with ❤️ by Shreejan

The author

Shreejan Pandit avatar Author: Shreejan Pandit

I am Laravel developer with a focus on building efficient and scalable web applications. Eager to expand my expertise in Laravel and Filament; committed to learning and delivering high-quality solutions while contributing to collaborative projects.

Plugins
2
Stars
99

From the same author