Valor
Todos os campos precisam ter um valor, que é a fonte da verdade para os dados do campo. Ele pode ser de qualquer tipo (string, número, matriz, data etc.). Os campos podem usar validadores para restringir valores ou traduzir para um formato legível por máquina (por exemplo, normalizar formatos de data).
Texto
Todos os campos contêm texto, que é uma string simples legível que representa o valor do campo. Isso não significa necessariamente que eles são iguais. Por exemplo, o texto em um campo booleano pode ser "Ativado" ou "Desativado", enquanto o valor é true
ou false
.
Esse texto é exibido quando o bloco está recolhido, para acessibilidade, e pode fazer parte da exibição no bloco.
Campos editáveis x não editáveis
Em geral, os campos editáveis permitem que o usuário faça mudanças no código, enquanto os campos não editáveis mostram informações sobre o bloco. Os campos editáveis podem mostrar um editor avançado quando clicados.
Os campos editáveis incluem:
Os campos não editáveis incluem:
Serialização
O valor de um campo serializável é codificado no formato de salvamento (JSON ou XML). Todos os campos editáveis são serializáveis porque os valores deles são dinâmicos. Os valores de campos não editáveis geralmente não são dinâmicos e, portanto, não são serializados.
Os campos serializados incluem:
Os campos não serializados incluem:
Observe como o campo "Label Serializable" não é editável, mas pode ser serializado. Isso significa que ele só pode ser editado de maneira programática, e não por uma interface visível ao usuário. Depois de editado, o valor é codificado no JSON/XML gerado.
Geração de códigos
Além de conectar e desconectar blocos, os campos são a única maneira de o usuário controlar o código gerado pelo Blockly. O editor fornecido por um campo permite que o usuário modifique o valor armazenado por ele. O gerador do bloco pode acessar o valor do campo para uso no código gerado.
Para mais informações sobre como usar o valor de um campo em um gerador, consulte geração de código de campo.
Exibição no bloco
A exibição em bloco de um campo é uma coleção de elementos SVG que representam o valor do campo. Eles ocupam espaço no bloco e, à medida que mudam de tamanho, forçam o bloco a mudar também. A exibição no bloco de um campo pode ser simples ou complexa, dependendo das necessidades.
Confira alguns exemplos de diferentes exibições no bloco, em ordem de complexidade crescente.
Tipo de campo | Descrição |
---|---|
Rótulo | Contém apenas um elemento de texto. |
Ângulo | Contém um retângulo de segundo plano, um elemento de texto e um símbolo de grau. |
Tartaruga | Contém um retângulo de plano de fundo, um elemento de texto e muitos elementos SVG usados para construir o gráfico da tartaruga. |
Tela do editor
Quando um usuário clica em um campo editável, ele pode mostrar um editor arbitrariamente complexo.
Confira alguns exemplos de editores diferentes, em ordem de complexidade crescente.
Tipo de campo | Descrição |
---|---|
Caixa de seleção | Nenhum editor quando clicado. A exibição no bloco é atualizada. |
Entrada numérica | Editor de texto sobreposto à exibição no bloco. Os usuários podem digitar, e o editor pode mudar de cor para indicar valores inválidos. |
Seletor de ângulo | O seletor de ângulo tem um editor de texto para digitar números e um editor arrastável para selecionar ângulos visualmente. |
Outros modos de exibição
Modo recolhido: o usuário recolhe o bloco.Ele mostra uma representação de texto dos valores, usando o texto retornado pelos campos individuais.
Modo de acessibilidade: os usuários podem estar usando um leitor de tela ou tecnologia semelhante para interagir com o Blockly. O texto do campo pode ser lido para o usuário.