columns([ TextColumn::make('name') ->searchable(), TextColumn::make('slug') ->searchable(), TextColumn::make('created_at') ->dateTime() ->sortable() ->toggleable(isToggledHiddenByDefault: true), TextColumn::make('updated_at') ->dateTime() ->sortable() ->toggleable(isToggledHiddenByDefault: true), ]) ->filters([ // ]) ->recordActions([ ViewAction::make(), EditAction::make(), UiEnforcement::forAction( Action::make('archive') ->label('Archive') ->color('danger') ->icon('heroicon-o-archive-box') ->visible(fn (Workspace $record): bool => empty($record->archived_at)) ->action(function (Workspace $record): void { $record->forceFill(['archived_at' => now()])->save(); Notification::make() ->title('Workspace archived') ->success() ->send(); }) ) ->preserveVisibility() ->requireCapability(Capabilities::WORKSPACE_MANAGE) ->destructive() ->tooltip('You do not have permission to archive this workspace.') ->apply(), UiEnforcement::forAction( Action::make('unarchive') ->label('Unarchive') ->color('success') ->icon('heroicon-o-arrow-uturn-left') ->visible(fn (Workspace $record): bool => ! empty($record->archived_at)) ->action(function (Workspace $record): void { $record->forceFill(['archived_at' => null])->save(); Notification::make() ->title('Workspace unarchived') ->success() ->send(); }) ) ->preserveVisibility() ->requireCapability(Capabilities::WORKSPACE_MANAGE) ->tooltip('You do not have permission to unarchive this workspace.') ->apply(), ]) ->toolbarActions([ BulkActionGroup::make([ DeleteBulkAction::make(), ]), ]); } }