El Administrador de métricas recopila e informa todas las métricas correspondientes al lugar de trabajo de Blockly. En esta guía, se describe el significado de cada conjunto de métricas que muestra el Administrador de métricas. Para obtener más información sobre el Administrador de métricas, también puedes mirar nuestra Información detallada sobre las métricas de 2021.
Métricas
Métricas de la caja de herramientas
workspace.getMetricsManager().getToolboxMetrics();
Las métricas de la caja de herramientas se componen de height
, width
y position
de una caja de herramientas de categoría. Esto no incluye la información en el menú flotante que se adjunta a la caja de herramientas.
El position
de la caja de herramientas es del tipo Blockly.utils.toolbox.Position
.
Métricas de Flyout
workspace.getMetricsManager().getFlyoutMetrics();
Las métricas flotantes están compuestas por height
, width
y position
de una
caja de herramientas flotantes. Es importante tener en cuenta que este no es el menú flotante adjunto a la caja de herramientas de la categoría. Esto solo corresponde a las cajas de herramientas flotantes, como se muestra en la foto a continuación.
El position
del menú flotante es del tipo Blockly.utils.toolbox.Position
.
Métricas de SVG
workspace.getMetricsManager().getSvgMetrics();
Las métricas de SVG se componen de los elementos width
y height
del SVG superior del lugar de trabajo. Para el lugar de trabajo principal, es el SVG con la clase blocklySvg
. Este SVG incluye el lugar de trabajo visible y la caja de herramientas.
Ver métricas
workspace.getMetricsManager().getViewMetrics(opt_getWorkspaceCoordinates);
Las métricas de vista se componen de height
, width
, top
y left
del viewport. El viewport es la parte visible del lugar de trabajo. Esto no incluye ninguno de los tipos de caja de herramientas.
La esquina superior izquierda se relaciona con el origen del lugar de trabajo. A medida que arrastramos el espacio de trabajo, se actualizan las posiciones izquierda y superior del viewport.
Métricas absolutas
workspace.getMetricsManager().getAbsoluteMetrics();
Las métricas absolutas están compuestas por el desplazamiento top
y left
del viewport respecto del archivo SVG de pareng. Según dónde se encuentre la caja de herramientas en el lugar de trabajo, por lo general, esto es el ancho o la altura de la caja de herramientas.
Cifras del contenido
workspace.getMetricsManager().getContentMetrics(opt_getWorkspaceCoordinates);
Las métricas de contenido se componen de los elementos height
, width
, top
y left
del cuadro delimitador alrededor de cualquier bloque o comentario del lugar de trabajo.
Métricas de desplazamiento
workspace.getMetricsManager().getScrollMetrics(opt_getWorkspaceCoordinates);
Las métricas de desplazamiento se componen de height
, width
, top
y left
del área desplazable. En un lugar de trabajo móvil, el área desplazable es el área de contenido más un poco de padding.
Sistemas de coordenadas
De forma predeterminada, todas las métricas que calcula el Administrador de métricas se muestran como coordenadas de píxeles. Cuando corresponda, existe la opción de obtener ciertas métricas en las coordenadas del lugar de trabajo si pasas true
a los métodos de las métricas. Por ejemplo, metricsManager.getViewMetrics(true)
.
workspaceCoordinate = pixelCoordinates / workspace.scale
Las coordenadas del lugar de trabajo, por lo general, se usan para elementos que se ubican en el lugar de trabajo, como bloques y comentarios. Las coordenadas del lugar de trabajo no cambian a medida que el usuario acerca o aleja la imagen.
Anula métricas
Los desarrolladores que deseen proporcionar sus propias métricas para el lugar de trabajo pueden registrar un objeto de administrador de métricas sustituto que implemente la interfaz IMetricsManager
o extienda Blockly.MetricsManager
.
Puedes encontrar un ejemplo de esto en el complemento Continuous Toolbox o en el complemento de bordes fijos.