เอกสารนี้แปลโดย AI หากมีข้อมูลที่ไม่ถูกต้อง โปรดดูเวอร์ชันภาษาอังกฤษ
FlowDefinition กำหนดโครงสร้างพื้นฐานและการตั้งค่าของโฟลว์ ซึ่งเป็นหนึ่งในแนวคิดหลักของ Flow Engine ครับ/ค่ะ โดยจะอธิบายถึงเมตาเดตา เงื่อนไขการทริกเกอร์ และขั้นตอนการทำงานของโฟลว์
ประเภท: string
จำเป็น: ใช่
คำอธิบาย: ตัวระบุเฉพาะสำหรับโฟลว์
แนะนำให้ใช้รูปแบบการตั้งชื่อ xxxSettings ที่สอดคล้องกัน เช่น:
pageSettingstableSettingscardSettingsformSettingsdetailsSettingsbuttonSettingspopupSettingsdeleteSettingsdatetimeSettingsnumberSettingsการตั้งชื่อแบบนี้ช่วยให้ระบุและบำรุงรักษาได้ง่ายขึ้น และแนะนำให้ใช้ให้สอดคล้องกันทั่วทั้งโปรเจกต์ครับ/ค่ะ
ตัวอย่าง:
ประเภท: string
จำเป็น: ไม่
คำอธิบาย: ชื่อเรื่องของโฟลว์ที่มนุษย์อ่านเข้าใจได้
แนะนำให้ใช้รูปแบบการตั้งชื่อ Xxx settings ที่สอดคล้องกับ key เช่น:
Page settingsTable settingsCard settingsForm settingsDetails settingsButton settingsPopup settingsDelete settingsDatetime settingsNumber settingsการตั้งชื่อแบบนี้จะชัดเจนและเข้าใจง่ายขึ้น ช่วยให้การแสดงผลบน UI และการทำงานร่วมกันเป็นทีมสะดวกขึ้นครับ/ค่ะ
ตัวอย่าง:
ประเภท: boolean
จำเป็น: ไม่
ค่าเริ่มต้น: false
คำอธิบาย: กำหนดว่าโฟลว์จะทำงานด้วยตนเองเท่านั้นหรือไม่
true: โฟลว์จะถูกทริกเกอร์ด้วยตนเองเท่านั้นและจะไม่ทำงานโดยอัตโนมัติfalse: โฟลว์สามารถทำงานโดยอัตโนมัติได้ (หากไม่มีคุณสมบัติ on จะทำงานโดยอัตโนมัติเป็นค่าเริ่มต้น)ตัวอย่าง:
ประเภท: number
จำเป็น: ไม่
ค่าเริ่มต้น: 0
คำอธิบาย: ลำดับการทำงานของโฟลว์ ค่าที่น้อยกว่าจะทำงานก่อน
สามารถใช้ค่าติดลบเพื่อควบคุมลำดับการทำงานของหลายโฟลว์ได้ครับ/ค่ะ
ตัวอย่าง:
ประเภท: FlowEvent<TModel>
จำเป็น: ไม่
คำอธิบาย: การตั้งค่าเหตุการณ์ที่อนุญาตให้โฟลว์นี้ถูกทริกเกอร์โดย dispatchEvent
ใช้สำหรับประกาศชื่อเหตุการณ์ที่จะทริกเกอร์เท่านั้น (เป็นสตริงหรือ { eventName }) โดยไม่รวมฟังก์ชันสำหรับจัดการเหตุการณ์
ประเภทเหตุการณ์ที่รองรับ:
'click' - เหตุการณ์คลิก'submit' - เหตุการณ์ส่งข้อมูล'reset' - เหตุการณ์รีเซ็ต'remove' - เหตุการณ์ลบ'openView' - เหตุการณ์เปิดมุมมอง'dropdownOpen' - เหตุการณ์เปิดดรอปดาวน์'popupScroll' - เหตุการณ์เลื่อนป๊อปอัป'search' - เหตุการณ์ค้นหา'customRequest' - เหตุการณ์คำขอที่กำหนดเอง'collapseToggle' - เหตุการณ์สลับการยุบ/ขยายตัวอย่าง:
ประเภท: Record<string, StepDefinition<TModel>>
จำเป็น: ใช่
คำอธิบาย: คำจำกัดความของขั้นตอนในโฟลว์
กำหนดขั้นตอนทั้งหมดที่อยู่ในโฟลว์ โดยแต่ละขั้นตอนจะมีคีย์เฉพาะตัว
ตัวอย่าง:
ประเภท: Record<string, any> | ((ctx: FlowModelContext) => StepParam | Promise<StepParam>)
จำเป็น: ไม่
คำอธิบาย: พารามิเตอร์เริ่มต้นระดับโฟลว์
เมื่อมีการสร้างอินสแตนซ์ของโมเดล (createModel) ระบบจะเติมค่าเริ่มต้นให้กับพารามิเตอร์ของขั้นตอนใน "โฟลว์ปัจจุบัน" โดยจะเติมเฉพาะค่าที่ขาดหายไปเท่านั้น ไม่มีการเขียนทับค่าที่มีอยู่แล้ว รูปแบบการคืนค่าที่แน่นอนคือ: { [stepKey]: params }
ตัวอย่าง: