تمت ترجمة هذه الوثائق تلقائيًا بواسطة الذكاء الاصطناعي.
يُعرّف تعريف الإجراء (ActionDefinition) الإجراءات القابلة لإعادة الاستخدام، والتي يمكن الرجوع إليها في عدة مسارات عمل وخطوات. الإجراء هو وحدة التنفيذ الأساسية في FlowEngine، ويغلف منطق العمل المحدد.
النوع: string
مطلوب: نعم
الوصف: المعرف الفريد للإجراء
يُستخدم للإشارة إلى الإجراء في خطوة ما عبر خاصية use.
مثال:
النوع: string
مطلوب: لا
الوصف: عنوان العرض للإجراء
يُستخدم للعرض في واجهة المستخدم ولأغراض التصحيح.
مثال:
النوع: (ctx: TCtx, params: any) => Promise<any> | any
مطلوب: نعم
الوصف: دالة المعالجة للإجراء
تمثل المنطق الأساسي للإجراء، حيث تستقبل السياق والمعاملات، وتُعيد نتيجة المعالجة.
مثال:
النوع: Record<string, any> | ((ctx: TCtx) => Record<string, any> | Promise<Record<string, any>>)
مطلوب: لا
الوصف: المعاملات الافتراضية للإجراء
تُستخدم لملء المعاملات بقيم افتراضية قبل تنفيذ الإجراء.
مثال:
النوع: Record<string, ISchema> | ((ctx: TCtx) => Record<string, ISchema> | Promise<Record<string, ISchema>>)
مطلوب: لا
الوصف: مخطط تهيئة واجهة المستخدم (UI) للإجراء
يُحدد كيفية عرض الإجراء في واجهة المستخدم وتكوين النموذج الخاص به.
مثال:
النوع: (ctx: FlowSettingsContext<TModel>, params: any, previousParams: any) => void | Promise<void>
مطلوب: لا
الوصف: دالة الربط التي تُنفّذ قبل حفظ المعاملات
تُنفّذ قبل حفظ معاملات الإجراء، ويمكن استخدامها للتحقق من صحة المعاملات أو تحويلها.
مثال:
النوع: (ctx: FlowSettingsContext<TModel>, params: any, previousParams: any) => void | Promise<void>
مطلوب: لا
الوصف: دالة الربط التي تُنفّذ بعد حفظ المعاملات
تُنفّذ بعد حفظ معاملات الإجراء، ويمكن استخدامها لتشغيل عمليات أخرى.
مثال:
النوع: boolean | ((ctx: TCtx) => boolean | Promise<boolean>)
مطلوب: لا
الوصف: هل يجب استخدام المعاملات الخام؟
إذا كانت القيمة true، فسيتم تمرير المعاملات الخام مباشرة إلى دالة المعالجة دون أي معالجة.
مثال:
النوع: StepUIMode | ((ctx: FlowRuntimeContext<TModel>) => StepUIMode | Promise<StepUIMode>)
مطلوب: لا
الوصف: وضع عرض واجهة المستخدم (UI) للإجراء
يتحكم في كيفية عرض الإجراء في واجهة المستخدم.
الأوضاع المدعومة:
'dialog' - وضع الحوار (Dialog)'drawer' - وضع الدرج (Drawer)'embed' - وضع التضمين (Embed)مثال:
النوع: ActionScene | ActionScene[]
مطلوب: لا
الوصف: سيناريوهات استخدام الإجراء
يُقيّد استخدام الإجراء في سيناريوهات محددة فقط.
السيناريوهات المدعومة:
'settings' - سيناريو الإعدادات'runtime' - سيناريو وقت التشغيل'design' - سيناريو وقت التصميممثال:
النوع: number
مطلوب: لا
الوصف: وزن ترتيب الإجراء
يتحكم في ترتيب عرض الإجراء في القائمة، حيث تعني القيمة الأصغر موقعًا أعلى.
مثال: