This commit is contained in:
2025-10-28 21:34:51 +05:00
parent 2c323cf1de
commit e68789e467
2 changed files with 14 additions and 10 deletions

View File

@@ -2,13 +2,12 @@
namespace App\Filament\Clusters\Cards\Cards; 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\Cards\Pages\ManageCards;
use App\Filament\Clusters\Cards\CardsCluster;
use App\Modules\AppHelpers\Repositories\DateHelper; 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\CardBalance\Repositories\CardBalanceRepository;
use App\Modules\CardTransaction\Repositories\CardTransactionRepository; use App\Modules\CardTransaction\Repositories\CardTransactionRepository;
use App\Modules\Card\Models\Card;
use BackedEnum; use BackedEnum;
use Filament\Actions\Action; use Filament\Actions\Action;
use Filament\Actions\BulkActionGroup; use Filament\Actions\BulkActionGroup;
@@ -25,6 +24,7 @@ use Filament\Support\Icons\Heroicon;
use Filament\Tables\Columns\TextColumn; use Filament\Tables\Columns\TextColumn;
use Filament\Tables\Table; use Filament\Tables\Table;
use Illuminate\Contracts\View\View; use Illuminate\Contracts\View\View;
use Livewire\Component;
class CardResource extends Resource class CardResource extends Resource
{ {
@@ -149,7 +149,7 @@ class CardResource extends Resource
->beforeOrEqual('today'), ->beforeOrEqual('today'),
]) ])
->openUrlInNewTab() ->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() EditAction::make()
->label(''), ->label(''),

View File

@@ -2,13 +2,14 @@
namespace App\Modules\CardTransaction\Repositories; namespace App\Modules\CardTransaction\Repositories;
use App\Modules\CardTransaction\Types\CardTransactionResponse;
use App\Modules\Card\Models\Card; use App\Modules\Card\Models\Card;
use App\Modules\Makeable; use App\Modules\Makeable;
use Illuminate\Queue\Events\JobRetryRequested;
use Illuminate\Support\Carbon; use Illuminate\Support\Carbon;
use Illuminate\Support\Facades\Blade; use Illuminate\Support\Facades\Blade;
use Illuminate\Support\Facades\File; use Illuminate\Support\Facades\File;
use Illuminate\Support\Str; use Illuminate\Support\Str;
use Livewire\Component;
use Mpdf\Mpdf; use Mpdf\Mpdf;
use Mpdf\Output\Destination; use Mpdf\Output\Destination;
@@ -21,7 +22,7 @@ class CardTransactionRepository
* *
* @param array{start_date: string, end_date: string} $data * @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']); $start_date = Carbon::create($data['start_date']);
$end_date = Carbon::create($data['end_date']); $end_date = Carbon::create($data['end_date']);
@@ -44,7 +45,12 @@ class CardTransactionRepository
return view('module.card-transaction::error-response', ['data' => $response]); 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 * 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 public function handleFiles(Card $model, object $response): string
{ {
@@ -109,7 +114,6 @@ class CardTransactionRepository
* Generate file * Generate file
* *
* @param \App\Modules\CardTransaction\Types\CardTransactionResponse $data * @param \App\Modules\CardTransaction\Types\CardTransactionResponse $data
* @param string $fileDest
*/ */
public function generateFile(object $response, string $fileDest): void public function generateFile(object $response, string $fileDest): void
{ {