Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Advance Table Repeater Laravel Package

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.

View on GitHub
Deep Wiki
Context7

Getting Started

  • Treat v1.0.0 as the baseline release. It targets Filament v5 and extends Filament’s existing form/infolist components, so confirm the app is already on Filament v5 before adopting it.
  • Install through Composer using the package’s documented package name, then let AdvanceTableRepeaterServiceProvider auto-discovery do its work. Register AdvanceTableRepeaterPlugin on the relevant Filament panel if the package expects explicit panel registration.
  • Publish only what you need: config/advance-table-repeater.php, Blade views, and CSS assets. Publish CSS/views when you need visual or markup overrides; otherwise rely on the defaults.
  • Look first at the package config, the TableColumn API, the Summarizer classes, and the published views. Those are the main day-to-day extension points.
  • Best first use case: convert one existing form Repeater to the package’s table-view repeater, define a few TableColumn definitions, and verify drag-and-drop ordering, column resizing, and the column manager modal. Once comfortable, use the table-view RepeatableEntry in an infolist and test toEmbeddedTableHtml() for a mail/notification use case.

Implementation Patterns

  • Form repeaters: Replace the default Filament\Forms\Components\Repeater with the package’s table-view repeater where row density matters. Keep normal Filament form fields in the repeater schema, then define table columns with TableColumn for labels, header visibility, required markers, wrapping, resizing, and min/max widths.
  • Infolists: Use the package’s table-view RepeatableEntry in place of the default RepeatableEntry when a read-only record list should match the form table layout. It supports the same column definition style and visual treatment.
  • Email/HTML embedding: For single-row output, use toEmbeddedTableHtml() from the infolist table entry. This is useful for mail templates or notification previews, but test the generated HTML in the actual mail client because table-based layouts and CSS support vary.
  • Summaries: Attach Sum, Count, Average, or Range summarizers to columns where totals make sense. Use each summarizer’s label() method to make the sticky footer readable. Prefer summaries for numeric/aggregate columns and avoid them on free-text columns.
  • Column management: The column manager modal toggles column visibility and persists that state in the session. This is useful for wide tables where users need to focus on specific fields. If you need long-term per-user preferences, layer your own persistence on top rather than relying on session state.
  • Column customization: Use the fluent TableColumn methods first. For custom column behaviour, build on the CanBeHidden and CanBeSummarized concerns instead of duplicating visibility or summary logic.
  • Panel integration: Register AdvanceTableRepeaterPlugin consistently across panels so assets, views, and configuration behave the same in local/admin panels. Keep plugin registration close to other Filament panel configuration.
  • Customization: Publish config/views/CSS when defaults are not enough, but keep overrides minimal. This is a pure Filament UI package with zero model coupling, so avoid introducing app-specific model assumptions into reusable table column definitions.

Gotchas and Tips

  • Filament v5 only: This release is explicitly for Filament v5. Check panel and form/infolist dependency versions before installing; do not assume compatibility with older Filament versions.
  • Initial release: v1.0.0 is a new package API. Pin the version in production, review changes before upgrading, and add coverage around your most important table layouts.
  • Use the package components deliberately: The value comes from swapping in the table-view repeater/entry. Mixing the default Repeater and package repeater in the same form can produce inconsistent UI and confusing user expectations.
  • Session-persisted column visibility: Hidden columns are session-based. They may not survive logout, may not be shared across devices, and can surprise users if they expect durable preferences.
  • Hidden required fields: If a column is hidden via the column manager, decide whether its underlying form field should still validate as required. markAsRequired() is useful for presentation, but server-side validation rules remain the source of truth.
  • CSS and asset publishing: If you customize CSS or views, rebuild/clear Filament assets as appropriate for your app and verify both light/dark and responsive layouts. Stale published assets are an easy source of “my styles did not apply” bugs.
  • Email HTML limitations: toEmbeddedTableHtml() is convenient, but email clients are not browsers. Inline critical styles where possible, escape user-generated content, and test in representative mail clients.
  • Summarizer data quality: Sum, Average, and Range assume sensible numeric data. Handle nulls, empty repeaters, and mixed value types before relying on footer totals.
  • Large repeaters: A table layout can become cramped on mobile and expensive with many rows/columns. Use column visibility, wrapping, and summaries intentionally; test horizontal scrolling and drag handles on smaller screens.
  • Debugging path: Start with the published config, Blade views, and CSS. Then inspect the package’s TableColumn, summarizer, and concern implementations. Since the release claims full Pest coverage, mirror important app scenarios in your own tests rather than assuming every integration case is covered.
Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
elmogy/larafast
xeviant/laravel-paystack
gorilladash/laravel-website-sdk
martialbe/flysystem-oss
chondal/3312client
jeroen-g/flickr
opscale-co/nova-genbi
itsjustvita/laravel-retention
tequilarapido/trackit
gregsphotography/site-builder-filament
cabaoctavio/laravel-query-log
gregsphotography/site-builder-components
io-digital/clickatell
snowsoft/laravel-admin
oxygen/auth
relicsoftware/barakah-payment-gateway
tobya/work-with-composer
equipc/laravel-email-validator
equipc/laravel-email-database-log
adedsec/nova-translated-labels