columns([ TextColumn::make('employee.full_name') ->label('Employee') ->searchable() ->sortable(), TextColumn::make('report_date') ->date() ->sortable(), TextColumn::make('title') ->searchable() ->sortable(), TextColumn::make('severity') ->badge() ->color(fn (DisciplinarySeverity $state): string => $state->color()) ->formatStateUsing(fn (DisciplinarySeverity $state): string => $state->label()) ->searchable() ->sortable(), IconColumn::make('attachment_path') ->label('Attachment') ->boolean() ->trueIcon('heroicon-o-paper-clip') ->falseIcon('heroicon-o-minus'), TextColumn::make('creator.name') ->label('Created By') ->sortable() ->toggleable(), TextColumn::make('created_at') ->dateTime() ->sortable() ->toggleable(isToggledHiddenByDefault: true), TextColumn::make('updated_at') ->dateTime() ->sortable() ->toggleable(isToggledHiddenByDefault: true), TextColumn::make('deleted_at') ->dateTime() ->sortable() ->toggleable(isToggledHiddenByDefault: true), ]) ->filters([ SelectFilter::make('severity') ->options(DisciplinarySeverity::class), TrashedFilter::make(), ]) ->recordActions([ ViewAction::make(), EditAction::make(), ]) ->toolbarActions([ BulkActionGroup::make([ ExportExcelAction::bulk('exportSelected', \App\Exports\ReportsExport::class, 'disciplinary-reports.xlsx'), DeleteBulkAction::make(), ForceDeleteBulkAction::make(), RestoreBulkAction::make(), ]), ]); } }