The List Page
The List page displays a table of all records. It’s defined in theListCustomers.php page class:
packages/panels/src/Resources/Pages/ListRecords.php
Table Configuration
Tables are configured in your resource’stable() method:
Tabs
Add tabs above the table to filter records:packages/panels/src/Resources/Pages/ListRecords.php
Tab Badges
Add count badges to tabs:Deferred Badge Loading
For expensive queries, load badges asynchronously:Tab Icons
Default Active Tab
Excluding Tab Queries When Resolving Records
When a record’s state changes, you may want actions to still work:Customizing the Query
Modify the table query for the List page:Table Features
- Search
- Sorting
- Filters
- Actions
Make columns searchable:
Bulk Actions
Actions that operate on multiple selected records:Record URLs
By default, clicking a row opens the Edit or View page. The List page automatically determines which action is available:packages/panels/src/Resources/Pages/ListRecords.php
Reordering Records
Allow drag-and-drop reordering:Custom Page Content
The List page schema contains these components by default:packages/panels/src/Resources/Pages/ListRecords.php
Header Actions
Add actions to the page header:Empty State
Customize what shows when there are no records:Polling
Auto-refresh the table at intervals:Authorization
Users can access the List page if theviewAny() method of the model policy returns true:
reorder() method controls record reordering: