Gerenciador de métricas

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 espaço de trabalho do Blockly com setas mostrando a largura e a altura da 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 espaço de trabalho do Blockly com setas mostrando a largura e a altura do menu suspenso.

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.

O espaço de trabalho do Blockly com um retângulo azul ao redor.

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 espaço de trabalho do Blockly com um retângulo azul ao redor da área que não inclui a 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.

O espaço de trabalho do Blockly com um retângulo azul ao redor da área, sem incluir a caixa de ferramentas, e uma origem exibida deslocada do canto superior esquerdo.

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.

O espaço de trabalho do Blockly com uma linha azul à direita da caixa de ferramentas e na parte de cima do espaço de trabalho. O espaço de trabalho do Blockly com uma caixa de ferramentas horizontal. Há uma linha azul à esquerda do espaço de trabalho e abaixo 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.

O espaço de trabalho do Blockly com uma caixa azul ao redor do conteúdo 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.

O espaço de trabalho do Blockly com uma grande caixa azul ao redor.

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).