From 2c8fdd1d6f07ab5d757395e6a9e8ff4de3f6ec53 Mon Sep 17 00:00:00 2001
From: Sam Light <samlight1994@gmail.com>
Date: Sat, 18 Jan 2025 23:23:30 +0000
Subject: More testing setup

---
 workbench/app/Livewire/CategoriesTable.php | 23 +++++++++++++++++++++++
 workbench/app/Livewire/OrdersTable.php     | 23 +++++++++++++++++++++++
 workbench/app/Livewire/ProductsTable.php   | 23 +++++++++++++++++++++++
 workbench/app/Models/Product.php           |  6 +++++-
 4 files changed, 74 insertions(+), 1 deletion(-)
 create mode 100644 workbench/app/Livewire/CategoriesTable.php
 create mode 100644 workbench/app/Livewire/OrdersTable.php
 create mode 100644 workbench/app/Livewire/ProductsTable.php

(limited to 'workbench/app')

diff --git a/workbench/app/Livewire/CategoriesTable.php b/workbench/app/Livewire/CategoriesTable.php
new file mode 100644
index 0000000..92287b9
--- /dev/null
+++ b/workbench/app/Livewire/CategoriesTable.php
@@ -0,0 +1,23 @@
+<?php
+
+namespace Workbench\App\Livewire;
+
+use Workbench\App\Models\Product;
+
+use Lightscale\LaralightTables\TableComponent;
+use Lightscale\LaralightTables\Columns\Column;
+
+class CategoriesTable extends TableComponent
+{
+    protected $model = Product::class;
+
+    public function columns(): array
+    {
+        return [
+            Column::make('id', 'ID'),
+            Column::make('name', 'Name'),
+            Column::make('price', 'Price'),
+            Column::make('stock', 'Stock'),
+        ];
+    }
+}
diff --git a/workbench/app/Livewire/OrdersTable.php b/workbench/app/Livewire/OrdersTable.php
new file mode 100644
index 0000000..97ef195
--- /dev/null
+++ b/workbench/app/Livewire/OrdersTable.php
@@ -0,0 +1,23 @@
+<?php
+
+namespace Workbench\App\Livewire;
+
+use Workbench\App\Models\Product;
+
+use Lightscale\LaralightTables\TableComponent;
+use Lightscale\LaralightTables\Columns\Column;
+
+class OrdersTable extends TableComponent
+{
+    protected $model = Product::class;
+
+    public function columns(): array
+    {
+        return [
+            Column::make('id', 'ID'),
+            Column::make('name', 'Name'),
+            Column::make('price', 'Price'),
+            Column::make('stock', 'Stock'),
+        ];
+    }
+}
diff --git a/workbench/app/Livewire/ProductsTable.php b/workbench/app/Livewire/ProductsTable.php
new file mode 100644
index 0000000..26137bc
--- /dev/null
+++ b/workbench/app/Livewire/ProductsTable.php
@@ -0,0 +1,23 @@
+<?php
+
+namespace Workbench\App\Livewire;
+
+use Workbench\App\Models\Product;
+
+use Lightscale\LaralightTables\TableComponent;
+use Lightscale\LaralightTables\Columns\Column;
+
+class ProductsTable extends TableComponent
+{
+    protected $model = Product::class;
+
+    public function columns(): array
+    {
+        return [
+            Column::make('id', 'ID'),
+            Column::make('name', 'Name'),
+            Column::make('price', 'Price'),
+            Column::make('stock', 'Stock'),
+        ];
+    }
+}
diff --git a/workbench/app/Models/Product.php b/workbench/app/Models/Product.php
index 27017ee..c51569c 100644
--- a/workbench/app/Models/Product.php
+++ b/workbench/app/Models/Product.php
@@ -7,6 +7,10 @@ use Illuminate\Database\Eloquent\Model;
 
 class Product extends Model
 {
-    /** @use HasFactory<\Database\Factories\ProductFactory> */
     use HasFactory;
+
+    protected static function newFactory()
+    {
+        return \Workbench\Database\Factories\ProductFactory::new();
+    }
 }
-- 
cgit v1.2.3