Kolom angka

Kolom angka menyimpan angka sebagai value, dan string sebagai text. value-nya 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 editornya.

Kolom angka

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

Kolom nomor dengan editor terbuka

Blok yang sama dengan kolom yang sedang
diedit.

Kolom angka pada blok yang diciutkan

Blok yang sama setelah diciutkan. Kolom ini memiliki label "number: 100" dan tepi kanan yang tidak rata untuk menunjukkan bahwa kolom tersebut diciutkan.

yang Dipicu oleh Tren

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 menggunakan hal berikut:

value harus ditransmisikan ke 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 ini 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 dengan menggunakan fungsi setConstraints.

Nilai minimum

Nilai min menetapkan nilai terkecil/paling negatif yang diizinkan untuk dimuat kolom.

Nilai maksimum

Nilai max menetapkan nilai terbesar/paling positif yang diizinkan untuk 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, tetapkan precision ke 1.

Membuat validator angka

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

Berikut adalah contoh validator yang mengubah nilai menjadi 0 atau 1, bergantung pada apakah nilainya 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 ditetapkan ke 0. Saat pengguna mengetik 11 dan mengklik
di tempat lain, kolom akan ditetapkan ke 1.