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.
Architecture fit
Filament\Forms\Components\Repeater and Filament\Infolists\Components\RepeatableEntry and adds a parallel TableColumn value object, a Summarizer abstraction (Sum, Count, Average, Range), CanBeHidden/CanBeSummarized concerns, a panel plugin class, and a service provider.Integration feasibility
AdvanceTableRepeaterPlugin on the panel, swap Repeater::make() for the table variant, declare columns fluently. A single form can be migrated without touching others, so this is sliceable.HasMany) repeaters with an orderColumn, not just JSON columns.Technical risk
Sum/Average/Range compute client-side over rendered rows, totals will silently be wrong once row counts exceed anything not currently mounted, or when rows are filtered/hidden via the column manager. Wrong money totals presented confidently is a worse failure than a UI bug.toEmbeddedTableHtml() is the highest-risk feature. It emits raw HTML intended for mail templates. Two concrete hazards: (1) HTML/CSS injection if cell values or labels are user-controlled and not escaped; (2) the package's styling ships as publishable CSS assets that will not apply in email clients, so embedded output likely renders unstyled or inconsistently across Outlook/Gmail. Budget for separate handling of mail output or treat it as unsupported internally.Key questions
null/non-numeric values?toEmbeddedTableHtml() escaping cell content, and does it inline styles or depend on the published stylesheet?orderColumn, and is reordering disabled in read-only infolists?Stack fit
toEmbeddedTableHtml() also makes this relevant to read-only summary and mail-notification paths — evaluate those separately from the forms use case, since the risk profiles differ.Migration path
Compatibility
Sequencing
Maintenance
Support
Summarizer subclasses, column behaviours) rather than patches — insist on that so upgrades stay feasible.Scaling
Failure modes
toEmbeddedTableHtml().orderColumn.Ramp-up
Summarizer abstraction needs a short internal write-up with one worked custom example.How can I help you explore Laravel packages today?