From b6e79cd6d5a13949802fe5d6ca919d8dd8fc0f64 Mon Sep 17 00:00:00 2001 From: Alexander Gabriel Date: Fri, 20 Feb 2026 22:32:52 +0000 Subject: [PATCH] =?UTF-8?q?=C3=9Cbersetzungen,=20Gruppieren,=20Filter=20in?= =?UTF-8?q?=20Session=20speichern?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Resources/Orders/Tables/OrdersTable.php | 31 +++++++++++++++---- 1 file changed, 25 insertions(+), 6 deletions(-) diff --git a/app/Filament/Resources/Orders/Tables/OrdersTable.php b/app/Filament/Resources/Orders/Tables/OrdersTable.php index d0acf02..e1acfca 100644 --- a/app/Filament/Resources/Orders/Tables/OrdersTable.php +++ b/app/Filament/Resources/Orders/Tables/OrdersTable.php @@ -14,6 +14,7 @@ use Filament\Tables\Columns\TextColumn; use Filament\Tables\Filters\Filter; use Filament\Tables\Filters\SelectFilter; use Filament\Tables\Table; +use Filament\Tables\Grouping\Group; use Illuminate\Database\Eloquent\Builder; use Illuminate\Database\Eloquent\Model; @@ -24,28 +25,45 @@ class OrdersTable return $table ->columns([ TextColumn::make('created_at') + ->label('Erstellungsdatum') ->dateTime() ->sortable() ->toggleable(isToggledHiddenByDefault: true), TextColumn::make('updated_at') + ->label('Änderungsdatum') ->dateTime() ->sortable() ->toggleable(isToggledHiddenByDefault: true), TextColumn::make('name') - ->searchable(), - TextColumn::make('url') + ->label('Name') ->searchable() - ->formatStateUsing(fn (string $state): string => substr($state, 0, 40)) , + ->toggleable(isToggledHiddenByDefault: false), + TextColumn::make('url') + ->label('URL') + ->searchable() + ->formatStateUsing(fn (string $state): string => substr($state, 0, 40)) + ->toggleable(isToggledHiddenByDefault: false), TextColumn::make('count') + ->label('Anzahl') ->numeric() - ->sortable(), + ->sortable() + ->toggleable(isToggledHiddenByDefault: false), TextColumn::make('orderstatus.name') - ->searchable(), + ->label('Bestellstatus') + ->searchable() + ->toggleable(isToggledHiddenByDefault: false), TextColumn::make('user.name') + ->label('Bestellt von') ->numeric() - ->sortable(), + ->sortable() + ->toggleable(isToggledHiddenByDefault: false), ])->striped() ->selectable() + ->defaultGroup('orderstatus.name') + ->groups([ + Group::make('orderstatus.name')->label('Bestellstatus'), + Group::make('user.name')->label('Bestellt von'), + ]) ->filters([ SelectFilter::make('orderstatus_id')->relationship('orderstatus', 'name')->label("Bestellstatus")->multiple(), Filter::make('mine')->label("meine")->query(fn (Builder $query): Builder => $query->where('user_id', filament()->auth()->user()))->default(function() { @@ -62,6 +80,7 @@ class OrdersTable }), ]) ->persistFiltersInSession() + ->persistColumnsInSession() ->recordActions([ Action::make('bestellt_single') ->icon(Heroicon::ShoppingCart)->iconButton()->label("Bestellt")->action(function(Model $record) {