フィールドの構造

すべてのフィールドに値が必要です。値は、フィールドのデータの信頼できる情報源です。任意の型(文字列、数値、配列、日付など)を使用できます。フィールドには、バリデータを使用して値を制限したり、機械が読み取れる形式に変換したり(日付形式の正規化など)できます。

テキスト

すべてのフィールドにはテキストが含まれます。テキストは、フィールドの値を表す、人が読める形式の単純な文字列です。これらが必ずしも同じになるとは限りません。たとえば、ブール値フィールドのテキストは「On」または「Off」ですが、その値は「true」または「false」です。

このテキストは、ユーザー補助のためにブロックが閉じられたときに表示されます。必要に応じて、ブロック上のディスプレイに含めることもできます。

編集可能なフィールドと編集不可能なフィールド

一般的に、編集可能なフィールドではユーザーがコードを変更でき、編集不可能なフィールドではブロックに関する情報がユーザーに表示されます。編集可能なフィールドをクリックすると、リッチエディタが表示されます。

編集可能なフィールドは次のとおりです。

編集できない項目は次のとおりです。

シリアル化

シリアル化可能なフィールドの値は、保存形式(JSON または XML)でエンコードされます。編集可能なフィールドはすべて、値が動的なためシリアル化可能です。通常、編集不可のフィールドの値は動的ではないため、通常はシリアル化されません。

シリアル化されたフィールドには次のものがあります。

シリアル化されていないフィールドには次のものがあります。

[Label Serializable] フィールドは編集不可ですが、シリアル化可能です。つまり、ユーザーに表示される UI ではなく、プログラムでのみ編集できます。編集後、その値は生成された JSON/XML でエンコードされます。

コード生成

ブロックの接続と接続解除以外に、ユーザーが Blockly によって生成されたコードを制御できる唯一の方法はフィールドです。フィールドによって提供されるエディタを使用すると、ユーザーは、そのフィールドに格納されている値を変更できます。ブロックの生成ツールは、生成されたコードで使用するフィールドの値にアクセスできます。

ジェネレータでフィールドの値を使用する方法については、フィールド コードの生成をご覧ください。

オンブロック ディスプレイ

フィールドのブロック内表示とは、フィールドの値を表す SVG 要素のコレクションです。これらはブロックのスペースを占有し、サイズが変更されるとブロックのサイズを強制的に変更します。フィールドのブロック上の表示は、ニーズに応じて単純な場合もあれば、複雑な場合もあります。

ブロック上に表示されるさまざまなディスプレイの例を、複雑性が高い順に示しています。

フィールド タイプ 説明
ラベル テキスト要素のみが含まれます。
角度 背景の長方形、テキスト要素、度記号が含まれます。
カメ 背景の長方形、テキスト要素、亀のグラフィックの作成に使用する多くの SVG 要素が含まれます。

エディタの表示

ユーザーが編集可能なフィールドをクリックすると、そのフィールドには任意の複雑なエディタが表示されます。

以下では、さまざまなエディタの例を紹介します(複雑になる順に記載)。

フィールド タイプ 説明
チェックボックス クリックしてもエディタは表示されません。オンブロック ディスプレイが更新されます。
数字の入力 オンブロック ディスプレイの上に重ねて表示されているテキスト エディタ。ユーザーは入力できます。エディタでは、不適切な値を示すために色が変わる場合があります。
角度選択ツール 角度選択ツールには、数値を入力するためのテキスト エディタと、角度を視覚的に選択できるドラッグ可能なエディタがあります。

その他の表示モード

折りたたみモード: ユーザーがブロックを折りたたみます。ブロックは、各フィールドから返されたテキストを使用して、値のテキスト表現を表示します。

カメのフィールドのブロックが折りたたまれる

ユーザー補助モード: ユーザーは、スクリーン リーダーなどの技術を使用して Blockly を操作することができます。フィールドのテキストが読み上げられる場合があります。