*/ public function getTabs(): array { return [ 'all' => Tab::make(), 'active' => Tab::make() ->modifyQueryUsing(fn (Builder $query): Builder => $query->whereIn('status', [ OperationRunStatus::Queued->value, OperationRunStatus::Running->value, ])), 'succeeded' => Tab::make() ->modifyQueryUsing(fn (Builder $query): Builder => $query ->where('status', OperationRunStatus::Completed->value) ->where('outcome', OperationRunOutcome::Succeeded->value)), 'partial' => Tab::make() ->modifyQueryUsing(fn (Builder $query): Builder => $query ->where('status', OperationRunStatus::Completed->value) ->where('outcome', OperationRunOutcome::PartiallySucceeded->value)), 'failed' => Tab::make() ->modifyQueryUsing(fn (Builder $query): Builder => $query ->where('status', OperationRunStatus::Completed->value) ->where('outcome', OperationRunOutcome::Failed->value)), ]; } protected function getTablePollingInterval(): ?string { $tenant = Filament::getTenant(); if (! $tenant instanceof Tenant) { return null; } return ActiveRuns::existForTenant($tenant) ? '10s' : null; } }