Files
nutzwerte_fi4/app/Filament/Resources/KontoTextblocks/Tables/KontoTextblocksTable.php
T
2025-10-12 12:01:53 +02:00

56 lines
1.9 KiB
PHP

<?php
namespace App\Filament\Resources\KontoTextblocks\Tables;
use App\Models\TextblockKennung;
use Filament\Actions\BulkActionGroup;
use Filament\Actions\DeleteBulkAction;
use Filament\Actions\EditAction;
use Filament\Support\Enums\FontWeight;
use Filament\Tables\Columns\TextColumn;
use Filament\Tables\Filters\SelectFilter;
use Filament\Tables\Table;
use Illuminate\Support\HtmlString;
class KontoTextblocksTable
{
public static function configure(Table $table): Table
{
return $table
->defaultPaginationPageOption(5)
->columns([
TextColumn::make('textblock_kennung.name')
->label('Kennung')
->color('info')
->wrap()
->description(function ($record) {
return new HtmlString($record->beschreibung);
}),
TextColumn::make('name')
->weight(FontWeight::Bold)
->wrap()
->description(function ($record) {
return new HtmlString($record->textblock);
})
->html(),
])
->filters([
SelectFilter::make('textblock_kennung_id')
->label('Textbock Art')
->options(function (): array {
return TextblockKennung::join('konto_textblocks', 'textblock_kennungs.id', '=', 'konto_textblocks.textblock_kennung_id')
->pluck('textblock_kennungs.name', 'textblock_kennungs.id')->toArray();
})
->preload(),
])
->recordActions([
EditAction::make(),
])
->toolbarActions([
BulkActionGroup::make([
DeleteBulkAction::make(),
]),
]);
}
}