61 lines
2.1 KiB
PHP
61 lines
2.1 KiB
PHP
<?php
|
|
|
|
namespace App\Filament\Resources\FeedbackChannels\Tables;
|
|
|
|
use Filament\Actions\BulkActionGroup;
|
|
use Filament\Actions\DeleteBulkAction;
|
|
use Filament\Actions\EditAction;
|
|
use Filament\Tables\Columns\IconColumn;
|
|
use Filament\Tables\Columns\TextColumn;
|
|
use Filament\Tables\Table;
|
|
|
|
class FeedbackChannelsTable
|
|
{
|
|
public static function configure(Table $table): Table
|
|
{
|
|
return $table
|
|
->columns([
|
|
TextColumn::make('name')
|
|
->searchable()
|
|
->sortable()
|
|
->formatStateUsing(fn ($state, $record) => sprintf(
|
|
'<span style="display:inline-block;background:%s;color:#fff;padding:2px 10px;border-radius:9999px;font-size:0.75rem;">%s</span>',
|
|
$record->color ?: '#6b7280',
|
|
e($state)
|
|
))
|
|
->html(),
|
|
TextColumn::make('slug')
|
|
->searchable(),
|
|
TextColumn::make('color')
|
|
->label(__('app.color'))
|
|
->formatStateUsing(fn ($state) => sprintf(
|
|
'<span style="display:inline-block;width:24px;height:24px;background:%s;border-radius:6px;border:1px solid #d1d5db;" title="%s"></span>',
|
|
$state ?: '#6b7280',
|
|
$state
|
|
))
|
|
->html(),
|
|
IconColumn::make('is_active')
|
|
->boolean()
|
|
->label(__('app.status_active')),
|
|
TextColumn::make('feedbacks_count')
|
|
->counts('feedbacks')
|
|
->label(__('app.feedbacks')),
|
|
TextColumn::make('created_at')
|
|
->dateTime()
|
|
->sortable()
|
|
->toggleable(),
|
|
])
|
|
->filters([
|
|
//
|
|
])
|
|
->recordActions([
|
|
EditAction::make(),
|
|
])
|
|
->toolbarActions([
|
|
BulkActionGroup::make([
|
|
DeleteBulkAction::make(),
|
|
]),
|
|
]);
|
|
}
|
|
}
|