feat: improve visits filter UX and update currency label
This commit is contained in:
@@ -5,6 +5,7 @@
|
||||
namespace App\Filament\Resources;
|
||||
|
||||
use App\Filament\Resources\VisitResource\Pages;
|
||||
use App\Filament\Widgets\VisitStatsWidget;
|
||||
use App\Models\Doctor;
|
||||
use App\Models\Patient;
|
||||
use App\Models\PaymentType;
|
||||
@@ -29,6 +30,7 @@
|
||||
use Filament\Schemas\Components\Section;
|
||||
use Filament\Schemas\Schema;
|
||||
use Filament\Tables\Columns\TextColumn;
|
||||
use Filament\Tables\Enums\FiltersLayout;
|
||||
use Filament\Tables\Filters\Filter;
|
||||
use Filament\Tables\Filters\SelectFilter;
|
||||
use Filament\Tables\Table;
|
||||
@@ -42,6 +44,13 @@ class VisitResource extends Resource
|
||||
|
||||
protected static ?string $recordTitleAttribute = 'visit_date';
|
||||
|
||||
public static function getWidgets(): array
|
||||
{
|
||||
return [
|
||||
VisitStatsWidget::class,
|
||||
];
|
||||
}
|
||||
|
||||
public static function getGloballySearchableAttributes(): array
|
||||
{
|
||||
return ['visit_date', 'patientRecord.first_name', 'patientRecord.last_name', 'treatment_description'];
|
||||
@@ -311,9 +320,11 @@ public static function table(Table $table): Table
|
||||
->label(__('visits.filters.to_date'))
|
||||
->jalali(),
|
||||
])
|
||||
->columns(2)
|
||||
->columnSpan(2)
|
||||
->query(fn ($query, array $data) => $query
|
||||
->when($data['from_date'], fn ($q) => $q->whereDate('visit_date', '>=', $data['from_date']))
|
||||
->when($data['to_date'], fn ($q) => $q->whereDate('visit_date', '<=', $data['to_date']))
|
||||
->when($data['from_date'] ?? null, fn ($q) => $q->whereDate('visit_date', '>=', $data['from_date']))
|
||||
->when($data['to_date'] ?? null, fn ($q) => $q->whereDate('visit_date', '<=', $data['to_date']))
|
||||
)
|
||||
->indicateUsing(function (array $data): array {
|
||||
$indicators = [];
|
||||
@@ -344,6 +355,8 @@ public static function table(Table $table): Table
|
||||
fn ($p) => [$p->id => $p->payment_type]
|
||||
)->toArray()),
|
||||
])
|
||||
->filtersLayout(FiltersLayout::AboveContent)
|
||||
->filtersFormColumns(5)
|
||||
->recordActions([
|
||||
EditAction::make(),
|
||||
DeleteAction::make(),
|
||||
|
||||
Reference in New Issue
Block a user