diff --git a/app/Filament/Pages/Learning/StudyGroup/Actions/SelectAllCoursesAction.php b/app/Filament/Pages/Learning/StudyGroup/Actions/SelectAllCoursesAction.php new file mode 100644 index 0000000..ac4cd0b --- /dev/null +++ b/app/Filament/Pages/Learning/StudyGroup/Actions/SelectAllCoursesAction.php @@ -0,0 +1,33 @@ +icon('heroicon-m-check-circle') + ->tooltip('Pilih/Hapus Semua Mata Kuliah') + ->action(function (Select $component) { + $options = array_keys($component->getOptions()); + $state = $component->getState() ?? []; + + if (count($state) === count($options)) { + $component->state([]); + } else { + $component->state($options); + } + }); + } +} diff --git a/app/Filament/Pages/Learning/StudyGroup/Index.php b/app/Filament/Pages/Learning/StudyGroup/Index.php index 4d2c2da..4932365 100644 --- a/app/Filament/Pages/Learning/StudyGroup/Index.php +++ b/app/Filament/Pages/Learning/StudyGroup/Index.php @@ -5,6 +5,7 @@ use App\Filament\Pages\Learning\StudyGroup\Actions\CreateStudyGroupAction; use App\Filament\Pages\Learning\StudyGroup\Actions\DeleteStudyGroupAction; use App\Filament\Pages\Learning\StudyGroup\Actions\EditStudyGroupAction; +use App\Filament\Pages\Learning\StudyGroup\Actions\SelectAllCoursesAction; use App\Models\Course; use App\Models\Student; use App\Models\StudyGroup; @@ -171,7 +172,8 @@ public function studyGroupFormSchema(): array ->searchable() ->required() ->live() - ->columnSpanFull(), + ->columnSpanFull() + ->suffixAction(SelectAllCoursesAction::make()), TextInput::make('name') ->label('Nama Kelompok')