O 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 Metrics Manager assista também à nossa análise detalhada 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 no menu suspenso que é anexados à 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 submenu

workspace.getMetricsManager().getFlyoutMetrics();

As métricas do menu suspenso são compostas por height, width e position de um caixa de ferramentas de menu suspenso. É importante observar que este não é o menu suspenso anexada à caixa de ferramentas da categoria. Isso se refere apenas às caixas de ferramentas de menu suspenso, como 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 por width e height do elemento pai do espaço de trabalho SVG. Para o espaço de trabalho principal, é o SVG com a classe blocklySvg. Isso O SVG inclui o espaço de trabalho visível, bem como 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 dos janela de visualização. A janela de visualização é a parte do espaço de trabalho 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, sem incluir a caixa de ferramentas.

O canto superior esquerdo é relativo à origem do espaço de trabalho. À medida que arrastamos em torno do espaço de trabalho. As posições superior e esquerda da janela de visualização estão atualizado.

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 pelos deslocamentos top e left da janela de visualização. do pareng SVG. 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 superior do espaço de trabalho. O espaço de trabalho do Blockly com uma caixa de ferramentas horizontal. Há uma linha azul no lado esquerdo 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 ao redor dos 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 de na á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 Metrics Manager são retornadas como pixels coordenadas. 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 e 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).