เอกสารนี้แปลโดย AI หากมีข้อมูลที่ไม่ถูกต้อง โปรดดูเวอร์ชันภาษาอังกฤษ
ActionDefinition คือการกำหนดแอคชันที่สามารถนำกลับมาใช้ซ้ำได้ ซึ่งสามารถอ้างอิงได้ในหลายๆ เวิร์กโฟลว์และขั้นตอนต่างๆ ครับ แอคชันถือเป็นหน่วยการทำงานหลักใน FlowEngine ที่รวบรวมตรรกะทางธุรกิจที่เฉพาะเจาะจงไว้ด้วยกันครับ
ประเภท: string
จำเป็น: ใช่
คำอธิบาย: ตัวระบุเฉพาะสำหรับแอคชันครับ
ใช้สำหรับอ้างอิงแอคชันในขั้นตอนต่างๆ ผ่านคุณสมบัติ use ครับ
ตัวอย่าง:
ประเภท: string
จำเป็น: ไม่ใช่
คำอธิบาย: ชื่อเรื่องสำหรับแสดงผลของแอคชันครับ
ใช้สำหรับการแสดงผลบน UI และการดีบักครับ
ตัวอย่าง:
ประเภท: (ctx: TCtx, params: any) => Promise<any> | any
จำเป็น: ใช่
คำอธิบาย: ฟังก์ชัน handler สำหรับแอคชันครับ
เป็นตรรกะหลักของแอคชันที่รับ context และ parameters แล้วส่งคืนผลลัพธ์ของการประมวลผลครับ
ตัวอย่าง:
ประเภท: Record<string, any> | ((ctx: TCtx) => Record<string, any> | Promise<Record<string, any>>)
จำเป็น: ไม่ใช่
คำอธิบาย: พารามิเตอร์เริ่มต้นสำหรับแอคชันครับ
ใช้สำหรับกำหนดค่าเริ่มต้นให้กับพารามิเตอร์ก่อนที่แอคชันจะถูกดำเนินการครับ
ตัวอย่าง:
ประเภท: Record<string, ISchema> | ((ctx: TCtx) => Record<string, ISchema> | Promise<Record<string, ISchema>>)
จำเป็น: ไม่ใช่
คำอธิบาย: Schema การกำหนดค่า UI สำหรับแอคชันครับ
กำหนดวิธีการแสดงผลของแอคชันใน UI และการกำหนดค่าฟอร์มครับ
ตัวอย่าง:
ประเภท: (ctx: FlowSettingsContext<TModel>, params: any, previousParams: any) => void | Promise<void>
จำเป็น: ไม่ใช่
คำอธิบาย: ฟังก์ชัน Hook ที่ทำงานก่อนบันทึกพารามิเตอร์ครับ
จะทำงานก่อนที่พารามิเตอร์ของแอคชันจะถูกบันทึก ซึ่งสามารถใช้สำหรับการตรวจสอบหรือแปลงพารามิเตอร์ได้ครับ
ตัวอย่าง:
ประเภท: (ctx: FlowSettingsContext<TModel>, params: any, previousParams: any) => void | Promise<void>
จำเป็น: ไม่ใช่
คำอธิบาย: ฟังก์ชัน Hook ที่ทำงานหลังบันทึกพารามิเตอร์ครับ
จะทำงานหลังจากที่พารามิเตอร์ของแอคชันถูกบันทึก ซึ่งสามารถใช้เพื่อเรียกใช้งานอื่นๆ ได้ครับ
ตัวอย่าง:
ประเภท: boolean | ((ctx: TCtx) => boolean | Promise<boolean>)
จำเป็น: ไม่ใช่
คำอธิบาย: กำหนดว่าจะใช้พารามิเตอร์แบบ Raw หรือไม่ครับ
หากเป็น true พารามิเตอร์แบบ Raw จะถูกส่งผ่านไปยังฟังก์ชัน handler โดยตรงโดยไม่มีการประมวลผลใดๆ ครับ
ตัวอย่าง:
ประเภท: StepUIMode | ((ctx: FlowRuntimeContext<TModel>) => StepUIMode | Promise<StepUIMode>)
จำเป็น: ไม่ใช่
คำอธิบาย: โหมดการแสดงผล UI สำหรับแอคชันครับ
ใช้ควบคุมวิธีการแสดงผลของแอคชันใน UI ครับ
โหมดที่รองรับ:
'dialog' - โหมดกล่องโต้ตอบ (Dialog)'drawer' - โหมดลิ้นชัก (Drawer)'embed' - โหมดฝัง (Embed)ตัวอย่าง:
ประเภท: ActionScene | ActionScene[]
จำเป็น: ไม่ใช่
คำอธิบาย: สถานการณ์การใช้งานสำหรับแอคชันครับ
ใช้จำกัดการใช้งานแอคชันให้อยู่ในสถานการณ์ที่เฉพาะเจาะจงเท่านั้นครับ
สถานการณ์ที่รองรับ:
'settings' - สถานการณ์การตั้งค่า (Settings scene)'runtime' - สถานการณ์รันไทม์ (Runtime scene)'design' - สถานการณ์ออกแบบ (Design-time scene)ตัวอย่าง:
ประเภท: number
จำเป็น: ไม่ใช่
คำอธิบาย: น้ำหนักการจัดเรียงสำหรับแอคชันครับ
ใช้ควบคุมลำดับการแสดงผลของแอคชันในรายการ โดยค่าที่น้อยกว่าจะแสดงผลก่อนครับ
ตัวอย่าง: