Skip to content

Commit 7861cc2

Browse files
committed
Schulungen (will be moved out soon)
1 parent d84e345 commit 7861cc2

File tree

15 files changed

+1014
-1
lines changed

15 files changed

+1014
-1
lines changed

src/Resources/WpRubrikResource.php

Lines changed: 128 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,128 @@
1+
<?php
2+
3+
namespace Moox\Press\Resources;
4+
5+
use Filament\Forms\Components\Grid;
6+
use Filament\Forms\Components\Section;
7+
use Filament\Forms\Components\TextInput;
8+
use Filament\Forms\Form;
9+
use Filament\Resources\Resource;
10+
use Filament\Tables;
11+
use Filament\Tables\Actions\DeleteBulkAction;
12+
use Filament\Tables\Actions\EditAction;
13+
use Filament\Tables\Actions\ViewAction;
14+
use Filament\Tables\Table;
15+
use Illuminate\Database\Eloquent\Builder;
16+
use Moox\Press\Models\WpTerm;
17+
use Moox\Press\Resources\WpRubrikResource\Pages;
18+
19+
class WpRubrikResource extends Resource
20+
{
21+
protected static ?string $model = WpTerm::class;
22+
23+
protected static ?string $navigationIcon = 'heroicon-o-list-bullet';
24+
25+
protected static ?string $recordTitleAttribute = 'name';
26+
27+
public static function getModelLabel(): string
28+
{
29+
return 'Rubrik';
30+
}
31+
32+
public static function getPluralModelLabel(): string
33+
{
34+
return 'Rubriken';
35+
}
36+
37+
public static function getNavigationLabel(): string
38+
{
39+
return 'Rubriken';
40+
}
41+
42+
protected static ?string $navigationGroup = 'heco Schulungen';
43+
44+
public static function getEloquentQuery(): Builder
45+
{
46+
return parent::getEloquentQuery()
47+
->whereHas('termTaxonomies', function ($query) {
48+
$query->where('taxonomy', 'schulungen_rubrik');
49+
});
50+
}
51+
52+
public static function form(Form $form): Form
53+
{
54+
return $form->schema([
55+
Section::make()->schema([
56+
Grid::make(['default' => 0])->schema([
57+
TextInput::make('name')
58+
->rules(['max:200', 'string'])
59+
->required()
60+
->placeholder('Name')
61+
->columnSpan([
62+
'default' => 12,
63+
'md' => 12,
64+
'lg' => 12,
65+
]),
66+
67+
TextInput::make('slug')
68+
->rules(['max:200', 'string'])
69+
->required()
70+
->placeholder('Slug')
71+
->columnSpan([
72+
'default' => 12,
73+
'md' => 12,
74+
'lg' => 12,
75+
]),
76+
77+
TextInput::make('term_group')
78+
->rules(['max:255'])
79+
->required()
80+
->placeholder('Term Group')
81+
->default('0')
82+
->columnSpan([
83+
'default' => 12,
84+
'md' => 12,
85+
'lg' => 12,
86+
]),
87+
]),
88+
]),
89+
]);
90+
}
91+
92+
public static function table(Table $table): Table
93+
{
94+
return $table
95+
->poll('60s')
96+
->columns([
97+
Tables\Columns\TextColumn::make('name')
98+
->toggleable()
99+
->searchable(true, null, true)
100+
->limit(50),
101+
Tables\Columns\TextColumn::make('slug')
102+
->toggleable()
103+
->searchable(true, null, true)
104+
->limit(50),
105+
Tables\Columns\TextColumn::make('term_group')
106+
->toggleable()
107+
->searchable(true, null, true)
108+
->limit(50),
109+
])
110+
->actions([ViewAction::make(), EditAction::make()])
111+
->bulkActions([DeleteBulkAction::make()]);
112+
}
113+
114+
public static function getRelations(): array
115+
{
116+
return [];
117+
}
118+
119+
public static function getPages(): array
120+
{
121+
return [
122+
'index' => Pages\ListPage::route('/'),
123+
//'create' => Pages\CreatePage::route('/create'),
124+
//'view' => Pages\ViewPage::route('/{record}'),
125+
//'edit' => Pages\EditPage::route('/{record}/edit'),
126+
];
127+
}
128+
}
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
<?php
2+
3+
namespace Moox\Press\Resources\WpThemaResource\Pages;
4+
5+
use Filament\Resources\Pages\CreateRecord;
6+
use Moox\Press\Resources\WpThemaResource;
7+
8+
class CreateWpThema extends CreateRecord
9+
{
10+
protected static string $resource = WpThemaResource::class;
11+
}
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
<?php
2+
3+
namespace Moox\Press\Resources\WpThemaResource\Pages;
4+
5+
use Filament\Actions\DeleteAction;
6+
use Filament\Resources\Pages\EditRecord;
7+
use Moox\Press\Resources\WpThemaResource;
8+
9+
class EditWpThema extends EditRecord
10+
{
11+
protected static string $resource = WpThemaResource::class;
12+
13+
protected function getHeaderActions(): array
14+
{
15+
return [DeleteAction::make()];
16+
}
17+
}
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
<?php
2+
3+
namespace Moox\Press\Resources\WpRubrikResource\Pages;
4+
5+
use Filament\Actions\CreateAction;
6+
use Filament\Resources\Pages\ListRecords;
7+
use Moox\Press\Resources\WpRubrikResource;
8+
9+
class ListPage extends ListRecords
10+
{
11+
protected static string $resource = WpRubrikResource::class;
12+
13+
protected function getHeaderActions(): array
14+
{
15+
return [CreateAction::make()];
16+
}
17+
}
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
<?php
2+
3+
namespace Moox\Press\Resources\WpThemaResource\Pages;
4+
5+
use Filament\Actions\DeleteAction;
6+
use Filament\Actions\EditAction;
7+
use Filament\Resources\Pages\ViewRecord;
8+
use Moox\Press\Resources\WpThemaResource;
9+
10+
class ViewWpThema extends ViewRecord
11+
{
12+
protected static string $resource = WpThemaResource::class;
13+
14+
protected function getHeaderActions(): array
15+
{
16+
return [EditAction::make(), DeleteAction::make()];
17+
}
18+
}

0 commit comments

Comments
 (0)