Uploading content

This commit is contained in:
David
2025-03-12 00:41:31 -04:00
parent b192e57eb5
commit f70ef52f9e
108 changed files with 13255 additions and 0 deletions

View File

@@ -0,0 +1,43 @@
<?php
namespace App\Tables\Traits;
use App\Models\Product;
use Illuminate\Database\Eloquent\Model;
use Mmt\GenericTable\Attributes\CellFormatter;
use Mmt\GenericTable\Attributes\MappedColumn;
use Mmt\GenericTable\Components\Column;
use Mmt\GenericTable\Components\ColumnCollection;
trait WithColumnFormatter
{
public Model|string $model = Product::class;
public ColumnCollection $columns;
public function __construct()
{
$this->columns = ColumnCollection::make(
new Column('Id'),
new Column('Name'),
new Column('Description'),
new Column('Price'),
new Column('Stock'),
new Column('SubDepartment', 'subDepartment.name'),
);
}
#[CellFormatter('price')]
public function priceFormatter(Model $modelItem)
{
return "<b class = 'text-primary'>\$</b> {$modelItem->price}";
}
#[CellFormatter('id')]
public function idFormatter(Model $modelItem)
{
return '<b class = "text-primary">#</b> '.$modelItem->id;
}
}

View File

@@ -0,0 +1,26 @@
<?php
namespace App\Tables\Traits;
use App\Models\Product;
use Illuminate\Database\Eloquent\Model;
use Mmt\GenericTable\Components\Column;
use Mmt\GenericTable\Components\ColumnCollection;
use Mmt\GenericTable\Enums\ColumnSettingFlags;
trait WithExportableProductColumns
{
public Model|string $model = Product::class;
public ColumnCollection $columns;
public function __construct()
{
$this->columns = ColumnCollection::make(
new Column('Name')->withSettings(ColumnSettingFlags::EXPORTABLE),
new Column('Description')->withSettings(ColumnSettingFlags::EXPORTABLE),
new Column('Price')->withSettings(ColumnSettingFlags::EXPORTABLE),
new Column('Stock')->withSettings(ColumnSettingFlags::EXPORTABLE)
);
}
}

View File

@@ -0,0 +1,27 @@
<?php
namespace App\Tables\Traits;
use App\Models\Product;
use Illuminate\Database\Eloquent\Model;
use Mmt\GenericTable\Components\Column;
use Mmt\GenericTable\Components\ColumnCollection;
trait WithFilterColumns
{
public Model|string $model = Product::class;
public ColumnCollection $columns;
public function __construct()
{
$this->columns = ColumnCollection::make(
new Column('Id'),
new Column('Description'),
new Column('Price'),
new Column('Stock'),
new Column('Department', 'subDepartment.department.name'),
new Column('SubDepartment', 'subDepartment.name'),
);
}
}

View File

@@ -0,0 +1,25 @@
<?php
namespace App\Tables\Traits;
use Mmt\GenericTable\Attributes\Column;
use Mmt\GenericTable\Attributes\ColumnTitle;
use Mmt\GenericTable\Attributes\MappedColumn;
trait WithRelationshipsColumns
{
#[ColumnTitle('Id')]
public int $Id;
#[ColumnTitle('Name')]
public string $Name;
#[ColumnTitle('Description')]
public string $Description;
#[MappedColumn('subDepartment.department.name')]
public string $Department;
#[MappedColumn('subDepartment.name')]
public string $SubDepartment;
}