wip
This commit is contained in:
@@ -3,8 +3,10 @@
|
||||
namespace App\Filament\Clusters\Cards\CardOrders\Pages;
|
||||
|
||||
use App\Filament\Clusters\Cards\CardOrders\CardOrderResource;
|
||||
use App\Modules\OrderStatus\Repositories\OrderStatusRepository;
|
||||
use Filament\Actions\CreateAction;
|
||||
use Filament\Resources\Pages\ListRecords;
|
||||
use Filament\Schemas\Components\Tabs\Tab;
|
||||
|
||||
class ListCardOrders extends ListRecords
|
||||
{
|
||||
@@ -16,4 +18,27 @@ class ListCardOrders extends ListRecords
|
||||
CreateAction::make(),
|
||||
];
|
||||
}
|
||||
|
||||
public function getTabs(): array
|
||||
{
|
||||
$data = [];
|
||||
foreach (array_keys(OrderStatusRepository::statusClasses()) as $status) {
|
||||
if ($status === '') {
|
||||
$data[null] = Tab::make(__('All'));
|
||||
} else {
|
||||
$data[$status] = Tab::make(OrderStatusRepository::statusFormatted($status))->query(fn ($query) => $query->where('status', $status));
|
||||
}
|
||||
}
|
||||
|
||||
return $data;
|
||||
|
||||
return [
|
||||
null => Tab::make('All'),
|
||||
'new' => Tab::make()->query(fn ($query) => $query->where('status', 'new')),
|
||||
'processing' => Tab::make()->query(fn ($query) => $query->where('status', 'processing')),
|
||||
'shipped' => Tab::make()->query(fn ($query) => $query->where('status', 'shipped')),
|
||||
'delivered' => Tab::make()->query(fn ($query) => $query->where('status', 'delivered')),
|
||||
'cancelled' => Tab::make()->query(fn ($query) => $query->where('status', 'cancelled')),
|
||||
];
|
||||
}
|
||||
}
|
||||
|
||||
@@ -31,6 +31,14 @@ class CardOrdersTable
|
||||
->label(__('ID'))
|
||||
->searchable(),
|
||||
|
||||
TextColumn::make('status')
|
||||
->label(__('Status'))
|
||||
->color(OrderStatusRepository::statusColorMatching())
|
||||
->formatStateUsing(fn (string $state) => OrderStatusRepository::statusFormatted($state))
|
||||
->badge()
|
||||
->sortable()
|
||||
->searchable(),
|
||||
|
||||
TextColumn::make('cardState.name')
|
||||
->label(__('Reason'))
|
||||
->searchable(),
|
||||
@@ -69,14 +77,6 @@ class CardOrdersTable
|
||||
->label(__('Phone'))
|
||||
->searchable(),
|
||||
|
||||
TextColumn::make('status')
|
||||
->label(__('Status'))
|
||||
->color(OrderStatusRepository::statusColorMatching())
|
||||
->formatStateUsing(fn (string $state) => OrderStatusRepository::statusFormatted($state))
|
||||
->badge()
|
||||
->sortable()
|
||||
->searchable(),
|
||||
|
||||
TextColumn::make('updated_at')
|
||||
->label(__('Updated At'))
|
||||
->dateTime()
|
||||
|
||||
@@ -11,7 +11,7 @@ class CardsCluster extends Cluster
|
||||
{
|
||||
protected static string|BackedEnum|null $navigationIcon = Heroicon::OutlinedCreditCard;
|
||||
|
||||
protected static ?SubNavigationPosition $subNavigationPosition = SubNavigationPosition::Top;
|
||||
protected static ?SubNavigationPosition $subNavigationPosition = SubNavigationPosition::Start;
|
||||
|
||||
public static function getNavigationLabel(): string
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user