Um campo de entrada de texto armazena uma string como valor e uma string como texto. O valor é 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
Criação
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 recebe um valor opcional e um
validador opcional. 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 definir a opção spellcheck.
Serialização e XML
JSON
O JSON de um campo de entrada de texto é assim:
{
"fields": {
"FIELDNAME": "text"
}
}
Em que FIELDNAME
é uma string que faz referência 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 é assim:
<field name="FIELDNAME">text</field>
Em que o atributo name
do campo contém uma string que faz referência 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 verifica 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 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
.
Confira um exemplo de um validador que remove todos os caracteres a
da
string:
function(newValue) {
return newValue.replace(/a/g, '');
}