From e68789e46759a18b643f0e6a6ff4bd6ce2df4306 Mon Sep 17 00:00:00 2001 From: Nurmuhammet Allanov Date: Tue, 28 Oct 2025 21:34:51 +0500 Subject: [PATCH] wip --- .../Clusters/Cards/Cards/CardResource.php | 8 ++++---- .../Repositories/CardTransactionRepository.php | 16 ++++++++++------ 2 files changed, 14 insertions(+), 10 deletions(-) diff --git a/app/Filament/Clusters/Cards/Cards/CardResource.php b/app/Filament/Clusters/Cards/Cards/CardResource.php index 116c081..a698726 100644 --- a/app/Filament/Clusters/Cards/Cards/CardResource.php +++ b/app/Filament/Clusters/Cards/Cards/CardResource.php @@ -2,13 +2,12 @@ namespace App\Filament\Clusters\Cards\Cards; -use App\Filament\Clusters\Cards\CardsCluster; use App\Filament\Clusters\Cards\Cards\Pages\ManageCards; +use App\Filament\Clusters\Cards\CardsCluster; use App\Modules\AppHelpers\Repositories\DateHelper; -use App\Modules\CardBalance\Filament\Actions\ShowCardBalanceAction; +use App\Modules\Card\Models\Card; use App\Modules\CardBalance\Repositories\CardBalanceRepository; use App\Modules\CardTransaction\Repositories\CardTransactionRepository; -use App\Modules\Card\Models\Card; use BackedEnum; use Filament\Actions\Action; use Filament\Actions\BulkActionGroup; @@ -25,6 +24,7 @@ use Filament\Support\Icons\Heroicon; use Filament\Tables\Columns\TextColumn; use Filament\Tables\Table; use Illuminate\Contracts\View\View; +use Livewire\Component; class CardResource extends Resource { @@ -149,7 +149,7 @@ class CardResource extends Resource ->beforeOrEqual('today'), ]) ->openUrlInNewTab() - ->action(fn (array $data, Card $record) => CardTransactionRepository::make()->downloadCardTransaction($data, $record)), + ->url(fn (array $data, Card $record, Component $livewire) => CardTransactionRepository::make()->downloadCardTransaction($data, $record, $livewire)), EditAction::make() ->label(''), diff --git a/app/Modules/CardTransaction/Repositories/CardTransactionRepository.php b/app/Modules/CardTransaction/Repositories/CardTransactionRepository.php index 729a4f8..6375120 100644 --- a/app/Modules/CardTransaction/Repositories/CardTransactionRepository.php +++ b/app/Modules/CardTransaction/Repositories/CardTransactionRepository.php @@ -2,13 +2,14 @@ namespace App\Modules\CardTransaction\Repositories; -use App\Modules\CardTransaction\Types\CardTransactionResponse; use App\Modules\Card\Models\Card; use App\Modules\Makeable; +use Illuminate\Queue\Events\JobRetryRequested; use Illuminate\Support\Carbon; use Illuminate\Support\Facades\Blade; use Illuminate\Support\Facades\File; use Illuminate\Support\Str; +use Livewire\Component; use Mpdf\Mpdf; use Mpdf\Output\Destination; @@ -21,7 +22,7 @@ class CardTransactionRepository * * @param array{start_date: string, end_date: string} $data */ - public function downloadCardTransaction(array $data, Card $record) + public function downloadCardTransaction(array $data, Card $record, Component $livewire) { $start_date = Carbon::create($data['start_date']); $end_date = Carbon::create($data['end_date']); @@ -44,7 +45,12 @@ class CardTransactionRepository return view('module.card-transaction::error-response', ['data' => $response]); } - return redirect($this->handleFiles($record, $response)); + $url = $this->handleFiles($record, $response); + + // Tell Livewire to open it in a new tab + $livewire->js("window.open('{$url}', '_blank')"); + + return; } /** @@ -88,8 +94,7 @@ class CardTransactionRepository /** * Handles all file stuff * - * @param Card $model - * @param \App\Modules\CardTransaction\Types\CardTransactionResponse $response + * @param \App\Modules\CardTransaction\Types\CardTransactionResponse $response */ public function handleFiles(Card $model, object $response): string { @@ -109,7 +114,6 @@ class CardTransactionRepository * Generate file * * @param \App\Modules\CardTransaction\Types\CardTransactionResponse $data - * @param string $fileDest */ public function generateFile(object $response, string $fileDest): void {