Inline- und externe Eingaben

Eingaben können inline oder extern gerendert werden. Damit wird gesteuert, ob die Verbindungen für Werteingaben innerhalb des Blocks (inline) oder am äußeren Rand (extern) gerendert werden und ob Eingaben in derselben oder in verschiedenen Zeilen gerendert werden.

Inline- und externe Varianten des Blocks „Zähle mit x von Wert zu Wert“. In der Inline-Variante hat der Block zwei Zeilen: In der oberen Zeile steht „count with x from value to value“ und in der unteren Zeile „do statement“.
Die Werteingaben sehen aus wie Puzzleteile, die aus der Oberzeile herausgeschnitten wurden.
In der externen Variation hat der Block vier Zeilen: „count with x“, „from value“, „to value“ und „do statement“. Die Werteingaben befinden sich am Ende der zweiten und dritten Zeile und sehen aus wie weibliche Puzzleverbindungen.

In der Blockdefinition kann ein optionaler boolescher Wert angegeben werden, der steuert, ob Eingaben inline sind oder nicht.

JSON

{
  // ...,
  "inputsInline": true
}

JavaScript

init: function() {
  // ...
  this.setInputsInline(true);
}

Wenn dieser boolesche Wert auf true (Inline-Eingaben) festgelegt ist, gilt Folgendes:

  • Die Verbindungen für Werteingaben werden im Block gerendert.
  • Anweisungseingaben werden in einer eigenen Zeile gerendert.
  • Die Eingaben für Platzhalter, Zeilenende und Werte werden alle in derselben Zeile gerendert, mit Ausnahme von Eingaben, die auf eine Anweisung oder eine Zeilenende-Eingabe folgen. Diese werden in einer neuen Zeile gerendert.

Wenn sie auf false (externe Eingaben) festgelegt ist:

  • Die Connectors für Werteingaben werden am äußeren Rand des Blocks gerendert.
  • Alle Eingaben werden in einer eigenen Zeile gerendert, mit Ausnahme einer End-of-Row-Eingabe, die auf eine Dummy-Eingabe folgt. Diese wird in derselben Zeile wie die Dummy-Eingabe gerendert.

Wenn Sie sich das nicht gut vorstellen können, erstellen Sie Blöcke in den Blockly-Entwicklertools und wählen Sie verschiedene Einstellungen für das Drop-down-Menü inputs aus (automatic, external, inline).

Wenn dieser boolesche Wert nicht definiert ist, verwendet Blockly einige Heuristiken, um zu erraten, welcher Modus am besten geeignet ist. Wenn Blockly die richtige Wahl trifft, ist es besser, dieses Feld nicht zu definieren, da verschiedene Sprachübersetzungen automatisch unterschiedliche Modi haben können. Ein Beispiel für "set %1 to %2" (externe Eingaben) und "put %2 in %1" (Inline-Eingaben) finden Sie unter Reihenfolge von Interpolationstokens.

Verwenden Sie Inline-Eingaben, wenn ein Block wahrscheinlich kleine Eingaben wie Zahlen enthält. Der Nutzer kann diese Option über das Kontextmenü aktivieren oder deaktivieren.