Le gestionnaire de métriques collecte et génère des rapports sur toutes les métriques liées à l'espace de travail Blockly. Ce guide décrit la signification de chaque ensemble de métriques renvoyé par le Gestionnaire de métriques. Pour en savoir plus sur le Gestionnaire de métriques, vous pouvez également regarder notre analyse approfondie des métriques de 2021.
Métriques
Métriques de la boîte à outils
workspace.getMetricsManager().getToolboxMetrics();
Les métriques de la boîte à outils sont composées des height
, width
et position
d'une boîte à outils de catégorie. Cela n'inclut pas les informations du menu volant associé à la boîte à outils.
Le position
de la boîte à outils est de type Blockly.utils.toolbox.Position
.
Métriques du menu déroulant
workspace.getMetricsManager().getFlyoutMetrics();
Les métriques du menu déroulant sont composées des height
, width
et position
d'une boîte à outils de menu déroulant. Il est important de noter qu'il ne s'agit pas du menu déroulant associé à la boîte à outils des catégories. Cela ne concerne que les boîtes à outils déroulantes, comme illustré sur la photo ci-dessous.
Le position
du menu volant est de type Blockly.utils.toolbox.Position
.
Métriques SVG
workspace.getMetricsManager().getSvgMetrics();
Les métriques SVG sont composées du width
et du height
du SVG parent de l'espace de travail. Pour l'espace de travail principal, il s'agit du SVG avec la classe blocklySvg
.
Ce fichier SVG inclut l'espace de travail visible ainsi que la boîte à outils.
Afficher les métriques
workspace.getMetricsManager().getViewMetrics(opt_getWorkspaceCoordinates);
Les métriques de vue sont composées de height
, width
, top
et left
de la fenêtre d'affichage. La fenêtre d'affichage correspond à la partie visible de l'espace de travail. Cela n'inclut aucun type de boîte à outils.
L'angle supérieur gauche est relatif à l'origine de l'espace de travail. Lorsque nous faisons glisser la fenêtre d'affichage dans l'espace de travail, les positions supérieure et gauche de la fenêtre d'affichage sont mises à jour.
Métriques absolues
workspace.getMetricsManager().getAbsoluteMetrics();
Les métriques absolues sont composées du décalage top
et left
de la fenêtre d'affichage par rapport au SVG parent. Selon l'emplacement de la boîte à outils dans l'espace de travail, il s'agit généralement de la largeur ou de la hauteur de la boîte à outils.
Mesures du réseau de contenu
workspace.getMetricsManager().getContentMetrics(opt_getWorkspaceCoordinates);
Les métriques de contenu sont composées de height
, width
, top
et left
du cadre de délimitation autour des blocs ou des commentaires de l'espace de travail.
Métriques de défilement
workspace.getMetricsManager().getScrollMetrics(opt_getWorkspaceCoordinates);
Les métriques de défilement sont composées des height
, width
, top
et left
de la zone à défilement. Pour un espace de travail mobile, la zone de défilement correspond à la zone de contenu plus une marge intérieure.
Systèmes de coordonnées
Par défaut, toutes les métriques calculées par le Gestionnaire de métriques sont renvoyées sous forme de coordonnées de pixels. Le cas échéant, vous pouvez obtenir certaines métriques dans les coordonnées de l'espace de travail en transmettant true
aux méthodes de métriques. Exemple : metricsManager.getViewMetrics(true)
.
workspaceCoordinate = pixelCoordinates / workspace.scale
Les coordonnées de l'espace de travail sont généralement utilisées pour les éléments qui se trouvent dans l'espace de travail, comme les blocs et les commentaires. Les coordonnées de l'espace de travail ne changent pas lorsque l'utilisateur effectue un zoom avant ou arrière.
Remplacer les métriques
Les développeurs qui souhaitent fournir leurs propres métriques pour l'espace de travail peuvent enregistrer un objet de gestionnaire de métriques de substitution qui implémente l'interface IMetricsManager
ou étend Blockly.MetricsManager
.
Vous trouverez un exemple dans le plug-in Continuous Toolbox ou dans le plug-in Fixed Edges.