46 lines
1.4 KiB
PHP
46 lines
1.4 KiB
PHP
<?php
|
|
|
|
namespace App\Filament\Clusters\Administration\Textblocks\Tables;
|
|
|
|
use App\Models\Textblock;
|
|
use Filament\Actions\DeleteAction;
|
|
use Filament\Actions\EditAction;
|
|
use Filament\Tables\Columns\TextColumn;
|
|
use Filament\Tables\Enums\FiltersLayout;
|
|
use Filament\Tables\Filters\SelectFilter;
|
|
use Filament\Tables\Table;
|
|
|
|
class TextblocksTable
|
|
{
|
|
public static function configure(Table $table): Table
|
|
{
|
|
return $table
|
|
->defaultPaginationPageOption(5)
|
|
->columns([
|
|
TextColumn::make('name')
|
|
->description(function ($record) {
|
|
return view('pages.textblock')->with('record', $record);
|
|
})
|
|
->html(),
|
|
])
|
|
->deferFilters(false)
|
|
->filtersFormColumns(2)
|
|
->filters([
|
|
SelectFilter::make('id')
|
|
->label('Textblock')
|
|
->columns(1)
|
|
->preload()
|
|
->default(1)
|
|
->options(function (): array {
|
|
return Textblock::pluck('name', 'id')->toArray();
|
|
}),
|
|
], layout: FiltersLayout::AboveContent)
|
|
->persistFiltersInSession()
|
|
->paginated(false)
|
|
->recordActions([
|
|
EditAction::make()->iconButton(),
|
|
DeleteAction::make()->iconButton(),
|
|
]);
|
|
}
|
|
}
|