Gestionnaire de métriques

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.

Espace de travail Blockly avec des flèches indiquant la largeur et la hauteur de 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.

Espace de travail Blockly avec des flèches indiquant la largeur et la hauteur du menu déroulant.

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.

Espace de travail Blockly avec un rectangle bleu autour.

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.

Espace de travail Blockly avec un rectangle bleu autour de la zone qui n'inclut pas la 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.

Espace de travail Blockly avec un rectangle bleu autour de la zone qui n'inclut pas la boîte à outils, et une origine décalée par rapport au coin supérieur gauche.

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.

Espace de travail Blockly avec une ligne bleue à droite de la boîte à outils et en haut de l'espace de travail. Espace de travail Blockly avec une boîte à outils horizontale. Une ligne bleue se trouve à gauche de l'espace de travail et sous 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.

Espace de travail Blockly avec une boîte bleue autour du contenu 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.

Espace de travail Blockly avec une grande boîte bleue qui l'entoure.

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.