components([ Select::make('status') ->options(['hadir' => 'Hadir', 'izin' => 'Izin', 'alpha' => 'Alpha']) ->default('hadir')->required(), Textarea::make('notes')->label('Catatan')->rows(2), ]); } public function table(Table $table): Table { return $table ->recordTitleAttribute('name') ->columns([ TextColumn::make('name')->label('Anggota')->searchable(), TextColumn::make('pivot.status')->label('Status')->badge() ->color(fn ($state) => match ($state) { 'hadir' => 'success', 'izin' => 'warning', 'alpha' => 'danger', default => 'gray', }), TextColumn::make('pivot.notes')->label('Catatan')->placeholder('-'), ]) ->headerActions([ AttachAction::make()->preloadRecordSelect() ->form(fn (AttachAction $action) => [ $action->getRecordSelect(), Select::make('status') ->options(['hadir' => 'Hadir', 'izin' => 'Izin', 'alpha' => 'Alpha']) ->default('hadir')->required(), Textarea::make('notes')->label('Catatan')->rows(2), ]), ]) ->recordActions([EditAction::make()]) ->toolbarActions([BulkActionGroup::make([DetachBulkAction::make()])]); } }