Skip to content

Feat: seragamkan tombol aksi#1633

Merged
analisopendesa merged 13 commits into
rilis-devfrom
feat/seragamkan_tombol_aksi
Jul 15, 2026
Merged

Feat: seragamkan tombol aksi#1633
analisopendesa merged 13 commits into
rilis-devfrom
feat/seragamkan_tombol_aksi

Conversation

@pandigresik

Copy link
Copy Markdown
Contributor

Pull Request: Refactor: Seragamkan tombol aksi menggunakan dropdown button

Description

Tombol aksi pada tabel data di berbagai halaman admin saat ini ditampilkan sebagai deretan tombol individual (ikon saja) yang kurang rapi dan tidak seragam. PR ini mengubah semua tombol aksi menjadi dropdown button yang konsisten menggunakan komponen Blade <x-action-dropdown>, mirip dengan pola yang sudah digunakan di aplikasi layanan. Selain itu, PR ini juga memperbaiki bug logika status lock/unlock yang terbalik di beberapa controller.

Changes made:

  1. [New Component]: Membuat komponen Blade resources/views/components/action-dropdown.blade.php sebagai dropdown button reusable dengan slot untuk menu items
  2. [Refactor]: Merombak resources/views/forms/aksi.blade.php dari deretan tombol individual menjadi dropdown menu menggunakan <x-action-dropdown>, dengan urutan item yang lebih logis dan label teks pada setiap aksi
  3. [Bug Fix]: Memperbaiki logika status lock/unlock di ArtikelController, FaqController, MediaSosialController, AlbumController, dan GaleriController — kondisi $row->status == 1 diubah ke $row->status == 0 untuk unlock karena sebelumnya terbalik
  4. [Feature]: Menambahkan method status() dan route PUT status/{sinergi} di SinergiProgramController untuk mengaktifkan/menonaktifkan sinergi program langsung dari tabel
  5. [Bug Fix]: Memperbaiki validasi $this->id ke $this->sinergi di SinergiProgramRequest agar route parameter {sinergi terbaca dengan benar saat edit
  6. [Fix]: Menambahkan rawColumns(['aksi']) pada controller EventController, PotensiController, SinergiProgramController, ArtikelController, FaqController, MediaSosialController, dan Album/GaleriController agar HTML dropdown rendered dengan benar di DataTables
  7. [Fix]: Memperbaiki teks modal lock-modal.blade.php dan unlock-modal.blade.php yang sebelumnya terbalik (lock menampilkan "Aktifkan", unlock menampilkan "Nonaktifkan")
  8. [Refactor]: Mengubah tombol aksi di resources/views/livewire/informasi/media_terkait/table.blade.php dari komponen <x-button-edit-table>, <x-button-status-table>, <x-button-hapus-table> menjadi <x-action-dropdown> yang seragam
  9. [Feature]: Menambahkan route PUT status/{sinergi} di routes/web.php untuk sinergi program

Reason for change:

  • Konsistensi UI: Tombol aksi yang seragam dengan dropdown memudahkan pengguna karena setiap aksi memiliki label teks, bukan hanya ikon
  • Bug fix logika status: Logika lock/unlock yang terbalik menyebabkan tombol yang ditampilkan tidak sesuai kondisi data aktual
  • Maintenance: Menggunakan satu komponen <x-action-dropdown> memudahkan pemeliharaan di masa depan

Impact of change:

  • UX: Tampilan tabel lebih rapi dengan satu tombol "Proses" dropdown menggantikan deretan tombol individual
  • Aksesibilitas: Setiap aksi kini memiliki label teks, bukan hanya ikon
  • Bug fix: Status aktif/nonaktif di beberapa modul kini berfungsi dengan benar
  • Konsistensi: Pola dropdown button yang seragam di seluruh halaman admin

Related Issue

Steps to Reproduce

Before fix (problem):

  1. Buka halaman admin dengan tabel data (misal: Informasi > Artikel, FAQ, Sinergi Program)
  2. Kolom aksi menampilkan deretan tombol individual berupa ikon saja tanpa label
  3. Tombol lock/unlock ditampilkan berdasarkan kondisi yang terbalik
  4. Pada Sinergi Program, tidak ada tombol aktifkan/nonaktifkan dari tabel

After fix (solution):

  1. Buka halaman admin yang sama
  2. Kolom aksi kini menampilkan satu tombol "Proses" dropdown dengan menu berlabel
  3. Tombol lock/unlock muncul sesuai kondisi status aktual
  4. Sinergi Program memiliki tombol Aktifkan/Nonaktifkan di dropdown

Testing on related features:

  • Tombol aksi dropdown di halaman Informasi > Artikel ✅
  • Tombol aksi dropdown di halaman Informasi > FAQ ✅
  • Tombol aksi dropdown di halaman Informasi > Media Sosial ✅
  • Tombol aksi dropdown di halaman Informasi > Potensi ✅
  • Tombol aksi dropdown di halaman Informasi > Sinergi Program ✅
  • Tombol aksi dropdown di halaman Publikasi > Album/Galeri ✅
  • Tombol aksi dropdown di halaman Livewire Media Terkait ✅
  • Status lock/unlock Sinergi Program dari tabel ✅
  • Validasi edit Sinergi Program (gambar nullable) ✅

Checklist

  • Saya telah mematuhi aturan penulisan script
  • Saya telah mengikuti proses review pull request
  • Saya telah membuat unit test/integration test untuk memverifikasi perubahan
  • Manual testing telah dilakukan di lingkungan development
  • Tidak ada error atau warning di console browser
  • Code telah di-review oleh minimal 1 orang

Technical Details

Technical Explanation

Komponen <x-action-dropdown>:
Komponen Blade baru menerima slot berisi item-item <li><a>...</a></li> yang dirender di dalam dropdown Bootstrap. Menggunakan $slot untuk fleksibilitas isi dropdown.

Refaktor aksi.blade.php:
Template aksi diubah dari <div class="btn-group"> dengan tombol <button> individual menjadi <x-action-dropdown> dengan item <li>. Setiap aksi memiliki ikon + label teks. Tombol "Hapus" dipisahkan dengan divider di bagian bawah dropdown.

Perbaikan logika status:
Sebelumnya kondisi $row->status == 1 digunakan untuk menampilkan tombol unlock, padahal status == 1 berarti aktif — yang seharusnya menampilkan tombol lock. Diperbaiki menjadi $row->status == 0 untuk unlock.

- if ($row->status == 1) {
+ if ($row->status == 0) {
      $data['unlock_url'] = route('...', $row->id);
  } else {
      $data['lock_url'] = route('...', $row->id);
  }

Method SinergiProgramController::status():
Metode baru yang melakukan toggle status (01) pada model SinergiProgram, mirip dengan pola yang sudah ada di controller lain.

rawColumns(['aksi']):
Ditambahkan agar HTML dropdown di kolom aksi tidak di-escape oleh DataTables.

Configuration changes

None

Dependencies added

No new dependencies

Testing

Manual Testing

  • Buka halaman Informasi > Artikel — tombol aksi dropdown berfungsi (Ubah, Hapus, Aktif/Nonaktif)
  • Buka halaman Informasi > FAQ — tombol aksi dropdown berfungsi
  • Buka halaman Informasi > Media Sosial — tombol aksi dropdown berfungsi
  • Buka halaman Informasi > Potensi — tombol aksi dropdown berfungsi
  • Buka halaman Informasi > Sinergi Program — tombol aksi dropdown berfungsi, termasuk Aktifkan/Nonaktifkan
  • Test Ubah status Sinergi Program dari tabel — status berubah dengan benar
  • Test Edit Sinergi Program — validasi gambar nullable saat edit
  • Buka halaman Publikasi > Album — tombol aksi dropdown berfungsi
  • Buka halaman Publikasi > Galeri — tombol aksi dropdown berfungsi
  • Buka halaman Livewire Media Terkait — tombol aksi dropdown berfungsi
  • Regression testing — fitur lain tidak terpengaruh

Screenshots / Video

simplescreenrecorder-2026-07-10_07.20.36.mp4

Before:

Tombol aksi ditampilkan sebagai deretan tombol individual (ikon saja) tanpa label teks.

After:

Tombol aksi ditampilkan sebagai satu tombol dropdown "Proses" dengan menu berlabel (Ubah, Aktifkan/Nonaktifkan, Hapus, dll).

Breaking Changes

None

Migration Guide

Not required

References


Additional notes: Perubahan ini bersifat refactor UI + bug fix. Perlu diperhatikan testing pada semua modul yang menggunakan aksi.blade.php karena template ini digunakan secara global oleh banyak halaman DataTables.

@pandigresik pandigresik requested a review from vickyrolanda July 10, 2026 00:29
@github-actions

Copy link
Copy Markdown
Contributor

🔄 AI PR Review sedang antri di server...

Proses review akan segera dimulai di background — hasil akan muncul sebagai komentar setelah selesai.
Powered by CrewAI · PR #1633

@analisopendesa

Copy link
Copy Markdown
Contributor

lalu bisa sesuaikan agar ukuran kolom aksi sebesar tombol saja agar konsisten untuk semua halaman .
image

kalo bisa atasi juga terkait overlaping tersebut

@pandigresik

Copy link
Copy Markdown
Contributor Author

lalu bisa sesuaikan agar ukuran kolom aksi sebesar tombol saja agar konsisten untuk semua halaman . image

kalo bisa atasi juga terkait overlaping tersebut

ok noted

@pandigresik

Copy link
Copy Markdown
Contributor Author

lalu bisa sesuaikan agar ukuran kolom aksi sebesar tombol saja agar konsisten untuk semua halaman . image

kalo bisa atasi juga terkait overlaping tersebut

image

@analisopendesa

analisopendesa commented Jul 15, 2026

Copy link
Copy Markdown
Contributor

sudah ok untuk overlaping.
tinggal ukuran kolom dibuat pas seukuran tombol aja mas pada kolom aksi agar konsisten semuanya karena ukurannya pasti sama semua kan.
image

@analisopendesa analisopendesa merged commit 5cdb805 into rilis-dev Jul 15, 2026
1 check passed
@analisopendesa analisopendesa deleted the feat/seragamkan_tombol_aksi branch July 15, 2026 08:15
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.

3 participants