Çok satırlı metin giriş alanları

Çok satırlı metin giriş alanında, değer olarak bir dize, metin olarak da bir dize depolanır. Değeri her zaman geçerli bir dizedir, metni ise düzenleyicisine girilen herhangi bir dize olabilir. Metin giriş alanından farklı olarak bu alan, düzenleyiciye girilen yeni satır karakterlerini de destekler.

Çok satırlı metin giriş alanı

Düzenleyici açık çok satırlı metin giriş alanı

Daraltılmış blokta çok satırlı metin giriş alanı

içerik üretimi

JSON

{
  "type": "example_multilinetextinput",
  "message0": "multiline text input: %1",
  "args0": [
    {
      "type": "field_multilinetext",
      "name": "FIELDNAME",
      "text": "default text\n with newline character",
      "spellcheck": false
    }
  ]
}

JavaScript

Blockly.Blocks['example_multilinetextinput'] = {
  init: function() {
    this.appendDummyInput()
        .appendField("multiline text input:")
        .appendField(new Blockly.FieldMultilineInput('default text\n with newline character'),
            'FIELDNAME');
  }
};

Çok satırlı 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

JSON

Çok satırlı bir metin giriş alanı için JSON şöyle görünür:

{
  "fields": {
    "FIELDNAME": "line1\nline2"
  }
}

Burada FIELDNAME, çok satırlı 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

Çok satırlı bir metin giriş alanı için XML şöyle görünür:

<field name="FIELDNAME">line1&amp;#10;line2</field>

Buradaki name özelliği, çok satırlı 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.FieldMultilineInput.prototype.spellcheck_ özelliğini değiştirin.

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

Çok satırlı 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/gm, '');
}