StepDefinition
StepDefinition mendefinisikan step tunggal di flow, setiap step dapat berupa action, penanganan event, atau operasi lainnya. Step adalah unit eksekusi dasar dari flow.
Definisi Tipe
Cara Penggunaan
Penjelasan Property
key
Tipe: string
Wajib: Tidak
Deskripsi: Identifier unik step di flow. Jika tidak disediakan, akan menggunakan nama key step di objek steps.
use
Tipe: string
Wajib: Tidak
Deskripsi: Nama ActionDefinition yang sudah didaftarkan yang akan digunakan. Melalui property use dapat merujuk action yang sudah didaftarkan, menghindari definisi berulang.
title
Tipe: string
Wajib: Tidak
Deskripsi: Judul tampilan step, untuk presentasi UI dan debugging.
sort
Tipe: number
Wajib: Tidak
Deskripsi: Urutan eksekusi step, semakin kecil semakin dieksekusi terlebih dahulu. Digunakan untuk mengontrol urutan eksekusi beberapa step di flow yang sama.
handler
Tipe: (ctx: FlowRuntimeContext<TModel>, params: any) => Promise<any> | any
Wajib: Tidak
Deskripsi: Function handler step. Saat tidak menggunakan property use, dapat langsung mendefinisikan function handler.
defaultParams
Tipe: Record<string, any> | ((ctx: FlowRuntimeContext<TModel>) => Record<string, any> | Promise<Record<string, any>>)
Wajib: Tidak
Deskripsi: Parameter default step, mengisi nilai default untuk parameter sebelum step dieksekusi.
uiSchema
Tipe: Record<string, ISchema> | ((ctx: FlowRuntimeContext<TModel>) => Record<string, ISchema> | Promise<Record<string, ISchema>>)
Wajib: Tidak
Deskripsi: Pola konfigurasi UI step, mendefinisikan cara tampilan step di antarmuka dan konfigurasi form.
beforeParamsSave
Tipe: (ctx: FlowSettingsContext<TModel>, params: any, previousParams: any) => void | Promise<void>
Wajib: Tidak
Deskripsi: Function hook sebelum penyimpanan parameter, dieksekusi sebelum parameter step disimpan, dapat digunakan untuk validasi atau konversi parameter.
afterParamsSave
Tipe: (ctx: FlowSettingsContext<TModel>, params: any, previousParams: any) => void | Promise<void>
Wajib: Tidak
Deskripsi: Function hook setelah penyimpanan parameter, dieksekusi setelah parameter step disimpan, dapat digunakan untuk memicu operasi lain.
uiMode
Tipe: StepUIMode | ((ctx: FlowRuntimeContext<TModel>) => StepUIMode | Promise<StepUIMode>)
Wajib: Tidak
Deskripsi: Mode tampilan UI step. Mode yang didukung: 'dialog', 'drawer', 'embed', atau objek konfigurasi kustom.
preset
Tipe: boolean
Wajib: Tidak
Deskripsi: Apakah step preset
Parameter step dengan preset: true perlu diisi saat pembuatan, yang tidak ditandai dapat diisi setelah pembuatan model.
paramsRequired
Tipe: boolean
Wajib: Tidak
Deskripsi: Apakah parameter step wajib
Jika true, modal konfigurasi akan dibuka sebelum menambahkan model.
hideInSettings
Tipe: boolean
Wajib: Tidak
Deskripsi: Apakah menyembunyikan step di menu pengaturan.
isAwait
Tipe: boolean
Wajib: Tidak
Default: true
Deskripsi: Apakah menunggu function handler selesai.

