Compartilhar via


O painel de formato nos visuais personalizados do Power BI

Usando a API versão 5.1 e posterior, os desenvolvedores podem criar visuais com o painel Formatar. Os desenvolvedores podem definir os cartões e suas categorias para qualquer propriedade em seu visual personalizado, facilitando o uso desses visuais pelos criadores de relatórios.

A API usa o método FormattingModel para personalizar partes dos painéis de formato e análise.

Dica

O getFormattingModel método substitui o enumerateObjectInstances método em versões anteriores da API.

O getFormattingModel retorna um FormattingModel que define a aparência da formatação do visual e do painel de análise.

Além de todos os recursos antigos do painel de formatação, o modelo de formatação dá suporte a funcionalidades, propriedades e hierarquias do painel de formato atual.

Captura de tela do painel de formatação.

Criar um visual que dê suporte ao painel de Formatação mais recente

Etapas gerais para adicionar suporte ao painel Formatar a um visual personalizado:

  1. Defina o apiVersion no arquivo pbiviz.json como 5.1 ou posterior.

  2. Defina todos os objects personalizáveis em seu arquivo capabilities.json. Esses objetos são mapeados para as propriedades do painel de formatação. As seguintes propriedades são necessárias para cada objeto:

    • nome do objeto
    • nome da propriedade
    • tipo de propriedade

    Todas as outras propriedades, incluindo DisplayName e description, agora são opcionais.

  3. Crie o visual personalizado FormattingModel fazendo um dos seguintes procedimentos:

Defina as propriedades do seu modelo de formatação visual personalizado e compile-o usando código (não JSON).

  1. Implemente a getFormattingModel API na classe visual personalizada que retorna o modelo de formatação visual personalizado. (Essa API substitui a enumerateObjectInstances que foi usada em versões anteriores).

Exemplo de implementação do modelo de formatação

Mapear as propriedades de formatação

Se você tiver um visual personalizado criado com uma API mais antiga e quiser atualizá-lo com o painel de formato ou se estiver criando um novo visual personalizado:

  1. Defina o apiVersion no arquivo pbiviz.json como 5.1 ou posterior.

  2. Para cada nome de objeto e nome de propriedade em capabilities.json, crie uma propriedade de formatação correspondente. A propriedade de formatação deve ter um descritor que contenha um objectName e propertyName que corresponda ao nome do objeto e ao nome da propriedade em capabilities.json.

As objects propriedades no arquivo de funcionalidades ainda têm o mesmo formato e não precisam ser alteradas.

Por exemplo, se o objeto circle no seu arquivo capabilities.json estiver definido assim:

"objects": {
    "circle": {
        "properties": {
            "circleColor": {
                "type": {
                    "fill": {
                        "solid": {
                            "color": true
                        }
                    }
                }
            },
        }
    }
}

A propriedade de formatação em seu modelo deve ser do tipo ColorPicker e ter esta aparência:

control: {
    type: "ColorPicker",
    properties: {
        descriptor: {
            objectName: "circle",
            propertyName: "circleColor"
        },
        value: {
            value: this.visualSettings.circle.circleColor
        }
    }
}

Você receberá um erro se uma das seguintes condições for verdadeira:

  • O nome do objeto ou da propriedade no arquivo de funcionalidades não corresponde ao do modelo de formatação
  • O tipo de propriedade no arquivo de funcionalidades não corresponde ao tipo no modelo de formatação

Modelo de formatação

O modelo de formatação é onde você descreve e personaliza todas as propriedades do painel de formato.

Formatação de componentes de modelo

