mirror of
				https://github.com/pelican-dev/panel.git
				synced 2025-11-04 05:06:51 +01:00 
			
		
		
		
	Group servers
This commit is contained in:
		
							parent
							
								
									3fa714c7e3
								
							
						
					
					
						commit
						05573f64dd
					
				@ -3,10 +3,14 @@
 | 
				
			|||||||
namespace App\Filament\Resources\ServerResource\Pages;
 | 
					namespace App\Filament\Resources\ServerResource\Pages;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
use App\Filament\Resources\ServerResource;
 | 
					use App\Filament\Resources\ServerResource;
 | 
				
			||||||
 | 
					use App\Models\Egg;
 | 
				
			||||||
 | 
					use App\Models\Node;
 | 
				
			||||||
use App\Models\Server;
 | 
					use App\Models\Server;
 | 
				
			||||||
 | 
					use App\Models\User;
 | 
				
			||||||
use Filament\Actions;
 | 
					use Filament\Actions;
 | 
				
			||||||
use Filament\Resources\Pages\ListRecords;
 | 
					use Filament\Resources\Pages\ListRecords;
 | 
				
			||||||
use Filament\Tables\Actions\CreateAction;
 | 
					use Filament\Tables\Actions\CreateAction;
 | 
				
			||||||
 | 
					use Filament\Tables\Grouping\Group;
 | 
				
			||||||
use Filament\Tables\Table;
 | 
					use Filament\Tables\Table;
 | 
				
			||||||
use Filament\Tables;
 | 
					use Filament\Tables;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -18,6 +22,12 @@ class ListServers extends ListRecords
 | 
				
			|||||||
    {
 | 
					    {
 | 
				
			||||||
        return $table
 | 
					        return $table
 | 
				
			||||||
            ->searchable(false)
 | 
					            ->searchable(false)
 | 
				
			||||||
 | 
					            ->defaultGroup('node.name')
 | 
				
			||||||
 | 
					            ->groups([
 | 
				
			||||||
 | 
					                Group::make('node.name')->getDescriptionFromRecordUsing(fn (Server $server): string => str($server->node->description)->limit(150)),
 | 
				
			||||||
 | 
					                Group::make('user.username')->getDescriptionFromRecordUsing(fn (Server $server): string => $server->user->email),
 | 
				
			||||||
 | 
					                Group::make('egg.name')->getDescriptionFromRecordUsing(fn (Server $server): string => str($server->egg->description)->limit(150)),
 | 
				
			||||||
 | 
					            ])
 | 
				
			||||||
            ->columns([
 | 
					            ->columns([
 | 
				
			||||||
                Tables\Columns\TextColumn::make('status')
 | 
					                Tables\Columns\TextColumn::make('status')
 | 
				
			||||||
                    ->default('unknown')
 | 
					                    ->default('unknown')
 | 
				
			||||||
@ -52,26 +62,22 @@ class ListServers extends ListRecords
 | 
				
			|||||||
                Tables\Columns\TextColumn::make('node.name')
 | 
					                Tables\Columns\TextColumn::make('node.name')
 | 
				
			||||||
                    ->icon('tabler-server-2')
 | 
					                    ->icon('tabler-server-2')
 | 
				
			||||||
                    ->url(fn (Server $server): string => route('filament.admin.resources.nodes.edit', ['record' => $server->node]))
 | 
					                    ->url(fn (Server $server): string => route('filament.admin.resources.nodes.edit', ['record' => $server->node]))
 | 
				
			||||||
 | 
					                    ->hidden(fn (Table $table) => $table->getGrouping()->getId() === 'node.name')
 | 
				
			||||||
                    ->sortable()
 | 
					                    ->sortable()
 | 
				
			||||||
                    ->searchable(),
 | 
					                    ->searchable(),
 | 
				
			||||||
                Tables\Columns\TextColumn::make('egg.name')
 | 
					                Tables\Columns\TextColumn::make('egg.name')
 | 
				
			||||||
                    ->icon('tabler-egg')
 | 
					                    ->icon('tabler-egg')
 | 
				
			||||||
                    ->url(fn (Server $server): string => route('filament.admin.resources.eggs.edit', ['record' => $server->egg]))
 | 
					                    ->url(fn (Server $server): string => route('filament.admin.resources.eggs.edit', ['record' => $server->egg]))
 | 
				
			||||||
 | 
					                    ->hidden(fn (Table $table) => $table->getGrouping()->getId() === 'egg.name')
 | 
				
			||||||
                    ->sortable()
 | 
					                    ->sortable()
 | 
				
			||||||
                    ->searchable(),
 | 
					                    ->searchable(),
 | 
				
			||||||
                Tables\Columns\TextColumn::make('user.username')
 | 
					                Tables\Columns\TextColumn::make('user.username')
 | 
				
			||||||
                    ->icon('tabler-user')
 | 
					                    ->icon('tabler-user')
 | 
				
			||||||
                    ->label('Owner')
 | 
					                    ->label('Owner')
 | 
				
			||||||
                    ->url(fn (Server $server): string => route('filament.admin.resources.users.edit', ['record' => $server->user]))
 | 
					                    ->url(fn (Server $server): string => route('filament.admin.resources.users.edit', ['record' => $server->user]))
 | 
				
			||||||
 | 
					                    ->hidden(fn (Table $table) => $table->getGrouping()->getId() === 'user.username')
 | 
				
			||||||
                    ->sortable(),
 | 
					                    ->sortable(),
 | 
				
			||||||
                Tables\Columns\TextColumn::make('ports'),
 | 
					                Tables\Columns\TextColumn::make('ports'),
 | 
				
			||||||
                Tables\Columns\TextColumn::make('image')->hidden(),
 | 
					 | 
				
			||||||
                Tables\Columns\TextColumn::make('backups_count')
 | 
					 | 
				
			||||||
                    ->counts('backups')
 | 
					 | 
				
			||||||
                    ->label('Backups')
 | 
					 | 
				
			||||||
                    ->icon('tabler-file-download')
 | 
					 | 
				
			||||||
                    ->numeric()
 | 
					 | 
				
			||||||
                    ->sortable(),
 | 
					 | 
				
			||||||
            ])
 | 
					            ])
 | 
				
			||||||
            ->actions([
 | 
					            ->actions([
 | 
				
			||||||
                Tables\Actions\Action::make('View')
 | 
					                Tables\Actions\Action::make('View')
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user