⚝
One Hat Cyber Team
⚝
Your IP:
216.73.216.138
Server IP:
186.226.58.36
Server:
Linux da02.sh15.net 3.10.0-1160.119.1.vz7.224.4 #1 SMP Mon Sep 30 15:36:27 MSK 2024 x86_64
Server Software:
Apache/2
PHP Version:
8.1.32
Buat File
|
Buat Folder
Eksekusi
Dir :
~
/
home
/
redesystem
/
public_html
/
sys
/
app
/
Livewire
/
View File Name :
ClientDetailInvoiceTable.php
<?php namespace App\Livewire; use App\Models\Invoice; use Illuminate\Database\Eloquent\Builder; use Rappasoft\LaravelLivewireTables\Views\Column; class ClientDetailInvoiceTable extends LivewireTableComponent { protected $model = Invoice::class; public $clientId = null; public function mount(int $clientId): void { $this->clientId = $clientId; } public function placeholder() { return view('livewire.common_listing_skeleton'); } public function configure(): void { $this->setPrimaryKey('id'); $this->setDefaultSort('created_at', 'desc'); $this->setQueryStringStatus(false); $this->setThAttributes(function (Column $column) { if ($column->isField('final_amount')) { return [ 'class' => 'd-flex justify-content-end', ]; } if ($column->isField('amount')) { return [ 'class' => 'text-end', ]; } return ['class' => 'text-center']; }); $this->setTdAttributes(function (Column $column, $row, $columnIndex, $rowIndex) { if ($column->getField() === 'status') { return [ 'class' => 'text-center', ]; } if (in_array($column->getField(), ['final_amount', 'amount'])) { return [ 'class' => 'text-end', ]; } return [ ]; }); } public function columns(): array { return [ Column::make(__('messages.invoice.invoice_id'), 'id') ->sortable() ->searchable() ->view('clients.components.invoice-id'), Column::make('invoice_id', 'invoice_id') ->sortable() ->searchable()->hideIf(1), Column::make(__('messages.invoice.invoice_date'), 'invoice_date') ->sortable() ->searchable() ->format(function ($value, $row, Column $column) { return view('invoices.components.invoice-due-date') ->withValue([ 'invoice-date' => $row->invoice_date, ]); }), Column::make(__('messages.invoice.due_date'), 'due_date') ->sortable() ->searchable() ->format(function ($value, $row, Column $column) { return view('invoices.components.invoice-due-date') ->withValue([ 'due-date' => $row->due_date, ]); }), Column::make(__('messages.invoice.amount'), 'final_amount') ->sortable() ->searchable() ->format(function ($value, $row, Column $column) { return getInvoiceCurrencyAmount($row->final_amount, $row->currency_id, true); }), Column::make(__('messages.invoice.transactions'), 'amount') ->searchable() ->view('invoices.components.transaction'), Column::make(__('messages.common.status'), 'status') ->searchable() ->view('invoices.components.transaction-status'), ]; } public function builder(): Builder { return Invoice::where('client_id', $this->clientId)->with('payments')->select('invoices.*'); } }