Metin giriş alanı, bir dizeyi değer olarak, bir dizeyi ise metin olarak depolar. Değeri her zaman geçerli bir dizedir, metni ise düzenleyicisine girilen herhangi bir dize olabilir.
Metin giriş alanı
Düzenleyici açık metin giriş alanı
Daraltılmış bloktaki metin giriş alanı
içerik üretimi
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');
}
};
Metin girişi oluşturucu, isteğe bağlı bir değer ve isteğe bağlı bir validator alır. Değer bir dizeye dönüştürülmelidir. null
veya undefined
ise boş dize kullanılır.
JSON tanımı, yazım kontrolü seçeneğini ayarlamanıza da olanak tanır.
Serileştirme ve XML
JSON
Metin giriş alanı için JSON şöyle görünür:
{
"fields": {
"FIELDNAME": "text"
}
}
Burada FIELDNAME
, bir metin giriş alanına referans veren bir dizedir. Değer ise alana uygulanacak değerdir. Değer, oluşturucu değeriyle aynı kuralları izler.
XML
Bir metin giriş alanı için XML şöyle görünür:
<field name="FIELDNAME">text</field>
Alanın name
özelliği, bir metin giriş alanına referans veren bir dize içerirken iç metin alana uygulanacak değerdir. İç metin değeri, oluşturucu değeriyle aynı kuralları izler.
Özelleştirme
Yazım denetimi
setSpellcheck işlevi, alanın giriş metninde yazım denetimi yapıp yapmayacağını ayarlamak için kullanılabilir.
Yazım denetimi olan ve olmayan metin giriş alanları
Yazım denetimi varsayılan olarak açıktır.
Bu, tek alanlar için geçerlidir. Tüm alanları değiştirmek isterseniz Blockly.FieldTextInput.prototype.spellcheck_
özelliğini değiştirin.
Metin girişi doğrulayıcı oluşturma
Metin giriş alanının değeri bir dizedir. Bu nedenle, tüm doğrulayıcılar bir dizeyi kabul etmeli ve bir dize (null
veya undefined
) döndürmelidir.
Dizedeki tüm 'a' karakterlerini kaldıran bir doğrulayıcı örneği aşağıda verilmiştir:
function(newValue) {
return newValue.replace(/a/g, '');
}