Skip to content

Commit c774fd9

Browse files
committed
wip
1 parent 302015b commit c774fd9

8 files changed

Lines changed: 77 additions & 52 deletions

File tree

composer.json

Lines changed: 15 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -17,24 +17,25 @@
1717
}
1818
],
1919
"require": {
20-
"php": "^8.2|^8.3",
21-
"filament/filament": "^3",
22-
"illuminate/contracts": "^10.0|^11.0|^12.0",
23-
"spatie/laravel-package-tools": "^1.14.0",
20+
"php": "^8.3|^8.4",
21+
"filament/filament": "^4.2",
22+
"illuminate/contracts": "^11.0|^12.0",
23+
"spatie/laravel-package-tools": "^1",
2424
"square-bit/laravel-volition": "^12.0"
2525
},
2626
"require-dev": {
27-
"laravel/pint": "^1.0",
28-
"nunomaduro/collision": "^7.8",
29-
"nunomaduro/larastan": "^2.0.1",
30-
"orchestra/testbench": "^8.0",
31-
"pestphp/pest": "^2.0",
32-
"pestphp/pest-plugin-arch": "^2.0",
33-
"pestphp/pest-plugin-laravel": "^2.0",
34-
"pestphp/pest-plugin-livewire": "^2.1",
27+
"filament/upgrade": "~4.0",
28+
"larastan/larastan": "^3.8",
29+
"laravel/pint": "^1",
30+
"nunomaduro/collision": "^8",
31+
"orchestra/testbench": "^10.0",
32+
"pestphp/pest": "^3.0",
33+
"pestphp/pest-plugin-arch": "^3.0",
34+
"pestphp/pest-plugin-laravel": "^3.0",
35+
"pestphp/pest-plugin-livewire": "^3.1",
3536
"phpstan/extension-installer": "^1.1",
36-
"phpstan/phpstan-deprecation-rules": "^1.0",
37-
"phpstan/phpstan-phpunit": "^1.0"
37+
"phpstan/phpstan-deprecation-rules": "^2.0",
38+
"phpstan/phpstan-phpunit": "^2.0"
3839
},
3940
"autoload": {
4041
"psr-4": {

src/Filament/Actions/CreateElementAction.php

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

33
namespace Squarebit\FilamentVolition\Filament\Actions;
44

5-
use Filament\Tables\Actions\CreateAction;
5+
use Filament\Actions\CreateAction;
66

77
class CreateElementAction extends CreateAction
88
{

src/Filament/Actions/EditElementAction.php

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

33
namespace Squarebit\FilamentVolition\Filament\Actions;
44

5-
use Filament\Tables\Actions\EditAction;
5+
use Filament\Actions\EditAction;
66

77
class EditElementAction extends EditAction
88
{

src/Filament/Resources/RuleResource.php

Lines changed: 35 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,21 @@
22

33
namespace Squarebit\FilamentVolition\Filament\Resources;
44

5+
use Filament\Schemas\Schema;
6+
use Filament\Forms\Components\TextInput;
7+
use Filament\Forms\Components\Select;
8+
use Filament\Tables\Columns\TextColumn;
9+
use Filament\Actions\EditAction;
10+
use Filament\Actions\BulkActionGroup;
11+
use Filament\Actions\DeleteBulkAction;
12+
use Filament\Actions\CreateAction;
13+
use Squarebit\FilamentVolition\Filament\Resources\RuleResource\RelationManagers\ConditionsRelationManager;
14+
use Squarebit\FilamentVolition\Filament\Resources\RuleResource\RelationManagers\ActionsRelationManager;
15+
use Squarebit\FilamentVolition\Filament\Resources\RuleResource\Pages\ListRules;
16+
use Squarebit\FilamentVolition\Filament\Resources\RuleResource\Pages\CreateRule;
17+
use Squarebit\FilamentVolition\Filament\Resources\RuleResource\Pages\EditRule;
18+
use Filament\Panel;
519
use Filament\Forms;
6-
use Filament\Forms\Form;
720
use Filament\Resources\Resource;
821
use Filament\Tables;
922
use Filament\Tables\Table;
@@ -26,13 +39,13 @@ public static function getEloquentQuery(): Builder
2639
->withCount(['conditions', 'actions']);
2740
}
2841

29-
public static function form(Form $form): Form
42+
public static function form(Schema $schema): Schema
3043
{
31-
return $form
32-
->schema([
33-
Forms\Components\TextInput::make('name')
44+
return $schema
45+
->components([
46+
TextInput::make('name')
3447
->required(),
35-
Forms\Components\Select::make('applies_to')
48+
Select::make('applies_to')
3649
->translateLabel()
3750
->required()
3851
->options(array_combine(FilamentVolition::volitionals(), FilamentVolition::volitionals())),
@@ -43,13 +56,13 @@ public static function table(Table $table): Table
4356
{
4457
return $table
4558
->columns([
46-
Tables\Columns\TextColumn::make('name')->searchable()->sortable(),
47-
Tables\Columns\TextColumn::make('applies_to')->searchable(),
48-
Tables\Columns\TextColumn::make('conditions')
59+
TextColumn::make('name')->searchable()->sortable(),
60+
TextColumn::make('applies_to')->searchable(),
61+
TextColumn::make('conditions')
4962
->label(__('Conditions'))
5063
->badge()
5164
->getStateUsing(fn (Rule $record) => $record->conditions_count),
52-
Tables\Columns\TextColumn::make('actions')
65+
TextColumn::make('actions')
5366
->label(__('Actions'))
5467
->badge()
5568
->getStateUsing(fn (Rule $record) => $record->actions_count),
@@ -58,33 +71,33 @@ public static function table(Table $table): Table
5871
->filters([
5972
//
6073
])
61-
->actions([
62-
Tables\Actions\EditAction::make(),
74+
->recordActions([
75+
EditAction::make(),
6376
])
64-
->bulkActions([
65-
Tables\Actions\BulkActionGroup::make([
66-
Tables\Actions\DeleteBulkAction::make(),
77+
->toolbarActions([
78+
BulkActionGroup::make([
79+
DeleteBulkAction::make(),
6780
]),
6881
])
6982
->emptyStateActions([
70-
Tables\Actions\CreateAction::make(),
83+
CreateAction::make(),
7184
]);
7285
}
7386

7487
public static function getRelations(): array
7588
{
7689
return [
77-
RelationManagers\ConditionsRelationManager::class,
78-
RelationManagers\ActionsRelationManager::class,
90+
ConditionsRelationManager::class,
91+
ActionsRelationManager::class,
7992
];
8093
}
8194

8295
public static function getPages(): array
8396
{
8497
return [
85-
'index' => Pages\ListRules::route('/'),
86-
'create' => Pages\CreateRule::route('/create'),
87-
'edit' => Pages\EditRule::route('/{record}/edit'),
98+
'index' => ListRules::route('/'),
99+
'create' => CreateRule::route('/create'),
100+
'edit' => EditRule::route('/{record}/edit'),
88101
];
89102
}
90103

@@ -98,7 +111,7 @@ public static function getNavigationGroup(): ?string
98111
return config('filament-volition.navigation-group');
99112
}
100113

101-
public static function getSlug(): string
114+
public static function getSlug(?Panel $panel = null): string
102115
{
103116
return config('filament-volition.slug', 'volition');
104117
}

src/Filament/Resources/RuleResource/Pages/EditRule.php

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
namespace Squarebit\FilamentVolition\Filament\Resources\RuleResource\Pages;
44

5+
use Filament\Actions\DeleteAction;
56
use Filament\Actions;
67
use Filament\Resources\Pages\EditRecord;
78
use Squarebit\FilamentVolition\Filament\Resources\RuleResource;
@@ -13,7 +14,7 @@ class EditRule extends EditRecord
1314
protected function getHeaderActions(): array
1415
{
1516
return [
16-
Actions\DeleteAction::make(),
17+
DeleteAction::make(),
1718
];
1819
}
1920
}

src/Filament/Resources/RuleResource/Pages/ListRules.php

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
namespace Squarebit\FilamentVolition\Filament\Resources\RuleResource\Pages;
44

5+
use Filament\Actions\CreateAction;
56
use Filament\Actions;
67
use Filament\Resources\Pages\ListRecords;
78
use Squarebit\FilamentVolition\Filament\Resources\RuleResource;
@@ -13,7 +14,7 @@ class ListRules extends ListRecords
1314
protected function getHeaderActions(): array
1415
{
1516
return [
16-
Actions\CreateAction::make(),
17+
CreateAction::make(),
1718
];
1819
}
1920
}

src/Filament/Resources/RuleResource/RelationManagers/ElementsRelationManager.php

Lines changed: 14 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,13 @@
22

33
namespace Squarebit\FilamentVolition\Filament\Resources\RuleResource\RelationManagers;
44

5+
use Filament\Schemas\Schema;
6+
use Filament\Tables\Columns\TextColumn;
7+
use Filament\Tables\Columns\ToggleColumn;
8+
use Filament\Actions\BulkActionGroup;
9+
use Filament\Actions\DeleteBulkAction;
510
use Filament\Forms\Components\Builder;
611
use Filament\Forms\Components\Builder\Block;
7-
use Filament\Forms\Form;
812
use Filament\Resources\RelationManagers\RelationManager;
913
use Filament\Tables;
1014
use Filament\Tables\Table;
@@ -20,11 +24,11 @@ abstract class ElementsRelationManager extends RelationManager
2024
*/
2125
abstract protected function getBlocks(): array;
2226

23-
public function form(Form $form): Form
27+
public function form(Schema $form): Schema
2428
{
2529
$schema = $this->getBlocks();
2630

27-
return count($schema) === 0 ? $form : $form->schema([
31+
return count($schema) === 0 ? $form : $form->components([
2832
Builder::make('payload')
2933
->addActionLabel(__('Add'))
3034
->required()
@@ -43,10 +47,10 @@ public function table(Table $table): Table
4347
{
4448
return $table
4549
->columns([
46-
Tables\Columns\TextColumn::make('payload')
50+
TextColumn::make('payload')
4751
->label(__('Element'))
4852
->formatStateUsing(fn (IsFilamentElement $state) => $state->getLabel()),
49-
Tables\Columns\TextColumn::make('condition')
53+
TextColumn::make('condition')
5054
->label(__('Parameters'))
5155
->listWithLineBreaks(function (Element $record) {
5256
/** @var IsFilamentElement $payload */
@@ -60,20 +64,20 @@ public function table(Table $table): Table
6064

6165
return explode(PHP_EOL, $payload->__toString());
6266
}),
63-
Tables\Columns\ToggleColumn::make('enabled'),
67+
ToggleColumn::make('enabled'),
6468
])
6569
->filters([
6670
//
6771
])
6872
->headerActions([
6973
CreateElementAction::make(),
7074
])
71-
->actions([
75+
->recordActions([
7276
EditElementAction::make(),
7377
])
74-
->bulkActions([
75-
Tables\Actions\BulkActionGroup::make([
76-
Tables\Actions\DeleteBulkAction::make(),
78+
->toolbarActions([
79+
BulkActionGroup::make([
80+
DeleteBulkAction::make(),
7781
]),
7882
])
7983
->emptyStateActions([

tests/TestCase.php

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -57,11 +57,11 @@ protected function getPackageProviders($app): array
5757
];
5858
}
5959

60-
public function getEnvironmentSetUp($app)
60+
public function getEnvironmentSetUp($app): void
6161
{
6262
config()->set('database.default', 'testing');
6363

64-
config()->set('database.connections.sqlite', [
64+
config()->set('database.connections.testing', [
6565
'driver' => 'sqlite',
6666
'database' => ':memory:',
6767
'prefix' => '',
@@ -75,4 +75,9 @@ protected function defineDatabaseMigrations(): void
7575
{
7676
$this->loadLaravelMigrations();
7777
}
78+
79+
protected function defineDatabaseMigrationsAfterDatabaseRefreshed()
80+
{
81+
$this->defineDatabaseMigrations();
82+
}
7883
}

0 commit comments

Comments
 (0)