מנהל המדדים

Metrics Manager אוסף ומדווח על כל המדדים שקשורים לסביבת העבודה עםBlockly. במדריך הזה מתוארת המשמעות של כל קבוצת מדדים שמוחזרת מ-Metrics Manager. למידע נוסף על Metrics Manager תוכלו גם לצפות ב-2021 Metrics Deep Dive.

מדדים

מדדי ארגז הכלים

workspace.getMetricsManager().getToolboxMetrics();

המדדים של ארגז הכלים מורכבים מהמדדים height, width ו-position של ארגז כלים של קטגוריה. הוא לא כולל מידע על השדה הנשלף שמצורף לארגז הכלים.

סביבת העבודה 'חסימה' עם חיצים שמראים את הרוחב והגובה של ארגז הכלים.

ה-position של ארגז הכלים הוא מסוג Blockly.utils.toolbox.Position.

מדדי Flyout

workspace.getMetricsManager().getFlyoutMetrics();

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

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

הערך position של השדה הנשלף הוא מסוג Blockly.utils.toolbox.Position.

מדדי SVG

workspace.getMetricsManager().getSvgMetrics();

מדדי ה-SVG מורכבים מה-width וה-height של תבנית ההורה של סביבת העבודה. בסביבת העבודה הראשית, זהו ה-SVG עם המחלקה blocklySvg. קובץ ה-SVG הזה כולל את סביבת העבודה הנראית לעין וגם את ארגז הכלים.

סביבת העבודה עם מערכת 'חסימה' עם מלבן כחול מסביבה.

הצגת המדדים

workspace.getMetricsManager().getViewMetrics(opt_getWorkspaceCoordinates);

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

סביבת העבודה עם 'חסימה' עם מלבן כחול מסביב לאזור, לא כולל ארגז הכלים.

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

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

מדדים מוחלטים

workspace.getMetricsManager().getAbsoluteMetrics();

המדדים המוחלטים מורכבים מההיסט top ו-left של אזור התצוגה מפורמט SVG של הפרנג. בדרך כלל זהו הרוחב או הגובה של ארגז הכלים, בהתאם למיקום של ארגז הכלים בסביבת העבודה.

סביבת העבודה עם הכיתובBlockly (חסימה) עם קו כחול מימין לארגז הכלים ומעל לסביבת העבודה. סביבת העבודה עם מערכת 'חסימה' עם ארגז כלים אופקי. מופיע קו כחול בצד ימין של סביבת העבודה ומתחת לארגז הכלים.

מדדי תוכן

workspace.getMetricsManager().getContentMetrics(opt_getWorkspaceCoordinates);

מדדי התוכן מורכבים מהתוויות height, width, top ו-left בתיבה התוחמת את כל הבלוקים או התגובות ב-Workspace.

סביבת העבודה עם תוכן 'blockly' עם תיבה כחולה מסביב לתוכן של סביבת העבודה.

גלילת המדדים

workspace.getMetricsManager().getScrollMetrics(opt_getWorkspaceCoordinates);

מדדי הגלילה מורכבים מהמדדים height, width, top ו-left של האזור שניתן לגלול. לסביבת עבודה ניידת, האזור הניתן לגלילה הוא אזור התוכן עם מרווח פנימי מסוים.

סביבת העבודה ב-Blockly עם תיבה כחולה גדולה מסביבה.

מערכות קואורדינטות

כברירת מחדל, כל המדדים שמחושבים על ידי Metrics Manager מוחזרים כקואורדינטות של פיקסלים. במקרים הרלוונטיים, יש אפשרות לקבל מדדים מסוימים בקואורדינטות של סביבת העבודה על ידי העברת true לשיטות של המדדים. למשל, metricsManager.getViewMetrics(true).

workspaceCoordinate = pixelCoordinates / workspace.scale

קואורדינטות של Workspace בדרך כלל משמשות לפריטים שנמצאים בסביבת העבודה, כמו בלוקים ותגובות של סביבת העבודה. הקואורדינטות של סביבת העבודה לא משתנות כשהמשתמש מגדיל או מקטין את התצוגה.

עקיפת מדדים

מפתחים שרוצים לספק מדדים משלהם לסביבת העבודה יכולים לרשום אובייקט חלופי של מנהל מדדים שמטמיע את הממשק IMetricsManager או מרחיב את Blockly.MetricsManager.

ניתן לראות דוגמה לכך בפלאגין Continuous Toolbox או בפלאגין Standarded Edges.