class ViewReport extends ViewRecord implements HasInfolists, HasTable, HasForms
{
use InteractsWithRecord;
use InteractsWithTable;
use ExposesTableToWidgets;
use HasTabs;
protected static string $resource = PortalsResource::class;
#[Url] public ?string $activeTab = null;
private static array $reportClasses = [
1 => FirstReport::class,
2 => SecondReport::class
];
public function table(Table $table): Table
{
$query = static::$reportClasses[$this->record->id]::query();
return $table
->query($query)
->columns([
TextColumn::make('crn'),
])
->bulkActions([
BulkAction::make("Renew")
]);
}
public function getTabs(): array
{
return [
null => Tab::make('All'),
'prepaid' => Tab::make()->query(fn ($query) => $query->where('isPrepaid', 1))
];
}
}
class ViewReport extends ViewRecord implements HasInfolists, HasTable, HasForms
{
use InteractsWithRecord;
use InteractsWithTable;
use ExposesTableToWidgets;
use HasTabs;
protected static string $resource = PortalsResource::class;
#[Url] public ?string $activeTab = null;
private static array $reportClasses = [
1 => FirstReport::class,
2 => SecondReport::class
];
public function table(Table $table): Table
{
$query = static::$reportClasses[$this->record->id]::query();
return $table
->query($query)
->columns([
TextColumn::make('crn'),
])
->bulkActions([
BulkAction::make("Renew")
]);
}
public function getTabs(): array
{
return [
null => Tab::make('All'),
'prepaid' => Tab::make()->query(fn ($query) => $query->where('isPrepaid', 1))
];
}
}