Skip to content

Commit c10f043

Browse files
committedMay 28, 2025·
Fixed bulk actions
·
0.1.50.1.2
1 parent 7c15ad2 commit c10f043

File tree

2 files changed

+18
-2
lines changed

2 files changed

+18
-2
lines changed
 

‎src/DescribeFilamentResourceTool.php

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
use Filament\Support\Contracts\TranslatableContentDriver;
1616
use Filament\Tables\Actions\Action;
1717
use Filament\Tables\Actions\BulkAction;
18+
use Filament\Tables\Actions\BulkActionGroup;
1819
use Filament\Tables\Columns\Column;
1920
use Filament\Tables\Contracts\HasTable;
2021
use Filament\Tables\Filters\BaseFilter;
@@ -163,7 +164,14 @@ public function makeFilamentTranslatableContentDriver(): ?TranslatableContentDri
163164
// ->all();
164165

165166
$bulkActions = collect($table->getBulkActions()) // Bulk actions
166-
->map(fn (BulkAction $action) => $this->mapTableAction($action))
167+
->flatMap(function ($action) {
168+
if ($action instanceof BulkActionGroup) {
169+
return collect($action->getActions())
170+
->map(fn (BulkAction $childAction) => $this->mapTableAction($childAction));
171+
}
172+
173+
return [$this->mapTableAction($action)];
174+
})
167175
->all();
168176

169177
return [

‎src/ExecuteResourceActionTool.php

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
use Filament\Resources\Pages\Page;
66
use Filament\Support\Contracts\TranslatableContentDriver;
77
use Filament\Tables\Actions\BulkAction;
8+
use Filament\Tables\Actions\BulkActionGroup;
89
use Filament\Tables\Contracts\HasTable;
910
use Illuminate\Support\Facades\Log;
1011
use Kirschbaum\Loop\Concerns\Makeable;
@@ -54,7 +55,14 @@ public function makeFilamentTranslatableContentDriver(): ?TranslatableContentDri
5455
$records = $resource::getModel()::find($recordIds);
5556
$actions = $table->getBulkActions();
5657

57-
$targetAction = collect($actions)
58+
$flattenedActions = collect($actions)->flatMap(function ($actionObj) {
59+
if ($actionObj instanceof BulkActionGroup) {
60+
return $actionObj->getActions();
61+
}
62+
return [$actionObj];
63+
});
64+
65+
$targetAction = $flattenedActions
5866
->first(fn (BulkAction $actionObj) => $actionObj->getName() === $action);
5967

6068
if (! $targetAction) {

0 commit comments

Comments
 (0)
Please sign in to comment.