Hapus Data
Frontend
ActionButton
Setiap halaman index yang menggunakan komponen TableLowcode pada dasarnya menggunakan komponen tambahan untuk menampilkan tombol aksi pada properti customActionFile, yaitu ActionButton.
Komponen ActionButton memiliki properti:
- onDetail()
- onEdit()
- onPrint()
- onDelete()
Secara default perilaku dari ke-4 properti tidak menampilkan tombol apa pun, akan tetapi ketika memasukkan fungsi maka tombol akan muncul.
<ActionButton onDetail={() => {}} />
onDelete
Karena properti fungsi onDelete bisa menerima inputan fungsi maka dari itu bisa dilakukan hal seperti berikut untuk memanggil langsung fungsi deleteAction pada ApiService.
onDelete={
data.status === ApprovalDirekturStatus.DRAFT
? () =>
ApiService.deleteAction(
data.id,
{ module: "kpm151", table: "kpt151" },
setIsLoading
)
: undefined
}
Paremeter dari fungsi deleteAction adalah:
- ID dari data
- Object module dan tabel
- React.Dispatch untuk memanipulas state loading
Backend
Fitur delete sudah dihandle pada service dengan nama fungsi delete() pada parent service, SinergiBpmnService, SinergiUserTaskService dan SinergiCrudService.
Sehingga tidak banyak perubahan pada sisi backend, namun jika terdapat suatu kasus "spesial" maka tinggal melakukan override pada fungsi delete().
Referensi File
- src/pages/Penyelidikan/Kpm151/Kpm151.tsx
- src/services/ApiService.ts