From bc20f126221db55e2e593b0be44fbd2d2fb0b5ec Mon Sep 17 00:00:00 2001 From: Yoga Pangestu Date: Mon, 30 Mar 2026 13:51:34 +0700 Subject: [PATCH] feat: add RowIndexColumn to various resource tables for improved indexing --- app/Filament/Columns/RowIndexColumn.php | 18 ++++++++++++++++++ .../AttendanceRelationManager.php | 3 +++ .../Learning/Materials/MaterialResource.php | 3 +++ .../Master/Courses/CourseResource.php | 3 +++ .../Master/Students/Tables/StudentsTable.php | 3 +++ 5 files changed, 30 insertions(+) create mode 100644 app/Filament/Columns/RowIndexColumn.php diff --git a/app/Filament/Columns/RowIndexColumn.php b/app/Filament/Columns/RowIndexColumn.php new file mode 100644 index 0000000..705419e --- /dev/null +++ b/app/Filament/Columns/RowIndexColumn.php @@ -0,0 +1,18 @@ +label('No.') + ->rowIndex() + ->width('10px'), + ]; + } +} diff --git a/app/Filament/Resources/Learning/ClassSessions/RelationManagers/AttendanceRelationManager.php b/app/Filament/Resources/Learning/ClassSessions/RelationManagers/AttendanceRelationManager.php index e5f432d..506c675 100644 --- a/app/Filament/Resources/Learning/ClassSessions/RelationManagers/AttendanceRelationManager.php +++ b/app/Filament/Resources/Learning/ClassSessions/RelationManagers/AttendanceRelationManager.php @@ -6,6 +6,7 @@ use App\Filament\Actions\Cheerful\DeleteAction; use App\Filament\Actions\Cheerful\EditAction; use App\Filament\Actions\DefaultBulkActions; +use App\Filament\Columns\RowIndexColumn; use Filament\Actions\BulkActionGroup; use Filament\Forms\Components\DateTimePicker; use Filament\Forms\Components\Select; @@ -48,6 +49,8 @@ public function table(Table $table): Table return $table ->recordTitleAttribute('student.full_name') ->columns([ + ...RowIndexColumn::make(), + Tables\Columns\TextColumn::make('student.student_number') ->label('NIM') ->copyable() diff --git a/app/Filament/Resources/Learning/Materials/MaterialResource.php b/app/Filament/Resources/Learning/Materials/MaterialResource.php index 8cd3ee1..7e54252 100644 --- a/app/Filament/Resources/Learning/Materials/MaterialResource.php +++ b/app/Filament/Resources/Learning/Materials/MaterialResource.php @@ -7,6 +7,7 @@ use App\Filament\Actions\Cheerful\ForceDeleteAction; use App\Filament\Actions\Cheerful\RestoreAction; use App\Filament\Actions\DefaultBulkActions; +use App\Filament\Columns\RowIndexColumn; use App\Filament\Columns\TimestampColumns; use App\Filament\Resources\Learning\Materials\Actions\EditMaterialAction; use App\Filament\Resources\Learning\Materials\Actions\ViewMaterialAction; @@ -127,6 +128,8 @@ public static function table(Table $table): Table { return $table ->columns([ + ...RowIndexColumn::make(), + TextColumn::make('course.name') ->label('Mata Kuliah') ->searchable() diff --git a/app/Filament/Resources/Master/Courses/CourseResource.php b/app/Filament/Resources/Master/Courses/CourseResource.php index 3d7df3f..c408e14 100644 --- a/app/Filament/Resources/Master/Courses/CourseResource.php +++ b/app/Filament/Resources/Master/Courses/CourseResource.php @@ -7,6 +7,7 @@ use App\Filament\Actions\Cheerful\ForceDeleteAction; use App\Filament\Actions\Cheerful\RestoreAction; use App\Filament\Actions\DefaultBulkActions; +use App\Filament\Columns\RowIndexColumn; use App\Filament\Columns\TimestampColumns; use App\Filament\Resources\Master\Courses\Actions\EditCourseAction; use App\Filament\Resources\Master\Courses\Pages\ManageCourses; @@ -94,6 +95,8 @@ public static function table(Table $table): Table { return $table ->columns([ + ...RowIndexColumn::make(), + TextColumn::make('name') ->label('Nama') ->searchable(query: function (Builder $query, string $search) { diff --git a/app/Filament/Resources/Master/Students/Tables/StudentsTable.php b/app/Filament/Resources/Master/Students/Tables/StudentsTable.php index 7ebc4b7..a39b107 100644 --- a/app/Filament/Resources/Master/Students/Tables/StudentsTable.php +++ b/app/Filament/Resources/Master/Students/Tables/StudentsTable.php @@ -9,6 +9,7 @@ use App\Filament\Actions\Cheerful\ForceDeleteAction; use App\Filament\Actions\Cheerful\RestoreAction; use App\Filament\Actions\DefaultBulkActions; +use App\Filament\Columns\RowIndexColumn; use App\Filament\Columns\TimestampColumns; use App\Filament\Resources\Master\Students\Actions\ChangePasswordAction; use App\Filament\Resources\Master\Students\Actions\EditStudentAction; @@ -29,6 +30,8 @@ public static function configure(Table $table): Table { return $table ->columns([ + ...RowIndexColumn::make(), + TextColumn::make('user.email') ->label('Akun') ->formatStateUsing(fn ($state, Student $record) => "