finished the upgrade to filament 4. completely revamped the frontend with codex, now it looks great!

This commit is contained in:
2025-11-13 17:41:56 +01:00
parent 33d374304e
commit f59fda588b
23 changed files with 0 additions and 0 deletions

View File

@@ -0,0 +1,30 @@
<?php
namespace App\Filament\Resources\AiModelResource\Pages;
use App\Filament\Resources\AiModelResource;
use Filament\Actions;
use Filament\Resources\Pages\CreateRecord;
use Illuminate\Http\Request;
class CreateAiModel extends CreateRecord
{
protected static string $resource = AiModelResource::class;
public function mount(): void
{
parent::mount();
if ($sourceRecordId = request()->query('sourceRecord')) {
$sourceRecord = \App\Models\AiModel::find($sourceRecordId);
if ($sourceRecord) {
$this->form->fill($sourceRecord->attributesToArray());
}
}
}
protected function getRedirectUrl(): string
{
return $this->getResource()::getUrl('index');
}
}

View File

@@ -0,0 +1,24 @@
<?php
namespace App\Filament\Resources\AiModelResource\Pages;
use App\Filament\Resources\AiModelResource;
use Filament\Actions;
use Filament\Resources\Pages\EditRecord;
class EditAiModel extends EditRecord
{
protected static string $resource = AiModelResource::class;
protected function getHeaderActions(): array
{
return [
Actions\DeleteAction::make(),
];
}
protected function getRedirectUrl(): string
{
return $this->getResource()::getUrl('index');
}
}

View File

@@ -0,0 +1,52 @@
<?php
namespace App\Filament\Resources\AiModelResource\Pages;
use App\Filament\Resources\AiModelResource;
use Filament\Actions;
use Filament\Resources\Pages\ListRecords;
use Illuminate\Contracts\Pagination\Paginator;
use Illuminate\Database\Eloquent\Builder;
class ListAiModels extends ListRecords
{
protected static string $resource = AiModelResource::class;
protected function getHeaderActions(): array
{
return [
Actions\CreateAction::make(),
];
}
protected function shouldPersistTableFiltersInSession(): bool
{
return true;
}
protected function shouldPersistTableSortInSession(): bool
{
return true;
}
protected function shouldPersistTableSearchInSession(): bool
{
return true;
}
protected function paginateTableQuery(Builder $query): Paginator
{
$paginator = parent::paginateTableQuery($query);
return $paginator;
}
public function updatedTablePage($page)
{
$this->dispatch('table-pagination-updated', ['tableId' => $this->id, 'page' => $page]);
}
protected function getTableQueryStringIdentifier(): ?string
{
return 'ai-models-table';
}
}