Files
generic_table_examples/app/Tables/TableWithMySettings.php
2025-03-12 00:41:31 -04:00

54 lines
1.3 KiB
PHP

<?php
namespace App\Tables;
use App\Models\Product;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Support\Facades\Date;
use Mmt\GenericTable\Attributes\BulkAction;
use Mmt\GenericTable\Attributes\Column;
use Mmt\GenericTable\Attributes\ColumnFilter;
use Mmt\GenericTable\Attributes\ColumnSettings;
use Mmt\GenericTable\Attributes\MappedColumn;
use Mmt\GenericTable\Enums\ColumnSettingFlags;
use Mmt\GenericTable\Enums\CommonDateFilter;
use Mmt\GenericTable\Enums\FilterType;
use Mmt\GenericTable\Interfaces\IDateRangeFilter;
use Mmt\GenericTable\Interfaces\IGenericTable;
use Mmt\GenericTable\Support\DateFilterSettings;
class TableWithMySettings implements IGenericTable
{
public Model|string $model = Product::class;
public DateFilterSettings $dateRanges;
#[MappedColumn]
public int $Id;
#[MappedColumn]
public string $Name;
#[MappedColumn('subDepartment.department.name')]
public string $Department;
#[MappedColumn]
public string $CreatedAt;
// #[ColumnFilter('created_at', FilterType::DATE_RANGE)]
// public function sijsjm()
// {
// return setFlags(
// CommonDateFilter::LAST_3_MONTHS,
// CommonDateFilter::LAST_3_MONTHS,
// CommonDateFilter::LAST_3_MONTHS
// );
// }
}