Getting Started
Tables
Configure list screens with typed columns, filters, sorting, and pagination.
Tables drive list and index screens and are backed by Eloquent queries.
Example
<?php
use Pepperfm\Flashboard\Contracts\Tables\TableContract;
use Pepperfm\Flashboard\Core\Tables\Columns\BadgeColumn;
use Pepperfm\Flashboard\Core\Tables\Columns\TextColumn;
use Pepperfm\Flashboard\Core\Tables\Filters\SelectFilter;
public static function table(TableContract $table): TableContract
{
return $table
->columns([
TextColumn::make('id')
->label('ID')
->sortable(),
BadgeColumn::make('status')
->label('Status')
->searchable(),
])
->filters([
SelectFilter::make('status')
->label('Status'),
])
->pagination(25);
}
Typed columns and filters are the preferred public API. Legacy array definitions still work while the package continues its DSL migration.
Query behavior
ResourceListDataSource currently supports:
- search across columns marked
searchable - sort across columns marked
sortable - simple filter key/value pairs from the request
- Eloquent pagination with query-string preservation
Extension points
queryExtensions()for custom query mutationpayloadExtensions()for post-assembly table payload changes
Debugging
Use JSON responses on resource routes to inspect:
- normalized table schema
- dataset rows
- pagination metadata
- filtered action visibility