• Table Repeater

Table Repeater

Plugin information

by Martin Hwang

Field Form builder Layout Admin panel

Repeater In Table Layout

Support

#table-repeater on Discord

Views

6089

License

MIT

Documentation

Installation

You can install the package via composer:

composer require icetalker/filament-table-repeater

You can publish the views using

php artisan vendor:publish --tag="filament-table-repeater-views"

Usage

use Icetalker\FilamentTableRepeater\Forms\Components\TableRepeater;
 
protected function getFormSchema(): array
{
return [
...
Forms\Components\Grid::make(1)->schema([
 
TableRepeater::make('items')
->relationship('items')
->schema([
Forms\Components\TextInput::make('product'),
...
])
->collapsible()
->defaultItems(3),
 
]),
 
];
}

Since this component extends from Filament\Forms\Components\Repeater, you can use most of its methods, except for a few methods like inset(), grid(), columns().

Other method

colStyles

To customize styles for each cell, you can pass an array of component name as key and css style as value to colStyles(). See example below:

use Icetalker\FilamentTableRepeater\Forms\Components\TableRepeater;
 
protected function getFormSchema(): array
{
return [
...
Forms\Components\Grid::make(1)->schema([
 
TableRepeater::make('items')
->relationship('items')
->schema([
Forms\Components\TextInput::make('product'),
Forms\Components\TextInput::make('quantity'),
...
])
->colStyles([
'product' => 'color: #0000ff; width: 250px;',
]),
 
]),
 
];
}