New column filters examples updated

This commit is contained in:
David
2025-04-05 00:52:34 -04:00
parent 585c32d0cd
commit 7466083798

View File

@@ -8,6 +8,7 @@ use Illuminate\Database\Eloquent\Model;
use Mmt\GenericTable\Components\Column;
use Mmt\GenericTable\Components\ColumnCollection;
use Mmt\GenericTable\Enums\CommonDateFilter;
use Mmt\GenericTable\Interfaces\IColumnFilter;
use Mmt\GenericTable\Interfaces\IDateRangeFilter;
use Mmt\GenericTable\Interfaces\IDragDropReordering;
use Mmt\GenericTable\Interfaces\IEvent;
@@ -18,9 +19,12 @@ use Mmt\GenericTable\Interfaces\ISingleSelectionFilter;
use Mmt\GenericTable\Support\DatabaseEvent;
use Mmt\GenericTable\Support\DateFilterSettings;
use Mmt\GenericTable\Support\EventArgs;
use Mmt\GenericTable\Support\FilterCollection;
use Mmt\GenericTable\Support\MultiFilter;
use Mmt\GenericTable\Support\SelectionFilterSettings;
use Mmt\GenericTable\Support\SingleFilter;
class TableWithFilters implements IGenericTable, IEvent, IDateRangeFilter, ISingleSelectionFilter, IMultiSelectionFilter, IDragDropReordering, ILoadingIndicator
class TableWithFilters implements IGenericTable, IEvent, IDateRangeFilter, IColumnFilter, IDragDropReordering, ILoadingIndicator
{
public Model|string $model = Product::class;
@@ -28,9 +32,7 @@ class TableWithFilters implements IGenericTable, IEvent, IDateRangeFilter, ISing
public DateFilterSettings $dateFilterSettings;
public SelectionFilterSettings $singleSelectionFilterSettings;
public SelectionFilterSettings $multiSelectionFilterSettings;
public FilterCollection $filters;
public string $orderingColumn = 'order';
@@ -49,15 +51,20 @@ class TableWithFilters implements IGenericTable, IEvent, IDateRangeFilter, ISing
new Column('Price')
);
$this->singleSelectionFilterSettings = new SelectionFilterSettings('status')
->add('Out of stock', 'out_of_stock')
->add('Discontinued', 'discontinued')
->add('Available', 'available');
$this->filters = new FilterCollection(
$this->multiSelectionFilterSettings = new SelectionFilterSettings('name')
->add('Be a man', 'quod 36840466')
->add('Do the right', 'blanditiis 469800')
->add('Things happens', 'tempore 71086');
SingleFilter::make('status', [
'Out of stock' => 'out_of_stock',
'Discontinued' => 'discontinued',
'Available' => 'available',
]),
MultiFilter::make('name', [
'Client-1' => 'laborum 505',
'Client-2' => 'atque 38829',
'Client-3' => 'rem 61603388',
])
);
}