schema([ Forms\Components\Select::make('class_room_id') ->label('Class Room') ->required() ->options(ClassRoom::pluck('class_name', 'id')->toArray()) ->searchable() ->native(false), Forms\Components\Select::make('teacher_id') ->label('Teacher') ->required() ->options(User::role('teacher')->pluck('name', 'id')->toArray()) ->searchable() ->native(false), Forms\Components\Select::make('academic_year_id') ->label('Academic Year') ->required() ->options(AcademicYear::pluck('name', 'id')->toArray()) ->searchable() ->native(false), ]); } public static function table(Table $table): Table { return $table ->columns([ Tables\Columns\TextColumn::make('classRoom.class_name') ->numeric() ->sortable(), Tables\Columns\TextColumn::make('teacher.name') ->numeric() ->sortable(), Tables\Columns\TextColumn::make('academicYear.name') ->numeric() ->sortable(), Tables\Columns\TextColumn::make('created_at') ->dateTime() ->sortable() ->toggleable(isToggledHiddenByDefault: true), Tables\Columns\TextColumn::make('updated_at') ->dateTime() ->sortable() ->toggleable(isToggledHiddenByDefault: true), Tables\Columns\TextColumn::make('deleted_at') // Add this column to show deleted timestamp ->dateTime() ->sortable() ->toggleable(isToggledHiddenByDefault: true), ]) ->filters([ Tables\Filters\TrashedFilter::make()->label('Tampilkan Data yang Dihapus'), ]) ->actions([ Tables\Actions\EditAction::make()->visible(fn () => auth()->user()->hasRole('admin')), Tables\Actions\DeleteAction::make()->visible(fn () => auth()->user()->hasRole('admin')), Tables\Actions\RestoreAction::make()->visible(fn (HomeRoomTeacher $record) => auth()->user()->hasRole('admin') && $record->trashed()), ]) ->bulkActions([ Tables\Actions\BulkActionGroup::make([ Tables\Actions\DeleteBulkAction::make()->visible(fn () => auth()->user()->hasRole('admin')), ]), ]); } public static function getRelations(): array { return [ // ]; } public static function getPages(): array { return [ 'index' => Pages\ListHomeRoomTeachers::route('/'), 'create' => Pages\CreateHomeRoomTeacher::route('/create'), 'edit' => Pages\EditHomeRoomTeacher::route('/{record}/edit'), ]; } public static function getNavigationLabel(): string { return 'Guru Wali Kelas'; } public static function getBreadcrumb(): string { return 'Guru Wali Kelas'; } public static function getPluralModelLabel(): string { return 'Guru Wali Kelas'; } }