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 של הפרנג. בדרך כלל זהו הרוחב או הגובה של ארגז הכלים, בהתאם למיקום של ארגז הכלים בסביבת העבודה.
מדדי תוכן
workspace.getMetricsManager().getContentMetrics(opt_getWorkspaceCoordinates);
מדדי התוכן מורכבים מהתוויות height
, width
, top
ו-left
בתיבה התוחמת את כל הבלוקים או התגובות ב-Workspace.
גלילת המדדים
workspace.getMetricsManager().getScrollMetrics(opt_getWorkspaceCoordinates);
מדדי הגלילה מורכבים מהמדדים height
, width
, top
ו-left
של האזור שניתן לגלול. לסביבת עבודה ניידת, האזור הניתן לגלילה הוא אזור התוכן עם מרווח פנימי מסוים.
מערכות קואורדינטות
כברירת מחדל, כל המדדים שמחושבים על ידי Metrics Manager מוחזרים כקואורדינטות של פיקסלים. במקרים הרלוונטיים, יש אפשרות לקבל מדדים מסוימים בקואורדינטות של סביבת העבודה על ידי העברת true
לשיטות של המדדים. למשל, metricsManager.getViewMetrics(true)
.
workspaceCoordinate = pixelCoordinates / workspace.scale
קואורדינטות של Workspace בדרך כלל משמשות לפריטים שנמצאים בסביבת העבודה, כמו בלוקים ותגובות של סביבת העבודה. הקואורדינטות של סביבת העבודה לא משתנות כשהמשתמש מגדיל או מקטין את התצוגה.
עקיפת מדדים
מפתחים שרוצים לספק מדדים משלהם לסביבת העבודה יכולים לרשום אובייקט חלופי של מנהל מדדים שמטמיע את הממשק IMetricsManager
או מרחיב את Blockly.MetricsManager
.
ניתן לראות דוגמה לכך בפלאגין Continuous Toolbox או בפלאגין Standarded Edges.