הכלי לניהול מדדים אוסף את כל המדדים שקשורים לסביבת העבודה של Blockly ומדווח עליהם. במדריך הזה מוסבר מה המשמעות של כל קבוצת מדדים שמוחזרת ממרכז המדדים. למידע נוסף על המרכז למדדים, אפשר גם לצפות בניתוח המעמיק של מדדים משנת 2021.
מדדים
מדדים של ארגז הכלים
workspace.getMetricsManager().getToolboxMetrics();
מדדי ארגז הכלים מורכבים מהמדדים height
, width
ו-position
של ארגז כלים לקטגוריה. הנתונים האלה לא כוללים מידע על התפריט הנפתח שמצורף לארגז הכלים.
ה-position
של ארגז הכלים הוא מסוג Blockly.utils.toolbox.Position
.
מדדים בחלונית הנפתחת
workspace.getMetricsManager().getFlyoutMetrics();
המדדים בתפריט הנשלף מורכבים מ-height
, width
ו-position
של ארגז כלים נשלף. חשוב לציין שזה לא התפריט הנפתח שמצורף לארגז הכלים של הקטגוריה. ההסבר הזה רלוונטי רק לארגז כלים נפתח, כמו שמוצג בתמונה שלמטה.
ה-position
של התפריט הנפתח הוא מסוג Blockly.utils.toolbox.Position
.
מדדי SVG
workspace.getMetricsManager().getSvgMetrics();
מדדי ה-SVG מורכבים מ-width
ו-height
של ה-SVG הראשי של סביבת העבודה. בסביבת העבודה הראשית, זהו קובץ ה-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.getMetricsManager().getScrollMetrics(opt_getWorkspaceCoordinates);
מדדי הגלילה מורכבים מ-height
, width
, top
ו-left
של האזור הניתן לגלילה. בסביבת עבודה שאפשר להזיז, האזור שאפשר לגלול בו הוא אזור התוכן בתוספת ריווח פנימי.
מערכות קואורדינטות
כברירת מחדל, כל המדדים שמחושבים על ידי המרכז למדידת ביצועים מוחזרים כקואורדינטות של פיקסלים. במקרים הרלוונטיים, יש אפשרות לקבל מדדים מסוימים בקואורדינטות של Workspace על ידי העברת true
לשיטות המדדים. לדוגמה, metricsManager.getViewMetrics(true)
.
workspaceCoordinate = pixelCoordinates / workspace.scale
בדרך כלל, קואורדינטות של סביבת עבודה משמשות לפריטים שנמצאים בסביבת העבודה, כמו בלוקים ותגובות בסביבת העבודה. הקואורדינטות של Workspace לא משתנות כשהמשתמש מבצע זום אין וזום אאוט.
החלפת מדדים
מפתחים שרוצים לספק מדדים משלהם לסביבת העבודה יכולים לרשום אובייקט חלופי של מנהל מדדים שמטמיע את IMetricsManager
הממשק או מרחיב את Blockly.MetricsManager
.
דוגמה לכך אפשר למצוא בתוסף Continuous Toolbox או בתוסף Fixed Edges.