Kolom angka

Kolom angka menyimpan angka sebagai value, dan string sebagai text. value selalu berupa angka yang valid seperti yang ditentukan oleh batasan yang diberikan ke kolom saat pembuatan; teksnya dapat berupa string apa pun yang dimasukkan ke dalam editornya.

Kolom angka

Blok dengan label "number:" dan kolom angka yang ditetapkan ke
100.

Kolom angka dengan editor terbuka

Blok yang sama dengan kolom yang sedang
diedit.

Kolom angka pada blok yang diciutkan

Blok yang sama setelah diciutkan. Memiliki label "number: 100" dan
tepi kanan bergerigi untuk menunjukkan bahwa
item diciutkan.

Alat

JSON

{
  "type": "example_number",
  "message0": "number: %1",
  "args0": [
    {
      "type": "field_number",
      "name": "FIELDNAME",
      "value": 100,
      "min": 0,
      "max": 100,
      "precision": 10
    }
  ]
}

JavaScript

Blockly.Blocks['example_number'] = {
  init: function() {
    this.appendDummyInput()
        .appendField("number:")
        .appendField(new Blockly.FieldNumber(100, 0, 100, 10), 'FIELDNAME');
  }
};

Konstruktor angka menerima input berikut:

value harus dikonversi menjadi angka. Jika tidak, 0 akan digunakan.

Serialisasi

JSON

JSON untuk kolom angka terlihat seperti ini:

{
  "fields": {
    "FIELDNAME": 0
  }
}

Dengan FIELDNAME adalah string yang mereferensikan kolom angka, dan nilai adalah nilai yang akan diterapkan ke kolom. Nilai mengikuti aturan yang sama dengan nilai konstruktor.

XML

XML untuk kolom angka terlihat seperti ini:

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

Atribut name node field berisi string yang mereferensikan kolom angka, dan text dalam node adalah value yang akan diterapkan ke kolom. Nilai teks dalam mengikuti aturan yang sama dengan nilai konstruktor.

Batasan

Batasan dapat ditetapkan dalam definisi kolom, atau menggunakan fungsi setConstraints.

Nilai minimum

Nilai min menetapkan nilai terkecil/paling negatif yang boleh ada di kolom.

Nilai maksimum

Nilai max menetapkan nilai terbesar/paling positif yang boleh dimuat kolom.

Pembulatan

precision membulatkan nilai ke kelipatan presisi terdekat. Hal ini dapat digunakan untuk membuat kolom hanya menerima kelipatan 0,01, 10, 42, dll.

Batasan umum

Angka positif

Untuk memaksa kolom Anda hanya menerima angka positif, tetapkan nilai min ke 1.

Bilangan bulat

Untuk memaksa kolom Anda hanya menerima bilangan bulat, setel precision ke 1.

Membuat validator angka

Nilai kolom angka adalah angka, sehingga semua validator harus menerima number dan menampilkan number, null, atau undefined.

Berikut adalah contoh validator yang mengubah nilai menjadi 0 atau 1, bergantung pada apakah nilai tersebut ganjil atau genap.

function(newValue) {
  return newValue % 2;
}

GIF animasi yang menunjukkan cara kerja validator. Saat pengguna mengetik 10 dan
mengklik di tempat lain, kolom akan disetel ke 0. Saat pengguna mengetik 11 dan mengklik
di tempat lain, kolom akan ditetapkan ke 1.