Kolom

Kolom adalah bagian penting dari pembuatan kode karena menentukan nilai yang dapat diedit pengguna, seperti string, angka, dan warna, serta berbagai hal lainnya.

Menyertakan nilai kolom dalam kode yang dihasilkan melibatkan pengambilan nilai kolom, mentransformasinya menjadi string yang dapat digunakan, lalu menyambungkan string dengan sisa kode.

import {javascriptGenerator} from 'blockly/javascript';

javascriptGenerator.forBlock['my_custom_block'] = function(block, generator) {
  // Get the field value.
  const fieldValue = block.getFieldValue('MY_FIELD');

  // Concatenate the code.
  const code = `some code ${fieldValue} some more code`;

  // Return the code.
  return code;
}

Mendapatkan nilai

Nilai kolom dapat diakses menggunakan getFieldValue. Apa yang ditampilkan berbeda dari satu kolom ke kolom lainnya, jadi Anda harus memeriksa dokumentasi kolom bawaan untuk mengetahui info tentang kolom spesifik Anda. Misalnya, kolom input teks menampilkan teks yang sama persis dengan yang dimasukkan pengguna, tetapi kolom dropdown menampilkan string bahasa netral yang terkait dengan item yang dipilih pengguna.

Mentransformasi nilai

Sebagian besar nilai kolom siap disambungkan ke string kode Anda dengan segera. Namun, beberapa nilai kolom memerlukan upaya ekstra sebelum dapat digunakan.

String

String harus dikutip oleh generator kode sebelum dapat disambungkan.

// For a single line text field.
const str = generator.quote_(block.getFieldValue('STR'));

// For a multiline text field.
const str = generator.multiline_quote_(block.getFieldValue('STR'));

Variabel

Nama variabel harus dihapus oleh generator kode sebelum dapat disambung. Hal ini diperlukan karena dua alasan:

  1. Variabel dimasukkan oleh pengguna dalam bahasa pilihannya. Artinya, karakter tersebut mungkin perlu dikonversi ke karakter ASCII. Misalnya, "متغير" akan dikonversi menjadi "_D9_85_D8_AA_D8_BA_D9_8A_D8_B1".
  2. Variabel mungkin bertentangan dengan kata yang dicadangkan. Ini berarti keduanya mungkin perlu dimodifikasi agar tidak berkonflik. Misalnya, "for" akan dikonversi menjadi "for2".
const identifier = generator.getVariableName(block.getFieldValue('VAR'));

Menggabungkan kode

Setelah mendapatkan nilai kolom dan mengonversinya menjadi string, Anda dapat menyambungkannya di tempat yang tepat dengan string kode Anda.

const code = `some code ${value} some more code`;

Kode status

Berbagai jenis blok memerlukan string kode ditampilkan dengan cara yang berbeda, jadi lihat setiap halamannya untuk mengetahui informasi selengkapnya: