Um campo de entrada de texto armazena uma string como seu valor e uma string como texto. O valor dela é sempre uma string válida, enquanto o texto pode ser qualquer string inserida no editor.
Campo de entrada de texto
Campo de entrada de texto com o editor aberto
Campo de entrada de texto em um bloco recolhido
com base em trends
JSON
{
"type": "example_textinput",
"message0": "text input: %1",
"args0": [
{
"type": "field_input",
"name": "FIELDNAME",
"text": "default text",
"spellcheck": false
}
]
}
JavaScript
Blockly.Blocks['example_textinput'] = {
init: function() {
this.appendDummyInput()
.appendField("text input:")
.appendField(new Blockly.FieldTextInput('default text'),
'FIELDNAME');
}
};
O construtor de entrada de texto aceita um valor e um validator opcionais. O valor precisa ser convertido em uma
string. Se for null
ou undefined
, uma string vazia será usada.
A definição JSON também permite que você configure a opção spellcheck.
Serialização e XML
JSON
O JSON para um campo de entrada de texto tem esta aparência:
{
"fields": {
"FIELDNAME": "text"
}
}
Em que FIELDNAME
é uma string que se refere a um campo de entrada de texto, e
o valor é o valor a ser aplicado ao campo. O valor
segue as mesmas regras do valor do construtor.
XML
O XML de um campo de entrada de texto tem esta aparência:
<field name="FIELDNAME">text</field>
Onde o atributo name
do campo contém uma string que se refere a um campo de entrada
de texto, e o texto interno é o valor a ser aplicado ao campo. O valor
do texto interno segue as mesmas regras do valor do construtor.
Personalização
Verificação ortográfica
A função setSpellcheck pode ser usada para definir se o campo vai verificar a ortografia do texto de entrada ou não.
Campos de entrada de texto com e sem verificação ortográfica
A verificação ortográfica fica ativada por padrão.
Isso se aplica a campos individuais. Se você quiser modificar todos os campos, mude a propriedade Blockly.FieldTextInput.prototype.spellcheck_
.
Como criar um validador de entrada de texto
O valor de um campo de entrada de texto é uma string. Portanto, todos os validadores precisam aceitar uma string
e retornar uma string null
ou undefined
.
Veja um exemplo de um validador que remove todos os caracteres "a" da string:
function(newValue) {
return newValue.replace(/a/g, '');
}