| 1234567891011121314151617181920212223242526272829303132333435363738 | <?php
namespace App\Filament\Company\Resources\Sales\InvoiceResource\Pages;
use App\Concerns\ManagesLineItems;
use App\Concerns\RedirectToListPage;
use App\Filament\Company\Resources\Sales\InvoiceResource;
use App\Models\Accounting\Invoice;
use Filament\Resources\Pages\CreateRecord;
use Filament\Support\Enums\MaxWidth;
use Illuminate\Database\Eloquent\Model;
class CreateInvoice extends CreateRecord
{
    use ManagesLineItems;
    use RedirectToListPage;
    protected static string $resource = InvoiceResource::class;
    public function getMaxContentWidth(): MaxWidth | string | null
    {
        return MaxWidth::Full;
    }
    protected function handleRecordCreation(array $data): Model
    {
        /** @var Invoice $record */
        $record = parent::handleRecordCreation($data);
        $this->handleLineItems($record, collect($data['lineItems'] ?? []));
        $totals = $this->updateDocumentTotals($record, $data);
        $record->updateQuietly($totals);
        return $record;
    }
}
 |