Resized, Reorder and Sticky Column by Asmit Nepali
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
Automated 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
- Warning: Dependabot PR responsiveness — Stale Dependabot PRs: oldest general PR is 31 days old.
- 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 26 days ago; last release 69 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 [email protected] 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
Sharp Theme
A theme that gives panels a precise, technical look with square corners, strong borders, and clear contrast.
Filament
Noir Theme
A theme that gives panels a focused, refined look with near-black surfaces, crisp actions, and restrained color.
Filament
Custom Fields
Eliminate custom field migrations forever. Let your users create and manage form fields directly in Filament admin panels with 20+ built-in field types, validation, and zero database changes.
Relaticle