O Metrics Manager coleta e gera relatórios sobre todas as métricas relacionadas ao Workspace do Blockly. Este guia descreve o significado de cada conjunto de métricas retornados do Metrics Manager. Para mais informações sobre o Gerenciador de métricas, confira nosso detalhamento de 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 que é
anexado à caixa de ferramentas.
O position
da caixa de ferramentas é do tipo Blockly.utils.toolbox.Position
.
Métricas do menu suspenso
workspace.getMetricsManager().getFlyoutMetrics();
As métricas de pop-up são compostas por height
, width
e position
de uma
caixa de ferramentas de pop-up. É importante ressaltar que este não é o menu suspenso
anexada à caixa de ferramentas da categoria. Isso se aplica apenas às caixas de ferramentas pop-up, conforme
mostrado na foto abaixo.
O position
do menu suspenso é do tipo Blockly.utils.toolbox.Position
.
Métricas do SVG
workspace.getMetricsManager().getSvgMetrics();
As métricas do SVG são compostas pelo 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 e 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
do
viewport. A janela de visualização é a parte do espaço de trabalho que está visível. Isso
não inclui nenhum tipo de caixa de ferramentas.
O canto superior esquerdo é relativo à origem do espaço de trabalho. Conforme arrastamos pelo espaço de trabalho, a posição superior e à esquerda da janela de visualização é atualizada.
Métricas absolutas
workspace.getMetricsManager().getAbsoluteMetrics();
As métricas absolutas são compostas pelo deslocamento top
e left
da viewport
do SVG de pareng. Dependendo de onde a caixa de ferramentas estiver na
espaço de trabalho, geralmente é a largura ou a altura da caixa de ferramentas.
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 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 rolável. Em um espaço de trabalho móvel, a área rolável é o conteúdo
e um pouco de padding.
Sistemas de coordenadas
Por padrão, todas as métricas calculadas pelo Gerenciador de métricas são retornadas como coordenadas
de pixels. Quando aplicável, há a opção de receber determinadas métricas
do espaço de trabalho ao transmitir 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 quando o usuário aumenta ou diminui o zoom.
Substituição de métricas
Desenvolvedores que querem fornecer as próprias métricas para o espaço de trabalho
pode registrar um objeto gerenciador de métricas substituto que implemente o
IMetricsManager
ou estende Blockly.MetricsManager
.
Um exemplo disso pode ser encontrado no plug-in Continuous Toolbox ou no plug-in Fixed Edges (links em inglês).