feat(outlet): add filter outlet by status
This commit is contained in:
parent
078b72d2ed
commit
dff76ff4b1
@ -2,6 +2,7 @@
|
||||
|
||||
namespace App\Livewire\Datatable;
|
||||
|
||||
use App\Enums\OutletStatus;
|
||||
use App\Models\Outlet;
|
||||
use App\Traits\Datatable\WithAppendColumn;
|
||||
use App\Traits\Datatable\WithConfiguration;
|
||||
@ -11,6 +12,7 @@
|
||||
use Rappasoft\LaravelLivewireTables\DataTableComponent;
|
||||
use Rappasoft\LaravelLivewireTables\Views\Column;
|
||||
use Rappasoft\LaravelLivewireTables\Views\Columns\ArrayColumn;
|
||||
use Rappasoft\LaravelLivewireTables\Views\Filters\MultiSelectFilter;
|
||||
|
||||
class OutletsTable extends DataTableComponent
|
||||
{
|
||||
@ -116,4 +118,19 @@ public function builder(): Builder
|
||||
{
|
||||
return Outlet::select('id', 'name', 'phone_number', 'landmark', 'address', 'opening_hours', 'facilities', 'opened_date', 'closed_date', 'status');
|
||||
}
|
||||
|
||||
public function filters(): array
|
||||
{
|
||||
return [
|
||||
MultiSelectFilter::make('Status')
|
||||
->options(
|
||||
collect(OutletStatus::cases())
|
||||
->mapWithKeys(fn ($case) => [$case->value => $case->label()])
|
||||
->toArray()
|
||||
)
|
||||
->filter(function (Builder $builder, array $values) {
|
||||
$builder->whereIn('status', $values);
|
||||
}),
|
||||
];
|
||||
}
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user