入力はインラインまたは外部でレンダリングできます。これにより、値入力のコネクタがブロック内(インライン)または外側の端(外部)にレンダリングされるかどうか、入力が同じ行または異なる行にレンダリングされるかどうかを制御します。
ブロック定義では、入力がインラインかどうかを制御するオプションのブール値を指定できます。
JSON
{
// ...,
"inputsInline": true
}
JavaScript
init: function() {
// ...
this.setInputsInline(true);
}
このブール値が true
(インライン入力)に設定されている場合:
- 値入力のコネクタはブロック内にレンダリングされます。
- ステートメントの入力は、独自の行にレンダリングされます。
- ダミー入力、行末入力、値入力はすべて同じ行にレンダリングされます。ただし、ステートメント入力または行末入力の後に続く入力は、新しい行にレンダリングされます。
false
(外部入力)に設定されている場合:
- 値入力のコネクタは、ブロックの外側の端にレンダリングされます。
- すべての入力は独自の行にレンダリングされます。ただし、ダミー入力の後に続く行末入力は、ダミー入力と同じ行にレンダリングされます。
この視覚化が難しい場合は、Blockly Developer Tools でブロックを作成し、inputs
プルダウン(automatic
、external
、inline
)に異なる設定を選択します。
このブール値が定義されていない場合、Blockly はヒューリスティックを使用して最適なモードを推測します。Blockly が適切な選択を行うと仮定すると、このフィールドを未定義のままにしておく方が望ましいです。異なる言語の翻訳で異なるモードを自動的に使用できるためです。補間トークンの順序の "set %1 to %2"
(外部入力)と "put %2 in %1"
(インライン入力)の例をご覧ください。
ブロックに数値などの小さな入力が含まれる可能性が高い場合は、インライン入力を使用します。ユーザーはコンテキスト メニューからこのオプションのオン / オフを切り替えることができます。