No modelo de formatação, os componentes de propriedade são agrupados em categorias lógicas e subcategorias. Esses grupos facilitam a análise do modelo. Há os cinco componentes básicos, do maior ao menor:

  • Modelo de formatação O maior contêiner de painel, usado para formatar a interface frontal do painel. Ele contém uma lista de cartões de formatação.

  • Cartão de formatação O contêiner de agrupamento de propriedades de nível superior para propriedades de formatação. Cada cartão consiste em um ou mais grupos de formatação, conforme mostrado aqui.

    Captura de tela do modelo de formatação com cartões de formatação individuais.

  • Grupo de formatação
    O contêiner de agrupamento de propriedades de nível secundário. O grupo de formatação é exibido como um contêiner de agrupamento para formatação de fatias.

    Captura de tela de cartões de formatação divididos em grupos de formatação.

  • Contêiner de formatação
    O contêiner de agrupamento de propriedades de nível secundário. O contêiner de formatação agrupa fatias de formatação em itens de contêiner separados e permite alternar entre eles usando uma lista suspensa.

    Captura de tela do contêiner de formatação.

  • Fatia de formatação
    Contêiner de propriedades. Há dois tipos de fatias:

    • Fatia simples: contêiner de propriedade individual
    • Fatia composta: vários contêineres de propriedades relacionadas agrupados em uma fatia de formatação

    A imagem a seguir mostra os diferentes tipos de fatias. "Fonte" é uma fatia composta que consiste em família de fontes, tamanho e opções de negrito, itálico e sublinhado. "Cor", "unidades de exibição" e as outras fatias são fatias simples com um componente cada.

    Captura de tela de fatias compostas e simples do painel de formato.

Propriedades de formatação do painel de visualização

Cada propriedade no modelo de formatação deve corresponder a um tipo de objeto no arquivo capabilities.json.

A tabela a seguir mostra os tipos de propriedade de formatação em capabilities.json arquivo e sua classe de tipo correspondente nas propriedades do modelo de formatação moderna:

Tipo Tipo de Valor de Capacidades Propriedade de Formatação
booleano Bool ToggleSwitch
Número
  • numérico
  • inteiro
  • NumUpDown
  • Controle deslizante
  • Lista de enumeração enumeration:[]
  • ItemDropdown
  • ItemFlagsSelection
  • AutoDropdown
  • AutoFlagsSelection
  • * Veja a observação abaixo
    Cor Preenchimento ColorPicker
    Gradiente FillRule GradientBar: o valor da propriedade deve ser uma cadeia de caracteres que consiste em: minValue[,midValue],maxValue
    Texto Texto
  • TextInput
  • Área de Texto
  • Objetos de Formatação de Recursos

    Tipo Tipo de Valor de Capacidades Propriedade de Formatação
    Tamanho da fonte Tamanho da Fonte NumUpDown
    Família de fontes FontFamily FontPicker
    Alinhamento de linha Alinhamento AlignmentGroup
    Unidades de exibição de rótulo LabelDisplayUnits AutoDropDown

    * A propriedade de formatação da lista de enumeração é diferente no modelo de formatação e no arquivo de funcionalidades.

    • Declare as seguintes propriedades na classe de configurações de formatação, incluindo a lista de itens de enumeração:

      • ItemDropdown
      • ItemFlagsSelection
    • Declare as propriedades a seguir na classe de configurações de formatação, sem a lista de itens de enumeração. Declare sua lista de itens de enumeração em capabilities.json no objeto apropriado. (Esses tipos são os mesmos das versões de API anteriores):

      • AutoDropdown
      • AutoFlagSelection

    Propriedades de fatia composta

    Uma fatia composta de formatação é uma fatia de formatação que contém várias propriedades relacionadas juntas.

    Por enquanto, temos dois tipos de fatia composta:

    • FontControl
      Isso mantém todas as propriedades relacionadas à fonte juntas. Ele consiste nas seguintes propriedades:

      • Família de Fontes
      • Tamanho da fonte
      • Negrito [opcional]
      • Itálico [opcional]
      • Sublinhado [opcional]

      Captura de tela da fatia composta de fonte com família da fonte, tamanho da fonte e as opções de negrito, itálico e sublinhado.

      Cada uma dessas propriedades deve ter um objeto correspondente no arquivo de funcionalidades:

      Propriedade Tipo de recursos Tipo de formatação
      Família de Fontes Formatação: { fontFamily} FontPicker
      Tamanho da fonte Formatação: {fontSize} NumUpDown
      Ousado Bool ToggleSwitch
      Itálico Bool ToggleSwitch
      Sublinhado Bool ToggleSwitch
    • MarginPadding O preenchimento de margem determina o alinhamento do texto na visualização. Ele consiste nas seguintes propriedades:

      • Esquerda
      • Certo
      • Início
      • Base

      Cada uma dessas propriedades deve ter um objeto correspondente no arquivo de funcionalidades:

      Propriedade Tipo de recursos Tipo de formatação
      Esquerda Numérico NumUpDown
      Certo Numérico NumUpDown
      Início Numérico NumUpDown
      Base Numérico NumUpDown

    Recursos do GitHub

    Mais perguntas? Pergunte à Comunidade do Power BI.