Add Server list to node page
This commit is contained in:
		
							parent
							
								
									2328f07473
								
							
						
					
					
						commit
						65bfda1034
					
				| @ -3,6 +3,7 @@ | ||||
| namespace App\Filament\Resources; | ||||
| 
 | ||||
| use App\Filament\Resources\NodeResource\Pages; | ||||
| use App\Filament\Resources\NodeResource\RelationManagers; | ||||
| use App\Models\Node; | ||||
| use Filament\Forms; | ||||
| use Filament\Forms\Form; | ||||
| @ -148,7 +149,7 @@ class NodeResource extends Resource | ||||
|     public static function getRelations(): array | ||||
|     { | ||||
|         return [ | ||||
|             //
 | ||||
|             RelationManagers\NodesRelationManager::class, | ||||
|         ]; | ||||
|     } | ||||
| 
 | ||||
|  | ||||
| @ -220,7 +220,6 @@ class EditNode extends EditRecord | ||||
|                                         ->placeholder('Not assigned'), | ||||
|                                 ]), | ||||
|                         ]), | ||||
| 
 | ||||
|                 ]), | ||||
|         ]); | ||||
|     } | ||||
|  | ||||
| @ -0,0 +1,54 @@ | ||||
| <?php | ||||
| 
 | ||||
| namespace App\Filament\Resources\NodeResource\RelationManagers; | ||||
| 
 | ||||
| use App\Models\Server; | ||||
| use Filament\Tables; | ||||
| use Filament\Tables\Table; | ||||
| use Filament\Resources\RelationManagers\RelationManager; | ||||
| 
 | ||||
| class NodesRelationManager extends RelationManager | ||||
| { | ||||
|     protected static string $relationship = 'servers'; | ||||
| 
 | ||||
|     public function table(Table $table): Table | ||||
|     { | ||||
|         return $table | ||||
|             ->searchable(false) | ||||
|             ->columns([ | ||||
|                 Tables\Columns\TextColumn::make('user.username') | ||||
|                     ->label('Owner') | ||||
|                     ->icon('tabler-user') | ||||
|                     ->url(fn (Server $server): string => route('filament.admin.resources.users.edit', ['record' => $server->user])) | ||||
|                     ->searchable(), | ||||
|                 Tables\Columns\TextColumn::make('name') | ||||
|                     ->icon('tabler-brand-docker') | ||||
|                     ->url(fn (Server $server): string => route('filament.admin.resources.servers.edit', ['record' => $server])) | ||||
|                     ->searchable() | ||||
|                     ->sortable(), | ||||
|                 Tables\Columns\TextColumn::make('egg.name') | ||||
|                     ->icon('tabler-egg') | ||||
|                     ->url(fn (Server $server): string => route('filament.admin.resources.eggs.edit', ['record' => $server->user])) | ||||
|                     ->sortable(), | ||||
|                 Tables\Columns\SelectColumn::make('allocation.id') | ||||
|                     ->label('Primary Allocation') | ||||
|                     ->options(fn ($state, Server $server) => [$server->allocation->id => $server->allocation->address]) | ||||
|                     ->selectablePlaceholder(false) | ||||
|                     ->sortable(), | ||||
|                 Tables\Columns\TextColumn::make('memory')->icon('tabler-device-desktop-analytics'), | ||||
|                 Tables\Columns\TextColumn::make('cpu')->icon('tabler-cpu'), | ||||
|                 Tables\Columns\TextColumn::make('databases_count') | ||||
|                     ->counts('databases') | ||||
|                     ->label('Databases') | ||||
|                     ->icon('tabler-database') | ||||
|                     ->numeric() | ||||
|                     ->sortable(), | ||||
|                 Tables\Columns\TextColumn::make('backups_count') | ||||
|                     ->counts('backups') | ||||
|                     ->label('Backups') | ||||
|                     ->icon('tabler-file-download') | ||||
|                     ->numeric() | ||||
|                     ->sortable(), | ||||
|             ]); | ||||
|     } | ||||
| } | ||||
| @ -597,7 +597,6 @@ class ServerResource extends Resource | ||||
|     public static function table(Table $table): Table | ||||
|     { | ||||
|         return $table | ||||
|             ->searchable() | ||||
|             ->columns([ | ||||
|                 Tables\Columns\TextColumn::make('status') | ||||
|                     ->default('unknown') | ||||
| @ -642,7 +641,6 @@ class ServerResource extends Resource | ||||
|                     ->sortable(), | ||||
|                 Tables\Columns\TextColumn::make('node.name') | ||||
|                     ->icon('tabler-server-2') | ||||
|                     ->searchable() | ||||
|                     ->url(fn (Server $server): string => route('filament.admin.resources.nodes.edit', ['record' => $server->node])) | ||||
|                     ->sortable(), | ||||
|                 Tables\Columns\TextColumn::make('egg.name') | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	 notCharles
						notCharles