Files
citrus/app/Filament/Admin/Resources/Pages/Pages/EditPage.php
T

57 lines
1.5 KiB
PHP

<?php
namespace App\Filament\Admin\Resources\Pages\Pages;
use App\Filament\Admin\Resources\Components\TranslationTabs;
use App\Filament\Admin\Resources\Pages\PageResource;
use Filament\Actions\DeleteAction;
use Filament\Actions\ForceDeleteAction;
use Filament\Actions\RestoreAction;
use Filament\Resources\Pages\EditRecord;
class EditPage extends EditRecord
{
protected static string $resource = PageResource::class;
public function getTitle(): string
{
return __('pages.edit');
}
protected function getHeaderActions(): array
{
return [
DeleteAction::make()
->label(__('pages.delete')),
ForceDeleteAction::make()
->label(__('pages.force_delete')),
RestoreAction::make()
->label(__('pages.restore')),
];
}
protected function getRedirectUrl(): string
{
return $this->getResource()::getUrl('index');
}
protected function getSavedNotificationTitle(): ?string
{
return __('pages.updated_successfully');
}
protected function mutateFormDataBeforeFill(array $data): array
{
// Load existing translations
$translationData = TranslationTabs::fillFromRecord($this->record);
return array_merge($data, $translationData);
}
protected function afterSave(): void
{
// Save translations
TranslationTabs::saveTranslations($this->record, $this->form->getState());
}
}