searchable(false) ->columns([ TextColumn::make('name') ->label(trans('admin/databasehost.table.name')) ->searchable(), TextColumn::make('host') ->label(trans('admin/databasehost.table.host')) ->searchable(), TextColumn::make('port') ->label(trans('admin/databasehost.table.port')) ->sortable(), TextColumn::make('username') ->label(trans('admin/databasehost.table.username')) ->searchable(), TextColumn::make('databases_count') ->counts('databases') ->icon('tabler-database') ->label(trans('admin/databasehost.databases')), TextColumn::make('nodes.name') ->icon('tabler-server-2') ->badge() ->placeholder(trans('admin/databasehost.no_nodes')) ->sortable(), ]) ->checkIfRecordIsSelectableUsing(fn (DatabaseHost $databaseHost) => !$databaseHost->databases_count) ->actions([ EditAction::make(), ]) ->bulkActions([ BulkActionGroup::make([ DeleteBulkAction::make() ->authorize(fn () => auth()->user()->can('delete databasehost')), ]), ]) ->emptyStateIcon('tabler-database') ->emptyStateDescription('') ->emptyStateHeading(trans('admin/databasehost.no_database_hosts')) ->emptyStateActions([ CreateAction::make('create') ->button(), ]); } protected function getHeaderActions(): array { return [ Actions\CreateAction::make('create') ->hidden(fn () => DatabaseHost::count() <= 0), ]; } }