|
2 | 2 |
|
3 | 3 | namespace Rappasoft\LaravelLivewireTables\Tests\Http\Livewire\FailingTables; |
4 | 4 |
|
5 | | -use Illuminate\Database\Eloquent\Builder; |
6 | | -use Rappasoft\LaravelLivewireTables\DataTableComponent; |
7 | | -use Rappasoft\LaravelLivewireTables\Tests\Models\Breed; |
| 5 | +use Rappasoft\LaravelLivewireTables\Tests\Http\Livewire\PetsTable; |
8 | 6 | use Rappasoft\LaravelLivewireTables\Tests\Models\Pet; |
9 | | -use Rappasoft\LaravelLivewireTables\Tests\Models\Species; |
10 | | -use Rappasoft\LaravelLivewireTables\Views\Filters\DateFilter; |
11 | | -use Rappasoft\LaravelLivewireTables\Views\Filters\DateTimeFilter; |
12 | | -use Rappasoft\LaravelLivewireTables\Views\Filters\MultiSelectDropdownFilter; |
13 | | -use Rappasoft\LaravelLivewireTables\Views\Filters\MultiSelectFilter; |
14 | | -use Rappasoft\LaravelLivewireTables\Views\Filters\NumberFilter; |
15 | | -use Rappasoft\LaravelLivewireTables\Views\Filters\SelectFilter; |
16 | | -use Rappasoft\LaravelLivewireTables\Views\Filters\TextFilter; |
17 | 7 |
|
18 | | -class NoColumnsTable extends DataTableComponent |
| 8 | +class NoColumnsTable extends PetsTable |
19 | 9 | { |
20 | 10 | public $model = Pet::class; |
21 | 11 |
|
22 | | - public function configure(): void |
23 | | - { |
24 | | - $this->setPrimaryKey('id'); |
25 | | - } |
26 | | - |
27 | 12 | public function columns(): array |
28 | 13 | { |
29 | 14 | return [ |
30 | 15 | ]; |
31 | 16 | } |
32 | | - |
33 | | - public function filters(): array |
34 | | - { |
35 | | - return [ |
36 | | - MultiSelectFilter::make('Breed') |
37 | | - ->options( |
38 | | - Breed::query() |
39 | | - ->orderBy('name') |
40 | | - ->get() |
41 | | - ->keyBy('id') |
42 | | - ->map(fn ($breed) => $breed->name) |
43 | | - ->toArray() |
44 | | - ) |
45 | | - ->filter(function (Builder $builder, array $values) { |
46 | | - return $builder->whereIn('breed_id', $values); |
47 | | - }), |
48 | | - MultiSelectDropdownFilter::make('Species') |
49 | | - ->options( |
50 | | - Species::query() |
51 | | - ->orderBy('name') |
52 | | - ->get() |
53 | | - ->keyBy('id') |
54 | | - ->map(fn ($species) => $species->name) |
55 | | - ->toArray() |
56 | | - ) |
57 | | - ->filter(function (Builder $builder, array $values) { |
58 | | - return $builder->whereIn('species_id', $values); |
59 | | - }), |
60 | | - NumberFilter::make('Breed ID', 'breed_id_filter') |
61 | | - ->filter(function (Builder $builder, string $value) { |
62 | | - return $builder->where('breed_id', '=', $value); |
63 | | - }), |
64 | | - |
65 | | - TextFilter::make('Pet Name', 'pet_name_filter') |
66 | | - ->filter(function (Builder $builder, string $value) { |
67 | | - return $builder->where('pets.name', '=', $value); |
68 | | - }), |
69 | | - |
70 | | - DateFilter::make('Last Visit After Date', 'last_visit_date_filter') |
71 | | - ->filter(function (Builder $builder, string $value) { |
72 | | - return $builder->whereDate('pets.last_visit', '=>', $value); |
73 | | - }), |
74 | | - |
75 | | - DateTimeFilter::make('Last Visit Before DateTime', 'last_visit_datetime_filter') |
76 | | - ->filter(function (Builder $builder, string $value) { |
77 | | - return $builder->whereDate('pets.last_visit', '<=', $value); |
78 | | - }), |
79 | | - |
80 | | - SelectFilter::make('Breed SelectFilter', 'breed_select_filter') |
81 | | - ->options( |
82 | | - Breed::query() |
83 | | - ->orderBy('name') |
84 | | - ->get() |
85 | | - ->keyBy('id') |
86 | | - ->map(fn ($breed) => $breed->name) |
87 | | - ->toArray() |
88 | | - ) |
89 | | - ->filter(function (Builder $builder, string $value) { |
90 | | - return $builder->where('breed_id', $value); |
91 | | - }) |
92 | | - ->setCustomFilterLabel('livewire-tables::tests.testFilterLabel') |
93 | | - ->setFilterPillBlade('livewire-tables::tests.testFilterPills'), |
94 | | - ]; |
95 | | - } |
96 | 17 | } |
0 commit comments