يؤدي كل تغيير في مساحة العمل إلى بدء حدث. تصف هذه الأحداث بالكامل الحالة السابقة واللاحقة لكل تغيير.
الاستماع إلى الأحداث
تتضمّن مساحات العمل الطريقتَين addChangeListener
وremoveChangeListener
اللتين يمكن
استخدامهما للاستماع إلى بث الأحداث. ومن الأمثلة على ذلك
إنشاء الرموز البرمجية في الوقت الفعلي.
هناك مثال آخر وهو
العرض التقديمي لأكبر عدد من المجموعات المسموح بها.
وكما هو الحال في أغلب الأحيان، لا يهتم أي من المثالَين بما كان عليه الحدث الذي أدّى إلى بدء التفاعل. ما عليك سوى الاطّلاع على الحالة الحالية لمساحة العمل.
ستنظر أداة معالجة الأحداث الأكثر تعقيدًا في الحدث المشغِّل. يرصد المثال التالي عندما ينشئ المستخدم تعليقه الأول، ويُرسِل تنبيهًا، ثم يتوقف عن الاستماع حتى لا يتم تشغيل أي تنبيهات أخرى.
function onFirstComment(event) {
if (event.type == Blockly.Events.BLOCK_CHANGE &&
event.element == 'comment' &&
!event.oldValue && event.newValue) {
alert('Congratulations on creating your first comment!')
workspace.removeChangeListener(onFirstComment);
}
}
workspace.addChangeListener(onFirstComment);
للاستماع إلى أي أحداث تحدث داخل نافذة منبثقة، يمكن إضافة مستمع إلى مساحة عمل النافذة المنبثقة.
var flyoutWorkspace = yourWorkspace.getFlyout().getWorkspace();
flyoutWorkspace.addChangeListener(onFirstComment);
تتوفّر للكتل طريقة أخرى للاستماع إلى أحداث البث. يمكن للوحدة تعريف دالة onchange
أو استخدامsetOnChange
لضبط دالة سيتمّ استدعاؤها عند حدوث تغيير في مساحتها
العمل.
أنواع الأحداث
يُرجى مراجعة المستندات المرجعية للحصول على معلومات حول الأحداث الفردية.
عرض توضيحي
للحصول على أمثلة حول الإجراءات الرائعة التي يمكنك تنفيذها باستخدام الأحداث، يمكنك مشاهدة العرض التوضيحي للنسخ المطابق. يتضمّن هذا العرض التجريبي مساحتَي عمل في Blockly يتمّت مزامنتهما باستخدام الأحداث.