aureuserp/advance-table-repeater
A Laravel package for Aureus ERP that adds an advanced table repeater component, letting you build dynamic, repeatable table rows directly inside forms. Configure columns, manage complex multi-row data entry, and streamline repetitive records with a flexible, developer-friendly interface.
RepeatableEntry plus toEmbeddedTableHtml() means the same table can appear in the admin panel and in transactional email/PDF templates without duplicating markup — relevant for any "record detail + confirmation email" flows.Sum, Count, Average, Range) and column behaviours (CanBeHidden, CanBeSummarized) are extension points, so aggregate/footer requirements can be met without a bespoke front-end task.Adopt when:
Repeater / RepeatableEntry classes, so it is not portable to v3/v4 without a maintained release.Look elsewhere (or build) when:
Recommended adoption gate: run a spike on one internal, low-traffic admin screen. Validate column manager behaviour, summarizer accuracy on empty/partial rows, drag-ordering persistence to the model, and a real mail embed via toEmbeddedTableHtml(). Promote to other panels only after that passes and we've confirmed the upgrade story.
For executives: We can ship a class of admin features — editable line-item and grid tables — that we have repeatedly scoped and deferred, by adding one small, free, open-source plugin instead of building and maintaining a custom component. It reduces estimated build effort for those screens and the ongoing maintenance burden that comes with custom front-end code. The trade-off is that it's a brand-new v1.0.0 dependency tied to Filament v5, so we're proposing a contained pilot on one screen rather than a broad rollout. Low cost, bounded risk, measurable time savings.
For engineering: Advance Table Repeater extends Filament\Forms\Components\Repeater and Filament\Infolists\Components\RepeatableEntry rather than replacing them, so it participates in normal Filament form/infolist state and validation — markAsRequired() is exposed per column. Columns are defined fluently via TableColumn with width, wrapping, resizability, and header controls; drag-and-drop ordering and column resizing ship out of the box. Summarizers are an abstract Summarizer with Sum, Count, Average, and Range implementations plus label(), so adding a custom aggregate is a small class, not a front-end change. Registration is a panel plugin (AdvanceTableRepeaterPlugin) plus a service provider with auto-discovery, publishable config (config/advance-table-repeater.php), views, and CSS — so it slots into our theme pipeline. There is zero model coupling, and it has full Pest coverage. Constraints to note: Filament v5 only, column visibility persists in session (not per user), and the summarizer set is client-side and fixed to four types. We should pin the version and wrap usage in our own components so the pending v1.x API churn is a one-file change.
How can I help you explore Laravel packages today?