FilamentF
Filament15mo ago
Dimitar

Action->form() not getting filled when reusing form

Hello,

Having a Action on a view page. I want to reuse the form from InvoiceResource as i did, but i want to force fill it with data from the $record, but it doesnt get filled. No errors, just doesnt work;

Any ideas on how to handle this?

<?php

namespace App\Filament\Resources\OrderResource\Pages;

use App\Filament\Resources\InvoiceResource;
use App\Filament\Resources\OrderResource; 
use Filament\Actions; 
use Filament\Resources\Pages\ViewRecord; 

class ViewOrder extends ViewRecord
{
    protected static string $resource = OrderResource::class;
    protected function getHeaderActions(): array
    {
        return [    
            Actions\ActionGroup::make([ 
                Actions\Action::make('generateInvoice')
                    ->icon('heroicon-o-clipboard-document-list')
                    ->form(fn($record, $form) => InvoiceResource::form($form))
                    ->formData([
                        'order_id' => $this->record->id, 
                        'receiver_name' => $this->record->names,
                        'receiver_phone' => $this->record->phone,
                        'receiver_email' => $this->record->email, 
                        'total' => $this->record->total,
                    ])
                    ->color('gray'),

            ]) ->button()->color('gray') ->label('Invoice'),
        ];
    }   
}
Was this page helpful?