Metin giriş alanları

Metin giriş alanı, değeri olarak bir dize ve metni olarak da bir dize depolar. Değeri her zaman geçerli bir dizedir, metni ise düzenleyicide girilen herhangi bir dize olabilir.

Metin giriş alanı

"metin girişi:" etiketine sahip bir blok ve "varsayılan metin" olarak ayarlanmış bir metin giriş alanı.

Düzenleyicinin açık olduğu metin giriş alanı

Düzenlenen alanın bulunduğu blok.

Daraltılmış bloktaki metin giriş alanı

Aynı blok daraltıldıktan sonra. "text input: default text" etiketine ve daraltıldığını gösteren tırtıklı bir sağ kenara sahiptir.

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 kurucusu, isteğe bağlı bir değer ve isteğe bağlı bir doğrulayıcı alır. Değer bir dizeye dönüştürülmelidir. null veya undefined ise boş bir dize kullanılır.

JSON tanımı, spellcheck seçeneğini de ayarlamanıza olanak tanır.

Serileştirme ve XML

JSON

Metin giriş alanı için JSON şu şekilde görünür:

{
  "fields": {
    "FIELDNAME": "text"
  }
}

Burada FIELDNAME, bir metin giriş alanına atıfta bulunan bir dizedir ve değer, alana uygulanacak değerdir. Değer, kurucu değerle aynı kurallara uyar.

XML

Metin giriş alanı için XML şu şekilde görünür:

<field name="FIELDNAME">text</field>

Burada alanın name özelliği, bir metin girişi alanına referans veren bir dize içerir ve iç metin, alana uygulanacak değerdir. İç metin değeri, kurucu değeriyle aynı kurallara uyar.

Özelleştirme

Yazım denetimi

Alanın giriş metnini yazım denetimine tabi tutup tutmayacağını ayarlamak için setSpellcheck işlevi kullanılabilir.

Yazım denetimi olan ve olmayan metin giriş alanları

Metin giriş alanları içeren iki blok gösteren animasyonlu GIF. İlk blokta yazım denetimi açıktır ve yanlış yazılmış kelimelerin altı dalgalı kırmızı çizgiyle çizilir. İkinci blokta yazım denetimi devre dışıdır ve yanlış yazılan kelimelerin altı çizilmez.

Yazım denetimi varsayılan olarak açıktır.

Bu, bağımsız alanlar için geçerlidir. Tüm alanları değiştirmek istiyorsanız Blockly.FieldTextInput.prototype.spellcheck_ mülkünü değiştirin.

Metin girişi doğrulayıcısı oluşturma

Metin girişi alanının değeri bir dize olduğundan tüm doğrulayıcılar bir dize kabul etmeli ve bir dize, null veya undefined döndürmelidir.

Aşağıda, dizedeki tüm "a" karakterlerini kaldıran bir doğrulayıcı örneği verilmiştir:

function(newValue) {
  return newValue.replace(/a/g, '');
}

Bir metin giriş alanının doğrulanmasını gösteren animasyonlu GIF. Kullanıcı &quot;bbbaaa&quot; yazar ve başka bir yeri tıkladığında alan &quot;bbb&quot; olarak değiştirilir.