אירועים

כל שינוי בסביבת העבודה מפעיל אירוע. האירועים האלה מתארים באופן מלא את המצב לפני ואחרי כל שינוי.

האזנה לאירועים

בסביבות העבודה יש שיטות של 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 כדי להגדיר פונקציה שתתבצע קריאה בכל פעם שיתבצע שינוי בסביבת העבודה של הבלוק.

סוגי אירועים.

עיינו במסמכי התיעוד למידע על אירועים ספציפיים.

הדגמה (דמו)

הדגמת השיקוף היא דוגמה לדברים המגניבים שאפשר לעשות באירועים. בהדגמה הזו יש שתי סביבות עבודה עם חסימת נתונים, שמסונכרנות באמצעות אירועים.