مساحة اسم الأحداث
صفوف
لكل الصف | الوصف |
---|---|
BlockBase | فئة مجردة لأي حدث مرتبط بالكتل |
BlockChange | لإعلام المستمعين عند تغيير بعض عناصر أحد الأقسام (مثل قيم الحقول والتعليقات وما إلى ذلك) |
BlockCreate | تُرسِل إشعارًا إلى المستمعين عند إنشاء كتلة (أو حزمة متصلة من الكتل). |
BlockDelete | تُرسِل هذه الرسالة إلى المستمعين عند حذف كتلة (أو حزمة متصلة من الكتل). |
BlockDrag | إرسال إشعارات إلى المستمعين عند سحب/إسقاط قالب يدويًا |
BlockFieldIntermediateChange | يُرسِل إشعارًا للمستمعين عند تغيير قيمة حقل في أحد العناصر، ولكن التغيير لم يكتمل بعد، ومن المتوقّع أن يتبعه حدث تغيير في العنصر. |
BlockMove | إرسال إشعارات إلى المستمعين عند نقل مجموعة ويمكن أن يكون ذلك من اتصال إلى آخر، أو من موقع جغرافي في مساحة العمل إلى آخر. |
BubbleOpen | فئة لحدث فتح فقاعة |
انقر | يُرسِل إشعارًا للمستمعين بأنّه تم النقر على عنصر مربّع. |
CommentBase | فئة مجردة لحدث التعليق |
CommentChange | إشعار المستمعين بأنّه تم تغيير محتوى تعليق في مساحة العمل |
CommentCollapse | |
CommentCreate | إرسال إشعار للمستمعين بأنّه تم إنشاء تعليق في مساحة العمل |
CommentDelete | إرسال إشعار للمستمعين بأنّه تم حذف تعليق في مساحة العمل |
CommentDrag | إرسال إشعار للمستمعين عند سحب تعليق أو إسقاطه يدويًا |
CommentMove | إرسال إشعار للمستمعين بأنّه تم نقل تعليق في مساحة العمل |
CommentResize | إرسال إشعار إلى المستمعين بأنّه تم تغيير حجم تعليق في مساحة العمل |
FinishedLoading | يُرسِل إشعارًا إلى المستمعين عند انتهاء مساحة العمل من إلغاء تسلسل البيانات من تنسيق JSON/XML. |
تم اختياره | فئة لحدث محدّد لإعلام المستمعين بأنّه تم اختيار عنصر جديد |
ThemeChange | إشعار المستمعين بأنّه تم تغيير مظهر مساحة العمل |
ToolboxItemSelect | يُرسِل إشعارًا للمستمعين بأنّه تم اختيار عنصر من صندوق الأدوات. |
TrashcanOpen | إرسال إشعارات إلى المستمعين عند فتح أو إغلاق "المهملات" |
UiBase | الطبقة الأساسية لحدث واجهة المستخدم أحداث واجهة المستخدم هي أحداث لا تحتاج إلى إرسالها عبر الإنترنت لكي يعمل التعديل المتعدد المستخدمين (مثل الانتقال في مساحة العمل والتكبير/التصغير وفتح فئات صندوق الأدوات). لا يمكن التراجع عن أحداث واجهة المستخدم أو إعادتها. |
VarBase | فئة مجردة لحدث متغيّر |
VarCreate | يُعلم المستمعين بأنّه تم إنشاء نموذج متغيّر. |
VarDelete | لإرسال إشعار للمستمعين بأنّه تم حذف نموذج متغيّر |
VarRename | إشعار المستمعين بأنّه تم تغيير اسم نموذج متغيّر |
VarTypeChange | يُعلم المستمعين بأنّه تم تغيير نوع متغيّر. |
ViewportChange | يُرسِل إشعارًا للمستمعين بأنّه تم تغيير موضع سطح مساحة العمل أو حجمه. لا يتم إرسال إشعار عند تغيير حجم مساحة العمل نفسها. |
الفئات المجردة
فئة مجردة | الوصف |
---|---|
الملخّص | فئة مجردة لحدث |
التعدادات
التعداد | الوصف |
---|---|
BubbleType | |
ClickTarget |
الدوال
الوظيفة | الوصف |
---|---|
clearPendingUndo() | عدِّل أحداث التراجع في انتظار المراجعة لكي لا تنتقل إلى حزمة التراجع عند تنشيطها. يتم استدعاؤه من خلال Workspace.clearUndo. |
disable() | توقّف عن إرسال الأحداث. يجب أن تستدعي كلّ مكالمة لهذه الدالة أيضًا الدالة enable. |
disableOrphans(event) | يمكنك ضبط ما إذا كان سيتم إيقاف القسم بناءً على ما إذا كان متصلاً بشكل صحيح. استخدِم هذا الأسلوب في التطبيقات التي يجب فيها ربط جميع الكتل بكتلة علوية. |
enable() | ابدأ بإرسال الأحداث. ما لم تكن الأحداث قد سبق أن تم إيقافها عند إجراء الطلب المقابل للإيقاف. |
filter(queue) | فلترة الأحداث في "قائمة الانتظار" من خلال دمج النُسخ المكرّرة وإزالة الأحداث غير الصالحة وإعادة تسجيل أحداث BlockChange سجلّ هذه الدالة: تمت إضافة هذه الدالة في الأصل في الإصدار cf257ea5 بهدف تقليل العدد الإجمالي للأحداث المُرسَلة بشكل كبير. في البداية، كان هذا الإجراء يؤثر فقط في أحداث BlockMove، ولكن تمّت إضافة أحداث أخرى بمرور الوقت. تمت إضافة رمز لإعادة ترتيب أحداث BlockChange التي تمت إضافتها في الإصدار 5578458، لأسباب غير معروفة، ولكن على الأرجح كجزء من محاولة ناجحة جزئيًا فقط لحلّ المشاكل المتعلقة بترتيب الأحداث أثناء عمليات تغيير الكتل. من المفترض أن يكون قد تمت إضافة هذا الرمز البرمجي إلى أعلى الدالة، قبل الدمج وإزالة القيم الخالية، ولكن تمت إضافته في أسفل الدالة لأسباب نسيناها الآن. راجِع تحقيقات الأخطاء هذه للحصول على مناقشة أكثر تفصيلاً للمشكلة الأساسية وبعض حالات الفشل التي حدثت بسبب هذا الإصلاح غير المكتمل أو غير الصحيح: https://github.com/google/blockly/issues/8225#issuecomment-2195751783 https://github.com/google/blockly/issues/2037#issuecomment-2209696351 في وقت لاحق، في الطلب المقدَّم لمراجعة الرمز البرمجي رقم 1205، تم استبدال التنفيذ الأصلي بترتيب O(n^2) بتنفيذ يستغرق وقتًا خطيًا، على الرغم من إجراء إصلاحات إضافية لاحقًا. في آب (أغسطس) 2024، تم إجراء عدد من التبسيطات المهمة: كان يتم استدعاء هذه الدالة سابقًا من Workspace.prototype.undo، ولكن تسبّبت عملية تحويل الأحداث من خلال هذه الدالة في حدوث المشكلة رقم 7026 (يُرجى العِلم أنّه سيتم دمج الأحداث بشكل مختلف بترتيب عكسي مقارنةً بالترتيب الأمامي). كان الإصلاح الذي تم اختياره في الأصل لهذه المشكلة هو إضافة رمز إلى fireNow (في الطلب المقدَّم رقم 7069) لفلترة .undoStack_ و.redoStack_ بعد أي مساحة عمل كانت قد شاركت للتو في إرسال الأحداث. يبدو أنّ هذا الإجراء قد حلّ المشكلة، ولكنه أضاف تعقيدًا إضافيًا كبيرًا وصعّب فهم كيفية معالجة الأحداث للتراجع/الإعادة، لذا تمت إزالة الطلب من undo ورمز المعالجة اللاحقة، وتم ضبط forward=true على الإعداد التلقائي، وتم إيقاف الدالة مع forward=false نهائيًا. في الوقت نفسه، تم استبدال الرمز البرمجي الذي يتضمّن أخطاء لإعادة ترتيب أحداث BlockChange بإصدار أقلّ خطأً من الوظيفة نفسها في دالة جديدة، وهي enqueueEvent، التي يتمّ استدعاؤها من fireInternal، ما يضمن ترتيب الأحداث بالترتيب الصحيح في وقت استدعاء الفلتر. بالإضافة إلى ذلك، تم تعديل رمز دمج الأحداث لكي يتم دمج الأحداث المجاورة فقط. وقد سهّل ذلك عملية التنفيذ مع ضمان عدم إعادة ترتيب الأحداث عند دمجها. |
fire(event) | إضافة حدث إلى "قائمة الانتظار" لإرساله إلى أدوات معالجة التغييرات ملاحظات: - يتم إدراج الأحداث في قائمة الانتظار إلى أن يتم تجاوز مهلة، وذلك عادةً بعد اكتمال العرض أو في نهاية المهمة الصغيرة الحالية، إذا لم تكن قيد التشغيل في متصفّح. - تخضع الأحداث المُدرَجة في "قائمة الانتظار" لتعديل مدمِّر من خلال دمجها مع الأحداث المُدرَجة في "قائمة الانتظار" لاحقًا، ولكن فقط إلى أن يتم تشغيلها. - يتم إرسال الأحداث من خلال طريقة fireChangeListener في مساحة العمل المتأثرة. |
fromJson(json, workspace) | فك ترميز ملف JSON إلى حدث. |
get(eventType) | تحصل على فئة لنوع حدث معيّن من السجلّ. |
getGroup() | المجموعة الحالية |
getRecordUndo() | تعرِض ما إذا كانت ستتم إضافة الأحداث إلى حزمة التراجع أم لا. |
isEnabled() | تعرِض ما إذا كان يمكن تنشيط الأحداث أم لا. |
setGroup(state) | بدء مجموعة أو إيقافها |
setRecordUndo(newValue) | لضبط ما إذا كان يجب إضافة الأحداث إلى حزمة التراجع. |
واجهات
المتغيّرات
متغيّر | الوصف |
---|---|
BLOCK_CHANGE | |
BLOCK_CREATE | |
BLOCK_DELETE | |
BLOCK_DRAG | |
BLOCK_FIELD_INTERMEDIATE_CHANGE | |
BLOCK_MOVE | |
BUBBLE_OPEN | |
BUMP_EVENTS | قائمة بالأحداث التي تؤدي إلى إعادة عرض العناصر في الجزء المرئي من مساحة العمل لا يجب الخلط بين هذه الميزة وميزة "الدفع إلى الأعلى" التي تجعل الاتصالات غير المتصلة تبدو متصلة. |
تغيير | |
انقر | |
COMMENT_CHANGE | |
COMMENT_CREATE | |
COMMENT_DELETE | |
COMMENT_DRAG | |
COMMENT_MOVE | |
COMMENT_RESIZE | |
إنشاء | |
حذف | |
FINISHED_LOADING | |
MOVE | |
تم اختياره | |
THEME_CHANGE | |
TOOLBOX_ITEM_SELECT | |
TRASHCAN_OPEN | |
واجهة المستخدم | |
VAR_CREATE | |
VAR_DELETE | |
VAR_RENAME | |
VIEWPORT_CHANGE |
الأسماء البديلة
النوع: عنوان بديل | الوصف |
---|---|
BumpEvent | نوع الأحداث التي تؤدي إلى إعادة عرض العناصر في الجزء المرئي من مساحة العمل لا يجب الخلط بين هذه الميزة وميزة "الدفع إلى الأعلى" التي تجعل الاتصالات غير المتصلة تبدو متصلة. |