From 5c0c3bdd48ee97ced73122067238d1ec43138102 Mon Sep 17 00:00:00 2001 From: Bro Date: Fri, 24 Jul 2026 18:59:05 +0700 Subject: [PATCH] feat: dropdown Kelas dependen berdasarkan Jurusan & Tingkat Saat user pilih Jurusan dan/atau Tingkat Kelas, dropdown Kelas otomatis terfilter hanya menampilkan kelas yang cocok. Menggunakan JS client-side dengan data options dari backend. --- .../Controllers/StudentReportController.php | 15 ++++++- resources/views/students/index.blade.php | 45 ++++++++++++++++++- 2 files changed, 58 insertions(+), 2 deletions(-) diff --git a/app/Http/Controllers/StudentReportController.php b/app/Http/Controllers/StudentReportController.php index e7612ce..d511c07 100644 --- a/app/Http/Controllers/StudentReportController.php +++ b/app/Http/Controllers/StudentReportController.php @@ -53,7 +53,20 @@ class StudentReportController extends Controller ->sortBy('department_name') ->pluck('department_name', 'department_code'); - return view('students.index', compact('students', 'classLevels', 'classNames', 'departments')); + // Data kelas dengan level & jurusan untuk filter dependen + $classOptions = Student::where('is_active', true) + ->selectRaw('DISTINCT class_name, class_level, department_code') + ->whereNotNull('class_name') + ->where('class_name', '!=', '') + ->orderBy('class_name') + ->get() + ->map(fn($c) => [ + 'name' => $c->class_name, + 'level' => $c->class_level, + 'dept' => $c->department_code, + ]); + + return view('students.index', compact('students', 'classLevels', 'classNames', 'departments', 'classOptions')); } public function show(Student $student): View diff --git a/resources/views/students/index.blade.php b/resources/views/students/index.blade.php index 0cb0347..56f2b13 100644 --- a/resources/views/students/index.blade.php +++ b/resources/views/students/index.blade.php @@ -57,7 +57,7 @@
-