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
You can install the package via composer:
composer require shreejan/actionable-column
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);
})
)
| 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.
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.
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.
Contributions are welcome! Please feel free to submit a Pull Request.
The MIT License (MIT). Please see License File for more information.
Made with ❤️ by Shreejan
How can I help you explore Laravel packages today?