searchable(false) ->columns([ TextColumn::make('name') ->searchable(), TextColumn::make('host') ->searchable(), TextColumn::make('port') ->sortable(), TextColumn::make('username') ->searchable(), TextColumn::make('databases_count') ->counts('databases') ->icon('tabler-database') ->label('Databases'), TextColumn::make('node.name') ->icon('tabler-server-2') ->placeholder('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('No Database Hosts') ->emptyStateActions([ CreateAction::make('create') ->label('Create Database Host') ->button(), ]); } protected function getHeaderActions(): array { return [ Actions\CreateAction::make('create') ->label('Create Database Host') ->hidden(fn () => DatabaseHost::count() <= 0), ]; } }