From facd36688e59976edc68741b53c05aea727017f8 Mon Sep 17 00:00:00 2001 From: Yoga Pangestu Date: Fri, 5 Dec 2025 09:21:24 +0700 Subject: [PATCH] refactor(action): move bulk action to class and used it in module and adjust emptyStateDescription --- app/Filament/Actions/DefaultBulkActions.php | 24 +++++++++++++++++++ .../AiringProofThemeResource.php | 10 +++----- .../ClassificationResource.php | 10 +++----- .../Master/Departments/DepartmentResource.php | 10 +++----- .../Master/Locations/LocationResource.php | 10 +++----- .../SubClassificationResource.php | 10 +++----- .../SubLocations/SubLocationResource.php | 10 +++----- .../Resources/Master/Users/UserResource.php | 10 +++----- 8 files changed, 45 insertions(+), 49 deletions(-) create mode 100644 app/Filament/Actions/DefaultBulkActions.php diff --git a/app/Filament/Actions/DefaultBulkActions.php b/app/Filament/Actions/DefaultBulkActions.php new file mode 100644 index 0000000..2f60789 --- /dev/null +++ b/app/Filament/Actions/DefaultBulkActions.php @@ -0,0 +1,24 @@ +modalHeading("Hapus {$entity} yang dipilih"), + + ForceDeleteBulkAction::make() + ->modalHeading("Hapus {$entity} yang dipilih"), + + RestoreBulkAction::make() + ->modalHeading("Pulihkan {$entity} yang dipilih"), + ]; + } +} diff --git a/app/Filament/Resources/Master/AiringProofThemes/AiringProofThemeResource.php b/app/Filament/Resources/Master/AiringProofThemes/AiringProofThemeResource.php index ad1c649..508c582 100644 --- a/app/Filament/Resources/Master/AiringProofThemes/AiringProofThemeResource.php +++ b/app/Filament/Resources/Master/AiringProofThemes/AiringProofThemeResource.php @@ -3,18 +3,16 @@ namespace App\Filament\Resources\Master\AiringProofThemes; use App\Enums\IsActive; +use App\Filament\Actions\DefaultBulkActions; use App\Filament\Columns\TimestampColumns; use App\Filament\Resources\Master\AiringProofThemes\Pages\ManageAiringProofThemes; use App\Models\AiringProofTheme; use BackedEnum; use Filament\Actions\BulkActionGroup; use Filament\Actions\DeleteAction; -use Filament\Actions\DeleteBulkAction; use Filament\Actions\EditAction; use Filament\Actions\ForceDeleteAction; -use Filament\Actions\ForceDeleteBulkAction; use Filament\Actions\RestoreAction; -use Filament\Actions\RestoreBulkAction; use Filament\Forms\Components\TextInput; use Filament\Resources\Resource; use Filament\Schemas\Schema; @@ -90,13 +88,11 @@ public static function table(Table $table): Table ]) ->toolbarActions([ BulkActionGroup::make([ - DeleteBulkAction::make(), - ForceDeleteBulkAction::make(), - RestoreBulkAction::make(), + ...DefaultBulkActions::make('Tema Bukti Tayang'), ]), ]) ->emptyStateIcon('heroicon-o-bookmark') - ->emptyStateDescription('Setelah Anda menulis posting pertama, maka akan muncul disini.') + ->emptyStateDescription('Setelah Anda membubat data pertama, maka akan muncul disini.') ->defaultSort('created_at', 'desc') ->deferFilters(false) ->reorderable('sort_order'); diff --git a/app/Filament/Resources/Master/Classifications/ClassificationResource.php b/app/Filament/Resources/Master/Classifications/ClassificationResource.php index f4b8559..93386de 100644 --- a/app/Filament/Resources/Master/Classifications/ClassificationResource.php +++ b/app/Filament/Resources/Master/Classifications/ClassificationResource.php @@ -3,18 +3,16 @@ namespace App\Filament\Resources\Master\Classifications; use App\Enums\IsActive; +use App\Filament\Actions\DefaultBulkActions; use App\Filament\Columns\TimestampColumns; use App\Filament\Resources\Master\Classifications\Pages\ManageClassifications; use App\Models\Classification; use BackedEnum; use Filament\Actions\BulkActionGroup; use Filament\Actions\DeleteAction; -use Filament\Actions\DeleteBulkAction; use Filament\Actions\EditAction; use Filament\Actions\ForceDeleteAction; -use Filament\Actions\ForceDeleteBulkAction; use Filament\Actions\RestoreAction; -use Filament\Actions\RestoreBulkAction; use Filament\Forms\Components\RichEditor; use Filament\Forms\Components\TextInput; use Filament\Resources\Resource; @@ -96,13 +94,11 @@ public static function table(Table $table): Table ]) ->toolbarActions([ BulkActionGroup::make([ - DeleteBulkAction::make(), - ForceDeleteBulkAction::make(), - RestoreBulkAction::make(), + ...DefaultBulkActions::make('klasifikasi'), ]), ]) ->emptyStateIcon('heroicon-o-bookmark') - ->emptyStateDescription('Setelah Anda menulis posting pertama, maka akan muncul disini.') + ->emptyStateDescription('Setelah Anda membubat data pertama, maka akan muncul disini.') ->defaultSort('created_at', 'desc') ->deferFilters(false) ->reorderable('sort_order'); diff --git a/app/Filament/Resources/Master/Departments/DepartmentResource.php b/app/Filament/Resources/Master/Departments/DepartmentResource.php index 8e6af52..1d36323 100644 --- a/app/Filament/Resources/Master/Departments/DepartmentResource.php +++ b/app/Filament/Resources/Master/Departments/DepartmentResource.php @@ -3,18 +3,16 @@ namespace App\Filament\Resources\Master\Departments; use App\Enums\IsActive; +use App\Filament\Actions\DefaultBulkActions; use App\Filament\Columns\TimestampColumns; use App\Filament\Resources\Master\Departments\Pages\ManageDepartments; use App\Models\Department; use BackedEnum; use Filament\Actions\BulkActionGroup; use Filament\Actions\DeleteAction; -use Filament\Actions\DeleteBulkAction; use Filament\Actions\EditAction; use Filament\Actions\ForceDeleteAction; -use Filament\Actions\ForceDeleteBulkAction; use Filament\Actions\RestoreAction; -use Filament\Actions\RestoreBulkAction; use Filament\Forms\Components\TextInput; use Filament\Resources\Resource; use Filament\Schemas\Schema; @@ -101,13 +99,11 @@ public static function table(Table $table): Table ]) ->toolbarActions([ BulkActionGroup::make([ - DeleteBulkAction::make(), - ForceDeleteBulkAction::make(), - RestoreBulkAction::make(), + ...DefaultBulkActions::make('OPD'), ]), ]) ->emptyStateIcon('heroicon-o-bookmark') - ->emptyStateDescription('Setelah Anda menulis posting pertama, maka akan muncul disini.') + ->emptyStateDescription('Setelah Anda membubat data pertama, maka akan muncul disini.') ->defaultSort('created_at', 'desc') ->deferFilters(false) ->reorderable('sort_order'); diff --git a/app/Filament/Resources/Master/Locations/LocationResource.php b/app/Filament/Resources/Master/Locations/LocationResource.php index 4aaeb7c..b579bfa 100644 --- a/app/Filament/Resources/Master/Locations/LocationResource.php +++ b/app/Filament/Resources/Master/Locations/LocationResource.php @@ -3,18 +3,16 @@ namespace App\Filament\Resources\Master\Locations; use App\Enums\IsActive; +use App\Filament\Actions\DefaultBulkActions; use App\Filament\Columns\TimestampColumns; use App\Filament\Resources\Master\Locations\Pages\ManageLocations; use App\Models\Location; use BackedEnum; use Filament\Actions\BulkActionGroup; use Filament\Actions\DeleteAction; -use Filament\Actions\DeleteBulkAction; use Filament\Actions\EditAction; use Filament\Actions\ForceDeleteAction; -use Filament\Actions\ForceDeleteBulkAction; use Filament\Actions\RestoreAction; -use Filament\Actions\RestoreBulkAction; use Filament\Forms\Components\RichEditor; use Filament\Forms\Components\TextInput; use Filament\Resources\Resource; @@ -96,13 +94,11 @@ public static function table(Table $table): Table ]) ->toolbarActions([ BulkActionGroup::make([ - DeleteBulkAction::make(), - ForceDeleteBulkAction::make(), - RestoreBulkAction::make(), + ...DefaultBulkActions::make('Lokasi'), ]), ]) ->emptyStateIcon('heroicon-o-bookmark') - ->emptyStateDescription('Setelah Anda menulis posting pertama, maka akan muncul disini.') + ->emptyStateDescription('Setelah Anda membubat data pertama, maka akan muncul disini.') ->defaultSort('created_at', 'desc') ->deferFilters(false) ->reorderable('sort_order'); diff --git a/app/Filament/Resources/Master/SubClassifications/SubClassificationResource.php b/app/Filament/Resources/Master/SubClassifications/SubClassificationResource.php index 8f8b8f2..55731b9 100644 --- a/app/Filament/Resources/Master/SubClassifications/SubClassificationResource.php +++ b/app/Filament/Resources/Master/SubClassifications/SubClassificationResource.php @@ -3,6 +3,7 @@ namespace App\Filament\Resources\Master\SubClassifications; use App\Enums\IsActive; +use App\Filament\Actions\DefaultBulkActions; use App\Filament\Columns\TimestampColumns; use App\Filament\Resources\Master\SubClassifications\Pages\ManageSubClassifications; use App\Models\Classification; @@ -10,12 +11,9 @@ use BackedEnum; use Filament\Actions\BulkActionGroup; use Filament\Actions\DeleteAction; -use Filament\Actions\DeleteBulkAction; use Filament\Actions\EditAction; use Filament\Actions\ForceDeleteAction; -use Filament\Actions\ForceDeleteBulkAction; use Filament\Actions\RestoreAction; -use Filament\Actions\RestoreBulkAction; use Filament\Forms\Components\RichEditor; use Filament\Forms\Components\Select; use Filament\Forms\Components\TextInput; @@ -111,13 +109,11 @@ public static function table(Table $table): Table ]) ->toolbarActions([ BulkActionGroup::make([ - DeleteBulkAction::make(), - ForceDeleteBulkAction::make(), - RestoreBulkAction::make(), + ...DefaultBulkActions::make('Sub Klasifikasi'), ]), ]) ->emptyStateIcon('heroicon-o-bookmark') - ->emptyStateDescription('Setelah Anda menulis posting pertama, maka akan muncul disini.') + ->emptyStateDescription('Setelah Anda membubat data pertama, maka akan muncul disini.') ->defaultSort('created_at', 'desc') ->deferFilters(false) ->reorderable('sort_order'); diff --git a/app/Filament/Resources/Master/SubLocations/SubLocationResource.php b/app/Filament/Resources/Master/SubLocations/SubLocationResource.php index ad726a8..e36b87a 100644 --- a/app/Filament/Resources/Master/SubLocations/SubLocationResource.php +++ b/app/Filament/Resources/Master/SubLocations/SubLocationResource.php @@ -3,6 +3,7 @@ namespace App\Filament\Resources\Master\SubLocations; use App\Enums\IsActive; +use App\Filament\Actions\DefaultBulkActions; use App\Filament\Columns\TimestampColumns; use App\Filament\Resources\Master\SubLocations\Pages\ManageSubLocations; use App\Models\Location; @@ -10,12 +11,9 @@ use BackedEnum; use Filament\Actions\BulkActionGroup; use Filament\Actions\DeleteAction; -use Filament\Actions\DeleteBulkAction; use Filament\Actions\EditAction; use Filament\Actions\ForceDeleteAction; -use Filament\Actions\ForceDeleteBulkAction; use Filament\Actions\RestoreAction; -use Filament\Actions\RestoreBulkAction; use Filament\Forms\Components\RichEditor; use Filament\Forms\Components\Select; use Filament\Forms\Components\TextInput; @@ -111,13 +109,11 @@ public static function table(Table $table): Table ]) ->toolbarActions([ BulkActionGroup::make([ - DeleteBulkAction::make(), - ForceDeleteBulkAction::make(), - RestoreBulkAction::make(), + ...DefaultBulkActions::make('Sub Lokasi'), ]), ]) ->emptyStateIcon('heroicon-o-bookmark') - ->emptyStateDescription('Setelah Anda menulis posting pertama, maka akan muncul disini.') + ->emptyStateDescription('Setelah Anda membubat data pertama, maka akan muncul disini.') ->defaultSort('created_at', 'desc') ->deferFilters(false) ->reorderable('sort_order'); diff --git a/app/Filament/Resources/Master/Users/UserResource.php b/app/Filament/Resources/Master/Users/UserResource.php index 0b1d52f..282e89c 100644 --- a/app/Filament/Resources/Master/Users/UserResource.php +++ b/app/Filament/Resources/Master/Users/UserResource.php @@ -3,18 +3,16 @@ namespace App\Filament\Resources\Master\Users; use App\Enums\IsActive; +use App\Filament\Actions\DefaultBulkActions; use App\Filament\Columns\TimestampColumns; use App\Filament\Resources\Master\Users\Pages\ManageUsers; use App\Models\User; use BackedEnum; use Filament\Actions\BulkActionGroup; use Filament\Actions\DeleteAction; -use Filament\Actions\DeleteBulkAction; use Filament\Actions\EditAction; use Filament\Actions\ForceDeleteAction; -use Filament\Actions\ForceDeleteBulkAction; use Filament\Actions\RestoreAction; -use Filament\Actions\RestoreBulkAction; use Filament\Forms\Components\Hidden; use Filament\Forms\Components\Select; use Filament\Forms\Components\TextInput; @@ -143,13 +141,11 @@ public static function table(Table $table): Table ]) ->toolbarActions([ BulkActionGroup::make([ - DeleteBulkAction::make(), - ForceDeleteBulkAction::make(), - RestoreBulkAction::make(), + ...DefaultBulkActions::make('Pengguna'), ]), ]) ->emptyStateIcon('heroicon-o-bookmark') - ->emptyStateDescription('Setelah Anda menulis posting pertama, maka akan muncul disini.') + ->emptyStateDescription('Setelah Anda membubat data pertama, maka akan muncul disini.') ->defaultSort('created_at', 'desc') ->deferFilters(false); }