O Metrics Manager coleta e gera relatórios sobre todas as métricas pertencentes ao espaço de trabalho do Blockly. Neste guia, descrevemos o significado de cada conjunto de métricas retornadas do gerenciador de métricas. Para mais informações sobre o Metrics Manager, confira nossa análise detalhada das métricas de 2021.
Métricas
Métricas da caixa de ferramentas
workspace.getMetricsManager().getToolboxMetrics();
As métricas da caixa de ferramentas são compostas por height
, width
e position
de
uma caixa de ferramentas de categoria. Isso não inclui informações sobre o menu suspenso
anexado à caixa de ferramentas.
O position
da caixa de ferramentas é do tipo Blockly.utils.toolbox.Position
.
Métricas de menu suspenso
workspace.getMetricsManager().getFlyoutMetrics();
As métricas de menu suspenso são compostas por height
, width
e position
de uma caixa de ferramentas suspensa. Esse não é o menu suspenso anexado à caixa de ferramentas da categoria. Refere-se apenas a caixas de ferramentas suspensas, conforme mostrado na foto abaixo.
O position
do menu suspenso é do tipo Blockly.utils.toolbox.Position
.
Métricas de SVG
workspace.getMetricsManager().getSvgMetrics();
As métricas de SVG são compostas por width
e height
do SVG pai do
espaço de trabalho. Para o espaço de trabalho principal, é o SVG com a classe blocklySvg
. Esse
SVG inclui o espaço de trabalho visível, bem como a caixa de ferramentas.
Mostrar métricas
workspace.getMetricsManager().getViewMetrics(opt_getWorkspaceCoordinates);
As métricas de visualização são compostas por height
, width
, top
e left
da
janela de visualização. A janela de visualização é a parte do espaço de trabalho que é visível. Isso não inclui nenhum tipo de caixa de ferramentas.
O canto superior esquerdo é relativo à origem do espaço de trabalho. À medida que arrastamos ao redor do espaço de trabalho, as posições superior e esquerda da janela de visualização são atualizadas.
Métricas absolutas
workspace.getMetricsManager().getAbsoluteMetrics();
As métricas absolutas são compostas pelo deslocamento de top
e left
da janela de visualização
do SVG pareng. Dependendo de onde a caixa de ferramentas está posicionada no
espaço de trabalho, geralmente é a largura ou a altura dela.
Métricas de conteúdo
workspace.getMetricsManager().getContentMetrics(opt_getWorkspaceCoordinates);
As métricas de conteúdo são compostas por height
, width
, top
e left
da caixa delimitadora em torno de todos os blocos ou comentários do espaço de trabalho.
Métricas de rolagem
workspace.getMetricsManager().getScrollMetrics(opt_getWorkspaceCoordinates);
As métricas de rolagem são compostas por height
, width
, top
e left
da
área de rolagem. Em um espaço de trabalho móvel, a área rolável é a área de
conteúdo, além de um pouco de padding.
Sistemas de coordenadas
Por padrão, todas as métricas calculadas pelo Metrics Manager são retornadas como coordenadas de pixel. Quando aplicável, há a opção de receber determinadas métricas nas coordenadas do espaço de trabalho transmitindo true
aos métodos de métricas. Por exemplo, metricsManager.getViewMetrics(true)
.
workspaceCoordinate = pixelCoordinates / workspace.scale
As coordenadas do espaço de trabalho geralmente são usadas para itens que ficam no espaço de trabalho, como blocos e comentários do espaço de trabalho. As coordenadas do espaço de trabalho não mudam conforme o usuário aumenta e diminui o zoom.
Modificar métricas
Os desenvolvedores que quiserem fornecer as próprias métricas para o espaço de trabalho
podem registrar um objeto gerenciador de métricas substituto que implemente a
interface IMetricsManager
ou estenda Blockly.MetricsManager
.
Um exemplo disso pode ser encontrado no plug-in Continuous Toolbox ou no Fixed Edges.