49 lines
1.2 KiB
PHP
Raw Normal View History

2024-10-10 15:15:30 -07:00
<?php
namespace App\Filament\Resources\OrderResource\Pages;
2024-10-22 12:48:05 -04:00
use App\Enums\OrderAttributes;
2024-10-10 15:15:30 -07:00
use App\Filament\Resources\OrderResource;
use Filament\Actions;
use Filament\Resources\Pages\EditRecord;
class EditOrder extends EditRecord
{
protected static string $resource = OrderResource::class;
2024-10-22 12:48:05 -04:00
protected function mutateFormDataBeforeFill(array $data): array
{
foreach (OrderAttributes::cases() as $case) {
if ($data[$case->name]) {
$data['order_attributes'][] = $case->value ?? null;
}
}
return $data;
}
protected function mutateFormDataBeforeSave(array $data): array
{
foreach (OrderAttributes::cases() as $case) {
$data[$case->name] = false;
}
$data['order_attributes'] = array_filter($data['order_attributes']);
foreach ($data['order_attributes'] as $attribute) {
$data[OrderAttributes::from($attribute)->name] = true;
}
unset($data['order_attributes']);
return $data;
}
2024-10-10 15:15:30 -07:00
protected function getHeaderActions(): array
{
return [
Actions\DeleteAction::make(),
];
}
}