Le gestionnaire de métriques

Le gestionnaire de métriques collecte toutes les métriques liées à l'espace de travail Blockly et génère des rapports sur celles-ci. 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 présentation détaillée des métriques 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 éléments height, width et position d'une boîte à outils de catégorie. Cela n'inclut pas les informations sur le menu déroulant joint à 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 volantes

workspace.getMetricsManager().getFlyoutMetrics();

Les métriques de menu déroulant sont composées des éléments height, width et position d'une boîte à outils volant. Il est important de noter qu'il ne s'agit pas du menu déroulant joint à la boîte à outils de catégorie. Cela ne concerne que les boîtes à outils volantes, comme illustré dans la photo ci-dessous.

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

L'élément position du menu déroulant est de type Blockly.utils.toolbox.Position.

Métriques SVG

workspace.getMetricsManager().getSvgMetrics();

Les métriques SVG sont composées des éléments width et 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 la vue sont composées des éléments 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 n'incluant pas la boîte à outils.

L'angle supérieur gauche correspond à l'origine de l'espace de travail. Les positions supérieure et gauche de la fenêtre d'affichage sont mises à jour lorsque vous faites glisser le curseur sur l'espace de travail.

Espace de travail Blockly avec un rectangle bleu autour de la zone qui n'inclut pas la boîte à outils et un décalage depuis l'angle 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 pareng. 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 au-dessus de l'espace de travail. Espace de travail Blockly avec une boîte à outils horizontale. Il y a une ligne bleue à 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 des champs 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 case bleue autour de son contenu.

Faire défiler les métriques

workspace.getMetricsManager().getScrollMetrics(opt_getWorkspaceCoordinates);

Les métriques de défilement sont composées des éléments height, width, top et left de la zone déroulante. Pour un espace de travail mobile, la zone déroulante correspond à la zone de contenu plus une marge intérieure.

Espace de travail Blockly entouré d'un grand cadre bleu.

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 des 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, tels que les blocs et les commentaires. Les coordonnées de l'espace de travail ne changent pas lorsque l'utilisateur fait un zoom avant ou arrière.

Remplacer des métriques

Les développeurs qui souhaitent fournir leurs propres métriques pour l'espace de travail peuvent enregistrer un objet gestionnaire de métriques de remplacement qui implémente l'interface IMetricsManager ou étend Blockly.MetricsManager.

Vous en trouverez un exemple dans le plug-in Continue Toolbox ou dans le plug-in Bords fixes.