Skip to content

Tambahkan filter tahun pada statistik kesehatan & jaminan sosial data presisi#951

Open
pandigresik wants to merge 1 commit intorilis-devfrom
dev-950
Open

Tambahkan filter tahun pada statistik kesehatan & jaminan sosial data presisi#951
pandigresik wants to merge 1 commit intorilis-devfrom
dev-950

Conversation

@pandigresik
Copy link
Contributor

Perbaikan issue #950
Bergantung pada PR https://github.com/OpenSID/API-Database-Gabungan/pull/331

Detail Perubahan per File

1. resources/views/presisi/statistik/jaminan-sosial.blade.php

  • Status: Dimodifikasi (Modified)
  • Perubahan: +10 baris, -10 baris

Perubahan Utama:

  1. Penggantian Filter Tahun:

    • Menghapus tombol filter collapse yang lama (baris 36-42)
    • Menambahkan komponen <x-filter-tahun /> untuk filter tahun yang lebih konsisten
  2. Pembaruan Referensi ID Filter:

    • Mengubah $("#tahun").val() menjadi $("#filter-tahun").val() pada fungsi exportToExcel (baris 191)
    • Menambahkan parameter "tahun": $('#filter-tahun').val() pada data request DataTable (baris 343)
    • Menambahkan parameter tahun pada URL detail (baris 395)
  3. Penambahan Event Listener:

    • Mengubah event listener dari $('#filter').on('click') menjadi $('#filter-tahun').on('change') (baris 440-442)
    • Mengubah dari statistik.draw() menjadi statistik.ajax.reload() untuk me-reload data tabel
  4. Perbaikan Logika Grafik:

    • Menambahkan kondisi if (data_grafik.length > 2) sebelum memanggil grafikPie() untuk mencegah error saat data kurang dari 3 (baris 359-361)

2. resources/views/presisi/statistik/kesehatan.blade.php

  • Status: Dimodifikasi (Modified)
  • Perubahan: +10 baris, -10 baris

Perubahan Utama:

  1. Penggantian Filter Tahun:

    • Menghapus tombol filter collapse yang lama (baris 36-42)
    • Menambahkan komponen <x-filter-tahun /> untuk filter tahun yang lebih konsisten
  2. Pembaruan Referensi ID Filter:

    • Mengubah $("#tahun").val() menjadi $("#filter-tahun").val() pada fungsi exportToExcel (baris 191)
    • Menambahkan parameter "tahun": $('#filter-tahun').val() pada data request DataTable (baris 343)
    • Menambahkan parameter tahun pada URL detail (baris 395)
  3. Penambahan Event Listener:

    • Mengubah event listener dari $('#filter').on('click') menjadi $('#filter-tahun').on('change') (baris 440-442)
    • Mengubah dari statistik.draw() menjadi statistik.ajax.reload() untuk me-reload data tabel
  4. Perbaikan Logika Grafik:

    • Menambahkan kondisi if (data_grafik.length > 2) sebelum memanggil grafikPie() untuk mencegah error saat data kurang dari 3 (baris 359-361)

Komponen Tambahan

resources/views/components/filter-tahun.blade.php

  • Status: Tidak berubah antara kedua branch
  • Fungsi: Komponen Blade untuk filter tahun yang digunakan pada kedua halaman statistik
  • Fitur:
    • Menampilkan dropdown pilihan tahun dari tahun saat ini hingga 5 tahun ke belakang
    • Mendukung parameter $selectedYear untuk menentukan tahun yang dipilih secara default

Analisis Perubahan

Tujuan Utama Perubahan:

  1. Standardisasi Filter Tahun: Mengganti implementasi filter tahun yang berbeda-beda dengan komponen yang konsisten (<x-filter-tahun />)
  2. Perbaikan Fungsionalitas: Memastikan filter tahun berfungsi dengan baik pada kedua halaman statistik
  3. Penanganan Error: Menambahkan validasi untuk mencegah error pada grafik pie saat data tidak mencukupi
  4. Konsistensi ID: Menggunakan ID yang konsisten (filter-tahun) untuk elemen filter tahun
  5. Optimasi Event Handling: Mengubah dari event click ke change dan menggunakan ajax.reload() untuk performa yang lebih baik

Dampak Perubahan:

  1. UI/UX: Pengalaman pengguna yang lebih konsisten pada halaman statistik
  2. Maintainability: Penggunaan komponen yang dapat digunakan kembali (reusable) memudahkan pemeliharaan
  3. Stabilitas: Mengurangi kemungkinan error pada tampilan grafik
  4. Performa: Menggunakan ajax.reload() yang lebih efisien daripada draw()
simplescreenrecorder-2026-03-04_14.27.10.mp4

@pandigresik pandigresik requested a review from vickyrolanda March 4, 2026 07:28
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant