Advance Table Repeater
CommunityAn advanced Filament v5 Repeater + RepeatableEntry that renders as a table with a column manager, drag-and-drop reorder, resizable columns, and per-column summarizers (sum / count / average / range).
Author:
Aureus ERP
Package health
BetaAutomated checks of this plugin's Composer package
15 checks
- Skipped: 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
- Failed: Dependabot or Renovate configured — No dependency updater configuration found. View details on Plumb
- Skipped: Dependency update cooldown configured
- Passed: Provides a security policy
- Passed: Abandoned or archived — No consulted source marks the package abandoned (github).
- Passed: Commit and release recency — Active: last commit 2 days ago; no release date available.
-
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
—
Constraint
^8.2supports current PHP8.5. - 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
- Features
- Requirements
- Installation
- Quick start
- API reference
- Theming & customisation
- Testing
- Publishing resources
- Troubleshooting
- Security
- License
An advanced Filament v5 Repeater + RepeatableEntry that renders as a table with a column manager, drag-and-drop reorder, resizable columns, and per-column summarizers (sum / count / average / range).
#Features
- Table-view Repeater (form) with per-column headers, resizable widths, drag-and-drop reorder
- Table-view RepeatableEntry (infolist) for read-only rendering with the same visual
- Column manager modal — toggle column visibility, persisted in session across reloads
- Summarizers —
Sum,Count,Average,Range— rendered in a sticky footer - Hidden / required column markers out of the box
- Zero model coupling — pure Filament infrastructure, reusable in any app
- Full Pest test coverage
#Requirements
- PHP 8.2+
- Laravel 11+
- Filament v5+
#Installation
composer require aureuserp/advance-table-repeater
php artisan filament:assets
The plugin auto-discovers via extra.laravel.providers and auto-registers in every Filament panel.
#Quick start
#Form — table-view Repeater
use Webkul\AdvanceTableRepeater\Forms\Components\Repeater;
use Webkul\AdvanceTableRepeater\Forms\Components\Repeater\TableColumn;
use Webkul\AdvanceTableRepeater\Summarizers\Sum;
Repeater::make('order_lines')
->relationship()
->schema([
Select::make('product_id')->relationship('product', 'name')->required(),
TextInput::make('qty')->numeric()->required(),
TextInput::make('price')->numeric()->required(),
])
->table([
TableColumn::make('product_id')->label('Product')->resizable(),
TableColumn::make('qty')->label('Qty')->markAsRequired(),
TableColumn::make('price')->label('Price')->summarize(Sum::make()->label('Total')),
]);
#Infolist — read-only table
use Webkul\AdvanceTableRepeater\Infolists\Components\RepeatableEntry;
use Webkul\AdvanceTableRepeater\Infolists\Components\Repeater\TableColumn;
RepeatableEntry::make('order_lines')
->table([
TableColumn::make('product.name')->label('Product'),
TableColumn::make('qty')->label('Qty'),
TableColumn::make('price')->label('Price'),
]);
#API reference
#Repeater (forms) — extends Filament\Forms\Components\Repeater
| Method | Purpose |
|---|---|
->table(array<TableColumn> $columns) |
Switch rendering from default stacked layout to table layout |
->hasTableView() |
Check at runtime whether the repeater is in table mode |
->getTableColumns() / ->getMappedColumns() |
Inspect columns |
->getSummaryForColumn(string) / ->hasAnySummarizers() |
Summarizer introspection |
#RepeatableEntry (infolists) — extends Filament\Infolists\Components\RepeatableEntry
Same API as the form variant, plus:
| Method | Purpose |
|---|---|
->toEmbeddedTableHtml(array $record) |
Render a single row's table HTML for embedding (e.g. in mail templates) |
#TableColumn (forms variant) — fluent column definition
| Method | Purpose |
|---|---|
::make(string $name) |
Factory |
->label(string) |
Header label |
->hiddenHeaderLabel() |
Hide the header label while keeping the column |
->markAsRequired() |
Show a required asterisk |
->resizable(bool = true) / ->isResizable() |
Enable drag-to-resize |
->wrapHeader(bool = true) |
Allow header text to wrap |
->getMinWidth() / ->getMaxWidth() |
Width constraints |
#TableColumn (infolists variant) — simpler read-only column
::make() / ->label() / ->hiddenHeaderLabel() / ->isHeaderLabelHidden().
#Summarizers
| Class | Purpose |
|---|---|
Sum::make() |
Sum of column values |
Count::make() |
Row count |
Average::make() |
Arithmetic mean |
Range::make() |
min / max pair |
Summarizer (abstract) |
Extend to build your own |
All summarizers support ->label(string) and render in the table footer.
#Theming & customisation
Stable CSS hooks:
.fi-fo-table-repeater— outer wrapper.fi-fo-repeater-item— row.fi-fo-table-repeater-actions— action column.fi-fo-summarizer— footer totals row
Publish the Blade views to fork the table layout:
php artisan vendor:publish --tag="advance-table-repeater-views"
#Testing
vendor/bin/pest plugins/aureuserp/advance-table-repeater/tests/Feature
The suite covers architecture (base classes, trait usage, no debug calls), component instantiation, TableColumn fluent API, summarizer chainability.
#Publishing resources
php artisan vendor:publish --tag="advance-table-repeater-config"
php artisan vendor:publish --tag="advance-table-repeater-views"
#Troubleshooting
| Symptom | Fix |
|---|---|
Class Webkul\AdvanceTableRepeater\… not found |
composer dump-autoload -o && php artisan optimize:clear |
| Column manager modal doesn't open | Verify public/css/aureuserp/advance-table-repeater/advance-table-repeater.css exists; run php artisan filament:assets |
| Column visibility doesn't persist across reloads | Session driver must support writes (array driver loses state between requests) |
| Summarizers show blank | Confirm each TableColumn has a summarizer attached AND the column values are numeric |
#Security
Report vulnerabilities to support@webkul.com.
#License
MIT. See LICENSE.md.
The author
From the same author
Custom Fields
Let your end-users add dynamic fields to any Eloquent model + Filament resource at runtime, without writing a single migration. Ships an admin CRUD for managing field definitions, an Eloquent trait that auto-merges the new columns into your model's fillable/casts, a Filament resource trait with five merge helpers that inject fields into forms, tables, filters, infolists, and a runtime schema manager that creates the underlying DB columns for you.
Author:
Aureus ERP
Progress Bar
A feature-rich Filament v5 table column & infolist entry that renders progress as a horizontal bar. Built for dashboards, task progress, capacity gauges, skill levels, and any numeric value that fits on a 0–100% (or custom min–max) scale.
Author:
Aureus ERP
Progress Stepper
A feature-rich Filament v5 plugin that renders workflow state as an interactive arrow-stepper (form) or a read-only status bar (infolist). Built for business apps where orders, applications, or projects move through named states and you want every screen to show that progress visually.
Author:
Aureus ERP
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
Spotlight Pro
Browse your Filament Panel with ease. Filament Spotlight Pro adds a Spotlight like Command Palette to your Filament Panel.
Dennis Koch
Blueprint
Filament Blueprint is a premium Laravel Boost extension that helps AI agents produce accurate, detailed implementation plans and security reports for Filament apps.
Filament