Resized, Reorder and Sticky Column
CommunityThis plugin allows you to resize columns in Filament tables, enhancing the user experience by providing a more flexible and customizable interface.
Author:
Asmit Nepali
Package health
BetaAutomated checks of this plugin's Composer package
15 checks
- Passed: GitHub Actions pinned to SHA
- Skipped: GitLab CI includes pinned to SHA
- Passed: Open security advisories
- Passed: Dependabot PR responsiveness — No open Dependabot PRs.
- Skipped: Renovate MR responsiveness
- Passed: Dependabot or Renovate configured
- Passed: Dependency update cooldown configured
- Passed: Provides a security policy
- Passed: Abandoned or archived — No consulted source marks the package abandoned (packagist, github).
- Passed: Commit and release recency — Active: last commit 0 days ago; last release 1 days ago.
-
Passed:
composer.lock not committed by library
—
composer.lockis absent from the released dist archive. - Passed: Dist archive is lean
-
Passed:
Current Laravel version supported
—
Package dependencies resolve together with current Laravel
13.0. - Passed: Current PHP version supported — No PHP constraint declared; package imposes no version restriction.
- Skipped: Current Symfony version supported
filament/
namespace. Review the source and install at your own risk. Found
malware or an unresolved security issue the author won't
address?
Report it
.
Documentation
Resizable, reorderable, and pinnable table columns for Filament. Users drag column edges to resize, drag headers to reorder, and pin columns to the left — every choice persisted per user in the session, the database, or both.
#Features
- Drag-to-resize — grab any column edge; widths persist per user
- Drag-to-reorder —
->dragReorderableColumns()puts a grip on each header - Pinned columns —
->sticky()for developer defaults,->stickableColumns()for a user-facing "Pin columns" panel with draft + Apply, plus click-the-pin to unpin from the header - Persistence — session by default, database opt-in; widths, order, and pins share one settings row per user
- Works without a panel — the same trait drives tables in plain Livewire components
- Filament-native styling — pinned cells match Filament's own table surfaces in light and dark, and stay opaque while scrolling
- Customisable trigger — restyle the toolbar button via
->stickyManagerTriggerAction()
#Requirements
- Filament 3, 4, or 5
#Installation
composer require asmit/resized-column
npm --prefix vendor/asmit/resized-column run build
php artisan filament:assets
When developing the package from source (path repo), run npm run build inside the package directory whenever you change resources/css/ or resources/js/, then php artisan filament:assets in the host app.
Register the plugin in your panel provider:
use Asmit\ResizedColumn\ResizedColumnPlugin;
public function panel(Panel $panel): Panel
{
return $panel
->plugins([
ResizedColumnPlugin::make()
->preserveOnDB(), // optional — database persistence
]);
}
Database persistence also needs the settings table:
php artisan vendor:publish --provider="Asmit\ResizedColumn\ResizedColumnServiceProvider" --tag=resized-column-migrations
php artisan migrate
#Usage
Add the trait to any list page or Livewire component that renders a table:
use Asmit\ResizedColumn\HasResizableColumn;
class ListUsers extends ListRecords
{
use HasResizableColumn;
protected static string $resource = UserResource::class;
}
Opt into reordering and pinning per table:
public function table(Table $table): Table
{
return $table
->columns([
TextColumn::make('name')->sticky(), // pinned by default
TextColumn::make('email'),
TextColumn::make('created_at'),
])
->dragReorderableColumns()
->stickableColumns();
}
#Credits
#Contributing
Contributions are welcome. Please see CONTRIBUTING.md before opening an issue or pull request.
#Security
If you discover a security issue, please e-mail asmitnepali99@gmail.com instead of opening a public issue. All reports are addressed promptly.
#Changelog
Please see Releases for recent changes.
#License
MIT License. See LICENSE.txt for details.
The author
I’m a senior full-stack engineer with 5+ years of experience building production-grade applications with Laravel. I’m passionate about the Laravel and Filament ecosystem, creating developer tools and packages, and pushing Filament beyond its usual boundaries. I’m also the creator of several Filament plugins and SaaS products, focused on building practical tools that make developers’ lives easier.
From the same author
Fila Calendar
A polished inline calendar field for Filament forms and infolists with single, range, and multi-range selection.
Author:
Asmit Nepali
Upload
The Advanced PDF Upload plugin allows you to upload PDF files with preview functionality along with Filament's default file upload features. This package provides a seamless way to handle PDF uploads with customizable preview options.
Author:
Asmit Nepali
Mention
The Mention plugin lets you mention users inside RichText editor, supporting both static and dynamic searches. It can extract user details like username and ID for a seamless mention experience.
Author:
Asmit Nepali
Advanced Kanban
A premium Filament plugin providing production-ready, highly customizable Kanban boards with drag & drop functionality, workflow transitions, advanced filtering, and real-time search capabilities.
Author:
Asmit Nepali
Featured Plugins
A selection of plugins curated by the Filament team
Custom Dashboards
Let your users build and share their own dashboards with a drag-and-drop interface. Define your data sources in PHP and let them do the rest.
Filament
Advanced Tables (formerly Filter Sets)
Supercharge your tables with powerful features like user-customizable views, quick filters, multi-column sorting, advanced table searching, convenient view management, and more. Compatible with Resource Panel Tables, Relation Managers, Table Widgets, and Table Builder!
Kenneth Sese
Data Lens
Advanced Data Visualization for Laravel Filament - a premium reporting solution enabling custom column creation, sophisticated filtering, and enterprise-grade data insights within admin panels.
Padmission