Skip to content

Commit 10f04df

Browse files
update
1 parent bec60c5 commit 10f04df

File tree

6 files changed

+139
-5
lines changed

6 files changed

+139
-5
lines changed
Lines changed: 84 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,84 @@
1+
<?php
2+
3+
namespace Modules\Customer\App\Filament\Resources;
4+
5+
use App\Models\Database;
6+
use Modules\Customer\App\Filament\Resources\DatabaseResource\Pages;
7+
use Modules\Customer\App\Filament\Resources\DatabaseResource\RelationManagers;
8+
use Filament\Forms;
9+
use Filament\Forms\Form;
10+
use Filament\Resources\Resource;
11+
use Filament\Tables;
12+
use Filament\Tables\Table;
13+
use Illuminate\Database\Eloquent\Builder;
14+
use Illuminate\Database\Eloquent\SoftDeletingScope;
15+
16+
class DatabaseResource extends Resource
17+
{
18+
protected static ?string $model = Database::class;
19+
20+
protected static ?string $navigationIcon = 'heroicon-o-circle-stack';
21+
22+
public static function form(Form $form): Form
23+
{
24+
return $form
25+
->schema([
26+
//
27+
]);
28+
}
29+
30+
public static function table(Table $table): Table
31+
{
32+
return $table
33+
->columns([
34+
35+
Tables\Columns\TextColumn::make('database_name')
36+
->prefix(function ($record) {
37+
return $record->database_name_prefix;
38+
})
39+
->label('Database Name')
40+
->searchable()
41+
->sortable(),
42+
43+
Tables\Columns\TextColumn::make('databaseUsers.username')
44+
->label('Database Users')
45+
->listWithLineBreaks()
46+
->limitList(2)
47+
->expandableLimitedList(),
48+
49+
Tables\Columns\TextColumn::make('is_remote_database_server')
50+
->badge()
51+
->state(fn($record) => $record->is_remote_database_server ? 'Remote Database Server' : 'Internal Database Server')
52+
->label('Database Server')
53+
->sortable(),
54+
55+
])
56+
->filters([
57+
//
58+
])
59+
->actions([
60+
Tables\Actions\EditAction::make(),
61+
])
62+
->bulkActions([
63+
Tables\Actions\BulkActionGroup::make([
64+
Tables\Actions\DeleteBulkAction::make(),
65+
]),
66+
]);
67+
}
68+
69+
public static function getRelations(): array
70+
{
71+
return [
72+
//
73+
];
74+
}
75+
76+
public static function getPages(): array
77+
{
78+
return [
79+
'index' => Pages\ListDatabases::route('/'),
80+
'create' => Pages\CreateDatabase::route('/create'),
81+
'edit' => Pages\EditDatabase::route('/{record}/edit'),
82+
];
83+
}
84+
}
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
<?php
2+
3+
namespace Modules\Customer\App\Filament\Resources\DatabaseResource\Pages;
4+
5+
use Modules\Customer\App\Filament\Resources\DatabaseResource;
6+
use Filament\Actions;
7+
use Filament\Resources\Pages\CreateRecord;
8+
9+
class CreateDatabase extends CreateRecord
10+
{
11+
protected static string $resource = DatabaseResource::class;
12+
}
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
<?php
2+
3+
namespace Modules\Customer\App\Filament\Resources\DatabaseResource\Pages;
4+
5+
use Modules\Customer\App\Filament\Resources\DatabaseResource;
6+
use Filament\Actions;
7+
use Filament\Resources\Pages\EditRecord;
8+
9+
class EditDatabase extends EditRecord
10+
{
11+
protected static string $resource = DatabaseResource::class;
12+
13+
protected function getHeaderActions(): array
14+
{
15+
return [
16+
Actions\DeleteAction::make(),
17+
];
18+
}
19+
}
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
<?php
2+
3+
namespace Modules\Customer\App\Filament\Resources\DatabaseResource\Pages;
4+
5+
use Modules\Customer\App\Filament\Resources\DatabaseResource;
6+
use Filament\Actions;
7+
use Filament\Resources\Pages\ListRecords;
8+
9+
class ListDatabases extends ListRecords
10+
{
11+
protected static string $resource = DatabaseResource::class;
12+
13+
protected function getHeaderActions(): array
14+
{
15+
return [
16+
Actions\CreateAction::make(),
17+
];
18+
}
19+
}

web/Modules/Customer/App/Providers/CustomerServiceProvider.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
use Illuminate\Support\Facades\Blade;
66
use Illuminate\Support\ServiceProvider;
7-
use Modules\Customer\Providers\Filament\CustomerPanelProvider;
7+
use Modules\Customer\App\Providers\Filament\CustomerPanelProvider;
88

99
class CustomerServiceProvider extends ServiceProvider
1010
{

web/Modules/Customer/Providers/Filament/CustomerPanelProvider.php renamed to web/Modules/Customer/App/Providers/Filament/CustomerPanelProvider.php

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<?php
22

3-
namespace Modules\Customer\Providers\Filament;
3+
namespace Modules\Customer\App\Providers\Filament;
44

55
use Filament\Http\Middleware\Authenticate;
66
use Filament\Http\Middleware\DisableBladeIconComponents;
@@ -53,12 +53,12 @@ public function panel(Panel $panel): Panel
5353
->colors([
5454
'primary'=>$defaultColor,
5555
])
56-
->discoverResources(in: module_path($this->module, 'Filament/Admin/Resources'), for: "$moduleNamespace\\Filament\\Admin\\Resources")
57-
->discoverPages(in: module_path($this->module, 'Filament/Admin/Pages'), for: "$moduleNamespace\\Filament\\Admin\\Pages")
56+
->discoverResources(in: module_path($this->module, 'App/Filament/Resources'), for: "$moduleNamespace\\App\\Filament\\Resources")
57+
->discoverPages(in: module_path($this->module, 'App/Filament/Pages'), for: "$moduleNamespace\\App\Filament\\Pages")
5858
->pages([
5959
Pages\Dashboard::class,
6060
])
61-
->discoverWidgets(in: module_path($this->module, 'Filament/Admin/Widgets'), for: "$moduleNamespace\\Filament\\Admin\\Widgets")
61+
->discoverWidgets(in: module_path($this->module, 'App/Filament/Widgets'), for: "$moduleNamespace\\App\Filament\\Widgets")
6262
->widgets([
6363
Widgets\AccountWidget::class,
6464
Widgets\FilamentInfoWidget::class,

0 commit comments

Comments
 (0)