Skip to content

Commit fcba093

Browse files
committed
Addition of filament stubs
1 parent 14a7b43 commit fcba093

17 files changed

+351
-1
lines changed

CHANGELOG.md

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
# Changelog
2+
All notable changes to this project will be documented in this file.
3+
4+
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
5+
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
6+
7+
## [2.1.0] 2024-01-25
8+
### Changed
9+
- Update migration stub to anonymous class
10+
- Addition of filament stubs
11+
12+
## [2.0.1] 2023-07-27
13+
### Changed
14+
- Add docblock for resource stub
15+
16+
## [1.0.0] 202X-XX-XX
17+
### Created
18+
- Initial release

stubs/filament/Cluster.stub

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
<?php
2+
3+
declare(strict_types=1);
4+
5+
namespace {{ namespace }};
6+
7+
use Filament\Clusters\Cluster;
8+
9+
final class {{ class }} extends Cluster
10+
{
11+
protected static ?string $navigationIcon = 'heroicon-o-squares-2x2';
12+
}
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
<?php
2+
3+
declare(strict_types=1);
4+
5+
namespace {{ namespace }};
6+
7+
use {{ resource }};
8+
use {{ baseResourcePage }};
9+
10+
final class {{ resourcePageClass }} extends {{ baseResourcePageClass }}
11+
{
12+
protected static string $resource = {{ resourceClass }}::class;
13+
14+
protected static string $view = '{{ view }}';
15+
}

stubs/filament/Page.stub

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
<?php
2+
3+
declare(strict_types=1);
4+
5+
namespace {{ namespace }};
6+
7+
{{ clusterImport }}use Filament\Pages\Page;
8+
9+
final class {{ class }} extends Page
10+
{
11+
protected static ?string $navigationIcon = 'heroicon-o-document-text';
12+
13+
protected static string $view = '{{ view }}';{{ clusterAssignment }}
14+
}

stubs/filament/PageView.stub

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
<x-filament-panels::page>
2+
3+
</x-filament-panels::page>
Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
<?php
2+
3+
declare(strict_types=1);
4+
5+
namespace {{ namespace }};
6+
7+
use Filament\Forms;
8+
use Filament\Forms\Form;
9+
use Filament\Resources\RelationManagers\RelationManager;
10+
use Filament\Tables;
11+
use Filament\Tables\Table;
12+
use Illuminate\Database\Eloquent\Builder;
13+
use Illuminate\Database\Eloquent\SoftDeletingScope;
14+
15+
final class {{ managerClass }} extends RelationManager
16+
{
17+
protected static string $relationship = '{{ relationship }}';
18+
19+
public function form(Form $form): Form
20+
{
21+
return $form
22+
->schema([
23+
Forms\Components\TextInput::make('{{ recordTitleAttribute }}')
24+
->required()
25+
->maxLength(255),
26+
]);
27+
}
28+
29+
public function table(Table $table): Table
30+
{
31+
return $table
32+
->recordTitleAttribute('{{ recordTitleAttribute }}')
33+
->columns([
34+
Tables\Columns\TextColumn::make('{{ recordTitleAttribute }}'),
35+
])
36+
->filters([
37+
{{ tableFilters }}
38+
])
39+
->headerActions([
40+
{{ tableHeaderActions }}
41+
])
42+
->actions([
43+
{{ tableActions }}
44+
])
45+
->bulkActions([
46+
Tables\Actions\BulkActionGroup::make([
47+
{{ tableBulkActions }}
48+
]),
49+
]){{ modifyQueryUsing }};
50+
}
51+
}

stubs/filament/Resource.stub

Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
<?php
2+
3+
declare(strict_types=1);
4+
5+
namespace {{ namespace }};
6+
7+
{{ clusterImport }}use {{ resource }}\Pages;
8+
use {{ resource }}\RelationManagers;
9+
use {{ model }};
10+
use Filament\Forms;
11+
use Filament\Forms\Form;
12+
use Filament\Resources\Resource;
13+
use Filament\Tables;
14+
use Filament\Tables\Table;
15+
use Illuminate\Database\Eloquent\Builder;
16+
use Illuminate\Database\Eloquent\SoftDeletingScope;
17+
18+
final class {{ resourceClass }} extends Resource
19+
{
20+
protected static ?string $model = {{ modelClass }}::class;
21+
22+
protected static ?string $navigationIcon = 'heroicon-o-rectangle-stack';{{ clusterAssignment }}
23+
24+
public static function form(Form $form): Form
25+
{
26+
return $form
27+
->schema([
28+
{{ formSchema }}
29+
]);
30+
}
31+
32+
public static function table(Table $table): Table
33+
{
34+
return $table
35+
->columns([
36+
{{ tableColumns }}
37+
])
38+
->filters([
39+
{{ tableFilters }}
40+
])
41+
->actions([
42+
{{ tableActions }}
43+
])
44+
->bulkActions([
45+
Tables\Actions\BulkActionGroup::make([
46+
{{ tableBulkActions }}
47+
]),
48+
]);
49+
}
50+
{{ relations }}
51+
public static function getPages(): array
52+
{
53+
return [
54+
{{ pages }}
55+
];
56+
}{{ eloquentQuery }}
57+
}
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
<?php
2+
3+
declare(strict_types=1);
4+
5+
namespace {{ namespace }};
6+
7+
use {{ resource }};
8+
use Filament\Actions;
9+
use {{ baseResourcePage }};
10+
11+
final class {{ resourcePageClass }} extends {{ baseResourcePageClass }}
12+
{
13+
protected static string $resource = {{ resourceClass }}::class;
14+
15+
protected function getHeaderActions(): array
16+
{
17+
return [
18+
{{ actions }}
19+
];
20+
}
21+
}
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
<?php
2+
3+
declare(strict_types=1);
4+
5+
namespace {{ namespace }};
6+
7+
use {{ resource }};
8+
use Filament\Actions;
9+
use {{ baseResourcePage }};
10+
11+
final class {{ resourcePageClass }} extends {{ baseResourcePageClass }}
12+
{
13+
protected static string $resource = {{ resourceClass }}::class;
14+
15+
protected function getHeaderActions(): array
16+
{
17+
return [
18+
Actions\CreateAction::make(),
19+
];
20+
}
21+
}
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
<?php
2+
3+
declare(strict_types=1);
4+
5+
namespace {{ namespace }};
6+
7+
use {{ resource }};
8+
use Filament\Actions;
9+
use {{ baseResourcePage }};
10+
11+
final class {{ resourcePageClass }} extends {{ baseResourcePageClass }}
12+
{
13+
protected static string $resource = {{ resourceClass }}::class;
14+
15+
protected function getHeaderActions(): array
16+
{
17+
return [
18+
Actions\CreateAction::make(),
19+
];
20+
}
21+
}

0 commit comments

Comments
 (0)