From 4d272a1234d0e321e500dede1dc51d4ee028c0af Mon Sep 17 00:00:00 2001 From: notCharles Date: Tue, 14 May 2024 20:10:27 -0400 Subject: [PATCH] WIP: show databases on database host edit screen --- .../Pages/EditDatabaseHost.php | 7 +++ .../DatabasesRelationManager.php | 54 +++++++++++++++++++ 2 files changed, 61 insertions(+) create mode 100644 app/Filament/Resources/DatabaseHostResource/RelationManagers/DatabasesRelationManager.php diff --git a/app/Filament/Resources/DatabaseHostResource/Pages/EditDatabaseHost.php b/app/Filament/Resources/DatabaseHostResource/Pages/EditDatabaseHost.php index 6e6c9e658..4817796b4 100644 --- a/app/Filament/Resources/DatabaseHostResource/Pages/EditDatabaseHost.php +++ b/app/Filament/Resources/DatabaseHostResource/Pages/EditDatabaseHost.php @@ -89,4 +89,11 @@ class EditDatabaseHost extends EditRecord { return []; } + + public function getRelationManagers(): array + { + return [ + DatabaseHostResource\RelationManagers\DatabasesRelationManager::class, + ]; + } } diff --git a/app/Filament/Resources/DatabaseHostResource/RelationManagers/DatabasesRelationManager.php b/app/Filament/Resources/DatabaseHostResource/RelationManagers/DatabasesRelationManager.php new file mode 100644 index 000000000..2688cd453 --- /dev/null +++ b/app/Filament/Resources/DatabaseHostResource/RelationManagers/DatabasesRelationManager.php @@ -0,0 +1,54 @@ +schema([ + Forms\Components\TextInput::make('database')->columnSpanFull(), + Forms\Components\TextInput::make('username'), + Forms\Components\TextInput::make('password')->default('Soon™'), + Forms\Components\TextInput::make('remote')->label('Connections From'), + Forms\Components\TextInput::make('max_connections'), + Forms\Components\TextInput::make('JDBC')->label('JDBC Connection String')->columnSpanFull()->default('Soon™'), + Forms\Components\TextInput::make('created_at'), + Forms\Components\TextInput::make('updated_at'), + ]); + } + + public function table(Table $table): Table + { + return $table + ->recordTitleAttribute('servers') + ->columns([ + Tables\Columns\TextColumn::make('database'), + Tables\Columns\TextColumn::make('username'), + //Tables\Columns\TextColumn::make('password'), + Tables\Columns\TextColumn::make('remote'), + Tables\Columns\TextColumn::make('server_id') + ->label('Belongs To'), + // TODO ->url(route('filament.admin.resources.servers.edit', ['record', ''])), + Tables\Columns\TextColumn::make('max_connections'), + Tables\Columns\TextColumn::make('created_at'), + ]) + ->actions([ + Tables\Actions\DeleteAction::make(), + Tables\Actions\ViewAction::make(), + //Tables\Actions\EditAction::make(), + ]); + } +}