Files
citrus/app/Filament/Admin/Resources/HeaderTemplates/Pages/EditHeaderTemplate.php
T

63 lines
1.9 KiB
PHP
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<?php
namespace App\Filament\Admin\Resources\HeaderTemplates\Pages;
use App\Filament\Admin\Resources\HeaderTemplates\HeaderTemplateResource;
use Filament\Actions\DeleteAction;
use Filament\Actions\ForceDeleteAction;
use Filament\Actions\RestoreAction;
use Filament\Actions\ViewAction;
use Filament\Resources\Pages\EditRecord;
use Filament\Support\Enums\Width;
class EditHeaderTemplate extends EditRecord
{
protected static string $resource = HeaderTemplateResource::class;
public function getMaxContentWidth(): Width | string | null
{
return Width::Full;
}
protected function getHeaderActions(): array
{
return [
ViewAction::make(),
DeleteAction::make(),
ForceDeleteAction::make(),
RestoreAction::make(),
];
}
protected function mutateFormDataBeforeSave(array $data): array
{
// Transform nested default_data fields (e.g., default_data.color.bg)
// into proper array format
$defaultData = [];
foreach ($data as $key => $value) {
if (str_starts_with($key, 'default_data.')) {
// Remove 'default_data.' prefix to get the nested key
$nestedKey = substr($key, 13); // 'default_data.' length is 13
$defaultData[$nestedKey] = $value;
// Remove the flattened key from data
unset($data[$key]);
}
}
// Set the properly formatted default_data array
if (!empty($defaultData)) {
$data['default_data'] = $defaultData;
}
return $data;
}
protected function afterSave(): void
{
// Kaydetme sonrası preview'ı güncelle
// Livewire event dispatch et (JavaScript tarafında Livewire.on() ile dinlenecek)
$this->dispatch('template-saved');
}
}