From 1f81ce361cb454b1655d6e2a7ac031bc1e3b2ede Mon Sep 17 00:00:00 2001 From: Sam Light Date: Thu, 27 Mar 2025 10:53:34 +0000 Subject: Seperating toolbar into its own class and views --- workbench/app/Livewire/CategoriesTable.php | 3 +-- workbench/app/Livewire/OrdersTable.php | 3 +-- workbench/app/Livewire/ProductsTable.php | 17 +++++++++++++++-- workbench/app/Livewire/Table.php | 16 ++++++++++++++++ .../resources/views/components/layouts/app.blade.php | 1 + 5 files changed, 34 insertions(+), 6 deletions(-) create mode 100644 workbench/app/Livewire/Table.php (limited to 'workbench') diff --git a/workbench/app/Livewire/CategoriesTable.php b/workbench/app/Livewire/CategoriesTable.php index 92287b9..14cd5a8 100644 --- a/workbench/app/Livewire/CategoriesTable.php +++ b/workbench/app/Livewire/CategoriesTable.php @@ -4,10 +4,9 @@ namespace Workbench\App\Livewire; use Workbench\App\Models\Product; -use Lightscale\LaralightTables\TableComponent; use Lightscale\LaralightTables\Columns\Column; -class CategoriesTable extends TableComponent +class CategoriesTable extends Table { protected $model = Product::class; diff --git a/workbench/app/Livewire/OrdersTable.php b/workbench/app/Livewire/OrdersTable.php index 97ef195..bb909a3 100644 --- a/workbench/app/Livewire/OrdersTable.php +++ b/workbench/app/Livewire/OrdersTable.php @@ -4,10 +4,9 @@ namespace Workbench\App\Livewire; use Workbench\App\Models\Product; -use Lightscale\LaralightTables\TableComponent; use Lightscale\LaralightTables\Columns\Column; -class OrdersTable extends TableComponent +class OrdersTable extends Table { protected $model = Product::class; diff --git a/workbench/app/Livewire/ProductsTable.php b/workbench/app/Livewire/ProductsTable.php index 3b327d9..e3fefc3 100644 --- a/workbench/app/Livewire/ProductsTable.php +++ b/workbench/app/Livewire/ProductsTable.php @@ -4,15 +4,28 @@ namespace Workbench\App\Livewire; use Workbench\App\Models\Product; -use Lightscale\LaralightTables\TableComponent; use Lightscale\LaralightTables\Columns\Column; +use Lightscale\LaralightTables\Toolbar; +use Lightscale\LaralightTables\Toolbar\Search; +use Lightscale\LaralightTables\Toolbar\PageSize; +use Lightscale\LaralightTables\Toolbar\ColumnSelect; use Illuminate\Database\Eloquent\Builder; -class ProductsTable extends TableComponent +class ProductsTable extends Table { protected $model = Product::class; + public function toolbar(): Toolbar + { + return parent::toolbar() + ->addStartItem(new Search()) + ->addEndItem(new PageSize()) + ->addEndItem(new ColumnSelect()); + + return $toolbar; + } + protected function search(Builder $q, string $s): void { $q->search($s); diff --git a/workbench/app/Livewire/Table.php b/workbench/app/Livewire/Table.php new file mode 100644 index 0000000..5bffaed --- /dev/null +++ b/workbench/app/Livewire/Table.php @@ -0,0 +1,16 @@ + +
{{ $slot }}
-- cgit v1.2.3