MultiRecordResource
Resource yang berorientasi pada data table: request mengembalikan array, mendukung pagination, filter, sorting, dan CRUD. Cocok untuk skenario "multiple record" seperti tabel, list, dll. Berbeda dengan APIResource, MultiRecordResource menentukan nama resource melalui setResourceName(), otomatis membangun URL seperti users:list, users:create, dan dengan kemampuan pagination, filter, baris terpilih bawaan.
Hubungan Inheritance: FlowResource → APIResource → BaseRecordResource → MultiRecordResource.
Cara Pembuatan: ctx.makeResource('MultiRecordResource') atau ctx.initResource('MultiRecordResource'). Sebelum digunakan perlu setResourceName('nama-data-table') (seperti 'users'); di RunJS ctx.api disuntikkan oleh runtime environment.
Skenario Penggunaan
Format Data
getData()mengembalikan array record, yaitu fielddatadari API listgetMeta()mengembalikan informasi meta seperti pagination:page,pageSize,count,totalPage, dll.
Nama Resource dan Data Source
Parameter Request (Filter / Field / Sorting)
Pagination
Baris Terpilih (Skenario Tabel)
CRUD dan Operasi List
Konfigurasi dan Event
Contoh
List Dasar
Filter dan Sorting
Expand Relasi
Create dan Pindah Halaman
Batch Delete Baris yang Terpilih
Memantau Event refresh
Resource Relasi (Sub-Table)
Hal yang Perlu Diperhatikan
- setResourceName wajib: sebelum digunakan harus memanggil
setResourceName('nama-data-table'), jika tidak tidak dapat membangun URL request. - Resource relasi: saat nama resource adalah
parent.child(sepertiusers.tags), perlusetSourceId(primary key record parent)terlebih dahulu. - Debounce refresh: dalam event loop yang sama beberapa pemanggilan
refresh()hanya akan mengeksekusi yang terakhir, untuk menghindari request berulang. - getData adalah array:
datayang dikembalikan API list adalah array record,getData()langsung mengembalikan array tersebut.
Terkait
- ctx.resource - Instance resource dalam konteks saat ini
- ctx.initResource() - Inisialisasi dan mengikat ke ctx.resource
- ctx.makeResource() - Membuat instance resource baru, tidak mengikat
- APIResource - API resource umum, request berdasarkan URL
- SingleRecordResource - Berorientasi single record

