Referensi API
Server
API yang tersedia pada struktur paket server seperti yang ditunjukkan kode berikut:
PluginWorkflowServer
Kelas plugin Workflow.
Biasanya saat runtime aplikasi, di tempat mana pun yang dapat memperoleh instance aplikasi app, panggil app.pm.get<PluginWorkflowServer>(PluginWorkflowServer) untuk mendapatkan instance plugin Workflow (di bawah ini disebut plugin).
registerTrigger()
Memperluas pendaftaran tipe Trigger baru.
Signature
registerTrigger(type: string, trigger: typeof Trigger | Trigger })
Parameter
Contoh
registerInstruction()
Memperluas pendaftaran tipe Node baru.
Signature
registerInstruction(type: string, instruction: typeof Instruction | Instruction })
Parameter
Contoh
trigger()
Memicu Workflow tertentu. Terutama digunakan dalam Trigger kustom, ketika event kustom tertentu didengarkan, memicu Workflow yang sesuai.
Signature
trigger(workflow: Workflow, context: any)
Parameter
context saat ini wajib, jika tidak disediakan, Workflow tersebut tidak akan dipicu.
Contoh
resume()
Memulihkan eksekusi Workflow yang dijeda dengan tugas Node tertentu.
- Hanya Workflow dalam status jeda (
EXECUTION_STATUS.STARTED) yang dapat dipulihkan eksekusinya. - Hanya tugas Node dalam status jeda (
JOB_STATUS.PENDING) yang dapat dipulihkan eksekusinya.
Signature
resume(job: JobModel)
Parameter
Objek tugas yang diteruskan biasanya adalah objek yang sudah diperbarui, dan biasanya status akan diperbarui ke nilai non-JOB_STATUS.PENDING, jika tidak akan terus dijeda.
Contoh
Lihat detailnya di source code.
Trigger
Kelas dasar Trigger, digunakan untuk memperluas tipe Trigger kustom.
on/off digunakan untuk pendaftaran/pencabutan listener event saat Workflow diaktifkan/dinonaktifkan, parameter yang diteruskan adalah instance Workflow dari Trigger yang sesuai, dapat ditangani sesuai konfigurasi yang sesuai. Beberapa tipe Trigger jika sudah men-listen event secara global, juga tidak perlu mengimplementasikan kedua method ini. Misalnya pada Trigger terjadwal, Anda dapat mendaftarkan timer di on, dan mencabut timer di off.
Instruction
Kelas dasar tipe instruksi, digunakan untuk memperluas tipe instruksi kustom.
Tipe Terkait
getScope dapat dirujuk pada implementasi Node loop, digunakan untuk menyediakan konten variabel lokal cabang.
EXECUTION_STATUS
Tabel konstanta status rencana eksekusi Workflow, digunakan untuk mengidentifikasi status saat ini dari rencana eksekusi yang sesuai.
Selain tiga yang pertama, lainnya merepresentasikan status gagal, tetapi dapat digunakan untuk mengekspresikan alasan kegagalan yang berbeda.
JOB_STATUS
Tabel konstanta status tugas Node Workflow, digunakan untuk mengidentifikasi status saat ini dari tugas Node yang sesuai. Status yang dihasilkan Node juga akan memengaruhi status seluruh rencana eksekusi.
Client
API yang tersedia pada struktur paket client seperti yang ditunjukkan kode berikut:
PluginWorkflowClient
registerTrigger()
Mendaftarkan panel konfigurasi yang sesuai dengan tipe Trigger.
Signature
registerTrigger(type: string, trigger: typeof Trigger | Trigger): void
Parameter
registerInstruction()
Mendaftarkan panel konfigurasi yang sesuai dengan tipe Node.
Signature
registerInstruction(type: string, instruction: typeof Instruction | Instruction): void
Parameter
registerInstructionGroup()
Mendaftarkan grup tipe Node. NocoBase secara default menyediakan 4 grup tipe Node:
'control': Kelas kontrol'collection': Kelas operasi tabel data'manual': Kelas penanganan manual'extended': Kelas ekstensi lainnya
Jika perlu memperluas grup lain, Anda dapat menggunakan method ini untuk mendaftarkan.
Signature
registerInstructionGroup(type: string, group: { label: string }): void
Parameter
Contoh
Trigger
Kelas dasar Trigger, digunakan untuk memperluas tipe Trigger kustom.
useVariablesjika tidak diatur, artinya tipe Trigger ini tidak menyediakan fungsi pengambilan nilai, di Node alur tidak dapat memilih data konteks Trigger.
Instruction
Kelas dasar instruksi, digunakan untuk memperluas tipe Node kustom.
Tipe Terkait
useVariablesjika tidak diatur, artinya tipe Node ini tidak menyediakan fungsi pengambilan nilai, di Node alur tidak dapat memilih data hasil tipe Node ini. Jika nilai hasil tunggal (tidak dapat dipilih), maka cukup mengembalikan konten statis yang dapat mengekspresikan informasi yang sesuai (referensi: source code Node komputasi). Jika perlu dapat dipilih (seperti suatu properti dalam Object), Anda dapat menyesuaikan output komponen pemilihan yang sesuai (referensi: source code Node Tambah Data).Componentkomponen rendering kustom Node, dapat sepenuhnya mengganti rendering default Node ketika tidak terpenuhi, untuk melakukan rendering tampilan Node kustom. Misalnya untuk Node awal tipe cabang yang perlu menyediakan tombol operasi atau interaksi tambahan, perlu menggunakan method ini (referensi: source code cabang paralel).useInitializersdigunakan untuk menyediakan method inisialisasi Block, misalnya pada Node manual dapat menginisialisasi Block pengguna terkait berdasarkan Node hulu. Jika method ini disediakan, akan tersedia saat menginisialisasi Block dalam konfigurasi antarmuka Node manual (referensi: source code Node Tambah Data).isAvailableterutama digunakan untuk menentukan apakah Node dapat digunakan (ditambahkan) di lingkungan saat ini. Lingkungan saat ini termasuk Workflow saat ini, Node hulu, dan indeks cabang saat ini, dll.

