JS Action
Pengantar
JS Action digunakan untuk menjalankan JavaScript saat tombol diklik, mengkustomisasi perilaku bisnis apa pun. Dapat digunakan di lokasi seperti toolbar Form, toolbar Table (level collection), baris Table (level record), dll., untuk mengimplementasikan validasi, prompt, panggilan interface, membuka Popup/drawer, refresh data, dll.

API Konteks Runtime (Umum)
-
ctx.api.request(options): mengirim HTTP request; -
ctx.openView(viewUid, options): membuka view yang sudah dikonfigurasi (drawer/dialog/page); -
ctx.message/ctx.notification: prompt dan notifikasi global; -
ctx.t()/ctx.i18n.t(): internasionalisasi; -
ctx.resource: resource data konteks level collection (seperti toolbar Table, mencakupgetSelectedRows(),refresh(), dll.); -
ctx.record: record baris saat ini di konteks level record (seperti tombol baris Table); -
ctx.form: instance AntD Form di konteks level Form (seperti tombol toolbar Form); -
ctx.collection: meta info collection saat ini; -
Code editor mendukung snippet
Snippetsdan pre-runRun(lihat di bawah). -
ctx.requireAsync(url): load library AMD/UMD secara asynchronous berdasarkan URL; -
ctx.importAsync(url): import modul ESM secara dinamis berdasarkan URL; -
ctx.libs.React/ctx.libs.ReactDOM/ctx.libs.antd/ctx.libs.antdIcons/ctx.libs.dayjs/ctx.libs.lodash/ctx.libs.math/ctx.libs.formula: library umum bawaan seperti React / ReactDOM / Ant Design / icon Ant Design / dayjs / lodash / math.js / formula.js, dll., digunakan untuk render JSX, pemrosesan waktu, operasi data, dan operasi matematika.
Variabel yang sebenarnya tersedia akan berbeda berdasarkan lokasi tombol, di atas adalah ringkasan kemampuan umum.
Editor dan Snippet
Snippets: Membuka daftar snippet kode bawaan, dapat dicari dan disisipkan ke posisi cursor saat ini dengan satu klik.Run: Langsung menjalankan kode saat ini, dan output log eksekusi ke panelLogsdi bawah; mendukungconsole.log/info/warn/errordan highlight lokasi error.

- Dapat dikombinasikan dengan AI Employee untuk generate/modify script: AI Employee · Nathan: Frontend Engineer
Penggunaan Umum (Contoh Ringkas)
1) Request Interface dan Prompt
2) Tombol Collection: Validasi Pemilihan dan Pemrosesan
3) Tombol Record: Membaca Record Baris Saat Ini
4) Membuka View (Drawer/Dialog)
5) Refresh Data Setelah Submit
Perhatian
- Idempotensi perilaku: hindari multiple submit akibat klik berulang, dapat menambahkan switch state atau menonaktifkan tombol dalam logika.
- Penanganan error: tambahkan try/catch untuk panggilan interface dan berikan prompt pengguna.
- Linkage view: saat membuka Popup/drawer melalui
ctx.openView, disarankan untuk meneruskan parameter secara eksplisit, jika perlu refresh resource parent secara aktif setelah submit berhasil.

