Files
citrus/app/Filament/Admin/Resources/CompanyHistoryItems/Tables/CompanyHistoryItemsTable.php
T

101 lines
3.6 KiB
PHP

<?php
namespace App\Filament\Admin\Resources\CompanyHistoryItems\Tables;
use Filament\Actions\BulkActionGroup;
use Filament\Actions\DeleteBulkAction;
use Filament\Actions\EditAction;
use Filament\Actions\ForceDeleteBulkAction;
use Filament\Actions\RestoreBulkAction;
use Filament\Tables\Columns\ColorColumn;
use Filament\Tables\Columns\TextColumn;
use Filament\Tables\Columns\ToggleColumn;
use Filament\Tables\Filters\TernaryFilter;
use Filament\Tables\Filters\TrashedFilter;
use Filament\Tables\Table;
class CompanyHistoryItemsTable
{
public static function configure(Table $table): Table
{
return $table
->columns([
TextColumn::make('year')
->label(__('company_history.table_year'))
->sortable()
->alignCenter(),
TextColumn::make('quarter')
->label(__('company_history.quarter_field'))
->badge()
->sortable()
->alignCenter(),
ColorColumn::make('color')
->label(__('company_history.color_field')),
TextColumn::make('title')
->label(__('company_history.table_title'))
->searchable()
->sortable()
->limit(40),
TextColumn::make('content')
->label(__('company_history.content_field'))
->limit(60)
->toggleable(),
TextColumn::make('position')
->label(__('company_history.position_field'))
->formatStateUsing(fn (?string $state): string => match ($state) {
'left' => __('company_history.position_left'),
'right' => __('company_history.position_right'),
default => __('company_history.position_auto'),
})
->toggleable(),
ToggleColumn::make('is_active')
->label(__('company_history.table_is_active'))
->alignCenter(),
TextColumn::make('sort_order')
->label(__('company_history.sort_order_field'))
->sortable()
->alignCenter(),
TextColumn::make('created_at')
->label(__('company_history.table_created_at'))
->dateTime('d.m.Y H:i')
->sortable()
->toggleable(isToggledHiddenByDefault: true),
TextColumn::make('updated_at')
->label(__('company_history.table_updated_at'))
->dateTime('d.m.Y H:i')
->sortable()
->toggleable(isToggledHiddenByDefault: true),
])
->filters([
TernaryFilter::make('is_active')
->label(__('company_history.is_active_field')),
TrashedFilter::make(),
])
->recordActions([
EditAction::make()
->label(__('company_history.edit')),
])
->toolbarActions([
BulkActionGroup::make([
DeleteBulkAction::make()
->label(__('company_history.delete')),
RestoreBulkAction::make()
->label(__('company_history.restore')),
ForceDeleteBulkAction::make()
->label(__('company_history.force_delete')),
]),
])
->defaultSort('year', 'asc')
->reorderable('sort_order');
}
}