FleetCart/Modules/Product/Admin/ProductTable.php
2023-12-03 14:07:47 +00:00

44 lines
1.3 KiB
PHP

<?php
namespace Modules\Product\Admin;
use Modules\Admin\Ui\AdminTable;
use Illuminate\Http\JsonResponse;
use Modules\Product\Entities\Product;
class ProductTable extends AdminTable
{
/**
* Raw columns that will not be escaped.
*
* @var array
*/
protected array $rawColumns = ['price'];
/**
* Make table response for the resource.
*
* @return JsonResponse
*/
public function make()
{
return $this->newTable()
->editColumn('thumbnail', function ($product) {
return view('admin::partials.table.image', [
'file' => $product->variant?->base_image ?? $product->base_image,
]);
})
->editColumn('price', function (Product $product) {
return product_price_formatted($product->variant ?? $product, function ($price, $specialPrice) use ($product) {
if ($product->variant ? $product->variant->hasSpecialPrice() : $product->hasSpecialPrice()) {
return "<span class='m-r-5'>{$specialPrice}</span>
<del class='text-red'>{$price}</del>";
}
return "<span class='m-r-5'>{$price}</span>";
});
});
}
}