columns([ TextColumn::make('name') ->label(__('hr.fields.name')) ->searchable() ->sortable(), TextColumn::make('code') ->label(__('hr.fields.code')) ->searchable() ->sortable(), TextColumn::make('description') ->label(__('hr.fields.description')) ->limit(50) ->toggleable(), TextColumn::make('is_active') ->label(__('hr.fields.status')) ->badge() ->formatStateUsing(fn (bool $state): string => $state ? __('enums.employment_status.active') : __('enums.employment_status.inactive')) ->color(fn (bool $state): string => $state ? 'success' : 'danger') ->sortable(), TextColumn::make('created_at') ->label(__('hr.fields.created_at')) ->dateTime() ->sortable() ->toggleable(isToggledHiddenByDefault: true), TextColumn::make('updated_at') ->label(__('hr.fields.updated_at')) ->dateTime() ->sortable() ->toggleable(isToggledHiddenByDefault: true), TextColumn::make('deleted_at') ->label(__('hr.fields.deleted_at')) ->dateTime() ->sortable() ->toggleable(isToggledHiddenByDefault: true), ]) ->filters([ TernaryFilter::make('is_active') ->label(__('hr.fields.status')) ->placeholder(__('hr.filters.all_departments')) ->trueLabel(__('enums.employment_status.active')) ->falseLabel(__('enums.employment_status.inactive')), TrashedFilter::make(), ]) ->recordActions([ ViewAction::make(), EditAction::make(), ]) ->toolbarActions([ BulkActionGroup::make([ DeleteBulkAction::make(), ForceDeleteBulkAction::make(), RestoreBulkAction::make(), ]), ]); } }