spiggle / list-view
Filament v5 plugin that toggles tables between table and alphabetical list views.
Requires
- php: ^8.2
- filament/filament: ^5.0 || ^5.7
- illuminate/contracts: ^11.0 || ^12.0 || ^13.0
- illuminate/support: ^11.0 || ^12.0 || ^13.0
Requires (Dev)
- phpunit/phpunit: ^11.0 || ^12.0
Suggests
None
Provides
None
Conflicts
None
Replaces
None
README
A Filament v5 plugin that adds a table / list toggle to every table on the panel.
Table view stays the default (the current Filament table). List view switches to stacked rows, groups records A–Z, and keeps search, pagination, and row click (slide-over or full page).
Screenshots
Table view (default) — the normal Filament table, with the toggle in the toolbar:
List view — alphabetical groups, initials, title + subtitle. Click a row to view or edit:
Row click — same action as a table row (Users open a slide-over):
Requirements
- PHP 8.2+
- Laravel 11, 12, or 13
- Filament 5.0+
Install
The package is not on Packagist yet. Add the GitHub repository, then require it:
composer config repositories.spiggle-list-view vcs https://github.com/skillbobby/Spiggle-List-View.git composer require spiggle/list-view:^1.0
Register the plugin on your Filament panel:
use Spiggle\ListView\Filament\ListViewPlugin; public function panel(Panel $panel): Panel { return $panel ->plugin(ListViewPlugin::make()); }
It works alongside other panel plugins (for example a theme):
$panel ->plugin(MaterialThemePlugin::make()) ->plugin(ListViewPlugin::make());
How it works
- A table / list control is injected at the end of every Filament table toolbar.
- Table is the default. The existing columns, filters, search, and pagination stay as they are.
- List rebuilds the current table as stacked rows:
- Title from
name,title,number, or the first text column - Subtitle from
emailor the next text column - Colored initials when the record has no avatar
- Groups by first letter (A–Z)
- Title from
- The choice is stored in the session per Livewire table class, so each resource remembers its own mode.
- Clicking a list row uses the same
recordAction/recordUrlas the table (slide-over, modal, or full page).
No changes are required on individual resources. Any HasTable page gets the toggle.
License
MIT


